Method for providing content according to user intent, and electronic device therefor
By determining and applying a maximum answer length for user inquiries in electronic devices, the system optimizes content delivery from AI engines, enhancing user convenience and information retrieval efficiency.
Patent Information
- Application Number
- PCT/KR2024/013422
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-04
- Filing Date
- 2024-09-05
- Publication Date
- 2025-03-20
AI Technical Summary
Existing electronic devices struggle to provide content efficiently to users, as large amounts of information from LLM servers can overwhelm users, requiring them to sift through extensive results to find relevant information.
The electronic device determines whether a maximum answer length is set for user inquiries, and if so, it delivers this information along with the query to an AI engine. If no maximum answer length is specified, the device sends only the user query to the AI engine, allowing for flexible response lengths based on user intent and usage patterns.
This approach enhances user convenience by adjusting answer lengths according to user preferences, improving information retrieval efficiency by providing answers that match user intentions without overwhelming them with excessive content.
Smart Images

Figure KR2024013422_20032025_PF_FP_ABST
Abstract
Description
Method for providing content according to user intent and electronic device thereof
[0001] Embodiments of the present disclosure disclose a method for providing content according to user intent 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] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0005] In one embodiment, a method and device for receiving a user query may be disclosed, which checks whether there is a maximum answer length, and if there is a maximum answer length, generates an answer corresponding to the user query based on the maximum answer length, and if there is no maximum answer length, generates an answer corresponding to the user query regardless of the maximum answer length and provides the answer to the user.
[0006] An electronic device (101) according to an embodiment of the present disclosure includes a display (160), a processor (120), and a memory (130), and instructions stored in the memory, when executed by the processor, may cause the electronic device to receive a user query from a user through an assistant application, determine whether there is a maximum answer length that limits the amount of content to be included in an answer to the user query after receiving the user query, and, if the maximum answer length exists, transmit the maximum answer length and the user query to an AI (artificial intelligence) engine, and if the maximum answer length does not exist, transmit only the user query to the AI engine and provide an answer obtained from the AI engine.
[0007] An electronic device (101) according to an embodiment of the present disclosure includes a display (160), a processor (120), and a memory (130), and instructions stored in the memory, when executed by the processor, may cause the electronic device to sequentially display answers corresponding to a user query through an assistant application, detect a user input for interrupting the answer while providing the answer, collect a length of an answer displayed on the display based on the user input, determine a maximum answer length by learning the collected length, and store the determined maximum answer length in the memory.
[0008] 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 from a user through an assistant application, an operation of determining whether there is a maximum answer length that limits the amount of content to be included in an answer to the user query after receiving the user query, an operation of transmitting the maximum answer length and the user query to an AI engine if the maximum answer length exists, an operation of transmitting only the user query to the AI engine if the maximum answer length does not exist, and an operation of providing an answer obtained from the AI engine.
[0009] In one embodiment, when providing answers to user queries through an assistant application, the user may generate answers of as much or as little length, size, or quantity as desired.
[0010] In one embodiment, since the length of the desired answer varies for each user, an answer that matches the user's intent can be provided by determining the answer length based on the user's usage pattern.
[0011] According to one embodiment, user convenience can be improved by providing a user interface that can adjust the length of a response by considering the user's usage pattern after the length of the response is determined.
[0012] According to one embodiment, user convenience can be improved by guiding the user to set or release the response length based on the user's usage pattern.
[0013] In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
[0014] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0015] FIG. 2 is a block diagram illustrating a generative artificial intelligence system according to one embodiment.
[0016] FIG. 3 is a diagram illustrating an example in which the length of a response changes depending on the amount of a response in an electronic device according to one embodiment.
[0017] Figure 4 is a flowchart illustrating an operating method of an electronic device according to one embodiment.
[0018] FIG. 5A is a diagram illustrating an example of generating an answer based on a maximum answer length in an electronic device according to one embodiment.
[0019] FIG. 5b is a diagram illustrating an example of providing a detailed view of an answer in an electronic device according to one embodiment.
[0020] FIG. 6 is a flowchart illustrating a method for collecting the length of a response in an electronic device according to one embodiment.
[0021] FIGS. 7A and 7B are diagrams illustrating an example of determining a maximum response length depending on the type of content in an electronic device according to one embodiment.
[0022] FIG. 8 is a diagram illustrating an example of collecting the length of a response in an electronic device according to one embodiment.
[0023] FIGS. 9A and 9B are diagrams illustrating an example of providing a detailed response upon a user request in an electronic device according to one embodiment.
[0024] FIG. 10 is a diagram illustrating an example of setting a maximum response length according to a domain in an electronic device according to one embodiment.
[0025] FIG. 11 is a flowchart illustrating a method for setting a maximum response length in an electronic device according to one embodiment.
[0026] FIG. 12 is a diagram illustrating an example of releasing the maximum response length in an electronic device according to one embodiment.
[0027] FIG. 13 is a diagram illustrating an example of setting a maximum response length in an electronic device according to one embodiment.
[0028] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and conciseness.
[0029] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments.
[0030] 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)).
[0031] 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.
[0032] 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.
[0033] 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).
[0034] 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).
[0035] 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).
[0036] 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.
[0037] 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 for detecting a touch, or a pressure sensor for measuring the strength of a force generated by the touch.
[0038] 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).
[0039] 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.
[0040] 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.
[0041] 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).
[0042] 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.
[0043] 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.
[0044] 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).
[0045] 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.
[0046] 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).
[0047] 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.
[0048] 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).
[0049] 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.
[0050] 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)).
[0051] 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.
[0052] FIG. 2 is a block diagram illustrating a generative artificial intelligence system according to one embodiment.
[0053] 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).
[0054] 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 also be in the form of a mixture 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.
[0055] 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).
[0056] 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).
[0057] The application and plugin management component (253) can communicate with external information when there is a request for additional information when passing user input as input to the generative model. The application and plugin management component (253) establishes a channel for communication with the AI interface outside the AI interface via an application programming interface (API), thereby enabling access to various data sources. In addition, the application and plugin management component (253) can request an action through the API to perform a final user query, rather than an intermediate result, if the application or service needs to perform that action. Information obtained from an external source can be passed as input to the generative model along with the user input.
[0058] 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.
[0059] 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 VAEs and transformer structures are also called generative models. In addition, language models are models trained to statistically produce 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).
[0060] FIG. 3 is a diagram illustrating an example in which the length of a response changes depending on the amount of a response in an electronic device according to one embodiment.
[0061] 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 (311) through an assistant application (e.g., an application (146) of FIG. 1) and display a first user interface (310) on a display (e.g., a display module (160) of FIG. 1). The assistant application may include a voice assistant and an AI assistant. Although described as a “voice assistant,” various input methods (e.g., text input via a keypad, handwriting input via a pen, gesture input) may also be possible in addition to voice. The assistant application (or voice assistant service) may collect and provide customized information to a 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 invoke a voice assistant by uttering a predefined voice wake word (e.g., Hi Bixby), selecting a display object (e.g., an icon) of the assistant application, or pressing a button associated with the assistant.
[0062] The processor (120) may execute the assistant application when it detects a voice call word acquired through a microphone (e.g., input module (150) of FIG. 1). Alternatively, the processor (120) may execute the assistant application when a button (e.g., software button or physical button) related to the assistant is selected. When the button is selected, the processor (120) may display a keypad on the execution screen of the executed assistant application. When the voice assistant is called by voice, it may operate based on voice, and when the voice assistant is called by button, it may operate based on text (keypad display), but is not limited thereto.
[0063] The first user interface (310) may include a first answer (313) and an answer interrupt object (315) corresponding to a user query (311). The user query (311) may be a voice command (e.g., user utterance) obtained through a microphone, or may be text obtained by handwriting input using a keypad or pen displayed on the execution screen of the assistant application that has been executed. When a voice command is received as the user query (311), the processor (120) may display text for the user query (311) based on a speech-to-text (STT) function that converts the voice command into text. The processor (120) may generate an answer based on the user query (311). The processor (120) may generate an answer corresponding to the user query (311) using an artificial intelligence (AI) engine. Alternatively, the processor (120) may transmit a user query (311) to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2) via a communication module (e.g., the communication module (190) of FIG. 1) and receive a response from the server (108). The first response (313) may be output through a speaker (e.g., the audio output module (155) of FIG. 1) according to a text to speech (TTS) function, or may be displayed on a display module (160). The first response (313) may include at least one of text, an image, audio, or video.
[0064] When providing the first answer (313), the size of the window (or area, bubble) that provides (or displays) the first answer (313) may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer. The processor (120) may receive answers from the AI engine and sequentially display the answers as they are received (e.g., while increasing the size of the window of the answers), or may receive all answers from the AI engine at once and sequentially display only the answers on the screen. The processor (120) may provide the first answer (313) while generating (or receiving) the answers, or may provide the first answer (313) after completing generating (or receiving) the answers. The answer stop object (315) (or answer stop indicator, answer stop button) may be for requesting the stop of the answer. The processor (120) may display all responses received from the AI engine at once, but this may result in a delay before the responses are displayed on the screen. Therefore, the responses may be displayed sequentially while being received from the AI engine. The processor (120) may also receive responses from the AI engine all at once and display them sequentially on the screen. The interruption of responses may include an action of interrupting the display of responses after they have been sequentially displayed on the screen, or interrupting the reception of responses from the AI engine (or server). Since the sequential display of responses is interrupted, the size of the window displaying the responses may not change.
[0065] If there is more content to be answered based on the user query (311) other than the first answer (313), the processor (120) may display a stop answer object (315). When the stop answer object (315) is selected, the processor (120) may stop generating an answer or stop receiving an answer from the server (108). The user may scroll through the first answer (313) and read the first answer (313), and if the first answer (313) is too long or not the desired answer, the user may press the stop answer object (315) to request stopping the first answer (313).
[0066] A user input requesting to stop answering may include a touch input, a pen input, or a voice command (e.g., a user utterance). For example, the processor (120) may receive a touch input (or pen input) that touches the answer stop object (315) displayed on the display module (160) as a user input requesting to stop answering. Alternatively, the processor (120) may receive a user utterance such as “stop answering,” “stop,” or “okay” as a user input requesting to stop answering. After the answer stop object (315) is selected, if the answer stop object (315) is reselected, the processor (120) may continue to provide answers following the first answer (313). If the total size of the first answer (313) to be displayed through the window is larger than the size of the window, the processor (120) may continue to provide the first answer (313) while increasing the size of the window. The size of the answer (or the overall size of the first answer) can be determined by considering the number of texts, language type, font size, and image size (e.g. width*height), which can be displayed in the window (e.g. font 8 / 200 characters, font 10 / 150 characters).
[0067] According to one embodiment, when a user input is detected to prevent the execution screen of the assistant application from being displayed on the display module (160), the processor (120) may perform substantially the same operation as when the response interruption object (315) is selected. For example, the user input to prevent the execution screen of the assistant application from being displayed on the display module (160) may include a user input related to switching from the execution screen of the assistant application to the home screen (e.g., selecting the home key), turning off (or entering a power saving mode) the display module (160) (e.g., selecting the power key, lock key), or terminating (or canceling) the execution of the assistant application.
[0068] When the size of the window of the first answer (313) increases while providing the first user interface (310), the second user interface (330) may be provided (or displayed). The second user interface (330) may include a second answer (331) corresponding to the user query (311) and an answer interruption object (335). The first answer (313) may be a state in which only a portion of the answer to the user query is displayed, and the second answer (331) may be a state in which the amount of answers increases as answers subsequent to the first answer (311) are sequentially displayed. The answers may be received from the server (108) at once or may be received sequentially from the earlier answers. Since the first answer (313) and the second answer (331) have different answer lengths, they are distinguished as “first” and “second” to help understanding of the invention, and do not limit the scope of the invention. The processor (120) may display a stop answer object (335) if there is content remaining to be answered based on the user query (311) other than the second answer (331). If the user does not need any more answers other than the second answer (331), the user may select the stop answer object (335).
[0069] The processor (120) may detect a user input (333) that scrolls the screen while providing the second user interface (330). In response to detecting the user input (333), the processor (120) may display a third user interface (350) on the display module (160). The third user interface (350) may include a third answer (351) and an answer interruption object (353). The third answer (351) may be an increase in the amount of answers as answers following the second answer (331) are sequentially displayed. The answers may be received from the server (108) at once or may be received sequentially from the first answer. When the second answer (331) is scrolled, the processor (120) may display answers that are continued below the second answer (331). If there is content remaining to be answered based on the user query (311) other than the third answer (351), the processor (120) may display a stop answer object (353). If the user does not need an answer other than the third answer (351), the user may select the stop answer object (335). After the stop answer object (335) is selected, if the stop answer object (335) is reselected, the processor (120) may continue to provide answers following the third answer (351).
[0070] An electronic device (101) according to an embodiment of the present disclosure includes a display (160), a processor (120), and a memory (130), and instructions stored in the memory, when executed by the processor, may cause the electronic device to receive a user query from a user through an assistant application, determine whether there is a maximum answer length that limits the amount of content to be included in an answer to the user query after receiving the user query, and, if the maximum answer length exists, transmit the maximum answer length and the user query to an AI (artificial intelligence) engine, and if the maximum answer length does not exist, transmit only the user query to the AI engine and provide an answer obtained from the AI engine.
[0071] The instructions, when executed by the processor, may cause the electronic device to detect a user input requesting a detailed view of the answer while displaying an answer generated based on the maximum answer length and the user query, request the AI engine for an answer corresponding to the user query based on the user input, regardless of the maximum answer length, and provide the answer obtained from the AI engine.
[0072] The instructions, when executed by the processor, may cause the electronic device to obtain from the AI engine a first answer corresponding to the maximum answer length and the user query and a second answer corresponding to the user query that is independent of the maximum answer length, provide the first answer, and provide the second answer according to a user request.
[0073] The above instructions, when executed by the processor, may cause the electronic device to obtain an answer corresponding to the user query from the AI engine, regardless of the maximum answer length, summarize the obtained answer so as to correspond to the maximum answer length, and provide the summarized answer.
[0074] The above instructions, when executed by the processor, may cause the electronic device to obtain an answer corresponding to the user query from the AI engine, regardless of the maximum answer length, and to provide a portion of the answer corresponding to the maximum answer length among the obtained answers.
[0075] The above instructions, when executed by the processor, may cause the electronic device to identify a domain associated with the user query, identify a maximum answer length set for the identified domain, and transmit the maximum answer length and the user query to the AI engine.
[0076] The above instructions, when executed by the processor, may cause the electronic device to release the setting of the maximum answer length set for the domain when a threshold number of detailed views of the answer is requested while providing the answer corresponding to the domain.
[0077] The instructions, when executed by the processor, may cause the electronic device to detect a user input requesting a halt to the sequential display of the answers, and to collect a length of the answers displayed on the display based on the user input.
[0078] The above instructions, when executed by the processor, may be configured to cause the electronic device not to collect the length of the answer if a new user query obtained after requesting the interruption of the answer is not associated with the interruption of the answer.
[0079] The above instructions, when executed by the processor, may cause the electronic device to determine the maximum answer length based on at least one of a domain, time information, or location information.
[0080] An electronic device (101) according to an embodiment of the present disclosure includes a display (160), a processor (120), and a memory (130), and instructions stored in the memory, when executed by the processor, may cause the electronic device to sequentially display answers corresponding to a user query through an assistant application, detect a user input for interrupting the answer while providing the answer, collect a length of an answer displayed on the display based on the user input, determine a maximum answer length by learning the collected length, and store the determined maximum answer length in the memory.
[0081] Figure 4 is a flowchart illustrating an operating method of an electronic device according to one embodiment.
[0082] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0083] Referring to FIG. 4, in operation 401, 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. The user query may be a voice command (e.g., a user utterance) obtained through a microphone (e.g., an input module (155) of FIG. 1), or a text obtained through a handwriting input using a keypad or pen displayed on an execution screen of an assistant application. The processor (120) may receive the user query through an assistant application. The assistant application may include a voice assistant and an AI assistant. Although described as a “voice assistant,” not only voice but also various other input methods (e.g., text input using a keypad, handwriting input using a pen, gesture input) may be possible. The above assistant application (or voice assistant service) collects and provides customized information to the user based on an artificial intelligence (AI) engine and voice recognition, and can perform various tasks such as managing schedules, sending emails, and making restaurant reservations according to the user's voice commands.
[0084] For example, a user may utter a predetermined voice wake word (e.g., Hi Bixby) or press a button related to the assistant to call a voice assistant. The processor (120) may execute the assistant application when it detects the voice wake word acquired through the input module (150). Alternatively, the processor (120) may execute the assistant application when a button related to the assistant (e.g., a software button or a physical button) is selected. The processor (120) may display an execution screen of the assistant application including the user query on a display (e.g., a display module (160) of FIG. 1).
[0085] In operation 403, according to one embodiment, the processor (120) may identify whether a maximum answer length exists. The processor (120) may determine whether the maximum answer length exists after receiving the user query. The maximum answer length may limit the amount (or size, or length) of content to be included in a response to the user query after receiving the user query. The response provided through the AI engine may include a large amount of data, and some users may not want to see too much of the response. Some users may only check the beginning of the response and ask another question (e.g., the next user query), or may not view the entire response. The processor (120) may collect the usage patterns of users using the assistant application for a specified period (e.g., one week, one month, two months), and analyze the collected usage patterns to set (or determine) the maximum answer length.
[0086] For example, the usage pattern may be the length of a response provided through an assistant application. If a user requests to stop displaying a response (e.g., by selecting a response stop object) while the response is being displayed on the screen, the processor (120) may determine the maximum response length based on the length of the response displayed on the screen (e.g., the number of characters). If the total length of the response is 300 characters and the user presses the response stop object while 100 characters are displayed on the screen, 100 characters may be recognized as the user's preferred number of characters. The processor (120) may analyze the user's usage pattern to set the maximum response length. Once the maximum response length is set, it may be stored in a memory (e.g., the memory (130) of FIG. 1).
[0087] According to one embodiment, the maximum response length may be set for each domain. The domain may include at least one of a user intent, a response category, or an application corresponding to the user query. For example, the domains may include (1) Health and Fitness, (2) Games and Fun, (3) Education and Reference, (4) Weather, (5) News and Magazines, (6) Business and Finance, and (7) Productivity. The examples of the domains are provided to aid understanding of the invention and do not limit the invention. The Health and Fitness domain may be divided into detailed domains including at least one of time, location, or service. The processor (120) may identify a domain corresponding to the user query and determine whether the maximum response length set for the identified domain exists.
[0088] According to one embodiment, the maximum answer length may be set differently depending on the type of content included in the answer. For example, the maximum answer length may be "100 bytes." If the type of the content is 'text', the maximum answer length may be '500 characters'. If the content type includes 'text' and 'image', the text included in the maximum answer length may be 300 characters, the number of images included in the maximum answer length may be 2, or the size of one image may be 3*3 (width*height). If the content type includes 'text' and 'video', the text included in the maximum answer length may be 150 characters, the size of the video included in the maximum answer length may be 5*5 (width*height), and the capacity of the video may be 50 bytes. These examples are provided to help understanding of the invention, and the invention is not limited by the examples.
[0089] The processor (120) can perform operation 405 if the maximum answer length exists, and can perform operation 406 if the maximum answer length does not exist.
[0090] If the maximum answer length exists, in operation 405, the processor (120) may transmit the maximum answer length and the user query to an AI (artificial intelligence) engine. The processor (120) may generate an answer corresponding to the user query using the AI engine. When generating the answer, the processor (120) may generate the answer based on the maximum answer length. That is, if the maximum answer length is '100 bytes', the processor (120) may limit the amount of content included in the answer to within 100 bytes. The processor (120) may directly generate an answer through the AI engine, or transmit the user query and the maximum answer length to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2) through a communication module (e.g., the communication module (190) of FIG. 1), and receive an answer from the server (108). Alternatively, the processor (120) may receive the entire response from the server (108) and summarize it to fit the maximum response length or display only the maximum response length.
[0091] If the above maximum answer length does not exist, in operation 406, the processor (120) may transmit only the user query to the AI engine. The processor (120) may generate an answer corresponding to the user query using the AI engine. In this case, the generated answer may not have any limitations on the amount of content. The processor (120) may transmit the user query to the server (108) via the communication module (190) and receive an answer from the server (108).
[0092] In operation 407, according to one embodiment, the processor (120) may provide (display or output) an answer obtained from the AI engine. The processor (120) may provide an answer generated based on the maximum answer length. Alternatively, the processor (120) may provide an answer generated regardless of the maximum answer length. When providing the answer, the size of the window providing the answer may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer. The answer may be output through a speaker (e.g., the audio output module (155) of FIG. 1) via a TTS function, or may be displayed on the display module (160). For example, if the user query is a voice command, the processor (120) may output the answer as audio through the audio output module (155). If the user query is entered by handwriting input using a keypad or pen (e.g., text input), the processor (120) may display the answer on the display module (160). The answer may include at least one of text, image, audio, or video.
[0093] According to one embodiment, the processor (120) may generate a first answer based on a maximum answer length, and may also generate a second answer regardless of the maximum answer length. The processor (120) may provide the first answer, and when a detailed view of the first answer is requested by the user, the processor (120) may provide the second answer. Alternatively, the processor (120) may generate an answer based on the user query, summarize the answer to correspond to the maximum answer length, and provide the summarized answer. Alternatively, the processor (120) may generate an answer based on the user query, and provide an upper portion of the answer among the generated answers that correspond to the maximum answer length. Alternatively, the processor (120) may request generation of an answer from the server (108) regardless of the maximum answer length, and provide a summarized answer received from the server (108) to correspond to the maximum answer length. Alternatively, the processor (120) may provide an upper portion of the received answer that corresponds to the maximum answer length.
[0094] According to one embodiment, when providing the answer, if there is content remaining to be answered but not displayed on the display module (160), the processor (120) may display a response interruption object. The response interruption object may request the interruption of the answer. When the response interruption object is selected, the processor (120) may interrupt the generation of the answer or interrupt the reception of the answer from the server (108).
[0095] FIG. 5A is a diagram illustrating an example of generating an answer based on a maximum answer length in an electronic device according to one embodiment.
[0096] Referring to FIG. 5A, 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 (501) through an assistant application and display a first user interface (510) on a display (e.g., the display module (160) of FIG. 1). The assistant application may include a voice assistant and an AI assistant. Although described as a “voice assistant,” various input methods (e.g., text input via a keypad, handwriting input via a pen, gesture input) may also be possible in addition to voice. The first user interface (510) may include a first answer (513) corresponding to the user query (501), a maximum answer length (517), and an answer interruption object (515). A user query (501) may be a voice command (e.g., a user utterance) obtained through a microphone, or text obtained through handwriting input using a keypad or pen displayed on the execution screen of the assistant application being executed. When a voice command is received as a user query (501), the processor (120) may convert the voice command into text and display the text corresponding to the user query (501).
[0097] The processor (120) can generate an answer based on a user query (501). When generating an answer, the processor (120) can determine whether a maximum answer length exists, and if so, can generate an answer based on the maximum answer length using an artificial intelligence (AI) engine. Alternatively, if the maximum answer length exists, the processor (120) can transmit the user query (501) and the maximum answer length to an intelligent server (e.g., the server (108) of FIG. 1, the generative artificial intelligence system of FIG. 2) through a communication module (e.g., the communication module (190) of FIG. 1) and receive an answer from the server (108). The generated answer may be generated based on the maximum answer length. The processor (120) can output the first answer (513) through a speaker (e.g., the audio output module (155) of FIG. 1) or display the first answer (513) on a display module (160). The first answer (513) may include at least one of text, image, audio or video.
[0098] When providing the first answer (513), the size of the window (or area, bubble) that provides (or displays) the first answer (513) may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer. The processor (120) may increase the window size of the first answer (513) while reducing the number of the maximum answer length (517). When the maximum answer length (517) is set, the number of characters of the maximum answer length (517) may be counted and displayed so that the user can know the status of loading among the total number of characters. When there is more content to be answered based on the user query (501) in addition to the first answer (513), the processor (120) may display an answer stop object (515). When the answer stop object (515) is selected, the processor (120) may stop generating an answer or stop receiving an answer from the server (108). The processor (120) can improve user convenience by displaying a response stop object (515) to stop providing the response when the user requests while providing the first response (513).
[0099] When the size of the window of the first answer (513) increases while providing the first user interface (510), the second user interface (530) may be provided (or displayed). The second user interface (530) may include a second answer (531) corresponding to the user query (501) and a detailed view object (535). The first answer (513) may display only a portion of the answer to the user query, and the second answer (531) may display an increased amount of answers as subsequent answers to the first answer (513) are sequentially displayed. The answers may be received from the server (108) at once or may be received sequentially starting from the first answer. Since the first answer (513) and the second answer (531) have different lengths of the same answer, they are distinguished as “first” and “second” to help understanding of the invention, and do not limit the scope of the invention. The processor (120) may display a detailed view object (535) if the second answer (531) is generated based on the maximum answer length and there is no content left to answer based on the user query (501) other than the second answer (531). The second answer (531) may be an answer generated based on the user query (501) and the maximum answer length (517). The first answer (513) may be a part of the second answer (531). The detailed view object (535) may be displayed regardless of the maximum answer length.
[0100] When a detailed view object (535) is selected in the second user interface (530), the processor (120) may provide a third user interface (550). The processor (120) may determine that the detailed view object (535) is selected when the detailed view object (535) is touched by the user or when a user utterance such as “Tell me more,” “Details,” or “Details” is input. The third user interface (550) may include a third answer (551) and an answer stop object (353). The processor (120) may generate a third answer (551) regardless of the maximum answer length in response to a user query (501). The processor (120) may request a response to the user query (501) from the server (108) and receive the third answer (551) from the server (108). The third answer (551) may be generated regardless of the maximum answer length. If, in addition to the third answer (551), there is content remaining to be answered based on the user query (501), the processor (120) may display a response interruption object (553).
[0101] FIG. 5b is a diagram illustrating an example of providing a detailed view of an answer in an electronic device according to one embodiment.
[0102] Referring to FIG. 5B, the processor (120) may display a fourth user interface (570) including a fourth answer (573) to a user query (501) on the display module (160). The fourth answer (573) may be an answer generated based on the maximum answer length. If the fourth answer (573) is generated based on the maximum answer length and there is no content remaining to answer the user query (501) other than the fourth answer (573), the processor (120) may display a detailed view object (575). The detailed view object (575) may be for requesting an answer to the user query (501) regardless of the maximum answer length. Even if the processor (120) provides an answer based on the maximum answer length, if the user requests, the processor (120) may display the detailed view object (575) to provide an answer regardless of the maximum answer length, thereby improving user convenience.
[0103] When a detailed view object (575) is selected in the fourth user interface (570), the processor (120) may provide a fifth user interface (580). The fifth user interface (580) may include a screen (583) indicating that an answer to the user query (501) is being generated (or updated). The processor (120) may generate an answer to the user query (501) regardless of the maximum answer length. While generating (or updating) an answer to the user query (501) regardless of the maximum answer length, the processor (120) may display the fifth user interface (580) on the display module (160). When an answer to the user query (501) is generated, the processor (120) may provide a sixth user interface (590). The sixth user interface (590) may include the user query (501) and a fifth answer (593) to the user query (501). The fifth answer (593) may be an answer generated based on the user query (501) regardless of the maximum answer length.
[0104] FIG. 6 is a flowchart (600) illustrating a method for collecting the length of a response in an electronic device according to one embodiment.
[0105] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0106] Referring to FIG. 6, in operation 601, 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 detect an event while providing a response. The event may include a user input. The user input may include a text input such as a voice command, a button selection, or handwriting input using a keypad or pen. When providing an answer to a user's query, the size of the window providing the answer may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer, while displaying the answer (e.g., displayed on the display module (160) of FIG. 1). If there is content remaining to be displayed other than the answer displayed on the display module (160), the processor (120) may display an object (e.g., an indicator, a software button) that stops displaying the answer. The user may select the answer stop object, press the home key, press the lock key (or power key), or terminate (or cancel) the execution of the assistant application.
[0107] The above assistant application may include a voice assistant and an AI assistant. Although described as a "voice assistant," it may also allow for various input methods, such as text input via a keypad, handwriting input via a pen, or gesture input.
[0108] In operation 603, according to one embodiment, the processor (120) may determine whether the detected event is a response interruption event. For example, if the response interruption object displayed on the display module (160) is touched, or a user utterance identical to selecting the response interruption object, such as “response interruption,” “stop,” or “that’s enough,” is input as a voice command, the processor (120) may determine that the response interruption has been requested. According to one embodiment, if a user input is detected that causes the execution screen of the assistant application not to be displayed on the display module (160), the processor (120) may determine that the response interruption event is the response interruption event. Although described as a “voice assistant,” various input methods (e.g., text input via a keypad, handwriting input via a pen, gesture input) in addition to voice may also be possible. For example, the interruption event of the above answer may include a user input related to switching from the execution screen of the assistant application to the home screen (e.g., selecting the home key), turning off (or entering a power saving mode) the display module (160) (e.g., selecting the power key, lock key), or terminating (or canceling) the execution of the assistant application.
[0109] The processor (120) may perform operation 605 if the detected event is a response interruption event, and may perform operation 608 if the detected event is not a response interruption event.
[0110] If the detected event is a response interruption event, in operation 605, the processor (120) may collect the length of the response. The length (or size, amount) of the response may indicate the extent of content included in the response displayed on the display module (160). The response may include at least one of text, an image, or a video. The processor (120) may collect the length of the response corresponding to the same domain as the user query.
[0111] In one embodiment, the processor (120) may not collect the length of the answer if a user input (e.g., a utterance or text entry) is received immediately after the answer interruption event to correct or cancel the interruption of the answer.
[0112] According to one embodiment, the processor (120) may set the maximum length of each response for each domain. Alternatively, the processor (120) may set the maximum length of each response based on time information or location information. When collecting the response length, the processor (120) may also collect at least one of the domain, time information, or location information corresponding to the user query.
[0113] According to one embodiment, the answer may be displayed on the display module (160) or output as audio to a speaker (e.g., the audio output module (155) of FIG. 1). When the answer is output to the audio output module (155), the length of the answer displayed on the display module (160) and the length of the answer output to the audio output module (155) may be different. When the length of the answer displayed on the display module (160) and the length of the answer output to the audio output module (155) are different, the processor (120) may collect the length of the answer displayed on the display module (160). Alternatively, when the length of the answer displayed on the display module (160) and the length of the answer output to the audio output module (155) are different, the processor (120) may collect the length of the answer output to the audio output module (155) according to the settings of the electronic device (101) or the settings of the user.
[0114] In operation 607, according to one embodiment, the processor (120) may determine whether the number of times the length of the answer has been collected exceeds a specified number. The specified number may be a threshold (e.g., 10, 20, 30) that serves as a reference for setting (or determining) the maximum answer length. The processor (120) may determine whether the number of times collected in response to the same domain as the user query exceeds the specified number. Alternatively, the processor (120) may determine whether the number of times collected in response to time information at which the user query was received exceeds the specified number. Alternatively, the processor (120) may determine whether the number of times collected in response to location information at which the user query was received exceeds the specified number.
[0115] The processor (120) may perform operation 609 if the number of times collected exceeds a specified number, and may terminate if the number of times collected does not exceed a specified number.
[0116] If the number of collected times exceeds a specified number, in operation 609, the processor (120) may determine a maximum answer length. The maximum answer length may limit the amount of content to be included in the answer to the user query. If the user requests to stop the display (e.g., select the answer stop object) while the answer is displayed on the screen, the processor (120) may determine the maximum answer length based on the length (e.g., number of characters) of the answer displayed on the screen. If the total length of the answer is 300 characters and the user presses the answer stop object while 100 characters are displayed on the screen, 100 characters may be recognized as the user's preferred number of characters. The processor (120) may analyze the user's usage pattern based on the length of the collected answer, and determine the maximum answer length based on the analysis result. The processor (120) may learn the user's usage pattern based on the length of the collected answer (e.g., machine learning), and determine the maximum answer length based on the learning result. Once the maximum answer length is determined, the processor (120) can store the maximum answer length in a memory (e.g., memory (130) of FIG. 1). The processor (120) can set the maximum answer length for each domain, time information, or location information.
[0117] If the detected event is not a response interruption event, in operation 608, the processor (120) may not collect the length of the response. For example, if the detected event is a next user query (or a new user query), the processor (120) may not collect the length of the response.
[0118] FIGS. 7A and 7B are diagrams illustrating an example of determining a maximum response length depending on the type of content in an electronic device according to one embodiment.
[0119] Referring to FIG. 7A, 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 adjust a preferred amount of information by applying information weights according to content type. For example, when an answer includes only text and when a text and an image are included together, the maximum answer length of the text may be adjusted. The processor (120) may set the maximum answer length to '500 characters' based on text. The first drawing (710) illustrates an answer generated by including text of the maximum answer length of 500 characters when the answer is composed only of text. The second drawing (720) illustrates an answer generated by including text (723) of 300 characters based on the maximum answer length and an image (721) corresponding to the remaining 200 characters of text. The maximum answer length of the image may include the size of the image or the number of images. The third drawing (730) shows an answer generated by including a text (733) of 150 characters, which is the maximum answer length, and a video (731) corresponding to the remaining text of 350 characters. The maximum answer length of the video can be set by the display size or capacity of the video. These numerical examples are only intended to aid understanding of the invention and do not limit the invention.
[0120] Referring to FIG. 7b, the processor (120) can apply different weights depending on the size of the image or video, so that even for the same image, the amount of information transmitted can be adjusted differently depending on the image size. The processor (120) may set the maximum answer length to 700 characters based on text based on a user query, "What was Picasso's Starry Night painting?" The processor (120) may provide a first answer (750), a second answer (760), or a third answer (770) depending on the content type. The first answer (750) may be an example answer generated by including text of the maximum answer length of 700 characters if it includes only text. The second answer (760) may be an example answer generated by including text of 350 characters (763) based on the maximum answer length and an image (761) of a size corresponding to the remaining 350 characters of text. The third answer (770) may be an example answer generated by including text of 450 characters (771) based on the maximum answer length and three images of a size corresponding to approximately 80 characters of text for the remainder. The first image (773), the second image (775), and The third image (777) may be an image with a size corresponding to approximately 80 characters of text. These numerical examples are intended only to aid understanding of the invention and do not limit the invention.
[0121] FIG. 8 is a diagram illustrating an example of collecting the length of a response in an electronic device according to one embodiment.
[0122] Referring to FIG. 8, 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 (810) including a first answer (811) and an answer interruption object (813) on a display (e.g., the display module (160) of FIG. 1). When providing the first answer (811), the size of a window providing the first answer (811) may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer. If there is an answer to be displayed in addition to the first answer (811), the processor (120) may provide the answer interruption object (813). The processor (120) may detect a user input while providing the first answer (811). When a response stop object (813) is selected, the processor (120) can stop providing the first response (811).
[0123] The processor (120) may receive user input after the answer interruption object (813) is selected. The processor (120) may analyze the user input and display a second user interface (830) on the display module (160). The user input may include a voice command (or user utterance, user query). The second user interface (830) may include a second answer (831), an answer reload object (833), and a user query (835). The second answer (831) may be the same as the first answer (811). The answer reload object (833) may be for requesting to continue displaying (or providing) answers following the second answer (831). The user query (835) may be a text representation of the user input.
[0124] If the detected user input after the response interruption object (813) is selected is a user query (835), the processor (120) may not collect the length of the second response (831). The user query (835) may not be intended to search by adding information to the second response (831) or to cancel the result itself. In other words, since the user query (835) is not feedback on the response length for setting the maximum response length, the processor (120) may not collect the length of the second response (831).
[0125] FIGS. 9A and 9B are diagrams illustrating an example of providing a detailed response upon a user request in an electronic device according to one embodiment.
[0126] Referring to FIG. 9A, 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 (910) including a user query (901), a first answer (911), and an answer interruption object (913) on a display (e.g., a display module (160) of FIG. 1). The processor (120) may generate the first answer (911) based on the user query (901). When generating the first answer (911), the processor (120) may determine whether a maximum answer length exists, and if so, may generate the first answer (911) based on the maximum answer length using an artificial intelligence (AI) engine. The processor (120) may output the first answer (911) through a speaker (e.g., the audio output module (155) of FIG. 1) or display the first answer (911) on the display module (160). The first answer (911) may include at least one of text, an image, audio, or video.
[0127] When providing the first answer (911), the size of the window (or area, bubble) providing (or displaying) the first answer (911) may be variably changed (e.g., increased (or enlarged, extended), reduced) depending on the size (or length, amount) of the first answer. While displaying the first user interface (910), the processor (120) may detect a scrolling user input (915). The processor (120) may quickly display the speed at which the first answer (911) is provided in accordance with the scroll speed of the user input (915). The processor (120) may provide the first answer (911) in accordance with the scroll speed of the user input (915) faster than the speed at which the first answer (911) is streamed. When the scroll is quickly performed, the processor (120) may quickly increase the window of the first answer (911) by the area being scrolled, thereby continuously displaying the contents of the first answer (911).
[0128] If the user feels that the answer is too long while scrolling through the content, the user can select (e.g., touch) the answer stop object (913). Alternatively, the user can make a user utterance (e.g., a voice command) such as “stop answering,” “stop,” or “enough.” The second user interface (930) may illustrate an example of selecting the answer stop object (933) while providing the second answer (931). The first answer (911) may display only a portion of the answer to the user’s query, and the second answer (931) may display an increased amount of answers as subsequent answers to the first answer (911) are sequentially displayed. The answers may be received from the server (108) at once or may be received sequentially starting from the first answer. The text included in the second answer (931) may be sequentially uploaded in a vertical direction (or a portrait direction), and the image may be displayed in a horizontal direction (or a landscape direction). When the user swipes left or right on the image, new images may be displayed.
[0129] The processor (120) may stop providing the second answer (931) when the answer stop object (933) is touched or a user utterance identical to selecting the answer stop object (933) is input. The processor (120) may collect the length of the second answer (931) based on the user query (901). For example, the processor (120) may collect the length of the second answer (931) in a domain corresponding to the user query (901). Alternatively, the processor (120) may collect the length of the second answer (931) in association with time information or location information at the time of receiving the user query (901) or providing the second answer (931).
[0130] When the answer interrupt object (933) is selected, the processor (120) may display a third user interface (950) on the display module (160). The third user interface (950) may include a third answer (951) and an answer reload object (953). The third answer (951) may be the same as the second answer (931). The answer reload object (953) may be for requesting that answers be continuously displayed (or provided) following the third answer (951). When the answer reload object (953) is selected, the processor (120) may provide additional answers following the third answer (951). The amount of answers may increase as answers following the second answer (931) are sequentially displayed. Answers may be received from the server (108) at once or may be received sequentially starting from the first answer. When scrolling the second answer (931), the processor (120) can display the answers that follow the second answer (931).
[0131] Referring to FIG. 9B, a response to a user query via an assistant application may include text, images, or videos. The assistant application may include a voice assistant and an AI assistant. Although described as a "voice assistant," various input methods (e.g., text input via a keypad, handwriting input via a pen, gesture input) may also be possible in addition to voice. To minimize the inconvenience of user input (e.g., scrolling) for confirming a response, the processor (120) may arrange images included in the response horizontally so that the length of the response does not become too long. The fourth user interface (970) illustrates an example in which an area (971) of images included in the response is arranged vertically. The processor (120) may display only up to N images in the response and provide a "View More" object (973) (e.g., "View More"). When the More object (973) is selected in the fourth user interface (970), the processor (120) can additionally provide an image included in the answer. The fifth user interface (980) illustrates an example of including text (981) and an image (933) as an answer. When the More object (985) is selected in the fifth user interface (980), the processor (120) can additionally provide an image included in the answer. The sixth user interface (990) illustrates an example of providing URL information (991) as an answer, and when the URL information (991) is selected, providing detailed information (993) including a plurality of images.
[0132] FIG. 10 is a diagram illustrating an example of setting a maximum response length according to a domain in an electronic device according to one embodiment.
[0133] Referring to FIG. 10, 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) for setting a maximum response length according to a domain on a display (e.g., a display module (160) of FIG. 1). User concentration and the amount of expected information may vary depending on the domain and content type. Accordingly, the processor (120) may provide a user interface that allows a user to directly set a maximum response length according to a domain, thereby improving user convenience.
[0134] The first user interface (1010) may include a toggle button (1008) (e.g., an on / off object) for setting or clearing the maximum response length for each domain. The first user interface (1010) may include a toggle button (1008) corresponding to each of the first domain (1001), the second domain (1002), the third domain (1003), the fourth domain (1004), the fifth domain (1005), the sixth domain (1006), and the seventh domain (1007). The domain may include at least one of a user intent, a response category, or an application corresponding to a user query. The number of domains may be more than that shown. The second user interface (1030) illustrates an example where the maximum answer length is set (1031) for health and fitness (e.g., first domain (1001)) and the maximum answer length is disabled (1033) for games and fun (e.g., second domain (1003)).
[0135] When a user input (1035) selecting the first domain (1001) is detected in the second user interface (1030), the processor (120) may display a third user interface (1050) on the display module (160). The third user interface (1050) may be configured to specify a maximum response length for health and fitness. The maximum response length may be set differently for displayed text or voice reading. For example, the maximum response length for displayed text (1051) may be 300 characters, and the maximum response length for voice reading (1053) may be 200 characters. The maximum response length may be specified in detail by time, location, and service. The user may select a time-based setting (1055) to specify a maximum response length for responses provided at a given time. Alternatively, the user may select a location-based setting (1057) to specify a maximum response length for responses provided at a given location. Users can select service-specific settings (1059) to set the maximum response length for responses provided by each service. Services may include specific application features.
[0136] FIG. 11 is a flowchart (1100) illustrating a method for setting a maximum response length in an electronic device according to one embodiment.
[0137] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0138] Referring to FIG. 11, in operation 1101, 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 an answer based on a maximum answer length. The processor (120) may generate and provide an answer based on the maximum answer length using an AI engine. That is, when the maximum answer length is '100 bytes', the processor (120) may limit the amount of content included in the answer to within 100 bytes. The processor (120) may generate an answer directly through the AI engine, or transmit a user query and the maximum answer length to an intelligent server (e.g., server (108) of FIG. 1, generative artificial intelligence system of FIG. 2) through a communication module (e.g., communication module (190) of FIG. 1), and receive an answer from the server (108).
[0139] According to one embodiment, the processor (120) may generate a first answer based on a maximum answer length, and may also generate a second answer regardless of the maximum answer length. The processor (120) may provide the first answer, and when a detailed view of the first answer is requested by the user, the processor (120) may provide the second answer. Alternatively, the processor (120) may generate an answer based on the user query, summarize the answer to correspond to the maximum answer length, and provide the summarized answer. Alternatively, the processor (120) may generate an answer based on the user query, and provide an upper portion of the answer among the generated answers that correspond to the maximum answer length. Alternatively, the processor (120) may request generation of an answer from the server (108) regardless of the maximum answer length, and provide a summarized answer received from the server (108) to correspond to the maximum answer length. Alternatively, the processor (120) may provide an upper portion of the received answer that corresponds to the maximum answer length.
[0140] According to one embodiment, when providing the answer, if there is content to be answered but not displayed on the display (e.g., display module (160)), the processor (120) may display a response interruption object. The response interruption object may request the interruption of the answer. When the response interruption object is selected, the processor (120) may stop generating the answer or stop receiving the answer from the server (108). Alternatively, the processor (120) may display a detail view object after providing all generated answers. The detail view object may be for requesting an answer to a user query regardless of the maximum answer length.
[0141] In operation 1103, according to one embodiment, the processor (120) may receive a request for a detailed view of an answer. When the detailed view object displayed on the display module (160) is touched when providing the answer, or when a user utterance such as “Tell me more,” “Detailed,” or “Detailed” is input, the processor (120) may determine that a request for a detailed view of an answer has been received from the user.
[0142] In operation 1105, according to one embodiment, the processor (120) may determine whether the number of times a detailed view request has been requested exceeds a specified number. The specified number may be a threshold (e.g., 10, 20, 30) that serves as a reference for releasing the maximum answer length. The processor (120) may determine whether the number of times requested exceeds the specified number in response to a domain associated with the user query. Alternatively, the processor (120) may determine whether the number of times requested exceeds the specified number in response to time information at which the user query was received. Alternatively, the processor (120) may determine whether the number of times requested exceeds the specified number in response to location information at which the user query was received.
[0143] The processor (120) may perform operation 1107 if the requested number of times exceeds the specified number, and may perform operation 1108 if the requested number of times does not exceed the specified number.
[0144] If the number of requests does not exceed a specified number, in operation 1108, the processor (120) may provide a detailed answer regardless of the maximum answer length. The processor (120) may provide an answer regardless of the maximum answer length that was generated together with the answer generation as a detailed answer. Alternatively, if the answer provided in operation 1001 is a summarized answer corresponding to the maximum answer length, the processor (120) may provide the original answer. Alternatively, the processor (120) may request generation of an answer from the server (108) regardless of the maximum answer length, and provide the answer received from the server (108).
[0145] If the number of requests exceeds a specified number, the processor (120) may notify the user of the maximum response length setting at step 1107. While the maximum response length was set because the user did not desire an excessive number of responses, the user's usage pattern may subsequently change to a tendency to view more detailed responses. If the number of requests exceeds the specified number, the processor (120) may determine that the maximum response length needs to be changed or disabled. The processor (120) may notify the user of the maximum response length setting (e.g., 500 characters).
[0146] In operation 1109, the processor (120) may disable the maximum response length setting based on user input. If the user requests to disable the maximum response length setting, the processor (120) may delete (e.g., delete from memory) the maximum response length set in the domain, time information, or location information associated with the user query. According to one embodiment, the processor (120) may also maintain the maximum response length in response to a user's request to maintain the notification. Alternatively, the processor (120) may provide a user interface for changing the maximum response length in response to a user's request to change the notification. The user interface may be as illustrated in FIG. 10 .
[0147] FIG. 12 is a diagram illustrating an example of releasing the maximum response length in an electronic device according to one embodiment.
[0148] Referring to FIG. 12, 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 (1210) including a user query (1201), a first answer (1211) to the user query (1201), and a detailed view object (1213) on a display (e.g., a display module (160) of FIG. 1). When the detailed view object (1213) is selected in the first user interface (1210), the processor (120) may determine whether the number of times a detailed view request has been requested exceeds a specified number. The specified number may be a threshold that serves as a reference for releasing the maximum answer length. The processor (120) may determine whether the number of times a request has been made in response to a domain associated with the user query (1201) exceeds a specified number. Alternatively, the processor (120) may determine whether the number of requests exceeds a specified number based on the time information at which the user query (1201) was received. Alternatively, the processor (120) may determine whether the number of requests exceeds a specified number based on the location information at which the user query (1201) was received.
[0149] If the requested number exceeds a specified number, the processor (120) may display a second user interface (1230) on the display module (160). The second user interface (1230) may include a second answer (1231) and a change notification (1233) of the maximum answer length. The second answer (1231) may be the same as the first answer (1211). The change notification (1233) of the maximum answer length may indicate that the maximum answer length setting has been changed. Although the processor (120) provided an answer with the maximum answer length, the usage pattern may change to a tendency to view more detailed answers. If the user agrees to the change notification (1233) of the maximum answer length (YES), the processor (120) may change the maximum answer length, and if the user does not agree to the change notification (1233) of the maximum answer length (NO), the processor (120) may maintain the maximum answer length as previously set. If the number of requests exceeds a specified number, the processor (120) may determine that the maximum response length needs to be changed or released.
[0150] If maintenance of the maximum answer length is requested in the second user interface (1230), the processor (120) may display a third user interface (1250) on the display module (160). The third user interface (1250) may include a third answer (1251) generated regardless of the maximum answer length. The processor (120) may provide the third answer (1251) that is not related to the maximum answer length generated together with the first answer (1211). Alternatively, if the first answer (1211) is a summarized answer corresponding to the maximum answer length, the processor (120) may provide the third answer (1251) as the original answer. Alternatively, the processor (120) may request generation of an answer from the server (108) regardless of the maximum answer length, and provide the third answer (1251) received from the server (108).
[0151] FIG. 13 is a diagram illustrating an example of setting a maximum response length in an electronic device according to one embodiment.
[0152] Referring to FIG. 13, 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 (1310) including a first answer (1311) and an answer interruption object (1315) on a display (e.g., a display module (160) of FIG. 1). The first answer (1311) may be a text sequentially uploaded in a vertical direction (or portrait direction) and an image (1313) displayed in a horizontal direction (or landscape direction). When a user swipes left or right on the image, a new image may be displayed.
[0153] When the answer stop object (1315) is selected in the first user interface (1310), the processor (120) may display a second user interface (1330) on the display module (160). The second user interface (1330) may include a second answer (1331) and an answer reload object (1333). The second answer (1331) may be identical to the first answer (1311). When the answer reload object (1333) is selected, the processor (120) may display additional content in addition to the second answer (1331).
[0154] Additionally, the processor (120) may determine whether the number of times the answer interruption object (1315) is selected in the first user interface (1310) exceeds a specified number. The specified number may be a threshold that serves as a reference for setting a maximum answer length. The processor (120) may determine whether the number of times the answer interruption is requested in response to a domain associated with a user query exceeds a specified number. The processor (120) may determine whether the number of times the answer interruption is requested in response to time information or location information at the time the user query is received exceeds a specified number.
[0155] If the number of requests to stop answering exceeds a specified number, the processor (120) may display a third user interface (1350) on the display module (160). The third user interface (1350) may include a third answer (1351) and a notification (1353) regarding the maximum answer length. The third answer (1351) may be the same as the second answer (1331). The notification (1353) regarding the maximum answer length may indicate the maximum answer length set (e.g., 700 characters). If the number of requests to stop answering exceeds a specified number, the processor (120) may determine that the maximum answer length needs to be changed or canceled. The processor (120) may cancel the setting of the maximum answer length in response to a user's request for the notification (1353) regarding the maximum answer length.
[0156] 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 from a user through an assistant application, an operation of determining whether there is a maximum answer length that limits the amount of content to be included in an answer to the user query after receiving the user query, an operation of transmitting the maximum answer length and the user query to an AI (artificial intelligence) engine if the maximum answer length exists, an operation of transmitting only the user query to the AI engine if the maximum answer length does not exist, and an operation of providing an answer obtained from the AI engine.
[0157] The method may further include an operation of detecting a user input requesting a detailed view of the answer while displaying an answer generated based on the maximum answer length and the user query, an operation of requesting an answer corresponding to the user query from the AI engine based on the user input, regardless of the maximum answer length, and an operation of providing an answer obtained from the AI engine.
[0158] The method may further include an operation of obtaining, from the AI engine, a first answer corresponding to the user query and the maximum answer length, and a second answer corresponding to the user query that is not related to the maximum answer length, and an operation of providing the first answer and providing the second answer according to a user request.
[0159] The method may further include an operation of obtaining an answer corresponding to the user query from the AI engine, regardless of the maximum answer length, an operation of summarizing the obtained answer so as to correspond to the maximum answer length, and an operation of providing the summarized answer.
[0160] The method may further include an operation of obtaining an answer corresponding to the user query from the AI engine, regardless of the maximum answer length, and an operation of providing a portion of the answer corresponding to the maximum answer length among the obtained answers.
[0161] The method may further include an operation of identifying a domain associated with the user query, an operation of identifying a maximum answer length set for the identified domain, and an operation of transmitting the maximum answer length and the user query to the AI engine.
[0162] The above method may further include an operation of releasing the setting of the maximum answer length set for the domain when a threshold number of detailed views of the answer is requested while providing an answer corresponding to the domain.
[0163] The method may further include an operation of detecting a user input requesting a discontinuation of the answer while sequentially displaying the answer, an operation of collecting a length of the answer displayed on the display based on the user input, and an operation of not collecting the length of the answer if a new user query obtained after requesting a discontinuation of the answer is not associated with the discontinuation of the answer.
[0164] The method may further include an operation of determining the maximum answer length based on at least one of domain, time information, and location information.
[0165] 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.
[0166] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (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.
[0167] 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).
[0168] 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.
[0169] 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.
[0170] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0171] 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 Contains memory (130), The instructions stored in the above memory, when executed by the processor, cause the electronic device to: Receive user queries from users through the assistant application, After receiving the above user query, determine whether there is a maximum answer length that limits the amount of content to be included in the answer to the above user query, If the above maximum answer length exists, the above maximum answer length and the user query are transmitted to the AI (artificial intelligence) engine, If the above maximum answer length does not exist, only the user query is passed to the AI engine. An electronic device that provides answers obtained from the above AI engine.
2. In the first paragraph, when the instructions are executed by the processor, the electronic device, While displaying the generated answer based on the above maximum answer length and the above user query, detecting a user input requesting a detailed view of the answer, Based on the user input, request the AI engine for an answer corresponding to the user query, regardless of the maximum answer length; An electronic device that provides answers obtained from the above AI engine.
3. In the first paragraph, when the instructions are executed by the processor, the electronic device, Obtain a first answer corresponding to the user query and the maximum answer length from the AI engine, and a second answer corresponding to the user query that is not related to the maximum answer length, An electronic device that provides the first answer and provides the second answer upon user request.
4. In the first paragraph, when the instructions are executed by the processor, the electronic device, Obtain an answer corresponding to the user query from the AI engine, regardless of the maximum answer length; Summarize the obtained answers so that they correspond to the maximum answer length above, An electronic device configured to provide the summarized answers above.
5. In the first paragraph, when the instructions are executed by the processor, the electronic device, Obtain an answer corresponding to the user query from the AI engine, regardless of the maximum answer length; An electronic device configured to provide a portion of the above-described answer corresponding to the above-described maximum answer length among the above-described obtained answers.
6. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: Identify the domain associated with the above user query, Identify the maximum response length set for the above identified domain, An electronic device that transmits the above maximum answer length and the above user query to the AI engine.
7. In the sixth paragraph, the instructions, when executed by the processor, cause the electronic device to: An electronic device that, when providing an answer corresponding to the above domain, if a threshold number of detailed views of the answer are requested, disables the setting of the maximum answer length set for the above domain.
8. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: While sequentially displaying the above answers, detect a user input requesting to stop the above answers, An electronic device for collecting the length of an answer displayed on said display based on said user input.
9. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: An electronic device configured not to collect the length of a response if a new user query obtained after requesting the suspension of said response is not associated with the suspension of said response.
10. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: An electronic device that determines each of the maximum response lengths based on at least one of domain, time information, or location information.
11. In the first paragraph, the instructions, when executed by the processor, cause the electronic device to: The above assistant application sequentially displays answers corresponding to user queries, Detecting user input to interrupt the above answer while providing the above answer, Collect the length of the answer displayed on the display based on the user input above, By learning the collected length above, the maximum answer length of the answer is determined, An electronic device for storing the determined maximum answer length in the memory.
12. In the operating method of an electronic device (101), An action to receive a user query from a user via an assistant application; After receiving said user query, an action is taken to determine whether there is a maximum answer length that limits the amount of content to be included in a response to said user query; If the above maximum answer length exists, an action of transmitting the above maximum answer length and the user query to an AI (artificial intelligence) engine; If the above maximum answer length does not exist, the operation of transmitting only the user query to the AI engine; and A method comprising an action of providing an answer obtained from the AI engine.
13. In paragraph 12, An action of detecting a user input requesting a detailed view of the answer while displaying an answer generated based on the maximum answer length and the user query; An action of requesting an answer corresponding to the user query from the AI engine, regardless of the maximum answer length, based on the user input; and A method further comprising an action of providing an answer obtained from the AI engine.
14. In paragraph 12, An operation of obtaining a first answer corresponding to the user query and the maximum answer length from the AI engine and a second answer corresponding to the user query that is not related to the maximum answer length; and A method further comprising providing the first answer and providing the second answer according to a user request.
15. In paragraph 12, An operation of obtaining an answer corresponding to the user query from the AI engine, regardless of the maximum answer length; An operation of summarizing the obtained answer so as to correspond to the maximum answer length; and Provide the summarized answer above, or A method further comprising an action of providing a portion of the answer corresponding to the maximum answer length among the obtained answers.
Citation Information
Patent Citations
Drive transmission device and image forming apparatus
KR102415348B1
Output provision using query syntax
US11455983B2
Method and system for increasing use of mobile devices to provide answer content in a question and answer based customer support system
US20200357009A1
System and method for varying verbosity of response in a group communication using artificial intelligence
US20230153642A1
KR20230077588A