WO2022158665A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2022158665A1
WO2022158665A1 PCT/KR2021/009276 KR2021009276W WO2022158665A1 WO 2022158665 A1 WO2022158665 A1 WO 2022158665A1 KR 2021009276 W KR2021009276 W KR 2021009276W WO 2022158665 A1 WO2022158665 A1 WO 2022158665A1
Authority
WO
WIPO (PCT)
Prior art keywords
external device
response
information
user
external
Prior art date
Application number
PCT/KR2021/009276
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 US17/510,454 priority Critical patent/US11915691B2/en
Publication of WO2022158665A1 publication Critical patent/WO2022158665A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device for obtaining a response corresponding to a user's utterance and a control method thereof.
  • An artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike the existing rule-based smart system, the machine learns, judges, and becomes smarter by itself. The more the AI system is used, the better the recognition rate and the more accurate understanding of user preferences, and the existing rule-based smart systems are gradually being replaced by deep learning-based AI systems.
  • the user may have a conversation with a personal assistant agent (eg, Bixby) installed in the device constituting the chat system, and may execute a function in the device or receive various services.
  • a user's need to receive a response even for a user's personalized utterance is increasing.
  • the existing user terminal could output a response only to a utterance set by the user, and could not output a response when an utterance not set by the user was input.
  • the user in order to receive a response to a personalized utterance, the user has to first set a response for each utterance. Accordingly, there is a need for a technology capable of outputting a response even to a utterance not previously set by the user.
  • One technical problem to be solved by the present invention is to provide an electronic device capable of acquiring response information to a user's personalized utterance.
  • an electronic device includes: a communication interface; a memory storing at least one instruction; and a processor, wherein the processor receives a text corresponding to the user's utterance and information on the first external device from a first external device through the communication interface, and transmits the text corresponding to the user's utterance to a first Obtaining a plurality of weights for a plurality of elements related to the first external device by input to the neural network model, information on the first external device, information on a plurality of external devices stored in the memory, and the plurality of weights identifies a second external device for obtaining response information to the user's utterance among the plurality of external devices based on receiving the first response information to the user's utterance from the second external device through the communication interface, and inputting the first response information and the information on the first external device into a second neural network model to enter the second neural network model
  • the plurality of elements associated with the first external device may include a first element related to a type of the first external device and a similarity between types of the plurality of external devices, and between the first external device and the plurality of external devices. It may include a second element relating to the distance of , and a third element relating to a relationship between the owner of the first external device and the user who uttered the user's utterance.
  • the processor is configured to: a plurality of scores for relevance of the first external device and each of the plurality of external devices based on the information on the first external device, the information on the plurality of external devices, and the plurality of weights , and the second external device having the highest score among the plurality of scores may be identified.
  • the first neural network model includes an intermediate model that is trained to predict a response to the text based on the text and information about the plurality of external devices, It can be learned to output weights for
  • the processor identifies a module for performing a function corresponding to the first response type included in the first response information, determines whether the identified module is included in the first external device, and based on the determination result to determine whether to convert the first response information into the second response information.
  • the processor may determine that conversion of the first response information is necessary.
  • the processor is configured to identify a first response type that cannot be output by the first external device from the first response information, and transmit information about the identified first response type and a specification of the first external device to the second response information.
  • the neural network model may obtain the second response type by input.
  • the second neural network model may include a second response information of the second response information based on a first response type of the first response information and modules that are not common among modules included in the first external device and the second external device. It can be learned to output a response type.
  • the information on the plurality of external devices may include at least one of information on types of the plurality of external devices, information on specifications of the plurality of external devices, and information on locations of the plurality of external devices. have.
  • the information on the first external device may include information on a relationship between a user who uttered the user utterance and an owner of the first external device, information on the type of the first external device, and specifications of the first external device. and information about a distance between the first external device and the plurality of external devices.
  • a method of controlling an electronic device comprising: receiving a text corresponding to a user's utterance and information on the first external device from a first external device; obtaining a plurality of weights for a plurality of elements related to the first external device by inputting text corresponding to the user's utterance into a first neural network model; Identifies a second external device for obtaining response information corresponding to the user's utterance from among the plurality of external devices based on the information on the first external device, the information on the plurality of external devices, and the plurality of weights and transmitting the user's utterance to the second external device; receiving first response information to the user's utterance from the second external device; obtaining second response information corresponding to the first external device by inputting the first response information and the information on the first external device into a second neural network model; and transmitting the second response information to the first external device.
  • the plurality of elements associated with the first external device may include a first element related to a type of the first external device and a similarity between types of the plurality of external devices, and between the first external device and the plurality of external devices. It may include a second element relating to the distance of , and a third element relating to a relationship between the owner of the first external device and the user who uttered the user's utterance.
  • the identifying of the second external device may include the first external device and each of the plurality of external devices based on the information on the first external device, the information on the plurality of external devices, and the plurality of weights. calculating a plurality of scores for the relevance of , and identifying the second external device having a highest score among the plurality of scores.
  • the first neural network model includes an intermediate model that is trained to predict a response to the text based on the text and information about the plurality of external devices, and outputs the plurality of weights for the plurality of elements.
  • the control method may include: identifying a module for performing a function corresponding to the first response type included in the first response information; determining whether the identified module is included in the first external device; and determining whether to convert the first response information into the second response information based on the determination result.
  • the electronic device may acquire response information to the user's personalized utterance. Accordingly, the user's satisfaction and convenience may be improved.
  • FIG. 1 is a diagram for explaining a concept of a conversation system according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a configuration of a conversation system according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a method of identifying a response generating apparatus according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining a method of learning a weight acquisition model according to an embodiment of the present disclosure.
  • 5A is a diagram for explaining a method for generating a response according to an embodiment of the present disclosure.
  • 5B is a diagram for describing a method for determining whether response conversion is required according to an embodiment of the present disclosure.
  • 5C is a diagram for explaining a response conversion method according to an embodiment of the present disclosure.
  • 5D is a diagram for explaining a response conversion method according to another embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining a method of learning a response transformation model according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating an operation of an electronic device according to an embodiment of the present disclosure.
  • FIG. 8 is a sequence diagram illustrating a conversation system according to an embodiment of the present disclosure.
  • FIG. 9 is a sequence diagram illustrating a conversation system according to another embodiment of the present disclosure.
  • Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, and it should be understood to include all transformations, equivalents and substitutions included in the spirit and scope of the disclosure. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.
  • the conversation system may include the electronic device 100 , the first external device 210 , and the second external device 220 .
  • the first external device 210 is a device that has not been personalized
  • the second external device 220 is a device that has not been personalized. Accordingly, even if the user's utterance is the same, the first external device 210 may not generate a response intended by the user, whereas the second external device 220 may generate a response intended by the user.
  • personalization may mean a process in which the device is learned to correspond to the user 1 .
  • the first external device 210 may acquire the user's utterance 11 from the user 1 . When the user utterance 11 is obtained, the first external device 210 may determine whether a response to the user utterance 11 can be generated. If the user utterance 11 is a general utterance responded to by the first electronic device 210 , the first electronic device 210 may generate and output a response to the user utterance 11 . However, if the user utterance 11 is not a general utterance, the first external device 210 may transmit the user utterance 11 and information 12 on the first external device 210 to the electronic device 100 . .
  • the information 12 on the first external device 210 includes information about the relationship between the user 1 and the user (or owner) of the first external device 210 , and the specification of the first external device 210 . It may include at least one of information and information on a distance between the first external device 210 and other external devices.
  • the electronic device 100 includes a second external device 220 among a plurality of other external devices capable of communicating with the electronic device 100 based on the user's utterance 11 and the information 12 on the first external device 210 . can be identified. At this time, the electronic device 100 selects the device having the highest relevance to the first external device 210 based on the user utterance 11 and the information 12 on the first external device 210 to the second external device ( 220) can be identified.
  • the electronic device 100 may transmit the user's utterance 11 to the second external device 220 .
  • the second external device 220 that has been personalized may acquire the first response information 21 based on the user's utterance 11 .
  • the second external device 220 may transmit the first response information 21 to the electronic device 100 .
  • the first response information 21 may include a first response type and a first response content.
  • the first external device 210 and the second external device 220 may have different hardware specifications. Accordingly, the first response information 21 generated by the second external device 220 needs to be converted. There may be For example, since the size of the display of the second external device 220 is smaller than a preset value, it may not be possible to display a message including a plurality of texts. Accordingly, the first response information 21 generated by the second external device 220 may not include information about a response for displaying a message. The size of the display of the first external device 210 may be larger than a preset value, so that a message may be displayed. In such a situation, when the first external device 210 provides feedback including a message display, satisfaction or convenience of the user 1 may be improved.
  • the electronic device 100 may obtain the second response information 22 by converting the first response information 21 .
  • the second response information 22 may include information about a response for displaying a message.
  • the electronic device 100 may transmit the second response information 22 to the first external device 210 .
  • the first external device 210 may generate and output a response based on the second response information 22 .
  • the first external device 210 may output the voice feedback 24 while displaying the response message 23 . That is, the first external device 210 can output a personalized response corresponding to the user's utterance 11 .
  • the conversation system 1000 may include the electronic device 100 , the first external device 210 , and the second external device 220 .
  • Each of the electronic device 100 , the first external device 210 , and the second external device 220 may be a smart phone, a smart speaker, a tablet PC (Personal Computer), or a smart TV (Television).
  • each device is not limited to the above-described examples.
  • the first external device 210 may acquire the user's utterance.
  • the first external device 210 may perform a function corresponding to the user's utterance by performing natural language processing (NLP) on the user's utterance, and may output a response.
  • NLP natural language processing
  • the first external device 210 may include a natural language processing module 211 .
  • the natural language processing module 211 includes a speech recognition module, a natural language understanding module, a dialog management module, a natural language generation module, and a speech synthesis module (Speech). Synthesis module) can be included.
  • the first external device 210 may determine whether it is necessary to personalize the first external device 210 using the personalization determination module 212 .
  • personalization may mean a process in which the first external device 210 is learned to correspond to a user.
  • the personalization determination module 212 may determine whether the first external device 210 needs to be personalized based on whether the natural language processing module 211 can process the user's utterance. For example, when the language understanding module included in the natural language processing module 211 cannot process (or understand) the user's utterance because personalization is not completed, the personalization determination module 212 is configured to Personalization may be necessary.
  • the first external device 210 may request response information corresponding to the user's utterance from the electronic device 100 using the response request module 213 .
  • the response request module 213 may transmit the text corresponding to the user's utterance obtained through the natural language processing module 211 and information on the first external device 210 to the electronic device 100 .
  • the information on the first external device 210 includes information on the type or specification of the first external device 210 (eg, the presence or absence of a display, etc.), the user of the first external device 210 and other external devices. It may include information on relevance with users (eg, intimacy) and information on a distance between the first external device 210 and other external devices.
  • Information on the first external device 210 may be acquired by the information acquisition module 214 .
  • the information acquisition module 214 may acquire information on the first external device 210 in various ways. As an example, the information acquisition module 214 may identify information about the specification of the first external device 210 stored in advance in the first external device 210 . As another example, the information obtaining module 214 may perform user authentication to identify a user, and obtain information about a relationship between the identified user and owners (or registered users) of other external devices. Relevance may be highest when the identified user and the owner of the other external device are the same. To perform user authentication, the information obtaining module 214 may include a user authentication module. As another example, the information acquisition module 214 may acquire information on a distance between the first external device 210 and other external devices using a distance measuring sensor. The first external device 210 may be referred to as a response request device.
  • the response output module 215 may receive response information corresponding to the user's utterance from the electronic device 100 .
  • the response information may include a type or form of a response, response content, and a control command for controlling the first external device 210 .
  • the response output module 215 may obtain and output a response based on response information.
  • the learning module 216 may perform an operation for learning the first external device 210 based on the obtained response and the user's utterance.
  • the learning module 216 may learn the natural language processing module 211 by using the user utterance and a response corresponding to the user utterance as learning data.
  • parameters or weights of the natural language processing module 211 may be updated.
  • the first external device 210 on which learning is completed ie, personalization is completed
  • the first external device 210 may obtain a response corresponding to the user's utterance from the electronic device 100 .
  • the electronic device 100 may obtain a response corresponding to the user's utterance based on the user's utterance received from the first external device 210 and information on the first external device 210 .
  • the operation of the electronic device 100 will be described.
  • the electronic device 100 may include a communication interface 110 , a memory 120 , and a processor 130 .
  • the electronic device 100 may be a smart speaker, a smart TV, a tablet PC, or a smart phone.
  • the electronic device 100 may be referred to as a hub device.
  • each configuration of the electronic device 100 will be described.
  • the communication interface 110 includes at least one circuit and may communicate with various types of external devices or external servers. For example, the communication interface 110 may receive a user's utterance from the first external device 210 . Also, the communication interface 110 may transmit the user's utterance to the second external device 220 .
  • the communication interface 110 may perform data communication wirelessly or by wire.
  • the communication interface 110 is a Wi-Fi communication module, a cellular communication module, a 3G (3rd generation) mobile communication module, 4G It may include at least one of a (4th generation) mobile communication module, a 4th generation Long Term Evolution (LTE) communication module, and a 5G (5th generation) mobile communication module.
  • the communication interface 110 may perform communication in a different manner from each of the first external device 210 and the second external device 220 .
  • the communication interface 110 communicates with the first external device 210 in a first communication method (eg, Wi-Fi), and communicates with the second external device 220 in a second communication method (eg, Bluetooth). communication can be performed.
  • a first communication method eg, Wi-Fi
  • a second communication method eg, Bluetooth
  • the memory 120 may store an operating system (OS) for controlling overall operations of the components of the electronic device 100 and commands or data related to the components of the electronic device 100 .
  • OS operating system
  • the memory 120 may store information on the first external device 210 and the second external device 220 .
  • Each of the information on the first external device 210 and the second external device 220 may include information about the specifications of each of the first external device 210 and the second external device 220 or information about a user. have.
  • the memory 120 may store location information of each of the other external devices around the electronic device 100 .
  • the memory 120 may store information on modules for performing functions corresponding to various response types.
  • the module may include a hardware module (eg, a natural language processing module) and a software module (eg, a touch display).
  • the memory 120 may be implemented as a non-volatile memory (eg, a hard disk, a solid state drive (SSD), a flash memory), a volatile memory, or the like.
  • the processor 130 may control the overall operation of the electronic device 100 .
  • the processor 130 includes a natural language processing module 131 , a relevance acquiring module 132 , a response generating device identification module 133 , a response requesting module 134 , a response acquiring module 135 , a weight acquiring model M1 and a response A transformation model M2 may be included.
  • the natural language processing module 131 may perform natural language processing on the user's utterance similarly to the natural language processing module 211 of the first external device 210 . Since the natural language processing module 131 corresponds to the natural language processing module 211 , a detailed description thereof will be omitted.
  • a plurality of external devices capable of communicating with the electronic device 100 may exist.
  • the electronic device 100 identifies an external device (eg, the second external device 220 ) having the highest relevance (or similarity) with the first external device 210 among the plurality of external devices, and Response information corresponding to the user's utterance may be acquired from the external device.
  • the electronic device 100 may acquire a relevance score between the first external device 210 and other external devices by using the relevance acquisition module 132 .
  • the relevance obtaining module 132 may obtain a weight for each of a plurality of elements related to the first external device 210 by inputting the user's utterance into the weight obtaining model M1 .
  • the plurality of elements related to the first external device 210 include a first element related to a characteristic (eg, type or specification) of the first external device and similarity of characteristics of other external devices, and the first external device 210 . and a second factor related to the distance between the external devices and a third factor related to a relationship between the owner (or registered user) of the first external device 210 and the user.
  • the weight acquisition model M1 is a learned neural network model, and may be trained to receive a user's utterance and output a weight for each of a plurality of elements indicating relevance.
  • the relevance acquisition module 132 may calculate a relevance score based on information and weights on the first external device 210 and other external devices.
  • the first external device 210 and the second external device 220 may be a speaker, and the third external device may be a TV.
  • the weight of the first element is the largest among the weights of each of the plurality of elements indicating relevance
  • the relevance score for the second external device 220 may be greater than the relevance score for the third external device.
  • the response generating device identification module 133 may identify the response generating device among a plurality of external devices based on the relevance score. For example, the response generating device identification module 133 may identify the second external device 220 having the highest relevance score with the first external device 210 .
  • the response request module 134 may control the communication interface 110 to transmit a response request corresponding to the user's utterance to the second external device 220 . In this case, the communication interface 110 may transmit the user's utterance received from the first external device 210 to the second external device 220 .
  • the second external device 220 is a device in which user personalization has been completed, and may obtain response information corresponding to the user's utterance by using the natural language processing module 221 .
  • the speech recognition module 22 like the natural language processing module 211 of the first external device 210, includes a speech recognition module, a natural language understanding module, and a dialog management module. module), a natural language generation module, and a speech synthesis module.
  • the parameter value of the language understanding module of the second external device 220 may be different from the parameter value of the language understanding module of the first external device 210 .
  • the response obtaining module 135 may receive response information corresponding to the user's utterance from the second external device 220 through the communication interface 110 .
  • the response information may include a first response type (or 'selection event') that displays selectable UI elements and response content corresponding to the first response type (eg, "Alarm 1: 7:00", “ Alarm 2: 7:30").
  • the response information may include a second response type (eg, voice feedback) and a response message corresponding to the second response type (eg, "Which alarm should I turn on?).
  • the response acquisition module 135 may control the communication interface 110 to transmit the received response information to the first external device 210.
  • the first external device 210 transmits the response information received from the electronic device 100 to the user's utterance. Corresponding functions can be performed.
  • the first external device 210 and the second external device 220 may be different types of devices.
  • the first external device 210 may be a speaker without a display
  • the second external device 220 may be a TV.
  • the first external device 210 may not be able to perform a function corresponding to the response information obtained by the second external device 220 .
  • the response information obtained by the second external device 220 includes a response type that displays a selectable UI element
  • the first external device 210 does not include a display, so a function corresponding to the response information may not be able to perform
  • the first external device 210 may be a TV, and the second external device 220 may be a speaker without a display.
  • the first external device 210 may receive response information including the voice feedback obtained by the second external device 220 through the electronic device 100 . Since the first external device 210 includes a speaker, it may perform a function corresponding to the response information obtained by the second external device 220 (ie, output a voice message). However, if the first external device 210 can output a response to the user using the display, the user's satisfaction or convenience may be further improved. For example, the first external device 210 displays a selectable UI element (eg, "Alarm 1: 7:00", "Alarm 2: 7:30") while displaying a voice message (eg, "What alarm Can I turn it on?).
  • a selectable UI element eg, "Alarm 1: 7:00", "Alarm 2: 7:30
  • voice message eg, "What alarm Can I turn it on?
  • the response obtaining module 135 may acquire new response information by converting the response information received from the second external device 220 .
  • the response obtaining module 135 converts the response type and response content based on the response information received from the second external device 220 and information (eg, specification information) on the first external device 210 . can do.
  • the response obtaining module 135 inputs the first response information received from the second external device 220 and the information on the first external device 210 into the response transformation model M2 to the first external device ( The second response information corresponding to 210) may be obtained.
  • the response transformation model M2 is a learned neural network model, and may be trained to receive information and response information on a specific device and output response information corresponding to the specific device.
  • the response obtaining module 135 may select only some of the response information received from the second external device 220 and input it into the response transformation model M2. For example, the response obtaining module 135 may identify a response type that the first external device 210 cannot perform and a response content corresponding to the response type among the received response information. The response acquisition module 135 may acquire new response information by inputting the identified response type and response content, and information on the first external device 210 into the response transformation model M2. The response obtaining module 135 may control the communication interface 110 to transmit new response information to the first external device 210 .
  • the response obtaining module 135 may determine whether it is necessary to transform the first response information. For example, the response obtaining module 135 may determine whether it is necessary to convert the first response information by comparing the specification information of the first external device 210 with the specification information of the second external device 220 . have. For example, when the first external device 210 includes a display and the second external device 220 does not include a display, the response obtaining module 135 may determine that it is necessary to convert the first response information. .
  • the response obtaining module 135 may determine whether it is necessary to convert the first response information based on the information on the first external device 210 and the first response information. Specifically, the response acquisition module 135 identifies a module for performing a function corresponding to the first response type included in the first response information, based on information on modules for each response type stored in the memory 120 . can do. In addition, the response obtaining module 135 may determine whether the identified module is included in the first external device 210 based on the information on the first external device 210 . At this time, if the identified module is not included in the first external device 210 , the response obtaining module 135 may determine that it is necessary to convert the first response information.
  • the weight acquisition model M1 may be implemented as a random forest (RF), and the response transformation model M2 may be implemented as a Convolution Neural Network (CNN) model.
  • CNN Convolution Neural Network
  • the weight acquisition model M1 and the response transformation model M2 are a deep neural network (DNN), a recurrent neural network (RNN), and a generative adversarial neural network (Generative).
  • Adversarial Networks (GAN) may be implemented as at least one artificial neural network model.
  • each of the modules 131 to 135 and models M1 and M2 of the electronic device 100 has been described as a configuration of the processor 130 , but this is only an example, and the modules 131 to 135 and models (M1, M2) may be stored in the memory 120.
  • the processor 130 loads the modules 131 to 135 and the models M1 and M2 stored in the memory 120 from the non-volatile memory to the volatile memory to each of the plurality of modules 131 to 135 . functions can be executed.
  • each module of the processor 130 may be implemented as software or may be implemented in a form in which software and hardware are combined.
  • the electronic device 100 inputs the user utterance 31 received from the response requesting device 310 into the weight acquisition model M1 to obtain a weight 32 for each of a plurality of elements related to the response requesting device 310 . can do.
  • the electronic device 100 may identify a response generating device that will generate a response to the user's utterance 31 among the plurality of external devices 321 and 322 based on the weights 32 .
  • the electronic device 100 compares the information on the response requesting device 310 with the information on the external devices 321 and 322 to determine the relationship between the response requesting device 310 and the external devices 321 and 322 for each element. can be obtained. For example, the electronic device 100 may compare the type of the response request device 310 with the types of the external devices 321 and 322 to obtain the relevance of the first element.
  • the first device 321 is a smart speaker without a display and the second device 322 is a tablet PC including a display
  • the response request device 310 and the first element of the second device 322 are The related relation may be greater than the relation related to the first element of the response requesting device 310 and the first device 321 .
  • the electronic device 100 may acquire the relevance of the second element based on the distance between the response requesting device 310 and the external devices 321 and 322 .
  • the first distance d1 between the response requesting device 310 and the first device 321 is less than the second distance d2 between the response requesting device 310 and the second device 322, the second element
  • the relevance of the first device 321 may be greater than that of the second device 322 .
  • the electronic device 100 may calculate a relevance score for each of the external devices 321 and 322 based on the relevance for each element and the weight 32 for each element. In addition, the electronic device 100 may identify a device having the highest relevance score among the external devices 321 and 322 as the response generating device. For example, when the weight of the first element is greater than the weight of the second element, the relevance score of the second device 322 may be greater than the relevance score of the first device 321 . In this case, the electronic device 100 may identify the second device 322 as a response generating device.
  • the user utterance 31 may be text corresponding to an audio signal, but is not limited thereto, and may be a vector generated based on an audio signal or text.
  • the electronic device 100 may obtain a text corresponding to the user utterance 31 using a natural language processing module, and input the obtained text into the weight acquisition model M1. have.
  • the electronic device 100 In order for the electronic device 100 to acquire an accurate response to the user's utterance 31 , it is necessary to accurately acquire a relation between the response requesting device 310 and the external devices 321 and 322 . For this, the performance of the learned weight acquisition model M1 is important. Hereinafter, a learning method of the weight acquisition model M1 will be described.
  • the training data 40 of the weight acquisition model M1 includes a user utterance 41, a first relevance feature 41-1, a second relevance feature 41-2, a third relevance feature 41-3, and a user It may consist of a response 41-4 corresponding to the utterance 41 .
  • the first relevance feature 41-1 may be related to information about the type or specification of the response request device.
  • the second relevance feature 41 - 2 may be associated with information about a distance between the response requesting device and the response generating device.
  • the third relevance feature 41-3 may be associated with information about the user of the response requesting device.
  • the weight acquisition model M1 may include a random forest model 410 and a statistical base 420 .
  • the random forest model 410 is an intermediate model for acquiring feature importance indicating how much various information affects response generation.
  • the statistical base 420 is a space for storing weights for each element obtained in the learning process of the random forest model 410 .
  • the random forest model 410 includes a plurality of data sets (eg, dataset 1, dataset) each including the first to third relevance features 41-1, 41-2, and 41-3 corresponding to the user utterance 41 . 2, can be trained to predict responses 41-4 based on dataset 3).
  • the electronic device 100 may acquire the feature importance 42 for each relevance feature included in each data set in the learning process of the random forest model 410 .
  • the electronic device 100 may calculate the feature importance 42 based on the cross entropy and the Gini importance.
  • the electronic device 100 may calculate a normalized value corresponding to the feature importance 42 , and the calculated normalized value may be a weight 43 for each element.
  • the electronic device 100 may update the statistics base 420 by storing the weight 43 in the statistics base 420 .
  • the electronic device 100 may input the user's utterance to the weight acquisition model M1 for which learning has been completed.
  • the learned weight acquisition model M1 may identify and output a weight corresponding to the user's utterance from the statistical base 420 .
  • the electronic device 100 may obtain information on the specification of the response requesting device ( S510 ) and receive first response information from the response generating device ( S520 ).
  • the electronic device 100 may identify a module for performing a function corresponding to the first response type included in the first response information (S530).
  • the first response information 51 may include a first response type 52 and a first response content 53 .
  • the electronic device 100 may identify a module 54 for performing a function corresponding to the first response type 52 by comparing the response type 52 with the device feature database 50 .
  • the electronic device 100 may identify a display module for performing a function corresponding to the 1-1 response type ('selection').
  • the electronic device 100 may identify a Text To Speech (TTS) module for performing a function corresponding to the 1-2 response type ('speech').
  • TTS Text To Speech
  • the device feature database 50 may store a response type and information on a module or device specification required to perform a function corresponding to the response type.
  • the 1-1 response type ('selection') and the display module may be matched with each other and stored in the device feature database 50 .
  • the 1-2 response type ('speech') and the Text To Speech (TTS) module may be matched with each other and stored in the device feature database 50 .
  • the device feature database 50 may be previously stored in the memory 120 .
  • the electronic device 100 may determine whether the response request device includes the identified module (S540). Then, the electronic device 100 may determine whether the response requesting device can perform a function corresponding to each response type based on whether the response requesting device includes the identified module. In FIG. 5B , when the response requesting device does not include a display module, the electronic device 100 may determine that the response requesting device cannot perform a function corresponding to the 1-1 response type ('selection'). . On the other hand, when the response requesting device includes the TTS module, the electronic device 100 may determine that the response requesting device can perform a function corresponding to the 1-2 response type ('speech').
  • the electronic device 100 When it is determined that the response requesting device does not include the identified module (S540-N), the electronic device 100 inputs the first response information and the information on the specification of the response requesting device to the second neural network model to receive the second response information. can be obtained (S550). Then, the electronic device 100 may generate a response based on the second response information (S560). Referring to FIG. 5C , the electronic device 100 obtains the second response information 56 by inputting the first response information 51 and the information 55 on the specification of the response requesting device into the response transformation model M2. can do. Meanwhile, the electronic device 100 may select information on some response types from among the first response information 51 , and input information on the selected partial response types into the response transformation model M2 . For example, the electronic device 100 may input information on the 1-1 response type ('selection') that the response request device cannot output into the response conversion model M2 .
  • the electronic device 100 inputs the 1-1 response type ('selection') that the response request device cannot output into the response conversion model
  • the electronic device 100 may generate a response based on the first response information (S570).
  • the electronic device 100 may obtain new response information by converting response information even if the response requesting device includes the identified module. For example, even when the first response information includes voice feedback and the electronic device 100 includes a display module and a natural language processing module, the electronic device 100 acquires new response information having a response type corresponding to the display module can do. Referring to FIG. 5C , the electronic device 100 obtains the second response information 56 by inputting the first response information 51 and the information 55 on the specification of the response requesting device into the response transformation model M2. can do.
  • the electronic device 100 includes a module for performing a function corresponding to the response type (ie, 'speech') included in the first response information 52, the second response information 56 is can be obtained Accordingly, a user's satisfaction or convenience may be improved.
  • the response type ie, 'speech'
  • the training data of the response transformation model M2 may include information on the first response type 61-1, information on the second response type 61-2, and information on the non-common module 62. .
  • the non-common module 62 means a module that is not commonly included in any two devices. For example, when the first device is a speaker that does not include a display and the second device is a display, the non-common module 62 may mean a display module.
  • the response transformation model M2 may be trained to output information about the second response type 61-2 based on the information on the first response type 61-1 and the information on the non-common module 62. have.
  • the electronic device 100 may receive a user utterance and a response request (S710).
  • the electronic device 100 may receive a user utterance and a response request from a response requesting device (eg, the first external device 210 of FIG. 1 ).
  • the electronic device 100 may acquire the association between the response requesting device and the external device (S720).
  • the electronic device 100 may input a user's utterance into the first neural network model (eg, the weight acquisition model M1 of FIG. 1 ) to acquire a weight for an element indicating the relationship between the response request device and the external device.
  • the electronic device 100 may calculate a relevance score based on information on the response request device and a weight.
  • Information on the response requesting device may be stored in the memory of the electronic device 100 or may be received together when a response request is received from the response requesting device.
  • the electronic device 100 may identify the response generating device based on the relationship between the response requesting device and the external device ( S730 ).
  • the electronic device 100 may identify the external device having the highest relevance score with the response requesting device among the plurality of communicable external devices as the response generating device (eg, the second external device 220 of FIG. 1 ).
  • the electronic device 100 may request response information from the response generating device (S740). In this case, the electronic device 100 may transmit the user's utterance received from the response requesting device to the response generating device.
  • the electronic device 100 may receive response information from the response generating device (S750).
  • the response information may include a response type and response content.
  • the electronic device 100 may determine whether a response conversion is required (S760).
  • the electronic device 100 may identify a response type included in the received response information.
  • the electronic device 100 may determine whether a component (or module) capable of performing a function corresponding to the identified response type is included in the response requesting device based on the information on the response requesting device. have. At this time, if a component capable of performing a function corresponding to the response type is not included in the response requesting device, the response obtaining module 135 may determine that response conversion is necessary. If a component capable of performing a function corresponding to the response type is included in the response requesting device, the response obtaining module 135 may determine that response transformation is not required.
  • the electronic device 100 may determine whether response conversion is necessary by comparing information on the specification of the response requesting device with information on the specification of the response generating device. For example, when the response requesting device includes a display and the response generating device does not include a display, the electronic device 100 may determine that response conversion is required. Alternatively, even when the response requesting device does not include a display and the response generating device includes a display, the electronic device 100 may determine that response conversion is necessary.
  • the electronic device 100 may transmit the received response information to the response request device (S770). If it is determined that response conversion is necessary (S760-Y), the electronic device 100 may obtain new response information by converting the response information (S780). For example, the electronic device 100 inputs the information on the response requesting device and the first response information received from the response generating device into the second neural network model (eg, the response transformation model M2 of FIG. 1 ) to request a response Second response information corresponding to the device may be acquired. Then, the electronic device 100 may transmit the second response information to the response request device.
  • the second neural network model eg, the response transformation model M2 of FIG. 1
  • the response request device 210 may acquire the user's utterance (S811).
  • the response request apparatus 210 may obtain a text corresponding to the user's utterance by using the voice recognition module. Then, the response request device 210 may determine whether personalization is necessary (S812). When the response requesting device 210 can understand and process the obtained text, the response requesting device 210 may determine that personalization is not necessary and generate response information corresponding to the user's utterance (S843). In this case, the response request device 210 may generate response information using the natural language processing module.
  • the response requesting device 210 may determine that personalization is necessary and request a response from the hub device 100 (S813). In this case, the response requesting device 210 may transmit a text corresponding to the user's utterance and information on the response requesting device 210 to the hub device 100 .
  • the hub device 100 may identify the response generating device based on the received text and information on the response requesting device 210 ( S821 ). As described above, the hub device 100 may identify the response generating device 220 using the weight acquisition model M1. Then, the hub device 100 may request a response from the response generating device 220 (S822). In this case, the hub device 100 may transmit a text corresponding to the user's utterance to the response generating device 220 .
  • the response generating apparatus 220 may generate response information based on the received text (S831).
  • the response generating apparatus 220 may understand the received text based on the natural language processing module and may generate response information for the received text. Then, the response generating device 220 may transmit the generated response information to the hub device 100 (S832).
  • the hub device 100 may convert the received response information into a form that can be output by the response request device 210 (S841). As described above, the hub device 100 may convert response information using the response transformation model M2. Then, the hub device 100 may transmit the converted response information to the response request device 210 (S842). Meanwhile, the hub device 100 may determine the need for response information conversion, and if it is determined that response information conversion is unnecessary, the hub device 100 may transmit the response information to the response request device 210 as it is without converting the response information.
  • the response request device 210 may generate and output a response based on response information received from the hub device 100 ( S851 ). Then, the response requesting device 210 may perform a personalized learning operation for learning the natural language processing module stored in the response requesting device 210 (S861). In particular, the response request apparatus 210 may learn the language understanding module based on the text corresponding to the user's utterance and response information. Accordingly, when the user's utterance is acquired after the language understanding module has completed learning, the response requesting device 210 may acquire response information without the hub device 100 and the response generating device 220 .
  • the response information conversion operation S951 may be performed by the response requesting device 210 .
  • the response request device 210 may acquire new response information by converting response information received from the hub device 100 .
  • the response transformation model M2 may be stored in the response request device 210 .
  • the response requesting device 210 may obtain new response information by inputting the received response information and information on the specification of the response requesting device 210 into the response transformation model M2.
  • the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented by the processor itself.
  • embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • the processing operation according to the various embodiments described above may be performed by a specific device.
  • the non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave). It does not distinguish the case where it is stored as
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg smartphones).
  • a portion of the computer program product eg, a downloadable app
  • a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Electrotherapy Devices (AREA)
  • Telephone Function (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치가 개시된다. 본 개시에 따른 전자 장치는 프로세서를 포함하고, 프로세서는, 제1 외부 장치로부터 사용자 발화에 대응되는 텍스트 및 제1 외부 장치에 대한 정보를 수신하고, 사용자 발화에 대응되는 텍스트를 제1 신경망 모델에 입력하여 제1 외부 장치와 관련된 복수의 요소에 대한 복수의 가중치를 획득하고, 제1 외부 장치에 대한 정보 및 복수의 가중치를 바탕으로 제2 외부 장치를 식별하고, 제2 외부 장치로 사용자 발화를 전송하고, 제2 외부 장치로부터 사용자 발화에 대한 제1 응답 정보를 수신하고, 제1 응답 정보 및 제1 외부 장치에 대한 정보를 제2 신경망 모델에 입력하여 제2 응답 정보를 획득하고, 제2 응답 정보를 제1 외부 장치로 전송할 수 있다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법으로, 보다 상세하게는, 사용자 발화에 대응되는 응답을 획득하는 전자 장치 및 그 제어 방법에 관한 것이다.
본 출원은 2021년 1월 19일에 출원된 대한민국 특허출원 제10-2021-0007580호에 기초하여 우선권을 주장하며, 해당 출원의 모든 내용은 그 전체가 본 출원에 레퍼런스로 포함된다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
근래에는, 인공지능을 이용한 대화 시스템이 활발히 이용되고 있다. 사용자는 대화 시스템을 구성하는 장치에 설치된 개인 비서 에이전트(예로, 빅스비)와 대화를 하며 장치 내 기능을 실행시키거나 다양한 서비스를 제공받을 수 있다. 최근에는 사용자의 개인화된 발화에 대해서도 응답을 제공받고자 하는 사용자의 니즈가 증대되고 있다. 한편, 기존의 사용자 단말은 사용자에 의해 설정된 발화에 대해서만 응답을 출력할 수 있었으며, 사용자에 의해 설정되지 않은 발화가 입력되면 응답을 출력할 수 없었다. 따라서, 사용자는 개인화된 발화에 대한 응답을 제공받기 위해서는 먼저 각 발화 별 응답을 직접 설정해야하는 번거로움이 있었다. 이에 따라, 사용자에 의해 미리 설정되지 않은 발화에 대해서도 응답을 출력할 수 있는 기술의 필요성이 대두된다.
본 발명이 해결하고자 하는 일 기술적 과제는, 사용자의 개인화된 발화에 대한 응답 정보를 획득할 수 있는 전자 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
본 개시의 일 실시 예에 따르면, 전자 장치에 있어서, 통신 인터페이스; 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 통신 인터페이스를 통해 제1 외부 장치로부터 사용자 발화에 대응되는 텍스트 및 상기 제1 외부 장치에 대한 정보를 수신하고, 상기 사용자 발화에 대응되는 텍스트를 제1 신경망 모델에 입력하여 상기 제1 외부 장치와 관련된 복수의 요소에 대한 복수의 가중치를 획득하고, 상기 제1 외부 장치에 대한 정보, 상기 메모리에 저장된 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 복수의 외부 장치들 중 상기 사용자 발화에 대한 응답 정보를 획득하기 위한 제2 외부 장치를 식별하고, 상기 제2 외부 장치로 상기 사용자 발화에 대응되는 텍스트를 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 제2 외부 장치로부터 상기 사용자 발화에 대한 제1 응답 정보를 수신하고, 상기 제1 응답 정보 및 상기 제1 외부 장치에 대한 정보를 제2 신경망 모델에 입력하여 상기 제1 외부 장치에 대응되는 제2 응답 정보를 획득하고, 상기 제2 응답 정보를 상기 제1 외부 장치로 전송하도록 상기 통신 인터페이스를 제어하는 전자 장치가 제공될 수 있다.
상기 제1 외부 장치와 관련된 상기 복수의 요소는, 상기 제1 외부 장치의 유형과 및 상기 복수의 외부 장치들의 유형들의 유사성과 관련된 제1 요소, 상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 관한 제2 요소, 및 상기 제1 외부 장치의 소유자와 상기 사용자 발화를 발화한 사용자의 관계에 관한 제3 요소를 포함할 수 있다.
상기 프로세서는, 상기 제1 외부 장치에 대한 정보, 상기 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 제1 외부 장치와 상기 복수의 외부 장치들 각각의 관련성에 대한 복수의 점수를 산출하고, 상기 복수의 점수 중 가장 높은 점수를 갖는 상기 제2 외부 장치를 식별할 수 있다.
상기 제1 신경망 모델은, 상기 텍스트와 상기 복수의 외부 장치에 대한 정보를 바탕으로 상기 텍스트에 대한 응답을 예측하도록 학습되는 중간 모델을 포함하며, 상기 예측된 응답에 영향을 주는 복수의 요소 각각에 대한 가중치를 출력하도록 학습될 수 있다.
상기 프로세서는, 상기 제1 응답 정보에 포함된 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별하고, 상기 식별된 모듈이 상기 제1 외부 장치에 포함되는지 판단하고, 상기 판단 결과를 바탕으로 상기 제1 응답 정보를 상기 제2 응답 정보로 변환할 지 여부를 판단할 수 있다.
상기 프로세서는, 상기 제1 외부 장치의 유형 정보와 상기 제2 외부 장치의 유형 정보가 상이하면, 상기 제1 응답 정보의 변환이 필요하다고 판단할 수 있다.
상기 프로세서는, 상기 제1 응답 정보에서 상기 제1 외부 장치가 출력할 수 없는 제1 응답 유형을 식별하고, 상기 식별된 제1 응답 유형과 상기 제1 외부 장치의 스펙에 대한 정보를 상기 제2 신경망 모델이 입력하여 제2 응답 유형을 획득할 수 있다.
상기 제2 신경망 모델은, 상기 제1 응답 정보의 제1 응답 유형과 상기 제1 외부 장치 및 상기 제2 외부 장치에 포함된 모듈 중 서로 공통되지 않는 모듈을 바탕으로 상기 제2 응답 정보의 제2 응답 유형을 출력하도록 학습될 수 있다.
상기 복수의 외부 장치들에 대한 정보는, 상기 복수의 외부 장치의 유형에 대한 정보, 상기 복수의 외부 장치의 스펙에 대한 정보 및 상기 복수의 외부 장치의 위치에 대한 정보 중 적어도 하나를 포함할 수 있다.
상기 제1 외부 장치에 대한 정보는, 상기 사용자 발화를 발화한 사용자와 상기 제1 외부 장치의 소유자의 관계에 대한 정보, 상기 제1 외부 장치의 유형에 대한 정보, 상기 제1 외부 장치의 스펙에 대한 정보 및 상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 대한 정보 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법에 있어서, 제1 외부 장치로부터 사용자 발화에 대응되는 텍스트 및 상기 제1 외부 장치에 대한 정보를 수신하는 단계; 상기 사용자 발화에 대응되는 텍스트를 제1 신경망 모델에 입력하여 상기 제1 외부 장치와 관련된 복수의 요소에 대한 복수의 가중치를 획득하는 단계; 상기 제1 외부 장치에 대한 정보, 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 복수의 외부 장치들 중 상기 사용자 발화에 대응되는 응답 정보를 획득하기 위한 제2 외부 장치를 식별하고, 상기 제2 외부 장치로 상기 사용자 발화를 전송하는 단계; 상기 제2 외부 장치로부터 상기 사용자 발화에 대한 제1 응답 정보를 수신하는 단계; 상기 제1 응답 정보 및 상기 제1 외부 장치에 대한 정보를 제2 신경망 모델에 입력하여 상기 제1 외부 장치에 대응되는 제2 응답 정보를 획득하는 단계; 및 상기 제2 응답 정보를 상기 제1 외부 장치로 전송하는 단계;를 포함하는 제어 방법이 제공될 수 있다.
상기 제1 외부 장치와 관련된 상기 복수의 요소는, 상기 제1 외부 장치의 유형과 및 상기 복수의 외부 장치들의 유형들의 유사성과 관련된 제1 요소, 상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 관한 제2 요소, 및 상기 제1 외부 장치의 소유자와 상기 사용자 발화를 발화한 사용자의 관계에 관한 제3 요소를 포함할 수 있다.
상기 제2 외부 장치를 식별하는 단계는, 상기 제1 외부 장치에 대한 정보, 상기 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 제1 외부 장치와 상기 복수의 외부 장치들 각각의 관련성에 대한 복수의 점수를 산출하는 단계, 및 상기 복수의 점수 중 가장 높은 점수를 갖는 상기 제2 외부 장치를 식별하는 단계를 포함할 수 있다.
상기 제1 신경망 모델은, 상기 텍스트와 상기 복수의 외부 장치에 대한 정보를 바탕으로 상기 텍스트에 대한 응답을 예측하도록 학습되는 중간 모델을 포함하며, 상기 복수의 요소에 대한 상기 복수의 가중치를 출력하도록 학습될 수 있다.
상기 제어 방법은, 상기 제1 응답 정보에 포함된 상기 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별하는 단계; 상기 식별된 모듈이 상기 제1 외부 장치에 포함되는지 판단하는 단계; 및 상기 판단 결과를 바탕으로 상기 제1 응답 정보를 상기 제2 응답 정보로 변환할 지 여부를 판단하는 단계;를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 사용자의 개인화된 발화에 대한 응답 정보를 획득할 수 있다. 이에 따라, 사용자의 만족감 및 편의성이 향상될 수 있다.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
본 개시의 특정 실시 예의 양상, 특징 및 이점은 첨부된 도면들을 참조하여 후술되는 설명을 통해 보다 명확해질 것이다.
도 1은 본 개시의 일 실시 예에 따른 대화 시스템의 컨셉을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 대화 시스템의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 응답 생성 장치를 식별하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 가중치 획득 모델의 학습 방법을 설명하기 위한 도면이다.
도 5a는 본 개시의 일 실시 예에 따른 응답 생성 방법을 설명하기 위한 도면이다.
도 5b는 본 개시의 일 실시 예에 따른 응답 변환 필요 여부를 판단하기 위한 방법을 설명하기 위한 도면이다.
도 5c는 본 개시의 일 실시 예에 따른 응답 변환 방법을 설명하기 위한 도면이다.
도 5d는 본 개시의 다른 일 실시 예에 따른 응답 변환 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 응답 변환 모델의 학습 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 도시한 순서도이다.
도 8은 본 개시의 일 실시 예에 따른 대화 시스템을 설명하기 위한 시퀀스도이다.
도 9는 본 개시의 다른 일 실시 예에 따른 대화 시스템을 설명하기 위한 시퀀스도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 개시의 일 실시 예에 따른 대화 시스템의 컨셉을 설명하기 위한 도면이다. 대화 시스템은 전자 장치(100), 제1 외부 장치(210) 및 제2 외부 장치(220)를 포함할 수 있다. 여기서, 제1 외부 장치(210)는 개인화가 완료되지 않은 장치이며, 제2 외부 장치(220)는 개인화가 완료된 장치이다. 따라서, 사용자 발화가 동일하더라도, 제1 외부 장치(210)는 사용자가 의도한 응답을 생성할 수 없는 반면, 제2 외부 장치(220)는 사용자가 의도한 응답을 생성할 수 있다. 여기서, 개인화란 장치가 사용자(1)에 대응되게 학습되는 과정을 의미할 수 있다.
제1 외부 장치(210)는 사용자(1)로부터 사용자 발화(11)를 획득할 수 있다. 사용자 발화(11)가 획득되면, 제1 외부 장치(210)는 사용자 발화(11)에 대한 응답을 생성할 수 있는지 여부를 판단할 수 있다. 사용자 발화(11)가 제1 전자 장치(210)에 의해 응답되는 일반적인 발화라면, 제1 전자 장치(210)는 사용자 발화(11)에 대한 응답을 생성하여 출력할 수 있다. 그러나, 사용자 발화(11)가 일반적인 발화가 아니라면, 제1 외부 장치(210)는 전자 장치(100)로 사용자 발화(11) 및 제1 외부 장치(210)에 대한 정보(12)를 전송할 수 있다. 제1 외부 장치(210)에 대한 정보(12)는, 사용자(1)와 제1 외부 장치(210)의 사용자(또는 소유자)의 관련성에 대한 정보, 제1 외부 장치(210)의 스펙에 대한 정보 및 제1 외부 장치(210)와 다른 외부 장치들 사이의 거리에 대한 정보 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 사용자 발화(11) 및 제1 외부 장치(210)에 대한 정보(12)를 바탕으로 전자 장치(100)와 통신 가능한 다수의 다른 외부 장치들 중 제2 외부 장치(220)를 식별할 수 있다. 이 때, 전자 장치(100)는 사용자 발화(11) 및 제1 외부 장치(210)에 대한 정보(12)를 바탕으로 제1 외부 장치(210)와의 관련성이 가장 높은 장치를 제2 외부 장치(220)로 식별할 수 있다.
전자 장치(100)는 제2 외부 장치(220)로 사용자 발화(11)를 전송할 수 있다. 개인화가 완료된 제2 외부 장치(220)는 사용자 발화(11)를 바탕으로 제1 응답 정보(21)를 획득할 수 있다. 그리고, 제2 외부 장치(220)는 제1 응답 정보(21)를 전자 장치(100)로 전송할 수 있다. 제1 응답 정보(21)는 제1 응답 유형 및 제1 응답 내용을 포함할 수 있다.
제1 외부 장치(210)와 제2 외부 장치(220)는 하드웨어 스펙이 상이할 수 있으며, 이에 따라, 제2 외부 장치(220)에 의해 생성된 제1 응답 정보(21)가 변환될 필요가 있을 수 있다. 예로, 제2 외부 장치(220)의 디스플레이의 크기는 기설정된 값보다 작아서 다수의 텍스트를 포함하는 메시지 표시가 불가능할 수 있다. 따라서, 제2 외부 장치(220)에 의해 생성된 제1 응답 정보(21)에는 메시지를 표시하는 응답에 관한 정보가 포함되지 않을 수 있다. 제1 외부 장치(210)의 디스플레이의 크기는 기설정된 값보다 커서 메시지 표시가 가능할 수 있다. 이 같은 상황에서는, 제1 외부 장치(210)가 메시지 표시를 포함하는 피드백을 제공할 때 사용자(1)의 만족감이나 편의성이 향상될 수 있다.
따라서, 전자 장치(100)는 제1 응답 정보(21)를 변환하여 제2 응답 정보(22)를 획득할 수 있다. 이 때, 제2 응답 정보(22)는 메시지를 표시하는 응답에 관한 정보를 포함할 수 있다. 전자 장치(100)는 제2 응답 정보(22)를 제1 외부 장치(210)로 전송할 수 있다. 제1 외부 장치(210)는 제2 응답 정보(22)를 바탕으로 응답을 생성하여 출력할 수 있다. 예로, 제1 외부 장치(210)는 응답 메시지(23)를 표시하면서 음성 피드백(24)을 출력할 수 있다. 즉, 제1 외부 장치(210)는 사용자 발화(11)에 대응되는 개인화된 응답을 출력할 수 있게 된다.
도 2는 본 개시의 일 실시 예에 따른 대화 시스템의 구성을 도시한 블록도이다. 대화 시스템(1000)은 전자 장치(100), 제1 외부 장치(210) 및 제2 외부 장치(220)를 포함할 수 있다. 전자 장치(100), 제1 외부 장치(210) 및 제2 외부 장치(220) 각각은 스마트폰, 스마트 스피커, 태블릿 PC(Personal Computer) 또는 스마트 TV(Television)일 수 있다. 다만, 각 장치가 상술한 예시로 한정되지 않음을 밝혀둔다.
제1 외부 장치(210)는 사용자 발화를 획득할 수 있다. 제1 외부 장치(210)는 사용자 발화에 대해 자연어 처리(NLP: Natural Language Processing)를 수행하여 사용자 발화에 대응되는 기능을 수행하며 응답을 출력할 수 있다. 이를 위해, 제1 외부 장치(210)는 자연어 처리 모듈(211)을 포함할 수 있다. 자연어 처리 모듈(211)은 음성 인식 모듈(Speech Recognition module), 언어 이해 모듈(Natural Language Understanding module), 대화 관리 모듈(Dialog Management module), 언어 생성 모듈(Natural Language Generation module) 및 음성 합성 모듈(Speech Synthesis module)을 포함할 수 있다.
제1 외부 장치(210)는 개인화 판단 모듈(212)을 이용하여 제1 외부 장치(210)를 개인화 할 필요가 있는지 여부를 판단할 수 있다. 여기서, 개인화란, 제1 외부 장치(210)가 사용자에 대응되게 학습되는 과정을 의미할 수 있다. 개인화 판단 모듈(212)은 자연어 처리 모듈(211)이 사용자 발화를 처리할 수 있는 지 여부를 바탕으로 제1 외부 장치(210)의 개인화 필요 여부를 판단할 수 있다. 예를 들어, 자연어 처리 모듈(211)에 포함된 언어 이해 모듈이 개인화가 완료되지 않아 사용자 발화를 처리(또는 이해)할 수 없는 경우, 개인화 판단 모듈(212)은 제1 외부 장치(210)의 개인화가 필요하다고 판단할 수 있다.
개인화가 필요하다고 판단되면, 제1 외부 장치(210)는 응답 요청 모듈(213)을 이용하여 전자 장치(100)로 사용자 발화에 대응되는 응답 정보를 요청할 수 있다. 응답 요청 모듈(213)은 자연어 처리 모듈(211)을 통해 획득된 사용자 발화에 대응되는 텍스트 및 제1 외부 장치(210)에 대한 정보를 전자 장치(100)로 전송할 수 있다. 여기서, 제1 외부 장치(210)에 대한 정보는, 제1 외부 장치(210)의 유형 또는 스펙에 대한 정보(예로, 디스플레이 유무 등), 제1 외부 장치(210)의 사용자와 다른 외부 장치들의 사용자들과의 관련성에 대한 정보(예로, 친밀도) 및 제1 외부 장치(210)와 다른 외부 장치들 사이의 거리에 대한 정보를 포함할 수 있다.
제1 외부 장치(210)에 대한 정보는 정보 획득 모듈(214)에 의해 획득될 수 있다. 정보 획득 모듈(214)은 다양한 방법으로 제1 외부 장치(210)에 대한 정보를 획득할 수 있다. 일 예로, 정보 획득 모듈(214)은 제1 외부 장치(210)에 미리 저장된 제1 외부 장치(210)의 스펙에 대한 정보를 식별할 수 있다. 다른 일 예로, 정보 획득 모듈(214)은 사용자 인증을 수행하여 사용자를 식별하고, 식별된 사용자와 다른 외부 장치들의 소유자(또는 등록된 사용자)들과의 관련성에 대한 정보를 획득할 수 있다. 식별된 사용자와 다른 외부 장치의 소유자가 동일할 때 관련성이 가장 높을 수 있다. 사용자 인증을 수행하기 위해, 정보 획득 모듈(214)은 사용자 인증 모듈을 포함할 수 있다. 또 다른 일 예로, 정보 획득 모듈(214)은 거리 측정 센서를 이용하여 제1 외부 장치(210)와 다른 외부 장치들 사이의 거리에 대한 정보를 획득할 수 있다. 제1 외부 장치(210)는 응답 요청 장치로 지칭될 수 있다.
응답 출력 모듈(215)은 전자 장치(100)로부터 사용자 발화에 대응되는 응답 정보를 수신할 수 있다. 여기서, 응답 정보는, 응답의 유형이나 형태, 응답 내용 및 제1 외부 장치(210)를 제어하기 위한 제어 명령을 포함할 수 있다. 응답 출력 모듈(215)은 응답 정보를 바탕으로 응답을 획득하여 출력할 수 있다.
학습 모듈(216)은 획득된 응답과 사용자 발화를 바탕으로 제1 외부 장치(210)를 학습시키기 위한 동작을 수행할 수 있다. 특히, 학습 모듈(216)은 사용자 발화와 사용자 발화에 대응되는 응답을 학습 데이터로 하여 자연어 처리 모듈(211)을 학습시킬 수 있다. 이 때, 자연어 처리 모듈(211)의 파라미터나 가중치는 업데이트될 수 있다. 따라서, 학습이 완료된(즉, 개인화가 완료된) 제1 외부 장치(210)는 사용자 발화에 대응되는 응답을 생성할 수 있다.
개인화가 완료되지 않은 상태에서 제1 외부 장치(210)는 전자 장치(100)로부터 사용자 발화에 대응되는 응답을 획득할 수 있다. 전자 장치(100)는 제1 외부 장치(210)로부터 수신된 사용자 발화 및 제1 외부 장치(210)에 대한 정보를 바탕으로 사용자 발화에 대응되는 응답을 획득할 수 있다. 이하에서는, 전자 장치(100)의 동작에 대해 설명하도록 한다.
전자 장치(100)는 통신 인터페이스(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 예를 들어, 전자 장치(100)는 스마트 스피커, 스마트 TV, 태블릿 PC 또는 스마트 폰일 수 있다. 전자 장치(100)는 허브(hub) 장치로 지칭될 수 있다. 이하 전자 장치(100)의 각 구성에 대하여 설명하도록 한다.
통신 인터페이스(110)는 적어도 하나의 회로를 포함하며, 다양한 유형의 외부 기기 또는 외부 서버와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(110)는 제1 외부 장치(210)로부터 사용자 발화를 수신할 수 있다. 또한, 통신 인터페이스(110)는 사용자 발화를 제2 외부 장치(220)로 전송할 수 있다.
통신 인터페이스(110)는 무선 혹은 유선으로 데이터 통신을 수행할 수 있다. 무선 통신 방식으로 제1 외부 장치(210) 또는 제2 외부 장치(220)와 통신을 수행할 경우, 통신 인터페이스(110)는 와이파이 통신 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다. 한편, 통신 인터페이스(110)는 제1 외부 장치(210) 및 제2 외부 장치(220) 각각과 상이한 방식으로 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(110)는 제1 외부 장치(210)와 제1 통신 방식(예로, 와이파이)으로 통신을 수행하고, 제2 외부 장치(220)와 제2 통신 방식(예로, 블루투스)로 통신을 수행할 수 있다.
메모리(120)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 제1 외부 장치(210) 및 제2 외부 장치(220)에 대한 정보를 저장할 수 있다. 제1 외부 장치(210) 및 제2 외부 장치(220)에 대한 정보 각각은 제1 외부 장치(210) 및 제2 외부 장치(220) 각각의 스펙에 대한 정보나 사용자에 대한 정보를 포함할 수 있다. 또한, 메모리(120)는 전자 장치(100) 주변의 다른 외부 장치들 각각의 위치 정보를 저장할 수 있다. 또한, 메모리(120)는 각종 응답 유형에 대응되는 기능을 수행하기 위한 모듈에 대한 정보를 저장할 수 있다. 여기서, 모듈은 하드웨어적 모듈(예로, 자연어 처리 모듈)과 소프트웨어적 모듈(예로, 터치 디스플레이)을 포함할 수 있다. 메모리(120)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 프로세서(130)는 자연어 처리 모듈(131), 관련성 획득 모듈(132), 응답 생성 장치 식별 모듈(133), 응답 요청 모듈(134), 응답 획득 모듈(135), 가중치 획득 모델(M1) 및 응답 변환 모델(M2)을 포함할 수 있다. 자연어 처리 모듈(131)은 제1 외부 장치(210)의 자연어 처리 모듈(211)과 마찬가지로 사용자 발화에 대한 자연어 처리를 수행할 수 있다. 자연어 처리 모듈(131)은 자연어 처리 모듈(211)에 대응되는 바, 그 상세한 설명은 생략하도록 한다.
한편, 전자 장치(100)와 통신 가능한 복수의 외부 장치가 존재할 수 있다. 이 때, 전자 장치(100)는 복수의 외부 장치 중 제1 외부 장치(210)와의 관련성(또는, 유사성)이 가장 높은 외부 장치(예로, 제2 외부 장치(220))를 식별하고, 식별된 외부 장치로부터 사용자 발화에 대응되는 응답 정보를 획득할 수 있다. 이를 위해, 전자 장치(100)는 관련성 획득 모듈(132)을 이용하여 제1 외부 장치(210)와 다른 외부 장치들과의 관련성 점수를 획득할 수 있다.
관련성 획득 모듈(132)은 가중치 획득 모델(M1)에 사용자 발화를 입력하여 제1 외부 장치(210)와 관련된 복수의 요소 각각에 대한 가중치를 획득할 수 있다. 여기서, 제1 외부 장치(210)와 관련된 복수의 요소는, 제1 외부 장치의 특성(예로, 유형이나 스펙) 및 다른 외부 장치들의 특성의 유사성과 관련된 제1 요소, 제1 외부 장치(210)와 다른 외부 장치들 사이의 거리에 관한 제2 요소, 및 제1 외부 장치(210)의 소유자(또는 등록된 사용자)와 사용자의 관계에 관한 제3 요소를 포함할 수 있다. 가중치 획득 모델(M1)은 학습된 신경망 모델로서, 사용자 발화를 입력 받아 관련성을 나타내는 복수의 요소 각각에 대한 가중치를 출력하도록 학습될 수 있다.
관련성 획득 모듈(132)은 제1 외부 장치(210)와 다른 외부 장치들에 대한 정보 및 가중치를 바탕으로 관련성 점수를 산출할 수 있다. 예를 들어, 제1 외부 장치(210) 및 제2 외부 장치(220)는 스피커이며, 제3 외부 장치는 TV일 수 있다. 이 때, 관련성을 나타내는 복수의 요소 각각에 대한 가중치 중 제1 요소에 대한 가중치가 가장 크면, 제2 외부 장치(220)에 대한 관련성 점수는 제3 외부 장치에 대한 관련성 점수보다 클 수 있다.
응답 생성 장치 식별 모듈(133)은 관련성 점수를 바탕으로 복수의 외부 장치들 중 응답 생성 장치를 식별할 수 있다. 예를 들어, 응답 생성 장치 식별 모듈(133)은 제1 외부 장치(210)와의 관련성 점수가 가장 큰 제2 외부 장치(220)를 식별할 수 있다. 그리고, 응답 요청 모듈(134)은 제2 외부 장치(220)로 사용자 발화에 대응되는 응답 요청을 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 이 때, 통신 인터페이스(110)는 제1 외부 장치(210)로부터 수신된 사용자 발화를 제2 외부 장치(220)로 전송할 수 있다.
제2 외부 장치(220)는 사용자 개인화가 완료된 장치로서, 자연어 처리 모듈(221)을 이용하여 사용자 발화에 대응되는 응답 정보를 획득할 수 있다. 여기서, 음성 인식 모듈(221)은 제1 외부 장치(210)의 자연어 처리 모듈(211)과 마찬가지로 음성 인식 모듈(Speech Recognition module), 언어 이해 모듈(Natural Language Understanding module), 대화 관리 모듈(Dialog Management module), 언어 생성 모듈(Natural Language Generation module) 및 음성 합성 모듈(Speech Synthesis module)을 포함할 수 있다. 다만, 제2 외부 장치(220)는 개인화가 완료된 상태이므로 제2 외부 장치(220)의 언어 이해 모듈의 파라미터 값은 제1 외부 장치(210)의 언어 이해 모듈의 파리미터 값과 상이할 수 있다.
응답 획득 모듈(135)은 통신 인터페이스(110)를 통해 제2 외부 장치(220)로부터 사용자 발화에 대응되는 응답 정보를 수신할 수 있다. 예를 들어, 응답 정보는, 선택 가능한 UI 엘리먼트를 디스플레이하는 제1 응답 유형(또는, '선택 이벤트') 및 제1 응답 유형에 대응되는 응답 내용(예로, "알람1: 7:00", "알람2: 7:30")을 포함할 수 있다. 또한, 응답 정보는, 제2 응답 유형(예로, 음성 피드백) 및 제2 응답 유형에 대응되는 응답 메시지(예로, "어떤 알람을 켤까요?)를 포함할 수 있다. 그리고, 응답 획득 모듈(135)은 수신된 응답 정보를 제1 외부 장치(210)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 제1 외부 장치(210)는 전자 장치(100)로부터 수신된 응답 정보를 사용자 발화에 대응되는 기능을 수행할 수 있다.
한편, 제1 외부 장치(210)와 제2 외부 장치(220)는 서로 상이한 종류의 디바이스일 수 있다. 일 예로, 제1 외부 장치(210)는 디스플레이를 포함하지 않는 스피커이며, 제2 외부 장치(220)는 TV일 수 있다. 이 때, 제1 외부 장치(210)는 제2 외부 장치(220)에 의해 획득된 응답 정보에 대응되는 기능을 수행하지 못할 수 있다. 구체적으로, 제2 외부 장치(220)에 의해 획득된 응답 정보가 선택 가능한 UI 엘리먼트를 디스플레이하는 응답 유형을 포함하는 경우, 제1 외부 장치(210)는 디스플레이를 포함하지 않으므로 응답 정보에 대응되는 기능을 수행하지 못할 수 있다.
다른 일 예로, 제1 외부 장치(210)가 TV이며, 제2 외부 장치(220)는 디스플레이를 포함하지 않는 스피커일 수 있다. 이 때, 제1 외부 장치(210)는 전자 장치(100)를 통해 제2 외부 장치(220)에 의해 획득된 음성 피드백을 포함하는 응답 정보를 수신할 수 있다. 제1 외부 장치(210)는 스피커를 포함하므로 제2 외부 장치(220)에 의해 획득된 응답 정보에 대응되는 기능(즉, 음성 메시지 출력)을 수행할 수 있다. 그러나, 제1 외부 장치(210)가 디스플레이를 활용하여 사용자에게 응답을 출력할 수 있다면, 사용자의 만족감이나 편의성이 보다 향상될 수 있다. 예를 들어, 제1 외부 장치(210)는 선택 가능한 UI 엘리먼트(예로, "알람1: 7:00", "알람2: 7:30")를 디스플레이하면서, 음성 메시지(예로, "어떤 알람을 켤까요?)를 출력할 수 있다.
이와 같이, 경우에 따라 제2 외부 장치(220)에 의해 수신된 응답 정보를 변환하여 응답을 출력할 필요가 있을 수 있다. 이에 따라, 응답 획득 모듈(135)은 제2 외부 장치(220)로부터 수신된 응답 정보를 변환하여 새로운 응답 정보를 획득할 수 있다. 예를 들어, 응답 획득 모듈(135)은 제2 외부 장치(220)로부터 수신된 응답 정보와 제1 외부 장치(210)에 대한 정보(예로, 스펙 정보)를 바탕으로 응답 유형 및 응답 내용을 변환할 수 있다. 구체적으로, 응답 획득 모듈(135)은 제2 외부 장치(220)로부터 수신된 제1 응답 정보와 제1 외부 장치(210)에 대한 정보를 응답 변환 모델(M2)에 입력하여 제1 외부 장치(210)에 대응되는 제2 응답 정보를 획득할 수 있다. 여기서, 응답 변환 모델(M2)은 학습된 신경망 모델로서, 특정 장치에 대한 정보와 응답 정보를 입력 받아 특정 장치에 대응되는 응답 정보를 출력하도록 학습될 수 있다.
응답 획득 모듈(135)은 제2 외부 장치(220)로부터 수신된 응답 정보 중 일부 정보만을 선별하여 응답 변환 모델(M2)에 입력할 수도 있다. 예를 들어, 응답 획득 모듈(135)은 수신된 응답 정보 중 제1 외부 장치(210)가 수행할 수 없는 응답 유형과 응답 유형에 대응되는 응답 내용을 식별할 수 있다. 그리고, 응답 획득 모듈(135)은 식별된 응답 유형 및 응답 내용과 제1 외부 장치(210)에 대한 정보를 응답 변환 모델(M2)에 입력하여 새로운 응답 정보를 획득할 수 있다. 응답 획득 모듈(135)은 새로운 응답 정보를 제1 외부 장치(210)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
응답 획득 모듈(135)은 제1 응답 정보를 변환할 필요가 있는 지 여부를 판단할 수 있다. 일 예로, 응답 획득 모듈(135)은 제1 외부 장치(210)의 스펙 정보와 제2 외부 장치(220)의 스펙 정보를 비교하여 제1 응답 정보를 변환할 필요가 있는 지 여부를 판단할 수 있다. 가령, 제1 외부 장치(210)는 디스플레이를 포함하고 제2 외부 장치(220)는 디스플레이를 포함하지 않는 경우, 응답 획득 모듈(135)은 제1 응답 정보를 변환할 필요가 있다고 판단할 수 있다.
다른 일 예로, 응답 획득 모듈(135)은 제1 외부 장치(210)에 대한 정보와 제1 응답 정보를 바탕으로 제1 응답 정보를 변환할 필요가 있는 지 여부를 판단할 수 있다. 구체적으로, 응답 획득 모듈(135)은 메모리(120)에 저장된 각종 응답 유형 별 모듈에 대한 정보를 바탕으로, 제1 응답 정보에 포함된 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별할 수 있다. 그리고, 응답 획득 모듈(135)은 제1 외부 장치(210)에 대한 정보를 바탕으로 식별된 모듈이 제1 외부 장치(210)에 포함되는 지 여부를 판단할 수 있다. 이 때, 식별된 모듈이 제1 외부 장치(210)에 포함되지 않으면, 응답 획득 모듈(135)은 제1 응답 정보를 변환할 필요가 있다고 판단할 수 있다.
본 개시의 일 실시 예에 따른, 가중치 획득 모델(M1)은 랜덤 포레스트(Random Forest, RF)로 구현될 수 있으며, 응답 변환 모델(M2)은 합성곱 신경망(Convolution Neural Network, CNN) 모델로 구현될 수 있다. 다만, 이는 일 실시 예에 불과할 뿐, 가중치 획득 모델(M1)과 응답 변환 모델(M2)은 심층 신경망(Deep Neural Network, DNN), 순환 신경망(Recurrent Neural Network, RNN) 및 생성적 적대 신경망(Generative Adversarial Networks, GAN) 중 적어도 하나의 인공 신경망 모델로 구현될 수 있다.
도 2에서는 전자 장치(100)의 각 모듈(131 내지 135) 및 모델(M1, M2)를 프로세서(130)의 구성으로 설명하였으나, 이는 일 실시 예에 불과하며, 모듈(131 내지 135) 및 모델(M1, M2)은 메모리(120)에 저장될 수 있다. 이 때, 프로세서(130)는 메모리(120)에 저장된 모듈(131 내지 135) 및 모델(M1, M2)을 비휘발성 메모리에서 휘발성 메모리로 로딩(loading)하여 복수의 모듈(131 내지 135)의 각 기능들을 실행할 수 있다. 또한, 프로세서(130)의 각 모듈들은 소프트웨어(software)로 구현되거나, 소프트웨어와 하드웨어(hardware)가 결합된 형태로 구현될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 응답 생성 장치를 식별하는 방법을 설명하기 위한 도면이다. 전자 장치(100)는 응답 요청 장치(310)로부터 수신한 사용자 발화(31)를 가중치 획득 모델(M1)에 입력하여 응답 요청 장치(310)와 관련된 복수의 요소 각각에 대한 가중치(32)를 획득할 수 있다. 그리고, 전자 장치(100)는 가중치들(32)을 바탕으로 복수의 외부 장치(321, 322) 중 사용자 발화(31)에 대한 응답을 생성할 응답 생성 장치를 식별할 수 있다.
전자 장치(100)는 응답 요청 장치(310)에 대한 정보와 외부 장치들(321, 322)에 대한 정보를 비교하여 각 요소별 응답 요청 장치(310)와 외부 장치들(321, 322) 간의 관련성을 획득할 수 있다. 예를 들어, 전자 장치(100)는 응답 요청 장치(310)의 유형과 외부 장치들(321, 322)의 유형을 비교하여 제1 요소에 관한 관련성을 획득할 수 있다. 제1 장치(321)는 디스플레이를 포함하지 않는 스마트 스피커이고, 제2 장치(322)는 디스플레이를 포함하는 태블릿 PC인 경우, 응답 요청 장치(310)와 제2 장치(322)의 제1 요소에 관한 관련성은 응답 요청 장치(310)와 제1 장치(321)의 제1 요소에 관한 관련성 보다 클 수 있다.
또한, 전자 장치(100)는 응답 요청 장치(310)와 외부 장치들(321, 322) 사이의 거리를 바탕으로 제2 요소에 관한 관련성을 획득할 수 있다. 응답 요청 장치(310)와 제1 장치(321) 사이의 제1 거리(d1)가 응답 요청 장치(310)와 제2 장치(322) 사이의 제2 거리(d2)보다 작은 경우, 제2 요소에 관한 관련성은 제1 장치(321)가 제2 장치(322)보다 클 수 있다.
전자 장치(100)는 각 요소별 관련성과 각 요소별 가중치(32)를 바탕으로 외부 장치들(321, 322) 각각에 대한 관련성 점수를 산출할 수 있다. 그리고, 전자 장치(100)는 외부 장치들(321, 322) 중 관련성 점수가 가장 큰 장치를 응답 생성 장치로 식별할 수 있다. 예를 들어, 제1 요소의 가중치가 제2 요소의 가중치보다 큰 경우, 제2 장치(322)의 관련성 점수가 제1 장치(321)의 관련성 점수보다 클 수 있다. 이 때, 전자 장치(100)는 제2 장치(322)를 응답 생성 장치로 식별할 수 있다.
사용자 발화(31)는 오디오 신호에 대응되는 텍스트일 수 있으나, 이에 한정되는 것은 아니며, 오디오 신호 또는 텍스트를 바탕으로 생성된 벡터일 수 있다. 사용자 발화(31)가 오디오 신호인 경우, 전자 장치(100)는 자연어 처리 모듈을 이용하여 사용자 발화(31)에 대응되는 텍스트를 획득하고, 획득된 텍스트를 가중치 획득 모델(M1)에 입력할 수 있다.
전자 장치(100)가 사용자 발화(31)에 대한 정확한 응답을 획득하기 위해서는, 응답 요청 장치(310)와 외부 장치들(321, 322) 간의 관련성이 정확히 획득될 필요가 있다. 이를 위해서는 학습된 가중치 획득 모델(M1)의 성능이 중요하다. 이하에서는, 가중치 획득 모델(M1)의 학습 방법에 대하여 살펴본다.
도 4는 본 개시의 일 실시 예에 따른 가중치 획득 모델의 학습 방법을 설명하기 위한 도면이다. 가중치 획득 모델(M1)의 학습 데이터(40)는 사용자 발화(41), 제1 관련성 피처(41-1), 제2 관련성 피처(41-2), 제3 관련성 피처(41-3) 및 사용자 발화(41)에 대응되는 응답(41-4)으로 구성될 수 있다. 제1 관련성 피처(41-1)는 응답 요청 장치의 유형이나 스펙에 대한 정보와 관련될 수 있다. 제2 관련성 피처(41-2)는 응답 요청 장치와 응답 생성 장치 사이의 거리에 대한 정보와 관련될 수 있다. 제3 관련성 피처(41-3)는 응답 요청 장치의 사용자에 대한 정보와 관련될 수 있다.
가중치 획득 모델(M1)은 랜덤 포레스트 모델(410) 및 통계 베이스(420)를 포함할 수 있다. 여기서, 랜덤 포레스트 모델(410)은 각종 정보가 응답 생성에 얼마나 영향을 주는지를 나타내는 피처 중요도를 획득하기 위한 중간 모델이다. 통계 베이스(420)는 랜덤 포레스트 모델(410)의 학습 과정에서 획득되는 각 요소별 가중치를 저장하기 위한 공간이다.
랜덤 포레스트 모델(410)은 사용자 발화(41)에 대응되는 제1 내지 제3 관련성 피처(41-1, 41-2, 41-3)를 각각 포함하는 복수의 데이터 셋(예로, dataset 1, dataset 2, dataset 3)을 바탕으로 응답(41-4)을 예측하도록 학습될 수 있다. 그리고, 전자 장치(100)는 랜덤 포레스트 모델(410)의 학습 과정에서 각각의 데이터 셋에 포함된 각각의 관련성 피처 별 피처 중요도(42)를 획득할 수 있다. 예로, 전자 장치(100)는 교차 엔트로피 및 지니 중요도를 바탕으로 피처 중요도(42)를 산출할 수 있다. 전자 장치(100)는 피처 중요도(42)에 대응되는 정규화된 값을 산출할 수 있으며, 산출된 정규화된 값은 각 요소별 가중치(43)가 될 수 있다. 전자 장치(100)는 가중치(43)를 통계 베이스(420)에 저장하여 통계 베이스(420)를 업데이트할 수 있다.
전자 장치(100)는 학습이 완료된 가중치 획득 모델(M1)에 사용자 발화를 입력할 수 있다. 이 때, 학습이 완료된 가중치 획득 모델(M1)은 통계 베이스(420)에서 사용자 발화에 대응되는 가중치를 식별하여 출력할 수 있다.
도 5a는 본 개시의 일 실시 예에 따른 응답 생성 방법을 설명하기 위한 도면이다. 전자 장치(100)는 응답 요청 장치의 스펙에 대한 정보를 획득하고(S510), 응답 생성 장치로부터 제1 응답 정보를 수신할 수 있다(S520).
전자 장치(100)는 제1 응답 정보에 포함된 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별할 수 있다(S530). 도 5b를 참조하면, 제1 응답 정보(51)는 제1 응답 유형(52) 및 제1 응답 내용(53)을 포함할 수 있다. 전자 장치(100)는 응답 유형(52)과 디바이스 피처 데이터 베이스(50)를 비교하여 제1 응답 유형(52)에 대응되는 기능을 수행하기 위한 모듈(54)을 식별할 수 있다. 예로, 전자 장치(100)는 제1-1 응답 유형('selection')에 대응되는 기능을 수행하기 위한 디스플레이 모듈을 식별할 수 있다. 또한, 전자 장치(100)는 제1-2 응답 유형('speech')에 대응되는 기능을 수행하기 위한 TTS(Text To Speech) 모듈을 식별할 수 있다. 한편, 디바이스 피처 데이터 베이스(50)에는 응답 유형과 응답 유형에 대응되는 기능을 수행하기 위해 필요한 모듈이나 디바이스 스펙에 대한 정보가 저장되어 있을 수 있다. 예로, 제1-1 응답 유형('selection')과 디스플레이 모듈은 서로 매칭되어 디바이스 피처 데이터 베이스(50)에 저장되어 있을 수 있다. 또한, 제1-2 응답 유형('speech')과 TTS(Text To Speech) 모듈은 서로 매칭되어 디바이스 피처 데이터 베이스(50)에 저장되어 있을 수 있다. 한편, 디바이스 피처 데이터 베이스(50)는 메모리(120)에 미리 저장되어 있을 수 있다.
전자 장치(100)는 응답 요청 장치가 식별된 모듈을 포함하는지 판단할 수 있다(S540). 그리고, 전자 장치(100)는 응답 요청 장치가 식별된 모듈을 포함하는지 여부를 바탕으로, 응답 요청 장치가 각 응답 유형에 대응되는 기능을 수행할 수 있는지 여부를 판단할 수 있다. 도 5b에서, 응답 요청 장치가 디스플레이 모듈을 포함하지 않는 경우, 전자 장치(100)는 응답 요청 장치가 제1-1 응답 유형('selection')에 대응되는 기능을 수행할 수 없다고 판단할 수 있다. 반면에, 응답 요청 장치가 TTS 모듈을 포함하는 경우, 전자 장치(100)는 응답 요청 장치가 제1-2 응답 유형('speech')에 대응되는 기능을 수행할 수 있다고 판단할 수 있다.
응답 요청 장치가 식별된 모듈을 포함하지 않는다고 판단되면(S540-N), 전자 장치(100)는 제1 응답 정보 및 응답 요청 장치의 스펙에 대한 정보를 제2 신경망 모델에 입력하여 제2 응답 정보를 획득할 수 있다(S550). 그리고, 전자 장치(100)는 제2 응답 정보를 바탕으로 응답을 생성할 수 있다(S560). 도 5c를 참조하면, 전자 장치(100)는 제1 응답 정보(51) 및 응답 요청 장치의 스펙에 대한 정보(55)를 응답 변환 모델(M2)에 입력하여 제2 응답 정보(56)를 획득할 수 있다. 한편, 전자 장치(100)는 제1 응답 정보(51) 중 일부 응답 유형에 대한 정보를 선별하고, 선별된 일부 응답 유형에 대한 정보를 응답 변환 모델(M2)에 입력할 수도 있다. 예를 들어, 전자 장치(100)는 응답 요청 장치가 출력할 수 없는 제1-1 응답 유형('selection')에 대한 정보를 응답 변환 모델(M2)에 입력할 수 있다.
응답 요청 장치가 식별된 모듈을 포함한다고 판단되면(S540-Y), 전자 장치(100)는 제1 응답 정보를 바탕으로 응답을 생성할 수 있다(S570).
한편, 전자 장치(100)는 응답 요청 장치가 식별된 모듈을 포함하더라도 응답 정보를 변환하여 새로운 응답 정보를 획득할 수 있다. 예로, 제1 응답 정보가 음성 피드백을 포함하며 전자 장치(100)가 디스플레이 모듈과 자연어 처리 모듈을 포함하는 경우에도, 전자 장치(100)는 디스플레이 모듈에 대응되는 응답 유형을 갖는 새로운 응답 정보를 획득할 수 있다. 도 5c를 참조하면, 전자 장치(100)는 제1 응답 정보(51) 및 응답 요청 장치의 스펙에 대한 정보(55)를 응답 변환 모델(M2)에 입력하여 제2 응답 정보(56)를 획득할 수 있다. 이 때, 전자 장치(100)는 제1 응답 정보(52)에 포함된 응답 유형(즉, 'speech')에 대응되는 기능을 수행하기 위한 모듈을 포함하고 있더라도, 제2 응답 정보(56)를 획득할 수 있다. 이에 따라, 사용자의 만족감이나 편의성이 향상될 수 있다.
도 6은 본 개시의 일 실시 예에 따른 응답 변환 모델의 학습 방법을 설명하기 위한 도면이다. 응답 변환 모델(M2)의 학습 데이터는 제1 응답 유형(61-1)에 대한 정보, 제2 응답 유형(61-2)에 대한 정보 및 비 공통 모듈 (62)에 대한 정보를 포함할 수 있다. 비 공통 모듈(62)은 임의의 두 장치에 공통으로는 포함되지 않는 모듈을 의미한다. 예로, 제1 장치가 디스플레이를 포함하지 않는 스피커이고 제2 장치가 디스플레이인 경우, 비 공통 모듈(62)은 디스플레이 모듈을 의미할 수 있다. 응답 변환 모델(M2)은 제1 응답 유형(61-1)에 대한 정보 및 비 공통 모듈 (62)에 대한 정보를 바탕으로 제2 응답 유형(61-2)에 대한 정보를 출력하도록 학습될 수 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 도시한 순서도이다. 전자 장치(100)는 사용자 발화 및 응답 요청을 수신할 수 있다(S710). 전자 장치(100)는 응답 요청 장치(예로, 도 1의 제1 외부 장치(210))로부터 사용자 발화 및 응답 요청을 수신할 수 있다.
전자 장치(100)는 응답 요청 장치 및 외부 장치의 관련성을 획득할 수 있다(S720). 전자 장치(100)는 제1 신경망 모델(예로, 도 1의 가중치 획득 모델(M1))에 사용자 발화를 입력하여 응답 요청 장치와 외부 장치의 관련성을 나타내는 요소에 대한 가중치를 획득할 수 있다. 그리고, 전자 장치(100)는 응답 요청 장치에 대한 정보와 가중치를 바탕으로 관련성 점수를 산출할 수 있다. 응답 요청 장치에 대한 정보는, 전자 장치(100)의 메모리에 저장되어 있거나, 응답 요청 장치로부터 응답 요청이 수신될 때 함께 수신될 수 있다.
전자 장치(100)는 응답 요청 장치 및 외부 장치의 관련성을 바탕으로 응답 생성 장치를 식별할 수 있다(S730). 전자 장치(100)는 통신 가능한 복수의 외부 장치 중 응답 요청 장치와의 관련성 점수가 가장 높은 외부 장치를 응답 생성 장치(예로, 도 1의 제2 외부 장치(220))로 식별할 수 있다. 그리고, 전자 장치(100)는 응답 생성 장치로 응답 정보를 요청할 수 있다(S740). 이 때, 전자 장치(100)는 응답 요청 장치로부터 수신된 사용자 발화를 응답 생성 장치로 전송할 수 있다.
전자 장치(100)는 응답 생성 장치로부터 응답 정보를 수신할 수 있다(S750). 예를 들어, 응답 정보는 응답 유형 및 응답 내용을 포함할 수 있다. 전자 장치(100)는 응답 변환 필요 여부를 판단할 수 있다(S760). 예를 들어, 전자 장치(100)는 수신된 응답 정보에 포함된 응답 유형을 식별할 수 있다. 그리고, 전자 장치(100)는 응답 요청 장치에 대한 정보를 바탕으로 식별된 응답 유형에 대응되는 기능을 수행할 수 있는 구성요소(또는 모듈)가 응답 요청 장치에 포함되어 있는 지 여부를 판단할 수 있다. 이 때, 응답 유형에 대응되는 기능을 수행할 수 있는 구성요소가 응답 요청 장치에 포함되어 있지 않으면, 응답 획득 모듈(135)은 응답 변환이 필요하다고 판단할 수 있다. 응답 유형에 대응되는 기능을 수행할 수 있는 구성요소가 응답 요청 장치에 포함되어 있으면, 응답 획득 모듈(135)은 응답 변환이 필요하지 않다고 판단할 수 있다.
전자 장치(100)는 응답 요청 장치의 스펙에 대한 정보와 응답 생성 장치의 스펙에 대한 정보를 비교하여 응답 변환의 필요 여부를 판단할 수 있다. 예로, 응답 요청 장치는 디스플레이를 포함하고 응답 생성 장치는 디스플레이를 포함하지 않는 경우, 전자 장치(100)는 응답 변환이 필요하다고 판단할 수 있다. 또는, 응답 요청 장치는 디스플레이를 포함하지 않고 응답 생성 장치는 디스플레이를 포함하는 경우에도, 전자 장치(100)는 응답 변환이 필요하다고 판단할 수 있다.
응답 변환이 필요하지 않다고 판단되면(S760-N), 전자 장치(100)는 수신된 응답 정보를 응답 요청 장치로 전송할 수 있다(S770). 응답 변환이 필요하다고 판단되면(S760-Y), 전자 장치(100)는 응답 정보를 변환하여 새로운 응답 정보를 획득할 수 있다(S780). 예를 들어, 전자 장치(100)는 응답 요청 장치에 대한 정보와 응답 생성 장치로부터 수신된 제1 응답 정보를 제2 신경망 모델(예로, 도 1의 응답 변환 모델(M2))에 입력하여 응답 요청 장치에 대응되는 제2 응답 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 제2 응답 정보를 응답 요청 장치로 전송할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 대화 시스템을 설명하기 위한 시퀀스도이다. 응답 요청 장치(210)는 사용자 발화를 획득할 수 있다(S811). 응답 요청 장치(210)는 음성 인식 모듈을 이용하여 사용자 발화에 대응되는 텍스트를 획득할 수 있다. 그리고, 응답 요청 장치(210)는 개인화 필요 여부를 판단할 수 있다(S812). 응답 요청 장치(210)가 획득된 텍스트를 이해하여 처리할 수 있는 경우, 응답 요청 장치(210)는 개인화가 필요 없다고 판단하고 사용자 발화에 대응되는 응답 정보를 생성할 수 있다(S843). 이 때, 응답 요청 장치(210)는 자연어 처리 모듈을 이용하여 응답 정보를 생성할 수 있다. 응답 요청 장치(210)가 획득된 텍스트를 이해하여 처리할 수 없는 경우, 응답 요청 장치(210)는 개인화가 필요하다고 판단하고, 허브 장치(100)로 응답을 요청할 수 있다(S813). 이 때, 응답 요청 장치(210)는 사용자 발화에 대응되는 텍스트와 응답 요청 장치(210)에 대한 정보를 허브 장치(100)로 전송할 수 있다.
허브 장치(100)는 수신된 텍스트와 응답 요청 장치(210)에 대한 정보를 바탕으로 응답 생성 장치를 식별할 수 있다(S821). 전술한 바와 같이, 허브 장치(100)는 가중치 획득 모델(M1)을 이용하여 응답 생성 장치(220)를 식별할 수 있다. 그리고, 허브 장치(100)는 응답 생성 장치(220)로 응답을 요청할 수 있다(S822). 이 때, 허브 장치(100)는 사용자 발화에 대응되는 텍스트를 응답 생성 장치(220)로 전송할 수 있다.
응답 생성 장치(220)는 수신된 텍스트를 바탕으로 응답 정보를 생성할 수 있다(S831). 응답 생성 장치(220)는 자연어 처리 모듈에 기초하여 수신된 텍스트를 이해하고, 수신된 텍스트에 대한 응답 정보를 생성할 수 있다. 그리고, 응답 생성 장치(220)는 생성된 응답 정보를 허브 장치(100)로 전송할 수 있다(S832).
허브 장치(100)는 수신된 응답 정보를 응답 요청 장치(210)가 출력할 수 있는 형태로 변환할 수 있다(S841). 전술한 바와 같이, 허브 장치(100)는 응답 변환 모델(M2)을 이용하여 응답 정보를 변환할 수 있다. 그리고, 허브 장치(100)는 변환된 응답 정보를 응답 요청 장치(210)로 전송할 수 있다(S842). 한편, 허브 장치(100)는 응답 정보 변환의 필요성을 판단하고, 응답 정보 변환이 불필요하다고 판단되면 응답 정보를 변환하지 않고 그대로 응답 요청 장치(210)로 전송할 수도 있다.
응답 요청 장치(210)는 허브 장치(100)로부터 수신된 응답 정보를 바탕으로 응답을 생성하고, 출력할 수 있다(S851). 그리고, 응답 요청 장치(210)는 응답 요청 장치(210)에 저장된 자연어 처리 모듈을 학습시키는 개인화 학습 동작을 수행할 수 있다(S861). 특히, 응답 요청 장치(210)는 사용자 발화에 대응되는 텍스트와 응답 정보를 바탕으로 언어 이해 모듈을 학습시킬 수 있다. 이에 따라 언어 이해 모듈이 학습이 완료된 후 사용자 발화가 획득되면, 응답 요청 장치(210)는 허브 장치(100) 및 응답 생성 장치(220) 없이도 응답 정보를 획득할 수 있다.
도 9는 본 개시의 다른 일 실시 예에 따른 대화 시스템을 설명하기 위한 시퀀스도이다. 대화 시스템(1000)의 각 동작들은 도 8을 참조하여 상술한 동작들과 대응될 수 있으므로, 중복되는 설명은 생략하고 도 8과의 차이점을 중심으로 설명하도록 한다. 응답 정보 변환 동작(S951)은 응답 요청 장치(210)에 의해 수행될 수 있다. 응답 요청 장치(210)는 허브 장치(100)로부터 수신된 응답 정보를 변환하여 새로운 응답 정보를 획득할 수 있다. 이 때, 응답 변환 모델(M2)은 응답 요청 장치(210)에 저장되어 있을 수 있다. 응답 요청 장치(210)는 수신된 응답 정보와 응답 요청 장치(210)의 스펙에 대한 정보를 응답 변환 모델(M2)에 입력하여 새로운 응답 정보를 획득할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 인터페이스;
    적어도 하나의 인스트럭션을 저장하는 메모리; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 제1 외부 장치로부터 사용자 발화에 대응되는 텍스트 및 상기 제1 외부 장치에 대한 정보를 수신하고,
    상기 사용자 발화에 대응되는 텍스트를 제1 신경망 모델에 입력하여 상기 제1 외부 장치와 관련된 복수의 요소에 대한 복수의 가중치를 획득하고,
    상기 제1 외부 장치에 대한 정보, 상기 메모리에 저장된 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 복수의 외부 장치들 중 상기 사용자 발화에 대한 응답 정보를 획득하기 위한 제2 외부 장치를 식별하고,
    상기 제2 외부 장치로 상기 사용자 발화에 대응되는 텍스트를 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 통신 인터페이스를 통해 상기 제2 외부 장치로부터 상기 사용자 발화에 대한 제1 응답 정보를 수신하고,
    상기 제1 응답 정보 및 상기 제1 외부 장치에 대한 정보를 제2 신경망 모델에 입력하여 상기 제1 외부 장치에 대응되는 제2 응답 정보를 획득하고,
    상기 제2 응답 정보를 상기 제1 외부 장치로 전송하도록 상기 통신 인터페이스를 제어하는
    전자 장치.
  2. 제1 항에 있어서,
    상기 제1 외부 장치와 관련된 상기 복수의 요소는,
    상기 제1 외부 장치의 유형과 및 상기 복수의 외부 장치들의 유형들의 유사성과 관련된 제1 요소,
    상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 관한 제2 요소, 및
    상기 제1 외부 장치의 소유자와 상기 사용자 발화를 발화한 사용자의 관계에 관한 제3 요소를 포함하는
    전자 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 외부 장치에 대한 정보, 상기 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 제1 외부 장치와 상기 복수의 외부 장치들 각각의 관련성에 대한 복수의 점수를 산출하고,
    상기 복수의 점수 중 가장 높은 점수를 갖는 상기 제2 외부 장치를 식별하는
    전자 장치.
  4. 제1 항에 있어서,
    상기 제1 신경망 모델은,
    상기 텍스트와 상기 복수의 외부 장치에 대한 정보를 바탕으로 상기 텍스트에 대한 응답을 예측하도록 학습되는 중간 모델을 포함하며,
    상기 예측된 응답에 영향을 주는 복수의 요소 각각에 대한 가중치를 출력하도록 학습되는
    전자 장치.
  5. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 응답 정보에 포함된 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별하고,
    상기 식별된 모듈이 상기 제1 외부 장치에 포함되는지 판단하고,
    상기 판단 결과를 바탕으로 상기 제1 응답 정보를 상기 제2 응답 정보로 변환할 지 여부를 판단하는
    전자 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 외부 장치의 유형 정보와 상기 제2 외부 장치의 유형 정보가 상이하면, 상기 제1 응답 정보의 변환이 필요하다고 판단하는
    전자 장치.
  7. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 응답 정보에서 상기 제1 외부 장치가 출력할 수 없는 제1 응답 유형을 식별하고,
    상기 식별된 제1 응답 유형과 상기 제1 외부 장치의 스펙에 대한 정보를 상기 제2 신경망 모델이 입력하여 제2 응답 유형을 획득하는
    전자 장치.
  8. 제7 항에 있어서,
    상기 제2 신경망 모델은,
    상기 제1 응답 정보의 제1 응답 유형과 상기 제1 외부 장치 및 상기 제2 외부 장치에 포함된 모듈 중 서로 공통되지 않는 모듈을 바탕으로 상기 제2 응답 정보의 제2 응답 유형을 출력하도록 학습되는
    전자 장치.
  9. 제1 항에 있어서,
    상기 복수의 외부 장치들에 대한 정보는,
    상기 복수의 외부 장치의 유형에 대한 정보, 상기 복수의 외부 장치의 스펙에 대한 정보 및 상기 복수의 외부 장치의 위치에 대한 정보 중 적어도 하나를 포함하는
    전자 장치.
  10. 제1 항에 있어서,
    상기 제1 외부 장치에 대한 정보는,
    상기 사용자 발화를 발화한 사용자와 상기 제1 외부 장치의 소유자의 관계에 대한 정보, 상기 제1 외부 장치의 유형에 대한 정보, 상기 제1 외부 장치의 스펙에 대한 정보 및 상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 대한 정보 중 적어도 하나를 포함하는
    전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    제1 외부 장치로부터 사용자 발화에 대응되는 텍스트 및 상기 제1 외부 장치에 대한 정보를 수신하는 단계;
    상기 사용자 발화에 대응되는 텍스트를 제1 신경망 모델에 입력하여 상기 제1 외부 장치와 관련된 복수의 요소에 대한 복수의 가중치를 획득하는 단계;
    상기 제1 외부 장치에 대한 정보, 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 복수의 외부 장치들 중 상기 사용자 발화에 대응되는 응답 정보를 획득하기 위한 제2 외부 장치를 식별하고, 상기 제2 외부 장치로 상기 사용자 발화를 전송하는 단계;
    상기 제2 외부 장치로부터 상기 사용자 발화에 대한 제1 응답 정보를 수신하는 단계;
    상기 제1 응답 정보 및 상기 제1 외부 장치에 대한 정보를 제2 신경망 모델에 입력하여 상기 제1 외부 장치에 대응되는 제2 응답 정보를 획득하는 단계; 및
    상기 제2 응답 정보를 상기 제1 외부 장치로 전송하는 단계;를 포함하는
    제어 방법.
  12. 제11 항에 있어서,
    상기 제1 외부 장치와 관련된 상기 복수의 요소는,
    상기 제1 외부 장치의 유형과 및 상기 복수의 외부 장치들의 유형들의 유사성과 관련된 제1 요소,
    상기 제1 외부 장치와 상기 복수의 외부 장치들 사이의 거리에 관한 제2 요소, 및
    상기 제1 외부 장치의 소유자와 상기 사용자 발화를 발화한 사용자의 관계에 관한 제3 요소를 포함하는
    제어 방법.
  13. 제11 항에 있어서,
    상기 제2 외부 장치를 식별하는 단계는,
    상기 제1 외부 장치에 대한 정보, 상기 복수의 외부 장치들에 대한 정보 및 상기 복수의 가중치를 바탕으로 상기 제1 외부 장치와 상기 복수의 외부 장치들 각각의 관련성에 대한 복수의 점수를 산출하는 단계, 및
    상기 복수의 점수 중 가장 높은 점수를 갖는 상기 제2 외부 장치를 식별하는 단계를 포함하는
    제어 방법.
  14. 제11 항에 있어서,
    상기 제1 신경망 모델은,
    상기 텍스트와 상기 복수의 외부 장치에 대한 정보를 바탕으로 상기 텍스트에 대한 응답을 예측하도록 학습되는 중간 모델을 포함하며,
    상기 복수의 요소에 대한 상기 복수의 가중치를 출력하도록 학습되는
    제어 방법.
  15. 제11 항에 있어서,
    상기 제1 응답 정보에 포함된 상기 제1 응답 유형에 대응되는 기능을 수행하기 위한 모듈을 식별하는 단계;
    상기 식별된 모듈이 상기 제1 외부 장치에 포함되는지 판단하는 단계; 및
    상기 판단 결과를 바탕으로 상기 제1 응답 정보를 상기 제2 응답 정보로 변환할 지 여부를 판단하는 단계;를 더 포함하는
    제어 방법.
PCT/KR2021/009276 2021-01-19 2021-07-19 전자 장치 및 그 제어 방법 WO2022158665A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/510,454 US11915691B2 (en) 2021-01-19 2021-10-26 Electronic apparatus and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0007580 2021-01-19
KR1020210007580A KR20220105036A (ko) 2021-01-19 2021-01-19 전자 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/510,454 Continuation US11915691B2 (en) 2021-01-19 2021-10-26 Electronic apparatus and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2022158665A1 true WO2022158665A1 (ko) 2022-07-28

Family

ID=82549117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/009276 WO2022158665A1 (ko) 2021-01-19 2021-07-19 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20220105036A (ko)
WO (1) WO2022158665A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063507A1 (ko) * 2022-09-19 2024-03-28 삼성전자 주식회사 전자 장치 및 전자 장치의 사용자 발화 처리 방법
WO2024063508A1 (ko) * 2022-09-19 2024-03-28 삼성전자 주식회사 전자 장치 및 복수의 장치들의 동작 상태를 제공하는 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170214781A1 (en) * 2014-10-03 2017-07-27 Denso Corporation Non-transitory computer readable storage medium, remote operation supporting method, and information processing apparatus
KR20170101052A (ko) * 2016-02-26 2017-09-05 삼성전자주식회사 전자 장치 및 전자 장치에서 사용자 입력을 처리하는 방법
JP2018151578A (ja) * 2017-03-14 2018-09-27 ヤフー株式会社 決定装置、決定方法および決定プログラム
KR20190019401A (ko) * 2017-08-17 2019-02-27 엘지전자 주식회사 전자 장치 및 그 제어 방법
WO2019225201A1 (ja) * 2018-05-25 2019-11-28 ソニー株式会社 情報処理装置及び情報処理方法、並びに情報処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170214781A1 (en) * 2014-10-03 2017-07-27 Denso Corporation Non-transitory computer readable storage medium, remote operation supporting method, and information processing apparatus
KR20170101052A (ko) * 2016-02-26 2017-09-05 삼성전자주식회사 전자 장치 및 전자 장치에서 사용자 입력을 처리하는 방법
JP2018151578A (ja) * 2017-03-14 2018-09-27 ヤフー株式会社 決定装置、決定方法および決定プログラム
KR20190019401A (ko) * 2017-08-17 2019-02-27 엘지전자 주식회사 전자 장치 및 그 제어 방법
WO2019225201A1 (ja) * 2018-05-25 2019-11-28 ソニー株式会社 情報処理装置及び情報処理方法、並びに情報処理システム

Also Published As

Publication number Publication date
KR20220105036A (ko) 2022-07-26

Similar Documents

Publication Publication Date Title
WO2022158665A1 (ko) 전자 장치 및 그 제어 방법
KR102483834B1 (ko) 음성 명령을 이용한 사용자 인증 방법 및 전자 장치
CN111095892B (zh) 电子装置及其控制方法
EP3160151B1 (en) Video display device and operation method therefor
WO2017208518A1 (ja) 情報処理装置
EP4037328A1 (en) Display device and artificial intelligence system
WO2020240839A1 (ja) 会話制御プログラム、会話制御方法および情報処理装置
US20190026265A1 (en) Information processing apparatus and information processing method
KR20210036527A (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
EP3916723B1 (en) Devices for providing search results in response to user utterances
WO2020080771A1 (ko) 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
WO2019151667A1 (ko) 자동 응답 시스템으로 개인 정보를 전송하기 위한 장치 및 방법
KR20190142192A (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021241938A1 (ko) 전자장치 및 그 제어방법
WO2021107308A1 (ko) 전자 장치 및 이의 제어 방법
WO2020138943A1 (ko) 음성을 인식하는 장치 및 방법
KR20220126544A (ko) 사용자 명령을 처리하는 장치 및 그 동작 방법
KR20220129078A (ko) 디스플레이 장치
US11915691B2 (en) Electronic apparatus and controlling method thereof
WO2024039191A1 (ko) 전자 장치 및 사용자 발화 처리 방법
WO2022114520A1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
WO2024029850A1 (ko) 언어 모델에 기초하여 사용자 발화를 처리하는 방법 및 전자 장치
WO2024029875A1 (ko) 전자 장치, 지능형 서버, 및 화자 적응형 음성 인식 방법
WO2022124640A1 (ko) 전자장치 및 그 제어방법
WO2021107371A1 (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: 21921428

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21921428

Country of ref document: EP

Kind code of ref document: A1