WO2022075609A1 - 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법 - Google Patents

멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2022075609A1
WO2022075609A1 PCT/KR2021/012270 KR2021012270W WO2022075609A1 WO 2022075609 A1 WO2022075609 A1 WO 2022075609A1 KR 2021012270 W KR2021012270 W KR 2021012270W WO 2022075609 A1 WO2022075609 A1 WO 2022075609A1
Authority
WO
WIPO (PCT)
Prior art keywords
query
response
chatbot
electronic device
function
Prior art date
Application number
PCT/KR2021/012270
Other languages
English (en)
French (fr)
Inventor
함진아
최원종
김수필
박예원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP21877861.1A priority Critical patent/EP4191435A4/en
Priority to CN202180065468.7A priority patent/CN116324763A/zh
Priority to US17/578,088 priority patent/US12010074B2/en
Publication of WO2022075609A1 publication Critical patent/WO2022075609A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Definitions

  • the present disclosure relates to an electronic device that responds to a query. More particularly, it relates to an electronic device that selectively uses a plurality of chatbots to provide a response.
  • FIG. 1 is a diagram for explaining an operation example of a multi-chatbot environment according to the prior art.
  • FIG. 1 shows a user 10 of an electronic device (eg, a smartphone) and an artificial intelligence (AI) Assistant 20 that provides a service based on a multi-chatbot through the electronic device.
  • an electronic device eg, a smartphone
  • AI artificial intelligence
  • the AI Assistant 20 may be defined as a voice assistant that provides a comprehensive service.
  • the AI Assistant 20 includes a customer service chatbot 20-1, a setting chatbot 20-2, and a weather chatbot. (20-3), etc. can be used.
  • a customer service chatbot 20 - 1 may be selected from among the chatbots of the AI assistant 20 .
  • the customer service chatbot 20 - 1 may provide a response 21 to the user's query 11 .
  • the customer service chatbot 20-1 only provides a response 21 informing of a currently required function (mobile: data> on), but cannot directly perform the function.
  • the unselected setting chatbot 20 - 2 may be difficult to use.
  • the user has no choice but to directly activate the corresponding function (mobile: data> on) with a manual operation on the electronic device.
  • an electronic device and a control method thereof that effectively combine and provide responses and functions of independently developed chatbots.
  • an electronic device capable of providing an appropriate response/function while optimizing utilization of a module configuration by repeatedly using a query classification model that selects a chatbot to respond to a query and a control method thereof are provided.
  • an electronic device capable of effectively combining and providing responses/functions provided by the chatbots while maintaining the development environment of each of the chatbots developed/updated professionally/independently for each service and a control method thereof are provided.
  • An electronic device provides a query classification model trained to determine a command, a plurality of chat-bots for responding to a query, and a chatbot for responding to an input query among the plurality of chatbots at least one memory in which it is stored; and the processor inputs an input query into the query classification model by executing the command, and the query classification model outputs a first chatbot for responding to the input query among the plurality of chatbots, and the outputted first A first response to the input query is obtained through a chatbot, and when the obtained first response includes information on a function that can be performed by the electronic device, a query for requesting execution of the function is generated, and the By inputting the generated query to the query classification model, the query classification model outputs a second chatbot for responding to the generated query among the plurality of chatbots, and responds to the generated query through the output second chatbot. obtain a second response to the response, and provide a combined response to the input query based on the obtained first response and the obtained second response.
  • the at least one memory further includes information on a plurality of domains mapped to each of the plurality of chatbots, and the processor further executes the command, so that the text included in the input query through the query classification model identify a first domain from among a plurality of domains related to , and select the first chatbot from among a plurality of chatbots mapped to the identified first domain based on information on a plurality of domains mapped for each of the plurality of chatbots .
  • the processor identifies a second domain from among a plurality of domains related to text included in the generated query through the query classification model, and for a plurality of domains mapped to each of the plurality of chatbots Based on the information, the second chatbot is selected from among a plurality of chatbots mapped to the identified second domain.
  • the processor identifies a second domain from among a plurality of domains related to text included in the generated query through the query classification model, and for a plurality of domains mapped to each of the plurality of chatbots Based on the information, the second chatbot is selected from among a plurality of chatbots mapped to the identified second domain.
  • a response to the input query is provided based on the acquired first response.
  • the at least one memory further includes a function selection model trained to select one or more functions corresponding to a query from among the plurality of functions, based on information on the plurality of functions, wherein the processor further executes the instructions.
  • information on a plurality of functions included in the obtained first response, the list, and the input query are input to the function selection model, wherein the function selection model is selected from among the plurality of functions obtained from the first response.
  • the processor outputs one or more functions corresponding to the input query and executable by the electronic device.
  • the processor further executes the command.
  • a response to the input query is provided based on the obtained first response.
  • the processor further executes the instruction to generate the combined response including a query on whether to perform the function based on the obtained first response and the obtained second response, and the generated combined response and, when the request for performing the function is input as the combination response is provided, the function is performed through the second chatbot.
  • An electronic device control method includes inputting an input query to a query classification model trained to identify a chatbot for responding to a query among a plurality of chatbots, so that the query classification model is selected from among the plurality of chatbots.
  • a first chatbot for responding to a user's query; obtaining a first response to the input query through the outputted first chatbot; Functions that can be performed by the electronic device in response to the obtained first response generating a query requesting execution of the function when information on the function is included; inputting the generated query into the query classification model, and the query classification model outputs a second chatbot for responding to the generated query among the plurality of chatbots; obtaining a second response to the generated query through the outputted second chatbot; and providing a combined response to the input query based on the acquired first response and the acquired second response.
  • the step of inputting the input query into the query classification model may include identifying, through the query classification model, a first domain related to the text included in the input query from among a plurality of domains mapped for each of the plurality of chatbots, and Based on the information on the plurality of domains mapped for each chatbot, the first chatbot mapped to the identified first domain from among the plurality of chatbots is selected.
  • the inputting of the generated query into the query classification model may include identifying a second domain related to the text included in the generated query among the plurality of domains through the query classification model, and mapping each of the plurality of chatbots. Based on the information on the plurality of domains, the second chatbot mapped to the identified second domain from among the plurality of chatbots is selected.
  • the method further includes providing a response to the input query based on the acquired first response when the acquired first response does not include information on functions that can be performed by the electronic device.
  • At least one function that can be performed by the electronic device is identified among the plurality of functions based on a list of functions that can be performed by the electronic device to do; and generating the query requesting execution of the at least one identified function.
  • the identifying of the at least one function executable by the electronic device among a plurality of functions may include inputting information on a plurality of functions included in the obtained first response, the list, and the input query into a function selection model. and, the function selection model selects one or more functions corresponding to the input query from among a plurality of functions when information on a plurality of functions is input, and selects one or more functions corresponding to the input query from among a plurality of functions, and selects one or more functions from the plurality of functions obtained from the first response. At least one function corresponding to and executable by the electronic device is output.
  • the method further includes; providing a response to the input query based on the obtained first response when it is identified that there is no chatbot for responding to the generated query among the plurality of chatbots.
  • the electronic device and control method according to the present disclosure can effectively combine and provide responses and functions of independently developed chatbots.
  • the electronic device and control method according to the present disclosure may provide responses/functions of a plurality of chatbots while optimizing the use of a module configuration by repeatedly using a query classification model for selecting a chatbot to respond to a query.
  • the electronic device and the control method according to the present disclosure can effectively combine and provide responses/functions provided by the chatbots while maintaining the development environment of each of the chatbots developed/updated professionally/independently for each service.
  • FIG. 1 is a diagram for explaining an operation example of a multi-chatbot environment according to the background art.
  • FIG. 2 is a block diagram illustrating a configuration and operation of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram illustrating a process in which a query classification model is trained according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram illustrating an operation in which an electronic device acquires a response of a selected chatbot according to an embodiment of the present disclosure.
  • 5A is a block diagram of a function information extraction module of an electronic device according to an embodiment of the present disclosure for extracting/selecting function information from a response of a chatbot.
  • FIG. 5B is a diagram for describing an operation in which an electronic device selects at least one function from a plurality of extracted functions according to an embodiment of the present disclosure.
  • FIG. 6 is a block diagram of a query generating module of an electronic device according to an embodiment of the present disclosure that generates and uses a query requesting execution of an extracted/selected function.
  • FIG. 7 is a diagram for explaining an operation of combining responses output from different chatbots by an electronic device according to an embodiment of the present disclosure
  • FIG. 8 is a block diagram of a detailed configuration of an electronic device according to various embodiments of the present disclosure.
  • 9A is a block diagram illustrating an operation of an electronic device using a plurality of chatbots stored in a server according to an embodiment of the present disclosure.
  • 9B is a block diagram illustrating an operation of an electronic device that selectively uses an assistant stored in each server according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating a method for controlling an electronic device according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart of a control method of an electronic device according to an embodiment of the present disclosure.
  • the electronic device and control method according to the present disclosure can effectively combine and provide responses and functions of an independently developed chatbot.
  • the electronic device and the control method according to the present disclosure may provide responses/functions of a plurality of chatbots while optimizing the utilization of module components by using a question classification model for selecting a chatbot to respond to.
  • the electronic device and control method according to the present disclosure can effectively combine and provide responses/functions provided by the chatbots while maintaining the development environment of each chatbot developed/updated professionally/independently for each service.
  • ordinal number such as “first” and “second” may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number.
  • the use order or arrangement order of the components combined with such an ordinal number may not be limited by the number. If necessary, each ordinal number may be used interchangeably.
  • modules such as “module”, “unit”, “part”, etc. are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software.
  • a plurality of "modules”, “units”, “parts”, etc. are integrated into at least one module or chip, and are integrated into at least one processor, except when each needs to be implemented as individual hardware. can be implemented.
  • a certain part when it is said that a certain part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
  • the meaning that a certain part includes a certain component means that other components may be further included, rather than excluding other components, unless otherwise stated.
  • FIG. 2 is a block diagram illustrating a configuration and operation of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 includes at least one memory 110 and a processor 120 .
  • the electronic device 100 may be a server, a smartphone, an AI speaker, or the like, but is not limited thereto.
  • the memory 110 may include a plurality of chat-bots.
  • the chatbot refers to a chatting-robot, and is a concept including an agent for providing at least one service through the electronic device 100 based on communication with a user or overall data constituting the agent.
  • the plurality of chatbots included in the memory 120 may be variously classified according to the type of service provided by the electronic device 100 .
  • the service may include a response provided to the user's query, and in some cases, the service may further include at least one function of the electronic device 100 provided according to the user's query.
  • the plurality of chatbots may include customer service chatbots that respond to overall customer inquiries about the electronic device 100 .
  • the customer service chatbot may provide a response to the input query when a user's query regarding the operation, state, defect, etc. of the electronic device 100 is input.
  • the plurality of chatbots may include a setting chatbot that manages user settings for the electronic device 100 .
  • the setting chatbot checks the setting status of various user setting items of the electronic device 100 (eg, data communication On/Off, Wi-Fi On/Off, power saving mode On/Off, information access authority of the app, etc.)
  • various user setting items of the electronic device 100 eg, data communication On/Off, Wi-Fi On/Off, power saving mode On/Off, information access authority of the app, etc.
  • a response to the inputted query may be provided.
  • the setting chatbot may perform a function of changing the setting state of at least one setting item according to a user's request.
  • the plurality of chatbots may include a weather chatbot that provides a service for managing weather information.
  • the weather chatbot may provide a response to a user's query inquiring about the weather.
  • the weather chatbot may perform a function of providing the current weather to the user at a preset period.
  • the plurality of chatbots may include chatbots that provide various services, and is not limited to the above-described examples.
  • Each chatbot may respond to a user's query related to a service provided by the chatbot.
  • the chatbot may include a natural language processing module for understanding the meaning of the text input by the user, a question-response module for generating a separate text for responding to the input text, and the like.
  • the natural language processing module may use an artificial intelligence model trained to understand various keywords related to services provided by the corresponding chatbot.
  • the Q&A module may use an artificial intelligence model trained to provide a response when a query is input through various Q&A related to services provided by the corresponding chatbot.
  • Each chatbot may include a function processing module for providing at least one function related to a service provided by the chatbot.
  • the function processing module of the chatbot may include information on functions that can be performed in the electronic device through the chatbot.
  • the function processing module of the chatbot may include at least one instruction to activate a function of the electronic device 100 by being executed by the processor 120 of the electronic device 100 .
  • the function processing module of the chatbot may perform a function related to the extracted keyword.
  • the above-described setting chatbot may extract keywords such as "power saving mode” and "start” from the user's request.
  • the setting chatbot may be implemented to generate a command for activating the power saving mode of the electronic device 100 by using the extracted keywords. As a result, the power saving mode of the electronic device 100 may be activated.
  • a plurality of chatbots included in the memory 120 may be included in one assistant.
  • the assistant may refer to a general agent that provides various services through the electronic device 100 based on communication with the user, such as, for example, Bixby.
  • a plurality of services (response, function) provided through a plurality of chatbots may be included in the comprehensive service provided by the corresponding assistant.
  • the electronic device 100 may use a plurality of chatbots stored in an external server. A related specific embodiment will be described later with reference to FIGS. 9A and 9B .
  • the memory 120 may include a query classification model trained to determine a chatbot for responding to an input query among a plurality of chatbots.
  • the query classification model may include at least one artificial intelligence model implemented in the form of a classifier.
  • the query classification model may be trained using a large number of queries as input data and a chatbot for responding to each of the large number of queries as output data.
  • the query classification model may identify a domain mapped to an input query, and select a chatbot mapped to the identified domain from among a plurality of chatbots.
  • the domain may be defined through texts corresponding to various words/sentences.
  • the domain may include information about texts related to a service provided by at least one chatbot.
  • the domain may be divided into various categories related to services provided by each chatbot, such as music, weather, news, sports, device settings, and customer service, but is not limited thereto.
  • the music domain may include information on various words and sentences related to a music service
  • the sports domain may include information on various words and sentences related to a sports service.
  • the query classification model may be trained using a large number of texts as input data and a domain mapped to each of the large number of texts as output data.
  • the query classification model may be trained to transform at least one text (word or sentence) included in the input query into a vector and select a domain most related to the transformed vector, but is not limited thereto.
  • the query classification model may determine the chatbot mapped to the selected domain by using information about a plurality of domains mapped to each of the plurality of chatbots stored in the memory 120 .
  • the query classification model may identify a domain mapped to the query as a sports domain.
  • the sports information chatbot mapped to the sports domain may be determined as the chatbot for responding to the user's query.
  • the processor 120 may provide a response to the user's query (ie: information about the game schedule) through the sports information chatbot.
  • the processor 120 may include a query classification module 121 , a chatbot management module 122 , a function information extraction module 123 , a query creation module 124 , and the like.
  • modules may be implemented in software or hardware form. Alternatively, the modules may be implemented in a form including software and hardware.
  • the query classification module 121 is a module for selecting a chatbot to respond to an input query when a query is input.
  • the query classification module 121 may select a chatbot to provide a response from among a plurality of chatbots stored in the memory 110 through the above-described query classification model.
  • a user's query (eg, what should I do when I cannot connect to the Internet) may be input to the processor 120 ( S11 ).
  • the electronic device 100 is implemented as a server.
  • the user's query may be input to the smartphone or AI speaker in the form of voice.
  • the smartphone or AI speaker may convert the input user voice into text and transmit it to the electronic device 100 .
  • the processor 120 may receive the converted text through the communication interface of the electronic device 100 .
  • the electronic device 100 is implemented as a smart phone or an AI speaker.
  • a user's voice is input through the microphone of the electronic device 100 , and the processor 120 may obtain a text obtained by converting the inputted user's voice.
  • the query classification module 121 inputs the input user's query into the above-described query classification model, and selects chatbot 1 (ex. customer service chatbot) for responding to the user's query (question 1) from among a plurality of chatbots.
  • chatbot 1 ex. customer service chatbot
  • the query classification module 121 may identify a first domain (eg, a customer service domain) related to text included in an input user's query (question 1) among a plurality of domains through the query classification model. there is.
  • a first domain eg, a customer service domain
  • the query classification module 121 selects a first chatbot (eg, customer service chatbot) mapped to the identified first domain from among the plurality of chatbots, based on the information on the plurality of domains mapped for each of the plurality of chatbots.
  • a first chatbot eg, customer service chatbot
  • chatbot management module 122 (S12).
  • the chatbot management module 122 is a module for managing a plurality of chatbots stored in the memory 110 .
  • the chatbot management module 122 may input a query to at least one chatbot and obtain a response output from the chatbot to which the query is input.
  • the chatbot management module 122 may provide the obtained response to the user.
  • chatbot management module 122 may perform at least one function of the electronic device 100 through at least one chatbot.
  • the chatbot management module 122 may input a user's query to the chatbot 1 selected by the query classification module 121 .
  • the first response of the chatbot 1 to the user's query (eg, have you checked the mobile data or Wi-Fi connection status? Settings>Connection>Data usage>Mobile data>On) may be obtained (S13).
  • the function information extraction module 123 is a module for extracting function information from a response output from at least one chatbot.
  • the function information extraction module 123 may extract information on a function that the electronic device 100 can perform.
  • the function information extraction module 123 may include a keyword extraction module for extracting a keyword related to a function from a response (text), and may determine whether each extracted keyword is a function that can be performed by the electronic device 100 .
  • the function information extraction module 123 may use a list of functions that the electronic device 100 can perform. This list may be pre-stored in the memory 120 .
  • the function information extraction module 123 may compare each extracted keyword with functions in the above-described list.
  • the function information extraction module 123 may receive the first response of the chatbot 1 from the chatbot management module 122 ( S13 ).
  • the function information extraction module 123 may extract information on at least one function that can be performed by the electronic device 100 (eg, mobile data>on) from the first response of the chatbot 1 ( S14 ).
  • the function information extraction module 123 may select at least one function from among the plurality of functions.
  • the function information extraction module 123 when information on a function that can be performed in the electronic device 100 (eg, mobile data>On) is extracted/selected by the function information extraction module 123 , the function information extraction module 123 is applied to the extracted/selected function. information may be transmitted to the query generating module 124 (S14).
  • the processor 120 may provide a response to the user's inquiry based on the above-described first response. That is, the processor 120 may provide only the above-described first response.
  • the processor 120 may transmit information about the first response to a smartphone or an AI speaker through a communication interface.
  • the first response may be output in the form of a voice through the smart phone or the AI speaker.
  • the first response may be output in the form of a voice through the speaker of the electronic device 100 .
  • the query generating module 124 is a module for generating a query (text) related to at least one function.
  • the query generating module 124 may generate a query by using the information about the function acquired through the function information extraction module 123 .
  • the query generating module 124 may generate a query requesting execution of a corresponding function.
  • the query generation module 124 generates a query including at least one artificial intelligence model trained to generate a query (text) requesting execution of the input function when information on at least one function is input. You can also use models.
  • the query generating module 124 generates a query (eg, turn on mobile data) for requesting execution of a function (eg, mobile data > on) extracted from the function information extraction module 123 . Then, the generated query may be transmitted to the query classification module 121 (S15).
  • a query eg, turn on mobile data
  • a function eg, mobile data > on
  • the query classification module 121 may select the chatbot 2 (eg, setting chatbot) to respond to the generated query. That is, the processor 120 may select the chatbot 2 capable of performing the function included in the first response by using the query classification module 121 .
  • the chatbot 2 eg, setting chatbot
  • the query classification module 121 may identify a second domain (eg, a device setting domain) related to text included in the generated query (question 2) among a plurality of domains through the query classification model. .
  • a second domain eg, a device setting domain
  • the query classification module 121 may select a second chatbot (eg, a setting chatbot) mapped to the identified second domain from among the plurality of chatbots, based on the information on the plurality of domains mapped for each of the plurality of chatbots. there is.
  • a second chatbot eg, a setting chatbot
  • the query classification module 121 may transmit information about the selected chatbot 2 to the chatbot management module 122 (S16).
  • chatbot management module 122 may directly perform a corresponding function (eg, turn on mobile data) of the electronic device 100 requested by the generated query (eg, turn on mobile data) using chatbot 2 . there is.
  • the chatbot management module 122 may obtain a second response (ex. Do you want to turn on mobile data?) of the chatbot 2 to the generated query (eg, turn on mobile data), and include the first response and A response to the user's question (question 1) may be provided based on the second response (S17).
  • the processor 120 may generate a combined response to the input user's question (question 1) based on the first response and the second response.
  • the combined response may simply include the first response and the second response, or may be a new response in which the first response and the second response are fused.
  • a combination response (ex. mobile) including a query on whether to perform the function extracted from the above-described first response (eg, turn on mobile data) Data must be turned on. Can I turn on mobile data?).
  • the processor 120 may use at least one response generator model, and a related specific embodiment will be described later with reference to FIG. 7 .
  • chatbot management module 122 may provide the generated combined response.
  • a user's request (query or command) to perform the extracted function may be input.
  • the second chatbot (eg, setting chatbot) may perform the above-described function (eg, turn on mobile data) according to the user's response.
  • the above-described function eg, turn on mobile data
  • the electronic device 100 does not directly provide a corresponding response when information on a separate function is included in a response provided through one chatbot, but is a chatbot of another chatbot capable of performing the corresponding function. Additional responses may be obtained.
  • FIG. 3 is a block diagram illustrating a process in which a query classification model is trained according to an embodiment of the present disclosure.
  • the query classification module 121 may use a query classification model 310 trained to determine a domain matching an input query.
  • the query classification model 310 may be trained through training query texts matched to each of various domains.
  • the query classification model 310 is to be trained through queries 301 related to a customer service domain, queries 302 related to a setting domain, and queries 303 related to a weather domain.
  • the query classification module 121 may obtain a domain associated with the user's query by inputting the user's query into the query classification model 310 .
  • the query classification module 121 may select a chatbot matching the acquired domain as a chatbot providing a response to the user's query.
  • the query classification module 121 inputs the user's query into the query classification model 310, and thus the domain (: customer) matching the user's query is received. service domain).
  • the query classification module 121 may select a customer service chatbot matching the customer service domain as a chatbot that will provide a response to the user's query.
  • FIG. 4 is a block diagram illustrating an operation in which an electronic device acquires a response of a selected chatbot according to an embodiment of the present disclosure.
  • the chatbot management module 122 may acquire information about the chatbot (eg, customer service chatbot) selected by the query classification module 121 .
  • the chatbot management module 122 may input a user's query to a chatbot (customer service chatbot) selected from among the plurality of chatbots 410, 420, 430, and the like.
  • a chatbot customer service chatbot
  • a response of the customer service chatbot to the user's query may be obtained.
  • FIG. 5A is a block diagram illustrating operations in which an electronic device extracts/selects function information from a response of a chatbot according to an embodiment of the present disclosure.
  • the above-described function information extraction module 123 may include a formatting module 510 , a function extractor 520 , a function selector 530 , and the like.
  • the Formatting module 510 is a module for converting the chatbot's response to a user's query into a text format.
  • the operation of the Formatting module 510 is not required, but when the response of the chatbot is an image or video, the Formatting module 510 may obtain text from the image or video.
  • the Formatting module 510 may recognize at least one text included in an image/video through a technology such as Optical Character Recognition (OCR), but is not limited thereto.
  • OCR Optical Character Recognition
  • the function extractor 520 is a module for extracting information on at least one function from text.
  • the function extractor 520 may obtain a word/sentence matching at least one function from the text using pre-stored words/sentences representing various functions, respectively.
  • the function extractor 520 may vectorize each word/sentence included in the text and compare it with a vector of a pre-stored word/sentence, but is not limited thereto.
  • the function selector 530 is a module for selecting a function that can be performed by the electronic device 100 .
  • the function selector 530 may select a function executable by the electronic device 100 from among at least one function extracted by the function extractor 520 .
  • a list of functions that can be performed by the electronic device 100 may be stored in the memory 110 .
  • the function selector 530 may identify at least one function that can be performed by the electronic device 100 among the plurality of functions based on the list. there is.
  • the function selector 530 may use a function selection model trained to select a function for answering a query among a plurality of functions.
  • FIG. 5B is a diagram for describing an operation in which an electronic device selects at least one function from a plurality of extracted functions according to an embodiment of the present disclosure.
  • FIG. 5B assumes a situation in which a plurality of functions 551 are extracted through the function extractor 520 .
  • the function selector 530 may input a plurality of functions 551 extracted to the function selection model 531 .
  • the function selector 530 may input a list 552 of functions that can be performed by the electronic device 100 and a user's query 553 into the function selection model 531 .
  • the function selection model 531 may calculate a score for each of the extracted functions 551 using the list 552 and the user's query 553 .
  • This score may be defined as a complex numerical value of correlation with a user's query and performance possibility in the electronic device 100 for each function.
  • the feature selection model 531 may be trained to identify features related to the response text that may lead to the user's query, based on the dialog generation technique (eg, RNN). Also, the function selection model 531 may be trained to vectorize each function that can be performed by the electronic device 100 and each of the input (extracted) functions to calculate similarity.
  • the dialog generation technique eg, RNN
  • the function selection model 531 may be trained to vectorize each function that can be performed by the electronic device 100 and each of the input (extracted) functions to calculate similarity.
  • the function selection model 531 may output a function having the highest calculated score among the extracted functions 551 , which is mobile data>on 551 ′.
  • the processor 120 may directly provide a corresponding response.
  • the processor 120 may output only the corresponding response in the form of a voice through the speaker.
  • FIG. 6 is a block diagram of a query generating module of an electronic device according to an embodiment of the present disclosure that generates and uses a query requesting execution of an extracted/selected function.
  • the query generation module 124 may generate a query related to the function extracted/selected by the function information extraction module 123 .
  • the query generating module 124 may generate a query 611 requesting a function 551 ′ extracted/selected by the function information extraction module 123 .
  • the query generation module 124 may use the query generation model 610 trained to convert the input word/sentence into the query text.
  • the query generation model 610 may be implemented in a form including an encoder and a decoder to change the input word/sentence type to a query sentence, but is not limited thereto.
  • the generated query 611 may be input to the query classification module 121 again.
  • the query classification module 121 may select a chatbot for responding to the generated query 611 and/or providing a function related to the generated query 611 .
  • a chatbot capable of performing the corresponding function 551 ′ may be selected.
  • chatbot management module 122 may obtain a response (Would you like to turn on mobile data?) by inputting the generated query 611 to the selected chatbot (eg, setting chatbot).
  • the response obtained according to the generated query may include a query text for inquiring whether to perform the function extracted/selected by the function information extraction module 123 (mobile data>on).
  • a response to the user's query may be provided based only on the response obtained in FIG. 4 .
  • the processor 120 may only provide an earlier response from the customer service chatbot (see FIG. 4 ).
  • the processor 120 transmits the previous response of the customer service chatbot (Fig. 4) can be provided.
  • the processor 120 may provide a response to the user's query using the obtained responses.
  • the processor 120 may simply provide the obtained responses together, or may generate and provide a combined response in which the corresponding responses are combined.
  • FIG. 7 is a diagram for describing an operation of combining responses output from different chatbots by an electronic device according to an embodiment of the present disclosure
  • the processor 120 may use a response generation model 710 trained to combine the corresponding inputs.
  • the response generation model 710 may be implemented using models trained to perform summarization on text. In this case, when a plurality of responses are input, the response generation model 710 may summarize the entire text including the input responses to output a combined response.
  • the response generation model 710 may be trained using input/output training data using two responses and a combined response in which the corresponding responses are combined, respectively.
  • the processor 120 may obtain a combined response 713 as a result of inputting the response 711 of FIG. 4 and the response 712 of FIG. 6 into the response generation model 710 .
  • This combination response 713 includes a query on whether to perform the mobile data>on 551' function.
  • the processor 120 may perform the corresponding function (mobile data>on) through the chatbot (eg, setting chatbot) that provided the response 712 . .
  • FIG. 8 is a block diagram of a detailed configuration of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 100 includes a microphone 130 , a speaker 140 , a communication interface 150 , a user interface 160 , and a display 170 in addition to the memory 110 and the processor 120 . may include more.
  • the memory 110 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100 . .
  • OS operating system
  • the memory 110 may include a non-volatile memory such as a ROM and a flash memory, and may include one or more volatile memories composed of a DRAM or the like. Also, the memory 120 may include a hard disk, a solid state drive (SSD), or the like.
  • a non-volatile memory such as a ROM and a flash memory
  • the memory 120 may include a hard disk, a solid state drive (SSD), or the like.
  • Artificial intelligence models such as a query classification model 310 , a function selection model 531 , a query generation model 610 , and a response generation model 710 may be stored in the memory 110 .
  • Each AI model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation result of a previous layer and a plurality of weight values.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model.
  • the memory 110 may include an Auto Speech Recognition (ASR) model, a natural language understanding model, a Text-to-Speech (TTS) model, and the like, and may include artificial intelligence models of various functions constituting each chatbot.
  • ASR Auto Speech Recognition
  • TTS Text-to-Speech
  • the processor 120 controls the overall operation of the electronic device 100 .
  • the processor 120 may be connected to the memory 110 to control the electronic device 100 .
  • the processor 120 may include a central processing unit (CPU), a graphic processing unit (GPU), a neural processing unit (NPU), etc. in hardware, Control-related operations and data processing can be performed.
  • CPU central processing unit
  • GPU graphic processing unit
  • NPU neural processing unit
  • the processor 120 may be implemented as a micro processing unit (MPU) or may correspond to a computer in which random access memory (RAM) and read only memory (ROM) are connected to a CPU or the like through a system bus.
  • MPU micro processing unit
  • RAM random access memory
  • ROM read only memory
  • the processor 120 may control one or more software modules included in the electronic device 100 as well as hardware components included in the electronic device 100 , and the result of controlling the software modules by the processor 120 is It may be derived from the operation of hardware configurations.
  • the processor 120 may include one or a plurality of processors.
  • one or a plurality of processors are general-purpose processors such as CPUs and APs, GPUs. It may be a graphics-only processor, such as a VPU, or an artificial intelligence-only processor, such as an NPU.
  • One or a plurality of processors control to process input data according to predefined operation rules or artificial intelligence models stored in the memory.
  • a predefined action rule or artificial intelligence model is characterized by being created through learning (training).
  • a predefined operation rule or artificial intelligence model of a desired characteristic is created by applying a learning algorithm to a plurality of learning data.
  • Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server/system.
  • the learning algorithm is a method of training a target device (eg, a robot) using a plurality of learning data so that the target device can make a decision or make a prediction by itself.
  • Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified when It is not limited to the above example except for.
  • the microphone 130 is configured to receive a user's voice.
  • the microphone 130 includes at least one circuit for converting a user's voice into an electrical audio signal.
  • the speaker 140 is configured to output the response/question of at least one chatbot or assistant in the form of a voice.
  • the speaker 140 may include various components for converting an electrical audio signal into sound.
  • the communication interface 150 may include a circuit as a component for performing communication with one or more external electronic devices.
  • Communication interface 150 is TCP/IP (Transmission Control Protocol/Internet Protocol), UDP (User Datagram Protocol), HTTP (Hyper Text Transfer Protocol), HTTPS (Secure Hyper Text Transfer Protocol), FTP (File Transfer Protocol), SFTP A communication protocol (protocol) such as (Secure File Transfer Protocol) and MQTT (Message Queuing Telemetry Transport) may be used to transmit/receive various information to and from one or more external electronic devices.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • UDP User Datagram Protocol
  • HTTP Hyper Text Transfer Protocol
  • HTTPS Secure Hyper Text Transfer Protocol
  • FTP File Transfer Protocol
  • SFTP FTP (File Transfer Protocol)
  • a communication protocol such as (Secure File Transfer Protocol) and MQTT (Message Queuing Telemetry Transport) may be used to transmit/receive various information to and from one or more external electronic devices.
  • the communication interface 150 may be connected to an external electronic device based on a network implemented through wired communication and/or wireless communication.
  • the communication interface 150 may be directly connected to an external electronic device, or may be connected to an external electronic device through one or more external servers (eg, Internet Service Providers (ISPs)) that provide a network.
  • ISPs Internet Service Providers
  • the network may be a personal area network (PAN), a local area network (LAN), a wide area network (WAN), etc. depending on the area or size, and depending on the openness of the network, an intranet, It may be an extranet or the Internet.
  • PAN personal area network
  • LAN local area network
  • WAN wide area network
  • Wireless communication includes long-term evolution (LTE), LTE Advance (LTE-A), 5th generation (5G) mobile communication, code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, NFC (near field communication), any one of communication methods such as Zigbee or It can be any combination.
  • LTE long-term evolution
  • LTE-A LTE Advance
  • 5G mobile communication code division multiple access
  • CDMA code division multiple access
  • WCDMA wideband CDMA
  • UMTS universal mobile telecommunications system
  • WiBro Wireless Broadband
  • GSM Global System for Mobile Communications
  • DMA Time Division Multiple Access
  • WiFi Wi-Fi
  • WiFi Direct Bluetooth
  • NFC near field communication
  • any one of communication methods such as Zigbee or It can be any combination.
  • Wired communication may be any one or any combination of communication methods such as Ethernet, optical network, USB (Universal Serial Bus), and ThunderBolt.
  • the communication interface 150 may include a network interface or a network chip according to the above-described wired/wireless communication method.
  • the communication method is not limited to the above-described example, and may include a communication method newly appearing according to the development of technology.
  • the communication interface 150 may communicate with at least one external server.
  • the processor 120 may receive a response of each chatbot from the server through the communication interface 150 .
  • a related embodiment will be described later with reference to FIG. 9A.
  • any one or any combination of the above-described modules 121, 122, 123, and 124 may be stored in the server.
  • the system including the electronic device 100 and the server 200 connected to the electronic device 100 through the communication interface 150 may perform the operations of the above-described modules.
  • the user interface 160 is a configuration for receiving user commands and/or user information in various forms.
  • the user interface 160 may include various input interfaces such as a camera, a touch sensor, and a button.
  • the display 170 is configured to display various contents or various user interfaces provided through the electronic device 100 .
  • the display 170 may visually provide a service or response provided through at least one chatbot.
  • the display 170 may be implemented as an LED, a liquid crystal display (LCD), a plasma display panel (PDP), an organic light emitting diode (OLED), a transparent OLED (TOLED), a micro LED, or the like, but is not limited thereto.
  • LCD liquid crystal display
  • PDP plasma display panel
  • OLED organic light emitting diode
  • TOLED transparent OLED
  • micro LED micro LED
  • the display 170 may be implemented in the form of a touch screen capable of detecting a user's touch manipulation, or may be implemented as a flexible display that can be folded or bent.
  • 9A is a block diagram illustrating an operation of an electronic device using a plurality of chatbots stored in a server according to an embodiment of the present disclosure.
  • the server 200 may input a query to each chatbot through the chatbot management module 221 and obtain a response through each chatbot.
  • the electronic device 100 transmits information about the selected chatbot 1 and the user's query to the server 200 can be sent to
  • the server 200 may obtain a response to the user's query through the chatbot 1 and transmit it to the electronic device 100 .
  • the electronic device 100 may generate a query using the response received from the server 200 (query generation module 124 ), and may extract/select a function from the generated query (function information extraction module 123 ). )).
  • the electronic device 100 may select the chatbot 2 to provide a response to the generated query through the query classification module 121 .
  • the electronic device 100 may transmit information on the selected chatbot 2 and the generated query to the server 200 .
  • the electronic device 100 may provide a combination of responses of the chatbot 1 and the chatbot 2 .
  • 9B is a block diagram illustrating an operation of an electronic device that selectively uses an assistant stored in each server according to an embodiment of the present disclosure.
  • the electronic device 100 communicates with a plurality of servers 200 - 1 , 2 , and 3 that provide services based on different assistants.
  • each of the Assistants stored in the servers 200 - 1 , 2 and 3 may include a multi-chatbot.
  • the server 200-1 manages the services (response, function, etc.) of the Assistant 1 through the chatbot management module 221-1, and the server 200-2 manages the Assistant 2 through the chatbot management module 221-2. , and the server 200-3 may manage the service of Assistant 3 through the chatbot management module 221-3.
  • the query classification module 121 may use a classification model trained to determine at least one assistant for responding to an input query.
  • the query classification module 121 may select Assistant 1 as an Assistant for responding to the user's query.
  • the electronic device 100 may transmit information on the selected Assistant 1 and the user's query to the server 200 - 1 .
  • the server 200 - 1 may obtain a response to the user's query through Assistant 1 and transmit it to the electronic device 100 .
  • the electronic device 100 may generate a query using the response received from the server 200 (query generation module 124 ), and may extract/select a function from the generated query (function information extraction module 123 ). )).
  • the electronic device 100 may select Assistant 2 to provide a response to the generated query through the query classification module 121 .
  • the electronic device 100 may transmit information on the selected Assistant 2 and the generated query to the server 200 .
  • the electronic device 100 may provide a combination of responses of Assistant 1 and Assistant 2 .
  • the electronic device 100 may be configured to provide not only responses/functions of a plurality of chatbots in combination, but also responses/functions of a plurality of assistants in combination.
  • FIG. 10 is a flowchart of a control method of an electronic device according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • a user's query is input into a query classification model trained to determine a chatbot for responding to a query among a plurality of chatbots, and a second method for responding to the user's query among the plurality of chatbots 1
  • a first response to the user's query may be obtained through the selected first chatbot (S1020).
  • the first chatbot mapped to the identified first domain from among the plurality of chatbots may be selected based on the information on the plurality of domains mapped to each of the plurality of chatbots.
  • a query for requesting execution of a function included in the first response can be generated (S1030).
  • a query for requesting execution of the function may be generated.
  • the corresponding function when information on a function is obtained from the obtained first response, it may be determined whether the corresponding function is a function that can be performed by the electronic device.
  • a query for requesting execution of the corresponding function may be generated.
  • At least one function that can be performed by the electronic device among the plurality of functions may be identified based on a list of functions that can be performed by the electronic device .
  • the present control method may input information about a plurality of functions obtained from the first response, a list of functions that can be performed by the electronic device, and a user's query into the function selection model.
  • At least one function corresponding to the user's query and executable by the electronic device may be identified.
  • a response to the user's query may be simply provided based on the first response without generating a query.
  • the present control method may input the generated query into the query classification model, and select a second chatbot to respond to the generated query from among the plurality of chatbots (S1040).
  • the second domain related to the text included in the generated query among the plurality of domains may be identified through the query classification model.
  • a second chatbot mapped to the identified second domain from among the plurality of chatbots may be selected based on information on a plurality of domains mapped for each of the plurality of chatbots.
  • a response to the user's query may be provided based on the first response.
  • the present control method may obtain a second response to the previously generated query through the selected second chatbot (S1050).
  • a combined response including a query on whether to perform a function included in the first response may be generated.
  • the generated combined response may be provided.
  • the combined response may be output through the speaker in the form of voice.
  • the corresponding function may be performed through the second chatbot.
  • FIG. 11 is a flowchart of a control method of an electronic device according to an embodiment of the present disclosure.
  • a chatbot to respond to the user's query may be selected and a first response of the chatbot may be obtained ( S1110 ).
  • a query classification model trained to select a chatbot to respond to a query may be used.
  • the obtained response includes information on functions that can be performed by the electronic device (S1115).
  • the first response may be simply provided (S1120).
  • one of them may be selected using a list of functions that can be performed by the electronic device and a user's query. Then, a query for requesting the selected function may be generated.
  • a query When a query is generated, it may be identified whether there is a chatbot that will perform a corresponding function related to the query ( S1130 ).
  • a chatbot to perform a corresponding function can be selected.
  • a second response to the generated query may be obtained through the corresponding chatbot (S1135).
  • a combined response including a query on whether to perform a function may be provided ( S1140 ).
  • the corresponding function may be performed through the chatbot identified in S1130 (S1150).
  • the method of controlling the electronic device described with reference to FIGS. 9 to 10 may be performed through the electronic device 100 illustrated and described with reference to FIGS. 2 and 8 .
  • the method of controlling the electronic device described with reference to FIGS. 9 to 10 may be performed through a system including the electronic device 100 and at least one external device (eg, a server).
  • a system including the electronic device 100 and at least one external device (eg, a server).
  • the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (Programmable logic devices), FPGAs (field programmable gate arrays) ), a processor, a controller, a micro-controller, a microprocessor, and an electrical unit for performing other functions may be implemented using one or any combination. .
  • ASICs Application Specific Integrated Circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs Programmable logic devices
  • FPGAs field programmable gate arrays
  • embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.
  • Computer instructions for performing the processing operation in the electronic device 100 according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. . When the computer instructions stored in the non-transitory computer-readable medium are executed by the processor of the device, the device performs the processing operation of the electronic device 100 according to the various embodiments described above.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, and the like, and can be read by a device.
  • the various applications or programs described above may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는, 명령어, 질의에 응답하기 위한 복수의 챗봇(chat-bot), 및 복수의 챗봇 중 입력된 질의에 응답하기 위한 챗봇을 판단하도록 훈련된 질의 분류 모델이 저장된 메모리, 프로세서를 포함한다. 프로세서는 명령어를 실행함으로써, 입력 질의를 질의 분류 모델에 입력하여, 질의 분류 모델은 복수의 챗봇 중 사용자의 질의에 응답하기 위한 제1 챗봇을 출력하고, 출력된 제1 챗봇을 통해 입력 질의에 대한 제1 응답을 획득하고, 획득된 제1 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 기능의 수행을 요청하는 질의를 생성하고, 생성된 질의를 질의 분류 모델에 입력하여, 질의 분류 모델은 복수의 챗봇 중 생성된 질의에 응답하기 위한 제2 챗봇을 출력하고, 선택된 제2 챗봇을 통해 생성된 질의에 대한 제2 응답을 획득하고, 획득된 제1 응답 및 획득된 제2 응답을 기반으로, 사용자의 질의에 대한 응답을 제공한다.

Description

멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법
본 개시는 질의에 응답하는 전자 장치에 관한 것이다. 보다 상세하게는, 복수의 챗봇을 선택적으로 이용하여 응답을 제공하는 전자 장치에 관한 것이다.
CROSS-REFERENCE TO RELATED APPLICATIONS
본 출원은 2020년 10월 8일에 출원된 대한민국 특허 출원 제10-2020-0130313 호에 기초하여 우선권을 주장하며, 해당 출원의 모든 내용은 그 전체가 본 출원에 레퍼런스로 포함된다.
서로 다른 서비스를 제공하는 복수의 챗봇을 이용하는 멀티-챗봇 환경 내에서, 사용자의 질의가 입력되면, 선택된 어느 하나의 챗봇을 통해 응답 및 기능이 제공된다.
선택된 챗봇을 통해 제공되는 응답에 기능에 대한 정보가 포함된 경우, 비록 다른 챗봇을 통해 해당 기능을 자동으로 수행될 수 있다고 하더라도, 단지 선택된 챗봇의 응답만이 제공된다. 그 결과, 사용자가 해당 기능을 직접 수행해야 하는 불편한 상황이 발생할 수 있다.
이는, 챗봇 별로 다른 서비스를 제공하기 때문에, 각 챗봇이 독립적으로 개발/업데이트되는 경우가 많다는 점에서 기인한다.
비록 서로 다른 챗봇들의 응답/기능을 일일이 서로 연동시킨다면 해당 문제가 해결될 수도 있겠으나, 이 경우 각 챗봇의 개발/업데이트 과정이 너무 번거로워진다는 문제가 있다.
도 1은 종래 기술에 따른 멀티-챗봇 환경의 동작 예를 설명하기 위한 도면이다.
도 1은 전자 장치(ex. 스마트폰)의 사용자(10) 및 전자 장치를 통해 멀티-챗봇 기반으로 서비스를 제공하는 artificial intelligence (AI) Assistant(20)를 도시한다.
AI Assistant(20)는 종합 서비스를 제공하는 음성 비서로 정의될 수 있으며, 도 1을 참조하면, AI Assistant(20)는 고객 서비스 챗봇(20-1), 설정 챗봇(20-2), 날씨 챗봇(20-3) 등을 이용할 수 있다.
도 1을 참조하면, 사용자(10)가 "인터넷 연결이 안돼"(11)라는 질의를 한 경우, AI Assistant(20)의 챗봇들 중 고객 서비스 챗봇(20-1)이 선택될 수 있다.
그리고, 도 1과 같이 고객 서비스 챗봇(20-1)은 사용자의 질의(11)에 대한 응답(21)을 제공할 수 있다.
도 1을 참조하면, 고객 서비스 챗봇(20-1)은 현재 필요한 기능(모바일 : 데이터> 켜기)이 무엇인지 알려주는 응답(21)을 제공할 뿐이지, 해당 기능을 직접 수행할 수는 없다.
이 경우, 설령 설정 챗봇(20-2)을 통해 해당 기능(모바일 : 데이터> 켜기)을 자동으로 제공하는 것이 가능하다고 하더라도, 선택되지 않은 설정 챗봇(20-2)은 이용되기 어려울 수 있다.
그 결과, 사용자는 해당 기능(모바일 : 데이터> 켜기)을 전자 장치에 대한 수동 조작으로 직접 활성화할 수밖에 없다.
독립적으로 개발되는 챗봇들의 응답 및 기능을 효과적으로 조합하여 제공하는 전자 장치 및 그 제어 방법이 제공된다.
추가적으로, 질의에 응답하기 위한 챗봇을 선택하는 질의 분류 모델을 반복적으로 이용함으로써, 모듈 구성의 활용을 최적화하면서도 적절한 응답/기능을 제공할 수 있는 전자 장치 및 그 제어 방법이 제공된다.
더 나아가, 각 서비스에 대하여 전문적/독립적으로 개발/업데이트되는 챗봇들 각각의 개발 환경을 유지하면서도, 챗봇들이 제공하는 응답/기능을 효과적으로 조합하여 제공할 수 있는 전자 장치 및 그 제어 방법이 제공된다.
본 개시의 일 실시 예에 따른 전자 장치는, 명령어, 질의에 응답하기 위한 복수의 챗봇(chat-bot), 및 상기 복수의 챗봇 중 입력된 질의에 응답하기 위한 챗봇을 판단하도록 훈련된 질의 분류 모델이 저장된 적어도 하나의 메모리; 및 상기 프로세서는 상기 명령어를 실행함으로써, 입력 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 입력 질의에 응답하기 위한 제1 챗봇을 출력하고, 상기 출력된 제1 챗봇을 통해 상기 입력 질의에 대한 제1 응답을 획득하고, 상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 상기 기능의 수행을 요청하는 질의를 생성하고, 상기 생성된 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 제2 챗봇을 출력하고, 상기 출력된 제2 챗봇을 통해 상기 생성된 질의에 대한 제2 응답을 획득하고, 상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 입력 질의에 대한 조합된 응답을 제공한다.
상기 적어도 하나의 메모리는, 상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 더 포함하고, 상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 질의 분류 모델을 통해, 상기 상기 입력 질의에 포함되는 텍스트와 관련된 복수의 도메인 중 제1 도메인을 식별하고, 상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 상기 식별된 제1 도메인에 매핑된 복수의 챗봇 중 상기 제1 챗봇을 선택한다.
상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 질의 분류 모델을 통해, 상기 생성된 질의에 포함되는 텍스트와 관련된 복수의 도메인 중 제2 도메인을 식별하고, 상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 상기 상기 식별된 제2 도메인에 매핑된 복수의 챗봇 중 상기 제2 챗봇을 선택한다.
상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 질의 분류 모델을 통해, 상기 생성된 질의에 포함되는 텍스트와 관련된 복수의 도메인 중 제2 도메인을 식별하고, 상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 상기 상기 식별된 제2 도메인에 매핑된 복수의 챗봇 중 상기 제2 챗봇을 선택한다.
상기 프로세서는 상기 명령어를 더 실행함으로써,
상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공한다.
적어도 하나의 메모리는, 복수의 기능에 대한 정보를 바탕으로, 상기 복수의 기능 중 질의에 대응되는 하나 이상의 기능을 선택하도록 훈련된 기능 선택 모델을 더 포함하고, 상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 획득된 제1 응답에 포함된 복수의 기능에 대한 정보, 상기 리스트, 및 상기 입력 질의를 상기 기능 선택 모델에 입력하여, 상기 기능 선택 모델은 상기 제1 응답으로부터 획득된 복수의 기능 중 상기 입력 질의에 대응되고 상기 전자 장치에서 수행 가능한 하나 이상의 기능을 출력한다.상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공한다. 상기 프로세서는 상기 명령어를 더 실행함으로써, 상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 기능의 수행 여부에 대한 질의를 포함하는 상기 조합 응답을 생성하고, 상기 생성된 조합 응답을 제공하고, 상기 조합 응답이 제공됨에 따라 상기 기능을 수행하기 위한 상기 요청이 입력되면, 상기 제2 챗봇을 통해, 상기 기능을 수행한다.
본 개시의 일 실시 예에 따른 전자 장치 제어 방법은 복수의 챗봇 중 질의에 응답하기 위한 챗봇을 식별하도록 훈련된 질의 분류 모델에, 입력 질의를 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 사용자의 질의에 응답하기 위한 제1 챗봇을 출력하는 단계;상기 출력된 제1 챗봇을 통해 상기 입력 질의에 대한 제1 응답을 획득하는 단계;상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 상기 기능의 수행을 요청하는 질의를 생성하는 단계; 상기 생성된 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 제2 챗봇을 출력하는 단계; 상기 출력된 제2 챗봇을 통해 상기 생성된 질의에 대한 제2 응답을 획득하는 단계; 및 상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 입력 질의에 대한 조합 응답을 제공하는 단계;를 포함한다.
상기 입력 질의를 질의 분류 모델에 입력하는 단계는, 상기 질의 분류 모델을 통해, 상기 복수의 챗봇별로 매핑된 복수의 도메인 중 상기 입력 질의에 포함되는 텍스트와 관련된 제1 도메인을 식별하고, 상기 복수의 챗봇 별로 매핑된 상기 복수의 도메인에 대한 정보를 기반으로, 상기 복수의 챗봇 중 상기 식별된 제1 도메인에 매핑된 상기 제1 챗봇을 선택한다.
상기 생성된 질의를 질의 분류 모델에 입력하는 단계는, 상기 질의 분류 모델을 통해, 상기 복수의 도메인 중 상기 생성된 질의에 포함되는 텍스트와 관련된 제2 도메인을 식별하고, 상기 복수의 챗봇 별로 매핑된 상기 복수의 도메인에 대한 정보를 기반으로, 상기 복수의 챗봇 중 상기 식별된 제2 도메인에 매핑된 상기 제2 챗봇을 선택한다.
상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는 단계;를 더 포함한다.
상기 획득된 제1 응답으로에 복수의 기능에 대한 정보를 포함하는 경우, 상기 전자 장치에서 수행 가능한 기능들에 대한 리스트를 기반으로 상기 복수의 기능 중 상기 전자 장치에서 수행 가능한 적어도 하나의 기능을 식별하는 단계; 및 상기 식별된 적어도 하나의 기능의 수행을 요청하는 상기 질의를 생성하는 단계;를 더 포함한다.
복수의 기능 중 상기 전자 장치에서 수행 가능한 상기 적어도 하나의 기능을 식별하는 단계는, 상기 획득된 제1 응답에 포함된 복수의 기능에 대한 정보, 상기 리스트, 및 상기 입력 질의를 기능 선택 모델에 입력하고, 상기 기능 선택 모델은, 복수의 기능에 대한 정보가 입력되면, 복수의 기능 중에서 상기 입력 질의에 대응되는 하나 이상의 기능을 선택하고, 상기 제1 응답으로부터 획득된 복수의 기능 중 상기 사용자의 질의에 대응되고 상기 전자 장치에서 수행 가능한 적어도 하나의 기능을 출력한다.
상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는 단계;를 더 포함한다.
본 개시에 따른 전자 장치 및 제어 방법은, 독립적으로 개발되는 챗봇들의 응답 및 기능을 효과적으로 조합하여 제공할 수 있다.
본 개시에 따른 전자 장치 및 제어 방법은, 질의에 응답하기 위한 챗봇을 선택하는 질의 분류 모델을 반복적으로 이용함으로써, 모듈 구성의 활용을 최적화하면서도 복수의 챗봇의 응답/기능을 제공할 수 있다.
본 개시에 따른 전자 장치 및 제어 방법은, 각 서비스에 대하여 전문적/독립적으로 개발/업데이트되는 챗봇들 각각의 개발 환경을 유지하면서도, 챗봇들이 제공하는 응답/기능을 효과적으로 조합하여 제공할 수 있다.
본 개시의 특정 실시 예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 다음 설명으로부터 더욱 명백해질 것이다.
도 1은 배경 기술에 따른 멀티 챗봇 환경의 동작 예를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성 및 동작에 대한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 질의 분류 모델이 훈련되는 과정을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치가 선택된 챗봇의 응답을 획득하는 동작을 설명하기 위한 블록도이다.
도 5a는 챗봇의 응답으로부터 기능 정보를 추출/선택하는 본 개시의 일 실시 예에 따른 전자 장치의 기능 정보 추출 모듈에 대한 블록도이다.
도 5b는 본 개시의 일 실시 예에 따른 전자 장치가 추출된 복수의 기능으로부터 적어도 하나의 기능을 선택하는 동작을 설명하기 위한 도면이다.
도 6은 추출/선택된 기능의 수행을 요청하는 질의를 생성하여 이용하는 본 개시의 일 실시예에 따른 전자 장치의 질의 생성 모듈의 블록도이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치가 서로 다른 챗봇에서 출력된 응답들을 조합하는 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성에 대한 블록도이다.
도 9a는 본 개시의 일 실시 예에 따라 서버에 저장된 복수의 챗봇을 이용하는 전자 장치의 동작을 설명하기 위한 블록도이다.
도 9b는 본 개시의 일 실시 예에 따라 각 서버에 저장된 Assistant를 선택적으로 이용하는 전자 장치의 동작을 설명하기 위한 블록도이다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 순서도이다.그리고,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 순서도이다.
본 개시에 따른 전자 장치 및 제어 방법은 독립적으로 개발된 챗봇의 응답 및 기능을 효과적으로 결합하여 제공할 수 있다.
또한, 본 개시에 따른 전자 장치 및 제어 방법은 응답할 챗봇을 선택하는 질문 분류 모델을 이용하여 모듈 구성 요소의 활용도를 최적화하면서 복수의 챗봇의 응답/기능을 제공할 수 있다.
또한, 본 개시에 따른 전자 장치 및 제어 방법은 각각의 서비스를 위해 전문적으로/독립적으로 개발/업데이트 된 각 챗봇의 개발 환경을 유지하면서 챗봇이 제공하는 응답/기능을 효과적으로 결합하여 제공할 수 있다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되지 않을 수 있다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성 및 동작에 대한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 적어도 하나의 메모리(110) 및 프로세서(120)를 포함한다. 전자 장치(100)는 서버, 스마트폰, AI 스피커 등일 수 있으나, 이에 한정되지 않는다.
메모리(110)는 복수의 챗봇(chat-bot)을 포함할 수 있다.
챗봇은 chatting-robot을 의미하며, 사용자와의 의사소통을 기반으로 전자 장치(100)를 통해 적어도 하나의 서비스를 제공하기 위한 에이전트 내지는 해당 에이전트를 구성하는 데이터 전반을 포함하는 개념이다.
메모리(120)에 포함된 복수의 챗봇은 전자 장치(100)가 제공하는 서비스의 종류에 따라 다양하게 구분될 수 있다.
여기서, 서비스는, 사용자의 질의에 대하여 제공되는 응답을 포함할 수 있으며, 경우에 따라, 서비스는 사용자의 질의에 따라 제공되는 전자 장치(100)의 적어도 하나의 기능을 더 포함할 수 있다.
복수의 챗봇에는, 전자 장치(100)에 대한 전반적인 고객의 문의에 응답하는 고객 서비스 챗봇이 포함될 수 있다.
고객 서비스 챗봇은, 전자 장치(100)의 조작, 상태, 결함 등에 대한 사용자의 질의가 입력되면, 입력된 질의에 대한 응답을 제공할 수 있다.
복수의 챗봇에는, 전자 장치(100)에 대한 사용자 설정을 관리하는 설정 챗봇이 포함될 수 있다.
설정 챗봇은, 전자 장치(100)의 다양한 사용자 설정 항목(ex. 데이터 통신 On/Off, Wi-Fi On/Off, 절전 모드 On/Off, 앱의 정보 접근 권한 등)에 대한 설정 상태를 확인하기 위한 사용자의 질의가 입력되면, 입력된 질의에 대한 응답을 제공할 수 있다.
또한, 설정 챗봇은, 사용자의 요청에 따라 적어도 하나의 설정 항목의 설정 상태를 변경하는 기능을 수행할 수도 있다.
복수의 챗봇에는, 날씨 정보를 관리하는 서비스를 제공하는 날씨 챗봇이 포함될 수 있다.
날씨 챗봇은, 날씨를 문의하는 사용자의 질의에 대한 응답을 제공할 수 있다. 또는, 날씨 챗봇은, 기설정된 주기 별로 사용자에게 현재 날씨를 제공하는 기능을 수행할 수도 있다.
이렇듯, 복수의 챗봇은 다양한 서비스를 제공하는 챗봇들을 포함할 수 있으며, 상술한 예들에 한정되지 않는다.
각 챗봇은, 챗봇이 제공하는 서비스와 관련된 사용자의 질의에 응답할 수 있다. 이를 위해, 챗봇은 사용자가 입력한 텍스트의 의미를 이해하기 위한 자연어 처리 모듈, 및 입력된 텍스트에 응답하기 위한 별도의 텍스트를 생성하기 위한 질의-응답 모듈 등을 포함할 수 있다.
여기서, 자연어 처리 모듈은, 해당 챗봇이 제공하는 서비스와 관련된 다양한 키워드를 이해하도록 훈련된 인공지능 모델을 이용할 수 있다.
또한, 질의-응답 모듈은, 해당 챗봇이 제공하는 서비스와 관련된 다양한 질의-응답을 통해, 질의가 입력되면 그에 맞는 응답을 제공하도록 훈련된 인공지능 모델을 이용할 수 있다.
각 챗봇은, 챗봇이 제공하는 서비스와 관련된 적어도 하나의 기능을 제공하기 위한 기능 처리 모듈을 포함할 수 있다.
이를 위해, 챗봇의 기능 처리 모듈은, 챗봇을 통해 전자 장치에서 수행될 수 있는 기능에 대한 정보를 포함할 수 있다.
일 예로, 챗봇의 기능 처리 모듈은 전자 장치(100)의 프로세서(120)에 의해 실행됨으로써 전자 장치(100)의 일 기능을 활성화하도록 하는 적어도 하나의 인스트럭션을 포함할 수 있다.
만약, 입력된 사용자의 질의/요청으로부터 챗봇이 제공하는 기능과 관련된 키워드가 추출되는 경우, 챗봇의 기능 처리 모듈은, 추출된 키워드와 관련된 기능을 수행할 수 있다.
예를 들어, 상술한 설정 챗봇은, 사용자의 요청(ex. 절전 모드 시작해줘)이 입력되면, 사용자의 요청으로부터 "절전 모드", "시작" 등의 키워드들을 추출할 수 있다.
그리고, 설정 챗봇은, 추출된 키워드들을 이용하여, 전자 장치(100)의 절전 모드를 활성화하는 명령을 생성하도록 구현될 수 있다. 그 결과, 전자 장치(100)의 절전 모드가 활성화될 수 있다.
메모리(120)에 포함된 복수의 챗봇은 하나의 Assistant에 포함될 수 있다. 여기서, Assistant는, 예를 들어 빅스비와 같이, 사용자와의 의사 소통을 기반으로 전자 장치(100)를 통해 다양한 서비스를 제공하는 종합 에이전트를 의미할 수 있다.
즉, 복수의 챗봇을 통해 제공되는 복수의 서비스(응답, 기능)는 해당 Assistant가 제공하는 종합 서비스에 포함될 수 있다.
비록 도 2를 통해서는 복수의 챗봇이 전자 장치(100)의 메모리(110)에 포함되는 실시 예만을 도시하였으나, 전자 장치(100)는 외부 서버에 저장된 복수의 챗봇을 이용할 수도 있다. 관련된 구체적인 실시 예는 도 9a 및 도 9b 등을 통해 후술한다.
메모리(120)는 복수의 챗봇 중 입력된 질의에 응답하기 위한 챗봇을 판단하도록 훈련된 질의 분류 모델을 포함할 수 있다. 질의 분류 모델은 분류기의 형태로 구현된 적어도 하나의 인공지능 모델을 포함할 수 있다.
일 예로, 질의 분류 모델은, 많은 수의 질의를 입력 데이터로, 많은 수의 질의 각각에 응답하기 위한 챗봇을 출력 데이터로 하여 훈련될 수 있다.
일 예로, 질의 분류 모델은, 입력된 질의에 매핑되는 도메인을 식별하고, 복수의 챗봇 중 식별된 도메인에 매핑되는 챗봇을 선택할 수도 있다.
도메인은, 다양한 단어/문장에 해당하는 텍스트들을 통해 정의될 수 있다. 도메인은, 적어도 하나의 챗봇이 제공하는 서비스와 관련된 텍스트들에 대한 정보를 포함할 수 있다.
여기서, 도메인은 음악, 날씨, 뉴스, 스포츠, 기기 설정, 고객 서비스 등 각 챗봇이 제공하는 서비스와 관련된 다양한 카테고리로 구분될 수 있으나, 이에 한정되지 않는다.
일 예로, 음악 도메인은 음악 서비스와 관련된 다양한 단어 및 문장에 대한 정보를 포함하고, 스포츠 도메인은 스포츠 서비스와 관련된 다양한 단어 및 문장에 대한 정보를 포함할 수 있다.
질의 분류 모델은, 많은 수의 텍스트를 입력 데이터로, 많은 수의 텍스트 각각에 매핑되는 도메인을 출력 데이터로 하여 훈련될 수 있다.
이때, 질의 분류 모델은, 입력된 질의에 포함되는 적어도 하나의 텍스트(단어 또는 문장)를 벡터로 변환하고, 변환된 벡터와 가장 관련성이 큰 도메인을 선택하도록 훈련될 수도 있으나, 이에 한정되지 않는다.
입력된 질의에 매핑되는 도메인이 선택된 경우, 질의 분류 모델은, 메모리(120)에 저장된 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 이용하여, 선택된 도메인에 매핑된 챗봇을 판단할 수 있다.
일 예로, 프로 축구 리그의 경기 일정을 문의하는 사용자의 질의가 질의 분류 모델에 입력된 경우, 질의 분류 모델은, 해당 질의에 매핑되는 도메인을 스포츠 도메인으로 식별할 수 있다.
이 경우, 스포츠 도메인에 대해 매핑된 스포츠 정보 챗봇이, 사용자의 질의에 응답하기 위한 챗봇으로 결정될 수 있다.
그리고, 프로세서(120)는 스포츠 정보 챗봇을 통해 사용자의 질의에 대한 응답(: 경기 일정에 대한 정보)을 제공할 수 있다.
도 2를 참조하면, 프로세서(120)는 질의 분류 모듈(121), 챗봇 관리 모듈(122), 기능 정보 추출 모듈(123), 질의 생성 모듈(124) 등을 포함할 수 있다.
본 모듈들은, 소프트웨어 또는 하드웨어 형태로 구현될 수 있다. 또는, 본 모듈들은 소프트웨어 및 하드웨어를 포함하는 형태로 구현될 수도 있다.
이하에서는 도 2를 통해 본 모듈들의 구체적인 동작을 설명한다.
질의 분류 모듈(121)은, 질의가 입력되면, 입력된 질의에 응답할 챗봇을 선택하는 모듈이다.
질의 분류 모듈(121)은, 상술한 질의 분류 모델을 통해, 메모리(110)에 저장된 복수의 챗봇 중 응답을 제공할 챗봇을 선택할 수 있다.
일 예로, 도 2를 참조하면, 사용자의 질의(ex. 인터넷 연결이 안되는데 어떻게 해야 해?)가 프로세서(120)에 입력될 수 있다(S11).
전자 장치(100)가 서버로 구현된 경우를 가정한다. 이 경우, 사용자의 질의가 음성 형태로 스마트폰 또는 AI 스피커에 입력될 수 있다. 이때, 스마트폰 또는 AI 스피커는 입력된 사용자 음성을 텍스트로 변환하여 전자 장치(100)로 전송할 수 있다. 이 경우, 프로세서(120)는 변환된 텍스트를 전자 장치(100)의 통신 인터페이스를 통해 수신할 수 있다.
또는, 전자 장치(100)가 스마트폰이나 AI 스피커로 구현된 경우를 가정한다. 이 경우, 사용자가 질의를 발화한 경우, 전자 장치(100)의 마이크를 통해 사용자 음성이 입력되고, 프로세서(120)는 입력된 사용자 음성이 변환된 텍스트를 획득할 수 있다.
여기서, 질의 분류 모듈(121)은 입력된 사용자의 질의를 상술한 질의 분류 모델에 입력하여, 복수의 챗봇 중 사용자의 질의(question 1)에 응답하기 위한 챗봇 1(ex. 고객 서비스 챗봇)을 선택할 수 있다.
구체적인 예로, 질의 분류 모듈(121)은, 질의 분류 모델을 통해, 복수의 도메인 중 입력된 사용자의 질의(question 1)에 포함되는 텍스트와 관련된 제1 도메인(ex. 고객 서비스 도메인)을 식별할 수 있다.
그리고, 질의 분류 모듈(121)은, 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 복수의 챗봇 중 식별된 제1 도메인에 매핑된 제1 챗봇(ex. 고객 서비스 챗봇)을 선택할 수 있다.
그리고, 선택된 챗봇 1에 대한 정보를 챗봇 관리 모듈(122)로 전달할 수 있다(S12).
챗봇 관리 모듈(122)은 메모리(110)에 저장된 복수의 챗봇을 관리하기 위한모듈이다.
챗봇 관리 모듈(122)은 적어도 하나의 챗봇에 질의를 입력하고, 질의가 입력된 챗봇에서 출력된 응답을 획득할 수 있다.
여기서, 챗봇 관리 모듈(122)은 획득된 응답을 사용자에게 제공할 수도 있다.
또한, 챗봇 관리 모듈(122)은 적어도 하나의 챗봇을 통해 전자 장치(100)의 적어도 하나의 기능을 수행할 수도 있다.
도 2를 참조하면, 챗봇 관리 모듈(122)은 질의 분류 모듈(121)에 의해 선택된 챗봇 1에 사용자의 질의를 입력할 수 있다.
이 경우, 사용자의 질의에 대한 챗봇 1의 제1 응답(ex. 모바일 데이터 또는 Wi-Fi 연결 상태를 확인해 보셨나요? 설정>연결>데이터 사용>모바일 데이터>켜기)이 획득될 수 있다(S13).
기능 정보 추출 모듈(123)은 적어도 하나의 챗봇에서 출력된 응답으로부터 기능에 대한 정보를 추출하기 위한 모듈이다.
기능 정보 추출 모듈(123)은 전자 장치(100)가 수행할 수 있는 기능에 대한 정보를 추출할 수 있다.
기능 정보 추출 모듈(123)은 응답(텍스트)으로부터 기능과 관련된 키워드를 추출하기 위한 키워드 추출 모듈을 포함할 수 있으며, 추출된 각 키워드가 전자 장치(100)에서 수행 가능한 기능인지 판단할 수 있다.
이를 위해, 기능 정보 추출 모듈(123)은 전자 장치(100)가 수행할 수 있는 기능들에 대한 리스트를 이용할 수 있다. 본 리스트는 메모리(120)에 기저장된 것일 수 있다.
기능 정보 추출 모듈(123)은 추출된 각 키워드를 상술한 리스트 내의 기능들과 비교할 수 있다.
일 예로, 도 2를 참조하면, 기능 정보 추출 모듈(123)은, 챗봇 1의 제1 응답을 챗봇 관리 모듈(122)로부터 전달받을 수 있다(S13).
그리고, 기능 정보 추출 모듈(123)은 챗봇 1의 제1 응답으로부터 전자 장치(100)에서 수행 가능한 적어도 하나의 기능에 대한 정보(ex. 모바일 데이터>켜기)를 추출할 수 있다(S14).
여기서, 만약 제1 응답으로부터 복수의 기능에 대한 정보가 추출된 경우, 기능 정보 추출 모듈(123)은 복수의 기능 중 적어도 하나의 기능을 선택할 수도 있는바, 관련된 구체적인 실시 예는 도 5a 내지 5b를 통해 후술한다.
이렇듯, 기능 정보 추출 모듈(123)에 의해 전자 장치(100)에서 수행 가능한 기능에 대한 정보(ex. 모바일 데이터>켜기)가 추출/선택된 경우, 기능 정보 추출 모듈(123)은 추출/선택된 기능에 대한 정보를 질의 생성 모듈(124)로 전달할 수 있다(S14).
만약 제1 응답에 전자 장치(100)에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 프로세서(120)는 상술한 제1 응답을 기반으로 사용자의 질의에 대한 응답을 제공할 수 있다. 즉, 프로세서(120)는 상술한 제1 응답만을 제공할 수 있다.
일 예로, 전자 장치(100)가 서버인 경우, 프로세서(120)는 통신 인터페이스를 통해 스마트폰 또는 AI 스피커로 제1 응답에 대한 정보를 전송할 수 있다. 이 경우, 스마트폰 또는 AI 스피커를 통해 제1 응답이 음성 형태로 출력될 수 있다.
다른 예로, 전자 장치(100)가 스마트폰 또는 AI 스피커인 경우, 전자 장치(100)의 스피커를 통해 제1 응답이 음성 형태로 출력될 수 있다.
질의 생성 모듈(124)은 적어도 하나의 기능과 관련된 질의(텍스트)를 생성하기 위한 모듈이다.
질의 생성 모듈(124)은 기능 정보 추출 모듈(123)을 통해 획득된 기능에 대한 정보를 이용하여, 질의를 생성할 수 있다.
여기서, 질의 생성 모듈(124)은 해당 기능의 수행을 요청하는 질의를 생성할 수도 있다.
이를 위해, 질의 생성 모듈(124)은, 적어도 하나의 기능에 대한 정보가 입력되면, 입력된 기능의 수행을 요청하는 질의(텍스트)를 생성하도록 훈련된 적어도 하나의 인공지능 모델을 포함하는 질의 생성 모델을 이용할 수도 있다.
일 예로, 도 2를 참조하면, 질의 생성 모듈(124)은 기능 정보 추출 모듈(123)로부터 추출된 기능(ex. 모바일 데이터>켜기)의 수행을 요청하는 질의(ex. 모바일 데이터 켜줘)를 생성하고, 생성된 질의를 질의 분류 모듈(121)로 전달할 수 있다(S15).
이 경우, 질의 분류 모듈(121)은 생성된 질의에 응답하기 위한 챗봇 2(ex. 설정 챗봇)를 선택할 수 있다. 즉, 프로세서(120)는, 질의 분류 모듈(121)을 이용하여, 제1 응답에 포함된 기능을 수행할 수 있는 챗봇 2를 선택할 수 있다.
예를 들어, 질의 분류 모듈(121)은, 질의 분류 모델을 통해, 복수의 도메인 중 생성된 질의(question 2)에 포함되는 텍스트와 관련된 제2 도메인(ex. 기기 설정 도메인)을 식별할 수 있다.
그리고, 질의 분류 모듈(121)은, 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 복수의 챗봇 중 식별된 제2 도메인에 매핑된 제2 챗봇(ex. 설정 챗봇)을 선택할 수 있다.
그리고, 질의 분류 모듈(121)은 선택된 챗봇 2에 대한 정보를 챗봇 관리 모듈(122)로 전달할 수 있다(S16).
여기서, 챗봇 관리 모듈(122)은, 챗봇 2를 이용하여, 생성된 질의(ex. 모바일 데이터 켜줘)에 의해 요청된 전자 장치(100)의 해당 기능(ex. 모바일 데이터 켜기)을 곧바로 수행할 수 있다.
또는, 챗봇 관리 모듈(122)은 생성된 질의(ex. 모바일 데이터 켜줘)에 대한 챗봇 2의 제2 응답(ex. 모바일 데이터를 켜드릴까요?)을 획득할 수 있으며, 상술한 제1 응답 및 제2 응답을 기반으로 사용자의 질의(question 1)에 대한 응답을 제공할 수 있다(S17).
프로세서(120)는 제1 응답 및 제2 응답을 기반으로, 입력된 사용자의 질의(question 1)에 대한 조합 응답을 생성할 수 있다.
이때, 조합 응답은, 단순히 제1 응답 및 제2 응답을 포함하는 것일 수도 있고, 제1 응답 및 제2 응답이 융합된 새로운 응답일 수도 있다.
일 예로, 프로세서(120)는 제1 응답 및 제2 응답을 기반으로, 상술한 제1 응답으로부터 추출된 기능(ex. 모바일 데이터 켜기)의 수행 여부에 대한 질의를 포함하는 조합 응답(ex. 모바일 데이터가 켜져 있어야 합니다. 모바일 데이터를 켜드릴까요?)을 생성할 수 있다.
이를 위해, 프로세서(120)는 적어도 하나의 응답 생성기 모델을 이용할 수 있는 바, 관련된 구체적인 실시 예는 도 7을 통해 후술한다.
그리고, 챗봇 관리 모듈(122)은 생성된 조합 응답을 제공할 수 있다.
조합 응답이 제공됨에 따라, 추출된 기능을 수행하기 위한 사용자의 요청(질의 내지는 명령)이 입력될 수 있다.
예를 들어, "모바일 데이터가 켜져 있어야 합니다. 모바일 데이터를 켜드릴까요?"와 같은 조합 응답이 제공됨에 따라, "응"이라는 사용자의 응답이 수신될 수 있다.
이 경우, 제2 챗봇(ex. 설정 챗봇)은 사용자의 응답에 따라 상술한 기능(ex. 모바일 데이터 켜기)을 수행할 수 있다.
이렇듯, 본 개시에 따른 전자 장치(100)는, 하나의 챗봇을 통해 제공된 응답에 별도의 기능에 대한 정보가 포함된 경우, 해당 응답을 곧바로 제공하지 않고, 해당 기능을 수행할 수 있는 다른 챗봇의 응답을 추가로 획득할 수 있다.
그 결과, 복수의 챗봇들로부터 획득된 응답들이 함께 제공될 수 있으므로, 사용자의 질의에 대한 보다 효과적인 응답이 해당 기능과 함께 제공될 수 있다는 효과가 있다.
이하 도 3 내지 도 7을 통해서는, 보다 구체적인 예를 들어 상술한 각 모듈들의 동작을 설명한다.
도 3은 본 개시의 일 실시 예에 따른 질의 분류 모델이 훈련되는 과정을 설명하기 위한 블록도이다.
도 3을 참조하면, 질의 분류 모듈(121)은 입력된 질의에 매칭되는 도메인을 판단하도록 훈련된 질의 분류 모델(310)을 이용할 수 있다.
질의 분류 모델(310)은 다양한 도메인 각각에 매칭되는 훈련용 질의 텍스트들을 통해 훈련될 수 있다.
일 예로, 도 3을 참조하면, 질의 분류 모델(310)은 고객 서비스 도메인과 관련된 질의들(301), 설정 도메인과 관련된 질의들(302), 날씨 도메인과 관련된 질의들(303)을 통해 훈련될 수 있다.
그 결과, 질의 분류 모듈(121)은 사용자의 질의를 질의 분류 모델(310)에 입력함으로써, 사용자의 질의와 연관된 도메인을 획득할 수 있다.
그리고, 질의 분류 모듈(121)은 획득된 도메인과 매칭되는 챗봇을, 사용자의 질의에 대하여 응답을 제공할 챗봇으로 선택할 수 있다.
예를 들어, "인터넷 연결이 안돼"라는 사용자의 질의가 수신된 경우, 질의 분류 모듈(121)은 사용자의 질의를 질의 분류 모델(310)에 입력함으로써, 사용자의 질의에 매칭되는 도메인(: 고객 서비스 도메인)을 판단할 수 있다.
그리고, 질의 분류 모듈(121)은 고객 서비스 도메인과 매칭되는 고객 서비스 챗봇을, 사용자의 질의에 응답을 제공할 챗봇으로 선택할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치가 선택된 챗봇의 응답을 획득하는 동작을 설명하기 위한 블록도이다.
도 4를 참조하면, 챗봇 관리 모듈(122)은 질의 분류 모듈(121)에 의해 선택된 챗봇(ex. 고객 서비스 챗봇)에 대한 정보를 획득할 수 있다.
여기서, 챗봇 관리 모듈(122)은, 복수의 챗봇들(410, 420, 430 등) 중 선택된 챗봇(고객 서비스 챗봇)에 사용자의 질의를 입력할 수 있다.
그 결과, 도 4와 같이 사용자의 질의에 대한 고객 서비스 챗봇의 응답이 획득될 수 있다.
한편, 도 5a는 본 개시의 일 실시 예에 따른 전자 장치가 챗봇의 응답으로부터 기능 정보를 추출/선택하는 동작들을 설명하기 위한 블록도이다.
도 5a를 참조하면, 상술한 기능 정보 추출 모듈(123)은 Formatting module(510), Function Extractor(520), Function selector(530) 등을 포함할 수 있다.
Formatting module(510)은 사용자 질의에 대한 챗봇의 응답을 텍스트의 형태로 변환하기 위한 모듈이다.
챗봇의 응답이 텍스트인 경우 Formatting module(510)의 동작이 필요하지 않지만, 챗봇의 응답이 이미지나 비디오인 경우 Formatting module(510)은 이미지나 비디오로부터 텍스트를 획득할 수 있다.
이를 위해, Formatting module(510)은 OCR(Optical Character Recognition) 등의 기술을 통해 이미지/비디오에 포함된 적어도 하나의 텍스트를 인식할 수 있으나 이에 한정되지 않는다.
Function Extractor(520)는 텍스트로부터 적어도 하나의 기능에 대한 정보를 추출하기 위한 모듈이다.
Function Extractor(520)는 다양한 기능들을 각각 나타내는 기저장된 단어/문장을 이용하여, 텍스트로부터 적어도 하나의 기능에 매칭되는 단어/문장을 획득할 수 있다.
이를 위해, Function Extractor(520)는 텍스트에 포함된 각 단어/문장을 벡터화하여 기저장된 단어/문장의 벡터와 비교할 수도 있으나, 이에 한정되지 않는다.
Function Selector(530)는, 전자 장치(100)에서 수행 가능한 기능을 선택하기 위한 모듈이다.
Function Selector(530)는 Function Extractor(520)에서 추출된 적어도 하나의 기능 중 전자 장치(100)에서 수행 가능한 기능을 선택할 수 있다.
일 예로, 전자 장치(100)에서 수행 가능한 기능들에 대한 리스트가 메모리(110)에 저장되어 있을 수 있다.
이때, 만약 Function Extractor(520)를 통해 복수의 기능이 추출된 경우, Function Selector(530)는, 해당 리스트를 기반으로 복수의 기능 중 전자 장치(100)에서 수행 가능한 적어도 하나의 기능을 식별할 수 있다.
Function Selector(530)는 복수의 기능 중 질의에 응답하기 위한 기능을 선택하도록 훈련된 기능 선택 모델을 이용할 수도 있다.
도 5b는 본 개시의 일 실시 예에 따른 전자 장치가 추출된 복수의 기능으로부터 적어도 하나의 기능을 선택하는 동작을 설명하기 위한 도면이다.
도 5b는 Function Extractor(520)를 통해 복수의 기능들(551)이 추출된 상황을 전제로 한다.
이 경우, Function Selector(530)는 기능 선택 모델(531)에 추출된 복수의 기능들(551)을 입력할 수 있다.
더하여, Function Selector(530)는 전자 장치(100)에서 수행 가능한 기능에 대한 리스트(552) 및 사용자의 질의(553)를 기능 선택 모델(531)에 입력할 수 있다.
그리고, 도 5b를 참조하면, 기능 선택 모델(531)은, 리스트(552) 및 사용자의 질의(553)를 이용하여, 추출된 기능들(551) 각각에 대한 스코어를 산출할 수 있다.
본 스코어는, 기능 별로, 사용자의 질의와의 연관성 및 전자 장치(100)에서의 수행 가능성을 복합적으로 수치화한 것으로 정의될 수 있다.
이를 위해, 기능 선택 모델(531)은 대화 생성 기술을 기반으로, 사용자의 질의에 이어질 수 있는 응답 텍스트와 관련된 기능을 식별하도록 훈련될 수 있다(ex. RNN). 또한, 기능 선택 모델(531)은 전자 장치(100)에서 수행 가능한 각 기능과 입력된 (추출된) 기능 각각을 벡터화하여 유사도를 산출하도록 훈련될 수 있다.
그리고, 도 5b를 참조하면, 기능 선택 모델(531)은 추출된 기능들(551) 중 산출된 스코어가 가장 높은 기능인 모바일 데이터> 켜기(551')를 출력할 수 있다.
챗봇의 응답으로부터 전자 장치(100)에서 수행 가능한 기능이 추출되지 않는 경우, 프로세서(120)는 곧바로 해당 응답을 제공할 수 있다.
예를 들어, 응답으로부터 아무런 기능이 추출되지 않거나, 또는 응답으로부터 전자 장치(100)가 수행 가능한 기능이 추출되지 않은 경우, 프로세서(120)는 해당 응답만을 음성 형태로 스피커를 통해 출력할 수 있다.
도 6은 추출/선택된 기능의 수행을 요청하는 질의를 생성하여 이용하는 본 개시의 일 실시예에 따른 전자 장치의 질의 생성 모듈의 블록도이다.
질의 생성 모듈(124)는 기능 정보 추출 모듈(123)에서 추출/선택된 기능과 관련된 질의를 생성할 수 있다.
도 6을 참조하면, 질의 생성 모듈(124)은 기능 정보 추출 모듈(123)에서 추출/선택된 기능(551')을 요청하는 질의(611)를 생성할 수 있다.
이를 위해, 질의 생성 모듈(124)은 입력된 단어/문장을 질의 텍스트로 변환하도록 훈련된 질의 생성 모델(610)을 이용할 수 있다.
질의 생성 모델(610)은 입력된 단어/문장의 타입을 질의 문장으로 변경하기 위해 인코더 및 디코더를 포함하는 형태로 구현될 수 있으나 이에 한정되지 않는다.
그리고, 도 6을 참조하면, 생성된 질의(611)는 다시 질의 분류 모듈(121)로 입력될 수 있다.
여기서, 질의 분류 모듈(121)은 생성된 질의(611)에 응답하거나 및/또는 생성된 질의(611)와 관련된 기능을 제공하기 위한 챗봇을 선택할 수 있다.
그 결과, 해당 기능(551')을 수행할 수 있는 챗봇이 선택될 수 있다.
그리고, 챗봇 관리 모듈(122)은 선택된 챗봇(ex. 설정 챗봇)에 생성된 질의(611)를 입력하여 응답(모바일 데이터를 켜드릴까요?)을 획득할 수 있다.
이렇듯, 생성된 질의에 따라 획득된 응답은, 기능 정보 추출 모듈(123)에서 추출/선택된 기능(모바일 데이터>켜기)의 수행 여부를 문의하는 질의 텍스트를 포함할 수 있다.
복수의 챗봇 중 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 상술한 도 4에서 획득된 응답만을 기반으로 사용자의 질의에 대한 응답을 제공할 수 있다.
예를 들어, 질의 분류 모듈(121)이 생성된 질의(511')를 질의 분류 모델(310)에 입력한 결과, 사용자의 질의에 응답하기 위해 이미 선택되었던 고객 서비스 챗봇(도 4 참조)이 다시 선택되는 경우, 프로세서(120)는 고객 서비스 챗봇의 앞선 응답(도 4 참조)만을 제공할 수 있다.
다른 예로, 질의 분류 모듈(121)이 생성된 질의(511')를 질의 분류 모델(310)에 입력한 결과, 아무런 챗봇도 선택되지 않는 경우, 프로세서(120)는 고객 서비스 챗봇의 앞선 응답(도 4 참조)만을 제공할 수 있다.
한편, 사용자 질의에 따라 선택된 챗봇 및 생성된 질의에 따라 선택된 챗봇 각각으로부터 응답이 획득된 경우, 프로세서(120)는 획득된 응답들을 이용하여 사용자의 질의에 대한 응답을 제공할 수 있다.
이때, 프로세서(120)는 획득된 응답들을 단순히 함께 제공할 수도 있고, 또는 해당 응답들이 조합된 조합 응답을 생성하여 제공할 수도 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치가 서로 다른 챗봇에서 출력된 응답들을 조합하는 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 프로세서(120)는 복수의 응답이 입력되면 해당 입력들을 조합하도록 훈련된 응답 생성 모델(710)를 이용할 수 있다.
응답 생성 모델(710)은 텍스트에 대한 요약을 수행하도록 훈련된 모델들을 이용하여 구현될 수도 있다. 이 경우, 응답 생성 모델(710)은 복수의 응답이 입력되면, 입력된 응답들을 포함하는 텍스트 전체를 요약하여 조합 응답을 출력할 수 있다.
또는, 응답 생성 모델(710)은 두 개의 응답 및 해당 응답들이 조합된 조합 응답을 각각 입/출력 훈련 데이터로 하여 훈련될 수도 있다.
도 7을 참조하면, 프로세서(120)는 응답 생성 모델(710)에 도 4의 응답(711) 및 도 6의 응답(712)을 입력한 결과, 조합 응답(713)을 획득할 수 있다. 본 조합 응답(713)은, 모바일 데이터> 켜기(551') 기능의 수행 여부에 대한 질의를 포함한다.
여기서, 해당 기능을 수행하기 위한 사용자의 요청이 입력되는 경우, 프로세서(120)는 응답(712)을 제공한 챗봇(ex. 설정 챗봇)을 통해 해당 기능(모바일 데이터>켜기)을 수행할 수 있다.
도 8은 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성에 대한 블록도이다.
도 8을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120) 외에 마이크(130), 스피커(140), 통신 인터페이스(150), 사용자 인터페이스(160), 디스플레이(170) 등을 더 포함할 수 있다.
메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.
메모리(110)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 하나 이상의 휘발성 메모리를 포함할 수 있다. 또한, 메모리(120)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.
메모리(110)에는 질의 분류 모델(310), 기능 선택 모델(531), 질의 생성 모델(610), 응답 생성 모델(710) 등의 인공지능 모델들이 저장될 수 있다.
각 인공지능 모델은, 일 예로, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치(weight values)를 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다.
메모리(110)는 이밖에도, ASR(Auto Speech Recognition) 모델, 자연어 이해 모델, TTS(Text-to-Speech) 모델 등을 포함할 수 있으며, 그밖에 각 챗봇을 구성하는 다양한 기능의 인공지능 모델을 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다. 프로세서(120)는 메모리(110)와 연결되어 전자 장치(100)를 제어할 수 있다.
이를 위해, 프로세서(120)는 하드웨어적으로 CPU(central processing unit), GPU(Graphic processing unit), NPU(neural processing unit) 등을 포함할 수 있으며, 전자 장치(100)에 포함된 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
프로세서(120)는 MPU(Micro Processing Unit)로 구현되거나, 또는 RAM(Random Access Memory) 및 ROM(Read Only Memory) 등이 CPU 등과 시스템 버스를 통해 연결된 컴퓨터에 해당할 수도 있다.
프로세서(120)는 전자 장치(100)에 포함된 하드웨어적 구성요소뿐만 아니라, 전자 장치(100)에 포함되는 하나 이상의 소프트웨어 모듈을 제어할 수도 있으며, 프로세서(120)가 소프트웨어 모듈을 제어한 결과가 하드웨어 구성들의 동작으로 도출될 수도 있다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP 등과 같은 범용 프로세서, GPU. VPU 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습(훈련)을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 대상 기기(예컨대, 로봇)을 훈련시켜 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
마이크(130)는 사용자의 음성을 수신하기 위한 구성이다. 마이크(130)는 사용자의 음성을 전기적인 오디오 신호로 변환하기 위한 적어도 하나의 회로를 포함한다.
스피커(140)는 적어도 하나의 챗봇 또는 Assistant의 응답/질의를 음성 형태로 출력하기 위한 구성이다. 스피커(140)는 전기적인 오디오 신호를 소리로 변환하기 위한 다양한 구성들을 포함할 수 있다.
통신 인터페이스(150)는 하나 이상의 외부 전자 장치와 통신을 수행하기 위한 구성으로서 회로를 포함할 수 있다.
통신 인터페이스(150)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 하나 이상의 외부 전자 장치와 다양한 정보를 송수신할 수 있다.
이를 위해, 통신 인터페이스(150)는 유선 통신 및/또는 무선 통신을 통해 구현된 네트워크를 기반으로, 외부 전자 장치와 연결될 수 있다. 이때, 통신 인터페이스(150)는 외부 전자 장치와 직접적으로 연결될 수도 있지만, 네트워크를 제공하는 하나 이상의 외부 서버(ex. ISP(Internet Service Provider))를 통해서 외부 전자 장치와 연결될 수도 있다.
네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.
무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 통신 방식 중 어느 하나 또는 임의의 조합 일 수 있다.
유선 통신은 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 통신 방식 중 어느 하나 또는 임의의 조합 일 수 있다. 여기서, 통신 인터페이스(150)는 상술한 유무선 통신 방식에 따른 네트워크 인터페이스(Network Interface) 또는 네트워크 칩을 포함할 수 있다. 한편, 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다.
일 예로, 통신 인터페이스(150)는, 적어도 하나의 외부 서버와 통신을 수행할 수 있다.
복수의 챗봇이 서버에 저장된 경우, 프로세서(120)는 통신 인터페이스(150)를 통해 서버로부터 각 챗봇의 응답을 수신할 수 있다. 관련된 실시 예는 도 9a를 통해 후술한다.
또는, 상술한 모듈들(121, 122, 123, 124) 중 어느 하나 또는 임의의 조합이 서버에 저장될 수도 있다. 이 경우, 전자 장치(100) 및 전자 장치(100)와 통신 인터페이스(150)를 통해 연결된 서버(200)를 포함하는 시스템이 상술한 모듈들의 동작을 수행할 수 있다.
사용자 인터페이스(160)는 사용자 명령 및/또는 사용자 정보를 다양한 형태로 수신하기 위한 구성이다. 사용자 인터페이스(160)는 카메라, 터치 센서, 버튼 등 다양한 입력 인터페이스를 포함할 수 있다.
디스플레이(170)는 전자 장치(100)를 통해 제공되는 다양한 컨텐츠 내지는 다양한 User Interface를 표시하기 위한 구성이다.
디스플레이(170)는 적어도 하나의 챗봇을 통해 제공되는 서비스 또는 응답을 시각적으로 제공할 수 있다.
디스플레이(170)는 LED, LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있으나, 이에 한정되지 않는다.
디스플레이(170)는 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수 도 있다.
도 9a는 본 개시의 일 실시 예에 따라 서버에 저장된 복수의 챗봇을 이용하는 전자 장치의 동작을 설명하기 위한 블록도이다.
도 9a는 복수의 챗봇이 서버(200)에 저장된 경우를 가정한다. 도 9a에서, 서버(200)는 챗봇 관리 모듈(221)을 통해 각 챗봇에 질의를 입력하고, 각 챗봇을 통해 응답을 획득할 수 있다.
일 예로, 전자 장치(100)에 사용자의 질의가 입력됨에 따라 질의 분류 모듈(121)이 챗봇 1을 선택한 경우, 전자 장치(100)는 선택된 챗봇 1에 대한 정보 및 사용자의 질의를 서버(200)로 전송할 수 있다.
이 경우, 서버(200)는 챗봇 1을 통해 사용자의 질의에 대한 응답을 획득하여 전자 장치(100)로 전송할 수 있다.
이때, 전자 장치(100)는 서버(200)로부터 수신된 응답을 이용하여 질의를 생성하고(질의 생성 모듈(124)), 생성된 질의로부터 기능을 추출/선택할 수 있다(기능 정보 추출 모듈(123)).
이어서, 전자 장치(100)는 질의 분류 모듈(121)을 통해, 생성된 질의에 대한 응답을 제공할 챗봇 2를 선택할 수 있다.
여기서, 전자 장치(100)는 선택된 챗봇 2에 대한 정보 및 생성된 질의를 서버(200)로 전송할 수 있다.
그리고, 서버(200)로부터 생성된 질의에 대한 챗봇 2의 응답이 수신되면, 전자 장치(100)는 챗봇 1 및 챗봇 2의 응답들을 조합하여 제공할 수 있다.
도 9b는 본 개시의 일 실시 예에 따라 각 서버에 저장된 Assistant를 선택적으로 이용하는 전자 장치의 동작을 설명하기 위한 블록도이다.
도 9b는, 전자 장치(100)가 서로 다른 Assistant들을 기반으로 서비스를 제공하는 복수의 서버들(200-1, 2, 3)과 통신을 수행하는 경우를 가정한다.
여기서, 서버들(200-1, 2, 3)에 저장된 Assistant들 각각은 멀티-챗봇을 포함할 수 있다.
서버(200-1)는 챗봇 관리 모듈(221-1)을 통해 Assistant 1의 서비스(응답, 기능 등)를 관리하고, 서버(200-2)는 챗봇 관리 모듈(221-2)을 통해 Assistant 2의 서비스를 관리하며, 서버(200-3)는 챗봇 관리 모듈(221-3)을 통해 Assistant 3의 서비스를 관리할 수 있다.
도 9b의 경우, 질의 분류 모듈(121)은 입력된 질의에 응답하기 위한 적어도 하나의 Assistant를 판단하도록 훈련된 분류 모델을 이용할 수 있다.
일 예로, 전자 장치(100)에 사용자의 질의가 입력됨에 따라 질의 분류 모듈(121)은 사용자의 질의에 응답하기 위한 Assistant로서 Assistant 1을 선택할 수 있다.
이 경우, 전자 장치(100)는 선택된 Assistant 1에 대한 정보 및 사용자의 질의를 서버(200-1)로 전송할 수 있다.
이 경우, 서버(200-1)는 Assistant 1을 통해 사용자의 질의에 대한 응답을 획득하여 전자 장치(100)로 전송할 수 있다.
이때, 전자 장치(100)는 서버(200)로부터 수신된 응답을 이용하여 질의를 생성하고(질의 생성 모듈(124)), 생성된 질의로부터 기능을 추출/선택할 수 있다(기능 정보 추출 모듈(123)).
이어서, 전자 장치(100)는 질의 분류 모듈(121)을 통해, 생성된 질의에 대한 응답을 제공할 Assistant 2를 선택할 수 있다.
여기서, 전자 장치(100)는 선택된 Assistant 2에 대한 정보 및 생성된 질의를 서버(200)로 전송할 수 있다.
그리고, 서버(200)로부터 생성된 질의에 대한 Assistant 2의 응답이 수신되면, 전자 장치(100)는 Assistant 1 및 Assistant 2의 응답들을 조합하여 제공할 수 있다.
이렇듯, 본 개시에 따른 전자 장치(100)는, 복수의 챗봇의 응답/기능을 조합하여 제공할 뿐만 아니라, 복수의 Assistant의 응답/기능을 조합하여 제공하도록 구성될 수도 있다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 순서도이다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 본 제어 방법은, 복수의 챗봇 중 질의에 응답하기 위한 챗봇을 판단하도록 훈련된 질의 분류 모델에, 사용자의 질의를 입력하여, 복수의 챗봇 중 사용자의 질의에 응답하기 위한 제1 챗봇을 선택할 수 있다(S1010)..
그리고, 선택된 제1 챗봇을 통해 상기 사용자의 질의에 대한 제1 응답을 획득할 수 있다(S1020).
질의 분류 모델을 통해, 복수의 도메인 중 사용자의 질의에 포함되는 텍스트와 관련된 제1 도메인을 식별할 수 있다.
여기서, 복수의 챗봇 별로 매핑된 상기 복수의 도메인에 대한 정보를 기반으로, 복수의 챗봇 중 식별된 제1 도메인에 매핑된 제1 챗봇을 선택할 수 있다.
그리고, 본 제어 방법은, 제1 응답에 포함된 기능의 수행을 요청하는 질의를 생성할 수 았다(S1030).
구체적으로, 제1 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 해당 기능의 수행을 요청하는 질의를 생성할 수 있다
일 예로, 획득된 제1 응답으로부터 기능에 대한 정보가 획득된 경우, 해당 기능이 전자 장치에서 수행 가능한 기능인지 판단할 수 있다. 여기서, 해당 기능이 전자 장치에서 수행 가능한 기능인 경우, 해당 기능의 수행을 요청하는 질의를 생성할 수 있다.
다른 예로, 제1 응답으로부터 복수의 기능에 대한 정보가 획득된 경우, 전자 장치에서 수행 가능한 기능들에 대한 리스트를 기반으로, 복수의 기능 중 전자 장치에서 수행 가능한 적어도 하나의 기능을 식별할 수 있다.
그리고, 식별된 기능의 수행을 요청하는 질의를 생성할 수 있다.
추가적인 예로, 전자 장치의 메모리에, 복수의 기능에 대한 정보가 입력되면, 복수의 기능 중 질의에 대응되는 기능을 선택하도록 훈련된 기능 선택 모델이 포함된 경우를 가정한다.
이 경우, 본 제어 방법은, 제1 응답으로부터 획득된 복수의 기능에 대한 정보, 전자 장치에서 수행 가능한 기능들에 대한 리스트, 및 사용자의 질의를 기능 선택 모델에 입력할 수 있다.
그 결과, 제1 응답으로부터 획득된 복수의 기능 중 사용자의 질의에 대응되고 전자 장치에서 수행 가능한 적어도 하나의 기능을 식별할 수 있다.
한편, 획득된 제1 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 질의를 생성하지 않고, 단순히 제1 응답을 기반으로 사용자의 질의에 대한 응답을 제공할 수 있다.
S1030을 통해 질의가 생성된 경우, 본 제어 방법은, 생성된 질의를 질의 분류 모델에 입력하여, 복수의 챗봇 중 생성된 질의에 응답하기 위한 제2 챗봇을 선택할 수 있다(S1040).
이경우, 질의 분류 모델을 통해, 복수의 도메인 중 생성된 질의에 포함되는 텍스트와 관련된 제2 도메인을 식별할 수 있다.
그리고, 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 복수의 챗봇 중 식별된 제2 도메인에 매핑된 제2 챗봇을 선택할 수 있다.
복수의 챗봇 중 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 제1 응답을 기반으로 사용자의 질의에 대한 응답을 제공할 수 있다.
S1040에서 제2 챗봇이 선택된 경우, 본 제어 방법은, 선택된 제2 챗봇을 통해 앞서 생성된 질의에 대한 제2 응답을 획득할 수 있다(S1050).
그리고, 제1 응답 및 제2 응답을 기반으로, 사용자의 질의에 대한 응답을 제공할 수 있다(S1060).
제1 응답 및 제2 응답을 기반으로, 제1 응답에 포함된 기능의 수행 여부에 대한 질의를 포함하는 조합 응답을 생성할 수 있다.
그리고, 생성된 조합 응답을 제공할 수 있다. 이때, 조합 응답은 음성 형태로 스피커를 통해 출력될 수 있다.
여기서, 만약 조합 응답이 제공됨에 따라 해당 기능을 수행하기 위한 사용자의 요청이 입력되면, 제2 챗봇을 통해 해당 기능을 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 순서도이다.
도 11을 참조하면, 사용자의 질의가 입력되면(S1105), 사용자의 질의에 응답할 챗봇을 선택하고, 해당 챗봇의 제1 응답을 획득할 수 있다(S1110).
여기서, 질의에 응답하기 위한 챗봇을 선택하도록 훈련된 질의 분류 모델이 이용될 수 있다.
여기서, 획득된 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 있는지 판단할 수 있다(S1115).
만약 획득된 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 없는 경우(S1115 - N), 단순히 제1 응답을 제공할 수 있다(S1120).
반면, 획득된 응답에 전자 장치에서 수행 가능한 기능에 대한 정보가 있는 경우(S1115 - Y), 해당 기능을 요청하는 질의를 생성할 수 있다(S1125).
만약, 획득된 응답에 복수의 기능에 대한 정보가 있는 경우, 전자 장치에서 수행 가능한 기능들의 리스트 및 사용자의 질의를 이용하여 그 중 하나를 선택할 수 있다. 그리고, 선택된 기능을 요청하는 질의를 생성할 수 있다.
질의가 생성되면, 질의와 관련된 해당 기능을 수행할 챗봇이 있는지 식별할 수 있다(S1130).
생성된 질의를 상술한 질의 분류 모델에 입력함으로써, 해당 기능을 수행할 챗봇을 선택할 수 있다.
만약 질의 분류 모델을 통해 아무런 챗봇도 식별/선택되지 않는 경우(S1130 - N), 상술한 제1 응답만을 제공할 수 있다(S1120).
반면, 생성된 질의에 따라 적어도 하나의 챗봇이 식별/선택되는 경우(S1130 - Y), 해당 챗봇을 통해, 생성된 질의에 대한 제2 응답을 획득할 수 있다(S1135).
그리고, 제1 응답 및 제2 응답에 기초하여, 기능 수행 여부에 대한 질의를 포함하는 조합 응답을 제공할 수 있다(S1140).
질의가 제공되면, 사용자가 기능 수행을 동의했는지 여부가 결정될 수 있다(S1145).
여기서, 사용자가 기능 수행에 동의하는 경우(S1145 - Y), S1130에서 식별된 챗봇을 통해 해당 기능을 수행할 수 있다(S1150).
반면, 사용자가 기능 수행에 동의하지 않는 경우(S1145 - N), 해당 기능을 수행하지 않는다.
도 9 내지 도 10을 통해 설명한 전자 장치의 제어 방법은, 도 2 및 도 8을 통해 도시 및 설명한 전자 장치(100)를 통해 수행될 수 있다.
또는, 도 9 내지 도 10을 통해 설명한 전자 장치의 제어 방법은, 전자 장치(100) 및 적어도 하나의 외부 장치(ex. 서버)를 포함하는 시스템을 통해 수행될 수도 있다.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 하나 또는 임의의 조합을 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)의 처리 동작을 상술한 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    명령어, 질의에 응답하기 위한 복수의 챗봇(chat-bot), 및 상기 복수의 챗봇 중 입력된 질의에 응답하기 위한 챗봇을 판단하도록 훈련된 질의 분류 모델이 저장된 적어도 하나의 메모리; 및
    상기 프로세서는 상기 명령어를 실행함으로써,
    입력 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 입력 질의에 응답하기 위한 제1 챗봇을 출력하고,
    상기 출력된 제1 챗봇을 통해 상기 입력 질의에 대한 제1 응답을 획득하고,
    상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 상기 기능의 수행을 요청하는 질의를 생성하고,
    상기 생성된 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 제2 챗봇을 출력하고,상기 출력된 제2 챗봇을 통해 상기 생성된 질의에 대한 제2 응답을 획득하고,
    상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 입력 질의에 대한 조합된 응답을 제공하는, 전자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 메모리는,
    상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 더 포함하고,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 질의 분류 모델을 통해, 상기 상기 입력 질의에 포함되는 텍스트와 관련된 복수의 도메인 중 제1 도메인을 식별하고,
    상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 상기 식별된 제1 도메인에 매핑된 복수의 챗봇 중 상기 제1 챗봇을 선택하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 질의 분류 모델을 통해, 상기 생성된 질의에 포함되는 텍스트와 관련된 복수의 도메인 중 제2 도메인을 식별하고,
    상기 복수의 챗봇 별로 매핑된 복수의 도메인에 대한 정보를 기반으로, 상기 상기 식별된 제2 도메인에 매핑된 복수의 챗봇 중 상기 제2 챗봇을 선택하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는, 전자 장치.
  5. 제1항에 있어서,
    상기 적어도 하나의 메모리는,
    상기 전자 장치에서 수행 가능한 기능들에 대한 리스트를 더 포함하고,
    상기 프로세서는,
    복수의 기능에 대한 정보를 포함하는 상기 획득된 제1 응답을 기초로, 상기 리스트를 기반으로 상기 복수의 기능 중 상기 전자 장치에서 수행 가능한 적어도 하나의 기능을 식별하고,
    상기 식별된 적어도 하나의 기능의 수행을 요청하는 상기 질의를 생성하는, 전자 장치.
  6. 제5항에 있어서,
    상기 적어도 하나의 메모리는,
    복수의 기능에 대한 정보를 바탕으로, 상기 복수의 기능 중 질의에 대응되는 하나 이상의 기능을 선택하도록 훈련된 기능 선택 모델을 더 포함하고,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 획득된 제1 응답에 포함된 복수의 기능에 대한 정보, 상기 리스트, 및 상기 입력 질의를 상기 기능 선택 모델에 입력하여, 상기 기능 선택 모델은 상기 제1 응답으로부터 획득된 복수의 기능 중 상기 입력 질의에 대응되고 상기 전자 장치에서 수행 가능한 하나 이상의 기능을 출력하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는 상기 명령어를 더 실행함으로써,
    상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 기능의 수행 여부에 대한 질의를 포함하는 상기 조합 응답을 생성하고,
    상기 생성된 조합 응답을 제공하고,
    상기 조합 응답이 제공됨에 따라 상기 기능을 수행하기 위한 상기 요청이 입력되면, 상기 제2 챗봇을 통해, 상기 기능을 수행하는, 전자 장치.
  9. 전자 장치의 제어 방법에 있어서,
    복수의 챗봇 중 질의에 응답하기 위한 챗봇을 식별하도록 훈련된 질의 분류 모델에, 입력 질의를 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 사용자의 질의에 응답하기 위한 제1 챗봇을 출력하는 단계;
    상기 출력된 제1 챗봇을 통해 상기 입력 질의에 대한 제1 응답을 획득하는 단계;
    상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함된 경우, 상기 기능의 수행을 요청하는 질의를 생성하는 단계;
    상기 생성된 질의를 상기 질의 분류 모델에 입력하여, 상기 질의 분류 모델은 상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 제2 챗봇을 출력하는 단계;
    상기 출력된 제2 챗봇을 통해 상기 생성된 질의에 대한 제2 응답을 획득하는 단계; 및
    상기 획득된 제1 응답 및 상기 획득된 제2 응답을 기반으로, 상기 입력 질의에 대한 조합 응답을 제공하는 단계;를 포함하는, 전자 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 입력 질의를 질의 분류 모델에 입력하는 단계는,
    상기 질의 분류 모델을 통해, 상기 복수의 챗봇별로 매핑된 복수의 도메인 중 상기 입력 질의에 포함되는 텍스트와 관련된 제1 도메인을 식별하고,
    상기 복수의 챗봇 별로 매핑된 상기 복수의 도메인에 대한 정보를 기반으로, 상기 복수의 챗봇 중 상기 식별된 제1 도메인에 매핑된 상기 제1 챗봇을 선택하는, 전자 장치의 제어 방법.
  11. 제10항에 있어서,
    상기 생성된 질의를 질의 분류 모델에 입력하는 단계는,
    상기 질의 분류 모델을 통해, 상기 복수의 도메인 중 상기 생성된 질의에 포함되는 텍스트와 관련된 제2 도메인을 식별하고,
    상기 복수의 챗봇 별로 매핑된 상기 복수의 도메인에 대한 정보를 기반으로, 상기 복수의 챗봇 중 상기 식별된 제2 도메인에 매핑된 상기 제2 챗봇을 선택하는, 전자 장치의 제어 방법.
  12. 제9항에 있어서,
    상기 획득된 제1 응답에 상기 전자 장치에서 수행 가능한 기능에 대한 정보가 포함되지 않은 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는 단계;를 더 포함하는, 전자 장치.
  13. 제9항에 있어서,
    상기 획득된 제1 응답으로에 복수의 기능에 대한 정보를 포함하는 경우, 상기 전자 장치에서 수행 가능한 기능들에 대한 리스트를 기반으로 상기 복수의 기능 중 상기 전자 장치에서 수행 가능한 적어도 하나의 기능을 식별하는 단계; 및
    상기 식별된 적어도 하나의 기능의 수행을 요청하는 상기 질의를 생성하는 단계;를 더 포함하는, 전자 장치의 제어 방법.
  14. 제13항에 있어서,
    복수의 기능 중 상기 전자 장치에서 수행 가능한 상기 적어도 하나의 기능을 식별하는 단계는,
    상기 획득된 제1 응답에 포함된 복수의 기능에 대한 정보, 상기 리스트, 및 상기 입력 질의를 기능 선택 모델에 입력하고,
    상기 기능 선택 모델은, 복수의 기능에 대한 정보가 입력되면, 복수의 기능 중에서 상기 입력 질의에 대응되는 하나 이상의 기능을 선택하고, 상기 복수의 기능 중 상기 사용자의 질의에 대응되고 상기 전자 장치에서 수행 가능한 적어도 하나의 기능을 출력하는, 전자 장치의 제어 방법.
  15. 제9항에 있어서,
    상기 복수의 챗봇 중 상기 생성된 질의에 응답하기 위한 챗봇이 없는 것으로 식별된 경우, 상기 획득된 제1 응답을 기반으로 상기 입력 질의에 대한 응답을 제공하는 단계;를 더 포함하는, 전자 장치의 제어 방법.
PCT/KR2021/012270 2020-10-08 2021-09-09 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법 WO2022075609A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21877861.1A EP4191435A4 (en) 2020-10-08 2021-09-09 ELECTRONIC QUESTION ANSWER APPARATUS USING MULTIPLE CHAT AGENTS AND METHOD FOR CONTROLLING THE SAME
CN202180065468.7A CN116324763A (zh) 2020-10-08 2021-09-09 使用多个聊天机器人进行问题应答的电子设备及其控制方法
US17/578,088 US12010074B2 (en) 2020-10-08 2022-01-18 Electronic apparatus for responding to question using multi chat-bot and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200130313A KR20220046964A (ko) 2020-10-08 2020-10-08 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법
KR10-2020-0130313 2020-10-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/578,088 Continuation US12010074B2 (en) 2020-10-08 2022-01-18 Electronic apparatus for responding to question using multi chat-bot and control method thereof

Publications (1)

Publication Number Publication Date
WO2022075609A1 true WO2022075609A1 (ko) 2022-04-14

Family

ID=81126617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012270 WO2022075609A1 (ko) 2020-10-08 2021-09-09 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법

Country Status (4)

Country Link
EP (1) EP4191435A4 (ko)
KR (1) KR20220046964A (ko)
CN (1) CN116324763A (ko)
WO (1) WO2022075609A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102604242B1 (ko) * 2023-05-15 2023-11-21 (주)페르소나에이아이 외부 모델과 연동하는 생성형 인공지능을 포함하는k-gpt 솔루션 기반의 전자 장치 및 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287968A1 (en) * 2017-04-03 2018-10-04 Microsoft Technology Licensing, Llc Conversation Bot Discovery and Response Fusion
KR20190057687A (ko) * 2017-11-20 2019-05-29 삼성전자주식회사 챗봇 변경을 위한 위한 전자 장치 및 이의 제어 방법
KR20190099761A (ko) * 2018-02-20 2019-08-28 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
KR102104503B1 (ko) * 2019-10-24 2020-04-24 주식회사 카카오 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
KR20200085143A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 외부 장치를 등록하는 대화형 제어 시스템 및 방법
KR20200130313A (ko) 2018-03-19 2020-11-18 가부시끼가이샤 도꾸야마 플라이 애시의 개질 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528632B2 (en) * 2016-07-19 2020-01-07 Microsoft Technology Licensing, Llc Systems and methods for responding to an online user query

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287968A1 (en) * 2017-04-03 2018-10-04 Microsoft Technology Licensing, Llc Conversation Bot Discovery and Response Fusion
KR20190057687A (ko) * 2017-11-20 2019-05-29 삼성전자주식회사 챗봇 변경을 위한 위한 전자 장치 및 이의 제어 방법
KR20190099761A (ko) * 2018-02-20 2019-08-28 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
KR20200130313A (ko) 2018-03-19 2020-11-18 가부시끼가이샤 도꾸야마 플라이 애시의 개질 방법
KR20200085143A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 외부 장치를 등록하는 대화형 제어 시스템 및 방법
KR102104503B1 (ko) * 2019-10-24 2020-04-24 주식회사 카카오 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4191435A4

Also Published As

Publication number Publication date
KR20220046964A (ko) 2022-04-15
EP4191435A4 (en) 2024-01-24
CN116324763A (zh) 2023-06-23
EP4191435A1 (en) 2023-06-07
US20220141160A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
WO2020222444A1 (en) Server for determining target device based on speech input of user and controlling target device, and operation method of the server
WO2021071115A1 (en) Electronic device for processing user utterance and method of operating same
WO2020060325A1 (ko) 전자 장치, 시스템 및 음성 인식 서비스 이용 방법
WO2019182325A1 (ko) 전자 장치 및 전자 장치의 음성 인식 제어 방법
WO2013022223A2 (en) Method for controlling electronic apparatus based on voice recognition and motion recognition, and electronic apparatus applying the same
WO2013022222A2 (en) Method for controlling electronic apparatus based on motion recognition, and electronic apparatus applying the same
WO2020222539A1 (en) Hub device, multi-device system including the hub device and plurality of devices, and method of operating the same
WO2021029627A1 (en) Server that supports speech recognition of device, and operation method of the server
WO2021040419A1 (en) Electronic apparatus for applying personalized artificial intelligence model to another model
WO2020032564A1 (en) Electronic device and method for providing one or more items in response to user speech
WO2019000466A1 (zh) 人脸识别方法、装置、存储介质及电子设备
WO2019203421A1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
WO2020263016A1 (ko) 사용자 발화를 처리하는 전자 장치와 그 동작 방법
WO2020218686A1 (en) Display device and controlling method of display device
WO2022075609A1 (ko) 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법
EP3635533A1 (en) Electronic apparatus for processing user utterance for controlling an external electronic apparatus and controlling method thereof
WO2020017827A1 (ko) 전자 장치, 및 전자 장치의 제어 방법
WO2021086127A1 (en) Hub device, multi-device system including the hub device and plurality of devices, and operating method of the hub device and multi-device system
WO2021167210A1 (ko) 서버, 전자 장치 및 그들의 제어 방법
WO2023163489A1 (ko) 사용자의 음성 입력을 처리하는 방법 및 이를 위한 장치
EP3479583A2 (en) Electronic device and method for updating channel map thereof
WO2021132889A1 (en) Electronic device and control method thereof
WO2022124637A1 (ko) 전자장치 및 그의 제어방법
WO2023080574A1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 이의 동작 방법
WO2019124775A1 (ko) 전자 장치 및 전자 장치에서 방송 콘텐트와 관련된 서비스 정보 제공 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21877861

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021877861

Country of ref document: EP

Effective date: 20230303

NENP Non-entry into the national phase

Ref country code: DE