WO2022060029A1 - 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법 - Google Patents

응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2022060029A1
WO2022060029A1 PCT/KR2021/012409 KR2021012409W WO2022060029A1 WO 2022060029 A1 WO2022060029 A1 WO 2022060029A1 KR 2021012409 W KR2021012409 W KR 2021012409W WO 2022060029 A1 WO2022060029 A1 WO 2022060029A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
response
information
input
changed
Prior art date
Application number
PCT/KR2021/012409
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 EP21869651.6A priority Critical patent/EP4137964A4/en
Priority to CN202180063155.8A priority patent/CN116324759A/zh
Priority to US17/451,117 priority patent/US20220083882A1/en
Publication of WO2022060029A1 publication Critical patent/WO2022060029A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query

Definitions

  • the present disclosure relates to an electronic device that provides information on a reason why a response has changed, and a method of operating the same.
  • the electronic device outputs a response determined adaptively to the user's input in consideration of the user's changed surrounding situation, or outputs a response using a newly updated artificial intelligence model, etc.
  • a new response different from the previous response may be provided.
  • Embodiments of the present disclosure provide an electronic device for generating information on a reason for a change in response, and an operating method thereof.
  • embodiments of the present disclosure provide a computer-readable recording medium in which a program for executing the method in a computer is recorded.
  • Embodiments of the present disclosure are not limited to the above-described embodiments, and other embodiments may exist.
  • a method of providing information on a reason for a change in a response comprising: processing at least one module and outputting a first response according to a first input; obtaining information about a history in which a second response different from the first response is output according to a second input having the same intent as that of the first input; identifying, as a changed module, a module operated differently from at least one module operated according to the second input among at least one module operated according to the first input based on the obtained information; and providing information on a reason why the first response is changed differently from the second response based on the changed module.
  • an output including an output circuit for processing at least one module and outputting a first response according to a first input wealth; and according to a second input having the same intention as that of the first input, obtain information about a history in which a second response different from the first response is output, and based on the obtained information, the first input identifies as a changed module a module operated differently from at least one module operated according to the second input among at least one module operated according to, and based on the changed module, the first response is It is possible to provide an electronic device including at least one processor that provides information on the reason for the change to be different from the above.
  • FIG. 1 is a block diagram illustrating an example of providing information on a reason why a response is changed according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating an exemplary configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 3 is a block diagram illustrating an exemplary configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 4 is a flowchart illustrating an exemplary method of providing information on a reason for a change in a response according to various embodiments of the present disclosure
  • FIG. 5 is a diagram illustrating an example of providing information on a reason why a response is changed according to various embodiments of the present disclosure
  • FIG. 6 is a diagram illustrating an example in which at least one module is operated in response to a user's voice input according to various embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating an exemplary method of identifying a changed module among modules operated according to a first input according to various embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating an exemplary method of identifying a changed module among modules operated according to a first input according to various embodiments of the present disclosure
  • the expression “at least one of a, b or c” refers to a only, b only, c only, a and b two, a and c two, b and c both, a, b and c both. , or a variant thereof.
  • a part when a part is “connected” with another part, it includes not only the case of being “directly connected”, but also the case of being “electrically connected” with another element interposed therebetween. Also, when a part "includes” a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
  • the processor may consist of one or a plurality of processors.
  • one or more processors may include general-purpose processors such as CPUs, APs, Digital Signal Processors (DSPs), etc., graphics-only processors such as GPUs and VPUs (Vision Processing Units), and artificial intelligence-only processors such as NPUs.
  • DSPs Digital Signal Processors
  • GPUs GPUs
  • VPUs Vision Processing Units
  • artificial intelligence-only processors such as NPUs.
  • One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory.
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, and thus a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) This can be referred to as being made.
  • Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm may include supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning, etc., but limited to the above-described examples doesn't happen
  • the artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between the operation result of a previous layer and the plurality of weights.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), It may include a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, and the like, and is not limited to the above-described example.
  • DNN Deep Neural Network
  • BBM Restricted Boltzmann Machine
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • FIG. 1 is a block diagram illustrating an example of providing information on a reason why a response is changed according to various embodiments of the present disclosure
  • the electronic device 1000 processes at least one module 120 according to a user input 110 , and a response 130 that is a result of processing the at least one module 120 .
  • a module may be a device that can output
  • a module may include various processing circuitry and/or executable program instructions, but is not limited to the examples described above.
  • the electronic device 1000 acquires ( 140 ) information on the reason why the current response is changed, different from the previous response, with respect to the currently output response 130 , and provides the obtained information to the user ( 160) can be done.
  • the electronic device 1000 may be implemented in one or more various forms.
  • the electronic device 1000 described in the present disclosure includes a digital camera, a smart phone, a laptop computer, a tablet PC, an electronic book terminal, a digital broadcasting terminal, and a personal digital assistant (PDA).
  • PMP Portable Multimedia Player
  • navigation MP3 player
  • vehicle vehicle
  • AI speaker etc., but is not limited thereto.
  • the electronic device 1000 described in the present disclosure may be a wearable device that can be worn by a user.
  • a wearable device is an accessory-type device (e.g., watch, ring, wristband, ankle band, necklace, eyeglasses, contact lens), a head-mounted-device (HMD), a fabric or clothing-integrated device (e.g., electronic clothing), a body attachable device (eg, a skin pad), or a bioimplantable device (eg, an implantable circuit), but is not limited thereto.
  • HMD head-mounted-device
  • a fabric or clothing-integrated device e.g., electronic clothing
  • body attachable device eg, a skin pad
  • a bioimplantable device eg, an implantable circuit
  • the electronic device 1000 may be a device that receives the user input 110 through an interactive interface and outputs a response 130 to the user input 110 .
  • the interactive interface may include an interface for a user that receives input from the user (eg, voice input or text input) and provides a response to the input from the user.
  • the interactive interface may include a virtual assistant, an artificial intelligence assistant, or the like, but is not limited thereto.
  • the virtual assistant or the artificial intelligence assistant may include, but is not limited to, a software agent that processes a task requested by a user and provides a service specialized to the user.
  • At least one module 120 may recognize the user input 110 , generate and output a response 130 to the recognized user input 110 .
  • the module 120 may include an Automatic Speech Recognition (ASR) module, a Device Dispatcher (DD) or Device Selector (DS) module, a Domain Classifier (DC) module, natural language It may contain various modules containing various processing circuits and/or executable program instructions, such as a Natural Language Understanding (NLU) module, a Dialog manager (DM) module, a Natural Language Generator (NLG) module, etc.
  • ASR Automatic Speech Recognition
  • DD Device Dispatcher
  • DS Device Selector
  • DC Domain Classifier
  • NLU Natural Language Understanding
  • DM Dialog manager
  • NLG Natural Language Generator
  • the module 120 may include various types of modules required to output the response 130 according to the user input 110 .
  • the response 130 may be output as the at least one module 120 operates based on the user input 110 .
  • a message related to the response 130 is output through the electronic device 1000 or an external device (not shown), or an action corresponding to the response 130 is performed by the electronic device 1000 or an external device (not shown). ), the response 130 may be output.
  • the message related to the response 130 may be output as, for example, a voice signal through a speaker or displayed through a display.
  • the action corresponding to the response 130 according to an embodiment may include various types of actions that may be performed by the electronic device 1000 or an external device (not shown).
  • the message related to the response 130 is not limited to the above-described example, and may include various types of information, and may be output in various formats other than voice to deliver the information to the user.
  • the above-described example is not limited, and the action corresponding to the response 130 may include various actions related to the response 130 .
  • the user when a user input having the same intention as a previously input user input is input to the electronic device 1000 , the user may expect to output the same response as the previous response.
  • the currently output response 130 and the previous response may be different from the previously output response despite the response to a user input having the same intention.
  • a current response 130 different from the previous response may be output.
  • the user when the response 130 different from the previous one is output, the user according to an embodiment may have a question about whether the response intended by the user is not output. Users may have questions about what to do to ensure that their intended response is output.
  • the electronic device 1000 obtains necessary information in advance so as to understand and answer the user's question, and uses the obtained information to answer the user's question. , it is possible to provide the user with information about the reason why the current response 130 has changed.
  • the electronic device 1000 may recognize a response desired by the user and guide the user with respect to a user input for outputting a response desired by the user.
  • step 140 the electronic device 1000 operates according to a previous user input having the same intention as the current user input 110 among at least one module 120 operated according to the current user input 110 . It is possible to identify a module that operates differently from the module used, and to obtain information on the reason why the current response 130 is changed based on the identified module.
  • the current response 130 may be different from the previous response.
  • each module may output different output information as it operates differently from the operation in the previous response, even if the same input information is received.
  • information on the reason for the change of the currently output response 130 is a previous user stored in the response history 150 among at least one module 120 operated according to the current user input 110 . Through comparison with information about the module operated according to the input, it may be obtained based on the module identified as the changed module.
  • Information on the reason for the change of the current response 130 may be obtained by inferring information on the cause of change, which may correspond to the change of the identified module.
  • the electronic device 1000 according to an embodiment provides the inferred information to the user, so that the user can determine the cause of the change in the current response 130 .
  • the electronic device 1000 may determine a response desired by the user based on the inferred information, and guide a user input through which the determined response may be output to the user.
  • the electronic device 1000 includes at least one piece of information previously stored as the response history 150 that is operated according to a previous user input having the same intent as the user input 110 of the current response 130 .
  • Information processed by the module may be compared with information processed by the at least one module 120 currently operated according to the user input 110 .
  • information processed by each module may include information input/output to and from each module when each module operates.
  • the changed module since different output information may be output for the same input information as the module is changed, the changed module may be identified by comparing the output information with each other. It is not limited to the above-described input/output information, and by comparing various information about at least one module between the current response 130 and the previous response, a module changed in the current response 130 may be identified.
  • information on the reason why the current response 130 that is different from the previous response is changed even though the user input 110 has the same intention may be obtained based on the information in the response history 150 .
  • the response history 150 may include information about a response history output according to a previously received user input in the electronic device 1000 .
  • information on a new response is added to the response history of the electronic device 1000 .
  • the response history 150 may be stored in an external device (not shown) or a server (not shown) other than the electronic device 1000 .
  • the response history 150 according to an embodiment is not limited to the response 130 output from the electronic device 1000 , but is not limited to the response 130 output by the same user from an external device (not shown). It may also contain information about
  • Information previously stored as the response history 150 may include information on at least one module used to output each response.
  • Information on at least one module may include input/output information for each module.
  • the input/output information for each module may include information input and output information for each module when each module operates.
  • the comparison of the module between the current user input 110 and the previous user input according to an embodiment may be performed based on the comparison of input/output information of the above-described module.
  • a module having different output information may be identified as a changed module.
  • the module when input information between modules is different or when both input information and output information between modules are the same, the module may not be identified as a changed module.
  • the output information about the ASR module of the current user input 110 and the previous When the output information of the ASR module of the user input is the same, it may be determined that the ASR module currently used in the user input 110 is not the changed module.
  • the DC of the current user input 110 is not determined without determining the output information of the DC module. It may be determined that the module is not a changed module.
  • the DD module of the current user input 110 may be identified as a changed module. Accordingly, based on the DD module identified as the changed module, at 140 , information regarding why the current response 130 has changed may be obtained.
  • information about a module operated according to a previous user input corresponding to each module can be identified.
  • the same input information may be received with respect to the same module.
  • information about each module and the module of the previous response corresponding to the input information can be identified.
  • the information about the modules operated according to the previous user input stored in the response history 150 may include input/output information for each module, but may not include identification information for each module. For example, by searching the response history 150 for input information having the same hash value as the hash value from which the input information for each module 120 is converted, information on the module of the previous user input corresponding to each module is obtained. can be identified.
  • information about a module operated according to a previous user input stored in the response history 150 may include identification information for each module 120 , and in each module 120 , Based on the identification information for the module, information on the module of the previous user input corresponding to each module may be identified.
  • the identification information of the module includes information indicating which module each module is, and in 140 , at least one module 120 operated according to the current user input 110 and a previous user respectively corresponding to each other Information regarding at least one module operated in accordance with the input may be used to identify.
  • information processed by the DD module among the modules 120 currently operated according to the user input 110 may be compared with information processed by the DD module among modules operated according to the previous user input, and the result of the comparison Based on the , at 140 , information regarding a reason for a change in response may be obtained.
  • other modules eg, ASR module, DC module, NLU module, DM module, NLG module, etc.
  • ASR module e.g., ASR module, DC module, NLU module, DM module, NLG module, etc.
  • the current user input and previous A comparison may be made between modules of the user input, and based thereon, at 140 , information regarding a reason for a change in response may be obtained.
  • Comparison with information about a module of a previous user input for identifying a changed module among the modules 120 of the current user input 110 is sequentially based on the priority of at least one module 120 can be performed as
  • the priority according to an embodiment may be determined in order of modules that are most likely to be identified as changed modules. For example, the priority may be determined according to the order in which the engine or artificial intelligence model used in each module 120 is updated or changed. For example, a module using the most recently updated artificial intelligence model may be determined with the highest priority. Accordingly, according to an embodiment, when modules are compared according to priority, a changed module among the modules 120 of the current user input 110 may be quickly identified.
  • the priority may be determined based on a difference between the previous response and the current response 130 stored in the response history 150 . For example, if the current response 130 includes an action by the TV, but the previous response includes an action by an AI speaker, for the selected device, based on the existence of a difference, the priority of the module is can be decided. As an example, a DD module in which device selection may be performed may be determined with the highest priority.
  • the comparison operation for the modules may be sequentially performed according to the order in which the at least one module 120 is performed to process the user input 110 , regardless of priority.
  • the comparison operation is not limited to the above-described example, and the comparison operation may be performed with respect to the at least one module 120 according to various orders.
  • Information on the reason for the change of the current response 130 is based on the module 120 operated according to the current user input 110 identified as the changed module, the reason for the change of the current response 130 is By inferring, it can be obtained.
  • identification of a changed module among at least one module 120 currently operated according to the user input 110 may be determined by comparing input/output information between modules operated according to a previous user input.
  • the input information of the DD module among the modules 120 operated according to the current user input 110 is the same as the DD module operated according to the previous user input, but the output information is the output information of the response history 150 and the
  • the DD module among the modules 120 currently operated according to the user input 110 may be identified as a changed module.
  • the DD module as an AI speaker is selected instead of a TV, even if the same input information is input, output information different from the previous one may be output.
  • the reason why the DD module is changed is inferred based on the changed module, so that information on the reason why the current response 130 is changed including the inferred reason may be obtained.
  • at least one candidate reason that may correspond to a case in which the output information of the DD module is changed from information corresponding to the TV to information corresponding to the AI speaker (ex. AI speaker is different from the previous response) new appearances in the environment (using AI speakers more often than TVs) can be inferred.
  • the reason why the current response is different from the previous response may be inferred based on the probability of each candidate reason.
  • Inference may be performed by a pre-trained artificial intelligence model in order to infer the reason why the current response is changed based on information about the changed module.
  • the artificial intelligence model according to an embodiment may be continuously updated based on information about the user's state or surrounding environment that changes in real time so that the reason for the change in the current response can be inferred that is appropriate for the user's current situation. there is.
  • Inference may be performed by a database (eg, Knowledge Base (KB), Database (DB)) in which various examples of modules that process user input and causes corresponding to each are stored in advance.
  • a database eg, Knowledge Base (KB), Database (DB)
  • the database may be continuously updated so that it can be appropriately inferred according to information about a user's state or surrounding environment that changes in real time.
  • the inference based on the database is performed step by step, according to the corresponding information, so that information on the reason for the change of the current response 130 may be obtained.
  • the change in output information of the DD module to the AI speaker may be inferred that the AI speaker is currently available, unlike the previous response.
  • the information on the reason why the current response 130 is changed may include information indicating that the current response 130 is changed as the AI speaker, which is the finally inferred information, is newly placed in the user's surrounding environment.
  • information about the current state of the AI speaker placed in the user's surrounding environment is continuously updated and stored in the database, so that inference can be performed according to the user's current situation.
  • the electronic device 1000 may provide information on the reason for the change in response obtained at 140 to the user according to the user's request at 160 .
  • the electronic device 1000 may receive a later inquiry related to the reason for the change of the user's current response 130 .
  • information regarding the reason for the response change may be provided to the user.
  • the electronic device 1000 may construct necessary data in advance based on the information on the reason for the response change obtained at 140 so as to understand the user's query and output a response message.
  • the electronic device 1000 may update AI models used to understand the user input 110 and generate a response message in advance based on information on the reason why the current response 130 is changed. .
  • the electronic device 1000 If the information on the reason for the response change obtained at 140 includes information indicating that the current response 130 is changed as the AI speaker is newly placed in the user's surrounding environment, the electronic device 1000 is , an artificial intelligence model (ex. NLU model) used to understand the user's query so as to understand the user's query inquiring why the current response 130 is different from the previous response, information on the reason for the response change Based on this, it can be updated in advance.
  • an artificial intelligence model ex. NLU model
  • the electronic device 1000 may generate and output information indicating that the current response 130 is changed as the AI speaker is newly placed in the user's surrounding environment as a response message to the user's query,
  • the artificial intelligence model (ex. DM model) used to generate a response message to the user can be updated in advance.
  • the electronic device 1000 may provide information on the reason for the change in the current response to the user in various forms according to various methods.
  • the user can understand why the current response 130 different from the previous response is output.
  • operations that can be executed by the electronic device 1000 may be instead performed by a server (not shown).
  • the server (not shown) generates a response 130 by processing the at least one module 120 based on the user input 110 received from the electronic device 1000 , and adds the response 130 to the generated response 130 .
  • related information may be transmitted to the electronic device 1000 .
  • the server (not shown) may obtain information on the reason why the current response has changed based on the response history 150 and provide it to the electronic device 1000 .
  • the electronic device 1000 may provide the user with information on the reason why the current response received from the server (not shown) is changed.
  • the server (not shown) may be implemented by at least one computer device.
  • the server (not shown) may be distributed in the form of a cloud and may provide commands, codes, files, contents, etc., but is not limited to the above-described example.
  • FIG. 2 is a block diagram illustrating an exemplary configuration of an electronic device 1000 according to various embodiments of the present disclosure.
  • FIG. 3 is a block diagram illustrating an exemplary configuration of an electronic device 1000 according to various embodiments of the present disclosure.
  • the electronic device 1000 includes a processor 1300 (eg, including a processing circuit), a user input unit 1100 (eg, including an input circuit), and an output unit 1200 (for example, including an output circuit).
  • a processor 1300 eg, including a processing circuit
  • a user input unit 1100 eg, including an input circuit
  • an output unit 1200 for example, including an output circuit.
  • the electronic device 1000 may be implemented by more components than those illustrated in FIG. 2 , or the electronic device 1000 may be implemented by fewer components than those illustrated in FIG. 2 .
  • the electronic device 1000 includes a sensing unit ( 1400 ), communication unit 1500 (eg, including communication circuitry), A/V input unit 1600 (eg, including A/V input circuitry), and memory 1700 (eg, a storage device) may further include.
  • a sensing unit 1400
  • communication unit 1500 eg, including communication circuitry
  • A/V input unit 1600 eg, including A/V input circuitry
  • memory 1700 eg, a storage device
  • the user input unit 1100 may be a device configured to include various input circuits through which a user inputs data for controlling the electronic device 1000 .
  • the user input unit 1100 may include a keypad. ), dome switch, touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral tension measurement method, piezo effect method, etc.), jog wheel, jog switch It may include, but is not limited to.
  • the user input unit 1100 may receive a user input required to request a response from the electronic device 1000 .
  • the user input unit 1100 receives the user's voice input and gesture input through, for example, the microphone 1620 and the camera 1610 . can each receive.
  • the user input unit 1100 may receive various types of user inputs through various means.
  • the output unit 1200 may include various output circuits and may output an audio signal, a video signal, or a vibration signal, for example, the output unit 1200 may include a display unit 1210, a sound output unit ( 1220 , and a vibration motor 1230 may be included, but is not limited to the above-described example.
  • the output unit 1200 may process at least one module according to a first user input and output a first response.
  • the output unit 1200 may output information on the reason why the first response is changed to be different from the previously output second response according to the second user input having the same intention as the first user input.
  • the display unit 1210 displays and outputs information processed by the electronic device 1000 .
  • the display unit 1210 may output information on the reason why the output response is changed according to the user input.
  • the display unit 1210 When the display unit 1210 is configured as a touch screen by forming a layer structure including a touch pad, the display unit 1210 may be used as an input device in addition to an output device.
  • the display unit 1210 may include, for example, a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, or a flexible display.
  • a three-dimensional display (3D display) may include at least one of an electrophoretic display (electrophoretic display), etc., but is not limited to the above-described example.
  • the electronic device 1000 may include two or more display units 1210 .
  • the sound output unit 1220 may include various output circuits, and outputs audio data received from the communication unit 1500 or stored in the memory 1700 .
  • the sound output unit 1220 may include, for example, a speaker.
  • the vibration motor 1230 may output a vibration signal. Also, the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen. According to an embodiment, the sound output unit 1220 and the vibration motor 1230 may output information on a reason for a change in an output response according to a user input.
  • the processor 1300 may include various processing circuits, and typically controls the overall operation of the electronic device 1000 .
  • the processor 1300 executes programs stored in the memory 1700 , and thus the user input unit 1100 , the output unit 1200 , the sensing unit 1400 , the communication unit 1500 , and the A/V input unit 1600 . ) can be controlled in general.
  • the electronic device 1000 may include at least one processor 1300 .
  • the electronic device 1000 may include, for example, a dedicated processor, such as various types of processors such as a central processing unit (CPU), a graphics processing unit (GPU), and a neural processing unit (NPU). , not limited to the above example.
  • a dedicated processor such as various types of processors such as a central processing unit (CPU), a graphics processing unit (GPU), and a neural processing unit (NPU). , not limited to the above example.
  • the processor 1300 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processor 1300 from the memory 1700 or may be received through the communication unit 1500 and provided to the processor 1300 .
  • the processor 1300 may be configured to execute instructions according to program codes stored in a recording device such as a memory.
  • the processor 1300 may provide the user with information about the reason for the change of the response with respect to the response.
  • the processor 1300 is configured to provide information on the history information of the second response, which is a response previously output according to a previous second user input having the same intention as the first user input with respect to the currently output first response. Based on this, information as to why the response has changed can be obtained.
  • the second response may include, among previously output responses, a previously output response to be identified as the second response according to a previous second user input having the same intent as the first user input.
  • a module operated differently from the at least one module operated according to the second user input may be identified. and based on the identified module, information regarding why the response has changed may be obtained.
  • the processor 1300 associates at least one module operated in response to a first user input and at least one module operated in response to a second user input, and provides information between information processed in the corresponding modules. Based on the comparison result, a changed module may be identified.
  • each module operated according to the first user input and each module operated according to the second user input may correspond to each other depending on whether each performs the same role and processing.
  • an ASR module for performing voice recognition according to a first user input and an ASR module for performing voice recognition, which is a module for performing the same processing, as an ASR module according to a second user input may correspond to each other.
  • the processor 1300 obtains input/output information of a first module among at least one module operated according to a first user input, and based on the input information of the first module, according to the second user input Information about a first module corresponding to the first module among the at least one operated module may be identified.
  • the first module and the first 'module according to an embodiment may be modules that perform the same processing, but there is a difference due to various causes such as the module's artificial intelligence model or engine is updated or modified. It can be a module that does
  • information about the module of the second response having the same input information as the input information of the first module may be identified as information about the first 'module.
  • a hash value converted from input information of the first module and information about a module operated according to a second user input including the same hash value may be identified as information about the first 'module.
  • the processor 1300 may identify the first module as a changed module when the output information of the first module is different from the output information of the first' module.
  • the processor 1300 determines a priority with respect to at least one module operated according to a first user input, and according to the determined priority, processing is performed in at least one module operated according to the first user input.
  • the processed information and the information processed by at least one module operated according to the second user input may be sequentially compared.
  • the processor 1300 may identify the changed module in the first response based on the comparison result.
  • the processor 1300 based on the changed module, infers the reason why the first response is different from the second response, and generates information about the reason why the first response is changed, including the inferred reason, can be provided to users.
  • the processor 1300 to a user's query related to a change in the first response, learns the artificial intelligence model in advance so that a response including information on the reason for the change in the first response can be generated.
  • the processor 1300 may pre-train at least one artificial intelligence model used to generate a response to a user input, based on the changed module.
  • the processor 1300 based on the pre-trained artificial intelligence model, as a user input including a query related to a change in the first response is received, by outputting a response including information on the reason why the first response is changed , it is possible to provide the user with information about the reason why the first response is changed.
  • the sensing unit 1400 may include various sensors, detect a state of the electronic device 1000 or a state around the electronic device 1000 , and transmit the sensed state information to the processor 1300 .
  • the sensing unit 1400 includes, for example, a geomagnetic sensor 1410 , an acceleration sensor 1420 , a temperature/humidity sensor 1430 , an infrared sensor 1440 , and a gyroscope sensor 1450 . ), a location sensor (eg, GPS) 1460 , a barometric pressure sensor 1470 , a proximity sensor 1480 , and at least one of an RGB sensor (illuminance sensor) 1490 , but is not limited thereto.
  • the sensing unit 1400 may sense data required to provide information on the reason for the change in response.
  • the sensing unit 1400 may sense various information about the user that may be used to determine the intention of the user input.
  • the communication unit 1500 may include one or more components, each of which includes various communication circuits, so that the electronic device 1000 communicates with the server 2000 or an external device (not shown).
  • the communication unit 1500 may include a short-distance communication unit 1510 , a mobile communication unit 1520 , and a broadcast receiving unit 1530 .
  • Short-range wireless communication unit 1510 Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, infrared ( It may include various communication units, each including various communication circuits, such as IrDA, infrared Data Association) communication unit (not shown), WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant+ communication unit, etc.
  • the present invention is not limited thereto.
  • the mobile communication unit 1520 may include various communication circuits, and transmits/receives wireless signals to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiver 1530 may include various circuits, and receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel. According to an implementation example, the electronic device 1000 may not include the broadcast receiver 1530 .
  • the communication unit 1500 may transmit/receive data necessary to provide information on the reason why the response is changed.
  • the A/V (Audio/Video) input unit 1600 may include various A/V input circuits, and is for inputting an audio signal or a video signal, such as a camera 1610 and a microphone 1620 , for example.
  • a camera 1610 and a microphone 1620 may be included, but is not limited to the above-described example.
  • the camera 1610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a shooting mode.
  • the image captured through the image sensor may be processed through the processor 1300 or a separate image processing unit (not shown).
  • the camera 1610 may be used to receive a user's gesture input.
  • the microphone 1620 receives an external sound signal and processes it as electrical voice data.
  • the microphone 1620 may be used to receive a user's voice input.
  • the memory 1700 may store a program for processing and control of the processor 1300 , and may also store data input to or output from the electronic device 1000 .
  • the memory 1700 may store data necessary to provide information on the reason for the change in response.
  • the memory 1700 may store history information on various responses output from the electronic device 1000 .
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • magnetic memory magnetic disk
  • magnetic disk may include at least one type of storage medium among optical disks.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions, for example, may be classified into a UI module 1710 , a touch screen module 1720 , a notification module 1730 , and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, etc. interworking with the electronic device 1000 for each application.
  • the touch screen module 1720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the processor 1300 .
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • a tactile sensor is an example of a sensor for detecting a touch of a touch screen.
  • a tactile sensor refers to a sensor that senses a touch of a specific object to the extent or higher than that felt by a human.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the hardness of the contact object, and the temperature of the contact point.
  • the user's touch gesture may include, for example, a tap, a touch & hold, a double tap, a drag, a panning, a flick, a drag and drop, a swipe, and the like, but is not limited thereto.
  • the notification module 1730 may generate a signal for notifying the occurrence of an event in the electronic device 1000 .
  • FIG. 4 is a flowchart illustrating an exemplary method of providing information on a reason for a change in a response according to various embodiments of the present disclosure
  • the electronic device 1000 may output a first response according to a first user input, using at least one module.
  • the electronic apparatus 1000 selects a device to which a response is output based on a voice recognition module (eg, ASR) and a voice recognition result on the voice input.
  • a voice recognition module eg, ASR
  • User input by using a module (ex. DD), a module for understanding the user's voice input based on the selected device (ex. NLU), and a module for generating a response based on the understanding result (ex. NLG) You can output a response corresponding to .
  • the electronic device 1000 may output a response using various modules for processing a user input.
  • the electronic device 1000 may obtain information about a history of outputting a second response different from the first response according to a second user input having the same intent as that of the first user input. .
  • the history information on the response may include input/output information for each module.
  • the above-described example is not limited, and the response history information (hereinafter, response history information) may include various types of response-related information.
  • the electronic device 1000 may identify the intention of the first user input. Also, the electronic device 1000 may identify an intention of a user input corresponding to each response included in the response history information stored in advance.
  • the intent when the user input is a voice input, the intent may be identified based on output information of a module (eg, NLU) for understanding the voice input.
  • the intention for the user input may be identified based on a pre-trained artificial intelligence model so as to obtain the intention by extracting features of the user input.
  • the intention of the first user input and the intention of the user input included in the response history information stored in advance may be identified according to various methods.
  • the electronic device 1000 includes information corresponding to a user input among input/output information for each module included in the response history information, for example, a first module in which the user input is processed (eg, an ASR module). Based on the input information on , at least one user input having the same and similar intent as that of the first user input and outputting a response different from the first response may be identified as the second user input.
  • a first module in which the user input is processed eg, an ASR module
  • the second response corresponding to the second user input may include a message different from the message of the first response, or may include an action different from the action of the first response. Accordingly, according to an embodiment, even if the user input has the same and similar intent as that of the first user input, if the response is the same user input as the first response, it may not be identified as the second user input.
  • the second response corresponding to the second user input is the last module (ex. Based on the output information for the NLG module), it can be identified.
  • the second user input and the second response stored as response history information may be identified according to various methods.
  • the electronic device 1000 performs the second user among at least one module operated according to the first user input based on the information about the history from which the second response obtained in operation 420 is output. It is possible to identify a changed module that is operated differently from the operated module according to the input.
  • the electronic device 1000 provides input/output information for at least one module operated according to the second user input and input/output information for at least one module operated according to the first user input among the history information of the second response. By comparing the input/output information, it is possible to identify a changed module of the first response. According to an embodiment, output information may be compared between modules corresponding to each other.
  • information about modules operated according to the first user input and the second user input may correspond according to whether input information of each module is the same or may correspond according to identification information of each module. there is.
  • the first module may be determined as a changed module.
  • the input information of the first module is, for example, converted into a hash value, so that information about the first' module may be identified. According to an embodiment, among the information about the module of the second response, information including the same hash value as the converted hash value may be identified as information about the first 'module.
  • the comparison may be sequentially performed according to the priority assigned to each module, but the comparison is not limited thereto, and the comparison may be performed according to various orders.
  • a module having different output information may be identified as a changed module.
  • the module when input information between modules is different, or when both input information and output information between modules are the same, the module may not be identified as a changed module.
  • a changed module may be identified among the modules used in the first response according to various methods.
  • the electronic device 1000 may provide the user with information regarding the reason why the first response is changed differently from the second response based on the changed module identified in operation 430 .
  • a reason for changing differently from the module of the second response may be inferred, and information on the reason why the first response is changed differently from the second response according to the inferred result may be provided to the user.
  • the electronic device 1000 recognizes a query related to a change in the first response and understands a user input or at least one artificial input used to generate a response so that an appropriate response to the query can be generated.
  • the intelligence model may be trained in advance based on the inferred result.
  • an artificial intelligence model that understands a query or generates a response must be trained in advance to understand a user input including a query related to a change in the first response and , it may be possible to generate an appropriate response to the above query.
  • the electronic device 1000 may understand a query related to a change in the first response included in the user input and generate a response to the query by using the pre-learned artificial intelligence model.
  • FIG. 5 is a diagram illustrating an example of providing information on a reason why a response is changed according to various embodiments of the present disclosure
  • the electronic device 1000 may receive a first user input 510 from a user. Also, the electronic device 1000 may output a first response 540 using at least one module according to the first user input 510 . For example, according to the first user input 510 including the voice of 'Play Music A', a voice message including 'I played music' and an action to play Music A through the AI speaker are output By doing so, the first response 540 may be output.
  • the electronic device 1000 identifies a changed module among at least one module operated according to the first user input as the first response according to the first user input 510 is output in 541 . can do.
  • the electronic device 1000 identifies a second user input having the same intention as that of the first user input 510 from the response history information stored in advance, and at least operates according to the second user input. By comparing the information about the one module and the information about the at least one module operated according to the first user input, the changed module of the first response may be identified.
  • the intention of the first user input 510 including 'play music A' may be determined to be "play music A".
  • at least one user input requesting “play music A” having the same intent as that of the first user input 510 may be identified.
  • a response different from the first response 540 among the identified at least one user input, for example, an action in which music A is played on the TV instead of the AI speaker, the user input output as a response is to be identified as the second user input can
  • the electronic device 1000 may infer the reason for the change of the first response based on the changed module identified in operation 541 . For example, when a DD module is identified as a changed module among at least one module operated according to the first user input, a reason for the change different from the second response may be inferred based on output information of the DD module.
  • the reason why the first response is changed can be inferred.
  • the AI speaker position has been changed, so that the AI speaker is located closer to the user than the TV, and the AI speaker's sound quality is better than that of the TV, so that the AI speaker is a more suitable device for playing music. It can be inferred as the reason that the first response was changed that it was determined.
  • the electronic device 1000 may pre-train at least one artificial intelligence model for understanding a query included in the user input or generating a response based on the inferred result.
  • at least one AI model needs to be updated so that the changed information on the first response is reflected in the at least one AI model used to understand the query or generate a response. Based on the model, it may be possible to understand the user's query as to why the first response has changed, and to generate a response to the query.
  • a user input 520 including a query about the reason why the first response is changed may be additionally received.
  • the electronic device 1000 may understand the user input 520 based on at least one pre-trained artificial intelligence model, and may generate and output a response 550 to the user input 520 .
  • a response 550 to the effect of explaining that the first response is output through the AI speaker instead of the TV may be provided to the user.
  • the user may understand why the first response is different from the second response based on the response 550 .
  • FIG. 6 is a diagram illustrating an example in which at least one module is used for a user's voice input according to various embodiments of the present disclosure
  • the user's first voice input includes modules of ASR 610 , DD 620 , DC 630 , NLU 640 , DM 650 and NLG 660 . By using these sequentially, they can be processed. As the first voice input is processed, a first response may be output.
  • the modules may be processed in the order of ASR 610 , DD 620 , DC 630 , NLU 640 , DM 650 and NLG 660 , but is not limited thereto, Modules may be processed in various orders.
  • ASR 610 , DC 630 , NLU 640 , DM 650 , DD 620 , and NLG 660 may be processed in the order.
  • DC 630 , DD 620 , NLU 640 , DM 650 and NLG 660 it may be processed.
  • the modules of the DD 620 and DC 630 may be combined.
  • the ASR 610 performed on the first voice input based on information about a history in which a second response is output according to another second user input having the same intent as the user's first voice input.
  • DD 620 DC 630 , NLU 640 , DM 650 , and NLG 660
  • a module operated differently from the operation of the module according to the second user input may be identified. Based on the module identified as the changed module, a reason why the first response is different from the second response can be inferred.
  • the electronic device 1000 determines the response to the user's query Based on the results, it can be provided to the user.
  • the electronic device 1000 may provide the user with a recommended utterance in which the same response as the second response may be output based on the inferred result.
  • the ASR 610 module may obtain a text corresponding to the user's voice input by recognizing the user's voice input. For example, as a result of processing the user's voice input by the ASR 610 module, 'play music A' may be obtained as a voice recognition result.
  • a changed module among the modules operated according to the first user input may be identified.
  • input information of the ASR 610 module performed with respect to the first user input and input information of the ASR 610 module performed with respect to the second user input may be compared.
  • output information of the ASR 610 module performed with respect to the first user input and output information of the ASR 610 module performed with respect to the second user input may be compared.
  • the ASR 610 module when input information is the same and similar to each other but output information is different from each other, the ASR 610 module may be identified as a changed module. For example, when voice inputs input to the ASR 610 are identical and similar, but texts output as a result of processing of the ASR 610 are different, the ASR 610 module may be identified as a changed module.
  • the reason why the first response is different from the second response may be inferred based on the changed module, the ASR 610 module performed on the first user input and the second user input. For example, it may be inferred that the reason for the change of the first response is that the voice recognition model used in the ASR 610 module is updated. It is not limited to the above-described example, and various causes may be inferred as the reason for the change of the ASR 610 module.
  • the electronic device 1000 receives a response of a user inquiring about the reason for the change of the first response, which is received after the first response is output. You can understand the query and output the response to it.
  • an artificial intelligence model of a question and answer (QA) domain that can be used to understand a user's query may be updated.
  • various configurations that may be used to generate a response to a user's inquiry about why the first response is changed for example, the DD 620 ), the AI models used in the DC 630 , the DM 650 , etc. may be updated based on the inferred reason.
  • the electronic device 1000 may output a response message indicating that the first response has changed as the voice recognition model is updated, in response to a user's inquiry asking why the first response has changed.
  • the electronic device 1000 may provide the user with a recommended utterance in which the same response as the second response may be output, based on the inferred reason. For example, a recommended utterance in which the same response as the second response may be output may be provided to the user.
  • the DD 620 module may select a device on which an action as a response is to be performed, based on a text corresponding to a user's voice input. For example, based on the text corresponding to the voice input, the AI speaker may be selected by the DD 620 module as the device from which the music A is to be reproduced.
  • the changed module among the modules of the first response may be identified by comparing the input/output information for the DD 620 module performed for the first user input and the second user input with each other. For example, when text input to the DD 620 module is the same, but the selected devices are different as a result of the DD 620 module performing, the DD 620 module may be identified as a changed module.
  • the reason why the first response is different from the second response may be inferred based on the changed module, the DD 620 module operated according to the first user input and the second user input. For example, whether the artificial intelligence model used in the DD 620 module is changed, the location of each device, a change in a device preferred by the user, etc. may be inferred as the reason for the change of the first response.
  • the electronic device 1000 may include, in response to a user's inquiry inquiring why the first response is changed, various information such as whether the artificial intelligence model is changed, the location of each device, and the change of the device preferred by the user. Depending on the cause, a response message indicating that the first response has changed may be output.
  • the electronic device 1000 may provide a guide message for guiding a recommended utterance in which the same response as the second response may be output to the user based on the inferred reason.
  • a guide message for guiding a recommended utterance may be provided to the user so that a user input requesting to play music includes information about a device (eg, a TV) on which music is to be played.
  • the DC 630 module may select a domain based on a device selected as a device to perform an action.
  • the text corresponding to the user's voice input may be understood from the NLU 640 module based on the selected domain.
  • the NLU 640 module may be performed in relation to the AI speaker based on an artificial intelligence model capable of understanding text.
  • the domain used to select the artificial intelligence model for understanding the user's voice input in the DC 630 module so that one of the modules that can be performed in the AI speaker can be output as an action on the response can be selected.
  • the changed module among the modules operated according to the first user input may be identified. there is. For example, if the information about the device on which the action is to be performed is the same input to the DC 630 module, but the selected domains are different as a result of the execution of the DC 630 module, the DC 630 module is the changed module. can be identified.
  • the reason why the first response is different from the second response may be inferred based on the changed module, that is, the DC 630 module operated according to the first user input and the second user input. For example, whether or not the artificial intelligence model used to select a domain in the DC 630 module is changed, changes in selectable domains, etc. may be inferred as the reason for the change of the first response.
  • the electronic device 1000 responds to various causes, such as whether the artificial intelligence model used to select a domain is changed, and changes in selectable domains, in response to a user's inquiry inquiring why the first response is changed. Accordingly, a response message indicating that the first response has changed may be output.
  • the electronic device 1000 may provide the user with a recommended utterance in which the same response as the second response may be output based on the reason for the change of the DC 630 module.
  • the NLU 640 module may understand text corresponding to the user's voice input based on the selected domain. According to an embodiment, the NLU 640 module may be performed based on a plurality of artificial intelligence models for understanding texts existing for each domain. For example, by the NLU 640 module, the user's intent as understood from the text may be determined. According to an embodiment, a response may be output according to the user's intention determined by the NLU 640 module.
  • the changed module among modules of the first response may be identified by comparing the input/output information for the NLU 640 module performed with respect to the first user input and the second user input, respectively. For example, if the domain selection result input to the NLU 640 module is the same, but the performance result of the NLU 640 module and different, understood results of the text are output, the module in which the NLU 640 module is changed can be identified as
  • the reason why the first response is different from the second response may be inferred based on the changed module, the NLU 640 module operated according to the first user input and the second user input. For example, whether the artificial intelligence model used to understand the text in the NLU 640 module is changed may be inferred as the reason for the change of the first response.
  • the electronic device 1000 may change the first response according to various causes, such as whether the artificial intelligence model used to understand the text is changed, to a user's inquiry asking why the first response is changed.
  • a response message indicating that it has been completed can be output.
  • the electronic device 1000 may provide the user with a recommendation utterance in which the same response as the second response may be output based on the reason for the change of the NLU 640 module.
  • the DM 650 module may generate an answer based on a result of understanding the text corresponding to the voice input.
  • the DM 650 module may be performed based on an artificial intelligence model for generating a conversation.
  • answer information corresponding to the user input may be generated by the DM 650 module based on the user's intention obtained based on the processing result of the NLU 640 module.
  • a changed module among the modules operated according to the first user input may be identified.
  • the DM 650 module It can be identified as a changed module.
  • a reason why the first response is different from the second response may be inferred based on the changed module, the DM 650 module for the first user input and the second user input. For example, whether or not the artificial intelligence model used to generate answer information in the DM 650 module is changed may be inferred as the reason for the change of the response.
  • the electronic device 1000 may display a first response according to various causes, such as whether an artificial intelligence model used to generate answer information is changed, to a user's inquiry inquiring why the first response is changed.
  • a response message indicating the change can be output.
  • the electronic device 1000 may provide the user with a recommended utterance in which the same response as the second response may be output based on the reason for the change of the DM 650 module.
  • the NLG 660 module may generate a response message based on answer information obtained as a result of processing by the DM 650 module.
  • the NLG 660 module may be processed based on an artificial intelligence model for generating a response message according to response information.
  • a response message may be generated by generating a natural language based on response information that is a processing result of the DM 650 module.
  • a changed module among the modules operated according to the first user input may be identified.
  • the NLG 660 module may be identified as a changed module.
  • the reason why the first response is different from the second response may be inferred based on the changed module, each of the NLG 660 modules for the first user input and the second user input. For example, whether the artificial intelligence model used to generate the response message in the NLG 660 module is changed may be inferred as the reason for the change of the first response.
  • the electronic device 1000 may display a first response according to various causes, such as whether an artificial intelligence model used to generate a response message is changed, to a user's inquiry inquiring why the first response is changed.
  • a response message indicating the change can be output.
  • the electronic device 1000 may provide the user with a recommended utterance in which the same response as the second response may be output based on the reason for the change of the NLG 660 module.
  • the DD 620 may be performed based on answer information output from the DM 650 .
  • a device on which an action is to be performed may be selected according to the answer information.
  • a response message suitable for the device selected in the DD 620 may be generated based on the response information output from the DM 650 .
  • FIG. 7 is a flowchart illustrating an exemplary method of identifying a changed module among modules operated according to a first user input according to various embodiments of the present disclosure
  • the electronic device 1000 may convert input information of a current module, which is any one of modules operated according to a first user input, into a hash value. there is. According to an embodiment, it may be determined whether each module is a changed module according to the priority. The electronic device 1000 according to an embodiment may determine whether the current module determined according to the priority is a changed module through the process of step 720 or less.
  • input information about a current module determined according to a priority among modules used to output the first response may be converted into a hash value.
  • the hash value according to an embodiment is a value converted into a form for more easily searching for input information identical to the input information.
  • the hash value may include only numeric values, unlike input information that may include both letters and numbers.
  • the input information may be converted into another value instead of a hash value and used to find a corresponding module in a previous response.
  • the second response is a response output according to a second user input that is a user input having the same intent as the user input of the first response, and a response including an action different from the first response or a message different from the first response can be According to an embodiment, among a plurality of responses stored as the response history, a response output according to a second user input having the same intent as the user input of the first response is identified as the second response, and then the second response is added to the second response. Based on this, the operations of step 710 and below may be performed.
  • the electronic device 1000 determines whether information including the same hash value as the hash value converted in operation 710 exists among the information about the module operated according to the second user input.
  • the hash value according to an embodiment may be a value obtained by converting input information for each module.
  • information on a module operated according to a second user input corresponding to the current module may be identified based on a hash value of the input information.
  • the hash value by using the hash value, faster comparison determination is possible, and thus the amount of computation that may be required to determine the changed module may be reduced.
  • Each module according to an embodiment may input different information that may be processed in each module according to an engine and an artificial intelligence module used in each module. Accordingly, according to an embodiment, instead of identification information for each module, based on input information for each module, information about a module operated according to a second user input corresponding to the current module is to be identified in the response history information.
  • the operation of identifying information about the module operated according to the second user input corresponding to the current module is not limited to the above-described example, and may be performed according to various methods as well as a method using input information. For example, a module operated according to a second user input corresponding to the current module may be identified according to the identification information of each module.
  • step 720 if there is no information about the module including the same hash value as the hash value converted in step 710 among the information about each module operated according to the second user input, in step 760, the next priority of modules can be selected. Even if it is information about a module operated according to the second user input that includes a hash value equal to the hash value for the current module, if the input information is not the same as the input information of the current module, in step 760, the next priority A module may be selected. According to an embodiment, even if the hash values are the same, the corresponding input information may not be the same. Therefore, as a hash value, information on a corresponding module is first retrieved from the response history information, and then the comparison between the input information is additionally performed. can be performed.
  • the module when input information of a module is different from input information of a module operated according to a previous user input, the module may not be determined as a changed module. For example, as the operation of at least one module used for processing the first user input before the current module (eg, the ASR module when the current module is a DD module) is changed, the same input as the input information of the current module is changed Information about the module operated according to the second user input including the information may not exist.
  • the current module when information on a module operated according to the second user input that includes input information identical to that of the current module does not exist, it is determined that the current module is not a changed module. Accordingly, it may be determined whether the module has changed with respect to the module of the next priority selected in step 760 among the modules operated according to the first user input.
  • the module of the second priority may be selected, and in step 710, after the input information about the module of the second priority is converted into a hash value , in the following steps, it may be determined whether the module of the second priority is the changed module.
  • one of at least one module used for processing user input before the current module is determined to be a changed module, among the modules of priority after the current module, the module used for processing user input before the current module It may be determined whether at least one module is a changed module first.
  • the electronic device 1000 compares output information on the module of the second user input identified in operation 720 with output information on the current module, and in operation 740, It may be determined whether the output information and the output information for the current module are the same.
  • step 740 if the output information is the same, it is determined that the current module is not a changed module.
  • step 760 it may be determined whether the module is a changed module with respect to a module of the next priority.
  • step 740 if the output information is different, in step 750, it may be determined that the current module is a changed module.
  • the output information of the module is changed, and the module to be processed later is performed based on the changed output information, so that both the input information and the output information of the module are changed afterwards.
  • the operations of steps 710 to 740 may be repeatedly performed until a changed module is determined, and when the changed module is determined, the operation for determining the changed module may be terminated. Based on the result determined as the changed module, the reason why the first response is changed may be inferred, and the inferred result may be provided to the user.
  • FIG. 8 is a flowchart illustrating an exemplary method of identifying a changed module among modules operated according to a first user input according to various embodiments of the present disclosure
  • the electronic device 1000 may convert input information of a current module among modules operated according to a first user input into a hash value.
  • whether the module has changed may be determined according to the order in which the user input is processed. For example, it may be determined whether the ASR module, in which the user's voice input is processed first, is a changed module before other modules.
  • the electronic device 1000 includes information about the module, which includes the same hash value as the hash value converted in operation 810, among information about the module operated according to the second user input. It can be determined whether or not Accordingly, according to an embodiment, information on the module of the second response corresponding to the current module may be identified from the response history information based on the hash value of the input information.
  • the information about the module of the second user input if there is no information about the module, which includes the same hash value as the hash value converted in step 810, in step 830, before processing the first user input rather than the current module A used module (eg, when the current module is a DD module, an ASR module) may be determined as a changed module.
  • the module determined to be the changed module and used earlier than the current module to process the first user input (hereinafter, the previous module) is not the first changed module before the operations of steps 810 and 820 for the current module are performed. It may be a module determined to be For example, since the input/output information of the previous module is the same as the input/output information of the module of the second user input, it is already determined that the module is not a changed module, but the module operated according to the second user input same as the input information of the current module If it does not exist, it may be determined that the input information of the current module is changed as the operation of the previous module performed before the current module is changed. For example, this may correspond to a case in which the output information of the previous module is input to the current module after being transformed by various factors, or the output information of the previous module is incorrectly stored.
  • the DD module obtains a hash value for input information as the current module in step 810, but in step 820, a module having the same hash value among the modules of the second user input does not exist, the previous module In, it may be determined that the ASR module is a changed module.
  • the operation for determining the changed module is terminated, and the reason why the first response is changed may be inferred based on the changed module.
  • the electronic device 1000 compares output information on the module of the second user input identified in operation 830 with output information on the current module, and in operation 850, It may be determined whether the output information and the output information for the current module are the same.
  • step 850 if the output information is the same, it is determined that the current module is not a changed module, and it may be determined whether the current module is a changed module with respect to the module of the next order selected in step 870 .
  • the module of the next order may be determined as a module processed in the order following the current module among modules used to process the first response (eg, a DC module when the current module is a DD module).
  • step 850 if the output information is different, in step 860, it may be determined that the current module is a changed module.
  • the reason why the current response is changed may be easily recognized by the user by pre-obtaining the reason why the current response is different from the previous response to the user input of the same intent and providing it to the user.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • the 'non-transitory storage medium' may exemplarily refer to a device that is tangible and does not include a signal (eg, electromagnetic wave).
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in the present disclosure may be included and provided in a 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 device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, 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.
  • unit may be a hardware component such as a processor or circuit, and/or a software component executed by a hardware component such as a processor.

Abstract

제1 입력에 따라, 적어도 하나의 모듈을 처리하여 제1 응답을 출력하고, 제1 입력의 의도와 동일한 의도를 가진 제2 입력에 따라, 제1 응답과 다른 제2 응답이 출력된 이력에 관한 정보를 획득하고, 획득된 정보에 기초하여, 제1 입력에 따라 동작된 적어도 하나의 모듈 중 제2 입력에 따라 동작된 적어도 하나의 모듈과 다르게 동작된 모듈을 변화된 모듈로 식별하고, 변화된 모듈에 기초하여, 제1 응답이, 제2 응답과 다르게 변화된 이유에 관한 정보를 제공하는, 전자 장치에서, 응답이 변화된 이유에 관한 정보를 제공하는 방법이 제공된다.

Description

응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법
본 출원은, 2020년 9월 16일자로 대한민국 특허청에 출원된 대한민국 특허출원 제 10-2020-0119379호에 기초하여 우선권을 주장하며, 그 전문이 여기에 참조로써 포함된다.
본 개시는, 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법에 관한 것이다.
전자 장치는, 사용자의 변화된 주변 상황을 고려하여, 사용자의 입력에 대해 적응적으로 결정된 응답을 출력하거나, 새롭게 업데이트된 인공지능 모델을 이용하여 응답을 출력하는 등, 다양한 원인으로 인해, 이전 응답의 사용자 입력과 동일한 의도의 사용자 입력에 대해, 이전 응답과는 다른 새로운 응답을 제공할 수 있다.
그러나, 사용자는, 동일한 의도를 가진 사용자 입력이 입력되었음에도, 이전 응답과 현재 응답이 다른 이유를 알 수 없을수 있으므로, 사용자가 현재 응답보다 이전 응답을 더 선호하여도, 어떻게 전자 장치를 제어하여야 할지 알 수 없는 문제가 존재한다.
그러므로, 동일한 사용자 입력에 대해, 이전 응답과 현재 응답이 다른 이유를 사용자에게 제공하여, 사용자가 원하는 응답이 제공될 수 있도록 하는 방법이 필요하다.
본 개시의 실시 예들은 응답이 변화된 이유에 관한 정보를 생성하는 전자 장치 및 그 동작 방법을 제공한다.
또한, 본 개시의 실시 예들은 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. 본 개시의 실시 예들은 상기된 바와 같은 실시 예들로 한정되지 않으며, 또 실시 예들이 존재할 수 있다.
본 개시의 예시적인 실시 예에 따르면, 전자 장치에서, 응답이 변화된 이유에 관한 정보를 제공하는 방법에 있어서, 제1 입력에 따라, 적어도 하나의 모듈을 처리하여 제1 응답을 출력하는 단계; 상기 제1 입력의 의도와 동일한 의도를 가진 제2 입력에 따라, 상기 제1 응답과 다른 제2 응답이 출력된 이력에 관한 정보를 획득하는 단계; 상기 획득된 정보에 기초하여, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 상기 제2 입력에 따라 동작된 적어도 하나의 모듈과 다르게 동작된 모듈을 변화된 모듈로 식별하는 단계; 및 상기 변화된 모듈에 기초하여, 상기 제1 응답이, 상기 제2 응답과 다르게 변화된 이유에 관한 정보를 제공하는 단계를 포함하는, 방법을 제공할 수 있다.
본 개시의 예시적인 실시 예에 따르면, 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치에 있어서, 제1 입력에 따라, 적어도 하나의 모듈을 처리하여 제1 응답을 출력하는 출력 회로를 포함하는 출력부; 및 상기 제1 입력의 의도와 동일한 의도를 가진 제2 입력에 따라, 상기 제1 응답과 다른 제2 응답이 출력된 이력에 관한 정보를 획득하고, 상기 획득된 정보에 기초하여, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 상기 제2 입력에 따라 동작된 적어도 하나의 모듈과 다르게 동작된 모듈을 변화된 모듈로 식별하고, 상기 변화된 모듈에 기초하여, 상기 제1 응답이, 상기 제2 응답과 다르게 변화된 이유에 관한 정보를 제공하는 적어도 하나의 프로세서를 포함하는, 전자 장치를 제공할 수 있다.
본 개시의 예시적인 실시 예에 따르면, 다양한 실시 예들을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
본 개시 내용의 특정 실시예의 상기 및 다른 양태, 특징 및 이점은 첨부 도면과 함께 다음의 상세한 설명으로부터 더욱 명백해질 것이다.
도 1은 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 일 예를 나타낸 블록도이다.
도 2 는 다양한 실시 예들에 의한 전자 장치의 예시적인 구성을 나타내는 블록도이다.
도 3은 다양한 실시 예들에 의한 전자 장치의 예시적인 구성을 나타내는 블록도이다.
도 4는 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 예시적인 방법을 나타낸 순서도이다.
도 5는 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 일 예를 나타낸 도면이다.
도 6은 다양한 실시 예들에 의한 사용자의 음성 입력에 대하여 적어도 하나의 모듈이 동작되는 일 예를 나타낸 도면이다.
도 7은 다양한 실시 예들에 의한 제1 입력에 따라 동작된 모듈 중 변화된 모듈을 식별하는 예시적인 방법을 나타낸 순서도이다.
도 8은 다양한 실시 예들에 의한 제1 입력에 따라 동작된 모듈 중 변화된 모듈을 식별하는 예시적인 방법을 나타낸 순서도이다.
본 개시 내용 전반에 걸쳐, "a, b 또는 c 중 적어도 하나"라는 표현은 a만, b만, c만, a 및 b 둘, a 및 c 둘, b 및 c 둘, a, b 및 c 모두, 또는 이들의 변형을 나타낸다.
아래에서는 첨부한 도면을 참조하여 본 발명의 다양한 실시 예들을 더 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예시적인 실시 예들에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 표시하지 않을 수 있으며, 본 개시 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호가 부여될 수 있다.
본 개시에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 예를 들면, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서, NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 예를 들면, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 지칭할 수 있다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning) 등을 포함할 수 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등을 포함할 수 있고, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 더 상세히 설명하기로 한다.
도 1은 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 일 예를 나타낸 블록도이다.
도 1을 참조하면, 일 실시 예에 의한 전자 장치(1000)는 사용자 입력(110)에 따라 적어도 하나의 모듈(120)을 처리하고, 적어도 하나의 모듈(120)이 처리된 결과인 응답(130)을 출력할 수 있는 장치일 수 있다. 예를 들면, 모듈은 다양한 처리 회로 및/또는 실행 가능한 프로그램 명령을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 일 실시 예에 의한 전자 장치(1000)는, 현재 출력된 응답(130)에 대하여, 이전 응답과 다르게, 현재 응답이 변화된 이유에 관한 정보를 획득(140)하고, 획득된 정보를 사용자에게 제공(160)할 수 있다.
일 실시 예에 따른 전자 장치(1000)는 하나 이상의 다양한 형태로 구현될 수 있다. 예를 들어, 본 개시에서 기술되는 전자 장치(1000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 차량(vehicle), AI 스피커 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 본 개시에서 기술되는 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit)등 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 전자 장치(1000)는 대화형 인터페이스를 통해 사용자 입력(110)을 수신하고, 사용자 입력(110)에 대한 응답(130)을 출력하는 장치일 수 있다. 예를 들면, 대화형 인터페이스는 사용자로부터의 입력(예컨대, 음성 입력 또는 텍스트 입력)을 수신하고, 사용자로부터의 입력에 대한 응답을 제공하는 사용자를 위한 인터페이스를 포함 할 수 있다. 예를 들면, 일 실시 예에 의하면, 대화형 인터페이스는 가상 비서(Virtual assistant), 인공지능 비서 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 가상 비서 또는 인공지능 비서는 사용자가 요구하는 작업을 처리하고 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트를 포함할 수 있으나, 이에 한정되지 않는다.
일 실시 예에 의한 적어도 하나의 모듈(120)은, 사용자 입력(110)을 인식하고, 인식된 사용자 입력(110)에 대한 응답(130)을 생성하여 출력할 수 있다.
예를 들면, 모듈(120)은, 음성 인식(ASR; Automatic Speech Recognition) 모듈, 디바이스 선택(DD(Device Dispatcher) 또는, DS(Device Selector)) 모듈, 도메인 분류(DC; Domain Classifier) 모듈, 자연어 이해(NLU; Natural Language Understanding) 모듈, 다이얼로그 매니져(DM; Dialog manager) 모듈, 자연어 생성(NLG; Natural Language Generator) 모듈 등과 같은 다양한 처리 회로 및/또는 실행 가능한 프로그램 명령을 포함하는 다양한 모듈을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 상술한 예에 한하지 않고, 일 실시 예에 의한 모듈(120)은, 사용자 입력(110)에 따른 응답(130)을 출력하는데 필요한 다양한 종류의 모듈을 포함할 수 있다.
일 실시 예에 의한 응답(130)은, 사용자 입력(110)에 기초하여 적어도 하나의 모듈(120)이 동작함에 따라 출력될 수 있다. 일 실시 예에 의하면, 응답(130)과 관련된 메시지가 전자 장치(1000) 또는 외부 장치(미도시)를 통하여 출력되거나, 응답(130)과 대응되는 액션이, 전자 장치(1000) 또는 외부 장치(미도시)에 의해 수행됨으로써, 응답(130)이 출력될 수 있다.
일 실시 예에 의한 응답(130)과 관련된 메시지는, 예를 들면, 스피커를 통해 음성 신호로서 출력되거나, 디스플레이를 통해 표시됨으로써, 출력될 수 있다. 또한, 일 실시 예에 의한 응답(130)과 대응되는 액션은, 전자 장치(1000) 또는 외부 장치(미도시)에 의해 수행될 수 있는 다양한 종류의 동작을 포함할 수 있다.
예를 들어, "방금 들은 음악 틀어줘"를 포함한 사용자 입력(110)에 따라서, 응답(130)과 대응되는 액션으로서, 외부의 스피커 장치에 의하여, 최근에 재생되었던 "음악 1"이 다시 재생될 수 있고, 응답(130)과 관련된 메시지로서, "음악 1이 재생되었습니다"가 음성으로 출력될 수 있다.
상술한 예에 한하지 않고, 응답(130)과 관련된 메시지는, 다양한 정보를 포함할 수 있으며, 음성 외에 사용자에게 상기 정보를 전달할 수 있는 다양한 형태로 출력될 수 있다. 상술한 예에 한하지 않고, 응답(130)과 대응되는 액션은, 응답(130)과 관련된 다양한 동작을 포함할 수 있다.
일 실시 예에 의한 사용자는 이전에 입력된 사용자 입력과 동일한 의도의 사용자 입력이 전자 장치(1000)에 입력되면, 이전 응답과 동일한 응답이 출력할 것을 기대할 수 있다. 그러나, 일 실시 예에 의하면, 이전에 출력되었던 응답과, 동일한 의도를 가진 사용자 입력에 대한 응답임에도 불구하고, 현재 출력된 응답(130)과, 이전 응답은 서로 다를 수 있다. 예를 들면, 사용자 입력을 처리하는 적어도 하나의 모듈(120)이, 여러가지 원인에 의하여, 이전의 사용자 입력에 대해 동작된 모듈과 다르게 동작함에 따라서, 이전 응답과 다른 현재 응답(130)이 출력될 수 있다.
따라서, 일 실시 예에 의한 사용자는 이전과 다른 응답(130)이 출력되는 경우, 자신이 의도한 응답이 출력되지 않은 것에 대해 의문을 가질 수 있다. 사용자는 자신이 의도하는 응답이 출력되도록 하려면 무엇을 해야 할지에 대해 의문을 가질 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 상술한 사용자의 의문에 대해 이해하고, 답변할 수 있도록, 미리 필요한 정보를 획득해두고, 획득된 정보를 이용하여, 사용자가 가진 의문에 대해 답변함으로써, 사용자에게 현재 응답(130)이 변화된 이유에 관한 정보를 제공할 수 있다. 전자 장치(1000)는 사용자가 원하는 응답을 파악하여, 사용자가 원하는 응답이 출력되도록 하는 사용자 입력에 대하여, 사용자에게 가이드할 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 140에서, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120) 중 현재 사용자 입력(110)과 동일한 의도를 가진 이전 사용자 입력에 따라 동작된 모듈과는 다르게 동작된 모듈을 식별하고, 식별된 모듈에 기초하여, 현재 응답(130)이 변화된 이유에 대한 정보를 획득할 수 있다.
일 실시 예에 의하면, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120)의 동작이 변화됨에 따라서, 현재 응답(130)이 이전 응답과 달라질 수 있다. 예를 들면, 각 모듈에서 이용되는 인공지능 모델 또는 엔진이 갱신되는 경우, 각 모듈은, 동일한 입력 정보가 수신되어도, 이전 응답에서의 동작과는 다르게 동작함에 따라, 다른 출력 정보를 출력할 수 있다. 따라서, 일 실시 예에 의한 현재 출력된 응답(130)이 변화된 이유에 관한 정보는, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120) 중에서, 응답 이력(150)에 저장된 이전 사용자 입력에 따라 동작된 모듈에 관한 정보와의 비교를 통해, 변화된 모듈로 식별된 모듈에 기초하여 획득될 수 있다.
일 실시 예에 의한 현재 응답(130)이 변화된 이유에 대한 정보는, 상기 식별된 모듈의 변화와 대응될 수 있는, 변화 원인에 관한 정보가 추론됨으로써, 획득될 수 있다. 일 실시 예에 의한 전자 장치(1000)가, 상기 추론된 정보를 사용자에게 제공함으로써, 사용자는 현재 응답(130)이 변화된 원인에 대해 파악할 수 있다. 전자 장치(1000)는 상기 추론된 정보에 기초하여, 사용자가 원하는 응답을 판단할 수 있고, 상기 판단된 응답이 출력될 수 있는, 사용자 입력을 사용자에게 가이드할 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 응답 이력(150)으로 미리 저장된 정보 중, 현재 응답(130)의 사용자 입력(110)과 동일한 의도를 가지는 이전의 사용자 입력에 따라 동작된 적어도 하나의 모듈에 의해 처리된 정보와, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120)에 의해 처리된 정보가 비교될 수 있다. 예를 들어, 각 모듈에 의해 처리된 정보는, 각 모듈이 동작할 때, 각 모듈로 입출력된 정보를 포함할 수 있다. 일 실시 예에 의하면, 모듈이 변화됨에 따라, 동일한 입력 정보에 대해 다른 출력 정보가 출력될 수 있으므로, 출력 정보가 서로 비교됨으로써, 변화된 모듈이 식별될 수 있다. 상술한 입출력 정보에 한하지 않고, 적어도 하나의 모듈에 관한 다양한 정보가 현재 응답(130) 및 이전 응답 간에 비교됨으로써, 현재 응답(130)에서 변화된 모듈이 식별될 수 있다.
따라서, 일 실시 예에 의하면, 동일한 의도의 사용자 입력(110)임에도 이전 응답과 달라진 현재 응답(130)이 변화된 이유에 관한 정보가, 응답 이력(150)의 정보에 기초하여, 획득될 수 있다.
일 실시 예에 의한 응답 이력(150)은, 전자 장치(1000)에서, 이전에 수신된 사용자 입력에 따라 출력된 응답의 이력에 관한 정보들을 포함할 수 있다. 일 실시 예에 의한 응답 이력(150)은, 전자 장치(1000)에서, 사용자 입력(110)에 따른 응답(130)이 출력될 때마다 새로운 응답에 관한 정보가 추가되어, 전자 장치(1000)의 메모리에 저장될 수 있다. 상술한 예에 한하지 않고, 응답 이력(150)은, 전자 장치(1000) 외의 외부 장치(미도시) 또는 서버(미도시)에 저장될 수도 있다. 일 실시 예에 의한 응답 이력(150)은, 전자 장치(1000)에서 출력된 응답(130)에 한하지 않고, 외부 장치(미도시)에서, 동일한 사용자에 의해 출력된 응답(130)의 이력에 관한 정보도 포함할 수 있다.
일 실시 예에 의한 응답 이력(150)으로 미리 저장된 정보들은, 각 응답이 출력되는데 이용된 적어도 하나의 모듈에 관한 정보를 포함할 수 있다. 일 실시 예에 의한 적어도 하나의 모듈에 관한 정보는, 각 모듈에 대한 입출력 정보를 포함할 수 있다.
일 실시 예에 의한 각 모듈에 대한 입출력 정보는, 각 모듈이 동작할 때, 각 모듈에 대해 입력된 정보와 출력된 정보를 포함할 수 있다. 일 실시 예에 의한 현재 사용자 입력(110)과 이전 사용자 입력 간의 모듈에 대한 비교는, 상술한 모듈의 입출력 정보의 비교에 기초하여, 수행될 수 있다.
일 실시 예에 의하면, 모듈 간 입력 정보가 동일함에도, 출력 정보가 다른 모듈이 변화된 모듈로 식별될 수 있다. 일 실시 예에 의하면, 모듈 간 입력 정보가 다르거나, 모듈들 간 입력 정보 및 출력 정보가 모두 같은 경우에는, 변화된 모듈로 식별되지 않을 수 있다.
예를 들어, 현재 사용자 입력(110)의 ASR 모듈에 대한 입력 정보와, 이전 사용자 입력의 ASR 모듈에 대한 입력 정보가 서로 동일하면서, 현재 사용자 입력(110)의 ASR 모듈에 대한 출력 정보와, 이전 사용자 입력의 ASR 모듈에 대한 출력 정보가 서로 동일한 경우, 현재 사용자 입력 (110)에서 이용된 ASR 모듈은 변화된 모듈이 아닌 것으로 판단될 수 있다. 현재 사용자 입력(110)의 모듈(120) 중 DC 모듈의 입력 정보와, 이전 사용자 입력의 DC 모듈의 입력 정보가 다른 경우, DC 모듈의 출력 정보에 대한 판단 없이, 현재 사용자 입력(110)의 DC 모듈은 변화된 모듈이 아닌 것으로 판단될 수 있다.
현재 사용자 입력(110)의 모듈(120) 중 DD 모듈의 입력 정보와, 이전 사용자 입력의 DD 모듈의 입력 정보가 서로 동일하면서, 현재 사용자 입력(110)의 DD 모듈의 출력 정보와, 이전 사용자 입력의 DD 모듈의 출력 정보가 서로 다른 경우, 현재 사용자 입력(110)의 DD 모듈은 변화된 모듈로 식별될 수 있다. 따라서, 변화된 모듈로 식별된 DD 모듈에 기초하여, 140에서, 현재 응답(130)이 변화된 이유에 관한 정보가 획득될 수 있다.
일 실시 예에 의하면, 현재 사용자 입력(110)에 따라 동작된 각 모듈(120)에 대한 입력 정보에 기초하여, 각 모듈과 대응되는 이전 사용자 입력에 따라 동작된 모듈에 관한 정보(ex. 입출력 정보)가 식별될 수 있다. 이전 사용자 입력의 의도와 동일한 의도의 사용자 입력이 수신된 경우, 동일한 모듈에 대하여는, 동일한 입력 정보가 수신될 수 있음을 고려하여, 입력 정보에 따라, 각 모듈과 대응되는 이전 응답의 모듈에 관한 정보가 식별될 수 있다. 이 경우, 응답 이력(150)에 저장된, 이전 사용자 입력에 따라 동작된 모듈에 관한 정보는, 각 모듈에 대한 입출력 정보를 포함하되, 각 모듈에 대한 식별 정보는 포함하지 않을 수 있다. 예를 들면, 각 모듈(120)에 대한 입력 정보가 변환된 해쉬 값과 동일한 해쉬 값을 가지는 입력 정보가 응답 이력(150)에서 검색됨으로써, 각 모듈과 대응되는 이전 사용자 입력의 모듈에 관한 정보가 식별될 수 있다.
상술한 예에 한하지 않고, 응답 이력(150)에 저장된, 이전 사용자 입력에 따라 동작된 모듈에 관한 정보는, 각 모듈(120)에 대한 식별 정보를 포함할 수 있고, 각 모듈(120)에 대한 식별 정보에 기초하여, 각 모듈과 대응되는 이전 사용자 입력의 모듈에 관한 정보가 식별될 수도 있다. 일 실시 예에 의한 모듈의 식별 정보는, 각 모듈이 어떤 모듈인지를 나타내는 정보를 포함하여, 140에서, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120)과 각각 대응되는 이전 사용자 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보가 식별되는데 이용될 수 있다.
예를 들어, 현재 사용자 입력(110)에 따라 동작된 모듈(120) 중 DD 모듈에서 처리된 정보는, 이전 사용자 입력에 따라 동작된 모듈 중 DD 모듈에서 처리된 정보와 비교될 수 있고, 비교 결과에 기초하여, 140에서, 응답 변화의 이유에 관한 정보가 획득될 수 있다. 일 실시 예에 의하면, DD 모듈에 한하지 않고, 사용자 입력을 처리하기 위해 이용된 다른 모듈들(ex. ASR 모듈, DC 모듈, NLU 모듈, DM 모듈, NLG 모듈등)도, 현재 사용자 입력과 이전 사용자 입력의 모듈들 간 비교될 수 있고, 이에 기초하여, 140에서, 응답 변화의 이유에 관한 정보가 획득될 수 있다.
일 실시 예에 의한 현재 사용자 입력(110)의 모듈(120) 중 변화된 모듈을 식별하기 위한 이전 사용자 입력의 모듈에 관한 정보와의 비교는, 적어도 하나의 모듈(120)에 대한 우선 순위에 따라 차례대로 수행될 수 있다.
일 실시 예에 의한 우선 순위는, 변화된 모듈로 식별될 가능성이 높은 모듈 순으로 결정될 수 있다. 예를 들어, 우선 순위는, 각각의 모듈(120)에서 이용되는 엔진이나 인공지능 모델이 갱신되거나 변경된 순서에 따라서, 결정될 수 있다. 일 예로, 가장 최근에 갱신된 인공지능 모델을 이용하는 모듈이 가장 높은 우선 순위로 결정될 수 있다. 따라서, 일 실시 예에 따른, 우선 순위에 따라, 모듈들이 비교되는 경우, 현재 사용자 입력(110)의 모듈(120) 중 변화된 모듈이 빠르게 식별될 수 있다.
일 실시 예에 의한 우선 순위는, 응답 이력(150)에 저장된 이전 응답과 현재 응답(130) 간의 차이에 기초하여, 결정될 수도 있다. 예를 들어, 현재 응답(130)은, TV에 의한 액션을 포함하나, 이전 응답은, AI 스피커에 의한 액션을 포함하는 경우, 선택된 디바이스에 있어서, 차이가 존재함에 기초하여, 모듈의 우선 순위가 결정될 수 있다. 일 예로, 디바이스 선택이 수행될 수 있는, DD 모듈이 최우선 순위로 결정될 수 있다.
상술한 예에 한하지 않고, 우선 순위는 다양한 기준에 따라서, 결정될 수 있다.
일 실시 예에 의하면, 우선 순위와는 상관 없이, 적어도 하나의 모듈(120)이 사용자 입력(110)을 처리하기 위해 수행되는 순서에 따라, 모듈에 대한 비교 동작이 차례대로 수행될 수 있다.
상술한 예에 한하지 않고, 비교 동작은 다양한 순서에 따라 적어도 하나의 모듈(120)에 대하여 수행될 수 있다.
일 실시 예에 의한 현재 응답(130)의 변화 이유에 관한 정보는, 변화된 모듈로 식별된 현재 사용자 입력(110)에 따라 동작된 모듈(120)에 기초하여, 현재 응답(130)이 변화된 이유가 추론됨으로써, 획득될 수 있다.
예를 들어, "음악 1 틀어줘"란 사용자 입력에 대해, 응답 이력(150)에 저장된 이전 응답에서는, 음악 1이 TV에서 출력되었으나, 현재 응답(130)에서는, AI 스피커에서 출력된 경우를 가정한다.
일 실시 예에 의하면, 현재 사용자 입력(110)에 따라 동작된 적어도 하나의 모듈(120) 중 변화된 모듈의 식별은, 이전 사용자 입력에 따라 동작된 모듈 간의 입출력 정보의 비교로 판단될 수 있다. 예를 들면, 현재 사용자 입력(110)에 따라 동작된 모듈(120) 중 DD 모듈의 입력 정보는 이전 사용자 입력에 따라 동작된 DD 모듈과 동일하나, 출력 정보는 응답 이력(150)의 출력 정보와 다른 것으로 판단된 경우, 현재 사용자 입력(110)에 따라 동작된 모듈(120) 중 DD 모듈이 변화된 모듈로서 식별될 수 있다. 일 예로, DD 모듈에서, TV 대신 AI 스피커가 선택됨에 따라, 동일한 입력 정보가 입력되어도, 이전과 다른 출력 정보가 출력될 수 있다.
일 실시 예에 의하면, 변화된 모듈에 기초하여, DD 모듈이 변화된 이유가 추론됨으로써, 상기 추론된 이유를 포함하는, 현재 응답(130)이 변화된 이유에 관한 정보가 획득될 수 있다. 예를 들어, DD 모듈의 출력 정보가, TV와 대응되는 정보에서 AI 스피커와 대응되는 정보로 변화되는 경우와 대응될 수 있는, 적어도 하나의 후보 이유(ex. AI 스피커가 이전 응답과는 달리 주변 환경에 새롭게 출현함, AI 스피커를 TV보다 더 자주 사용함)가 추론될 수 있다. 일 실시 예에 의하면, 각 후보 이유에 대한 확률에 기초하여, 현재 응답이 이전 응답과 다르게 변화된 이유가 추론될 수 있다.
일 실시 예에 의한 추론은, 변화된 모듈에 관한 정보에 기초하여 현재 응답이 변화된 이유를 추론하기 위하여 미리 학습된 인공지능 모델에 의해 수행될 수 있다. 일 실시 예에 의한 인공지능 모델은, 사용자의 현재 상황에 적합한, 현재 응답이 변화된 이유가 추론될 수 있도록, 실시간으로 변화하는 사용자의 상태 또는 주변 환경에 관한 정보에 기초하여, 지속적으로 갱신될 수 있다.
추론은, 사용자 입력을 처리하는 모듈들의 다양하게 변화되는 예와 각각 대응되는 원인이 미리 저장되어 있는 데이터 베이스(ex. KB(Knowledge Base), DB(Data base))에 의해 수행될 수 있다. 일 실시 예에 의한 데이터 베이스는, 실시간으로 변화하는 사용자의 상태 또는 주변 환경에 관한 정보에 따라 적절하게 추론 가능하도록, 지속적으로 갱신될 수 있다.
상술한 예에 한하지 않고, 일 실시 예에 의한 추론은 다양한 데이터에 기초한 다양한 방법에 따라서 수행될 수 있다.
일 실시 예에 의한, 데이터 베이스에 기초한 추론은, 단계적으로, 각각 대응되는 정보에 따라서, 거듭 수행됨으로써, 현재 응답(130)의 변화 이유에 대한 정보가 획득될 수 있다. 예를 들어, TV에서, AI 스피커로 DD 모듈의 출력 정보가 바뀐 것은, 이전 응답과는 달리, 현재에, AI 스피커가 이용 가능한 상태임이 추론될 수 있다. 예를 들면, AI 스피커가 이용 가능한 상태인 것은, AI 스피커가 사용자의 주변 환경에 새로 놓임에 따른 것임이, 추론될 수 있다. 따라서, 현재 응답(130)이 변화된 이유에 관한 정보는, 상기 최종적으로 추론된 정보인 AI 스피커가 사용자의 주변 환경에 새로 놓임에 따라, 현재 응답(130)이 변화되었음을 나타내는 정보를 포함할 수 있다. 일 실시 예에 의하면, AI 스피커가 사용자의 주변 환경에 놓인 현재 상태에 관한 정보가, 데이터 베이스에서 지속적으로 갱신되어 저장됨으로써, 사용자의 현재 상황에 맞는 추론이 수행될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 140에서 획득된 응답 변화의 이유에 관한 정보를, 160에서, 사용자의 요청에 따라 사용자에게 제공할 수 있다.
예를 들면, 전자 장치(1000)는, 140에서 획득된 현재 응답(130)이 변화된 이유에 관한 정보에 기초하여, 이후에 수신될 수 있는, 사용자의 현재 응답(130)의 변화 이유와 관련된 질의를 이해하고 응답 메시지를 출력함으로써, 160에서, 응답 변화의 이유에 관한 정보를 사용자에게 제공할 수 있다.
따라서, 일 실시 예에 의한 전자 장치(1000)는, 사용자의 질의를 이해하고 응답 메시지를 출력할 수 있도록, 필요한 데이터를, 140에서 획득된 응답 변화의 이유에 관한 정보에 기초하여, 미리 구축할 수 있다. 예를 들어, 전자 장치(1000)는 사용자 입력(110)을 이해하고, 응답 메시지를 생성하는데 이용되는 인공지능 모델들을 상기 현재 응답(130)이 변화된 이유에 관한 정보에 기초하여 미리 갱신해둘 수 있다.
만약, 140에서 획득된, 응답 변화의 이유에 관한 정보가, AI 스피커가 사용자의 주변 환경에 새로 놓임에 따라, 현재 응답(130)이 변화되었음을 나타내는 정보를 포함하는 경우, 전자 장치(1000)는, 현재 응답(130)이 이전 응답과 왜 다른지를 문의하는 사용자의 질의를 이해할 수 있도록, 사용자의 질의를 이해하는데 이용되는 인공지능 모델(ex. NLU 모델)을, 상기 응답 변화의 이유에 관한 정보에 기초하여, 미리 갱신할 수 있다.
전자 장치(1000)는, 상기 사용자의 질의에 대한, 응답 메시지로, AI 스피커가 사용자의 주변 환경에 새로 놓임에 따라, 현재 응답(130)이 변화되었음을 나타내는 정보를 생성하여 출력할 수 있도록, 사용자에게 응답 메시지를 생성하는데 이용되는 인공지능 모델(ex. DM 모델)을 미리 갱신할 수 있다.
상술한 예에 한하지 않고, 전자 장치(1000)는, 현재 응답이 변화된 이유에 관한 정보를 다양한 방법에 따라서, 다양한 형태로 사용자에게 제공할 수 있다.
따라서, 일 실시 예에 의한 사용자는 응답(130)이 변화된 이유에 관한 정보를 전자 장치(1000)로부터 제공받음에 따라서, 이전 응답과 다른 현재 응답(130)이 출력된 이유를 이해할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)가 실행할 수 있는 동작들은, 서버(미도시)에 의해 대신 수행될 수 있다. 예컨대, 서버(미도시)는 전자 장치(1000)로부터 수신되는 사용자 입력(110)에 기초하여 적어도 하나의 모듈(120)을 처리함으로써, 응답(130)을 생성하고, 생성된 응답(130)에 관한 정보를 전자 장치(1000)에 송신할 수 있다. 서버(미도시)는, 응답 이력(150)에 기초하여 현재 응답이 변화된 이유에 관한 정보를 획득하여, 전자 장치(1000)에 제공할 수 있다. 일 실시 예에 의한 전자 장치(1000)는 서버(미도시)로부터 수신된 현재 응답이 변화된 이유에 관한 정보를 사용자에게 제공할 수 있다.
일 실시 예에 의한 서버(미도시)는, 적어도 하나의 컴퓨터 장치로 구현될 수 있다. 예를 들면, 서버(미도시)는 클라우드 형태로 분산될 수 있으며, 명령, 코드, 파일, 컨텐츠 등을 제공할 수 있으나, 전술한 예에 한정되지 않는다.
도 2 는 다양한 실시 예들에 의한 전자 장치(1000)의 예시적인 구성을 나타내는 블록도이다.
도 3은 다양한 실시 예들에 의한 전자 장치(1000)의 예시적인 구성을 나타내는 블록도이다.
도 2를 참조하면, 전자 장치(1000)는, 프로세서(1300)(예를 들어, 처리 회로를 포함), 사용자 입력부(1100)(예를 들어, 입력 회로를 포함) 및 출력부(1200)(예를 들어, 출력 회로를 포함)을 포함할 수 있다. 그러나, 도 2에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
예를 들면, 전자 장치(1000)는 도 3에 도시된 바와 같이, 일 실시 예에 따른 전자 장치(1000)는, 프로세서(1300), 사용자 입력부(1100) 및 출력부(1200) 이외에 센싱부(1400), 통신부(1500)(예를 들어, 통신 회로를 포함), A/V 입력부(1600)(예를 들어 A/V 입력 회로를 포함) 및 메모리(1700)(예를 들어, 저장 장치)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 다양한 입력 회로를 포함하도록 구성된 장치 일 수 있다.. 예를 들어, 사용자 입력부(1100)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등을 포함 할 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(1100)는, 전자 장치(1000)의 응답을 요청하는데 필요한, 사용자의 입력을 수신할 수 있다. 일 실시 예에 의한 사용자 입력이, 음성 입력 및 제스처 입력을 포함하는 경우, 사용자 입력부(1100)는, 예를 들어, 마이크로폰(1620) 및 카메라(1610)를 통해, 사용자의 음성 입력 및 제스처 입력을 각각 수신할 수 있다. 상술한 예에 한하지 않고, 사용자 입력부(1100)는, 다양한 수단을 통하여, 다양한 형태의 사용자 입력을 수신할 수 있다.
출력부(1200)는, 다양한 출력 회로를 포함 할 수 있고, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 예를 들어, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있으나, 전술한 예에 한정되지 않는다. 일 실시 예에 의한 출력부(1200)는 제1 사용자 입력에 따라 적어도 하나의 모듈을 처리하여, 제1 응답을 출력할 수 있다. 출력부(1200)는, 제1 응답이, 제1 사용자 입력과 동일한 의도를 가진 제2 사용자 입력에 따라 기 출력된 제2 응답과 다르게 변화된 이유에 관한 정보를 출력할 수 있다.
디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 디스플레이부(1210)는 사용자 입력에 따라 출력된 응답이 변화된 이유에 관한 정보를 출력할 수 있다.
디스플레이부(1210)가 터치패드를 포함하여 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는, 예를 들어, 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 등 중에서 적어도 하나를 포함할 수 있지만, 전술한 예에 한정되지 않는다. 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 다양한 출력 회로를 포함할 수 있고, 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 음향 출력부(1220)는, 예를 들어, 스피커를 포함할 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다. 일 실시 예에 의하면, 음향 출력부(1220) 및 진동 모터(1230)는 사용자 입력에 따라 출력된 응답이 변화된 이유에 관한 정보를 출력할 수 있다.
프로세서(1300)는, 다양한 처리 회로를 포함할 수 있고, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다.
전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다. 예를 들면, 전자 장치(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서와 같은, 예를 들어, 전용 프로세서를 포함할 수 있지만, 전술한 예에 한정되지 않는다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는 사용자 입력에 따라 출력된 응답이 변화된 경우, 상기 응답에 대해, 응답이 변화된 이유에 관한 정보를 사용자에게 제공할 수 있다. 일 실시 예에 의한 프로세서(1300)는, 현재 출력된 제1 응답에 대한 제1 사용자 입력과 동일한 의도를 가진 이전의 제2 사용자 입력에 따라서 이전에 출력된 응답인, 제2 응답의 이력 정보에 기초하여, 응답이 변화된 이유에 관한 정보를 획득할 수 있다. 일 실시 예에 의한 제2 응답은, 이전에 출력된 응답들 중에서, 제1 사용자 입력과 동일한 의도를 가진 이전의 제2 사용자 입력에 따라서, 이전에 출력된 응답이, 상기 제2 응답으로서 식별될 수 있다. 일 실시 예에 의하면, 제2 응답의 이력 정보에 기초하여, 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈 중에서, 제2 사용자 입력에 따라서 동작된 적어도 하나의 모듈과 다르게 동작된 모듈이 식별될 수 있고, 식별된 모듈에 기초하여, 응답이 변화된 이유에 관한 정보가 획득될 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈과 제2 사용자 입력에 따라서 동작된 적어도 하나의 모듈을 대응시키고, 서로 대응되는 모듈에서 처리된 정보들 간의 비교 결과에 기초하여, 변화된 모듈을 식별할 수 있다. 예를 들면, 제1 사용자 입력에 따라서 동작된 각 모듈과, 제2 사용자 입력에 따라서 동작된 각 모듈은, 각각 동일한 역할 및 처리를 수행하는지에 따라서, 서로 대응될 수 있다. 일 예로, 제1 사용자 입력에 따라서, 음성 인식을 수행하는 ASR 모듈과, 제2 사용자 입력에 따라서, 상기 ASR 모듈과, 동일한 처리를 수행하는 모듈인, 음성 인식을 수행하는 ASR 모듈이 서로 대응될 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈 중 제1 모듈의 입출력 정보를 획득하고, 제1 모듈의 입력 정보에 기초하여, 제2 사용자 입력에 따라서 동작된 적어도 하나의 모듈 중 제1 모듈과 대응되는 제1' 모듈에 관한 정보를 식별할 수 있다. 일 실시 예에 의한 제1 모듈과 제1' 모듈은, 서로 동일한 처리를 수행하는 모듈일 수 있으나, 모듈의 인공지능 모델 또는 엔진이 갱신되거나, 수정되는 등의 다양한 원인으로 인해, 서로 차이가 존재하는 모듈일 수 있다.
예를 들면, 제1 모듈의 입력 정보와 동일한 입력 정보를 가지는 제2 응답의 모듈에 관한 정보가 제1' 모듈에 관한 정보로 식별될 수 있다. 또한, 제1 모듈의 입력 정보가 변환된 해쉬 값과, 동일한 해쉬 값을 포함하는 제2 사용자 입력에 따라 동작된 모듈에 관한 정보가, 제1' 모듈에 관한 정보로서 식별될 수 있다. 프로세서(1300)는, 제1 모듈의 출력 정보와, 제1' 모듈에 대한 출력 정보가 다른 경우, 제1 모듈을 변화된 모듈로 식별할 수 있다.
일 실시 예에 의한 프로세서(1300)는 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈에 대해 우선 순위를 결정하고, 결정된 우선 순위에 따라서, 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈에서 처리된 정보와 제2 사용자 입력에 따라서 동작된 적어도 하나의 모듈에서 처리된 정보를 순차적으로 비교할 수 있다. 프로세서(1300)는, 비교 결과에 기초하여, 제1 응답에서, 변화된 모듈을 식별할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 변화된 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유를 추론하고, 추론된 이유를 포함하는, 제1 응답이 변화된 이유에 관한 정보를 생성하여 사용자에게 제공할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제1 응답의 변화에 관련된 사용자의 질의에 대하여, 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답이 생성될 수 있도록, 인공지능 모델을 미리 학습해둘 수 있다. 예를 들면, 프로세서(1300)는, 변화된 모듈에 기초하여, 사용자 입력에 대한 응답을 생성하는데 이용되는 적어도 하나의 인공지능 모델을 미리 학습해둘 수 있다. 프로세서(1300)는, 미리 학습된 인공지능 모델에 기초하여, 제1 응답의 변화에 관련된 질의를 포함하는 사용자 입력이 수신됨에 따라, 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답을 출력함으로써, 사용자에게 제1 응답이 변화된 이유에 관한 정보를 사용자에게 제공할 수 있다.
센싱부(1400)는, 다양한 센서를 포함할 수 있고, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 상태 정보를 프로세서(1300)로 전달할 수 있다.
센싱부(1400)는, 예를 들어, 지자기 센서(Geomagnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 센싱부(1400)는, 응답이 변화된 이유에 관한 정보를 제공하는데 있어 필요한 데이터를 감지할 수 있다. 예를 들어, 센싱부(1400)는 사용자 입력의 의도를 판단하는데 이용될 수 있는, 사용자에 관한 다양한 정보를 감지할 수 있다.
통신부(1500)는, 전자 장치(1000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게, 각각이 다양한 통신 회로를 포함하는, 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부(미도시), WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등과 같이, 각각이 다양한 통신 회로를 포함하는, 다양한 통신부를 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 다양한 통신 회로를 포함 할 수 있고, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 다양한 회로를 포함할 수 있고, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 통신부(1500)는 응답이 변화된 이유에 관한 정보를 제공하는데 필요한 데이터를 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 다양한 A/V 입력 회로를 포함할 수 있고, 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 예를 들면 포함될 수 있지만, 전술한 예에 한정되는 것은 아니다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 예를 들어, 카메라(1610)는 사용자의 제스처 입력을 수신하는데 이용될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 사용자의 음성 입력을 수신하는데 이용될 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 응답이 변화된 이유에 관한 정보를 제공하는데 필요한 데이터를 저장할 수 있다. 예를 들면, 메모리(1700)는 전자 장치(1000)에서 출력된 다양한 응답에 대한 이력 정보를 저장할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시 예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등을, 예를 들면, 포함할 수 있지만, 전술한 예에 한정되는 것은 아니다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 4는 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 예시적인 방법을 나타낸 순서도이다.
도 4를 참조하면, 단계 410에서, 일 실시 예에 의한 전자 장치(1000)는 제1 사용자 입력에 따라, 적어도 하나의 모듈을 이용하여, 제1 응답을 출력할 수 있다.
예를 들어, 전자 장치(1000)는 사용자의 음성 입력이 수신됨에 따라, 음성 입력에 대해, 음성 인식을 수행하는 모듈(ex. ASR), 음성 인식 결과에 기초하여, 응답이 출력될 디바이스를 선택하는 모듈(ex. DD), 선택된 디바이스에 기초하여, 사용자의 음성 입력을 이해하는 모듈(ex. NLU), 이해 결과에 기초하여 응답을 생성하는 모듈(ex. NLG) 등을 이용함으로써, 사용자 입력에 대응하는 응답을 출력할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자 입력을 처리하기 위한 다양한 모듈을 이용하여, 응답을 출력할 수 있다.
단계 420에서, 전자 장치(1000)는, 제1 사용자 입력의 의도와 동일한 의도를 가진 제2 사용자 입력에 따라, 제1 응답과는 다른 제2 응답이 출력된 이력에 관한 정보를 획득할 수 있다.
일 실시 예에 의하면, 응답에 대한 이력 정보는, 각 모듈에 대한 입출력 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 응답에 대한 이력 정보(이하, 응답 이력 정보)는, 응답과 관련된 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 사용자 입력의 의도를 식별할 수 있다. 또한, 전자 장치(1000)는, 미리 저장된 응답 이력 정보에 포함된, 각 응답과 대응되는 사용자 입력의 의도를 식별할 수 있다.
예를 들면, 사용자 입력이 음성 입력인 경우, 의도는, 음성 입력을 이해하는 모듈(ex. NLU)의 출력 정보에 기초하여 식별될 수 있다. 사용자 입력에 대한 의도는, 사용자 입력의 특징을 추출하여, 의도를 획득할 수 있도록, 미리 학습된 인공지능 모델에 기초하여 식별될 수 있다. 상술한 예에 한하지 않고, 다양한 방법에 따라서, 제1 사용자 입력의 의도와 미리 저장된 응답 이력 정보에 포함된 사용자 입력의 의도가 식별될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 응답 이력 정보에 포함된 각 모듈에 대한 입출력 정보 중 사용자 입력과 대응되는 정보, 예를 들면, 사용자 입력이 처리된 최초의 모듈(ex. ASR 모듈)에 대한 입력 정보에 기초하여, 제1 사용자 입력의 의도와 동일 유사한 의도를 가지고, 제1 응답과는 다른 응답이 출력된, 적어도 하나의 사용자 입력에 대해, 제2 사용자 입력으로 식별할 수 있다.
예를 들면, 제2 사용자 입력에 대응하는 제2 응답은, 제1 응답의 메시지와는 다른 메시지를 포함하거나, 제1 응답의 액션과는 다른 액션을 포함할 수 있다. 따라서, 일 실시 예에 의하면, 제1 사용자 입력의 의도와 동일 유사한 의도를 가지는 사용자 입력이어도, 응답이 제1 응답과 동일한 사용자 입력인 경우, 제2 사용자 입력으로 식별되지 않을 수 있다. 일 실시 예에 의한 응답 이력 정보에서, 제2 사용자 입력에 대응하는 제2 응답은, 제2 사용자 입력에 대응하는, 각 모듈에 대한 입출력 정보 중 제2 사용자 입력이 처리된 최후의 모듈(ex. NLG 모듈)에 대한 출력 정보에 기초하여, 식별될 수 있다.
상술한 예에 한하지 않고, 응답 이력 정보로서 저장된, 제2 사용자 입력 및 제2 응답은, 다양한 방법에 따라서, 식별될 수 있다.
단계 430에서, 일 실시 예에 의한 전자 장치(1000)는 단계 420에서 획득된 제2 응답이 출력된 이력에 관한 정보에 기초하여, 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈 중 제2 사용자 입력에 따라서 동작된 모듈과는 다르게 동작된, 변화된 모듈을 식별할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 제2 응답의 이력 정보 중, 제2 사용자 입력에 따라서 동작된 적어도 하나의 모듈에 대한 입출력 정보 및 제1 사용자 입력에 따라서 동작된 적어도 하나의 모듈에 대한 입출력 정보를 비교함으로써, 제1 응답의 변화된 모듈을 식별할 수 있다. 일 실시 예에 의하면, 서로 대응되는 모듈들 간에, 출력 정보가 비교될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 따라 동작된 모듈들에 관한 정보는, 각 모듈의 입력 정보가 동일한지 여부에 따라서 대응되거나, 각 모듈의 식별 정보에 따라서 대응될 수 있다.
예를 들면, 제1 사용자 입력에 따라 동작된 모듈 중 제1 모듈의 입력 정보에 기초하여, 제2 사용자 입력에 따라 동작된 모듈에 관한 정보 중 제1 모듈과 대응되는 제1' 모듈에 관한 정보가 식별될 수 있고, 제1 모듈의 출력 정보와 제1' 모듈에 대한 출력 정보가 다른 경우, 제1 모듈은 변화된 모듈로 판단될 수 있다.
일 실시 예에 의한 제1 모듈의 입력 정보는, 예를 들어, 해쉬 값으로 변환됨으로써, 제1' 모듈에 관한 정보가 식별될 수 있다. 일 실시 예에 의하면, 제2 응답의 모듈에 관한 정보 중 상기 변환된 해쉬 값과 동일한 해쉬 값을 포함하는 정보가 제1' 모듈에 관한 정보로서 식별될 수 있다.
일 실시 예에 의하면, 각 모듈에 대해 할당된 우선 순위에 따라서, 순차적으로 비교될 수 있으나, 이에 한하지 않고, 다양한 순서에 따라서, 비교될 수 있다.
일 실시 예에 의하면, 모듈들 간 입력 정보가 동일함에도, 출력 정보가 다른 모듈이 변화된 모듈로 식별될 수 있다. 일 실시 예에 의하면, 모듈들 간 입력 정보가 다르거나, 모듈들 간 입력 정보 및 출력 정보가 모두 같은 경우에는, 변화된 모듈로 식별되지 않을 수 있다. 상술한 예에 한하지 않고, 다양한 방법에 따라서, 제1 응답에서 이용된 모듈 중에서, 변화된 모듈이 식별될 수 있다.
단계 440에서, 일 실시 예에 의한 전자 장치(1000)는, 단계 430에서, 식별된 변화된 모듈에 기초하여, 제1 응답이 제2 응답과 다르게 변화된 이유에 관한 정보를 사용자에게 제공할 수 있다.
일 실시 예에 의하면, 제1 응답에서 변화된 모듈에 대하여, 제2 응답의 모듈과 다르게 변화된 이유가 추론될 수 있고, 추론된 결과에 따라서, 제1 응답이 제2 응답과 다르게 변화된 이유에 관한 정보가 사용자에게 제공될 수 있다.
일 실시 예에 의한 전자 장치(1000)는 제1 응답의 변화에 관련된 질의를 인식하고, 질의에 대한 적절한 응답이 생성될 수 있도록, 사용자 입력을 이해하거나, 응답을 생성하는데 이용되는 적어도 하나의 인공지능 모델을, 추론된 결과에 기초하여, 미리 학습해둘 수 있다. 일 실시 예에 의하면, 제1 응답의 변화와 관련된 정보에 기초하여, 질의를 이해하거나 응답을 생성하는 인공지능 모델이 미리 학습되어야, 제1 응답의 변화에 관련된 질의를 포함하는 사용자 입력을 이해하고, 상기 질의에 대한 적절한 응답 생성이 가능할 수 있다. 따라서, 일 실시 예에 의한 전자 장치(1000)는 미리 학습된 인공지능 모델을 이용하여, 사용자 입력에 포함된 제1 응답의 변화에 관련된 질의를 이해하고, 질의에 대한 응답을 생성할 수 있다.
도 5는 다양한 실시 예들에 의한 응답이 변화된 이유에 관한 정보를 제공하는 일 예를 나타낸 도면이다.
도 5를 참조하면, 전자 장치(1000)는 사용자로부터 제1 사용자 입력(510)을 수신할 수 있다. 또한, 전자 장치(1000)는 제1 사용자 입력(510)에 따라 적어도 하나의 모듈을 이용하여 제1 응답(540)을 출력할 수 있다. 예를 들면, '음악 A 틀어줘'의 음성을 포함한, 제1 사용자 입력(510)에 따라서, '음악을 틀었습니다'를 포함하는 음성 메시지와, AI 스피커를 통해 음악 A를 재생하는 액션이 출력됨으로써, 제1 응답(540)이 출력될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 541에서, 제1 사용자 입력(510)에 따른, 제1 응답이 출력됨에 따라서, 제1 사용자 입력에 따라 동작된 적어도 하나의 모듈 중 변화된 모듈을 식별할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 미리 저장된 응답 이력 정보에서, 제1 사용자 입력(510)의 의도와 동일한 의도를 가진 제2 사용자 입력을 식별하고, 제2 사용자 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보와 제1 사용자 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보를 비교함으로써, 제1 응답의 변화된 모듈을 식별할 수 있다.
예를 들어, '음악 A 틀어줘'를 포함한 제1 사용자 입력(510)의 의도는, "음악 A 재생"인 것으로 판단될 수 있다. 응답 이력 정보에서, 제1 사용자 입력(510)의 의도와 동일한 의도를 가진, "음악 A 재생"을 요청하는 적어도 하나의 사용자 입력이 식별될 수 있다. 상기 식별된 적어도 하나의 사용자 입력 중 제1 응답(540)과 다른 응답, 예를 들면, AI 스피커 대신 TV로 음악 A가 재생되는 액션이, 응답으로서 출력된 사용자 입력이 제2 사용자 입력으로 식별될 수 있다.
542에서, 전자 장치(1000)는, 541에서 식별된 변화된 모듈에 기초하여, 제1 응답이 변화된 이유에 대하여 추론할 수 있다. 예를 들어, 제1 사용자 입력에 따라 동작된 적어도 하나의 모듈 중 DD 모듈이 변화된 모듈로 식별된 경우, DD 모듈의 출력 정보에 기초하여, 제2 응답과는 다르게 변화된 이유가 추론될 수 있다.
일 예로, DD 모듈의 출력 정보가, 제2 응답과는 달리, 제1 응답에서는, TV에서, AI 스피커로 변경되었음이 식별될 수 있고, 이에 기초하여, 제1 응답이 변화된 이유가 추론될 수 있다. 예를 들면, AI 스피커 위치가 변경되어, TV보다 AI 스피커가 사용자에게 더 가까이에 위치하게 되었고, AI 스피커의 음질이 TV의 음질보다 더 좋아서, 음악을 재생하기에 AI 스피커가 더 적합한 장치인 것으로 판단되었음이 제1 응답이 변화된 이유로서, 추론될 수 있다.
543에서, 전자 장치(1000)는, 추론된 결과에 기초하여, 사용자 입력에 포함된 질의를 이해하거나, 응답을 생성하기 위한 적어도 하나의 인공지능 모델을 미리 학습해 둘 수 있다. 일 실시 예에 의하면, 변화된 제1 응답에 관한 정보가 질의를 이해하거나, 응답을 생성하는데 이용되는 적어도 하나의 인공지능 모델에 반영되도록, 적어도 하나의 인공지능 모델이 갱신되어야, 적어도 하나의 인공지능 모델에 기초한, 제1 응답이 변화된 이유에 관한 사용자의 질의를 이해하고, 질의에 대한 응답 생성이 가능할 수 있다.
일 실시 예에 의하면, 제1 응답(540)이 출력된 이후에, 제1 응답이 변화된 이유에 관한 질의를 포함하는, 사용자 입력(520)이, 추가로 수신될 수 있다. 전자 장치(1000)는, 미리 학습된 적어도 하나의 인공지능 모델에 기초하여, 사용자 입력(520)을 이해하고, 사용자 입력(520)에 대한 응답(550)을 생성하여 출력할 수 있다.
예를 들면, 사용자 입력(520)에 대하여, 제2 응답이 출력될 때와는 달리, 제1 응답이 출력될 때에는, AI 스피커의 위치가 변경되었고, AI 스피커의 성능이 TV보다 더 좋다고 판단됨에 따라서, TV 대신 AI 스피커를 통해 제1 응답이 출력되었음을 설명하는 취지의 응답(550)이 사용자에게 제공될 수 있다.
따라서, 530과 같이, 일 실시 예에 의한 사용자는, 응답(550)에 기초하여, 제1 응답이 제2 응답과는 다르게 변화된 이유를 이해할 수 있다.
도 6은 다양한 실시 예들에 의한 사용자의 음성 입력에 대하여 적어도 하나의 모듈이 이용되는 일 예를 나타낸 도면이다.
도 6을 참조하면, 일 실시 예에 의한 사용자의 제1 음성 입력은, ASR(610), DD(620), DC(630), NLU(640), DM(650) 및 NLG(660)의 모듈이 순차적으로 이용됨으로써, 처리될 수 있다. 제1 음성 입력이 처리됨에 따라, 제1 응답이 출력될 수 있다.
일 실시 예에 의하면, ASR(610), DD(620), DC(630), NLU(640), DM(650) 및 NLG(660) 순서로, 모듈이 처리될 수 있으나, 이에 한하지 않고, 다양한 순서로 모듈들이 처리될 수 있다. 예를 들면, ASR(610), DC(630), NLU(640), DM(650), DD(620) 및 NLG(660) 순서로, 처리될 수도 있다. 또한, ASR(610), DC(630), DD(620), NLU(640), DM(650) 및 NLG(660) 순서로, 처리될 수 있다. 또한, DD(620) 및 DC(630)의 모듈이 결합될 수도 있다.
이하에서는, ASR(610), DD(620), DC(630), NLU(640), DM(650) 및 NLG(660) 순서로, 처리되는 예시를 기준으로 설명하였다.
일 실시 예에 의하면, 사용자의 제1 음성 입력과 동일한 의도를 가진 다른 제2 사용자 입력에 따라서 제2 응답이 출력된 이력에 관한 정보에 기초하여, 제1 음성 입력에 대하여 수행된 ASR(610), DD(620), DC(630), NLU(640), DM(650) 및 NLG(660)의 모듈 중 제2 사용자 입력에 따른 모듈의 동작과 다르게 동작된 모듈이 식별될 수 있다. 변화된 모듈로 식별된 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대응하여, 전자 장치(1000)는, 사용자의 질의에 대한 응답을 상기 판단된 결과에 기초하여 사용자에게 제공할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 상기 추론된 결과에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다.
일 실시 예에 의한 ASR(610) 모듈은, 사용자의 음성 입력을 인식하여, 사용자의 음성 입력과 대응되는 텍스트를 획득할 수 있다. 예를 들어, 사용자의 음성 입력에 대해 ASR(610) 모듈이 처리된 결과, '음악 A 틀어줘'가 음성 인식 결과로 획득될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 ASR(610) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들면, 제1 사용자 입력에 대해 수행된 ASR(610) 모듈의 입력 정보 및 제2 사용자 입력에 대해 수행된 ASR(610) 모듈의 입력 정보가 비교될 수 있다. 또한, 제1 사용자 입력에 대해 수행된 ASR(610) 모듈의 출력 정보 및 제2 사용자 입력에 대해 수행된 ASR(610) 모듈의 출력 정보가 비교될 수 있다.
일 실시 예에 의하면, 입력 정보가 서로 동일 유사하나, 출력 정보는 서로 다른 경우, ASR(610) 모듈이 변화된 모듈로 식별될 수 있다. 예를 들어, ASR(610)에 입력된 음성 입력이 각각 동일 유사하나, ASR(610)의 처리 결과 출력된 텍스트가 각각 다른 경우, ASR(610) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 대해 수행된 ASR(610) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, ASR(610) 모듈에 쓰인 음성 인식 모델이 업데이트됨이 제1 응답의 변화 이유로서 추론될 수 있다. 상술한 예에 한하지 않고, ASR(610) 모듈의 변화 이유로, 다양한 원인들이 추론될 수 있다.
일 실시 예에 의하면, 상기 추론된 이유에 기초하여, NLU(640)가 갱신됨으로써, 전자 장치(1000)는 제1 응답이 출력된 이후에 수신된, 제1 응답이 변화된 이유를 문의하는 사용자의 질의를 이해하고, 이에 대한 응답을 출력할 수 있다. 예를 들면, NLU(640)의 도메인 중, 사용자의 질의를 이해하는데 이용될 수 있는 질의응답(QA; question and answer) 도메인의 인공지능 모델이 갱신될 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)에서, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대하여, 응답이 생성되는데 이용될 수 있는, 다양한 구성들, 예를 들면, DD(620), DC(630), DM(650) 등에서 이용되는 인공지능 모델들이, 상기 추론된 이유에 기초하여, 갱신될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 음성 인식 모델이 갱신됨에 따라, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 상기 추론된 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다. 예를 들면, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화가 사용자에게 제공될 수 있다.
일 실시 예에 의한 DD(620) 모듈은, 사용자의 음성 입력과 대응되는 텍스트에 기초하여, 응답으로서의 액션이 수행될 디바이스를 선택할 수 있다. 예를 들어, 음성 입력과 대응되는 텍스트에 기초하여, DD(620) 모듈에 의해, 음악 A가 재생될 디바이스로서, AI 스피커가 선택될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 DD(620) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 응답의 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들어, DD(620) 모듈에 입력된 텍스트가 서로 동일하나, DD(620) 모듈의 수행 결과, 선택된 디바이스가 서로 다른 경우, DD(620) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 따라 동작된 DD(620) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, DD(620) 모듈에 쓰인 인공지능 모델의 변경 여부, 각 디바이스의 위치 변화, 사용자가 선호하는 디바이스의 변화 등이 제1 응답의 변화 이유로서 추론될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 인공지능 모델의 변경 여부, 각 디바이스의 위치 변화, 사용자가 선호하는 디바이스의 변화 등의 다양한 원인에 따라서, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 상기 추론된 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 안내하는 가이드 메시지를 사용자에게 제공할 수 있다. 예를 들면, 음악 재생을 요청하는 사용자 입력이 음악이 재생될 장치(ex. TV)에 관한 정보를 포함하도록, 추천 발화를 안내하는 가이드 메시지가 사용자에게 제공될 수 있다.
일 실시 예에 의한 DC(630) 모듈은, 액션이 수행될 디바이스로 선택된 장치에 기초하여, 도메인을 선택할 수 있다. 일 실시 예에 의하면, 선택된 도메인에 기초하여, NLU(640) 모듈에서 사용자의 음성 입력과 대응되는 텍스트가 이해될 수 있다. 예를 들어, DD(620) 모듈에 의해, AI 스피커가 선택된 경우, AI 스피커와 관련하여, 텍스트를 이해할 수 있는 인공지능 모델에 기초하여, NLU(640) 모듈이 수행될 수 있다. 이 경우, AI 스피커에서 수행될 수 있는 모듈들 중 하나가 응답에 대한 액션으로서 출력될 수 있도록, DC(630) 모듈에서, 사용자의 음성 입력을 이해하기 위한 인공지능 모델을 선택하는데 이용되는 도메인이 선택될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 DC(630) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들어, DC(630) 모듈에 입력된, 액션이 수행될 디바이스에 관한 정보가 동일하나, DC(630) 모듈의 수행 결과, 선택된 도메인이 서로 다른 경우, DC(630) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 따라 동작된 DC(630) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, DC(630) 모듈에서 도메인을 선택하는데 이용된 인공지능 모델의 변경 여부, 선택 가능한 도메인들의 변화 등이 제1 응답의 변화 이유로서 추론될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 도메인을 선택하는데 이용된 인공지능 모델의 변경 여부, 선택 가능한 도메인들의 변화 등의 다양한 원인에 따라서, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 DC(630) 모듈의 변화 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다.
일 실시 예에 의한 NLU(640) 모듈은, 선택된 도메인에 기초하여, 사용자의 음성 입력과 대응되는 텍스트를 이해할 수 있다. 일 실시 예에 의하면, 각 도메인 별로 존재하는 텍스트를 이해하기 위한 복수 개의 인공지능 모델에 기초하여, NLU(640) 모듈이 수행될 수 있다. 예를 들어, NLU(640) 모듈에 의해, 텍스트로부터 이해되는 사용자의 의도가 판단될 수 있다. 일 실시 예에 의하면, NLU(640) 모듈에 의해 판단된 사용자의 의도에 따라서, 응답이 출력될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 NLU(640) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 응답의 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들어, NLU(640) 모듈에 입력된 도메인 선택 결과는 동일하나, NLU(640) 모듈의 수행 결과, 서로 다른, 텍스트의 이해된 결과가 출력된 다른 경우, NLU(640) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 따라 동작된 NLU(640) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, NLU(640) 모듈에서 텍스트를 이해하는데 쓰인 인공지능 모델의 변경 여부가 제1 응답의 변화 이유로서 추론될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 텍스트를 이해하는데 쓰인 인공지능 모델의 변경 여부 등의 다양한 원인에 따라서, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 NLU(640) 모듈의 변화 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다.
일 실시 예에 의한 DM(650) 모듈은, 음성 입력과 대응되는 텍스트를 이해한 결과에 기초하여, 답변을 생성할 수 있다. 일 실시 예에 의하면, 대화를 생성하기 위한 인공지능 모델에 기초하여, DM(650) 모듈이 수행될 수 있다. 예를 들어, NLU(640) 모듈의 처리 결과에 기초하여 획득된 사용자의 의도에 기초하여, DM(650) 모듈에 의해, 사용자 입력에 대응하는 답변 정보가 생성될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 DM(650) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들어, DM(650) 모듈에 입력된 음성 입력에 대한 사용자의 의도는 동일하나, DM(650) 모듈의 수행 결과, 사용자 입력에 대응하는 답변 정보가 서로 다른 경우, DM(650) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 대한 DM(650) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, DM(650) 모듈에서 답변 정보를 생성하는데 쓰인 인공지능 모델의 변경 여부가 응답의 변화 이유로서 추론될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 답변 정보를 생성하는데 쓰인 인공지능 모델의 변경 여부 등의 다양한 원인에 따라서, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 DM(650) 모듈의 변화 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다.
일 실시 예에 의한 NLG(660) 모듈은, DM(650) 모듈의 처리 결과로 획득된 답변 정보에 기초하여, 응답 메시지를 생성할 수 있다. 일 실시 예에 의하면, 답변 정보에 따라서, 응답 메시지를 생성하기 위한 인공지능 모델에 기초하여, NLG(660) 모듈이 처리될 수 있다. 예를 들면, DM(650) 모듈의 처리 결과인 답변 정보에 기초하여, 자연어가 생성됨으로써, 응답 메시지가 생성될 수 있다.
일 실시 예에 의하면, 제1 사용자 입력 및 제2 사용자 입력에 대해 각각 수행된 NLG(660) 모듈에 대한 입출력 정보가 서로 비교됨으로써, 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈이 식별될 수 있다. 예를 들어, NLG(660) 모듈에 입력된 답변 정보는 동일하나, NLG(660) 모듈의 수행 결과, 생성된 응답 메시지가 서로 다른 경우, NLG(660) 모듈이 변화된 모듈로 식별될 수 있다.
일 실시 예에 의하면, 변화된 모듈인, 제1 사용자 입력 및 제2 사용자 입력에 대한 각각의 NLG(660) 모듈에 기초하여, 제1 응답이 제2 응답과 다른 이유가 추론될 수 있다. 예를 들면, NLG(660) 모듈에서 응답 메시지를 생성하는데 쓰인 인공지능 모델의 변경 여부가 제1 응답의 변화 이유로서 추론될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 제1 응답이 변화된 이유를 문의하는 사용자의 질의에 대해, 응답 메시지를 생성하는데 쓰인 인공지능 모델의 변경 여부 등의 다양한 원인에 따라서, 제1 응답이 변화되었음을 나타내는 응답 메시지를 출력할 수 있다.
일 실시 예에 의하면, 제1 응답이 출력된 이후에 수신된, 사용자 입력에 대한 사용자 의도가, 이전에 출력된 제2 응답과 동일한 응답의 출력을 요청하는 것으로 판단된 경우, 전자 장치(1000)는 NLG(660) 모듈의 변화 이유에 기초하여, 제2 응답과 동일한 응답이 출력될 수 있는 추천 발화를 사용자에게 제공할 수 있다.
다만, 일 실시 예에 따라, DD(620)의 처리 순서가 변경된, ASR(610), DC(630), NLU(640), DM(650), DD(620) 및 NLG(660) 순서로 모듈이 처리되는 경우, DD(620)는, DM(650)에서 출력된 답변 정보에 기초하여 수행될 수 있다. 예를 들면, DD(620)에서는, 답변 정보에 따라서, 액션이 수행될 디바이스가 선택될 수 있다. NLG(660)에서는, DM(650)에서 출력된 답변 정보에 기초하여, DD(620)에서 선택된 디바이스에 적합한 응답 메시지가 생성될 수 있다.
도 7은 다양한 실시 예들에 의한 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈을 식별하는 예시적인 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 710에서, 일 실시 예에 의한 전자 장치(1000)는, 제1 사용자 입력에 따라 동작된 모듈 중 어느 하나의 모듈인, 현재 모듈의 입력 정보를 해쉬 값으로 변환할 수 있다. 일 실시 예에 의하면, 우선 순위에 따라서, 각 모듈에 대해 변화된 모듈인지 여부가 판단될 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 우선 순위에 따라 결정된 현재 모듈에 대해, 변화된 모듈인지 여부가 단계 720 이하의 과정을 통하여 판단될 수 있다.
일 실시 예에 의하면, 제1 응답이 출력되는데 이용된 모듈 중, 우선 순위에 따라 결정된 현재 모듈에 대한 입력 정보가 해쉬 값으로 변환될 수 있다. 일 실시 예에 의한 해쉬 값은, 입력 정보와 동일한 입력 정보를 보다 쉽게 검색하기 위한 형태로 변환된 값이다. 예를 들어, 해쉬 값은 문자와 숫자를 함께 포함할 수 있는 입력 정보와는 달리 숫자 값만을 포함할 수 있다. 상술한 예에 한하지 않고, 입력 정보는, 해쉬 값 대신 다른 값으로 변환되어, 이전 응답에서 대응되는 모듈을 찾는데 이용될 수 있다.
일 실시 예에 의한 제2 응답은, 제1 응답의 사용자 입력과 동일한 의도를 가진 사용자 입력인, 제2 사용자 입력에 따라 출력된 응답으로, 제1 응답과는 다른 액션 또는 다른 메시지를 포함하는 응답일 수 있다. 일 실시 예에 의하면, 응답 이력으로 저장된 복수의 응답들 중에서, 제1 응답의 사용자 입력과 동일한 의도를 가진 제2 사용자 입력에 따라 출력된 응답이 제2 응답으로 식별된 후, 상기 제2 응답에 기초하여, 단계 710 이하의 동작이 수행될 수 있다.
단계 720에서, 일 실시 예에 의한 전자 장치(1000)는, 제2 사용자 입력에 따라 동작된 모듈에 관한 정보 중 단계 710에서 변환된 해쉬 값과 동일한 해쉬 값을 포함하는 정보가 존재하는지 여부가 판단될 수 있다. 일 실시 예에 의한 해쉬 값은, 각 모듈에 대한 입력 정보가 변환된 값일 수 있다.
따라서, 일 실시 예에 의하면, 입력 정보의 해쉬 값에 기초하여, 현재 모듈과 대응되는 제2 사용자 입력에 따라 동작된 모듈에 관한 정보가 식별될 수 있다. 또한, 일 실시 예에 의하면, 해쉬 값을 이용함으로써, 보다 빠른 비교 판단이 가능함에 따라, 변화된 모듈을 판단하는데 소요될 수 있는 연산량이 감소될 수 있다.
일 실시 예에 의한 각각의 모듈들은, 각 모듈에서 이용되는 엔진, 인공지능 모듈에 따라, 각 모듈에서 처리될 수 있는, 서로 다른 정보가 입력될 수 있다. 따라서, 일 실시 예에 의하면, 각 모듈에 대한 식별 정보 대신, 각 모듈에 대한 입력 정보에 기초하여, 현재 모듈과 대응되는 제2 사용자 입력에 따라 동작된 모듈에 관한 정보가 응답 이력 정보에서 식별될 수 있다. 상술한 예에 한하지 않고, 현재 모듈과 대응되는 제2 사용자 입력에 따라 동작된 모듈에 관한 정보를 식별하는 동작은, 입력 정보를 이용하는 방법뿐만 아니라, 다양한 방법에 따라서, 수행될 수 있다. 예를 들면, 각 모듈의 식별 정보에 따라서, 현재 모듈과 대응되는 제2 사용자 입력에 따라 동작된 모듈이 식별될 수도 있다.
단계 720에서, 제2 사용자 입력에 따라 동작된 각 모듈에 관한 정보 중 단계 710에서 변환된 해쉬 값과 동일한 해쉬 값을 포함하는, 모듈에 관한 정보가 존재하지 않는 경우, 단계 760에서, 다음 우선 순위의 모듈이 선택될 수 있다. 현재 모듈에 대한 해쉬 값과 동일한 해쉬 값을 포함하는, 제2 사용자 입력에 따라 동작된 모듈에 관한 정보여도, 입력 정보가 현재 모듈의 입력 정보와 동일하지 않은 경우, 단계 760에서, 다음 우선 순위의 모듈이 선택될 수 있다. 일 실시 예에 의하면, 해쉬 값이 동일하더라도, 대응되는 입력 정보는 서로 동일하지 않을 수 있으므로, 해쉬 값으로, 대응되는 모듈에 관한 정보가 응답 이력 정보에서 먼저 검색된 후, 입력 정보 간 비교가 추가로 수행될 수 있다.
일 실시 예에 의하면, 모듈의 입력 정보가 이전의 사용자 입력에 따라 동작된 모듈의 입력 정보와 다른 경우, 모듈은, 변화된 모듈로 판단되지 않을 수 있다. 예를 들면, 현재 모듈 보다 먼저 제1 사용자 입력의 처리에 이용된 적어도 하나의 모듈(ex. 현재 모듈이 DD 모듈인 경우, ASR 모듈)의 동작이 변화됨에 따라, 현재 모듈의 입력 정보와 동일한 입력 정보를 포함하는 제2 사용자 입력에 따라 동작된 모듈에 관한 정보가 존재하지 않을 수 있다.
따라서, 일 실시 예에 의하면, 현재 모듈의 입력 정보와 동일한 입력 정보를 포함하는, 제2 사용자 입력에 따라 동작된 모듈에 관한 정보가 존재하지 않는 경우, 현재 모듈은, 변화된 모듈이 아닌 것으로 판단됨에 따라, 제1 사용자 입력에 따라 동작된 모듈 중, 단계 760에서 선택된 다음 우선 순위의 모듈에 대해 변화된 모듈인지 여부가 판단될 수 있다.
예를 들면, 현재 모듈이 최우선 순위인 경우, 단계 760에서, 두 번째 우선순위의 모듈이 선택될 수 있고, 단계 710에서, 선택된 두 번째 우선 순위의 모듈에 대한 입력 정보가 해쉬 값으로 변환된 후, 이하 단계에서, 두 번째 우선 순위의 모듈이 변화된 모듈인지 여부가 판단될 수 있다.
다만, 현재 모듈보다 먼저 사용자 입력의 처리에 이용된 적어도 하나의 모듈 중 하나가 변화된 모듈로 판단됨이 바람직하므로, 현재 모듈 다음 우선 순위의 모듈들 중, 현재 모듈보다 먼저 사용자 입력의 처리에 이용된 적어도 하나의 모듈이 먼저, 변화된 모듈인지 여부가 판단될 수 있다.
단계 730에서, 일 실시 예에 의한 전자 장치(1000)는, 단계 720에서 식별된 제2 사용자 입력의 모듈에 대한 출력 정보와, 현재 모듈에 대한 출력 정보를 비교하여, 단계 740에서, 모듈에 대한 출력 정보와 현재 모듈에 대한 출력 정보가 동일한지 여부를 판단할 수 있다.
단계 740에서, 출력 정보가 동일한 경우, 현재 모듈은, 변화된 모듈이 아닌 것으로 판단됨에 따라, 단계 760에서, 다음 우선 순위의 모듈에 대해 변화된 모듈인지 여부가 판단될 수 있다.
단계 740에서, 출력 정보가 다른 경우, 단계 750에서, 현재 모듈이 변화된 모듈인 것으로 판단될 수 있다.
일 실시 예에 의하면, 하나의 모듈이 변화되는 경우, 모듈의 출력 정보가 달라지고, 이후에 처리되는 모듈은, 달라진 출력 정보에 기초하여 수행되므로, 이후 모듈의 입력 정보 및 출력 정보가 모두 변화될 수 있다. 따라서, 일 실시 예에 의하면, 변화된 모듈이 판단될 때까지, 단계 710 내지 740의 동작이 반복하여 수행될 수 있고, 변화된 모듈이 판단된 경우, 변화된 모듈을 판단하기 위한 동작은 종료될 수 있다. 변화된 모듈로 판단된 결과에 기초하여, 제1 응답이 변화된 이유가 추론되어, 사용자에게 추론된 결과가 제공될 수 있다.
도 8은 다양한 실시 예들에 의한 제1 사용자 입력에 따라 동작된 모듈 중 변화된 모듈을 식별하는 예시적인 방법을 나타낸 순서도이다.
도 8을 참조하면, 단계 810에서, 일 실시 예에 의한 전자 장치(1000)는, 제1 사용자 입력에 따라 동작된 모듈 중 현재 모듈의 입력 정보를 해쉬 값으로 변환할 수 있다. 도 8에서는, 우선 순위에 따른 도 7의 동작과는 달리, 사용자 입력이 처리될 때 수행되는 순서에 따라서, 변화된 모듈인지 여부가 판단될 수 있다. 예를 들면, 사용자의 음성 입력이 가장 먼저 처리되는, ASR 모듈이 다른 모듈보다 먼저 변화된 모듈인지 여부가 판단될 수 있다.
단계 820에서, 일 실시 예에 의한 전자 장치(1000)는, 제2 사용자 입력에 따라 동작된 모듈에 관한 정보 중 단계 810에서 변환된 해쉬 값과 동일한 해쉬 값을 포함하는, 모듈에 관한 정보가 존재하는지 여부가 판단될 수 있다. 따라서, 일 실시 예에 의하면, 입력 정보의 해쉬 값에 기초하여, 현재 모듈과 대응되는 제2 응답의 모듈에 관한 정보가 응답 이력 정보에서 식별될 수 있다.
제2 사용자 입력의 모듈에 관한 정보 중 단계 810에서 변환된 해쉬 값과 동일한 해쉬 값을 포함하는, 모듈에 관한 정보가 존재하지 않는 경우, 단계 830에서, 현재 모듈보다 제1 사용자 입력을 처리하는데 먼저 이용된 모듈(ex. 현재 모듈이 DD 모듈인 경우, ASR 모듈)이 변화된 모듈로 판단될 수 있다.
다만, 변화된 모듈로 판단된, 제1 사용자 입력을 처리하는데 현재 모듈보다 먼저 이용된 모듈(이하, 이전 모듈)은, 현재 모듈에 대한 단계 810 및 820의 동작이 수행되기 이전에 먼저 변화된 모듈이 아닌 것으로 판단된 모듈일 수 있다. 예를 들면, 이전 모듈의 입출력 정보가 제2 사용자 입력의 모듈의 입출력 정보와 모두 동일하여, 변화된 모듈이 아닌 것으로 이미 판단되었으나, 현재 모듈의 입력 정보와 동일한 제2 사용자 입력에 따라 동작된 모듈이 존재하지 않는 경우, 현재 모듈 이전에 수행된 이전 모듈의 동작이 변화됨에 따라, 현재 모듈의 입력 정보가 변화된 것으로 판단될 수 있다. 일 예로, 이전 모듈의 출력 정보가 여러가지 요인에 의하여 변형된 후 현재 모듈에 입력되었거나, 이전 모듈의 출력 정보가 잘못 저장된 경우가 이에 해당될 수 있다.
예를 들어, DD 모듈이 단계 810에서, 현재 모듈로서, 입력 정보에 대한 해쉬 값이 획득되었으나, 단계 820에서, 제2 사용자 입력의 모듈 중 동일한 해쉬 값을 가진 모듈이 존재하지 않는 경우, 이전 모듈인, ASR 모듈이 변화된 모듈로 판단될 수 있다.
일 실시 예에 의한 변화된 모듈이 판단됨에 따라, 변화된 모듈을 판단하기 위한 동작은 종료되고, 변화된 모듈에 기초하여, 제1 응답이 변화된 이유가 추론될 수 있다.
단계 840에서, 일 실시 예에 의한 전자 장치(1000)는, 단계 830에서 식별된 제2 사용자 입력의 모듈에 대한 출력 정보와, 현재 모듈에 대한 출력 정보를 비교하여, 단계 850에서, 모듈에 대한 출력 정보와 현재 모듈에 대한 출력 정보가 동일한지 여부를 판단할 수 있다.
단계 850에서, 출력 정보가 동일한 경우, 현재 모듈은, 변화된 모듈이 아닌 것으로 판단됨에 따라, 단계 870에서 선택된 다음 순서의 모듈에 대해 변화된 모듈인지 여부가 판단될 수 있다. 일 실시 예에 의한 다음 순서의 모듈은, 제1 응답이 처리되는데 이용된 모듈 중 현재 모듈 다음 순서로 처리된 모듈(ex. 현재 모듈이 DD 모듈인 경우, DC 모듈)로 결정될 수 있다.
단계 850에서, 출력 정보가 다른 경우, 단계 860에서, 현재 모듈이 변화된 모듈인 것으로 판단될 수 있다.
일 실시 예에 의하면 현재 응답이 출력될 때, 동일한 의도의 사용자 입력에 대한 이전 응답과 현재 응답이 다른 이유를 미리 획득하여, 사용자에게 제공함으로써, 사용자가 현재 응답이 변화된 이유를 쉽게 파악할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하고, 신호(signal)(예: 전자기파)를 포함하지 않는 장치를 예시적으로 지칭할 수 있다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 첨부된 특허청구범위를 포함하며, 상세한 설명에 제한되지 않는다. 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에서, 응답이 변화된 이유에 관한 정보를 제공하는 방법에 있어서,
    제1 입력에 따라, 적어도 하나의 모듈을 처리하여 제1 응답을 출력하는 단계;
    상기 제1 입력의 의도와 동일한 의도를 가진 제2 입력에 따라, 상기 제1 응답과 다른 제2 응답이 출력된 이력에 관한 정보를 획득하는 단계;
    상기 획득된 정보에 기초하여, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 상기 제2 입력에 따라 동작된 적어도 하나의 모듈과 다르게 동작된 모듈을 변화된 모듈로 식별하는 단계; 및
    상기 변화된 모듈에 기초하여, 상기 제1 응답이, 상기 제2 응답과 다르게 변화된 이유에 관한 정보를 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 변화된 모듈로 식별하는 단계는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈과, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈을 대응시키는 단계; 및
    상기 대응된 모듈에서 처리된 정보들 간의 비교 결과에 기초하여, 상기 변화된 모듈을 식별하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 변화된 모듈로 식별하는 단계는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 제1 모듈의 입력 정보 및 출력 정보를 획득하는 단계;
    상기 입력 정보에 기초하여, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보 중 상기 제1 모듈과 대응되는 제1' 모듈에 관한 정보를 식별하는 단계; 및
    상기 제1 모듈의 출력 정보와 상기 제1' 모듈에 대한 출력 정보가 다른것에 기초하여 상기 제1 모듈을 상기 변화된 모듈로 식별하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 제1' 모듈에 관한 정보를 식별하는 단계는,
    상기 제1 모듈의 입력 정보를 해쉬 값으로 변환하는 단계; 및
    상기 제2 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보 중 상기 변환된 해쉬 값과 동일한 해쉬 값을 포함하는 모듈에 관한 정보를, 상기 제1' 모듈에 관한 정보로 식별하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 변화된 모듈로 식별하는 단계는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈에 대한 우선 순위를 결정하는 단계;
    상기 우선 순위에 따라서, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈에서 처리된 정보와, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈에서 처리된 정보를 순차적으로 비교하는 단계; 및
    비교 결과에 기초하여, 상기 변화된 모듈을 식별하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 제1 응답이 변화된 이유에 관한 정보를 사용자에게 제공하는 단계는,
    상기 변화된 모듈에 기초하여, 상기 제1 응답이 상기 제2 응답과 다른 이유를 추론하는 단계; 및
    상기 추론된 이유를 포함하는 상기 제1 응답이 변화된 이유에 관한 정보를 생성하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 제1 응답이 변화된 이유에 관한 정보를 사용자에게 제공하는 단계는,
    상기 제1 응답의 변화에 관련된 질의에 대해 상기 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답이 생성될 수 있도록, 상기 변화된 모듈에 기초하여, 상기 입력에 대한 응답을 생성하는데 이용되는, 적어도 하나의 인공지능 모델을 미리 학습하는 단계; 및
    상기 미리 학습된 인공지능 모델에 기초하여, 상기 제1 응답의 변화에 관련된 질의를 포함하는, 입력이 수신됨에 따라서, 상기 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답을 출력하는 단계를 포함하는, 방법.
  8. 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치에 있어서,
    제1 입력에 따라, 적어도 하나의 모듈을 처리하여 제1 응답을 출력하는 출력부; 및
    상기 제1 입력의 의도와 동일한 의도를 가진 제2 입력에 따라, 상기 제1 응답과 다른 제2 응답이 출력된 이력에 관한 정보를 획득하고,
    상기 획득된 정보에 기초하여, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 상기 제2 입력에 따라 동작된 적어도 하나의 모듈과 다르게 동작된 모듈을 변화된 모듈로 식별하고,
    상기 변화된 모듈에 기초하여, 상기 제1 응답이, 상기 제2 응답과 다르게 변화된 이유에 관한 정보를 제공하는 적어도 하나의 프로세서를 포함하는, 전자 장치.
  9. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈과, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈을 대응시키고,
    상기 대응된 모듈에서 처리된 정보들 간의 비교 결과에 기초하여, 상기 변화된 모듈을 식별하는, 전자 장치.
  10. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈 중 제1 모듈의 입력 정보 및 출력 정보를 획득하고,
    상기 입력 정보에 기초하여, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보 중 상기 제1 모듈과 대응되는 제1' 모듈에 관한 정보를 식별하고,
    상기 제1 모듈의 출력 정보와 상기 제1' 모듈에 대한 출력 정보가 다른것에 기초하여, 상기 제1 모듈을 상기 변화된 모듈로 식별하는, 전자 장치.
  11. 제10항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 모듈의 입력 정보를 해쉬 값으로 변환하고,
    상기 제2 입력에 따라 동작된 적어도 하나의 모듈에 관한 정보 중 상기 변환된 해쉬 값과 동일한 해쉬 값을 포함하는 정보를, 상기 제1' 모듈에 관한 정보로 식별하는, 전자 장치.
  12. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 입력에 따라 동작된 적어도 하나의 모듈에 대한 우선 순위를 결정하고,
    상기 우선 순위에 따라서, 상기 제1 입력에 따라 동작된 적어도 하나의 모듈에서 처리된 정보와, 상기 제2 입력에 따라 동작된 적어도 하나의 모듈에서 처리된 정보를 순차적으로 비교하고,
    비교 결과에 기초하여, 상기 변화된 모듈을 식별하는, 전자 장치.
  13. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 변화된 모듈에 기초하여, 상기 제1 응답이 상기 제2 응답과 다른 이유를 추론하고,
    상기 추론된 이유를 포함하는 상기 제1 응답이 변화된 이유에 관한 정보를 생성하는, 전자 장치.
  14. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 응답의 변화에 관련된 질의에 대해 상기 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답이 생성될 수 있도록, 상기 변화된 모듈에 기초하여, 상기 입력에 대한 응답을 생성하는데 이용되는, 인공지능 모델을 미리 학습하고,
    상기 미리 학습된 인공지능 모델에 기초하여, 상기 제1 응답의 변화에 관련된 질의를 포함하는, 입력이 수신됨에 따라서, 상기 제1 응답이 변화된 이유에 관한 정보를 포함하는 응답을 출력하도록, 상기 출력부를 제어하는, 전자 장치.
  15. 제1항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2021/012409 2020-09-16 2021-09-13 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법 WO2022060029A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21869651.6A EP4137964A4 (en) 2020-09-16 2021-09-13 ELECTRONIC DEVICE FOR PROVIDING INFORMATION REGARDING THE REASON THAT A RESPONSE HAS BEEN CHANGED AND OPERATING PROCEDURES THEREFOR
CN202180063155.8A CN116324759A (zh) 2020-09-16 2021-09-13 提供关于为何响应被改变的原因的信息的电子装置及其操作方法
US17/451,117 US20220083882A1 (en) 2020-09-16 2021-10-15 Electronic device and operating method for providing information about why response has changed

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200119379A KR20220036781A (ko) 2020-09-16 2020-09-16 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법
KR10-2020-0119379 2020-09-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/451,117 Continuation US20220083882A1 (en) 2020-09-16 2021-10-15 Electronic device and operating method for providing information about why response has changed

Publications (1)

Publication Number Publication Date
WO2022060029A1 true WO2022060029A1 (ko) 2022-03-24

Family

ID=80777119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012409 WO2022060029A1 (ko) 2020-09-16 2021-09-13 응답이 변화된 이유에 관한 정보를 제공하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR20220036781A (ko)
WO (1) WO2022060029A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329785A (ja) * 2006-06-09 2007-12-20 Fuji Xerox Co Ltd サービス処理装置及びサービス処理プログラム
US20140278413A1 (en) * 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
KR20180082347A (ko) * 2017-01-09 2018-07-18 애플 인크. 디지털 어시스턴트와의 애플리케이션 통합
KR20190101630A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
CN111382241A (zh) * 2018-12-28 2020-07-07 上海汽车集团股份有限公司 会话场景切换方法及装置
KR20200119379A (ko) 2019-03-25 2020-10-20 인코스(주) 스마트 iot 공구함 및 이를 포함하는 스마트 iot 공구함 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329785A (ja) * 2006-06-09 2007-12-20 Fuji Xerox Co Ltd サービス処理装置及びサービス処理プログラム
US20140278413A1 (en) * 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
KR20180082347A (ko) * 2017-01-09 2018-07-18 애플 인크. 디지털 어시스턴트와의 애플리케이션 통합
KR20190101630A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
CN111382241A (zh) * 2018-12-28 2020-07-07 上海汽车集团股份有限公司 会话场景切换方法及装置
KR20200119379A (ko) 2019-03-25 2020-10-20 인코스(주) 스마트 iot 공구함 및 이를 포함하는 스마트 iot 공구함 시스템

Also Published As

Publication number Publication date
KR20220036781A (ko) 2022-03-23

Similar Documents

Publication Publication Date Title
WO2018124620A1 (en) Method and device for transmitting and receiving audio data
WO2020080773A1 (en) System and method for providing content based on knowledge graph
WO2018117428A1 (en) Method and apparatus for filtering video
WO2020122677A1 (en) Method of performing function of electronic device and electronic device using same
WO2021020877A1 (en) System and method for registering device for voice assistant service
WO2021045447A1 (en) Apparatus and method for providing voice assistant service
WO2019164120A1 (ko) 전자 장치 및 그 제어 방법
WO2020167006A1 (en) Method of providing speech recognition service and electronic device for same
WO2019245331A1 (ko) 텍스트 입력 디바이스 및 그 방법
WO2019203418A1 (ko) 음성 인식을 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2020091248A1 (ko) 음성 명령에 응답하여 컨텐츠를 표시하기 위한 방법 및 그 전자 장치
WO2021029643A1 (en) System and method for modifying speech recognition result
WO2021060728A1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
WO2019054792A1 (ko) 컨텐트를 제공하는 방법 및 단말기
WO2020060151A1 (en) System and method for providing voice assistant service
WO2022158692A1 (ko) 포스 터치를 식별하는 전자 장치 및 그 동작 방법
EP3545685A1 (en) Method and apparatus for filtering video
WO2019190062A1 (en) Electronic device for processing user voice input
EP3847641A1 (en) Electronic device and system which provides service based on voice recognition
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2021107390A1 (en) Electronic device and method for controlling the electronic device
EP3545519A1 (en) Method and device for transmitting and receiving audio data
WO2020009378A1 (ko) 소리를 출력하는 디바이스 및 그 방법
WO2020076086A1 (en) System for processing user utterance and operating method thereof
WO2020101389A1 (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: 21869651

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021869651

Country of ref document: EP

Effective date: 20221117

NENP Non-entry into the national phase

Ref country code: DE