Electronic device and user utterance processing method
By analyzing user inputs, generating prompt text, and utilizing a language model, the electronic device improves its ability to interpret user intentions and execute tasks, addressing the limitations of existing voice assistant technologies.
Patent Information
- Application Number
- PCT/KR2024/011586
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-19
- Filing Date
- 2024-08-06
- Publication Date
- 2025-03-20
AI Technical Summary
Existing electronic devices with voice assistant functions struggle to accurately interpret and respond to user inputs, particularly in complex scenarios requiring natural language interaction and task execution.
The electronic device employs a processor and memory to receive user inputs, analyze them to determine domain and intention, collect data for text generation, generate prompt text, and input this text into a language model to obtain text data, ultimately performing tasks corresponding to the user's intentions.
This approach enables the electronic device to effectively process user inputs, generate accurate and contextually relevant responses, and execute tasks seamlessly, enhancing user interaction and device functionality.
Smart Images

Figure KR2024011586_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] A method of operating an electronic device according to one embodiment may include an operation of receiving a user's input. The method may include an operation of collecting data utilized for text generation when the input is related to a text generation command. The method may include an operation of generating prompt text based on the data and the input. The method may include an operation of inputting the prompt text into a language model to obtain text data. The method may include an operation of performing a task corresponding to the input based on the text data.
[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 collect data utilized for text generation if the input is associated with a text generation command. The instructions, when individually or collectively executed by the processor, may cause the electronic device to generate prompt text based on the data and the input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to input the prompt text into a language model to obtain text data. The instructions, when individually or collectively executed by the processor, may cause the electronic device to perform a task corresponding to the input based on the text data.
[0007] A method of operating an electronic device according to one embodiment may include an operation of obtaining a user input. The method may include an operation of analyzing the input to determine domain and intent information. The method may include an operation of collecting data utilized for text generation in the domain when the intent information is related to a text generation command. The method may include an operation of generating a prompt text based on the data and the input. The method may include an operation of inputting the prompt text into a language model to obtain text data. The method may include an operation of providing a voice or text corresponding to the text data to the user to request approval for the text data.
[0008] 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 obtain a user input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to analyze the input to determine domain and intent information. The instructions, when individually or collectively executed by the processor, may cause the electronic device to collect data utilized for text generation in the domain when the intent information is related to a text generation command. The instructions, when individually or collectively executed by the processor, may cause the electronic device to generate a prompt text based on the data and the input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to input the prompt text into a language model to obtain text data. The above instructions, when individually or collectively executed by the processor, may cause the electronic device to provide a voice or text corresponding to the text data to the user to request approval for the text data.
[0009] FIG. 1 is a block diagram of an electronic device within a network environment, according to one embodiment.
[0010] FIG. 2 is a block diagram illustrating an integrated intelligence system according to one embodiment.
[0011] 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.
[0012] 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.
[0013] FIG. 5 is a diagram illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0014] FIG. 6 is a schematic block diagram of an electronic device according to one embodiment.
[0015] FIG. 7 is a drawing for explaining prompt text according to one embodiment.
[0016] FIGS. 8 to 12 are diagrams illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0017] FIG. 13 illustrates a flowchart of a method of operating an electronic device according to one embodiment.
[0018] 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.
[0019]
[0020] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100), according to one embodiment.
[0021] 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)).
[0022] 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.
[0023] 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.
[0024] 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).
[0025] 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).
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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).
[0030] 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.
[0031] 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.
[0032] 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).
[0033] 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.
[0034] 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.
[0035] 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).
[0036] 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.
[0037] 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).
[0038] 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.
[0039] 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).
[0040] 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.
[0041] 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)).
[0042] 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.
[0043]
[0044] 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).
[0045] 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.
[0046] 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.
[0047] 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).
[0048] 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).
[0049] 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).
[0050] 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.
[0051] 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.
[0052] 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).
[0053] 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.
[0054] 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).
[0055] 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).
[0056] 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.
[0057] 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.
[0058] 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!").
[0059] 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.
[0060] 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.
[0061] 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).
[0062] 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).
[0063] 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.
[0064] 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).
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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).
[0069] 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).
[0070] 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).
[0071] 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).
[0072] 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).
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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).
[0077] 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.
[0078] 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).
[0079]
[0080] 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.
[0081] 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).
[0082] 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)).
[0083] 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).
[0084]
[0085] 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.
[0086] 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).
[0087] 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).
[0088] 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.
[0089]
[0090] FIG. 5 is a diagram illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0091] 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.
[0092] 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).
[0093] 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.
[0094] 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).
[0095] 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 module (e.g., a natural language understanding module (223) of FIG. 2).
[0096] In 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.
[0097] In one embodiment, intent information may be information indicating a user's intent, determined by interpreting text data. Intent information may include information indicating the action (or function) the user intends to perform using the terminal. Intent information may also be referred to as goal information.
[0098] In one embodiment, a slot may be detailed information related to intent information. A slot may be a parameter required to perform an action according to 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 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.
[0099] According to one embodiment, the electronic device (501) may 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 specified by the manufacturer of the electronic device (501).
[0100] Referring to FIG. 5, according to one embodiment, an electronic device (501) may receive an input (e.g., utterance) (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") from a user. The electronic device (501) may analyze the input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") (e.g., determine domain and intent information). The input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") may be processed in the communication domain. The input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") may correspond to the intent information 'message transmission'. Since text generation is required for message transmission, the input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") may be associated with a text generation command. An electronic device (501) can collect data used for text generation in a domain (e.g., a communication domain). The electronic device (501) can generate text data (e.g., "Excuse me, can I delay the meeting by 10 minutes?") based on the collected data. The electronic device (501) can request approval for performing a task by providing a voice or text corresponding to the text data (e.g., "Excuse me, can I delay the meeting by 10 minutes?") to the user. If approval is received from the user, the electronic device (501) can perform a task corresponding to the input (e.g., "Bixby, send a message to Kim Sam-seong telling him to delay the meeting by 10 minutes") (e.g., send a message to Kim Sam-seong saying "Excuse me, can I delay the meeting by 10 minutes?").
[0101] According to one embodiment, the electronic device (501) may be configured to generate high-quality text (or text data). High-quality text may be text that includes grammatical accuracy and semantic consistency. High-quality text may be text that includes grammatically correct subjects, verbs, and nouns, making it easier to read and understand. The electronic device (501) may collect information (e.g., history) used for text generation from a user (or user device, user account) and generate high-quality text (or text data) using the collected information.
[0102] According to one embodiment, the text data may be output by a language model (e.g., a language model (524) of FIG. 6). The electronic device (501) may utilize prompt data (e.g., an output of a prompt generation model (523) of FIG. 6) that increases the availability of the language model to generate high-quality text (or text data). The electronic device (501) may generate high-quality text data by utilizing the prompt data.
[0103] 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 premise that the electronic device (501) performs the operations.
[0104]
[0105] FIG. 6 is a schematic block diagram of an electronic device according to one embodiment, and FIG. 7 is a drawing for explaining prompt text according to one embodiment.
[0106] 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.
[0107] 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 prompt format database (531).
[0108] 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.
[0109] 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 13. 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 13.
[0110] According to one embodiment, the electronic device (501) can receive a user's input. The electronic device (501) can analyze the input to determine domain and intent information. The domain and intent information have been described in detail with reference to FIG. 5, so a redundant description will be omitted.
[0111] According to one embodiment, the electronic device (501) may collect data utilized for text generation in a domain when intent information is related to a text generation command. The electronic device (501) may collect data through a data collection module (521). The collected data may include user history information that can be collected from a user (or a user device, a user account). The user history information may include the user's sentence generation history (e.g., see FIG. 11A). The user history information is not limited to the user's sentence generation history, and the user history information may refer to all information utilized for text generation. For example, schedule information obtainable from a calendar app may also be included in the user history information.
[0112] According to one embodiment, the electronic device (501) may preprocess the collected data. The data preprocessing may be performed by the data preprocessing module (522). The data preprocessing module (522) may extract representative sentences from the user's sentence generation history. Representative sentences may be sentences that represent (or symbolically represent) the user's linguistic characteristics among the user's sentence generation history. Representative sentences may be obtained based on recent conversation messages with a specific person, conversation messages within a specific time range, a specific amount of conversation messages, and / or conversation messages in emails. The data preprocessing module (522) may obtain the user's sentence style and sentence characteristics based on the representative sentences. The sentence style and sentence characteristics may be parameters representing the user's language usage pattern. The sentence style may represent the way the user constructs and expresses sentences. The sentence style may be parameters representing the length, tone, style, grammatical usage, language choice, and / or emotional tone (e.g., politeness, fluency, and intimacy). Sentence features can represent specific attributes or characteristics revealed in user-generated sentences. Sentence features can be parameters that reflect the user's vocabulary choices or specific linguistic habits (e.g., "What are you doing?", "Will you do it?", "Done?").
[0113] According to one embodiment, the electronic device (501) may input preprocessed data (e.g., the user's sentence style, the user's sentence characteristics) and text data corresponding to the input into a prompt generation model (523) to generate a prompt text. The prompt text may be intended to increase the availability of the language model (524). The prompt text may refer to text that conveys the user's input or request to the language model (524). The language model (524) may analyze the prompt text and generate an appropriate response accordingly. Correctly written prompt text may help the language model (524) output the text desired by the user.
[0114] According to one embodiment, referring to FIG. 7, examples of a prompt format (701), a prompt parameter (702), and a prompt text (703) can be confirmed. The prompt format (701) may be a format for generating text by considering a user's language usage pattern. The prompt format (701) may be stored in a prompt format database (531). The prompt format utilized by the electronic device (501) is not limited to the prompt format (701) illustrated in FIG. 7. The electronic device (501) may retrieve and utilize a prompt format appropriate for performing a task corresponding to a user input from the prompt format database (531). The prompt parameter (702) may be a parameter incorporated into the prompt format (701). The prompt parameter may include a sentence style (e.g., prompt parameter 1), a sentence feature (e.g., prompt parameter 2), and text data corresponding to the input (e.g., prompt parameter 3). The prompt text (703) may be a result of a combination of the prompt format (701) and the prompt parameters (702). The prompt text (703) may be an output of the prompt generation model (523).
[0115] According to one embodiment, the electronic device (501) may input prompt text (e.g., 703) into a language model (524) to obtain text data. For the language model (524), the prompt text may be data describing a user's request. Based on the prompt text, the language model (524) may understand the text, determine the context, and generate text data corresponding to the user's request.
[0116] According to one embodiment, the electronic device (501) can perform a task corresponding to an input based on text data. Through high-quality text (or text data), the electronic device (501) can perform a task that precisely matches the user's request.
[0117]
[0118] FIGS. 8 to 12 are diagrams illustrating an operation of an electronic device processing a user's speech according to one embodiment.
[0119] Referring to FIG. 8, in a situation (801), an electronic device (800) may receive an input (e.g., utterance) (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") from a user. The electronic device (800) may analyze the input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") (e.g., determine domain and intent information). The input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") may be processed in the communication domain. The input (e.g., "Bixby, send a message to Kim Samsung to tell him to delay the meeting by 10 minutes") may correspond to the intent information 'message transmission'. To transmit the message, the electronic device (800) may need to generate text data. The electronic device (800) can extract text from an input (e.g., "Bixby, send a message to Kim Samsung to delay the meeting by 10 minutes") and generate text data (e.g., "Let's delay the meeting by 10 minutes"). If the user simply commands the electronic device (800), the electronic device (800) may not be able to generate the text (e.g., a high-quality text) desired by the user. Only when the user commands the electronic device (800) in detail can the electronic device (800) generate the text desired by the user.
[0120] According to one embodiment, in a situation (802), even if the user does not give a detailed command to the electronic device (501), the electronic device (501) can generate a text (e.g., a high-quality text) desired by the user. The electronic device (501) can receive an input (e.g., an utterance) (e.g., "Bixby, send a message to Kim Sam-seong telling him to delay the meeting by 10 minutes") from the user. The electronic device (501) can analyze the input (e.g., "Bixby, send a message to Kim Sam-seong telling him to delay the meeting by 10 minutes") (e.g., determine domain and intent information). The input (e.g., "Bixby, send a message to Kim Sam-seong telling him to delay the meeting by 10 minutes") can be processed in the communication domain. The input (e.g., "Bixby, send a message to Kim Sam-seong telling him to delay the meeting by 10 minutes") can correspond to the intent information 'message transmission'. Since text generation is required for message transmission, an input (e.g., "Bixby, send a message to Kim Samsung telling him to delay the meeting by 10 minutes") may be associated with a text generation command. The electronic device (501) may collect data used for text generation in a domain (e.g., a communication domain). The electronic device (501) may preprocess the collected data and generate text data (e.g., "Excuse me, can I delay the meeting by 10 minutes?") based on the preprocessed data. The electronic device (501) may provide the user with voice or text corresponding to the text data (e.g., "Excuse me, can I delay the meeting by 10 minutes?") to request approval for performing the task. The electronic device (501) may provide the user with a user interface (511) related to the text data (e.g., "Excuse me, can I delay the meeting by 10 minutes?").Upon receiving approval from the user (e.g., selecting the 'Send' user interface object), the electronic device (501) may perform a task corresponding to the input (e.g., "Bixby, send a message to Mr. Kim Sam-seong asking him to delay the meeting by 10 minutes") (e.g., send a message to Mr. Kim Sam-seong saying 'Excuse me, can you delay the meeting by 10 minutes?').
[0121] Referring to FIG. 9, according to one embodiment, even if a user simply commands the electronic device (501), the electronic device (501) can generate a text (e.g., a high-quality text) desired by the user. The electronic device (501) can receive an input (e.g., an utterance) (e.g., "Bixby, write a New Year's greeting message to Kim Samsung") from the user. The electronic device (501) can analyze the input (e.g., "Bixby, write a New Year's greeting message to Kim Samsung") (e.g., determine domain and intent information). The input (e.g., "Bixby, write a New Year's greeting message to Kim Samsung") can be processed in the communication domain. The input (e.g., "Bixby, write a New Year's greeting message to Kim Samsung") can correspond to the intent information 'message transmission'. Since text generation is required for message transmission, an input (e.g., "Bixby, write a New Year's greeting message to Kim Samsung") may be associated with a text generation command. The electronic device (501) may collect data used for text generation in a domain (e.g., a communication domain). The electronic device (501) may preprocess the collected data and generate text data (e.g., "Hello, Kim Samsung. The new year 2024 has already arrived. Happy New Year and stay healthy always") based on the preprocessed data. The electronic device (501) may request approval for performing the task by providing the user with voice or text corresponding to the text data (e.g., "Hello, Kim Samsung. The new year 2024 has already arrived. Happy New Year and stay healthy always"). The electronic device (501) may provide the user with a user interface (512) related to the text data.Upon receiving approval from the user (e.g., selecting the 'Send' user interface object), the electronic device (501) may perform a task corresponding to the input (e.g., "Bixby, write a New Year's greeting message to Mr. Kim Samsung") (e.g., send a New Year's greeting message to Mr. Kim Samsung).
[0122] Referring to FIG. 10, according to one embodiment, the user history information collected by the electronic device (501) to generate a text desired by the user (e.g., a high-quality text) may not be limited to the user's sentence generation history. The electronic device (501) may also collect schedule information obtainable from a calendar app as user history information. The electronic device (501) may receive an input (e.g., an utterance) (e.g., "Bixby, tell Mr. Kim Sam-seong what his schedule is for tomorrow and ask him when he is free") from the user. The electronic device (501) may analyze the input (e.g., "Bixby, tell Mr. Kim Sam-seong what his schedule is for tomorrow and ask him when he is free") (e.g., determine domain and intent information). The input (e.g., "Bixby, tell Mr. Kim Sam-seong what his schedule is for tomorrow and ask him when he is free") may be processed in the calendar domain and the communication domain. An input (e.g., "Bixby, tell Mr. Kim Sam-seong what his schedule is for tomorrow and ask him what time he is free") may correspond to the intent information 'message transmission'. Since text generation is required for message transmission, the input (e.g., "Bixby, tell Mr. Kim Sam-seong what his schedule is for tomorrow and ask him what time he is free") may be associated with a text generation command. Since schedule information is required for text generation, the electronic device (501) may collect schedule information on a calendar domain. In addition, the electronic device (501) may collect data used for text generation on a communication domain. The electronic device (501) may preprocess the collected data and generate text data (e.g., "Tomorrow I am available from 9 to 10 AM and from 2 to 3 PM. When are you free between these times?") based on the preprocessed data. The electronic device (501) may generate text data (e.g., "Tomorrow I am available from 9 to 10 AM and from 2 to 3 PM.The electronic device (501) may request approval for performing a task by providing the user with a voice or text corresponding to the input (e.g., "When do you have time?"). The electronic device (501) may provide the user with a user interface (513) related to the text data. If approval is received from the user (e.g., selecting the 'Send' user interface object), the electronic device (501) may perform a task corresponding to the input (e.g., "Bixby, tell Mr. Kim Samsung about his available schedule for tomorrow and ask him when he is free") (e.g., send a message including the user's schedule information to Mr. Kim Samsung).
[0123] Referring to FIG. 11A, according to one embodiment, a user's sentence generation history may vary depending on the conversation partner. For example, referring to conversation history (1101), when conversing with his friend Dongsu, the user may construct sentences utilizing a friendly sentence style and sentence characteristics with short endings (e.g., "ham?", "daham?", "im?"). For example, referring to conversation history (1102), when conversing with his business partner Kim Samseong, the user may construct sentences utilizing a polite sentence style and sentence characteristics with long endings (e.g., "yes," "got it," "please").
[0124] Referring to FIG. 11B, according to one embodiment, the electronic device (501) can generate a text (e.g., a high-quality text) desired by the user (e.g., an adaptive text for the other party) by taking the conversation partner into consideration. The user can instruct the electronic device (501) to generate a message with substantially the same nuance, but with a different message transmission target. The electronic device (501) can generate text data (e.g., 'Dongsu, I'll be about 10 minutes late today') by referencing (e.g., collecting) the conversation history (1101). The electronic device (501) can generate text data (e.g., 'Mr. Kim Sam-seong, I'm sorry, but I'll be about 10 minutes late for our appointment') by referencing (e.g., collecting) the conversation history (1102). The electronic device (501) can generate a adaptive text message for the other party.
[0125] Referring to FIG. 12, according to one embodiment, the tasks that the electronic device (501) can support may not be limited to message generation. The electronic device (501) may generate text data for input into the search engine (1201) (or language model). The electronic device (501) may receive an input (e.g., utterance) (e.g., "Bixby, search for how to find microelectronic circuits 8th edition on the Internet") from a user. The electronic device (501) may analyze the input (e.g., "Bixby, search for how to find microelectronic circuits 8th edition on the Internet") (e.g., determine domain and intent information). The input (e.g., "Bixby, search for how to find microelectronic circuits 8th edition on the Internet") may be processed in the search domain. The input (e.g., "Bixby, search for how to find microelectronic circuits 8th edition on the Internet") may correspond to the intent information 'Internet search'. Since text generation is required for Internet search, an input (e.g., "Bixby, search the Internet for how to get Microelectronic Circuits 8th Edition") may be associated with a text generation command. The electronic device (501) may collect data used for text generation on a domain (e.g., a search domain). For example, the electronic device (501) may collect sentence data that the user used for Internet search. The electronic device (501) may preprocess the collected data and generate text data (e.g., "How to purchase Microelectronic Circuits 8th Edition") based on the preprocessed data. The electronic device (501) may provide the user with voice or text corresponding to the text data (e.g., "How to purchase Microelectronic Circuits 8th Edition") to request approval for performing the task. The electronic device (501) may provide the user with a user interface (514) related to the text data.If approval is received from the user, the electronic device (501) can perform a task corresponding to the input (e.g., “Bixby, search for ‘how to purchase microelectronic circuits 8th edition’ on the Internet”) (e.g., search for ‘how to purchase microelectronic circuits 8th edition’).
[0126]
[0127] FIG. 13 illustrates a flowchart of a method of operating an electronic device according to one embodiment.
[0128] Actions 1310 to 1350 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of each action (1310 to 1350) may be changed, and at least two actions may be performed in parallel.
[0129] According to one embodiment, operations 1310 to 1350 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. 6).
[0130] In operation 1310, an electronic device according to one embodiment (e.g., electronic device (501) of FIG. 5 ) may receive a user's input.
[0131] In operation 1320, the electronic device according to one embodiment may collect data utilized for text generation if the input is associated with a text generation command.
[0132] In operation 1330, an electronic device according to one embodiment may generate prompt text based on data and input.
[0133] In operation 1340, an electronic device according to one embodiment may input a prompt text into a language model (e.g., language model (524) of FIG. 6) to obtain text data.
[0134] In operation 1350, an electronic device according to one embodiment may perform a task corresponding to an input based on text data.
[0135]
[0136] 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.
[0137] 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.
[0138] 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).
[0139] 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.
[0140] According to one embodiment, the method according to various embodiments disclosed in this 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) through 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.
[0141] 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 arranged 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.
[0142]
[0143] 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 may include an operation of collecting data used for text generation when the input is related to a text generation command. The method may include an operation of generating a prompt text based on the data and the input. The method may include an operation of inputting the prompt text into a language model to obtain text data. The method may include an operation of performing a task corresponding to the input based on the text data.
[0144] According to one embodiment, the data may include user history information including the user's sentence generation history.
[0145] In one embodiment, the operation of generating the prompt text may include an operation of preprocessing the data. The operation of generating the prompt text may include an operation of inputting the preprocessed data and text data corresponding to the input into a prompt generation model to generate the prompt text.
[0146] In one embodiment, the operation of preprocessing the data may include extracting representative sentences from the user's sentence generation history. The operation of preprocessing the data may include obtaining the user's sentence style and sentence features based on the representative sentences.
[0147] According to one embodiment, the operation of generating the prompt text may include an operation of generating the prompt text by combining a prompt format and a prompt parameter. The prompt parameter may include at least one of text data corresponding to the input, the sentence style, or the sentence feature.
[0148] In one embodiment, the act of performing the task may include providing the user with a voice or text corresponding to the text data to request approval for performing the task.
[0149] In one embodiment, the act of performing the task may include the act of generating a message including the text data. The act of performing the task may include the act of transmitting the message.
[0150] In one embodiment, the act of performing the task may include inputting the text data into a search engine. The act of performing the task may include providing the data output from the search engine to the user.
[0151] According to one embodiment, a method of operating an electronic device (e.g., electronic device 101 of FIG. 1, electronic device 201 of FIG. 2, or electronic device 501 of FIG. 5) may include an operation of receiving a user's input. The method may include an operation of analyzing the input to determine domain and intent information. The method may include an operation of collecting data utilized for text generation in the domain when the intent information is related to a text generation command. The method may include an operation of generating a prompt text based on the data and the input. The method may include an operation of inputting the prompt text into a language model to obtain text data. The method may include an operation of providing a voice or text corresponding to the text data to the user to request approval for the text data.
[0152] According to one embodiment, the data may include user history information including the user's sentence generation history.
[0153] According to one embodiment, the operation of generating the prompt text may include an operation of preprocessing the data. The operation of generating the prompt text may include an operation of inputting text data corresponding to the input and preprocessed data into a prompt generation model to generate the prompt text.
[0154] In one embodiment, the data preprocessing operation may include extracting representative sentences from the user's sentence generation history. The data preprocessing operation may include obtaining the user's sentence style and sentence characteristics based on the representative sentences.
[0155] In one embodiment, the operation of generating the prompt text may include an operation of generating the prompt text by combining a prompt format and a prompt parameter. The prompt parameter may include at least one of text data corresponding to the input, the sentence style, or the sentence feature.
[0156] According to one embodiment, the operating method may further include, in response to receiving the approval, performing a task corresponding to the input.
[0157] In one embodiment, the act of performing the task may include the act of generating a message including the text data. The act of performing the task may include the act of transmitting the message.
[0158] In one embodiment, the act of performing the task may include inputting the text data into a search engine. The act of performing the task may include providing the data output from the search engine to the user.
[0159] 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 collect data utilized for text generation when the input is associated with a text generation command. The instructions, when individually or collectively executed by the processor, may cause the electronic device to generate prompt text based on the data and the input. The instructions, when individually or collectively executed by the processor, may cause the electronic device to input the prompt text into a language model (e.g., the language model (524) of FIG. 6) to obtain text data. The instructions, when individually or collectively executed by the processor, may cause the electronic device to perform a task corresponding to the input based on the text data.
[0160] According to one embodiment, the data may include user history information including the user's sentence generation history.
[0161] In one embodiment, the instructions, when individually or collectively executed by the processor, may cause the electronic device to preprocess the data. The instructions, when individually or collectively executed by the processor, may cause the electronic device to input the preprocessed data and text data corresponding to the input into a prompt generation model, thereby generating the prompt text.
[0162] According to one embodiment, the instructions, when individually or collectively executed by the processor, may cause the electronic device to extract representative sentences from the user's sentence generation history. The instructions, when individually or collectively executed by the processor, may cause the electronic device to acquire the user's sentence style and the user's sentence features based on the representative sentences.
Claims
1. In the operating method of an electronic device (101; 201; 501), An action that receives user input; An action for collecting data used for text generation, if the above input is associated with a text generation command; An action of generating a prompt text based on the above data and the above input; An operation of obtaining text data by inputting the above prompt text into a language model (524); and An operation of performing a task corresponding to the input based on the above text data. A method of operation, comprising:
2. In paragraph 1, The above data is, A method of operation, comprising user history information including a sentence generation history of the user.
3. In either of paragraphs 1 and 2, The action that generates the above prompt text is: An action to preprocess the above data; and An operation of generating the prompt text by inputting preprocessed data and text data corresponding to the above input into a prompt generation model. A method of operation, comprising:
4. In any one of paragraphs 1 to 3, The action of preprocessing the above data is: An action of extracting representative sentences from the sentence creation history of the above user; and An operation of obtaining the user's sentence style and the user's sentence feature based on the representative sentence above. A method of operation, comprising:
5. In any one of paragraphs 1 to 4, The action that generates the above prompt text is: An action that generates the above prompt text by combining prompt formats and prompt parameters. Including, The above prompt parameters are, Text data corresponding to the above input, the above sentence style, or the above sentence feature A method of operation, comprising at least one of:
6. In any one of paragraphs 1 to 5, The actions that perform the above task are: An action of requesting approval for performing the task by providing the user with a voice or text corresponding to the text data; or An action of generating a message including said text data and transmitting said message; or An operational method comprising an action of inputting the above text data into a search engine and providing the data output from the search engine to the user.
7. In the operating method of an electronic device (101; 201; 501), The action of obtaining user input; An action to analyze the above input to determine domain and intent information; An action of collecting data used for text generation in the domain when the above intent information is related to a text generation command; An action to generate a prompt text based on said data and said input; An operation of obtaining text data by inputting the above prompt text into a language model (524); and An action to request approval for said text data by providing the user with a voice or text corresponding to said text data. Including, The above data is, User history information including the user's sentence creation history A method of operation, comprising:
8. In paragraph 7, The action that generates the above prompt text is: An action to preprocess the above data; and An operation of generating the prompt text by inputting text data and preprocessed data corresponding to the above input into a prompt generation model. A method of operation, comprising:
9. In either of paragraphs 7 and 8, The action of preprocessing the above data is: An action of extracting representative sentences from the sentence creation history of the above user; and An operation for obtaining the user's sentence style and the user's sentence characteristics based on the representative sentence above. A method of operation, comprising:
10. In any one of paragraphs 7 to 9, The action that generates the above prompt text is: An action that generates the above prompt text by combining prompt formats and prompt parameters. Including, The above prompt parameters are, Text data corresponding to the above input, the above sentence style, or the above sentence feature A method of operation, comprising at least one of:
11. In any one of paragraphs 7 to 10, In response to receiving the above approval, an action to perform a task corresponding to the input. Including more, The actions that perform the above task are: An action of generating a message including said text data and transmitting said message; or An action of inputting the above text data into a search engine and providing the data output from the search engine to the user. A method of operation, comprising:
12. 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 (120; 203; 520), cause the electronic device (101; 201; 501) to: Receive user input, If the above input is related to a text generation command, collect the data used to generate the text, Based on the above data and the above input, generate a prompt text, By inputting the above prompt text into the language model (524), text data is obtained, Based on the above text data, to perform a task corresponding to the input. Electronic devices (101; 201; 501).
13. In paragraph 12, The above data is, An electronic device (101; 201; 501) comprising user history information including a sentence generation history of the user.
14. In any one of paragraphs 12 and 13, The above instructions, when individually or collectively executed by the processor (120; 203; 520), cause the electronic device (101; 201; 501) to: Preprocess the above data, By inputting preprocessed data and text data corresponding to the above input into the prompt generation model, the prompt text is generated. Electronic devices (101; 201; 501).
15. In any one of paragraphs 12 to 14, The above instructions, when individually or collectively executed by the processor (120; 203; 520), cause the electronic device (101; 201; 501) to: Extract representative sentences from the sentence creation history of the above user, Based on the above representative sentence, the user's sentence style and the user's sentence feature are obtained. Electronic devices (101; 201; 501).
Citation Information
Patent Citations
Apparatus and method for generating the polite expressions for automatic interpretation
KR1020130123038A
A System for Manufacturing a Shoe Using 3D Scan Device Based on a Health Diagnosis
KR1020230034283A
Bamboo toothbrush manufacturing apparatus, bamboo toothbrush manufacturing method, and bamboo toothbrush manufactured thereof
KR102508482B1
KR20210110650A
KR20220130739A