Method for utilizing voice assistant based on conversation context and electronic device therefor

By associating user queries with previous conversation topics and transmitting this information to a server, the voice assistant method enhances answer relevance and efficiency, addressing the limitations of existing voice assistants in providing contextually appropriate responses.

WO2025058316A1PCT designated stage expired Publication Date: 2025-03-20SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/013335
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-19
Filing Date
2024-09-04
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

Existing voice assistants struggle to provide contextually relevant answers as they lack the ability to associate user queries with previous conversation topics, leading to inefficient information retrieval and increased user effort.

Method used

The method involves receiving user queries through a voice assistant, associating them with previous dialogue information if the topics match, and transmitting this information to a server (like an LLM server) to provide answers that are contextually relevant to the user's intention and conversation history.

Benefits of technology

This approach enables more accurate and efficient answer provision by analyzing both current and previous user queries, reducing the time needed to find desired information, and improving user experience by providing contextually appropriate responses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024013335_20032025_PF_FP_ABST
    Figure KR2024013335_20032025_PF_FP_ABST
Patent Text Reader

Abstract

Various embodiments of the present invention may comprise a display (160), a processor (120), and a memory (130). Instructions stored in the memory may, when executed by the processor, cause an electronic device to: receive a user query through a voice assistant; identify previous conversation information having a conversation topic associated with the user query; if there is the identified previous conversation information, display a previous conversation call object on the display; determine whether a user input for selecting the previous conversation call object is detected; and if the user input is detected, provide an answer on the basis of the identified previous conversation information and the user query. Various embodiments are possible.
Need to check novelty before this filing date? Find Prior Art

Description

Method for utilizing a voice assistant based on conversation context and electronic device thereof

[0001] Various embodiments of the present disclosure relate to a method for utilizing a voice assistant based on a conversation context and an electronic device thereof.

[0002] With the advancement of digital technology, various types of electronic devices, such as mobile terminals, personal digital assistants (PDAs), electronic notebooks, smartphones, tablet PCs (personal computers), and wearable devices, are becoming widely used. These electronic devices are constantly undergoing improvements in their hardware and / or software to support and enhance their functionality.

[0003] Recently, large language models (LLMs) have been developing technologies to understand language and summarize or condense long sentences. Electronic devices obtain result data (e.g., answers) from user queries via LLM servers and provide the resulting data to users. However, the resulting data often contains a vast amount of information, requiring users to navigate through the data to find the desired information.

[0004] In one embodiment, a method and device for receiving a user query through a voice assistant application, determining whether the user query is related to a previous conversation topic, and if the user query is related to the previous conversation topic, transmitting the user query and conversation information related to the previous conversation topic to a server (e.g., an LLM server), thereby providing an answer suited to the user's intent and conversation context, may be disclosed.

[0005] According to one embodiment of the present disclosure, a display (160), a processor (120), and a memory (130) storing instructions may be included, wherein the instructions stored in the memory, when executed by the processor, cause the electronic device to receive a user query through a voice assistant, identify previous conversation information having a conversation topic related to the user query, display a previous conversation retrieval object on the display when there is the identified previous conversation information, determine whether a user input for selecting the previous conversation retrieval object is detected, and, if the user input is detected, provide an answer based on the identified previous conversation information and the user query.

[0006] An operating method of an electronic device (101) according to an embodiment of the present disclosure may include an operation of receiving a user query through a voice assistant, an operation of identifying previous conversation information having a conversation topic related to the user query, an operation of displaying a previous conversation retrieval object on a display (160) of the electronic device when there is the identified previous conversation information, an operation of checking whether a user input for selecting the previous conversation retrieval object is detected, and an operation of providing an answer based on the identified previous conversation information and the user query when the user input is detected.

[0007] According to one embodiment, a response that matches the user's intent and conversation context can be provided by determining whether a user's query is related to a previous conversation topic, and if the user's query is related to the previous conversation topic, transmitting conversation information related to the user's query and the previous conversation topic to a server (e.g., an LLM server).

[0008] In one embodiment, when the conversation topic is the same, a more accurate answer can be obtained by analyzing not only the current user query but also previous user queries and answers to previous user queries.

[0009] In one embodiment, when calling a voice assistant, if there is previous conversation information, the previous conversation information can be displayed to help the user understand the conversation context.

[0010] In one embodiment, by summarizing and storing conversation information according to conversation topic, it can help the user understand the context of previous conversations.

[0011] In one embodiment, if the current user query is the same as a previous user query, the time required to provide an answer can be shortened by requesting an answer to the current user query from the server or providing an answer to the previous user query without generating it on the electronic device.

[0012] According to one embodiment, when providing conversation history information, by providing summary keywords for the conversation information, it is possible to help the user easily find the conversation information they want through the summary keywords.

[0013] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.

[0014] FIG. 2 is a block diagram illustrating a generative artificial intelligence system according to one embodiment.

[0015] FIG. 3 is a diagram illustrating an example of managing previous conversation information in an electronic device according to one embodiment.

[0016] Figure 4 is a flowchart illustrating an operating method of an electronic device according to one embodiment.

[0017] FIG. 5 is a diagram illustrating an example of calling a voice assistant in an electronic device according to one embodiment.

[0018] FIGS. 6A and 6B are diagrams illustrating an example of retrieving previous conversation information in an electronic device according to one embodiment.

[0019] FIG. 7 is a flowchart illustrating a method for providing previous conversation information in an electronic device according to one embodiment.

[0020] FIG. 8A is a diagram illustrating an example of retrieving conversation history in an electronic device according to one embodiment.

[0021] FIG. 8b is a diagram illustrating an example of providing conversation information through a conversation history summary list in an electronic device according to one embodiment.

[0022] FIG. 9 is a flowchart illustrating a method for providing an answer based on a conversation topic for a user query in an electronic device according to one embodiment.

[0023] FIG. 10A is a diagram illustrating an example of providing conversation history information in an electronic device according to one embodiment.

[0024] FIG. 10b is a diagram illustrating an example of managing conversation history information in an electronic device according to one embodiment.

[0025] FIG. 11 is a diagram illustrating an example of providing quick scrolling of conversation history in an electronic device according to one embodiment.

[0026] FIGS. 12A and 12B are diagrams illustrating an example of providing fast scrolling of conversation history in an electronic device according to one embodiment.

[0027] FIGS. 13a and 13b are diagrams illustrating an example of providing previous conversation information according to a screen size in an electronic device according to one embodiment.

[0028] FIG. 14 is a diagram illustrating an example of providing a previous answer according to a user query in an electronic device according to one embodiment.

[0029] FIGS. 15A and 15B are diagrams illustrating an example of providing previous conversation information differently depending on the current state of an electronic device according to one embodiment.

[0030] FIGS. 16A and 16B are diagrams illustrating examples of performing tasks for user queries differently depending on the current state of an electronic device according to one embodiment.

[0031] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments.

[0032] 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 second 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)).

[0033] 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 operations. According to one embodiment, as at least a part of the data processing or operations, 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 an auxiliary 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 with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0034] 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.

[0035] 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).

[0036] 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).

[0037] 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).

[0038] 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.

[0039] 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. According to 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.

[0040] 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).

[0041] 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.

[0042] 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.

[0043] 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).

[0044] The 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. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0045] 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.

[0046] 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 as, for example, at least a part of a power management integrated circuit (PMIC).

[0047] 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.

[0048] 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).

[0049] 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.

[0050] 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, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected 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).

[0051] According to various embodiments, 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.

[0052] 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)).

[0053] 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.

[0054] 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.

[0055] 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 the corresponding component from other corresponding components and do not limit the corresponding components in any other respect (e.g., importance or order). When a component (e.g., a first) 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.

[0056] 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).

[0057] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) 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 called instruction. 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' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0058] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0059] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0060] FIG. 2 is a block diagram illustrating a generative artificial intelligence system according to one embodiment.

[0061] Referring to FIG. 2, a generative artificial intelligence system (e.g., an intelligent server, server (108) of FIG. 1) according to one embodiment may include a user interface (210), a database (220), an application and service component (230), an AI framework (250), and a generative AI model (270).

[0062] The user interface (210) can receive a user query. The user query can be in the form of natural language, images, or videos. Additionally, context information can be transmitted along with the user query. As another example, the user query can also be a non-natural language input that does not generate natural language, such as a design request or modification. Furthermore, the query can be a mixed form of natural language, images, sounds, and context information as described above. Furthermore, the user interface (210) can output the results of the generative artificial intelligence system to the user. The output can be in the form of natural language or specific content, and can also be provided in the form of an action requested by the user.

[0063] The AI ​​framework (250) can receive a user query and coordinate and control each component necessary to carry out the user's intent. The AI ​​framework (250) may include a prompt design component (251), an application and plug-in management component (APIs / Plugins Management component) (253), and an output modification component (255).

[0064] A user query or action entered in the user interface (210) may be transmitted to a prompt design component (251). The prompt design component (251) may be used to generate prompts suitable for input into a large language model (LLM) or a large multimodal model. The prompt design component (251) may be an AI component that uses a machine learning algorithm or a neural network to develop better prompts over time. The prompt design component (251) may access a knowledge component containing user preference data, a prompt library, and prompt examples to generate prompts and transmit them to the large language model (LLM) or the large multimodal model (LMM).

[0065] The application and plugin management component (253) can communicate with external information when a request for additional information is made when user input is passed as input to the generative model. The application and plugin management component (253) establishes a channel for communication with the AI ​​Interface externally via an application programming interface (API), thereby enabling access to various data sources. Furthermore, if the application or service needs to perform an action that ultimately fulfills a user query, rather than an intermediate result, the application and plugin management component (253) can request such an action via the API. Information obtained from external sources can be passed as input to the generative model along with user input.

[0066] The output modification component (255) can fine-tune the output from the generative model. For example, the output modification component (255) can verify that content generated through a language model (LLM) or a large-scale multimodal model (LMM) is not irrelevant, does not contain biased content, or does not contain harmful content. In addition, the output modification component (255) can determine the degree to which the content matches the user's desired result and, if necessary, can proceed with additional processing. Additionally, the output modification component (255) can configure and provide hints to the user to avoid undesired output.

[0067] Generative AI models (270) generally refer to artificial intelligence neural networks that create new forms of data based on user input information. Representative models that generate images include generative adversarial networks (GANs) and variational autoencoders (VAEs). Recently, diffusion-based generative models that use VAE and transformer structures are also called generative models. In addition, language models are models trained to statistically output the most appropriate output based on input values, and representative examples include models such as CHAT-GPT 3 and CHAT-GPT 4. In addition, since they can recognize various types of data input, such as text, images, and voice, and generate new data corresponding to them, they are called large multimodal models (LMMs).

[0068] FIG. 3 is a diagram illustrating an example of managing previous conversation information in an electronic device according to one embodiment.

[0069] Referring to FIG. 3, a processor (e.g., a processor (120) of FIG. 1) of an electronic device (e.g., an electronic device (101) of FIG. 1) according to an embodiment may receive a user query through a voice assistant (or voice secretary) application and provide an answer (e.g., result data) to the user query. The voice assistant application (or voice assistant service) may collect and provide customized information to the user based on an artificial intelligence (AI) engine and voice recognition, and may perform various tasks such as schedule management, email sending, and restaurant reservation according to the user's voice commands. For example, a user may utter a predetermined voice wake word (e.g., Hi Bixby) or press a button related to the voice assistant to call the voice assistant. When the processor (120) detects a voice wake word acquired through a microphone (e.g., an input module (150) of FIG. 1), the voice assistant application may be executed. Alternatively, the processor (120) may execute the voice assistant application when a button (e.g., a software button or a physical button) associated with the voice assistant is selected. When the button is selected, the processor (120) may display a keypad on the execution screen of the executed voice assistant application.

[0070] In one embodiment, when the voice assistant is invoked with a button, the voice assistant may operate in a text-based manner (e.g., displaying a keypad), or when the voice assistant is invoked with voice, the voice assistant may operate in a voice-based manner (e.g., receiving voice commands), but may not be limited thereto.

[0071] The processor (120) may receive a first user query (311) from a user through the executed voice assistant application. The first user query (311) may be a voice command obtained through a microphone, or text obtained through a keypad displayed on the execution screen of the executed voice assistant application. The processor (120) may open a conversation session, receive the first user query (311), and provide a first answer (312) to the first user query (311). The processor (120) may assign a conversation identifier to the conversation session that receives the first user query (311). Alternatively, the processor (120) may assign a request identifier to the first user query (311). The processor (120) may assign the same conversation identifier to the same conversation session, and terminate the conversation session when a specified time has elapsed.

[0072] For example, when the first user query is initiated, a conversation session may be initiated and maintained for a specified period of time (e.g., 24 hours, 2 days, 7 days, etc.). The specified period of time is designated to manage a conversation session once initiated as the same conversation session, and may be preset (stored) in the voice assistant application or set by the user. When the conversation session is initiated and the user requests a forced termination of the voice assistant application, the conversation session may be terminated. The processor (120) may classify (or assign) conversations from the first query until the forced termination or the specified period of time has elapsed with the same conversation identifier. The processor (120) may assign the same conversation identifier as the previously entered question and answer to a user query that is entered before the specified period of time has elapsed or the voice assistant application has not been terminated. The processor (120) may assign a different conversation identifier to a query / answer that is entered after the time has elapsed or the voice assistant application has been terminated.

[0073] When a previous conversation session ends and a new conversation session opens, a new conversation identifier may be assigned. Furthermore, the request identifier may be assigned per user query, and a user query and a response to the query may be identified by a single request identifier. The processor (120) may manage (or store in memory (e.g., memory (130) of FIG. 1)) a user query and a response to the query in response to a single request identifier. The user query and the response to the user query may be stored in the memory (130) as conversation information.

[0074] Referring to the user interface (310), the processor (120) stores first conversation information (e.g., a first user query (311) and a first answer (312) to the first user query) corresponding to a first request identifier (①), stores second conversation information (e.g., a second user query (313) and a second answer (314) to the second user query) corresponding to a second request identifier (②), stores third conversation information (e.g., a third user query (315) and a third answer (316) to the third user query) corresponding to a third request identifier (③), stores fourth conversation information (e.g., a fourth user query (317) and a fourth answer (318) to the fourth user query) corresponding to a fourth request identifier (④), and stores fifth conversation information (e.g., a fifth user query (319) and a fourth answer (319) to the fourth user query) corresponding to a fifth request identifier (⑤). The fifth answer (320) to the fifth user query may be stored, the sixth conversation information (e.g., the sixth user query (321) and the sixth answer (322) to the sixth user query) may be stored in response to the sixth request identifier (⑥), and the seventh conversation information (e.g., the seventh user query (323) and the seventh answer (324) to the seventh user query) may be stored in response to the seventh request identifier (⑦).

[0075] For example, the first conversation information to the seventh conversation information may be included in a first conversation session (e.g., a first conversation identifier). When the voice assistant application is executed after a specified time (e.g., 24 hours, 3 days, 5 days) since the first conversation session was last used (or ended), a second conversation session may be created. The specified time is designated to manage a conversation session that has been started as the same conversation session, and may be preset (stored) in the voice assistant application or set by the user. In addition, when the voice assistant application is executed after a specified time since the second conversation session was last used (or ended), a third conversation session may be created. These descriptions are provided as examples to help understand the invention and do not limit the scope of the invention.

[0076] According to one embodiment, the processor (120) may retain conversation information for a specified period of time for one conversation session, unless a specified period of time has elapsed or a user requests forced termination of the voice assistant application. The processor (120) may store conversation information included in one conversation session in the memory (130). When the specified period of time has elapsed, the processor (120) may store conversation information for which the specified period of time has elapsed in the memory (130) as a conversation history. When storing the conversation history, the processor (120) may not store conversation information for one-time user queries (e.g., screen capture, today's date?) or one-time user queries (e.g., set a timer).

[0077] When a user query is received, the processor (120) may determine a conversation topic identifier (conversation topic ID). The conversation topic identifier may be used to manage conversation information corresponding to the same conversation topic. That is, even if the user query or the content contained in the user query is different, if the conversation topic is the same, the same conversation topic identifier may be determined (or assigned, allocated). For example, the conversation topic may be a large category such as people, objects, or animals, a medium category such as cars or food within objects, or a small category such as spaghetti or steak within food. These examples are provided merely to aid understanding of the invention and are not intended to limit the invention.

[0078] For example, the processor (120) may assign a first conversation topic identifier (301) to the first conversation information and the second conversation information, a second conversation topic identifier (303) to the third conversation information, a third conversation topic identifier (305) to the fourth conversation information, a fourth conversation topic identifier (307) to the fifth conversation information, and a first conversation topic identifier (301) to the sixth conversation information and the seventh conversation information. That is, the first conversation information, the second conversation information, the sixth conversation information, and the seventh conversation information may correspond to the same (or similar) conversation topic. The processor (120) may distinguish whether the conversation context is maintained or changed based on the conversation topic identifier. The processor (120) may identify a relationship between user queries (or conversation information) based on the conversation topic identifier.

[0079] For example, when the processor (120) receives a sixth user query (e.g., recommended travel destinations in Busan), it may determine the sixth user query as the first conversation topic identifier (301) based on the sixth user query. In this case, when requesting an answer to the sixth user query, the processor (120) may use other conversation information (e.g., first conversation information and second conversation information) included in the first conversation topic identifier (301). If there is previous conversation information having the same conversation topic identifier as the first conversation topic identifier (301), the processor (120) may analyze the first conversation information, the second conversation information, and the sixth user query corresponding to the first conversation topic identifier (301) using a generative artificial intelligence engine to determine (or understand) the user's intention and conversation context, and generate a sixth answer to the sixth user query based on the determination result. The generative artificial intelligence engine may be included in the electronic device (101) and may be updated periodically. That is, the generative artificial intelligence engine can learn user queries and answers to user queries, and generate answers to user queries received from users based on the learned content.

[0080] Alternatively, if there is no previous conversation information having the same conversation topic identifier as the first conversation topic identifier (301), the processor (120) may transmit the first conversation information, the second conversation information, and the sixth user query to an intelligent server (e.g., the server (108) of FIG. 1 or the generative artificial intelligence system of FIG. 2) via a communication module (e.g., the communication module (190) of FIG. 1), and receive a sixth answer to the sixth user query from the server (108). The server (108) may analyze the first conversation information, the second conversation information, and the sixth user query to determine (or understand) the user's intention and conversation context, and generate a sixth answer to the sixth user query based on the determination result.

[0081] According to one embodiment of the present disclosure, a display (160), a processor (120), and a memory (130) are provided, and instructions stored in the memory, when executed by the processor, may cause the electronic device to receive a user query through a voice assistant, identify previous conversation information having a conversation topic related to the user query, display a previous conversation retrieval object on the display when there is the identified previous conversation information, determine whether a user input for selecting the previous conversation retrieval object is detected, and, if the user input is detected, provide an answer based on the identified previous conversation information and the user query.

[0082] The instructions, when executed by the processor, may cause the electronic device to determine whether there is a previous conversation topic associated with the user query, and if there is a previous conversation topic associated with the user query, display conversation information corresponding to a conversation topic identifier associated with the previous conversation topic on the display, and transmit the user query and the conversation information together to a server.

[0083] The above instructions, when executed by the processor, may cause the electronic device to transmit the user query to a server if there is no identified previous conversation information, and to obtain and provide an answer to the user query from the server.

[0084] The above instructions, when executed by the processor, may cause the electronic device to analyze a previous user query and an answer corresponding to the previous user query, group conversation information corresponding to the same conversation topic based on the analysis result, assign a conversation topic identifier to the grouped conversation information, and identify a conversation topic identifier associated with the user query to determine whether the user query is associated with the previous conversation information.

[0085] The above instructions, when executed by the processor, may cause the electronic device to provide the previous conversation information when the user input is detected, provide a list summarizing each previous conversation information when there is a plurality of previous conversation information, and provide previous conversation information selected by the user from the list.

[0086] The above instructions, when executed by the processor, may cause the electronic device to detect a user input requesting conversation history information, provide a conversation history list summarizing each conversation information based on the user input, and provide conversation information selected by the user from the conversation history list.

[0087] The instructions, when executed by the processor, may cause the electronic device to identify whether a response to the selected conversation information is associated with a time and location, and to update the identified response based on the current time and current location of the electronic device.

[0088] The above instructions, when executed by the processor, may cause the electronic device to display the original answer of the identified answer along with an updated answer.

[0089] The above instructions, when executed by the processor, may cause the electronic device to select a previous user query from the user in conversation history information and perform a task for the selected user query based on the current time and current location of the electronic device.

[0090] The above instructions, when executed by the processor, may cause the electronic device to, if the user query is identical to a previous user query included in conversation history information, retrieve an answer to the previous user query from the memory without performing a task for the user query, and provide the retrieved answer.

[0091] The above instructions, when executed by the processor, may cause the electronic device to generate summary keywords based on user queries and answers to user queries included in conversation history information, provide summary keywords based on scroll positions when a scroll input is detected within the conversation history information, and provide conversation information corresponding to the summary keyword when the summary keyword is selected.

[0092] Figure 4 is a flowchart (400) illustrating an operating method of an electronic device according to one embodiment.

[0093] Referring to FIG. 4, in operation 401, a processor (e.g., the processor (120) of FIG. 1) of an electronic device (e.g., the electronic device (101) of FIG. 1) according to an embodiment may receive a user query through a voice assistant. The voice assistant may collect and provide customized information to the user based on an artificial intelligence (AI) engine and voice recognition, and may perform various tasks such as schedule management, email transmission, and restaurant reservation according to the user's voice commands. For example, the user may utter a predetermined voice wake word (e.g., Hi Bixby) or press a button related to the voice assistant to call the voice assistant. When the processor (120) detects the voice wake word through a microphone (e.g., the input module (150) of FIG. 1), the processor (120) may execute a voice assistant application and receive the user query. Alternatively, the processor (120) may execute the voice assistant application when a button (e.g., a software button or a physical button) for calling the voice assistant is selected. When the button is selected, the processor (120) may display a keypad on the execution screen of the executed voice assistant application.

[0094] In one embodiment, when the voice assistant is invoked with a button, the voice assistant may operate in a text-based manner (e.g., displaying a keypad), or when the voice assistant is invoked with voice, the voice assistant may operate in a voice-based manner (e.g., receiving voice commands), but may not be limited thereto.

[0095] When the user query is received, the processor (120) may display text corresponding to the user query on the execution screen of the voice assistant application. The user query may be a voice command acquired through a microphone, or text acquired through a keypad displayed on the execution screen of the voice assistant application that has been executed. For example, when the user query is a voice command, the processor (120) may convert the voice command into text (speech to text) and display the converted text on the execution screen of the voice assistant application.

[0096] According to one embodiment, the processor (120) may determine a conversation topic each time a user query is received, and determine a conversation topic identifier based on the determined conversation topic. Accordingly, if the conversation topics are identical, the same conversation topic identifier may be assigned. The processor (120) may determine (or assign, allocate) a conversation topic identifier for the user query.

[0097] In operation 403, the processor (120) may identify previous conversation information having a conversation topic associated with the user query. The previous conversation information may include conversation information included in a conversation session existing prior to the user query. Once the conversation session is initiated (or opened), all user queries received within a specified time period may be included in the same conversation session. The termination of the conversation session may not be limited to within a specified time period. While the conversation session is maintained, the voice assistant may be forcibly terminated at the user's request, or the conversation session may be terminated if the voice assistant application is not used for a specified time period.

[0098] When the voice assistant is invoked, a conversation session (e.g., a first conversation) is opened, a conversation identifier (e.g., a first conversation identifier) ​​is assigned, and a conversation with the voice assistant may begin based on a user query. The opened conversation session may be maintained for a specified period of time (e.g., 1 day, 3 days, 7 days) unless forcibly terminated by the user. Maintaining the conversation session for a specified period of time may mean that the conversation session is maintained for 24 hours from the last conversation, even if there has been no conversation for a specified period of time (e.g., 24 hours) since the last conversation. Alternatively, maintaining the conversation session for a specified period of time may mean that the conversation session is maintained for a specified period of time from the start time of the conversation session.

[0099] While the above conversation session is maintained, the processor (120) can store the user query included in the conversation session and the response to the user query as previous conversation information in a memory (e.g., the memory (130) of FIG. 1). While the conversation session is maintained, the processor (120) can receive a new user query or process the voice assistant as a conversation included in the conversation session when called (or re-called). For example, the processor (120) can transmit conversation information corresponding to the same conversation topic identifier as the input user query to the server together with the user query so as to receive a response that is continuous with the previous conversation.

[0100] The processor (120) may identify previous conversation information having a conversation topic associated with the user query if the user query is detected within the specified time period (e.g., before the conversation session ends or before a new conversation session begins). However, the processor (120) may not be able to identify the previous conversation information if the user query is detected after the specified time period has expired (e.g., after the conversation session ends). When the specified time period has elapsed, the processor (120) may terminate the conversation session and delete the previous conversation information included in the conversation session. After the specified time period has elapsed, when the voice assistant is called, a new conversation session (e.g., a second conversation) is opened, a new conversation identifier (e.g., a second conversation identifier) ​​is assigned, and a conversation with the voice assistant may begin based on the user query.

[0101] According to one embodiment, some of the previous conversation information deleted as the previous conversation information may be stored in the memory (1530) as conversation history information. When storing the conversation history, the processor (120) may not store conversation information for one-time user queries (e.g., screen capture, today's date?) or one-time user queries (e.g., set a timer).

[0102] In operation 405, the processor (120) may display a previous conversation retrieval object. Previous conversation information having a conversation topic associated with the user query may be assigned the same conversation topic identifier as the user query. If there is previous conversation information having a conversation topic associated with the user query, the processor (120) may display the previous conversation retrieval object on a display (e.g., the display module (160) of FIG. 1). For example, the processor (120) may display the previous conversation retrieval object on the execution screen of the voice assistant application. The previous conversation retrieval object may include at least one of text, an image, a video, or audio.

[0103] In operation 407, the processor (120) may detect a user input for selecting the previous conversation retrieval object. The user input may be an input for selecting and dragging (or swiping, scrolling) the previous conversation retrieval object. When the processor (120) detects a user input for selecting the previous conversation retrieval object, the processor (120) may display the previous conversation information on the display module (160).

[0104] In operation 409, when the user input is detected, the processor (120) may provide an answer based on the previous conversation information and the user query. The previous conversation information may be a conversation that precedes the user query in time and may be assigned the same conversation topic identifier as the user query. In order to determine the user's intention or conversation context for the user query, it may be helpful to analyze the conversation context before and after the user query. In addition, transmitting all previous conversation information with different conversation topics from the user query to the server (108) every time a user query is input may slow down the processing speed and may be unnecessary. The processor (120) may transmit the user query and the previous conversation information to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2). The server (108) may generate an answer to the user query based on the user query and the conversation information.

[0105] According to one embodiment, the processor (120) may determine a conversation topic identifier for the user query and determine whether the electronic device (101) can process the conversation topic identifier based on the conversation topic identifier. If there is previous conversation information having a conversation topic identifier that is the same as the conversation topic identifier for the user query and can be processed by the electronic device (101), the processor (120) may generate an answer to the user query using a generative artificial intelligence engine. If there is no previous conversation information having a conversation topic identifier that is the same as the conversation topic identifier for the user query, the processor (120) may request an answer to the user query by transmitting the user query and the displayed conversation information to the server (108).

[0106] If the user input is not detected, the processor (120) may transmit the user query to the server (108). That is, if the user determines that his / her query is unrelated to the preceding / consequential context of the conversation (e.g., a different conversation topic), he / she may not want to retrieve previous conversation information even if it exists and may only want to receive an answer corresponding to the current user query. If there is no request from the user to retrieve a previous conversation, the processor (120) may transmit only the user query to the server (108). That is, even if there is other conversation information within the same conversation session as the user query, if the conversation information is unrelated to the user query, it may not be transmitted to the server (108) as it is unnecessary information. The processor (120) may increase the processing speed by transmitting only the information necessary for generating an answer to the user query to the server (108).

[0107] The processor (120) can obtain an answer from the server (108) and provide it to the user. The processor (120) can receive an answer to the user's query from the server (108) through the communication module (190) and display an execution screen of the voice assistant application including the received answer on the display module (160). The answer can include at least one of text, an image, a video, or audio. Alternatively, the processor (120) can convert the received answer (e.g., text) into speech (e.g., text to speech) and output the converted speech to a speaker (e.g., the audio output module (155) of FIG. 1).

[0108] The processor (120) can determine whether there is conversation information with the same conversation topic identifier as the determined conversation topic identifier among previous conversation information. If there is another conversation with the same conversation topic as the current user query, the processor (120) can transmit it to the server (108) to help the server (108) understand the user's intent or conversation context.

[0109] FIG. 5 is a diagram illustrating an example of calling a voice assistant in an electronic device according to one embodiment.

[0110] Referring to FIG. 5, a processor (e.g., a processor (120) of FIG. 1) of an electronic device (e.g., an electronic device (101) of FIG. 1) according to an embodiment may display a first user interface (510) on a display (e.g., a display module (160) of FIG. 1). While displaying the first user interface (510), the processor (120) may detect a user input for calling a voice assistant (e.g., executing a voice assistant application). For example, when a voice calling word (501) is detected through a microphone (e.g., an input module (150) of FIG. 1), the processor (120) may execute the voice assistant application. When the voice assistant application is executed by the voice calling word (501), the second user interface (530) may display an execution screen of the voice assistant application on the display module (160). The second user interface (530) may include a user query (531) such as "Today's weather" and a keypad switching button (533). The processor (120) may receive the user query (531) after the voice wake-up word, convert the user query (531) into text ("Today's weather"), and display the converted text. The keypad switching button (533) may be selected when the user wishes to input the user query via the keypad. When the keypad switching button (533) is selected, the processor (120) may display a keypad, as in the third user interface (550).

[0111] Alternatively, the processor (120) may execute the voice assistant application when the voice assistant and button (503) are selected. The third user interface (550) may display the execution screen of the voice assistant application on the display module (160) when the voice assistant application is executed by the button (503). The third user interface (550) may be provided by including a keypad (551) on the execution screen of the voice assistant application in order to receive a user query from the user.

[0112] FIGS. 6A and 6B are diagrams illustrating an example of retrieving previous conversation information in an electronic device according to one embodiment.

[0113] Referring to FIG. 6A, a processor (e.g., processor 120 of FIG. 1) of an electronic device (e.g., electronic device 101 of FIG. 1) according to an embodiment may display a first user interface (610) that receives a user input requesting previous conversation information on a display (e.g., display module (160) of FIG. 1). The processor (120) may detect a user input for calling a voice assistant (e.g., executing a voice assistant application). The user input may be uttering a specified voice wake word or pressing a specified button. When the voice assistant is called, the processor (120) may identify previous conversation information. The previous conversation information may include the content of a conversation with the voice assistant within a specified time.

[0114] When the voice assistant is called, a conversation session (e.g., a first conversation) is opened, a conversation identifier (e.g., a first conversation identifier) ​​is assigned, and a conversation with the voice assistant may begin based on a user query. The opened conversation session may be maintained for a specified period of time (e.g., 1 day, 3 days, 7 days) unless forcibly terminated by the user. When the conversation session is maintained, the processor (120) may store the user query included in the conversation session and the answer to the user query as previous conversation information in a memory (e.g., the memory (130) of FIG. 1). While the conversation session is maintained, the processor (120) may receive a new user query, or process the voice assistant as a conversation included in the conversation session when it is called (or re-called).

[0115] The first user interface (610) may display a previous conversation retrieval object (601). The processor (120) may receive a first user input (603) for selecting the previous conversation retrieval object (601) in the first user interface (610). If the user wishes to continue the conversation from the previous conversation, the user may select and drag the previous conversation retrieval object (601). The first user input (603) may be selecting the previous conversation retrieval object (601) and then dragging it upward (or scrolling or swiping). When the first user input (603) is detected in the first user interface (610), the processor (120) may display a second user interface (630) on the display module (160). The second user interface (630) may include previous conversation information including a user query (631) and a response (633) to the user query (631). While the second user interface (630) is displayed, the processor (120) can receive a user query from the user.

[0116] Referring to FIG. 6B, the third user interface (650) may include a user query (651) and a response (653) to the user query (651). The response (653) may be generated based on the user query (651) and the previous conversation information. The processor (120) may analyze the user query (651) and the previous conversation information to determine (or understand) the user's intention and conversation context, and generate the response (653) to the user query (651) based on the determination result. Alternatively, the processor (120) may transmit the user query (651) and the previous conversation information to an intelligent server (e.g., the server (108) of FIG. 1 or the generative artificial intelligence system of FIG. 2) and receive the response (653) to the user query (651) from the server (108). The server (108) can analyze the user query (651) and the previous conversation information to determine (or understand) the user's intention and conversation context, and generate an answer (653) to the user query (651) based on the determination result.

[0117] When there are multiple pieces of previous conversation information, the processor (120) may display a fourth user interface (670) including a list of previous conversations on the display module (160). The fourth user interface (670) may include first previous conversation information (671) and second previous conversation information (673). When providing a list of previous conversations, the processor (120) may summarize and provide the previous conversation information. The first previous conversation information (671) may include only one user query and one answer to the user query. Alternatively, the list of previous conversations may be provided by conversation topic. The first previous conversation information (671) may include multiple user queries and answers to each user query. The processor (120) may display the list of previous conversations by displaying the most recent previous conversation at the top, displaying the most previous conversation information within a conversation topic at the top, or displaying the list of previous conversations by including only the top few pieces of previous conversation information. When previous conversation information is selected from the previous conversation list, the processor (120) can display the selected previous conversation information on the display module (160). For example, when the first previous conversation information (671) is selected from the previous conversation list, the processor (120) can display the first previous conversation information (671).

[0118] FIG. 7 is a flowchart (700) illustrating a method for providing previous conversation information in an electronic device according to one embodiment.

[0119] Referring to FIG. 7, in operation 701, a processor (e.g., processor (120) of FIG. 1) of an electronic device (e.g., electronic device (101) of FIG. 1) according to an embodiment may assign a request identifier for each user query. The user query may be a voice command obtained through a microphone (e.g., input module (150) of FIG. 1) or a text obtained through a keypad displayed on an execution screen of a voice assistant application. When the voice assistant is called, the processor (120) may execute the voice assistant application, start a conversation session, and assign a request identifier for each user query within the same conversation session. For example, the processor (120) may assign a first request identifier (request ID) to the first user query received within the first conversation session (e.g., a first conversation identifier (conversation ID), a second request identifier to the second user query received, and a third request identifier to the third user query received. User queries received within a specified time period may be processed in the same conversation session, and may be processed as a new conversation session after the specified time period has elapsed. For example, after the first conversation session ends, the processor (120) may start a second conversation session when the voice assistant is called, and assign a first request identifier to the first user query received within the second conversation session (e.g., a second conversation identifier), and assign a second request identifier to the second user query received.

[0120] In operation 703, the processor (120) may analyze the user query and an answer corresponding to the user query. The processor (120) may analyze the user query and generate an answer corresponding to the user query. The processor (120) may display the generated answer as text through a display (e.g., the display module (160) of FIG. 1) or output the generated answer as audio through an audio output module (e.g., the audio output module (155) of FIG. 1). Alternatively, the processor (120) may transmit the user query to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2), obtain an answer to the user query from the server (108), and provide the answer to the user.

[0121] In operation 705, the processor (120) may group request identifiers corresponding to similar (or identical) conversation topics. The processor (120) may store user queries and responses to the user queries as conversation information in a memory (e.g., the memory (130) of FIG. 1). The processor (120) may group conversation information corresponding to similar or identical conversation topics.

[0122] In operation 707, the processor (120) may assign a conversation topic identifier (conversation topic ID) to the grouped request identifier. The conversation topic identifier may be a classification of the conversation topic to which the user's query corresponds. The processor (120) may manage conversation information corresponding to the same conversation topic using the conversation topic identifier. For example, even if the user query or the content included in the user query is different, if the conversation topic is the same, the same conversation topic identifier may be determined (or assigned, allocated).

[0123] In operation 709, the processor (120) may receive a new user query. If the new user query is a voice command, the processor (120) may convert the voice command into text (speech to text) and display the converted text on the execution screen of the voice assistant application.

[0124] In operation 711, the processor (120) may identify a conversation topic identifier for the new user query. The processor (120) may determine the conversation topic identifier based on the user query. According to one embodiment, once the conversation topic identifier is determined, the processor (120) may determine whether the electronic device (101) can process it.

[0125] In operation 713, the processor (120) may display a previous conversation retrieval object on the display module (160). The processor (120) may determine whether the new user query is related to a previous conversation topic based on the identified conversation topic identifier. The processor (120) may identify whether there is conversation information on the same (or similar) conversation topic as the new user query within the conversation session to which the new user query belongs. If there is conversation information assigned the same conversation topic identifier, the processor (120) may display a previous conversation retrieval object. The previous conversation retrieval object may include at least one of text, an image, a video, or audio. According to one embodiment, the processor (120) may display a list of previous conversations distinguished by conversation topic identifiers on the display module (160), such as the first previous conversation information (671) and the second previous conversation information (673) of FIG. 6B .

[0126] In operation 715, the processor (120) may display previous conversation information according to a user request. When the previous conversation retrieval object is selected, the processor (120) may display the previous conversation information. After selecting the previous conversation retrieval object, if a user input of dragging (or scrolling or swiping) upwards is detected, the processor (120) may display the previous conversation information. Here, the previous conversation information may be conversation information having the same conversation topic as the new user query.

[0127] In operation 717, the processor (120) may provide an answer based on the new user query and the selected previous conversation information. The processor (120) may transmit the conversation information selected by the user from among the displayed previous conversation information or the conversation topic identifier of the conversation information to the server to request the server to generate an answer. In order to determine the user's intention or conversation context for the user query, it may be helpful to analyze the conversation context before and after the user query. In addition, transmitting all previous conversation information with different conversation topics from the user query to the server (108) every time a user query is entered may slow down the processing speed and may be unnecessary. The processor (120) may transmit the user query and the previous conversation information to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2). The server (108) may generate an answer to the user query based on the user query and the conversation information.

[0128] According to one embodiment, if there is previous conversation information having the same conversation topic identifier as the conversation topic identifier for the new user query, the processor (120) may use a generative artificial intelligence engine to generate the previous conversation information and an answer to the user query. If there is no previous conversation information having the same conversation topic identifier as the conversation topic identifier for the new user query, the processor (120) may request an answer to the user query by transmitting the new user query to the server (108).

[0129] FIG. 8A is a diagram illustrating an example of retrieving conversation history in an electronic device according to one embodiment.

[0130] Referring to FIG. 8A, a processor (e.g., a processor (120) of FIG. 1) of an electronic device (e.g., an electronic device (101) of FIG. 1) according to an embodiment may display a first user interface (810) on a display (e.g., a display module (160) of FIG. 1). The first user interface (810) may include a user query (811) and a response (813) to the user query (811). While displaying the first user interface (810), the processor (120) may detect a user input (801) for retrieving a previous conversation history. In response to the user input (801), the processor (120) may display a second user interface (830). The second user interface (830) may include a notification (831) indicating that a conversation history exists. The conversation history may include conversation information included in a conversation session prior to receiving the user query (811). When a notification (831) is selected, the processor (120) may search for a conversation history stored in memory (e.g., memory (130) of FIG. 1). The user query (811) may have been received after a previous conversation session ended. The previous conversation session may include a conversation session in which a specified amount of time has elapsed before the voice assistant is invoked. Alternatively, the previous conversation session may include a conversation session in which the voice assistant application was forcibly terminated by the user.

[0131] FIG. 8b is a diagram illustrating an example of providing conversation information through a conversation history summary list in an electronic device according to one embodiment.

[0132] Referring to FIG. 8B, when a notification (831) indicating that there is a conversation history is selected, the processor (120) may display a third user interface (850) including a conversation history summary list (851) on the display module (160). According to one embodiment, the processor (120) may maintain a conversation session for a specified period of time and store conversation information (e.g., a user query and an answer to the user query) included in the conversation session as previous conversation information in a memory (e.g., the memory (130) of FIG. 1). When the specified period of time has elapsed, the processor (120) may end the conversation session. When the conversation session is ended, the processor (120) may store some of the previous conversation information in the memory (130) as conversation history. When storing the conversation history, the processor (120) may not store conversation information for one-time user queries (e.g., screen capture, today's date?) or one-time user queries (e.g., set a timer).

[0133] The conversation history summary list (851) may include multiple conversation summary information, for example, first conversation summary information (852), second conversation summary information (853), and third conversation summary information (854). When providing the conversation history summary list (851), the processor (120) may summarize and provide each conversation information. The processor (120) may generate conversation summary information based on user questions and answers included in each conversation information.

[0134] When the third conversation summary information (854) is selected, the processor (120) may display the fourth user interface (870) on the display module (160). The fourth user interface (870) may include a user query (871) and answer (873) corresponding to the third conversation summary information (854).

[0135] FIG. 9 is a flowchart (900) illustrating a method for providing an answer based on a conversation topic for a user query in an electronic device according to one embodiment.

[0136] Referring to FIG. 9, in operation 901, a processor (e.g., processor 120 of FIG. 1) of an electronic device (e.g., electronic device 101 of FIG. 1) according to an embodiment may receive a user query. When a voice call word is detected through a microphone (e.g., input module (150) of FIG. 1), the processor (120) may execute a voice assistant application and receive the user query. Alternatively, when a button for calling the voice assistant is selected, the processor (120) may execute the voice assistant application and receive the user query through a keypad displayed on the execution screen of the voice assistant application. The user query may be a voice command obtained through a microphone, or a text obtained through a keypad displayed on the execution screen of the executed voice assistant application.

[0137] In operation 903, the processor (120) may identify a conversation topic identifier associated with the user query. The conversation topic identifier may be used to manage conversation information corresponding to the same conversation topic. That is, even if the user query or the content included in the user query is different, if the conversation topic is the same, the same conversation topic identifier may be determined (or assigned, allocated). For example, the conversation topic may be a large category such as people, objects, or animals, a medium category such as cars or food in objects, or a small category such as spaghetti or steak in food. These examples are provided merely to aid understanding of the invention and are not intended to limit the invention.

[0138] In operation 905, the processor (120) may determine whether on-device processing is possible. The processor (120) may determine whether on-device processing is possible based on a conversation topic identifier associated with the user query. On-device processing may mean processing directly in the electronic device (101). The processor (120) may determine whether on-device processing is possible using a generative artificial intelligence engine. For example, the processor (120) may determine that on-device processing is possible if there is previous conversation information having the same conversation topic identifier as the user query. Alternatively, the processor (120) may determine that on-device processing is possible if the answer source for the user query corresponds to information stored (or registered) in the electronic device (101). For example, if the source (or task) of the answer to the user query is information stored in the electronic device (101), such as “What’s on my schedule today?”, “Set a timer for 10 minutes”, or “Text Jack that I’ll be late,” the processor (120) may determine that on-device processing is possible.

[0139] The processor (120) can perform operation 907 if on-device processing is possible, and can perform operation 909 if on-device processing is not possible.

[0140] If on-device processing is possible, at step 907, the processor (120) can generate an answer to a user query without a server request. The processor (120) can use a generative artificial intelligence engine to analyze the user query and previous conversation information having the same conversation topic identifier as the user query to determine (or understand) the user's intention and conversation context, and generate an answer to the user query based on the determination result. The generative artificial intelligence engine can generate an answer based on the user query and previous conversation information having the same conversation topic identifier as the user query. Previous conversation information may be useful for understanding the user's intention and conversation context for the user query. The generative artificial intelligence engine can generate an answer to the user query more accurately by analyzing not only the current user query but also previous conversation information. After generating the answer, the processor (120) can perform step 915. If there are multiple pieces of previous conversation information, the processor (120) may provide a list of previous conversations containing multiple pieces of previous conversation information and may receive selections from the user for some of the previous conversation information. By analyzing the previous conversation information selected by the user along with the user's query, the processor (120) can generate a more accurate response to the user's query.

[0141] If on-device processing is not possible, at operation 909, the processor (120) may transmit the user query to an intelligent server (e.g., the server (108) of FIG. 1 or the generative artificial intelligence system of FIG. 2) via a communication module (e.g., the communication module (190) of FIG. 1). The server (108) may analyze the user query to determine (or understand) the user's intention and conversation context, and generate an answer to the user query based on the determination result. If there is a plurality of pieces of previous conversation information, the processor (120) may provide a list of previous conversations including the plurality of pieces of previous conversation information, and may receive a selection of some of the previous conversation information from the user. The processor (120) may transmit the previous conversation information selected by the user together with the user query to the intelligent server (e.g., the server (108) of FIG. 1 or the generative artificial intelligence system of FIG. 2).

[0142] In operation 911, the processor (120) may obtain a response from the server (108). The processor (120) may receive a response to the user query from the server (108) via the communication module (190).

[0143] In operation 913, the processor (120) may provide the answer. The processor (120) may display an execution screen of the voice assistant application including the answer on the display module (160). The answer may include at least one of text, an image, a video, or audio. Alternatively, the processor (120) may convert the received answer (e.g., text) into speech (e.g., text to speech) and output the converted speech to a speaker (e.g., the audio output module (155) of FIG. 1).

[0144] FIG. 10A is a diagram illustrating an example of providing conversation history information in an electronic device according to one embodiment.

[0145] Referring to FIG. 10A, a processor (e.g., a processor (120) of FIG. 1) of an electronic device (e.g., an electronic device (101) of FIG. 1) according to an embodiment may display a first user interface (1010) on a display (e.g., a display module (160) of FIG. 1). The first user interface (1010) is an execution screen of a voice assistant application and may include conversation information including a user query (1011) and a response (1013) to the user query (1011). The conversation information included in the first user interface (1010) may be stored as conversation history information when a conversation session ends.

[0146] Upon user request, if conversation history information is requested, the processor (120) may display a second user interface (1030) on the display module (160). The second user interface (1030) may include conversation history information including a user query and a first answer (1031) and an answer (1033) to the user query. The conversation history information is conversation information included in a terminated conversation session, and may be conversation information from three days prior to the current time. If an answer in the conversation information changes depending on the status (e.g., time, location) of the electronic device (101), the processor (120) may update (or edit) the answer to the current time and provide it as conversation history information. When a user requests conversation history, the processor (120) may use a generative artificial intelligence engine to determine whether an answer in the conversation history information needs to be modified, and if so, may provide modified conversation history information. The first answer (1031) may be the original answer, and the second answer (1033) may be an updated (or modified) answer based on the current status of the electronic device (101). Alternatively, if modification of the answer is required, the processor (120) may provide the first answer (1031) and an answer modification button, and when the answer modification button is selected, provide the second answer (1033).

[0147] FIG. 10b is a diagram illustrating an example of managing conversation history information in an electronic device according to one embodiment.

[0148] Referring to FIG. 10B, the processor (120) may delete conversation history information stored in a memory (e.g., memory (130) of FIG. 1) when a specified period of time has elapsed. Referring to the first drawing number (1050), the processor (120) may assign a first conversation topic identifier (1001) to the first conversation information and the second conversation information, a second conversation topic identifier (1003) to the third conversation information, a third conversation topic identifier (1005) to the fourth conversation information, a fourth conversation topic identifier (1007) to the fifth conversation information, and a first conversation topic identifier (1001) to the sixth conversation information and the seventh conversation information. That is, the first conversation information, the second conversation information, the sixth conversation information, and the seventh conversation information may correspond to the same (or similar) conversation topic. The processor (120) may determine whether the conversation context is maintained or changed based on the conversation topic identifier. The processor (120) can identify relationships between user queries (or conversation information) based on conversation topic identifiers.

[0149] Referring to the second drawing number (1070), the processor (120) may delete some conversation information based on the status (e.g., time, location) of the electronic device (101). The processor (120) may delete conversation information included in the conversation history information if the correlation between conversation information is low and the validity at the current point in time is low. The first conversation information (1071) corresponds to the same conversation topic as the second conversation information (1073) and the third conversation information (1075), but may not be related to a specific region (e.g., Busan). The processor (120) may delete the first conversation information (1071).

[0150] FIG. 11 is a diagram illustrating an example of providing quick scrolling of conversation history in an electronic device according to one embodiment.

[0151] Referring to FIG. 11, a processor (e.g., processor (120) of FIG. 1) of an electronic device (e.g., electronic device (101) of FIG. 1) according to an embodiment may provide quick scrolling for conversation information when providing conversation history information. Referring to the first drawing reference numeral (1110), a plurality of conversation information may be stored in a memory (e.g., memory (130) of FIG. 1). If there is a lot of conversation history information, the processor (120) may provide a scroll bar on a display (e.g., display module (160) of FIG. 1). When scrolling, if the conversation information is long, it may be difficult for a user to determine what the conversation information is. The processor (120) may provide quick scroll (or shortcut) information on the scroll bar. The quick scroll information may move (or jump) to the corresponding conversation information and display the corresponding conversation information.

[0152] Referring to the second drawing symbol (1150), the processor (20) can generate fast scroll information when the user query is different from the previous conversation information. The processor (20) can extract keywords based on the user query and answer included in the conversation information, and can generate fast scroll information by combining the extracted keywords. For example, the processor (20) can provide first fast scroll information (1151), second fast scroll information (1153), or third fast scroll information (1155). When the first fast scroll information (1151) is selected, the processor (20) can move to and display conversation information corresponding to the first fast scroll information (1151).

[0153] FIGS. 12A and 12B are diagrams illustrating an example of providing fast scrolling of conversation history in an electronic device according to one embodiment.

[0154] Referring to FIG. 12A, a processor (e.g., processor (120) of FIG. 1) of an electronic device (e.g., electronic device (101) of FIG. 1) according to an embodiment may store conversation history information including answers to user queries in a memory (e.g., memory (130) of FIG. 1). For example, the memory (130) may store first conversation information (①) including a first user query and a first answer, second conversation information (②) including a second user query and a second answer, and third conversation information (③) including a third user query and a third answer. Note that the second answer and the third answer may be too long to be fully displayed on a display (e.g., display module (160) of FIG. 1).

[0155] Referring to FIG. 12B, the processor (120) may provide different fast scroll information based on the scroll position of the scroll bar when providing conversation history information. For example, the processor (120) may display a first user interface (1210) including first fast scroll information (1211) on the display module (160). The first user interface (1210) may include first fast scroll information (1211) and a scroll object (1213) generated based on a user question and answer. The first fast scroll information (1211) may be a summary keyword (or suggested keyword) for the first conversation information corresponding to the position of the scroll object (1213).

[0156] When the scroll object (1213) is moved, the processor (120) may display a second user interface (1230) on the display module (160). The second user interface (1230) may include second fast scroll information (1221) based on the position of the scroll object (1223). The second fast scroll information (1221) may be a summary keyword (or suggested keyword) for second conversation information corresponding to the position of the scroll object (1223). The second fast scroll information (1221) may be different from the first fast scroll information (1211).

[0157] When the scroll object (1223) is moved further down, the processor (120) may display a third user interface (1250) on the display module (160). The third user interface (1250) may include third fast scroll information (1251) based on the position of the scroll object (1253). The third fast scroll information (1251) may be a summary keyword (or suggested keyword) for third conversation information corresponding to the position of the scroll object (1253). The third fast scroll information (1251) may be different from the first fast scroll information (1211) or the second fast scroll information (1221).

[0158] FIGS. 13a and 13b are diagrams illustrating an example of providing previous conversation information according to a screen size in an electronic device according to one embodiment.

[0159] Referring to FIGS. 13A and 13B , the first drawing reference numeral (1310) illustrates an example of including previous conversation information (or conversation history information) including answers corresponding to multiple user queries. The second drawing reference numeral (1320) may include previous conversation information (or conversation history information) including answers corresponding to multiple user queries. For example, when an electronic device (e.g., the electronic device (101) of FIG. 1 ) is a wearable device (e.g., a watch), the previous conversation information may not be completely displayed on the screen of the wearable device. That is, a portion of the previous conversation information (e.g., answers) may go beyond the screen of the wearable device. Since the screen size of the wearable device is small, it may be difficult to display a lot of information at once.

[0160] In this case, as in the first user interface (1330), a more view object (1331) for an answer to the user query (1301) may be provided. When the more view object (133) for an answer is selected, more answers (1351) may be provided, as in the second user interface (1350). At this time, if the user scrolls to view the answer (1351), the user query (1301) may exceed the screen size of the wearable device. The user may not be able to tell what the answer (1351) is about by only looking at it. The processor (e.g., the processor (120) of FIG. 1) may maintain the display of the user query (1301) (e.g., float) if the user query (1301) goes off the screen.

[0161] Alternatively, the processor (120) may provide summary keywords of the user query (1301) if the user query (1301) goes off the screen. The third user interface (1370) may include an answer to a first summary query (1303) that summarizes a multi-user query (e.g., Who is Brack Obama and what's his ethnicity and education?). The fourth user interface (1390) may include an answer to a second summary query (1305) that summarizes two user queries. The multi-user query may include a first user query (e.g., what's his ethnicity?) and a second user query (e.g., what's his education?). If the answer displayed on the screen corresponds to the first user query, the first summary query (1303) may be displayed. The processor (120) may display a second summary query (1305) when the answer displayed on the screen during a multi-user query corresponds to a second user query.

[0162] FIG. 14 is a diagram illustrating an example of providing a previous answer according to a user query in an electronic device according to one embodiment.

[0163] Referring to FIG. 14, a processor (e.g., processor (120) of FIG. 1) of an electronic device (e.g., electronic device (101) of FIG. 1) according to an embodiment may utilize a previous answer for the same user query. For example, a first reference numeral (1410) may include a first user query (1401) and a first answer (1411) for the first user query (1401). When a conversation session is terminated, the processor (120) may store the first user query (1401) and the first answer (1411) as conversation history information in a memory (e.g., memory (130) of FIG. 1). Thereafter, the user may make a second user query (1403) identical to the first user query (1401). The second drawing symbol (1430) may include a second user query (1403) and a second answer (1435) to the second user query (1403). When the processor (120) receives the second user query (1403), it may search the memory (130) for conversation history information including a user query identical to (or similar to) the second user query (1403). If there is conversation history information including a user query identical to (or similar to) the second user query (1403), the processor (120) may provide a second answer (1435) that is identical to the first answer (1411). Alternatively, when providing the second answer (1435), the processor (120) may also provide summary information (1431) of the first answer (1411).

[0164] FIGS. 15A and 15B are diagrams illustrating an example of providing previous conversation information differently depending on the current state of an electronic device according to one embodiment.

[0165] Referring to FIG. 15A, a processor (e.g., processor 120 of FIG. 1) of an electronic device (e.g., electronic device 101 of FIG. 1) according to an embodiment may converse with a voice assistant at a first time. A first user interface (1510) may represent first previous conversation information shared with the voice assistant at the first time. Referring to the first user interface (1510), the processor (120) may provide a first answer (1513) to a first user query (1511) and a second answer (1517) to a second user query (1515). Thereafter, when a third user query (1531) is received within the same conversation session as the second user query (1515), the processor (120) may display a second user interface (1530) on a display (e.g., display module (160) of FIG. 1). The processor (120) can retrieve the first previous conversation information existing in the same conversation session according to a user request (e.g., selection of a previous conversation retrieval object).

[0166] The second user interface (1530) may include the first previous conversation information, a third user query (1531), and a third answer (1533). The processor (120) may provide the third answer (1533) based on the first previous conversation information and the third user query (1531). Although it may be difficult for the processor (120) to determine the user's intention or conversation context based solely on the third user query (1531), the processor (120) may further utilize the first previous conversation information together with the third user query (1531) to determine the previous conversation context, and then provide the third answer (1533). The processor (120) may use "rainy day" as a keyword, which is not included in the third user query (1531), to more accurately provide the answer desired by the user.

[0167] Referring to FIG. 15B, a user may call a voice assistant the day after the second user interface (1530) is displayed. When the voice assistant is called at a second time after the first time, the processor (120) may identify previous conversation information. The previous conversation information may include conversation information included in a conversation session that existed before calling the voice assistant. If there is previous conversation information, the processor (120) may display the previous conversation retrieval object. The third user interface (1550) may include a previous conversation retrieval object (1553). The processor (120) may detect a user input (1551) selecting the previous conversation retrieval object (1553) while displaying the third user interface (1550). In response to the user input (1551), the processor (120) may display a fourth user interface (1570) on the display module (160). The fourth user interface (1570) may include second previous conversation information.

[0168] The processor (120) may update (or modify) the second previous conversation information based on the status (e.g., time and location) of the electronic device (101). The second previous conversation information may provide a second answer (1573) to the first user query (1571). Comparing the first user interface (1510) and the fourth user interface (1570), the second answer (1573) may further include the current weather, “sunny.” In addition, the processor (120) may update the third answer (1593) to the third user query (1591), such as the fifth user interface (1590). Comparing the second user interface (1530) and the fifth user interface (1590), the third answer (1593) may include the search results for clothes priced under 120 yen based on the current weather, “sunny day.” The processor (120) may delete some of the answers (e.g., "rainy day") and replace them with new answers (e.g., "sunny") as the time of the electronic device (101) changes. However, answers that are not affected by the time and location of the electronic device (101) (e.g., "price less than 120 yen") may be maintained.

[0169] FIGS. 16A and 16B are diagrams illustrating examples of performing tasks for user queries differently depending on the current state of an electronic device according to one embodiment.

[0170] Referring to FIG. 16A, a processor (e.g., the processor (120) of FIG. 1) of an electronic device (e.g., the electronic device (101) of FIG. 1) according to an embodiment may display a first user interface (1610) on a display (e.g., the display module (160) of FIG. 1) when a voice assistant is called at a first location (e.g., home). The first user interface (1610) may include a previous conversation retrieval object (1611). When the voice assistant is called, the processor (120) may display the previous conversation retrieval object if there is previous conversation information. When a user query is received, the processor (120) may display a second user interface (1630) on the display module (160). The second user interface (1630) may include a first answer (1633) to the first user query (1631). The first response (1633) may be a result of the processor (120) performing a first task (e.g., turning on the main light of a house) in response to a first user query (1631) and providing the task performance result. In addition, after providing the first response (1633), the processor (120) may receive second and third user queries, perform corresponding tasks, and then provide the task performance result as a response.

[0171] Referring to FIG. 16B, a user may call a voice assistant after a second user interface (1630) is displayed. When the voice assistant is called from a second location (e.g., an office) different from the first location, the processor (120) may identify previous conversation information. The previous conversation information may include conversation information included in a conversation session that existed before calling the voice assistant. If there is previous conversation information, the processor (120) may display a previous conversation retrieval object. The third user interface (1650) illustrates an example in which a user input (1651) selecting a previous conversation retrieval object is detected. In response to the user input (1651), the processor (120) may display a fourth user interface (1670) on the display module (160). The fourth user interface (1670) may include previous conversation information. The above previous conversation information may include a first user query (1671) and a second answer (1673).

[0172] When the first user query (671) is selected while the processor (120) displays the fourth user interface (1670), the processor (120) may display the fifth user interface (1690). The fifth user interface (1690) may include a second answer (1693) to the second user query (1691). The second answer (1693) may be the processor (120) performing a second task (e.g., turning on the main light in the office) for the second user query (1691) and providing a result of performing the task. That is, the processor (120) may perform a different task and provide a different answer for the same user query as the state (e.g., location) of the electronic device (101) changes. Comparing the second user interface (1630) and the fifth user interface (1690), the second answer (1693) may include a result of performing the second task based on the current location, which is the office. The processor (120) can perform a first task (e.g., turning on a house light) and a second task (e.g., turning on an office light) that are different from each other as the location of the electronic device (101) changes.

[0173] An operating method of an electronic device (101) according to an embodiment of the present disclosure may include an operation of receiving a user query through a voice assistant, an operation of identifying previous conversation information having a conversation topic related to the user query, an operation of displaying a previous conversation retrieval object on a display (160) of the electronic device when there is the identified previous conversation information, an operation of checking whether a user input for selecting the previous conversation retrieval object is detected, and an operation of providing an answer based on the identified previous conversation information and the user query when the user input is detected.

[0174] The method may further include an action of transmitting the user query to a server if there is no identified previous conversation information, and an action of obtaining and providing an answer to the user query from the server.

[0175] The method may further include an operation of analyzing a previous user query and an answer corresponding to the previous user query, an operation of grouping conversation information corresponding to the same conversation topic based on the analysis result, an operation of assigning a conversation topic identifier to the grouped conversation information, and an operation of identifying a conversation topic identifier associated with the user query to determine whether the user query is associated with the previous conversation information.

[0176] The method may further include an operation of providing the previous conversation information when the user input is detected, and an operation of providing a list summarizing each previous conversation information when there is a plurality of pieces of the previous conversation information, and providing the previous conversation information selected by the user from the list.

[0177] The method may further include an action of detecting a user input requesting conversation history information, an action of providing a conversation history list summarizing each conversation information based on the user input, and an action of providing conversation information selected by the user from the conversation history list.

[0178] The method may further include an operation of identifying whether a response to the selected conversation information is associated with a time and location, and an operation of updating the identified response based on a current time and current location of the electronic device.

[0179] The method may include an action of displaying the original answer of the identified answer along with the updated answer.

[0180] The method may further include an action of selecting a previous user query from the conversation history information, and an action of performing a task for the selected user query based on the current time and current location of the electronic device.

[0181] The method may further include, if the user query is identical to a previous user query included in the conversation history information, an operation of retrieving an answer to the previous user query from the memory without performing a task for the user query, and an operation of providing the retrieved answer.

[0182] The method may further include an operation of generating summary keywords based on user queries and answers to user queries included in conversation history information, an operation of providing summary keywords according to a scroll position when a scroll input is detected within the conversation history information, and an operation of providing conversation information corresponding to the summary keyword when the summary keyword is selected.

[0183] The various embodiments of the present invention disclosed in this specification and drawings are merely specific examples presented to facilitate easy explanation of the technical content of the present invention and aid understanding thereof, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be interpreted to include all modifications or variations derived based on the technical concept of the present invention, in addition to the embodiments disclosed herein.

Claims

1. In an electronic device (101), display (160); Processor (120); and The instructions stored in the memory (130), when executed by the processor, cause the electronic device to: Receive user queries via voice assistant, Identify previous conversation information having a conversation topic related to the above user query, If there is previous conversation information identified above, display a previous conversation retrieval object on the display, Check if user input is detected that selects the previous conversation import object above, An electronic device that, when the above user input is detected, provides an answer based on the identified previous conversation information and the user query.

2. In the first paragraph, when the instructions are executed by the processor, the electronic device, If there is no previous conversation information identified above, the user query is sent to the server, An electronic device that obtains and provides an answer to a user query from the server.

3. In the first paragraph, when the instructions are executed by the processor, the electronic device, Analyze previous user queries and responses to previous user queries, Based on the above analysis results, group conversation information corresponding to the same conversation topic, Assign a conversation topic identifier to the above grouped conversation information, An electronic device that identifies a conversation topic identifier associated with said user query to determine whether said user query is associated with previous conversation information.

4. In the first paragraph, when the instructions are executed by the processor, the electronic device, When the above user input is detected, the previous conversation information is provided, An electronic device that provides a list summarizing each piece of previous conversation information when there is a plurality of pieces of previous conversation information, and provides previous conversation information selected by the user from the list.

5. In the first paragraph, when the instructions are executed by the processor, the electronic device, Detect user input requesting conversation history information, Provide a list of conversation history summarizing each conversation information based on the above user input, An electronic device that provides conversation information selected by a user from the above conversation history list.

6. In the fifth paragraph, the instructions, when executed by the processor, cause the electronic device to: Identify whether the response to the selected conversation information above is associated with time and location, An electronic device that updates the identified answer based on the current time and current location of the electronic device.

7. In the sixth paragraph, the instructions, when executed by the processor, cause the electronic device to: An electronic device that displays the original answer of the above identified answer along with an updated answer.

8. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: Select previous user queries from the conversation history information, An electronic device that performs a task for a selected user query based on the current time and current location of the electronic device.

9. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: If the above user query is identical to a previous user query included in the conversation history information, the task for the above user query is not performed, and the answer to the previous user query is retrieved from the memory. An electronic device configured to provide the above searched answer.

10. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: Generate summary keywords based on user queries and answers to user queries contained in conversation history information; When a scroll input is detected within the above conversation history information, summary keywords are provided based on the scroll position. An electronic device that provides conversation information corresponding to the summary keyword when the summary keyword is selected.

11. In the operating method of an electronic device (101), Actions that receive user queries via voice assistant; An action to identify previous conversation information having a conversation topic associated with the user query; If there is the identified previous conversation information, an action of displaying a previous conversation retrieval object on the display (160) of the electronic device; Action to determine if user input selecting the above mentioned previous conversation fetch object is detected; When the above user input is detected, an action is taken to provide an answer based on the identified previous conversation information and the user query; If there is no previously identified conversation information, the action of transmitting the user query to the server; and A method comprising an action of obtaining and providing an answer to the user query from the server.

12. In paragraph 11, The action of analyzing previous user queries and answers corresponding to previous user queries; An action of grouping conversation information corresponding to the same conversation topic based on the above analysis results; An action of assigning a conversation topic identifier to the above grouped conversation information; and A method further comprising the action of identifying a conversation topic identifier associated with said user query to determine whether said user query is associated with previous conversation information.

13. In paragraph 11, When the above user input is detected, an action is taken to provide the previous conversation information; and A method further comprising: providing a list summarizing each piece of previous conversation information when there is a plurality of pieces of previous conversation information; and providing previous conversation information selected by the user from the list.

14. In paragraph 11, An action to detect user input requesting conversation history information; An action for providing a conversation history list summarizing each conversation information based on the user input above; and A method further comprising an action of providing conversation information selected by a user from the above conversation history list.

15. In paragraph 14, An action to identify whether a response to the selected conversation information above is associated with time and location; The action of updating the identified answer based on the current time and current location of the electronic device; and A method further comprising the action of displaying the original answer of the identified answer along with the updated answer.

Citation Information

Patent Citations

  • Automatic dish washing system

    KR1020200132689A

  • Double motion active air flap apparatus

    KR1020240053388A

  • Prefab bed frame

    KR1020240155998A

  • Providing related queries to a secondary automated assistant based on past interactions

    US20230144884A1

  • KR20230121170A