Electronic device for managing information of database for artificial intelligence and method thereof

The electronic device addresses the challenge of managing information in AI databases by using a database with size-adjusting attributes and periodic information removal, ensuring efficient natural language generation and resource management.

WO2025121633A1PCT designated stage expired Publication Date: 2025-06-12SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/015463
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-10-14
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing electronic devices struggle to efficiently manage information in databases for artificial intelligence applications, particularly in generating natural language responses and maintaining database size without compromising response quality.

Method used

An electronic device equipped with a processor, memory, and communication circuitry that detects requests to generate natural language sentences, uses a database with attributes to adjust size, and controls a display to show responses, while periodically removing information to maintain database resources.

Benefits of technology

The solution enables efficient management of large databases for natural language generation, allowing for the selection and removal of unnecessary information, thus maintaining response quality and reducing resource usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024015463_12062025_PF_FP_ABST
    Figure KR2024015463_12062025_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device according to an embodiment may detect a request for generating a natural language sentence for at least one prompt sentence. In response to the request, the electronic device may generate a response message corresponding to the at least one prompt sentence by using a database in which information is accumulated. The electronic device may control a display to display the generated response message. The database may include, as attributes used to adjust the size of the database, a first attribute indicating whether to remove the information and a second attribute indicating whether an input for prohibiting the removal of the information is received via a screen displayed on the display by using the first attribute.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method for managing information in a database for artificial intelligence

[0001] The present disclosure relates to an electronic device and method for managing information in a database for artificial intelligence.

[0002] Natural language (or ordinary language) refers to the language used in human daily life. Electronic devices that analyze the intent contained in natural language are being developed. For example, electronic devices can perform functions indicated by natural language detected from audio signals containing utterances and / or text entered via a keyboard (or software keyboard).

[0003] The above information may be provided as background information to aid in understanding the present disclosure. None of the above is claimed to be prior art related to the present disclosure or can be used in making decisions related to prior art.

[0004] According to an embodiment, an electronic device may include a display, a memory for storing instructions, and a processor. The instructions, when executed by the processor, may cause the electronic device to detect a request to generate a natural language sentence for at least one prompt sentence. The instructions, when executed by the processor, may cause the electronic device to, in response to the request, generate a response message corresponding to the at least one prompt sentence using a database in which information is accumulated. The instructions, when executed by the processor, may cause the electronic device to control the display to display the generated response message. The database may include, as attributes used to adjust the size of the database, a first attribute indicating whether to remove the information, and a second attribute indicating whether an input to prohibit removal of the information has been received through a screen displayed on the display using the first attribute.

[0005] In one embodiment, a method of an electronic device including a display is provided. The method may include detecting a request to generate a natural language sentence for at least one prompt sentence. The method may include generating a response message corresponding to the at least one prompt sentence in response to the request using a database in which information is accumulated. The method may include controlling the display to display the generated response message. The database may include, as attributes used to adjust the size of the database, a first attribute indicating whether to remove the information, and a second attribute indicating whether an input to prohibit removal of the information has been received through a screen displayed on the display using the first attribute.

[0006] In one embodiment, a non-transitory computer-readable storage medium storing instructions may be provided. The instructions, when executed by an electronic device including communication circuitry and storage, may cause the electronic device to receive at least one prompt sentence from a user terminal via the communication circuitry. The instructions, when executed by the electronic device, may cause the electronic device to generate a response message corresponding to the at least one prompt sentence using a database stored in the storage. The instructions, when executed by the electronic device, may cause the electronic device to transmit information used to display the generated response message to the user terminal via the communication circuitry. The database may include, as attributes used to adjust the size of the database occupying the storage, a first attribute indicating whether information stored in the database is to be removed, and a second attribute indicating whether an input prohibiting the removal of the information has been received prior to removing the information using the first attribute.

[0007] According to one embodiment, an electronic device may include a communication circuit, a memory for storing instructions, and a processor. The instructions, when executed by the processor, may cause the electronic device to receive at least one prompt sentence from a user terminal via the communication circuit. The instructions, when executed by the processor, may cause the electronic device to generate a response message corresponding to the at least one prompt sentence using a database stored in the storage. The instructions, when executed by the processor, may cause the electronic device to transmit information used to display the generated response message to the user terminal via the communication circuit. The database may include, as attributes used to adjust the size of the database occupying the storage, a first attribute indicating whether information stored in the database is to be removed, and a second attribute indicating whether an input prohibiting removal of the information has been received prior to removing the information using the first attribute.

[0008] FIG. 1 illustrates one or more software applications that are executed to generate one or more natural language sentences for user input.

[0009] Figures 2a and 2b illustrate examples of a system for generating natural language sentences.

[0010] Figures 3a and 3b illustrate exemplary operations of a database changer executed to manage a database.

[0011] FIG. 4 illustrates an exemplary operation of an electronic device for inputting information into a database provided for generating natural language sentences.

[0012] FIG. 5 illustrates an exemplary operation of an electronic device that displays one or more natural language sentences corresponding to user input.

[0013] Figure 6 illustrates an exemplary operation of an electronic device that controls the properties of information stored in a database.

[0014] Figure 7 illustrates exemplary operations of an electronic device performed to remove information stored in a database.

[0015] FIG. 8 illustrates an exemplary screen of an electronic device displayed while removing information stored in a database.

[0016] FIG. 9 is a block diagram of an electronic device within a network environment according to various embodiments.

[0017] FIG. 10 is a block diagram illustrating an integrated intelligence (AI) system according to one embodiment.

[0018] FIG. 11 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to one embodiment.

[0019] FIG. 12 is a diagram illustrating a user terminal displaying a screen for processing voice input received through an intelligent app, according to one embodiment.

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

[0021] FIG. 1 illustrates one or more software applications that are executed to generate one or more natural language sentences for user input.

[0022] Referring to FIG. 1, a system (101) executing one or more software applications is illustrated. The system (101) may include at least one electronic device. For example, the system (101) may include a stand-alone electronic device, or may include multiple electronic devices connected via a network (e.g., the Internet). In one embodiment including multiple electronic devices, the system (101) may include a first electronic device referred to as a server, and a second electronic device referred to as a user terminal (or user equipment). One or more electronic devices included in the system (101) are exemplarily described with reference to FIGS. 2A and 2B . Hereinafter, an operation performed by the system (101) (or a function executed by the system (101)) may mean that the operation (or the function) is performed by at least one electronic device included in the system (101).

[0023] In one embodiment, the system (101) may perform an operation to interact with a user (110) using natural language. Referring to FIG. 1, an exemplary case of the system (101) receiving an exemplary natural language sentence (120) (e.g., “How to create an invention?”) from a user (110) is illustrated. The embodiment is not limited thereto, and the system (101) may receive a plurality of natural language sentences from the user (110). The natural language sentence (120) input by the user (110) may be referred to as a query sentence and / or a prompt sentence. The user (110) may input the natural language sentence (120) to obtain factual and / or theory-based information from the system (101). For example, a user's (110) input for providing a natural language sentence (120) to the system (101) may include a request to generate another natural language sentence for the natural language sentence (120). The natural language sentence (120) may be received or detected through the user's (110) utterance and / or a keyboard (e.g., a software keyboard).

[0024] The system (101) that receives a natural language sentence (120) can obtain information (140) related to the natural language sentence (120) using a database (130). Information input to the system (101) or detected by the system (101) can be accumulated or stored in the database (130). Referring to FIG. 1, the system (101) can perform a search on the database (130) to obtain information (140) related to the natural language sentence (120) in the database (130). The information (140) can correspond to at least a portion of the information stored in the database (130). Using a response message generator (150) that inputs information (140) and natural language sentences (120), the system (101) can generate or obtain a response message (160) that includes one or more natural language sentences to be provided to a user (110). The response message generator (150) is a software application executed by the system (101), and may include a software application for driving a computational model referred to as a neural network.

[0025] For example, a neural network may refer to a computational model that mimics the computational capabilities of animals (or humans) by utilizing a large number of artificial neurons (or nodes). To perform the computations represented by the neural network, the system (101) may include a central processing unit (CPU), a graphic processing unit (GPU), a neural processing unit (NPU), or a combination thereof. Using the neural network, the system (101) may mimic human cognitive functions or learning processes. The performance of the neural network may be improved through a process referred to as training (or machine learning). The process may involve algorithms such as gradient descent and / or backpropagation. In one embodiment, the response message generator (150) may include a neural network trained to generate information (e.g., a response message (160)) that is difficult to discern as being the output of artificial intelligence, such as generative artificial intelligence.

[0026] Referring to FIG. 1, the system (101) can provide a response message (160) including a plurality of natural language sentences (e.g., “An invention is a unique or novel device, method, composition, idea or process. To create the invention, look around and find a problem.”) to the user (110). For example, the response message (160) can be included in a user interface (UI) visualized by an electronic device included in the system (101). For example, the response message (160) can be included in an audio signal output from an electronic device included in the system (101). By using the response message (160) including natural language sentences, the system (101) can provide the user (110) with a user experience similar to a conversation with another user.

[0027] Referring to FIG. 1, a system (101) for driving a neural network trained to generate a response message (160) can manage a database (130) that is separable from the neural network. The database (130) can be referred to as an external database from the perspective of being managed by a software application separate from the neural network. From the perspective of providing information required for driving the neural network, the database (130) can be referred to as a knowledge database. A structure that generates one or more natural language sentences using a knowledge database separated from the neural network, such as the database (130) and the response message generator (150), can be referred to as a retrieval-augmented generation (RAG) pattern.

[0028] Referring to FIG. 1, different software applications installed on at least one electronic device included in the system (101) for managing a database (130) are illustrated. For example, a data preprocessor (180) configured to add information to the database (130) may be installed on at least one electronic device within the system (101). For example, a response message generator (150) configured to generate a response message (160) for a question (e.g., a natural language sentence (120)) of a user (110) using at least a portion of the information included in the database (130) (in the exemplary case of FIG. 1, information (140)) may be installed on at least one electronic device within the system (101). For example, a database changer (190) configured to change (or update) and / or delete at least a portion of the information stored in the database (130) may be installed on at least one electronic device within the system (101). An exemplary operation of at least one electronic device within a system (101) executing a database changer (190) is described with reference to FIGS. 3a and 3b.

[0029] By using a database (130) separate from a neural network for generating natural language sentences, the system (101) can improve the quality (e.g., accuracy, and / or volume) of a response message (160) generated by the system (101) simply by updating the database (130) without training the neural network. For example, the system (101) can periodically or repeatedly store raw data (170) (e.g., notes, emails, images, videos, and / or sounds collected from the Internet or specified by a user) in the database (130). To store the raw data (170) in the database (130), the system (101) can execute a software application, such as a data preprocessor (180). Based on the execution of the data preprocessor (180), the system (101) can acquire or generate attributes (or metadata) of the raw data (170) to be stored in the database (130) together with the raw data (170). An exemplary operation of at least one electronic device within the system (101) executing the data preprocessor (180) is described with reference to FIG. 4.

[0030] Since the response message generator (150) is trained to output user-friendly natural language sentences, hallucinations may occur. Hallucinations may occur when information contained in a response message (160) output from a neural network (e.g., the neural network of the response message generator (150)) is inaccurate. To reduce hallucinations, the system (101) may at least partially include a RAG pattern structure.

[0031] An exemplary operation of at least one electronic device within the system (101) in response to a user's (110) input, such as a natural language sentence (120), based on the execution of the response message generator (150), is described with reference to FIG. 5 . In preparation for various questions from the user (110), information may be accumulated in a database (130) by a data preprocessor (180) executed by at least one electronic device within the system (101). Since the database (130) stores the information together with the source of the information (e.g., the creator of the information and / or the network address where the information is stored), the reliability of the response message (160) may be explicitly assessed. For example, using the explicitly assessed reliability, the operator of the system (101) may take action to reduce the hallucination phenomenon. For example, the probability of occurrence of hallucinations can be reduced by at least partially changing the database (130) without changing the neural network of the response message generator (150).

[0032] In one embodiment, while at least one electronic device included in the system (101) executes the data preprocessor (180), the size (or capacity) of the database (130) may increase. The system (101) may execute the database changer (190) to maintain or increase the quality of information stored in the database (130), while maintaining or reducing the size of the database (130). For example, by deleting useless or invalid information stored in the database (130), the probability of occurrence of hallucinations may be reduced or maintained.

[0033] Since the quality of information stored in the database (130) is increased or maintained, the system (101) can improve or maintain the quality of the response message (160) while reducing the resources (e.g., storage capacity) required to maintain the database (130). For example, the probability of occurrence of hallucinations may be reduced or maintained even though the amount of information stored in the database (130) is reduced or maintained.

[0034] As described above, according to one embodiment, the system (101) including the database (130) can periodically or repeatedly remove information from the database (130) to reduce or maintain the capacity of the database (130). The system (101) can execute the database changer (190) to determine whether to remove information from the database (130). Whether to remove information from the database (130) can be determined using a numerical value (e.g., a score) calculated using one or more attributes of the information. Before removing information from the database (130), the system (101) can ask the user (110) of the system (101) whether to maintain the information. If an input to maintain information is received from the user (110), the system (101) can maintain the information without removing it from the database (130). By using the user's (110) input for the above information and / or one or more of the above attributes, the system (101) can reduce the resources occupied by the database (130) while maintaining the quality of the response message (160) generated using the database (130).

[0035] Hereinafter, at least one electronic device included in the system (101) is exemplarily described with reference to FIGS. 2a and 2b.

[0036] Figures 2a and 2b illustrate examples of a system (101) for generating natural language sentences. The system (101) of Figure 1 may include at least one electronic device described with reference to Figures 2a and / or 2b.

[0037] Referring to FIG. 2A, according to one embodiment, the system (101) may include a server (201) and a user terminal (202), which are electronic devices. The server (201) and the user terminal (202) may be referred to as or referred to as electronic devices. While a single user terminal (202) is illustrated, the server (201) may communicate with multiple user terminals substantially simultaneously. Referring to FIG. 2B, the system (101) may include a single user terminal (202).

[0038] Referring to FIGS. 2A and / or 2B , exemplary appearances of a user terminal (202) are illustrated. The user terminal (202) may have various form factors, such as a laptop PC (personal computer) (202-1), smartphones (e.g., a bar-type smartphone (202-2), a foldable-type smartphone (202-3), or a sliderable (or rollable) type smartphone (202-4)), a tablet PC (202-5), a head-mounted display (HMD) device (202-6), a headset (202-7) (or headphones), a ring (202-8), a watch (202-9), and other similar computing devices (not shown). The user terminal (202) may also be referred to as an electronic device, a mobile device, a user equipment (UE), a multi-function device, a portable communication device, and / or a handheld device. The form factor of the user terminal (202) is not limited to the exemplary form factors illustrated in FIG. 2A and / or FIG. 2B . For example, the user terminal (202) may be included as an electronic control unit (ECU) in a vehicle (e.g., an electric vehicle (EV)). The user terminal (202) may have a form factor that is wearable by a user, such as a headset (202-7), a ring (202-8), and / or a watch (202-9) having the appearance of a watch, or may have a form factor that is implantable on a body part of the user. Embodiments are not limited thereto, and the user terminal (202) may have a form factor of an earbud and / or an earphone.

[0039] Referring to FIG. 2A, according to one embodiment, a server (201) of a system (101) may include at least one of a processor (210-1), a memory (215-1), and a communication circuit (220-1). The processor (210-1), the memory (215-1), and the communication circuit (220-1) may be electrically and / or operably coupled with each other by electronic components such as a communication bus (202-1). Hereinafter, operably coupled electronic components may mean that a direct connection or an indirect connection is established between the electronic components, either wired or wireless, such that a second electronic component is controlled by a first electronic component among the electronic components. Although illustrated based on different blocks, the embodiment is not limited thereto, and some of the electronic components of FIG. 2A (e.g., at least a portion of the processor (210-1), the memory (215-1), and the communication circuit (220-1)) may be included in a single integrated circuit such as a system on a chip (SoC). The type and / or number of electronic components included in the server (201) is not limited to that illustrated in FIG. 2A. For example, the server (201) may include only some of the electronic components illustrated in FIG. 2A. One or more clusters in which a plurality of electronic devices are grouped may be referred to as a server (201).

[0040] Referring to FIG. 2A and / or FIG. 2B , according to one embodiment, a user terminal (202) may include at least one of a processor (210-2), a memory (215-2), a communication circuit (220-2), or a display (225). Similar to the server (201), the processor (210-2), the memory (215-2), and the communication circuit (220-2) may be electrically and / or operatively connected to each other by electronic components such as a communication bus (202-2). In the present disclosure, among the descriptions of the processor (210-2), the memory (215-2), and the communication circuit (220-2) of the user terminal (202), any descriptions that overlap with those of the processor (210-1), the memory (215-1), and the communication circuit (220-1) of the server (201) may be omitted.

[0041] According to one embodiment, a processor (e.g., processors 210-1 and 210-2) of an electronic device (e.g., server (201) and / or user terminal (202)) may include a circuit (e.g., processing circuit) for processing data based on one or more instructions. The circuit for processing data may include, for example, an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), and / or an application processor (AP). For example, the number of processors may be one or more. A processing circuit of a processor that loads (or fetches) an instruction and performs a calculation corresponding to the loaded instruction may be referred to as, or may be referred to as, a core circuit (or core). For example, the processor may have a multi-core processor architecture that includes multiple core circuits, such as dual core, quad core, hexa core, or octa core. The functions and / or operations described with reference to the present disclosure may be collectively performed by one or more processing circuits included in the processor.

[0042] According to one embodiment, a memory (e.g., memories (215-1, 215-2)) of an electronic device (e.g., server (201) and / or user terminal (202)) may include a circuit for storing data and / or instructions input and / or output to a processor (e.g., processors (210-1, 210-2)). The memory may include, for example, volatile memory such as random-access memory (RAM) and / or non-volatile memory such as read-only memory (ROM). The non-volatile memory may be referred to as storage. The volatile memory may include, for example, at least one of dynamic RAM (DRAM), static RAM (SRAM), cache RAM, and pseudo SRAM (PSRAM). The non-volatile memory may include, for example, at least one of a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a flash memory, a hard disk, a compact disc, a solid state drive (SSD), and an embedded multimedia card (eMMC). The processor of the electronic device may execute instructions in the memory within the electronic device to perform functions and / or operations indicated by the instructions.

[0043] According to one embodiment, a communication circuit (e.g., communication circuits 220-1, 220-2) of an electronic device (e.g., a server (201) and / or a user terminal (202)) may include hardware for supporting transmission and / or reception of electrical signals between the electronic device and an external electronic device. The communication circuit may include, for example, at least one of a modem (modulator and demodulator (MODEM)), an antenna, and an optical / electronic (O / E) converter. The communication circuit may support transmission and / or reception of electrical signals based on various types of protocols, such as Ethernet, a local area network (LAN), a wide area network (WAN), wireless fidelity (WiFi), near field communication (NFC), Bluetooth, Bluetooth low energy (BLE), ZigBee, long term evolution (LTE), fifth generation (5G) new radio (NR), sixth generation (6G), and / or above-6G.

[0044] Referring to FIG. 2A and / or FIG. 2B, the user terminal (202) may further include a display (225). The embodiment is not limited thereto, and the display (225) may be omitted depending on the form factor of the user terminal (202). The display (225) of an electronic device (e.g., server (201) and / or user terminal (202)) may output visualized information to the user. For example, the display (225) may be controlled by a controller such as a graphic processing unit (GPU) and / or a processor (210-2) to output visualized information to the user. The display (225) may include a liquid crystal display (LCD), a plasma display panel (PDP), and / or one or more light emitting diodes (LEDs). The LEDs may include organic LEDs (OLEDs). The display (225) may include a flat panel display (FPD) and / or electronic paper. The embodiment is not limited thereto, and the display (225) may have an at least partially curved shape or a deformable shape. A display (225) having a deformable shape may be referred to as a flexible display.

[0045] In one embodiment, the user terminal (202) may include a sensor (e.g., a touch sensor panel (TSP)) for detecting an external object (e.g., a user's finger) on the display (225). For example, using the TSP, the user terminal (202) may detect an external object that is in contact with the display (225) or floating on the display (225). In response to detecting the external object, the user terminal (202) may execute a function associated with a specific visual object among visual objects displayed within the display (225) that corresponds to a location of the external object on the display (225).

[0046] Although not illustrated, in one embodiment, the user terminal (202) may include output means for outputting information in a form other than a visualized form. For example, the user terminal (202) may include a speaker for outputting an acoustic signal. For example, the user terminal (202) may include a motor for providing haptic feedback based on vibration.

[0047] In one embodiment, one or more instructions (or commands) representing operations and / or actions to be performed on data by a processor (e.g., processors 210-1, 210-2) may be stored in a memory (e.g., memories 215-1, 215-2) of an electronic device (e.g., server 201 and / or user terminal 202). A set of one or more instructions may be referred to as firmware, an operating system, a process, a routine, a sub-routine, a program, and / or a software application (hereinafter, referred to as an application). For example, the electronic device and / or the processor may perform at least one of the operations of FIGS. 4 to 7 when a set of a plurality of instructions distributed in the form of an operating system, firmware, a driver, and / or an application is executed. Hereinafter, the fact that an application is installed on an electronic device may mean that one or more instructions provided in the form of an application are stored in the memory of the electronic device, and that the one or more applications are stored in a format executable by the processor of the electronic device (e.g., a file with an extension specified by the operating system of the electronic device).

[0048] Referring to FIG. 2a, a database (130) and a database changer (190) installed in a memory (215-1) of a server (201) are exemplarily illustrated. The data preprocessor (180) of FIG. 1 may be installed in the memory (215-1) of the server (201). In one embodiment of FIG. 2a, the response message generator (150) of FIG. 1 may be installed in the memory (215-2) of a user terminal (202). Referring to FIG. 2b, a database (130) and a database changer (190) may be installed in a single user terminal (202). The data preprocessor (180) of FIG. 1 and / or the response message generator (150) of FIG. 1 may further be installed in the user terminal (202) of FIG. 2b.

[0049] In one embodiment, a database (DB) (130) may include at least one of a set of systematized information or one or more applications that manage the information to be shared among independent applications running within an electronic device (e.g., a server (201) and / or a user terminal (202)) and / or a plurality of electronic devices including the electronic device. In the set of information, different pieces of information may be combined with each other based on units such as types, columns, records, and / or tables. The combination of information may be used to add, delete, update, and search information within the database (130). For example, when the electronic device is searching for information satisfying a specified condition, the electronic device may further identify information satisfying the condition and other information (e.g., attributes) combined with the information using the database (130).

[0050] In one embodiment, the information stored in the database (130) may be used to generate a response message to a user's question based on natural language. In one embodiment of FIG. 2A, the processor (210-2) of the user terminal (202) may control the communication circuit (220-2) to transmit, to the server (201), at least one prompt sentence detected based on a touch input (or audio input including utterance) on the display (225). The processor (210-1) of the server (201) may receive at least one prompt sentence from the user terminal (202) via the communication circuit (220-1). The processor (210-1) may generate a response message corresponding to the received at least one prompt sentence using the database (130) stored in the memory (215-1) (or storage). The processor (210-1) can transmit information used to display the generated response message to the user terminal (202) via the communication circuit (220-1). The processor (210-2) of the user terminal (202) can control the display (225) to display at least a portion of the information in response to the information received via the communication circuit (220-2), or can output an audio signal expressing at least a portion of the information through a speaker.

[0051] In one embodiment of FIG. 2B, the processor (210-2) of the user terminal (202) may detect a request to generate a natural language sentence for at least one prompt sentence based on a touch input (or an audio input including an utterance) on the display (225). In response to the request, the processor (210-2) may generate a response message corresponding to the at least one prompt sentence using the database (130) in which information is accumulated. The processor (210-2) may control the display (225) to display the generated response message. In one embodiment of FIG. 2B in which the database (130) is stored in the user terminal (202), since the memory (215-2) of the user terminal (202) has a finite size, the size of the database (130) may also be required to be maintained within a range smaller than or equal to the size of the memory (215-2).

[0052] In one embodiment, to adjust the size of the database (130), information stored in the database (130) may include one or more attributes that are used to determine whether to remove the information. For example, a record corresponding to specific information within the database (130) may include at least one of the exemplary attributes of Table 1.

[0053] Attribute Description Identifier A value (e.g., primary key, and / or index value) for distinguishing information within a database (130) A vector score corresponding to the information, determined using vectorization for a vector space related to vector meaning and / or similarity A numerical value corresponding to the information, calculated based on the execution of a database modifier (190) A tag (or label) A flag value (e.g., a boolean value) indicating whether an input for blocking the removal of information has been received Information Input Time A timestamp indicating the time at which the information was stored in the database (130) Information Fetch Time A timestamp indicating the time at which the information was loaded (or fetched) from the database (130) for the generation of a response message Information Fetch Frequency A numerical value indicating the frequency at which the information was loaded from the database (130) for the generation of a response message (e.g., the number of times the information was loaded from the database (130) within a time interval of a specified size) Information Change Frequency A numerical value indicating the frequency at which the information was changed Positive Feedback Positive feedback for a response message generated using the information Data indicating the number of times negative feedback was received for a response message generated using negative feedback information. Size of the data size information (e.g., a numeric value expressed in bytes).

[0054] Referring to Table 1, a vector may include multiple elements related to the meaning and / or similarity of a natural language sentence included in the information of Table 1. Referring to Table 1, a score may indicate whether information corresponding to the score is to be removed. Referring to Table 1, a tag may indicate whether an input prohibiting the removal of information corresponding to the tag is received. At least one of the properties of Table 1 may be adjusted based on the execution of the database changer (190). Hereinafter, an exemplary operation in which at least one property of the database (130) is changed based on the execution of the database changer (190) is described with reference to FIG. 3A and / or FIG. 3B.

[0055] FIGS. 3A and 3B illustrate exemplary operations of a database changer (190) executed to manage a database (130). The system (101) of FIG. 1 and / or the electronic device (e.g., server (201) and / or user terminal (202)) described with reference to FIGS. 2A and 2B may perform the operations described with reference to FIGS. 3A and 3B. The database (130) and the database changer (190) of FIG. 1 may include the database (130) and the database changer (190) of FIGS. 3A and 3B.

[0056] Referring to FIG. 3A, according to one embodiment, a database changer (190) executed by an electronic device may include, depending on supported functions and / or sub-routines, at least one of a forget score generator (320), an event classifier (330), a forget determiner (340), and / or a forget function executor (350). By executing the database changer (190), the electronic device may remove at least a portion of the information stored in the database (130).

[0057] The event classifier (330) may be executed to detect events generated by the database controller (310) and related to the database (130). The electronic device executing the event classifier (330) may use the detected events to invoke and / or call at least one of different sub-routines and / or processes included in the database modifier (190) (e.g., the forget score generator (320), the forget determiner (340), and / or the forget function executor (350)).

[0058] For example, when an event occurs in which information in a database (130) is added or changed, an electronic device executing a database controller (310) of the database (130) may execute an event classifier (330) using the detected event. For example, an electronic device that detects at least one of an incoming event of the database (130) for adding information, an outcoming event for outputting information from the database (130), and / or an update event for updating information in the database (130) may execute the event classifier (330).

[0059] Based on the execution of the event classifier (330), the electronic device may call or execute other subroutines and / or processes included in the database modifier (190). For example, an electronic device that detects an incoming event, a withdrawal event, and / or an update event may execute a forgetting score generator (320). The electronic device that executes the forgetting score generator (320) may adjust at least one of the attributes of the information stored in the database (130), or may calculate or determine, using the attributes, a score (e.g., a forgetting score) indicating whether to remove the information. The score in Table 1 may be an example of the score calculated to indicate whether to remove the information. An electronic device running the forgetting score generator (320) can change the score, as well as one or more attributes used to calculate the score (e.g., at least one of information ingestion time, information retrieval time, information retrieval frequency, information change frequency, feedback data, and / or size), within a record corresponding to specific information in the database.

[0060] In one embodiment, a score assigned to information in the database (130) based on the execution of the forgetting score generator (320) may indicate a rate and / or a period of time at which the information is deleted from the database (130). For example, as the score increases, the probability that information corresponding to the score will be removed from the database (130) may increase. To calculate a score using attributes associated with the information (e.g., the attributes of Table 1), the forgetting score generator (320) may include instructions representing a function associated with at least one of the attributes. The embodiment is not limited thereto, and the forgetting score generator (320) may be configured to utilize a neural network trained to calculate a score from attributes corresponding to the information.

[0061] In one embodiment, while the database controller (310) of the database (130) is running, the electronic device may generate an event to trigger a specific function of the database changer (190) (e.g., a forgetting decision unit (340) and / or a forgetting function executor (350)). The event may be generated at a time point scheduled by the database controller (310) (e.g., a plurality of time points having a specified period). The electronic device executing the database controller (310) may determine whether to generate the event by using a state of the electronic device executing the database changer (190) (e.g., at least one of a state of charge (SOC) of a battery included in the electronic device, a temperature, and / or a capacity of a memory included in the electronic device). For example, the electronic device may refrain from generating the event when the SOC of the battery of the electronic device is below a specified SOC, or within a specified state for limiting power consumption of the electronic device, such as a low power state. For example, if the available space of the non-volatile memory of the electronic device (e.g., memory (215-2) of FIG. 2A) decreases below a specified threshold, the electronic device may generate the above event. For example, if the size of the database (130) exceeds a specified threshold, the electronic device may generate the above event.

[0062] An electronic device that detects an event related to a forgetting decision unit (340) using an event classifier (330) can execute the forgetting decision unit (340). The forgetting decision unit (340) can determine whether to remove information stored in the database (130). While the forgetting decision unit (340) is executing, the electronic device can extract information to be removed from the database (130) by comparing scores included in all records of the database (130) with a specified threshold. For example, information related to a record that includes a score exceeding a specified threshold can be determined as information to be removed from the database (130) by the electronic device executing the forgetting decision unit (340). In the above example, the electronic device can assign a specified attribute (or a specified value) indicating removal of information to the record.

[0063] An electronic device that detects an event related to a forget function executor (350) using an event classifier (330) can execute the forget function executor (350). While the forget function executor (350) is executing, the electronic device can search for one or more records having a designated attribute (e.g., a designated attribute indicating removal of information) assigned based on the execution of the forget determiner (340) among all records of the database (130). The electronic device can remove information corresponding to one or more of the searched records from the database (130). Along with the removal of information, the electronic device can remove a record corresponding to the removed information from the database (130).

[0064] As described above, using the event classifier (330), any one of the different functions of the database modifier (190) can be selectively executed. The event classifier (330) can route events generated by the database controller (310) to different processes of the database modifier (190), e.g., processes corresponding to the forget score generator (320), the forget decider (340), and / or the forget function executor (350).

[0065] Referring to FIG. 3B, the operations performed by an electronic device that detects different events are described. The electronic device that identifies a query (e.g., a string in the format of a structured query language (SQL)) for storing data in a database (130) may generate a data entry event (362) based on the execution of the database controller (310). The electronic device that detects the data entry event (362) based on the execution of the event classifier (330) may use the forgetting score generator (320) to set attributes of data corresponding to the query (e.g., the information entry point, identifier, vector, and / or size of Table 1).

[0066] For example, an electronic device that identifies a query for retrieving information from a database (130) may generate a data output event (364) based on the execution of a database controller (310). An electronic device that detects a data output event (364) based on the execution of an event classifier (330) may use a forgetting score generator (320) to set or change properties of information corresponding to the query (e.g., information retrieval time and / or information change frequency in Table 1).

[0067] For example, an electronic device that identifies a query for updating information in a database (130) may generate a data change event (366) based on the execution of a database controller (310). An electronic device that detects a data change event (366) based on the execution of an event classifier (330) may set or change an attribute of information corresponding to the query (e.g., information change frequency in Table 1) using a forgetting score generator (320).

[0068] For example, an electronic device that identifies a scheduled event scheduled to calculate a score indicating whether to remove information may generate a score calculation event (372) based on the execution of a database controller (310). In response to the occurrence of the score calculation event (372) detected using an event classifier (330), the electronic device may execute a forgetting determiner (340). With the forgetting determiner (340) executing, the electronic device may calculate or determine a score of information stored in a database using at least one of the attributes associated with the information (e.g., the attributes of Table 1). The score calculation event (372) may be generated periodically by the database controller (310) or may be generated repeatedly.

[0069] For example, an electronic device that identifies another scheduled event scheduled to remove information from a database (130) may generate a forget execution event (374) based on the execution of a database controller (310). In response to the occurrence of the forget execution event (374), the electronic device may execute a forget function executor (350). While the forget function executor (350) is executing, the electronic device may detect, among the records of the database (130), a record having a score exceeding a score specified by the forget determiner (340).

[0070] An electronic device that detects at least one record having a score exceeding a specified score may remove the at least one record and / or information corresponding to the at least one record from the database (130). By removing at least a portion of the information stored in the database (130) using the forget function executor (350), the electronic device may reduce the size of the database (130). The forget execution event (374) may be generated at a time that is linked to the time at which the score calculation event (372) is generated. The forget execution event (374) may be generated periodically or repeatedly by the database controller (310).

[0071] FIG. 4 illustrates exemplary operations of an electronic device (e.g., a server (201) of FIG. 2A and / or FIG. 2B and / or a user terminal (202)) that inputs information into a database (e.g., a database (130) of FIG. 1) provided for generating natural language sentences. In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. According to one embodiment, a processor of the electronic device (e.g., at least one of the processors (210-1, 210-2) of FIG. 2A and / or FIG. 2B) may perform the operations described with reference to FIG. 4. The operations described with reference to FIG. 4 may be performed based on the execution of the data preprocessor (180) of FIG. 1.

[0072] Referring to FIG. 4, in operation (410), according to one embodiment, a processor of an electronic device may identify raw data (e.g., raw data (170) of FIG. 1). The raw data of operation (410) may be obtained by an electronic device executing a software application (e.g., a crawler) for obtaining information from the Internet. The raw data of operation (410) may include text based on natural language, such as a document file. The raw data of operation (410) may include natural language expressed by images and / or videos. The raw data of operation (410) may include natural language extracted from an audio signal based on speech-to-text (STT).

[0073] Referring to FIG. 4, in operation (420), according to one embodiment, a processor of an electronic device may perform preprocessing on raw data. The preprocessing may include an operation of obtaining information related to natural language (or text) included in the raw data. For example, the electronic device may perform vectorization on the raw data of operation (410) to calculate or determine elements of vectors in a vector space related to natural language included in the raw data. The preprocessing may include an operation of determining one or more attributes to be included in a record corresponding to the raw data in a database in order to create the record.

[0074] Referring to FIG. 4, in operation (430), according to one embodiment, a processor of an electronic device may input preprocessed raw data into a database. The electronic device performing operation (430) may add or insert a record corresponding to the raw data of operation (410) into the database. Based on operation (430), a record including exemplary properties of Table 1 and linked to the raw data of operation (410) may be created in the database. The record may include an information input time indicating a point in time when the raw data was added based on operation (430). The record may include properties determined based on the preprocessing of operation (420).

[0075] The operations described with reference to FIG. 4 may be performed periodically (or continuously) to manage a database. Using the database managed based on the operations of FIG. 4, an electronic device may generate a response message corresponding to a natural language sentence (e.g., a prompt sentence) received from a user. Hereinafter, with reference to FIG. 5, exemplary operations for generating a response message by an electronic device and / or a system including the electronic device according to one embodiment are described.

[0076] FIG. 5 illustrates exemplary operations of an electronic device (e.g., the server (201) of FIG. 2A and / or FIG. 2B and / or the user terminal (202)) that display one or more natural language sentences corresponding to a user input. In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. According to one embodiment, a processor of the electronic device (e.g., at least one of the processors (210-1, 210-2) of FIG. 2A and / or FIG. 2B) may perform the operations described with reference to FIG. 5. The operations described with reference to FIG. 5 may be performed based on the execution of the response message generator (150) of FIG. 1.

[0077] Referring to FIG. 5, in operation (510), according to one embodiment, a processor of an electronic device may receive at least one prompt sentence from a user (e.g., user (110) of FIG. 1). For example, using a software keyboard displayed on a display (225) of FIG. 2A and / or FIG. 2B , the electronic device may obtain at least one prompt sentence from the user. For example, using an audio signal received through a microphone of the user terminal (202) of FIG. 2A and / or FIG. 2B , the electronic device may detect a user utterance that includes at least one prompt sentence.

[0078] Referring to FIG. 5, within operation (520), according to one embodiment, a processor of an electronic device may generate one or more natural language sentences corresponding to at least one prompt sentence within operation (510) using at least one prompt sentence and a database (e.g., database (130) of FIG. 1). For example, using a neural network trained to reference information stored in the database of operation (520), the electronic device may generate a response message (e.g., response message (160) of FIG. 1) corresponding to at least one prompt sentence of operation (510).

[0079] For example, the electronic device may use at least one prompt sentence of operation (510) to obtain information related to the at least one prompt sentence from the database. Instead of inputting all information in the database into the neural network, the electronic device may (selectively) input information in the database related to the at least one prompt sentence into the neural network. When generating a response message of operation (520), the electronic device may change a property in the database corresponding to information related to the response message (e.g., information used to generate the response message). For example, the electronic device may change at least one of the information retrieval time and / or information change frequency of Table 1. In the above example, since information is retrieved from the database, the information change frequency may be increased, and the information retrieval time may be updated to the current time (or the last time information was retrieved from the database).

[0080] Referring to FIG. 5, in operation (530), according to one embodiment, a processor of an electronic device may provide one or more generated natural language sentences. The electronic device may perform text-to-speech (TTS) to generate or output an audio signal including an utterance expressing one or more natural language sentences of operation (530). If the electronic device of FIG. 5 is the server (201) of FIG. 2A, the electronic device may transmit the audio signal to the user terminal (202) of FIG. 2A. If the electronic device of FIG. 5 is the user terminal (202) of FIG. 2A and / or FIG. 2B, the electronic device may output the audio signal through a speaker. The one or more natural language sentences of operation (530) may be referred to as a response message (e.g., response message (160) of FIG. 1).

[0081] Referring to FIG. 5 , a user terminal (202), which is an exemplary electronic device performing operation (530), is illustrated. The user terminal (202) may display a screen including a response message on a display (225). Referring to FIG. 5 , the user terminal (202) may display a visual object (550) including at least one prompt sentence of operation (510). Within the exemplary screen of FIG. 5 , the user terminal (202) may display, along a vertical direction of the display (225), a visual object (560) including one or more natural language sentences of operation (530) after the visual object (550). The visual objects (550, 560) may be referred to as bubbles including text based on natural language. The user terminal (202) may display, within the display (225), a visual object (540) for receiving a speech and / or text from a user. For example, in response to an input (e.g., a click and / or tap gesture) associated with a visual object (540), the user terminal (202) may activate a microphone to acquire the utterance. Using an audio signal output from the activated microphone, the user terminal (202) may receive or detect at least one prompt sentence.

[0082] Referring to FIG. 5, the user terminal (202) may display at least one visual object (e.g., icons (571, 572)) related to feedback within the screen. An embodiment in which icons (571, 572) for obtaining feedback are displayed within the visual object (560) is illustrated, but the embodiment is not limited thereto. In response to an input related to at least one of the icons (571, 572), the user terminal (202) may change an attribute of information (e.g., feedback data of Table 1) used for generating a response message included in the visual object (560). For example, in response to an input related to an icon (571) for receiving positive feedback for a response message, the user terminal (202) may change an attribute of information related to the response message so as to reduce the probability that the information will be removed from the database. For example, in response to an input associated with an icon (572) for receiving negative feedback on a response message, the user terminal (202) may change an attribute of information associated with the response message such that the probability of the information being removed from the database increases.

[0083] As described above, according to one embodiment, the electronic device can generate or output a response message corresponding to a user's natural language input using a database. Below, exemplary operations of the electronic device for removing information from a database are described with reference to FIGS. 6 through 8.

[0084] FIG. 6 illustrates exemplary operations of an electronic device (e.g., the server (201) of FIG. 2A and / or FIG. 2B and / or the user terminal (202)) that adjusts properties of information stored in a database (e.g., the database (130) of FIG. 1). In the embodiments below, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. According to one embodiment, a processor of the electronic device (e.g., at least one of the processors (210-1, 210-2) of FIG. 2A and / or FIG. 2B) may perform the operations described with reference to FIG. 6. The operations described with reference to FIG. 6 may be performed based on the execution of the database changer (190) of FIG. 1.

[0085] Referring to FIG. 6, in operation (610), according to one embodiment, a processor of an electronic device may detect the occurrence of an event for calculating a score (e.g., a score of Table 1) used to remove information stored in a database. The event of operation (610) may occur periodically based on the execution of a program (e.g., a database controller (310) of FIG. 3A and / or FIG. 3B) executed for managing a database. The event of operation (610) may be detected based on the execution of an event classifier (330) of FIG. 3A and / or FIG. 3B. For example, operation (610) may be performed by a processor that executes the event classifier (330) of FIG. 3A and / or FIG. 3B. The event of operation (610) may include a score calculation event (372) of FIG. 3B.

[0086] Referring to FIG. 6, in operation (620), a processor of an electronic device according to an embodiment may calculate a score using at least one attribute stored in a database. The processor may calculate a score for each record stored in the database. The processor may perform operation (620) based on the execution of the forgetting score generator (320) of FIG. 3A. The score of operation (620) may be referred to as a forgetting score. For a specific record, the processor may calculate the score of operation (620) using at least one of the information inlet time, information retrieval time, information retrieval frequency, information change frequency, and / or feedback data of Table 1.

[0087] For example, the score of operation (620) may be related to the freshness of the information. For example, the score may have a higher value as the difference between the information ingestion time and the current time increases. The score may also increase as the period of time for which information has been stored in the database increases.

[0088] For example, the score of operation (620) may be related to the recency of the information. For example, the score may have a higher value as the difference between the time of information retrieval and the current time increases. The score may also increase as the period between the last time information was retrieved from the database and the current time increases.

[0089] For example, the score of operation (620) may be related to the frequency with which information is used. For example, the score may have a higher value when information is retrieved less frequently. The score may be lower when information is used more frequently to generate response messages.

[0090] For example, the score of an action (620) may be related to whether the information is suitable for long-term storage (e.g., relevance). For example, the score may be lower if the category of the information corresponds to a designated category (e.g., a designated category for classifying information to be stored in a database for a relatively long period of time).

[0091] For example, the score of an action (620) may be related to the volatility of the information. For example, the score may have a higher value as the frequency of information changes. The score may be lower as the information is maintained more stably within the database.

[0092] For example, the score of an action (620) may be related to the usability of the information. For example, the score may have a high value if the feedback data is associated with negative feedback. If negative feedback is received for a response message generated using the information (e.g., if an input related to icon (572) of FIG. 5 is received), the score may be increased. If positive feedback is received for a response message generated using the information (e.g., if an input related to icon (571) of FIG. 5 is received), the score may be decreased.

[0093] For example, the score of an action (620) may be related to the complexity of the information. For example, the score may increase as the size of the corresponding information increases (e.g., when the size exceeds a specified threshold).

[0094] The score calculated by performing operation (620) may be stored in a database. For example, the score may be stored in a record linked to information corresponding to the score.

[0095] Referring to FIG. 6, in operation (630), a processor of an electronic device according to an embodiment may assign a value indicating whether to remove information corresponding to a score based on whether the calculated score exceeds a specified threshold. The value of operation (630) may include a flag value indicating whether to remove information. The processor may perform operation (630) based on the execution of the forgetting determiner (340) of FIG. 3A. The value of operation (630) may be used to display a screen for confirming whether to remove information when removing information using the forgetting function executor (350) of FIG. 3A.

[0096] As described above, according to one embodiment, an electronic device (e.g., the server 201 and / or the user terminal 202 of FIGS. 2A and 2B ) may determine whether to remove a database by using at least one attribute of the database. The at least one attribute may include at least one of a first time point when information is input into the database, a second time point when the information is used to generate a response message, a frequency with which the information is used to generate a response message, or feedback data for a response message generated using the information. The electronic device may calculate a score by using at least one of the first time point, the second time point, the frequency, or the feedback data. By comparing a score related to at least one of the first time point, the second time point, the frequency, or the feedback data with a specified threshold, the electronic device may determine whether to display information in the database corresponding to the score on a screen for confirming information to be removed from the database.

[0097] FIG. 7 illustrates exemplary operations of an electronic device (e.g., the server (201) of FIG. 2A and / or FIG. 2B and / or the user terminal (202)) performed to remove information stored in a database (e.g., the database (130) of FIG. 1). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. According to one embodiment, a processor of the electronic device (e.g., at least one of the processors (210-1, 210-2) of FIG. 2A and / or FIG. 2B) may perform the operations described with reference to FIG. 7. The operations described with reference to FIG. 7 may be performed based on the execution of the database changer (190) of FIG. 1.

[0098] Referring to FIG. 7, in operation (710), according to one embodiment, a processor of an electronic device may detect the occurrence of an event for executing a function of removing information stored in a database. The event of operation (710) may occur periodically based on the execution of a program (e.g., database controller (310) of FIG. 3A and / or FIG. 3B) executed to manage a database. The event of operation (710) may be detected based on the execution of the event classifier (330) of FIG. 3A and / or FIG. 3B. For example, operation (710) may be performed by a processor that executes the event classifier (330) of FIG. 3A and / or FIG. 3B. The event of operation (710) may include a forget execution event (374) of FIG. 3B.

[0099] Referring to FIG. 7, in operation (720), according to one embodiment, a processor of an electronic device may retrieve information from a database that matches a specified value indicating removal of information. The specified value of operation (720) may include a value indicating whether to remove the information of operation (630) of FIG. 6. The processor may retrieve information from the database that has a score exceeding a specified threshold. In operation (720), the processor may use at least one attribute of the database to retrieve information suitable for removal from the database. In one embodiment, the processor may perform operation (720) to display a screen for confirming information to be removed from the database. Using at least one attribute of the database, the processor may determine at least a portion of the information in the database to be displayed on the screen.

[0100] Referring to FIG. 7, in operation (730), according to one embodiment, the processor of the electronic device may provide a screen for confirming whether to remove the information searched based on operation (720). If the event of FIG. 7 is detected at a time scheduled to adjust the size of the database, in operation (730), the processor may control a display (e.g., display (225) of FIG. 2A and / or FIG. 2B) to display the screen. An exemplary operation of the processor controlling the display to display the screen of operation (730) is described with reference to FIG. 8.

[0101] Referring to FIG. 7, while providing a screen of operation (730), within operation (740), a processor of an electronic device according to one embodiment may identify or determine whether a first input for removing information has been received. The first input may be associated with a visual object included in the screen. Based on receiving the first input (740—Yes), the processor may perform operation (750). Prior to receiving the first input, or if the first input is not received (740—No), the processor may perform operation (760).

[0102] Referring to FIG. 7, in operation (750), according to one embodiment, the processor of the electronic device may remove information retrieved based on operation (720) from the database. Because the information is removed from the database, the size of the database (e.g., the size of data occupying memory) may be reduced. Because the size of the database is reduced, resources of the electronic device required to maintain the database may be reduced. For example, the electronic device may store other information in the free space of the memory (e.g., storage) acquired by the database with the reduced size.

[0103] Referring to FIG. 7, within operation (760), the processor of the electronic device according to one embodiment may identify or determine whether a second input for maintaining information has been received. The second input may be associated with a different visual object within the screen of operation (730) than the visual object associated with the first input. Based on receiving the second input (760 - Yes), the processor may perform operation (770). In a state where neither the first input nor the second input is received (760 - No), the processor may continue to provide the screen of operation (730).

[0104] Referring to FIG. 7, in operation (770), according to one embodiment, a processor of an electronic device may assign a value related to a second input to the retrieved information. For example, the processor may assign a value of operation (770) to information corresponding to the second input. The value of operation (770) may be a value assigned to an attribute referred to as a tag in Table 1, and may be assigned to prevent the information from being removed. In operation (770), in order to maintain the information corresponding to the second input independently from the removal of operation (750), the processor may store a designated value for maintaining the information in a database in conjunction with the information. The second input of operation (770) may be referred to as an input for labeling or tagging the information to prevent removal. The value assigned to specific information based on operation (770) may prevent the specific information from being retrieved by operation (720) when operation (720) of FIG. 7 is performed again after operation (770).

[0105] Below, with reference to FIG. 8, an exemplary operation of an electronic device providing a screen of operation (730) is described.

[0106] FIG. 8 illustrates an exemplary screen of an electronic device (e.g., a user terminal (202) of FIG. 2A and / or FIG. 2B) displayed while removing information stored in a database (e.g., a database (130) of FIG. 1). According to one embodiment, a processor of the user terminal (e.g., a processor (210-2) of FIG. 2A and / or FIG. 2B) may perform an operation described with reference to FIG. 8. The user terminal (202) and the display (225) of FIG. 2A and FIG. 2B may include the user terminal (202) and the display (225) of FIG. 8. The operation described with reference to FIG. 8 may be performed based on the execution of the database changer (190) of FIG. 1. The operation described with reference to FIG. 8 may be related to the operation of the electronic device described with reference to FIG. 7.

[0107] Referring to FIG. 8, an exemplary screen displayed on a display (225) of a user terminal (202) is illustrated. The user terminal (202) may perform operation (730) of FIG. 7 to display the screen of FIG. 8. The user terminal (202) may display the screen of FIG. 8 before deleting information from a database stored in the user terminal (202) or stored in a server connected to the user terminal (202) (e.g., server (201) of FIG. 2A and / or FIG. 2B).

[0108] Referring to FIG. 8, the user terminal (202) may display a screen including a list of information to be removed from a database. In a vertically scrollable region (805) of the display (225), the user terminal (202) may display one or more visual objects (e.g., visual objects (810, 820, 830)) representing information to be removed from the database. The visual objects displayed in the region (805) may be referred to as card objects and / or item objects. Within the screen displayed on the display (225), the user terminal (202) may display a visual object (840) for receiving an input (e.g., a first input of operation (740) of FIG. 7) for removing information related to a list provided through the screen from the database. Although a visual object (840) having the form of a button including designated text (e.g., “Remove”) is illustrated as an example, the embodiment is not limited thereto.

[0109] In one embodiment, in response to an input indicating selection of a visual object (840) (e.g., an input including a click and / or a tap gesture), the user terminal (202) may remove at least a portion of information within the database. For example, in an exemplary state where a screen is displayed including visual objects (810, 820, 830) corresponding to different records of the database, the user terminal (202) receiving the input may remove records corresponding to each of the visual objects (810, 820, 830) from the database.

[0110] Referring to FIG. 8, each of the visual objects (810, 820, 830) corresponding to different records of the database may include text representing (or summarizing) information related to the corresponding record. For example, the user terminal (202) may display, within the visual object (810) associated with the first record, a name assigned to the first information related to the first record (e.g., “Manual-Earbuds”). The user terminal (202) may further display, within the visual object (810), text representing at least one attribute included in the first record (e.g., the time of information input, such as “collected on 2023.12.01”). The user terminal (202) may display, within the visual object (810), a visual object (815) for receiving an input for maintaining the first information corresponding to the first record (e.g., the second input of the operation (760) of FIG. 7). A visual object (815) having the form of a button containing specified text (e.g., "Keep") is depicted, but the embodiment is not limited thereto.

[0111] Referring to the exemplary screen of FIG. 8, the user terminal (202) may display, within a visual object (820) related to the second record, text indicating the name of the second information related to the second record (e.g., “Web Dictionary-Invention”) and at least one attribute included in the second record (e.g., the time of information input, such as “collected on 2023.11.30”). The user terminal (202) may display, within the visual object (820), a visual object (825) configured to receive an input for maintaining the second information.

[0112] Referring to the exemplary screen of FIG. 8, the user terminal (202) may display, within a visual object (830) related to a third record, a text indicating a name of third information corresponding to the third record (e.g., “video-phone unpack”) and at least one attribute of the third record (e.g., a time point of information input, such as “collected on 2023.10.21”). The user terminal (202) may display, within the visual object (830), a visual object (835) mapped to an input for maintaining the third information. For example, within the screen of FIG. 8, the user terminal (202) may display at least one visual object (e.g., visual objects (815, 825, 835)) for receiving an input indicating a prohibition of removing information displayed through the screen.

[0113] In one embodiment, the first to third records corresponding to the visual objects (810, 820, 830) may have scores exceeding a specified threshold. While displaying a list of information to be removed from the database using the visual objects (810, 820, 830), the user terminal (202) may receive an input for maintaining the information. For example, in response to an input indicating selection of the visual object (815) (e.g., an input including a click and / or a tap gesture on the visual object (815), the user terminal (202) may set or change an attribute (e.g., a tag of Table 1) of the first record corresponding to the visual object (815). For example, the user terminal (202) may assign a specified value to the attribute of the first record to prohibit removal of the first information corresponding to the first record. An input indicating a selection of a visual object (815) may be referred to as an input that prohibits the removal of a first record and / or first information related to the visual object (815). In response to the input indicating the selection of the visual object (815), the user terminal (202) may hide and / or remove the visual object (815) and the visual object (810) related to the first information within the screen.

[0114] In response to an input indicating a selection of a visual object (815), after assigning a designated value to a first record to prohibit the removal of the first information, the user terminal (202) may maintain the first information in the database until the designated value is removed from the first record. For example, when further receiving an input indicating the selection of a visual object (840), the user terminal (202) may remove the second information and the third information corresponding to the visual objects (820, 830) excluding the first information.

[0115] As described above, a system (e.g., system (101) of FIG. 1) may be provided, including a user terminal (202) and / or a server (e.g., server (201) of FIG. 2A and / or FIG. 2B), configured to respond to a natural language question of a user (e.g., user (110) of FIG. 1). In order to generate a response message to the natural language question (e.g., response message (160) of FIG. 1), the system may include a database in which information to be used in generating the response message is accumulated. In order to maintain or improve the quality of the response message while maintaining or reducing resources occupied by the database (e.g., capacity of non-volatile memory and / or size of the database), unnecessary information may be periodically removed from the database.

[0116] FIG. 9 is a block diagram of an electronic device (901) within a network environment (900) according to various embodiments. Referring to FIG. 9, in the network environment (900), the electronic device (901) may communicate with the electronic device (902) via a first network (998) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (904) or the server (908) via a second network (999) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (901) may communicate with the electronic device (904) via the server (908). According to one embodiment, the electronic device (901) may include a processor (920), a memory (930), an input module (950), an audio output module (955), a display module (960), an audio module (970), a sensor module (976), an interface (977), a connection terminal (978), a haptic module (979), a camera module (980), a power management module (988), a battery (989), a communication module (990), a subscriber identification module (996), or an antenna module (997). In some embodiments, the electronic device (901) may omit at least one of these components (e.g., the connection terminal (978)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (976), the camera module (980), or the antenna module (997)) may be integrated into one component (e.g., the display module (960)).

[0117] The processor (920) may, for example, execute software (e.g., a program (940)) to control at least one other component (e.g., a hardware or software component) of the electronic device (901) connected to the processor (920) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (920) may store commands or data received from other components (e.g., a sensor module (976) or a communication module (990)) in a volatile memory (932), process the commands or data stored in the volatile memory (932), and store result data in a non-volatile memory (934). According to one embodiment, the processor (920) may include a main processor (921) (e.g., a central processing unit or an application processor) or an auxiliary processor (923) (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 (921). For example, when the electronic device (901) includes the main processor (921) and the auxiliary processor (923), the auxiliary processor (923) may be configured to use less power than the main processor (921) or to be specialized for a given function. The auxiliary processor (923) may be implemented separately from the main processor (921) or as a part thereof.

[0118] The auxiliary processor (923) may control at least a portion of functions or states associated with at least one component (e.g., a display module (960), a sensor module (976), or a communication module (990)) of the electronic device (901), for example, on behalf of the main processor (921) while the main processor (921) is in an inactive (e.g., sleep) state, or together with the main processor (921) while the main processor (921) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (923) (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 (980) or a communication module (990)). In one embodiment, the auxiliary processor (923) (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 (901) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (908)). 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.

[0119] The memory (930) can store various data used by at least one component (e.g., the processor (920) or the sensor module (976)) of the electronic device (901). The data can include, for example, software (e.g., the program (940)) and input data or output data for commands related thereto. The memory (930) can include a volatile memory (932) or a non-volatile memory (934).

[0120] The program (940) may be stored as software in the memory (930) and may include, for example, an operating system (942), middleware (944), or an application (946).

[0121] The input module (950) can receive commands or data to be used in a component of the electronic device (901) (e.g., a processor (920)) from an external source (e.g., a user) of the electronic device (901). The input module (950) 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).

[0122] The audio output module (955) can output audio signals to the outside of the electronic device (901). The audio output module (955) 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.

[0123] The display module (960) can visually provide information to an external party (e.g., a user) of the electronic device (901). The display module (960) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (960) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0124] The audio module (970) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (970) can acquire sound through the input module (950), output sound through the sound output module (955), or an external electronic device (e.g., electronic device (902)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (901).

[0125] The sensor module (976) can detect the operating status (e.g., power or temperature) of the electronic device (901) 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 (976) 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.

[0126] The interface (977) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (901) with an external electronic device (e.g., the electronic device (902)). In one embodiment, the interface (977) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0127] The connection terminal (978) may include a connector through which the electronic device (901) may be physically connected to an external electronic device (e.g., the electronic device (902)). In one embodiment, the connection terminal (978) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0128] The haptic module (979) 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 (979) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0129] The camera module (980) can capture still images and videos. According to one embodiment, the camera module (980) may include one or more lenses, image sensors, image signal processors, or flashes.

[0130] The power management module (988) can manage the power supplied to the electronic device (901). According to one embodiment, the power management module (988) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0131] A battery (989) may power at least one component of the electronic device (901). In one embodiment, the battery (989) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0132] The communication module (990) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (901) and an external electronic device (e.g., electronic device (902), electronic device (904), or server (908)), and the performance of communication through the established communication channel. The communication module (990) may operate independently from the processor (920) (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 (990) may include a wireless communication module (992) (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 (994) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (904) via a first network (998) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (999) (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 may 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 (992) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (996) to verify or authenticate the electronic device (901) within a communication network such as the first network (998) or the second network (999).

[0133] The wireless communication module (992) 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 communications (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (992) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (992) may 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 (992) may support various requirements specified in the electronic device (901), an external electronic device (e.g., the electronic device (904)), or a network system (e.g., the second network (999)). According to one embodiment, the wireless communication module (992) 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.

[0134] The antenna module (997) 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 (997) 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 (997) 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 (998) or the second network (999), may be selected from the plurality of antennas, for example, by the communication module (990). A signal or power may be transmitted or received between the communication module (990) and the 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 (997).

[0135] According to various embodiments, the antenna module (997) 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.

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

[0137] According to one embodiment, commands or data may be transmitted or received between the electronic device (901) and an external electronic device (904) via a server (908) connected to a second network (999). Each of the external electronic devices (902, or 704) may be the same or a different type of device as the electronic device (901). According to one embodiment, all or part of the operations executed in the electronic device (901) may be executed in one or more of the external electronic devices (902, 704, or 708). For example, when the electronic device (901) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (901) 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 (901). The electronic device (901) 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 (901) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (904) may include an Internet of Things (IoT) device. The server (908) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (904) or the server (908) may be included in the second network (999).The electronic device (901) 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.

[0138] Figure 10 is a block diagram illustrating an integrated intelligence system according to one embodiment.

[0139] Referring to FIG. 10, an integrated intelligence system (10) of one embodiment may include a user terminal (1000), an intelligent server (1100), and a service server (1200).

[0140] A user terminal (1000) of one embodiment (e.g., electronic device (101) of FIG. 1) may be a terminal device (or electronic device) that can connect to the Internet, and may be, for example, a mobile phone, a smart phone, a personal digital assistant (PDA), a laptop computer, a TV, white goods, a wearable device, an HMD, or a smart speaker.

[0141] According to one embodiment, the user terminal (1000) may include a communication interface (1010), a microphone (1020), a speaker (1030), a display (1040), a memory (1050), and a processor (1060). The components listed above may be operatively or electrically connected to each other.

[0142] According to one embodiment, the communication interface (1010) may be configured to be connected to an external device to transmit and receive data. According to one embodiment, the microphone (1020) may receive sound (e.g., user speech) and convert it into an electrical signal. According to one embodiment, the speaker (1030) may output the electrical signal as sound (e.g., voice). According to one embodiment, the display (1040) may be configured to display an image or video. According to one embodiment, the display (1040) may display a graphical user interface (GUI) of an app (or application program) being executed.

[0143] The display (1040) of one embodiment may be configured to display an image or video. The display (1040) of one embodiment may also display a graphical user interface (GUI) of a running app (or application program). The display (1040) of one embodiment may receive touch input via a touch sensor. For example, the display (1040) may receive text input via a touch sensor in an on-screen keyboard area displayed within the display (1040).

[0144] According to one embodiment, the memory (1050) may store a client module (1051), a software development kit (SDK) (1053), and a plurality of apps (1055). The client module (1051) and the SDK (1053) may constitute a framework (or solution program) for performing general functions. In addition, the client module (1051) or the SDK (1053) may constitute a framework for processing user input (e.g., voice input, text input, touch input).

[0145] According to one embodiment, the memory (1050) may be a program for performing a specified function of the plurality of apps (1055). According to one embodiment, the plurality of apps (1055) may include a first app (1055_1) and a second app (1055_3). According to one embodiment, each of the plurality of apps (1055) may include a plurality of operations for performing a specified function. For example, the plurality of apps (1055) may include at least one of an alarm app, a message app, and a schedule app. According to one embodiment, the plurality of apps (1055) may be executed by the processor (1060) to sequentially perform at least some of the plurality of operations.

[0146] According to one embodiment, the processor (1060) can control the overall operation of the user terminal (1000). For example, the processor (1060) can be electrically connected to a communication interface (1010), a microphone (1020), a speaker (1030), a display (1040), and a memory (1050) to perform a designated operation.

[0147] According to one embodiment, the processor (1060) may also execute a program stored in the memory (1050) to perform a designated function. For example, the processor (1060) may execute at least one of the client module (1051) or the SDK (1053) to perform the following operations for processing user input. The processor (1060) may control the operations of multiple apps (1055), for example, through the SDK (1053). The following operations described as operations of the client module (1051) or the SDK (1053) may be operations executed by the processor (1060).

[0148] According to one embodiment, the client module (1051) can receive user input. For example, the client module (1051) can generate a voice signal corresponding to a user utterance detected through the microphone (1020). Alternatively, the client module (1051) can receive a touch input detected through the display (1040). Alternatively, the client module (1051) can receive a text input detected through a keyboard or a visual keyboard. In addition, the client module (1051) can receive various forms of user input detected through an input module included in the user terminal (1000) or an input module connected to the user terminal (1000). The client module (1051) can transmit the received user input to the intelligent server (1100). According to one embodiment, the client module (1051) can transmit status information of the user terminal (1000) to the intelligent server (1100) together with the received user input. The above status information may be, for example, the execution status information of the app.

[0149] According to one embodiment, the client module (1051) may receive a result corresponding to the received user input. For example, the client module (1051) may receive a result corresponding to the user input from the intelligent server (1100). The client module (1051) may display the received result on the display (1040). Additionally, the client module (1051) may output the received result as audio through the speaker (1030).

[0150] According to one embodiment, the client module (1051) can receive a plan corresponding to the received user input. The client module (1051) can display the results of executing multiple operations of the app according to the plan on the display (1040). For example, the client module (1051) can sequentially display the results of executing multiple operations on the display and output audio through the speaker (1030). As another example, the user terminal (1000) can display only some results of executing multiple operations (e.g., the result of the last operation) on the display and output audio through the speaker (1030).

[0151] According to one embodiment, the client module (1051) may receive a request from the intelligent server (1100) to obtain information necessary to produce a result corresponding to a user input. The information necessary to produce the result may be, for example, status information of the user terminal (1000). According to one embodiment, the client module (1051) may transmit the necessary information to the intelligent server (1100) in response to the request.

[0152] According to one embodiment, the client module (1051) can transmit result information of executing multiple operations according to a plan to the intelligent server (1100). The intelligent server (1100) can confirm that the received user input has been processed correctly through the result information.

[0153] In one embodiment, the client module (1051) may include a voice recognition module. In one embodiment, the client module (1051) may recognize voice inputs to perform limited functions through the voice recognition module. For example, the client module (1051) may execute an intelligent app to process voice inputs to perform organic actions through designated inputs (e.g., "Wake up!").

[0154] According to one embodiment, the intelligent server (1100) can receive information related to user voice input from the user terminal (1000) through a communication network. According to one embodiment, the intelligent server (1100) can change data related to the received voice input into text data. According to one embodiment, the intelligent server (1100) can generate a plan for performing a task corresponding to the user voice input based on the text data.

[0155] In one embodiment, the plan may be generated by an artificial intelligence (AI) system. The AI ​​system may be a rule-based system, a neural network-based system (e.g., a feedforward neural network (FNN) or a recurrent neural network (RNN)), or a combination of the above or a different AI system. In one embodiment, the plan may be selected from a set of predefined plans or may be generated in real time in response to a user request. For example, the AI ​​system may select at least one plan from a plurality of predefined plans.

[0156] According to one embodiment, the intelligent server (1100) may transmit the results calculated according to the generated plan to the user terminal (1000), or may transmit the generated plan to the user terminal (1000). According to one embodiment, the user terminal (1000) may display the results calculated according to the plan on a display. According to one embodiment, the user terminal (1000) may display the results of executing an operation according to the plan on a display.

[0157] An intelligent server (1100) of one embodiment may include a front end (1110), a natural language platform (1120), a knowledge database (1130), an execution engine (1140), an end user interface (1150), a management platform (1160), a big data platform (1170), and an analytic platform (1180).

[0158] According to one embodiment, the front end (1110) can receive user input from a user terminal (1000). The front end (1110) can transmit a response corresponding to the user input.

[0159] According to one embodiment, the natural language platform (1120) may include an automatic speech recognition module (ASR module) (1121), a natural language understanding module (NLU module) (1123), a planner module (1125), a natural language generator module (NLG module) (1127), and a text to speech module (TTS module) (1129).

[0160] According to one embodiment, the automatic speech recognition module (1121) can convert voice input received from the user terminal (1000) into text data. According to one embodiment, the natural language understanding module (1123) can identify the user's intention using the text data of the voice input. For example, the natural language understanding module (1123) can identify the user's intention by performing syntactic analysis or semantic analysis on user input in the form of text data. According to one embodiment, the natural language understanding module (1123) can identify the meaning of words extracted from the user input using linguistic features (e.g., grammatical elements) of morphemes or phrases, and can determine the user's intention by matching the meaning of the identified words to the intent. The natural language understanding module (1123) can obtain intent information corresponding to the user's utterance. The intent information may be information indicating the user's intent determined by interpreting text data. Intent information may include information indicating an action or function that a user wishes to perform using the device.

[0161] According to one embodiment, the planner module (1125) can generate a plan using the intent and parameters determined by the natural language understanding module (1123). According to one embodiment, the planner module (1125) can determine a plurality of domains necessary to perform a task based on the determined intent. The planner module (1125) can determine a plurality of operations included in each of the plurality of domains determined based on the intent. According to one embodiment, the planner module (1125) can determine parameters necessary to execute the determined plurality of operations or result values ​​output by the execution of the plurality of operations. The parameters and the result values ​​can be defined as concepts related to a specified format (or class). Accordingly, the plan can include a plurality of operations and a plurality of concepts determined by the user's intent. The planner module (1125) can determine the relationships between the plurality of operations and the plurality of concepts in a stepwise (or hierarchical) manner. For example, the planner module (1125) can determine the execution order of a plurality of actions based on the user's intention based on a plurality of concepts. In other words, the planner module (1125) can determine the execution order of a plurality of actions based on parameters required for the execution of the plurality of actions and results output by the execution of the plurality of actions. Accordingly, the planner module (1125) can generate a plan including association information (e.g., ontology) between the plurality of actions and the plurality of concepts. The planner module (1125) can generate the plan using information stored in a capsule database (1130) in which a set of relationships between concepts and actions is stored.

[0162] According to one embodiment, the natural language generation module (1127) can convert specified information into text format. The information converted into text format may be in the form of natural language speech. The text-to-speech conversion module (1129) of one embodiment can convert information in text format into information in speech format.

[0163] According to one embodiment, the capsule database (1130) can store information about the relationship between a plurality of concepts and actions corresponding to a plurality of domains. For example, the capsule database (1130) can store a plurality of capsules including a plurality of action objects (or action information) and concept objects (or concept information) of a plan. According to one embodiment, the capsule database (1130) can store the plurality of capsules in the form of a concept action network (CAN). According to one embodiment, the plurality of capsules can be stored in a function registry included in the capsule database (1130).

[0164] According to one embodiment, the capsule database (1130) may include a strategy registry that stores strategy information required when determining a plan corresponding to a voice input. The strategy information may include reference information for determining a single plan when there are multiple plans corresponding to a user input. According to one embodiment, the capsule database (1130) may include a follow-up registry that stores information on follow-up actions for suggesting follow-up actions to a user in a given situation. The follow-up actions may include, for example, follow-up utterances. According to one embodiment, the capsule database (1130) may include a layout registry that stores layout information of information output through the user terminal (1000). According to one embodiment, the capsule database (1130) may include a vocabulary registry that stores vocabulary information included in capsule information. According to one embodiment, the capsule database (1130) may include a dialog registry in which information about a dialog (or interaction) with a user is stored.

[0165] According to one embodiment, the capsule database (1130) can update stored objects through a developer tool. The developer tool may include, for example, a function editor for updating action objects or concept objects. The developer tool may include a vocabulary editor for updating vocabulary. The developer tool may include a strategy editor for creating and registering strategies that determine plans. The developer tool may include a dialog editor for creating a dialogue with a user. The developer tool may include a follow-up editor for activating follow-up goals and editing follow-up utterances that provide hints. The follow-up goals may be determined based on currently set goals, user preferences, or environmental conditions.

[0166] According to one embodiment, the capsule database (1130) may also be implemented within the user terminal (1000). In other words, the user terminal (1000) may include a capsule database (1130) that stores information for determining an action corresponding to a voice input.

[0167] According to one embodiment, the execution engine (1140) can produce a result using the generated plan. According to one embodiment, the end user interface (1150) can transmit the produced result to the user terminal (1000). Accordingly, the user terminal (1000) can receive the result and provide the received result to the user. According to one embodiment, the management platform (1160) can manage information used in the intelligent server (1100). According to one embodiment, the big data platform (1170) can collect user data. According to one embodiment, the analysis platform (1180) can manage the quality of service (QoS) of the intelligent server (1100). For example, the analysis platform (1180) can manage the components and processing speed (or efficiency) of the intelligent server (1100).

[0168] According to one embodiment, the service server (1200) may provide a designated service (e.g., food ordering or hotel reservation) to the user terminal (1000). According to one embodiment, the service server (1200) may be a server operated by a third party. For example, the service server (1200) may include a first service server (1201), a second service server (1203), and a third service server (1205) operated by different third parties. According to one embodiment, the service server (1200) may provide information for generating a plan corresponding to the received voice input to the intelligent server (1100). The provided information may be stored, for example, in a capsule database (1130). In addition, the service server (1200) may provide result information according to the plan to the intelligent server (1100).

[0169] In the integrated intelligence system (10) described above, the user terminal (1000) can provide various intelligent services to the user in response to user input. The user input may include, for example, input via a physical button, touch input, or voice input.

[0170] According to one embodiment, the user terminal (1000) may provide a voice recognition service through an intelligent app (or voice recognition app) stored internally. In this case, for example, the user terminal (1000) may recognize a user utterance or voice input received through the microphone and provide the user with a service corresponding to the recognized voice input.

[0171] According to one embodiment, the user terminal (1000) may perform a designated action based on the received voice input, either alone or in conjunction with the intelligent server and / or service server. For example, the user terminal (1000) may execute an app corresponding to the received voice input and perform a designated action through the executed app.

[0172] According to one embodiment, when a user terminal (1000) provides a service together with an intelligent server (1100) and / or a service server, the user terminal may detect user speech using the microphone (1020) and generate a signal (or voice data) corresponding to the detected user speech. The user terminal may transmit the voice data to the intelligent server (1100) using a communication interface (1010).

[0173] According to one embodiment, the intelligent server (1100) may generate a plan for performing a task corresponding to the voice input received from the user terminal (1000), or a result of performing an operation according to the plan. The plan may include, for example, a plurality of operations for performing a task corresponding to the user's voice input, and a plurality of concepts related to the plurality of operations. The concept may define parameters input to the execution of the plurality of operations, or result values ​​output by the execution of the plurality of operations. The plan may include association information between the plurality of operations and the plurality of concepts.

[0174] In one embodiment, the user terminal (1000) can receive the response using the communication interface (1010). The user terminal (1000) can output a voice signal generated within the user terminal (1000) to the outside using the speaker (1030), or can output an image generated within the user terminal (1000) to the outside using the display (1040).

[0175] FIG. 11 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to various embodiments.

[0176] The capsule database (e.g., the capsule database (1130) of FIG. 10) of the intelligent server (e.g., the intelligent server (1100) of FIG. 10) may store a plurality of capsules in the form of a CAN (concept action network) (1300). The capsule database may store an action for processing a task corresponding to a user's voice input and parameters required for the action in the form of a CAN (concept action network). The CAN may represent an organic relationship between an action and a concept that defines parameters required to perform the action.

[0177] The capsule database may store a plurality of capsules (e.g., Capsule A (1301), Capsule B (1304)) corresponding to each of a plurality of domains (e.g., applications). According to one embodiment, one capsule (e.g., Capsule A (1301)) may correspond to one domain (e.g., application). In addition, one capsule may correspond to at least one service provider (e.g., CP 1 (1302), CP 2 (1303), CP 3 (1306), or CP 4 (1305)) for performing a function of a domain related to the capsule. According to one embodiment, one capsule may include at least one operation (1310) and at least one concept (1320) for performing a specified function.

[0178] According to one embodiment, a natural language platform (e.g., the natural language platform (1120) of FIG. 10) can generate a plan for performing a task corresponding to a received speech input using capsules stored in a capsule database. For example, a planner module of the natural language platform (e.g., the planner module (1125) of FIG. 10) can generate a plan using capsules stored in a capsule database. For example, a plan (1307) can be generated using actions (1411, 1413) and concepts (1412, 1414) of Capsule A (1301) and actions (1441) and concepts (1442) of Capsule B (1304).

[0179] FIG. 12 is a diagram showing a screen for processing voice input received through an intelligent app by a user terminal according to various embodiments.

[0180] The user terminal (1000) can execute an intelligent app to process user input through an intelligent server (e.g., the intelligent server (1100) of FIG. 13).

[0181] According to one embodiment, on screen 1210, when the user terminal (1000) recognizes a designated voice input (e.g., wake up!) or receives an input via a hardware key (e.g., a dedicated hardware key), the user terminal (1000) may execute an intelligent app for processing the voice input. For example, the user terminal (1000) may execute the intelligent app while the schedule app is running. According to one embodiment, the user terminal (1000) may display an object (e.g., an icon) (1211) corresponding to the intelligent app on a display (e.g., the display (1040) of FIG. 10). According to one embodiment, the user terminal (1000) may receive a voice input by a user's speech. For example, the user terminal (1000) may receive a voice input such as "Tell me my schedule for this week!" According to one embodiment, the user terminal (1000) can display a user interface (UI) (1213) (e.g., an input window) of an intelligent app on which text data of a received voice input is displayed.

[0182] According to one embodiment, on screen 1220, the user terminal (1000) may display a result corresponding to the received voice input on the display. For example, the user terminal (1000) may receive a plan corresponding to the received user input and display "This Week's Schedule" on the display according to the plan.

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

[0184] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

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

[0186] Various embodiments of the present document may be implemented as software (e.g., a program (940)) including one or more instructions stored in a storage medium (e.g., an internal memory (936) or an external memory (938)) readable by a machine (e.g., an electronic device (901)). For example, a processor (e.g., a processor (920)) of the machine (e.g., an electronic device (901)) 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.

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

[0188] 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. The electronic device (901) of FIG. 9 may be an example of an electronic device (e.g., the server (201) and / or the user terminal (202) of FIGS. 2A to 2B) described with reference to FIGS. 1 to 8. For example, the processor (920) of FIG. 9 may correspond to at least one of the processors (210-1, 210-2) of FIGS. 2A to 2B. The memory (930) of FIG. 9 may correspond to at least one of the memories (215-1, 215-2) of FIGS. 2A to 2B. The communication module (990) of FIG. 9 may correspond to at least one of the communication circuits (220-1, 220-2) of FIGS. 2A to 2B. The display module (960) of FIG. 9 may correspond to the display (225) of FIGS. 2A to 2B.

[0189] In one embodiment, a method for efficiently managing a large database used for generating natural language may be required. In one embodiment, a method for selecting and / or removing unnecessary information stored in a database used for generating natural language may be required. According to an embodiment, as described above, an electronic device may include a display (e.g., display 225 of FIGS. 2A and / or 2B ), a memory for storing instructions (e.g., memory 215-2 of FIGS. 2A and / or 2B ), and a processor (e.g., processor 210-2 of FIGS. 2A and / or 2B ). The instructions, when executed by the processor, may cause the electronic device to detect a request for generating a natural language sentence for at least one prompt sentence. The instructions, when executed by the processor, may cause the electronic device to, in response to the request, generate a response message (e.g., response message (160) of FIG. 1 ) corresponding to the at least one prompt sentence using a database in which information is accumulated (e.g., database (130) of FIG. 2A and / or FIG. 2B ). The database may include a first attribute, which is used to adjust the size of the database, indicating whether to remove the information, and a second attribute, which is used to indicate whether an input for prohibiting removal of the information has been received through a screen displayed on the display using the first attribute. According to one embodiment, the electronic device may efficiently manage a large database used for generating natural language. According to one embodiment, the electronic device may select or remove unnecessary information stored in the database used for generating natural language.

[0190] For example, the first attribute of the database may be related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate a response message, or feedback on a response message generated using the information.

[0191] For example, the instructions, when executed by the processor, may cause the electronic device to compare a score associated with at least one of the first time point, the second time point, the frequency, or the feedback to a specified threshold and determine whether to display information in the database corresponding to the score on the screen.

[0192] For example, the instructions, when executed by the processor, may cause the electronic device to control the display to display at least one visual object associated with the feedback on another screen including the response message. The instructions, when executed by the processor, may cause the electronic device to change the feedback of the first property in response to an input associated with the at least one visual object.

[0193] For example, the instructions, when executed by the processor, may cause the electronic device to change at least one of the second time point or the frequency corresponding to the information associated with the response message when generating the response message.

[0194] For example, the instructions, when executed by the processor, may cause the electronic device to determine, using the first property, at least a portion of the information to be displayed on the screen.

[0195] For example, the instructions, when executed by the processor, may cause the electronic device to control the display to display a visual object within the screen displayed based on a specified condition, together with at least a portion of the information displayed on the screen, for receiving an input indicating a prohibition of removal of the at least a portion of the information.

[0196] For example, the instructions, when executed by the processor, may cause the electronic device to, in response to an input regarding the visual object, change the second property in the database corresponding to at least a portion of the information.

[0197] For example, the instructions, when executed by the processor, may cause the electronic device to control the display to display the screen at a time scheduled to adjust the size of the database.

[0198] For example, the instructions, when executed by the processor, may cause the electronic device to generate the response message corresponding to the at least one prompt sentence using a neural network trained to reference the information stored in the database.

[0199] As described above, in one embodiment, a method of an electronic device including a display may be provided. The method may include an operation of detecting a request to generate a natural language sentence for at least one prompt sentence. The method may include an operation of generating a response message corresponding to the at least one prompt sentence in response to the request using a database in which information is accumulated. The method may include an operation of controlling the display to display the generated response message. The database may include, as attributes used to adjust the size of the database, a first attribute indicating whether to remove the information, and a second attribute indicating whether an input to prohibit removal of the information has been received through a screen displayed on the display using the first attribute.

[0200] For example, the first attribute of the database may be related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate the response message, or feedback on a response message generated using the information.

[0201] For example, the method may include an operation of comparing a score associated with at least one of the first time point, the second time point, the frequency, or the feedback with a specified threshold, and determining whether to display information in the database corresponding to the score on the screen.

[0202] For example, the controlling action may include an action of controlling the display to display at least one visual object related to the feedback on another screen including the response message. The controlling action may include an action of changing the feedback of the first property in response to an input related to the at least one visual object.

[0203] For example, the generating operation may include an operation of changing at least one of the second time point or the frequency corresponding to the information associated with the generated response message.

[0204] For example, the method may include an operation of determining at least a portion of the information to be displayed on the screen using the first property.

[0205] For example, the method may include controlling the display to display a visual object for receiving an input indicating a prohibition of removal of at least a portion of the information displayed on the screen, together with at least a portion of the information displayed on the screen, based on a specified condition.

[0206] For example, the method may include, in response to an input to the visual object, changing the second property in the database corresponding to at least a portion of the information.

[0207] For example, the method may include an action of controlling the display to display the screen at a time scheduled to adjust the size of the database.

[0208] For example, the generating operation may include generating the response message corresponding to the at least one prompt sentence using a neural network trained to reference the information stored in the database.

[0209] In one embodiment, as described above, a non-transitory computer-readable storage medium storing instructions may be provided. The instructions, when executed by an electronic device including communication circuitry and storage, may cause the electronic device to receive at least one prompt sentence from a user terminal via the communication circuitry. The instructions, when executed by the processor, may cause the electronic device to generate a response message corresponding to the at least one prompt sentence using a database stored in the storage. The instructions, when executed by the processor, may cause the electronic device to transmit information used to display the generated response message to the user terminal via the communication circuitry. The database may include, as attributes used to adjust the size of the database occupying the storage, a first attribute indicating whether information stored in the database is to be removed, and a second attribute indicating whether an input prohibiting removal of the information has been received prior to removing the information using the first attribute.

[0210] For example, the instructions, when executed by the electronic device, may cause the electronic device to generate the response message corresponding to the at least one prompt sentence using a neural network trained to reference the information stored in the database.

[0211] For example, the first attribute of the database may be related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate a response message, or feedback on a response message generated using the information.

[0212] For example, the instructions, when executed by the electronic device, may cause the electronic device to compare a score associated with at least one of the first time point, the second time point, the frequency, or the feedback to a specified threshold and determine whether to provide a screen for receiving the input corresponding to the information.

[0213] According to one embodiment of the present invention, an electronic device as described above may include a communication circuit, a memory for storing instructions, and a processor. The instructions, when executed by the processor, may cause the electronic device to receive at least one prompt sentence from a user terminal via the communication circuit. The instructions, when executed by the processor, may cause the electronic device to generate a response message corresponding to the at least one prompt sentence using a database stored in the storage. The instructions, when executed by the processor, may cause the electronic device to transmit information used to display the generated response message to the user terminal via the communication circuit. The database may include, as attributes used to adjust the size of the database occupying the storage, a first attribute indicating whether information stored in the database is to be removed, and a second attribute indicating whether an input for prohibiting removal of the information has been received before removing the information using the first attribute.

[0214] For example, the instructions, when executed by the processor, may cause the electronic device to generate the response message corresponding to the at least one prompt sentence using a neural network trained to reference the information stored in the database.

[0215] For example, the first attribute of the database may be related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate a response message, or feedback on a response message generated using the information.

[0216] The devices described above may be implemented as hardware components, software components, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

[0217] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be embodied in any type of machine, component, physical device, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0218] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program commands, including ROM, RAM, and flash memory. In addition, examples of other media may include app stores that distribute applications, sites that supply or distribute various software, and recording or storage media managed by servers.

[0219] Although the embodiments described above have been described by way of limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made based on the above teachings. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, and circuits are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.

[0220] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims described below.

Claims

1. In electronic devices, display; A memory including one or more storage media storing instructions; and comprising at least one processor, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: Detecting a request to generate a natural language sentence for at least one prompt sentence; In response to the above request, generating a response message corresponding to at least one prompt sentence using a database in which information is accumulated; and To cause the display to be controlled to display the generated response message, The above database is, As attributes used to adjust the size of the database, a first attribute indicating whether to remove the information, and a second attribute indicating whether an input for prohibiting removal of the information has been received through a screen displayed on the display using the first attribute, Electronic devices.

2. In claim 1, The first property of the database is related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate a response message, or feedback on a response message generated using the information. Electronic devices.

3. In any one of claims 1 to 2, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: Causing to compare a score related to at least one of the first time point, the second time point, the frequency or the feedback with a specified threshold, thereby determining whether to display information in the database corresponding to the score on the screen. Electronic devices.

4. In any one of claims 1 to 3, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: Controlling the display to display at least one visual object related to the feedback on another screen including the response message; causing said feedback of said first property to be changed in response to an input relating to said at least one visual object; Electronic devices.

5. In any one of claims 1 to 4, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: When generating the response message, causing at least one of the second time point or the frequency corresponding to the information related to the response message to be changed, Electronic devices.

6. In any one of claims 1 to 5, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: Using the first property, causing at least a portion of the information to be displayed on the screen to be determined, Electronic devices.

7. In any one of claims 1 to 6, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: Causing the display to be controlled to display a visual object for receiving an input indicating a prohibition of removal of at least a portion of the information displayed on the screen, within the screen displayed based on a specified condition, Electronic devices.

8. In any one of claims 1 to 7, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: In response to an input to said visual object, causing said second property in said database to be changed corresponding to at least a portion of said information; Electronic devices.

9. In any one of claims 1 to 8, The above instructions, when individually or collectively executed by at least one processor, cause the electronic device to: causing the display to be controlled to display the screen at a time scheduled to adjust the size of the database; Electronic devices.

10. In any one of claims 1 to 9, The above instructions, when executed by the processor, cause the electronic device to: Using a neural network trained to refer to the information stored in the database, causing the response message corresponding to the at least one prompt sentence to be generated, Electronic devices.

11. A method for an electronic device including a display, The action of detecting a request to generate a natural language sentence for at least one prompt sentence; In response to the above request, an operation of generating a response message corresponding to the at least one prompt sentence using a database in which information is accumulated; and Including an action for controlling the display to display the generated response message, The above database is, As attributes used to adjust the size of the database, a first attribute indicating whether to remove the information, and a second attribute indicating whether an input for prohibiting removal of the information has been received through a screen displayed on the display using the first attribute, method.

12. In claim 11, The first property of the database is related to at least one of a first time point at which the information was entered into the database, a second time point at which the information was used to generate a response message, a frequency at which the information was used to generate the response message, or feedback on a response message generated using the information. Electronic devices.

13. In any one of claims 11 to 12, Further comprising an action of comparing a score related to at least one of the first time point, the second time point, the frequency or the feedback with a specified threshold, and determining whether to display information in the database corresponding to the score on the screen. method.

14. In any one of claims 11 to 13, the controlling operation comprises: An action of controlling the display to display at least one visual object related to the feedback on another screen including the response message; In response to an input relating to at least one visual object, comprising an action of changing said feedback of said first property; method.

15. In any one of claims 11 to 14, the generating operation comprises: An operation for changing at least one of the second time point or the frequency corresponding to the information related to the generated response message, method.

Citation Information

Patent Citations

  • Human-computer interaction system database updating method and device, computer equipment and medium

    CN111552785A

  • Apparatus of Managing a Memory in the Mobile Communication Terminal

    KR100564524B1

  • Method for minimizing database size of n-gram language model

    KR1020160053587A

  • Social learning system using question-answering

    KR102061893B1

  • KR20190096853A