Electronic device and method of processing user utterance
The electronic device addresses the challenge of processing user inputs and performing tasks by listing and checking pre-constant conditions and sub-steps, selectively performing tasks only when conditions are met, and providing user guidance, resulting in efficient task execution and enhanced user experience.
Patent Information
- Application Number
- PCT/KR2024/011474
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-05
- Filing Date
- 2024-08-05
- Publication Date
- 2025-03-20
AI Technical Summary
Existing electronic devices with voice assistant functions struggle to efficiently process user inputs and perform tasks due to unmet preconditions and lack of guidance in meeting these conditions.
The electronic device employs a method to receive user inputs, obtain task information, and list pre-constant conditions and sub-steps required to perform tasks. It selectively performs sub-steps based on whether the preceding conditions are met, providing user guides to meet these conditions.
This approach enables the electronic device to effectively process user inputs, perform tasks only when all necessary conditions are met, and improve user experience by providing appropriate guidance throughout the task execution.
Smart Images

Figure KR2024011474_20032025_PF_FP_ABST
Abstract
Description
Electronic devices and methods for processing user speech
[0001] Embodiments of the present invention relate to an electronic device and a method for processing user speech.
[0002] Electronic devices equipped with voice assistant functions that provide services based on user utterances are becoming increasingly widespread. These devices can recognize user utterances and understand their meaning and intent through an AI server. The AI server can interpret the user's utterances, infer the user's intent, and perform tasks based on this inferred intent. The AI server can then perform tasks based on the user's intent expressed through natural language interaction between the user and the AI server.
[0003] An electronic device equipped with a voice assistant function sequentially performs the actions of classifying a domain for processing a user utterance and performing a task corresponding to the user utterance in the classified domain (e.g., capsule) (e.g., application).
[0004] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above-described matters constitute prior art related to the present disclosure.
[0005] According to one embodiment, a method of operating an electronic device may include an operation of receiving a user's input. The method of operating the electronic device may include an operation of obtaining information about a task corresponding to the input. The method of operating the electronic device may include an operation of obtaining, based on the information, a list including preconditions to be satisfied to perform the task and sub-steps to be sequentially performed to perform the task. The method of operating the electronic device may include an operation of selectively performing at least some of the sub-steps based on whether the preconditions are satisfied.
[0006] An electronic device according to one embodiment may include a processor and a memory storing instructions. The instructions, when individually or collectively executed by the processor, may cause the electronic device to receive a user input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to obtain information about a task corresponding to the input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to obtain, based on the information, a list including preconditions to be satisfied for performing the task and sub-steps to be sequentially performed for performing the task. The instructions, when individually or collectively executed by the processor, may cause the electronic device to selectively perform at least some of the sub-steps based on whether the preconditions are satisfied.
[0007] FIG. 1 is a block diagram of an electronic device within a network environment, according to one embodiment.
[0008] FIG. 2 is a block diagram illustrating an integrated intelligence system according to one embodiment.
[0009] FIG. 3 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to one embodiment.
[0010] FIG. 4 is a diagram illustrating a screen for processing voice input received through an intelligent app by an electronic device according to one embodiment.
[0011] FIG. 5 is a diagram illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0012] FIG. 6 is a schematic block diagram of an electronic device according to one embodiment.
[0013] FIG. 7 is a diagram illustrating new task lists according to one embodiment.
[0014] FIGS. 8 to 11 are diagrams illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0015] FIG. 12 illustrates a flowchart of a method of operating an electronic device according to one embodiment.
[0016] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are assigned the same reference numerals regardless of the drawing numbers, and redundant descriptions thereof will be omitted.
[0017]
[0018] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100), according to one embodiment.
[0019] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0020] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0021] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0022] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0023] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0024] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0025] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0026] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0027] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0028] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0029] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0030] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0031] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0032] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0033] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0034] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0035] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0036] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0037] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0038] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0039] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0040] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0041]
[0042] Referring to FIG. 2, an integrated intelligent system (20) of one embodiment may include an electronic device (201) (e.g., electronic device (101) of FIG. 1), an intelligent server (200) (e.g., server (108) of FIG. 1), and a service server (300) (e.g., server (108) of FIG. 1).
[0043] An electronic device (201) of one embodiment may be a terminal device (or electronic device) that can connect to the Internet, and may be, for example, a mobile phone, a smart phone, a personal digital assistant (PDA), a laptop computer, a TV, white goods, a wearable device, an HMD, or a smart speaker.
[0044] According to the illustrated embodiment, the electronic device (201) may include a communication interface (202) (e.g., interface (177) of FIG. 1), a microphone (206) (e.g., input module (150) of FIG. 1), a speaker (205) (e.g., audio output module (155) of FIG. 1), a display module (204) (e.g., display module (160) of FIG. 1), a memory (207) (e.g., memory (130) of FIG. 1), or a processor (203) (e.g., processor (120) of FIG. 1). The above-listed components may be operatively or electrically connected to each other.
[0045] The communication interface (202) of one embodiment may be configured to connect to an external device and transmit and receive data. The microphone (206) of one embodiment may receive sound (e.g., user speech) and convert it into an electrical signal. The speaker (205) of one embodiment may output the electrical signal as sound (e.g., voice).
[0046] The display module (204) of one embodiment may be configured to display an image or video. The display module (204) of one embodiment may also display a graphical user interface (GUI) of a running app (or application program). The display module (204) of one embodiment may receive touch input via a touch sensor. For example, the display module (204) may receive text input via a touch sensor in an on-screen keyboard area displayed within the display module (204).
[0047] In one embodiment, the memory (207) may store a client module (209), a software development kit (SDK) (208), and a plurality of apps (211). The client module (209) and the SDK (208) may constitute a framework (or solution program) for performing general-purpose functions. In addition, the client module (209) or the SDK (208) may constitute a framework for processing user input (e.g., voice input, text input, touch input).
[0048] The plurality of apps (211) stored in the memory (207) of one embodiment may be programs for performing a specified function. According to one embodiment, the plurality of apps (211) may include a first app (211_1) and a second app (211_2). According to one embodiment, each of the plurality of apps (211) may include a plurality of operations for performing a specified function. For example, the apps may include an alarm app, a message app, and / or a schedule app. According to one embodiment, the plurality of apps (211) may be executed by the processor (203) to sequentially execute at least some of the plurality of operations.
[0049] In one embodiment, the processor (203) can control the overall operation of the electronic device (201). For example, the processor (203) can be electrically connected to a communication interface (202), a microphone (206), a speaker (205), and a display module (204) to perform a designated operation.
[0050] The processor (203) of one embodiment may also execute a program stored in the memory (207) to perform a designated function. For example, the processor (203) may execute at least one of the client module (209) or the SDK (208) to perform the following operations for processing user input. The processor (203) may control the operations of multiple apps (211), for example, through the SDK (208). The following operations described as operations of the client module (209) or the SDK (208) may be operations executed by the processor (203).
[0051] The client module (209) of one embodiment can receive user input. For example, the client module (209) can receive a voice signal corresponding to a user utterance detected through the microphone (206). Alternatively, the client module (209) can receive a touch input detected through the display module (204). Alternatively, the client module (209) can receive a text input detected through a keyboard or a visual keyboard. In addition, the client module (209) can receive various forms of user input detected through an input module included in the electronic device (201) or an input module connected to the electronic device (201). The client module (209) can transmit the received user input to the intelligent server (200). The client module (209) can transmit status information of the electronic device (201) to the intelligent server (200) together with the received user input. The status information can be, for example, execution status information of an app.
[0052] The client module (209) of one embodiment may receive a result corresponding to the received user input. For example, the client module (209) may receive a result corresponding to the received user input if the intelligent server (200) can produce a result corresponding to the received user input. The client module (209) may display the received result on the display module (204). Additionally, the client module (209) may output the received result as audio through the speaker (205).
[0053] In one embodiment, the client module (209) can receive a plan corresponding to the received user input. The client module (209) can display the results of executing multiple operations of the app according to the plan on the display module (204). For example, the client module (209) can sequentially display the results of executing multiple operations on the display module (204) and output audio through the speaker (205). The electronic device (201) can, for example, display only some results of executing multiple operations (e.g., the result of the last operation) on the display module (204) and output audio through the speaker (205).
[0054] In one embodiment, the client module (209) may receive a request from the intelligent server (200) to obtain information necessary to produce a result corresponding to a user input. In one embodiment, the client module (209) may transmit the necessary information to the intelligent server (200) in response to the request.
[0055] In one embodiment, the client module (209) can transmit result information of executing multiple operations according to a plan to the intelligent server (200). The intelligent server (200) can use the result information to confirm that the received user input has been processed correctly.
[0056] In one embodiment, the client module (209) may include a voice recognition module. In one embodiment, the client module (209) may recognize voice inputs that perform limited functions through the voice recognition module. For example, the client module (209) may execute an intelligent app that processes voice inputs to perform organic actions based on a specified input (e.g., "Wake up!").
[0057] An intelligent server (200) of one embodiment can receive information related to a user voice input from an electronic device (201) via a communication network. According to one embodiment, the intelligent server (200) can convert data related to the received voice input into text data. According to one embodiment, the intelligent server (200) can generate a plan for performing a task corresponding to the user voice input based on the text data.
[0058] In one embodiment, the plan may be generated by an artificial intelligence (AI) system. The AI system may be a rule-based system, a neural network-based system (e.g., a feedforward neural network (FNN) or a recurrent neural network (RNN)), or a combination of the aforementioned or another AI system. In one embodiment, the plan may be selected from a set of predefined plans or may be generated in real time in response to a user request. For example, the AI system may select at least one plan from a plurality of predefined plans.
[0059] In one embodiment, the intelligent server (200) can transmit the results according to the generated plan to the electronic device (201), or transmit the generated plan to the electronic device (201). In one embodiment, the electronic device (201) can display the results according to the plan on the display module (204). In one embodiment, the electronic device (201) can display the results of executing an operation according to the plan on the display module (204).
[0060] An intelligent server (200) of one embodiment may include a front end (215), a natural language platform (220), a capsule database (230), an execution engine (240), an end user interface (250), a management platform (260), a big data platform (270), or an analytic platform (280).
[0061] A front end (215) of one embodiment can receive user input from an electronic device (201). The front end (215) can transmit a response corresponding to the user input.
[0062] According to one embodiment, the natural language platform (220) may include an automatic speech recognition module (ASR module) (221), a natural language understanding module (NLU module) (223), a planner module (225), a natural language generator module (NLG module) (227), or a text to speech module (TTS module) (229).
[0063] In one embodiment, the automatic speech recognition module (221) can convert data related to voice input received from the electronic device (201) into text data. In one embodiment, the natural language understanding module (223) can use the text data of the voice input to determine the user's intention. For example, the natural language understanding module (223) can perform syntactic analysis or semantic analysis on user input in the form of text data to determine the user's intention. In one embodiment, the natural language understanding module (223) can use linguistic features (e.g., grammatical elements) of morphemes or phrases to determine the meaning of words extracted from the user input, and can match the meaning of the determined words to the intent to determine the user's intent. In other words, the natural language understanding module (223) can obtain intent information corresponding to the user's utterance. The intent information may be information indicating the user's intent determined by interpreting text data. The intent information may include information indicating an action (or function) that the user intends to execute using the device. Intention information can also be referred to as goal information. Slots can be detailed information related to intent information. Slots can be parameters required to perform actions based on user intent. Slots can also be variable information required to perform actions.
[0064] In one embodiment, the planner module (225) can generate a plan using the intent and parameters (e.g., slots) determined by the natural language understanding module (223). According to one embodiment, the planner module (225) can determine a plurality of domains necessary to perform a task based on the determined intent. The planner module (225) can determine a plurality of operations included in each of the plurality of domains determined based on the intent. According to one embodiment, the planner module (225) can determine parameters necessary to execute the determined plurality of operations or result values output by the execution of the plurality of operations. The parameters and the result values can be defined as concepts of a specified format (or class). Accordingly, the plan can include a plurality of operations and a plurality of concepts determined by the user's intent. The planner module (225) can determine the relationships between the plurality of operations and the plurality of concepts in a stepwise (or hierarchical) manner. For example, the planner module (225) can determine the execution order of a plurality of actions based on the user's intention, based on a plurality of concepts. In other words, the planner module (225) can determine the execution order of a plurality of actions based on parameters required for the execution of the plurality of actions and results output by the execution of the plurality of actions. Accordingly, the planner module (225) can generate a plan including association information (e.g., ontology) between a plurality of actions and a plurality of concepts. The planner module (225) can generate the plan using information stored in a capsule database (230) in which a set of relationships between concepts and actions is stored.
[0065] The natural language generation module (227) of one embodiment can convert specified information into text format. The information converted into text format may be in the form of natural language speech. The text-to-speech conversion module (229) of one embodiment can convert information in text format into information in speech format.
[0066] According to one embodiment, some or all of the functions of the natural language platform (220) may also be implemented in the electronic device (201).
[0067] The capsule database (230) may store information on the relationships between a plurality of concepts and actions corresponding to a plurality of domains. According to one embodiment, a capsule may include a plurality of action objects (or action information) and concept objects (or concept information) included in a plan. According to one embodiment, the capsule database (230) may store a plurality of capsules in the form of a concept action network (CAN). According to one embodiment, the plurality of capsules may be stored in a function registry included in the capsule database (230).
[0068] The capsule database (230) may include a strategy registry that stores strategy information necessary for determining a plan corresponding to a voice input. The strategy information may include reference information for determining a single plan when there are multiple plans corresponding to a user input. According to one embodiment, the capsule database (230) may include a follow-up registry that stores information on follow-up actions for suggesting follow-up actions to a user in a specified situation. The follow-up actions may include, for example, follow-up utterances. According to one embodiment, the capsule database (230) may include a layout registry that stores layout information of information output through the electronic device (201). According to one embodiment, the capsule database (230) may include a vocabulary registry that stores vocabulary information included in capsule information. According to one embodiment, the capsule database (230) may include a dialog registry that stores information on a dialogue (or interaction) with a user. The capsule database (230) can update stored objects through a developer tool. The developer tool may include, for example, a function editor for updating action objects or concept objects. The developer tool may include a vocabulary editor for updating vocabulary. The developer tool may include a strategy editor for creating and registering strategies that determine plans. The developer tool may include a dialog editor for creating conversations with users.The developer tool may include a follow-up editor that activates follow-up goals and allows editing of follow-up utterances that provide hints. The follow-up goals may be determined based on currently set goals, user preferences, or environmental conditions. In one embodiment, the capsule database (230) may also be implemented within the electronic device (201).
[0069] The execution engine (240) of one embodiment can produce a result using the generated plan. The end user interface (250) can transmit the produced result to the electronic device (201). Accordingly, the electronic device (201) can receive the result and provide the received result to the user. The management platform (260) of one embodiment can manage information used in the intelligent server (200). The big data platform (270) of one embodiment can collect user data. The analysis platform (280) of one embodiment can manage the quality of service (QoS) of the intelligent server (200). For example, the analysis platform (280) can manage the components and processing speed (or efficiency) of the intelligent server (200).
[0070] In one embodiment, a service server (300) may provide a service (e.g., food ordering or hotel reservation) specified to an electronic device (201). In one embodiment, the service server (300) may be a server operated by a library. Services of the service server (300), such as CP Service A (301) and CP Service B (302), may interact with the front end (210) of the intelligent server (200). The service server (300) in one embodiment may provide information to the intelligent server (200) for generating a plan corresponding to a received user input. The provided information may be stored in a capsule database (230). In addition, the service server (300) may provide result information according to the plan to the intelligent server (200).
[0071] In the integrated intelligence system (20) described above, the electronic device (201) can provide various intelligent services to the user in response to user input. The user input may include, for example, input via a physical button, touch input, or voice input.
[0072] In one embodiment, the electronic device (201) may provide a voice recognition service through an intelligent app (or voice recognition app) stored within the device. In this case, for example, the electronic device (201) may recognize a user utterance or voice input received through the microphone and provide the user with a service corresponding to the recognized voice input.
[0073] In one embodiment, the electronic device (201) may perform a designated action based on the received voice input, either alone or in conjunction with the intelligent server and / or service server. For example, the electronic device (201) may execute an app corresponding to the received voice input and perform a designated action through the executed app.
[0074] In one embodiment, when an electronic device (201) provides a service together with an intelligent server (200) and / or a service server (300), the electronic device (201) can detect a user's speech using the microphone (206) and generate a signal (or voice data) corresponding to the detected user's speech. The electronic device (201) can transmit the voice data to the intelligent server (200) using the communication interface (202).
[0075] An intelligent server (200) according to one embodiment may generate a plan for performing a task corresponding to a voice input received from an electronic device (201), or a result of performing an operation according to the plan, in response to a voice input. The plan may include, for example, a plurality of operations for performing a task corresponding to a user's voice input, and a plurality of concepts related to the plurality of operations. The concept may define parameters input to the execution of the plurality of operations, or result values output by the execution of the plurality of operations. The plan may include association information between the plurality of operations and the plurality of concepts.
[0076] An electronic device (201) of one embodiment can receive the response using a communication interface (202). The electronic device (201) can output a voice signal generated within the electronic device (201) to the outside using the speaker (205), or can output an image generated within the electronic device (201) to the outside using the display module (204).
[0077]
[0078] FIG. 3 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to various embodiments.
[0079] The capsule database (e.g., the capsule database (230) of FIG. 2) of the intelligent server (e.g., the intelligent server (200) of FIG. 2) may store capsules in the form of a CAN (concept action network) (400). The capsule database may store operations for processing tasks corresponding to a user's voice input and parameters necessary for the operations in the form of a CAN (concept action network).
[0080] The capsule database may store a plurality of capsules (capsule (A) (401), capsule (B) (404)) corresponding to each of a plurality of domains. In one embodiment, one capsule (e.g., capsule (A) (401)) may correspond to one domain (e.g., location (geo)). In addition, one capsule may correspond to at least one service provider (e.g., CP 1 (402) or CP 2 (403)) for performing a function for a domain related to the capsule. In one embodiment, one capsule may include at least one operation (410) and at least one concept (420) for performing a designated function. CAN (400) may store other information such as CP 3 (406). In addition, capsule B (404) may correspond to a service provider (e.g., CP 4 (405)).
[0081] The above natural language platform (e.g., the natural language platform (220) of FIG. 2) can generate a plan for performing a task corresponding to a received voice input using capsules stored in a capsule database. For example, the planner module of the natural language platform (e.g., the planner module (225) of FIG. 2) can generate a plan using capsules stored in a capsule database. For example, a plan (407) can be generated using actions (4011, 4013) and concepts (4012, 4014) of capsule A (401) and actions (4041) and concepts (4042) of capsule B (404).
[0082]
[0083] FIG. 4 is a diagram illustrating a screen for processing voice input received through an intelligent app by an electronic device according to various embodiments.
[0084] The electronic device (201) can execute an intelligent app to process user input through an intelligent server (e.g., the intelligent server (200) of FIG. 2).
[0085] According to one embodiment, on screen 310, when the electronic device (201) recognizes a designated voice input (e.g., wake up!) or receives an input via a hardware key (e.g., a dedicated hardware key), the electronic device (201) may execute an intelligent app for processing the voice input. For example, the electronic device (201) may execute the intelligent app while the schedule app is running. According to one embodiment, the electronic device (201) may display an object (e.g., an icon) (311) corresponding to the intelligent app on the display module (204) (e.g., the display module (160) of FIG. 1, the display module (204) of FIG. 2). According to one embodiment, the electronic device (201) may receive a voice input by a user's speech. For example, the electronic device (201) may receive a voice input such as "Tell me my schedule for this week!" According to one embodiment, the electronic device (201) can display a user interface (UI) (313) (e.g., an input window) of an intelligent app displaying text data of received voice input on a display module (204).
[0086] According to one embodiment, on the 320 screen, the electronic device (201) may display a result corresponding to the received voice input on the display module (204). For example, the electronic device (201) may receive a plan corresponding to the received user input and display 'this week's schedule' on the display module (204) according to the plan.
[0087]
[0088] FIG. 5 is a diagram illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0089] Referring to FIG. 5, according to one embodiment, the electronic device (501) may include at least a part of the configuration of the electronic device (101) described with reference to FIG. 1 and the electronic device (201) described with reference to FIG. 2. The intelligent server (601) may include at least a part of the configuration of the intelligent server (200) described with reference to FIG. 2. With respect to the electronic device (501) and the intelligent server (601), any description overlapping with that described with reference to FIGS. 1 to 4 will be omitted.
[0090] According to one embodiment, an electronic device (501) (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2) and an intelligent server (601) (e.g., the intelligent server (200) of FIG. 2) may be connected via a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, or a combination thereof. The electronic device (501) and the intelligent server (601) may communicate with each other via a wired communication method or a wireless communication method (e.g., wireless LAN (WiFi), Bluetooth, Bluetooth low energy, ZigBee, WiFi direct (WFD), ultra wide band (UWB), infrared data association (IrDA), near field communication (NFC)). The electronic device (501) can communicate with a peripheral device (e.g., the electronic device (102) of FIG. 1 or the electronic device (104) of FIG. 1) located around the electronic device (501).
[0091] According to one embodiment, the electronic device (501) may be implemented as at least one of a smartphone, a tablet personal computer, a mobile phone, a speaker (e.g., an AI speaker), a video phone, an e-book reader, a desktop personal computer, a laptop personal computer, a netbook computer, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device.
[0092] According to one embodiment, the electronic device (501) may obtain a voice signal corresponding to a user's speech and transmit the voice signal to an intelligent server (601). The intelligent server (601) may obtain text data corresponding to the user's speech based on the voice signal. The text data may be converted into computer-readable text by performing automatic speech recognition (ASR) on the voice signal. The intelligent server (601) may analyze the user's speech using the text data. The intelligent server (601) may use the analysis results (e.g., intent information, domain, and / or capsule) to perform a necessary function or provide a response (e.g., question, answer) to be provided to the user to a device (e.g., electronic device (501)). The intelligent server (601) may be implemented in software. Some or all of the intelligent server (601) may be implemented in the electronic device (501). That is, an on-device artificial intelligence (AI) capable of processing speech without communication with an intelligent server (601) can be installed in the electronic device (501). Components such as the natural language platform (220) described with reference to FIGS. 2 to 4 can be implemented in the electronic device (501).
[0093] According to one embodiment, the electronic device (501) can convert a user utterance into text data through an automatic speech recognition module (e.g., an automatic speech recognition module (221) of FIG. 2). The electronic device (501) can determine a domain (and / or intent information) corresponding to the user utterance based on the text data through a natural language understanding model (e.g., a natural language understanding module (223) of FIG. 2).
[0094] According to one embodiment, a domain may correspond to a category (or service) associated with an action (or function) that a user wishes to perform using a device. Domains may be categorized based on the services they provide. For example, a music playback domain may support a music playback service (e.g., a music playback service encompassing the Melon app and the Spotify app). For example, a communication domain may support a communication service (e.g., a communication service encompassing a messaging app, a chat app, and an email app). User utterances may be processed based on each corresponding domain. Tasks corresponding to user utterances may be processed in capsules (e.g., applications). One capsule may correspond to one domain. One capsule may include at least one action and at least one concept for performing a specified function. A capsule may process a task corresponding to a user utterance based on intent information. The intent information may be determined in the capsule or in a natural language understanding module.
[0095] In one embodiment, intent information may be information indicating a user's intent, as determined by interpreting text data. Intent information may include information indicating an action (or function) the user intends to perform using the terminal. Intent information may also be referred to as goal information.
[0096] In one embodiment, a slot may be detailed information related to intent information. A slot may be a parameter required to perform an action based on a user intent. For example, if the text converted from a user's voice input is "What time is it in San Francisco?", the domain may be the "date & time domain," the intent information may correspond to "providing date / time information," the slot may be "San Francisco," and the capsule (e.g., an application) may provide the user with the time in San Francisco. For example, if the text converted from a user's voice input is "What's the weather like here?", the domain may be the "weather domain," the intent information may correspond to "providing weather information," the slot may be "current location," and the capsule may provide the user with the weather at the current location. For example, if the text converted from the user's voice input is "Set the oven temperature to 300 degrees," the domain may be the 'device control domain, the intent information may correspond to 'oven control,' the slot may be '300 degrees,' and the capsule may attempt to set the oven temperature to 300 degrees.
[0097] According to one embodiment, the electronic device (501) can perform a task in response to a user input, as described above. The task may be an operation or function performed in response to the user input. The task may be a unit designated by the manufacturer of the electronic device (501), etc. The electronic device (501) can perform (or support) a task that requires the satisfaction of prerequisites.
[0098] In one embodiment, a prerequisite may be something that must be met in order to perform a task. The conditions that must be met in order to perform a task may vary. The prerequisite may be one defined by the manufacturer of the electronic device (501) among the above conditions. The manufacturer of the electronic device (501) may define as a prerequisite a condition that requires a change in the user's settings and / or a condition that requires an active action from the user. For example, in order to perform a task corresponding to 'receiving a call via text', a condition that must be met may be 'the setting for receiving a call via text must be allowed'. The manufacturer of the electronic device (501) may define as a prerequisite the condition 'the setting for receiving a call via text must be allowed', which requires a change in the user's settings. For example, in order to perform a task corresponding to 'creating a highlight video', the conditions that must be met may be as follows: 1) the gallery app must be running; 2) a photo must exist in the gallery app; and 3) a photo selected for creating a highlight video must exist. The manufacturer of the electronic device (501) may define the conditions 'a photo must exist in the gallery app' and 'a photo selected for highlight video generation must exist' as preconditions, which require active action from the user. The manufacturer of the electronic device (501) may set the condition 'the gallery app must be running' so that the electronic device (501) performs the condition directly as needed. The manufacturer of the electronic device (501) may define sub-steps to satisfy the condition 'the gallery app must be running'. The manufacturer of the electronic device (501) may define sub-steps to satisfy the precondition 'a photo must exist in the gallery app' and the precondition 'a photo selected for highlight video generation must exist'.
[0099] In one embodiment, sub-steps may be sequentially performed to perform a task. The sub-steps may be defined by the manufacturer of the electronic device (501). The sub-steps may include steps for satisfying prerequisites. Additionally, the sub-steps may include steps for satisfying conditions that are not defined as prerequisites but must be satisfied to perform the task (e.g., the gallery app must be running). Depending on whether the prerequisites are satisfied (e.g., whether the required settings are permitted on the electronic device or whether the required data is stored on the electronic device), the user interface (UI) (e.g., a guide) provided by the electronic device to the user may vary.
[0100] In one embodiment, the electronic device (501) can provide guidance to the user throughout the session in which the task is performed. If a new task is completed at least once (e.g., all prerequisites are met) according to the guidance of the electronic device (501), the electronic device (501) can immediately perform the new task when it receives another user request for the new task. The electronic device (501) can enhance the user experience for new tasks.
[0101] Referring to FIG. 5, according to one embodiment, an electronic device (501) may receive an input (e.g., an utterance) (e.g., "Answer a call via text") from a user. The utterance (e.g., "Answer a call via text") may correspond to a task (e.g., a task corresponding to "Answer a call via text") that requires satisfaction of a prerequisite (e.g., that the setting for answering calls via text is allowed). The electronic device (501) may determine whether the prerequisite (e.g., that the setting for answering calls via text is allowed) is satisfied. The prerequisite (e.g., that the setting for answering calls via text is allowed) may not be satisfied. In order to satisfy the prerequisite (e.g., that the setting for answering calls via text is allowed), the electronic device (501) may provide a user interface (UI) (511) (e.g., a setting screen for answering calls via text) to the user based on a deep link. The electronic device (501) can provide guidance to the user throughout a session in which a task (e.g., a task corresponding to 'answer a call by text') is performed.
[0102] According to one embodiment, some or all of the operations performed in the electronic device (501) may be performed in the electronic device (501) and / or the intelligent server (601). The following description will be continued on the assumption that the electronic device (501) performs the operations.
[0103]
[0104] FIG. 6 is a schematic block diagram of an electronic device according to one embodiment, and FIG. 7 is a diagram illustrating new task lists according to one embodiment.
[0105] Referring to FIG. 6, according to one embodiment, the electronic device (501) may include at least a part of the configuration of the electronic device (101) described with reference to FIG. 1 and the electronic device (201) described with reference to FIG. 2. As described above, an on-device artificial intelligence (AI) capable of processing speech without communication with an intelligent server (e.g., the intelligent server (200) of FIG. 2, the intelligent server (601) of FIG. 5) may be installed in the electronic device (501). That is, the natural language platform (220) described with reference to FIGS. 2 to 4 may be implemented in the electronic device (501). With respect to the electronic device (501), any description that overlaps with the description with reference to FIGS. 1 to 4 will be omitted.
[0106] According to one embodiment, the electronic device (501) may include a wireless communication circuit (510) (e.g., the wireless communication module (192) of FIG. 1). The electronic device (501) may include a processor (520) (e.g., the processor (120) of FIG. 1, the processor (203) of FIG. 2). The electronic device (501) may include a memory (530) (e.g., the memory (130) of FIG. 1, the memory (207) of FIG. 2). The processor (520) (e.g., an application processor) may access the memory (530) to execute one or more instructions. The processor (520) may cause the electronic device (501) to provide a response to a user. The memory (530) may store various data used by at least one component (e.g., the processor (520)) of the electronic device (501). The memory (530) may include a new task list database (531).
[0107] According to one embodiment, the processor (520) may be implemented as a circuit (e.g., a processing circuit) such as a system on chip (SoC) or an integrated circuit (IC). The processor (520) may include one or more processors. For example, the processor (520) may include a combination of one or more processors such as a CPU, a GPU, an MPU, an AP, and a CP.
[0108] According to one embodiment, the memory (530) may include one or more memories. The instructions stored in the memory (530) may be stored in a single memory. The instructions stored in the memory (530) may be divided and stored in a plurality of memories. The instructions stored in the memory (530) may be individually or collectively executed by the processor (520) to cause the electronic device (501) to perform and / or control the operations of the electronic device (501) described with reference to FIGS. 5 to 12. The instructions stored in the memory (530) may be individually or collectively executed by a plurality of processors to cause the electronic device (501) to perform and / or control the operations of the electronic device (501) described with reference to FIGS. 5 to 12.
[0109] According to one embodiment, the electronic device (501) can receive a user's input. The electronic device (501) can determine a task corresponding to the user's input based on a first natural language understanding (NLU) model (521) or a second NLU model (522). The first NLU model (521) can correspond to at least a part of the natural language understanding module (223) of FIG. 2. For example, if the task corresponding to the input is a task that does not require satisfaction of a prerequisite, the electronic device (501) can perform the task through the first NLU model (521), and if the task corresponding to the input is a task that requires satisfaction of a prerequisite, the electronic device (501) can perform the task through the second NLU model (522). For example, if the electronic device (501) fails to perform a task determined by the first NLU model (521) (e.g., due to failure to satisfy a prerequisite), the electronic device (501) may continue to perform the task by using the second NLU model (522) (e.g., providing guidance for satisfying the prerequisite and performing sub-steps for satisfying the prerequisite). The second NLU model (522) may be for processing a command for which guidance is provided. In terms of processable tasks, the tasks processed by the first NLU model (521) may be a super set of the tasks processed by the second NLU model (522). The manufacturer of the electronic device (501) may define in advance which task will be performed based on which NLU model. The electronic device (501) can obtain information about a task (e.g., application information (e.g., capsule) associated with the task and / or intent information corresponding to the task) based on the first NLU model (521) or the second NLU model (522).
[0110] According to one embodiment, the electronic device (501) may acquire a list based on application information (e.g., a capsule) associated with a task and / or intent information corresponding to the task. The acquired list may be any one of the lists stored in the new task list database (531). Referring to FIG. 7, lists (700) stored in the new task list database (531) may be confirmed. The list (701) may be associated with a task (e.g., a task corresponding to 'answer a call via text'). A list (701) may include application information (e.g., a capsule) (e.g., a phone application) associated with a task (e.g., a task corresponding to 'answer a text call'), intent information corresponding to the task (e.g., 'answer a text call'), operating system information supporting the task (e.g., operating system X), application version information supporting the task (e.g., phone application version x.xx.xx), prerequisites (e.g., 'answer a text call setting must be allowed'), and sub-steps (e.g., 1. Check whether a call is in progress via a phone app, 2. Check that the Text call setting is on, 3. Execute 'answer a text call'). The capsule, intent information, prerequisites, and sub-steps are described in detail in FIG. 5, so a redundant description will be omitted. A list (702) may be associated with a task (e.g., a task corresponding to 'continue running an app on another device'). A list (703) may be associated with a task (e.g., a task corresponding to 'create a highlight video').
[0111] In one embodiment, the prerequisites may include prerequisites (e.g., 711, 721, 722) related to the configuration of the electronic device (501). The prerequisites (e.g., 711, 721, 722) may be satisfied based on a user interface (UI) provided to the user based on a deep link. The prerequisites may include prerequisites (e.g., 731, 732) related to data stored in the electronic device (501). The prerequisites (e.g., 731, 732) may be satisfied based on the execution of sub-steps. The prerequisites and sub-steps will be described in detail with reference to FIGS. 8 to 10 .
[0112] According to one embodiment, the electronic device (501) may compare information obtained from the second NLU (522) (e.g., application information associated with the task (e.g., capsule), intent information corresponding to the task) with information included in the lists (700) to select a list associated with the task.
[0113] According to one embodiment, the electronic device (501) can check whether it (e.g., the electronic device (501)) supports the task based on the operating system information and application version information included in the list. The electronic device (501) may check whether it supports the task through the operating system check module (523) and the application version check module (524). If the electronic device (501) does not support the task, the electronic device (501) can terminate the session for performing the task. If the electronic device (501) supports the task, the electronic device (501) can maintain the microphone in an activated state throughout the session for performing the task (e.g., to continuously receive the user's input throughout the session for performing the task).
[0114] According to one embodiment, an electronic device (501) supporting a task may collect information of the electronic device (501) to determine whether prerequisites are satisfied. The electronic device (501) may determine whether prerequisites are satisfied based on the information of the electronic device (501). The electronic device (501) may utilize a prerequisite pre-executor (525) and / or a sub-step scheduler (526) to satisfy unsatisfied prerequisites.
[0115] In one embodiment, to satisfy a prerequisite based on a UI provided to a user based on a deep link, the electronic device (501) may utilize a prerequisite pre-executor (525). For example, to satisfy prerequisite (721), the electronic device (501) may execute a deep link to provide a UI (e.g., 511 of FIG. 5) to the user.
[0116] According to one embodiment, for prerequisites to be satisfied by performing a sub-step, the electronic device (501) may utilize a sub-step scheduler (526). The electronic device (501) may determine (e.g., schedule) sub-steps to be performed among the sub-steps based on whether the prerequisites are satisfied. For example, for a prerequisite (731) that is satisfied, the electronic device (501) may decide not to perform sub-step (741). For example, for a prerequisite (732) that is not satisfied, the electronic device (501) may decide to perform sub-step (742). Based on the scheduling result, the electronic device (501) may perform at least some of the sub-steps included in the list. Depending on whether the prerequisites are satisfied, the order in which the electronic device (501) provides the UI may vary.
[0117] According to one embodiment, the electronic device (501) can provide guidance to the user throughout the session in which the task is performed. A single guidance (e.g., a UI) provided by the electronic device (501) may be intended to satisfy a single prerequisite. The electronic device (501) can selectively provide the user with guidance corresponding to the prerequisites. If a new task is completed at least once according to the guidance of the electronic device (501) (e.g., all prerequisites are satisfied), the electronic device (501) can immediately perform the new task when it receives another user request for the new task. The device (501) can enhance the user experience for the new task.
[0118]
[0119] FIGS. 8 to 11 are diagrams illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0120] Referring to FIG. 8A, an electronic device (801) may receive an input (e.g., an utterance) (e.g., “Answer the call with text”) from a user. The utterance (e.g., “Answer the call with text”) may correspond to a task (e.g., a task corresponding to “Answer the call with text”) that requires satisfaction of a prerequisite (e.g., the setting for answering calls with text is allowed). The electronic device (801) may determine whether the prerequisite (e.g., the setting for answering calls with text is allowed) is satisfied. The prerequisite (e.g., the setting for answering calls with text is allowed) may not be satisfied. The electronic device (801) may not be able to perform the task (e.g., the task corresponding to “Answer the call with text”). As voice assistant functions become more advanced, new tasks that can be performed only when all prerequisites are satisfied are increasing. Even when users attempt to perform new tasks through voice assistants, issues arise where new tasks are not executed because not all prerequisites are met.
[0121] Referring to FIG. 8B , according to one embodiment, the electronic device (501) may receive an input (e.g., an utterance) (e.g., "Answer the call with text") from a user. The utterance (e.g., "Answer the call with text") may correspond to a task (e.g., a task corresponding to "Answer the call with text") that requires the satisfaction of a prerequisite (e.g., that the setting for answering calls with text is allowed). The electronic device (501) can determine whether a prerequisite (e.g., the setting for receiving calls via text is allowed (e.g., 711 of FIG. 7)) is satisfied. The prerequisite (e.g., the setting for receiving calls via text is allowed) may not be satisfied. In order to satisfy the prerequisite (e.g., the setting for receiving calls via text is allowed), the electronic device (501) can provide a user interface (UI) (512) (e.g., a screen for setting text calls) to the user based on a deep link. If the user approves the setting for receiving calls via text, the electronic device (501) can perform a task (e.g., a task corresponding to 'receiving calls via text'). The electronic device (501) can provide a UI (513) (e.g., a screen for receiving calls via text) to the user.
[0122] Referring to FIG. 9A, an electronic device (901) may receive an input (e.g., an utterance) (e.g., “Continue playing on another device”) from a user. The utterance (e.g., “Continue playing on another device”) may correspond to a task (e.g., a task corresponding to “Continue playing on another device”) that requires satisfaction of prerequisites (e.g., Bluetooth on (e.g., 721 of FIG. 7), app continuing on another device (e.g., 722 of FIG. 7)). The electronic device (901), which was performing the task (e.g., the task corresponding to “Continue playing on another device”), may be forced to provide an error message (e.g., “This function is currently unavailable. Please turn on Bluetooth and try again”) to the user due to a failure to satisfy the prerequisite (721). The electronic device (901) may fail to perform the task.
[0123] Referring to FIG. 9B, according to one embodiment, an electronic device (501) may receive an input (e.g., an utterance) (e.g., "Continue running on another device") from a user. The utterance (e.g., "Continue running on another device") may correspond to a task (e.g., a task corresponding to "Continue running the app on another device") that requires satisfaction of prerequisites (e.g., Bluetooth on (e.g., 721 of FIG. 7), app continuing execution on another device (e.g., 722 of FIG. 7)). The electronic device (501), which was performing the task (e.g., the task corresponding to "Continue running the app on another device") through a first natural language understanding (NLU) model (e.g., the first NLU model (521) of FIG. 6), may fail due to unsatisfaction of the prerequisites (721, 722). When the task execution by the first NLU model (521) fails, the electronic device (501) can analyze the user input through the second NLU model (e.g., the second NLU model (522) of FIG. 6). The electronic device (501) can determine whether the user input (e.g., utterance) is a command (e.g., a command for providing guidance) processed through the second NLU model (522). If the user input (e.g., utterance) is a command processed through the second NLU model (522), the electronic device (501) can continue to perform the task (e.g., a task corresponding to 'continue running the app on another device') through the second NLU model (522) (e.g., providing guidance for satisfying a prerequisite and performing sub-steps for satisfying the prerequisite).
[0124] According to one embodiment, the electronic device (501) may provide a UI (514) (e.g., a Bluetooth setting screen) to the user based on a deep link to satisfy the prerequisite (721). The electronic device (501) may provide a UI (515) (e.g., a setting screen for continuing to use an app on another device) to the user based on a deep link to satisfy the prerequisite (722). If the user approves all settings, the electronic device (501) may perform a task (e.g., a task corresponding to “continue running the app on another device”). The electronic device (501) may guide the user to the result of performing the task (e.g., uttering “continue running the app currently running on the device on another device”). Depending on whether the prerequisites are satisfied, the UI provided by the electronic device (501) to the user may vary.
[0125] Referring to FIG. 9c, according to one embodiment, the prerequisite (721) may be satisfied, and the prerequisite (722) may not be satisfied. The electronic device (501) may not provide a UI (e.g., a Bluetooth setting screen) for satisfying the prerequisite (721). In order to satisfy the prerequisite (722), the electronic device (501) may provide a UI (516) (e.g., a setting screen for continuing to use the app on another device) to the user based on a deep link.
[0126] Referring to FIG. 9D , according to one embodiment, the prerequisites (e.g., 721, 722) may be satisfied. The electronic device (501) may perform a task (e.g., a task corresponding to "continue running the app on another device"). The electronic device (501) may guide the user on the result of performing the task (e.g., uttering "continue running the app currently running on the device on another device").
[0127] Referring to FIG. 10A, according to one embodiment, before determining whether a prerequisite is satisfied, the electronic device (501) may first check whether it supports the task based on the operating system information and application version information included in the list. If the electronic device (501) does not support the task, the electronic device (501) may terminate the session for performing the task. The electronic device (501) may inform the user that it does not support the task (e.g., a task corresponding to the utterance "Make a highlight video") (e.g., uttering "This function is not supported by this device").
[0128] Referring to FIG. 10B, according to one embodiment, when the electronic device (501) supports a task, the electronic device (501) may determine whether prerequisites (e.g., whether a photo exists in the gallery app (e.g., 731 of FIG. 7), whether a photo selected for a highlight video exists (e.g., 732 of FIG. 7)) that must be satisfied for the task (e.g., a task corresponding to the utterance “Make a highlight video”) are satisfied. For example, prerequisite (731) may be satisfied, and prerequisite (732) may be not satisfied. Based on whether the prerequisites are satisfied, the electronic device (501) may determine (e.g., schedule) sub-steps to be performed among the sub-steps included in the list (e.g., 703 of FIG. 7). For example, for the prerequisite (731) to be satisfied, the electronic device (501) may decide not to perform the sub-step (741). For example, for an unsatisfied prerequisite (732), the electronic device (501) may decide to perform sub-step (742). The electronic device (501) may perform at least some of the sub-steps included in the list (e.g., 703 of FIG. 7) based on the scheduling result. For example, upon performing sub-step (742), the electronic device (501) may provide the user with a UI (517) (e.g., a photo selection screen) and provide a photo selection guide (e.g., uttering “Please select the photo you want”). If the user selects a photo and all prerequisites (e.g., 731, 732) are satisfied, the electronic device (501) may perform the task. The electronic device (501) may notify the user through the UI (518) that the task performance is complete (e.g., the highlight video generation is complete). The electronic device (501) may provide the user with the task performance result (e.g., the highlight video) through the UI (519). Depending on whether the prerequisites are met, the UI provided to the user by the electronic device (501) may be different.
[0129] Referring to FIG. 11, according to one embodiment, the electronic device (501) can also process (e.g., support) input corresponding to a quick command. A quick command may be an input (e.g., a utterance) designated to perform multiple tasks. A quick command may be designated by a user. A task may correspond to an action or function performed in response to a user input. A task may be a unit designated by the manufacturer of the electronic device (501), etc.
[0130] In one embodiment, three tasks, “Weather notification (first task),” “Stock index notification (second task),” and “Schedule notification (third task),” may be mapped to a quick command called “Briefing.” When the electronic device (501) accurately matches the quick command called “Briefing,” the electronic device (501) may sequentially perform the tasks mapped to the quick command. The electronic device (501) may sequentially perform the aforementioned operations for each task. The electronic device (501) may maintain the microphone in an activated state throughout multiple sessions in which multiple tasks are performed.
[0131]
[0132] FIG. 12 illustrates a flowchart of a method of operating an electronic device according to one embodiment.
[0133] Actions 1210 to 1240 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of each action (1210 to 1240) may be changed, and at least two actions may be performed in parallel.
[0134] According to one embodiment, operations 1210 to 1240 may be understood to be performed in a processor (e.g., processor (520) of FIG. 6) of an electronic device (e.g., electronic device (501) of FIG. 5).
[0135] In operation 1210, an electronic device according to one embodiment (e.g., electronic device (501) of FIG. 5 ) may receive a user's input.
[0136] In operation 1220, an electronic device according to one embodiment may obtain information about a task corresponding to an input.
[0137] In operation 1230, an electronic device according to one embodiment may obtain, based on information, a list including pre-conditions to be satisfied to perform a task and sub-steps to be sequentially performed to perform the task.
[0138] In operation 1240, the electronic device according to one embodiment may selectively perform at least some of the sub-steps based on whether the prerequisites are satisfied.
[0139] According to one embodiment, the operation performed by the electronic device may be performed based on a second NLU model (e.g., the second NLU model (522) of FIG. 6) when the electronic device fails to perform a task determined by a first NLU model (e.g., the first NLU (natural language understanding) model (521) of FIG. 6) (e.g., due to unsatisfied prerequisites).
[0140] In one embodiment, the sub-steps performed by the electronic device may vary depending on whether the prerequisites are met. Depending on whether the prerequisites are met, the user interface (UI) (e.g., a guide) provided by the electronic device may vary. A single guide (e.g., a UI) provided by the electronic device may be designed to satisfy a single prerequisite. The electronic device may selectively provide the user with guides corresponding to the prerequisites.
[0141] According to one embodiment, an electronic device can provide guidance to the user throughout a task-performing session. If a new task is completed at least once (e.g., all prerequisites are met) according to the guidance provided by the electronic device, the electronic device can immediately perform the new task upon receiving a subsequent user request for the new task. This can enhance the user experience for new tasks.
[0142]
[0143] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0144] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0145] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0146] Various embodiments of the present document may be implemented as software (e.g., a program) including one or more instructions stored in a storage medium (e.g., built-in memory or external memory) readable by a machine (e.g., an electronic device). For example, a processor (e.g., a processor) of the machine (e.g., an electronic device) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily in the storage medium.
[0147] According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0148] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0149]
[0150] According to one embodiment, a method of operating an electronic device (e.g., the electronic device 101 of FIG. 1, the electronic device 201 of FIG. 2, or the electronic device 501 of FIG. 5) may include an operation of receiving a user's input. The method of operating the electronic device may include an operation of obtaining information about a task corresponding to the input. The method of operating the electronic device may include an operation of obtaining, based on the information, a list including preconditions to be satisfied to perform the task and sub-steps to be sequentially performed to perform the task. The method of operating the electronic device may include an operation of selectively performing at least some of the sub-steps based on whether the preconditions are satisfied.
[0151] According to one embodiment, the information may include application information associated with the task and intent information corresponding to the task, and may be obtained by one of two natural language understanding models.
[0152] According to one embodiment, the list may further include application information associated with the task, intent information corresponding to the task, operating system information supporting the task, and application version information supporting the task.
[0153] According to one embodiment, the method for operating the electronic device may further include an operation of checking whether the electronic device supports the task based on operating system information and application version information included in the list. The method for operating the electronic device may further include an operation of terminating a session for performing the task if the electronic device does not support the task.
[0154] According to one embodiment, the prerequisites may include conditions related to settings of the electronic device and conditions related to data stored in the electronic device.
[0155] According to one embodiment, the above prerequisites may be satisfied based on a user interface (UI) provided to the user based on a deep link. The above prerequisites may be satisfied based on the performance of a sub-step.
[0156] In one embodiment, the optionally performed operation may include an operation of collecting information of the electronic device to determine whether the prerequisites are satisfied. The optionally performed operation may include an operation of determining whether the prerequisites are satisfied based on the information of the electronic device.
[0157] In one embodiment, the optionally performed operation may further include scheduling sub-steps to be performed among the sub-steps based on whether the prerequisites are satisfied. The optionally performed operation may further include performing at least some of the sub-steps based on the scheduling result.
[0158] According to one embodiment, the electronic device can maintain the microphone in an activated state throughout the session performing the task.
[0159] In one embodiment, the input may include a quick command designated to perform a plurality of tasks. The electronic device may maintain the microphone in an activated state throughout the plurality of sessions performing the plurality of tasks.
[0160] An electronic device according to one embodiment (e.g., electronic device (101) of FIG. 1, electronic device (201) of FIG. 2, or electronic device (501) of FIG. 5) may include a processor (e.g., processor (120) of FIG. 1, processor (203) of FIG. 2, processor (520) of FIG. 5) and a memory (e.g., memory (130) of FIG. 1, memory (207) of FIG. 2, memory (530) of FIG. 5) that stores instructions. The instructions, when individually or collectively executed by the processor, may cause the electronic device to receive a user's input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to obtain information about a task corresponding to the input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to obtain, based on the information, a list of preconditions to be satisfied for performing the task and sub-steps to be sequentially performed for performing the task. The instructions, when individually or collectively executed by the processor, may cause the electronic device to selectively perform at least some of the sub-steps based on whether the preconditions are satisfied.
[0161] According to one embodiment, the information may include application information associated with the task and intent information corresponding to the task, and may be obtained by one of two natural language understanding models.
[0162] According to one embodiment, the list may further include application information associated with the task, intent information corresponding to the task, operating system information supporting the task, and application version information supporting the task.
[0163] In one embodiment, the instructions, when individually or collectively executed by the processor, may cause the electronic device to check whether the electronic device supports the task based on operating system information and application version information included in the list. The instructions, when individually or collectively executed by the processor, may cause the electronic device to terminate a session for performing the task if the electronic device does not support the task.
[0164] According to one embodiment, the prerequisites may include conditions related to settings of the electronic device and conditions related to data stored in the electronic device.
[0165] In one embodiment, the above prerequisites may be satisfied based on a user interface (UI) provided to the user based on a deep link. The above prerequisites may be satisfied based on the execution of a substep.
[0166] In one embodiment, the instructions, when individually or collectively executed by the processor, may cause the electronic device to collect information about the electronic device to determine whether the prerequisites are satisfied. The instructions, when individually or collectively executed by the processor, may cause the electronic device to determine, based on the information about the electronic device, whether the prerequisites are satisfied.
[0167] According to one embodiment, the instructions, when individually or collectively executed by the processor, may cause the electronic device to schedule sub-steps to be performed among the sub-steps based on whether the prerequisites are satisfied. The instructions, when executed by the processor, may cause the electronic device to perform at least some of the sub-steps based on the scheduling result.
[0168] According to one embodiment, the electronic device can maintain the microphone in an activated state throughout the session performing the task.
[0169] In one embodiment, the input may include a quick command designated to perform a plurality of tasks. The electronic device may maintain the microphone in an activated state throughout the plurality of sessions performing the plurality of tasks.
Claims
1. In the operating method of an electronic device (101; 201; 501), An action that receives user input; An action for obtaining information about a task corresponding to the above input; An operation of obtaining a list including pre-conditions to be satisfied to perform the task and sub-steps to be sequentially performed to perform the task based on the above information; and An operation of selectively performing at least some of the sub-steps based on whether the above prerequisites are satisfied. A method of operation, comprising:
2. In paragraph 1, The above information is, Contains application information associated with the task and intent information corresponding to the task, and is obtained by one of two natural language understanding models. How it works.
3. In either of paragraphs 1 and 2, An operation of checking whether the electronic device (101; 201; 501) supports the task based on the operating system information and application version information included in the above list; and If the electronic device (101; 201; 501) does not support the task, an action to terminate the session for performing the task A method of operation, further comprising:
4. In any one of paragraphs 1 to 3, The above prerequisites are, Conditions related to the settings of the above electronic device (101; 201; 501) and conditions related to data stored in the above electronic device (101; 201; 501). Including, The above prerequisites are, Can be satisfied based on the UI (user interface) provided to the user based on deep link; or A method of operation that can be satisfied by performing the lower steps.
5. In any one of paragraphs 1 to 4, The above optional actions are: An operation of collecting information of the electronic device (101; 201; 501) to determine whether the above prerequisites are met; and An operation for determining whether the above prerequisites are met based on the information of the above electronic device (101; 201; 501). A method of operation, comprising:
6. In any one of paragraphs 1 to 5, The above optional actions are: An operation of scheduling sub-steps to be performed among the sub-steps based on whether the above prerequisites are satisfied; and An operation of performing at least some of the above sub-steps based on the scheduling result. A method of operation, further comprising:
7. In any one of paragraphs 1 to 6, The above electronic device (101; 201; 501) Keep the microphone active throughout the session performing the above task. How it works.
8. In any one of paragraphs 1 to 7, The above input is, Contains quick commands that are specified to perform multiple tasks, The above electronic device (101; 201; 501) Maintaining the microphone active throughout multiple sessions performing the above multiple tasks; How it works.
9. In electronic devices (101; 201; 501), Processor (120; 203; 520) and Memory for storing instructions (130; 207; 530) Including, The above instructions, when individually or collectively executed by the processor, cause the electronic device (101; 201; 501) to: Receive user input, Obtain information about the task corresponding to the above input, Based on the above information, obtain a list including pre-conditions that must be satisfied to perform the task and sub-steps that must be sequentially performed to perform the task, Based on whether the above prerequisites are satisfied, selectively performing at least some of the above sub-steps, Electronic devices (101; 201; 501).
10. In paragraph 9, The above information is, Contains application information associated with the task and intent information corresponding to the task, and is obtained by one of two natural language understanding models. Electronic devices (101; 201; 501).
11. In either of paragraphs 9 and 10, The above instructions, when individually or collectively executed by the processor, cause the electronic device (101; 201; 501) to: Based on the operating system information and application version information included in the above list, check whether the electronic device (101; 201; 501) supports the above task, If the electronic device (101; 201; 501) does not support the task, the session for performing the task is terminated. Electronic devices (101; 201; 501).
12. In any one of paragraphs 9 to 11, The above prerequisites are, Conditions related to the settings of the above electronic device (101; 201; 501) and conditions related to data stored in the above electronic device (101; 201; 501). Including, The above prerequisites are, Can be satisfied based on the UI (user interface) provided to the user based on deep link; or An electronic device (101; 201; 501) which can be satisfied by performing the lower steps.
13. In any one of paragraphs 9 to 12, The above instructions, when individually or collectively executed by the processor, cause the electronic device (101; 201; 501) to: In order to determine whether the above prerequisites are met, information of the electronic device (101; 201; 501) is collected, Based on the information of the above electronic device (101; 201; 501), to determine whether the above prerequisites are met. Electronic devices (101; 201; 501).
14. In any one of paragraphs 9 to 13, The above instructions, when individually or collectively executed by the processor, cause the electronic device (101; 201; 501) to: Based on whether the above prerequisites are satisfied, the sub-steps to be performed among the above sub-steps are scheduled, Based on the scheduling result, performing at least some of the above sub-steps, Electronic devices (101; 201; 501).
15. In any one of paragraphs 9 to 14, The above electronic device (101; 201; 501) Keep the microphone active throughout the session performing the above tasks, or If the above input includes a quick command that is specified to perform multiple tasks, the microphone is kept activated throughout multiple sessions performing the multiple tasks. Electronic devices (101; 201; 501).
Citation Information
Patent Citations
Task control method and task input controller
JP2007179359A
Generating and processing task items that represent tasks to perform
KR1020140014300A
Federated Application Services
KR1020180030947A
Workpiece assembly support system applying indoor spatial positioning technology
KR102466217B1
KR20200099036A