system
The system addresses information retrieval challenges by analyzing user input, searching databases, and generating conversational responses, improving efficiency and knowledge sharing within companies.
Patent Information
- Application Number
- JP2024138579
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Existing information systems struggle with efficiently finding and sharing information within companies due to scattered data, inadequate visualization, and challenges in multilingual environments, leading to reduced knowledge sharing and work efficiency.
A system that accepts user input in natural language, analyzes it using a natural language processing engine, searches a database for relevant information, and generates a conversational response based on the search results, improving information retrieval and sharing.
Enables quick, accurate, and natural conversational information retrieval, enhancing knowledge sharing and business efficiency by allowing users to input questions in natural language and receive relevant responses.
Smart Images

Figure 2026036064000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Because information is scattered throughout a company, it is difficult to quickly find the information you need. Traditional manual information searches and updates do not provide sufficient information visualization, making it difficult to share information in a timely manner. Furthermore, smooth collaboration between teams and information sharing in multilingual environments are also issues that arise. These issues reduce knowledge sharing and work efficiency within the company, so improvements are needed. [Means for solving the problem]
[0005] This invention provides a system including means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for searching a database for related information based on the analysis results, means for generating a natural conversational response based on the search results, and means for returning the generated response to the user. An appropriate search query is generated based on the analysis results, the database is searched using the query, and the generated response is returned to the user as an HTTP response, thereby realizing efficient searching of distributed information and real-time information sharing, thereby improving knowledge sharing and business efficiency within a company.
[0006] "User" means an end user who uses the System to search for and share information.
[0007] "Input" refers to text data in a natural language format that a user sends to the system through a terminal.
[0008] A "natural language processing engine" refers to a software component that analyzes text entered by a user and parses its intent and meaning.
[0009] "Parsing" refers to the process by which a natural language processing engine understands the structure and content of a user's input text.
[0010] A "database" is a collection of information managed by a system, and contains the knowledge required by users.
[0011] "Search" refers to the process of locating information in a database based on the analysis results.
[0012] "Search query" means a command containing specific criteria or keywords generated to conduct a database search.
[0013] "Search results" refers to a collection of relevant information retrieved from a database based on a search query.
[0014] "Response" refers to the answer that the system generates to a user's query.
[0015] "Conversational" refers to a format in which responses to the user are provided in the form of a natural dialogue.
[0016] An "HTTP response" refers to a response message sent by a server to a client (user's device) using a standard web protocol. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0039] Specifically, it operates as follows.
[0040] Receiving user inquiries
[0041] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0042] Performing natural language processing
[0043] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0044] Performing a Search
[0045] The server generates an appropriate search query based on the analysis results and uses this query to search the database. The query, which includes "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0046] Generate results
[0047] The server generates a natural conversational response based on the search results retrieved from the database, which is easy for the user to understand. For example, it may extract from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and return this to the user.
[0048] Returning the results
[0049] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0050] Specific examples
[0051] For example, if a user types "Please tell me when the new product will be released to the market" into a terminal, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." The server uses this information to generate a natural conversational response and sends it back to the terminal. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0052] In this way, the system of the present invention enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0053] The processing flow will be explained below.
[0054] Step 1: The user enters a question from the terminal.
[0055] Users enter questions in natural language through the Knowledge Navi interface, for example, "Please tell me the progress of Project X."
[0056] Step 2: The device sends a query to the server.
[0057] The terminal sends the entered question to the server in an HTTP request, for example, including the question text in the request body.
[0058] Step 3: The server receives the query.
[0059] The server receives the HTTP request and extracts the question text from the request body, for example by storing the received data in a variable.
[0060] Step 4: The server starts the natural language processing engine.
[0061] The server launches a natural language processing engine (e.g., spaCy) and prepares it to analyze the user's question text.
[0062] Step 5: The server parses the query.
[0063] The server uses a natural language processing engine to analyze the question text and extract entities and key keywords, for example, the entities "Project X" and "Progress".
[0064] Step 6: The server generates the search query.
[0065] The server generates a query for database search based on the analysis results. For example, it creates an SQL query that includes "Project X" and "progress."
[0066] Step 7: The server searches the database.
[0067] The server executes the generated query against a database to retrieve relevant information, for example, to retrieve progress data from the database.
[0068] Step 8: The server analyzes the search results.
[0069] The server analyzes the results retrieved from the database and selects the information to return to the user, e.g., extracting the most relevant progress information.
[0070] Step 9: The server generates a response.
[0071] The server then generates a natural, conversational response based on the parsed search results, such as "Project X is currently 75% complete, with the next milestone due next week."
[0072] Step 10: The server sends a response back to the terminal.
[0073] The server returns the generated response to the terminal as an HTTP response.
[0074] Step 11: The terminal receives the response.
[0075] The terminal receives the HTTP response from the server and extracts the received data.
[0076] Step 12: The terminal displays the response to the user.
[0077] The device displays the response to the user, for example displaying a message on the screen saying "Project X is currently 75% complete, with the next milestone due next week."
[0078] The above is a specific processing flow in the system of the present invention, which allows users to efficiently search for information in a natural conversational manner and quickly obtain the knowledge they need.
[0079] Example 1
[0080] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0081] Conventional information retrieval systems have had difficulty accurately understanding users' natural language queries and quickly providing relevant information. In particular, they struggled to accommodate the diversity and ambiguity of natural language input, resulting in search results that often did not meet users' expectations. Furthermore, the responses they generated were often unnatural or presented in a format that was difficult for users to understand.
[0082] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0083] In this invention, the server includes means for accepting input in natural language format from a user, means for analyzing the accepted input text with a natural language processing engine and extracting entities and keywords, means for generating an appropriate search query based on the extracted entities and keywords and searching a database using the query, means for generating a response in a natural conversational format using a generative AI model based on the search results, and means for returning the generated response to the user as an HTTP response. This enables a user to obtain information in a quick, accurate, and natural conversational format simply by inputting a question in natural language.
[0084] "User" refers to an individual or group that provides input in natural language form to an information system.
[0085] "Natural language forms" refers to the language systems used by humans on a daily basis, including written and spoken language.
[0086] "Input text" refers to a sentence in natural language format that a user inputs to an information system.
[0087] A "natural language processing engine" refers to software or tools that analyze text in natural language form and understand its meaning and structure.
[0088] An "entity" is a specific object or concept extracted from text using natural language processing, such as a person, place, or thing.
[0089] "Keywords" refer to words or phrases that are particularly important in a text.
[0090] A "search query" is a statement containing specific criteria used to retrieve relevant information from a database.
[0091] A "database" is an electronic information collection system that systematically organizes large amounts of information and makes it easy to search and retrieve.
[0092] A "generative AI model" is a model for generating text using artificial intelligence techniques, for example, to generate natural, conversational responses.
[0093] A "prompt sentence" is an input sentence given to a generative AI model, which serves as an instruction for the model to generate an appropriate response.
[0094] An "HTTP response" refers to a response message that a server sends to a client (user's terminal), and is usually information that includes the result of a request.
[0095] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0096] Receiving user inquiries
[0097] The user uses a terminal to input a question in natural language to the system. For example, they input a sentence like "Please tell me about the progress of the project." The terminal sends this input as an HTTP request to the server. The server receives this request and proceeds to the next processing step.
[0098] Performing natural language processing
[0099] The server passes the received input text to a natural language processing engine (e.g., spaCy or NLTK). The natural language processing engine tokenizes the input text and extracts entities and keywords. For example, it extracts the keywords "project" and "progress" from the sentence "Please tell me about the progress of the project."
[0100] Performing a Search
[0101] The server generates a search query based on the analysis results. In a specific example, it uses a database access library such as SQLAlchemy or Django ORM to send the generated query to a database (e.g., MySQL (registered trademark) or PostgreSQL). The database receives a query containing "project" and "progress" and returns related information.
[0102] Generate results
[0103] The server uses a generative AI model (e.g., GPT-4 (registered trademark)) based on information obtained from the database to generate a natural, conversational response. During this process, a prompt sentence is input to the generative AI model. An example of a prompt sentence is "Tell me about the progress of Project X:" The generative AI model generates a response text based on this prompt sentence.
[0104] Returning the results
[0105] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. For example, if the generated response is "Project X is currently 75% complete, and the next milestone is next week," the user can check this information on the terminal.
[0106] Specific examples
[0107] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Using this information, the server uses a generative AI model to generate a natural conversational response, "The new product will be released to the market at the beginning of next month," and sends it back to the device. The user can then check this information on their device.
[0108] In this way, this system enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information retrieval and business efficiency.
[0109] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0110] Step 1:
[0111] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me the progress of project X." The input data is acquired as text data on the terminal. The terminal then sends this input to the server as an HTTP request.
[0112] Step 2:
[0113] The server receives an HTTP request sent from the terminal. The received data is text in natural language format entered by the user. This text is passed to a natural language processing engine. Specifically, the request is handled using a web framework such as Flask or Django. The server prepares to analyze the received data.
[0114] Step 3:
[0115] The server passes the received input text to a natural language processing engine (for example, spaCy or NLTK). The natural language processing engine tokenizes the user's input text and extracts entities and keywords. If the input is "Please tell me the progress of project X," the server extracts the entity "project X" and the keyword "progress." This process generates structured data from the input text.
[0116] Step 4:
[0117] The server generates an appropriate search query based on the extracted entities and keywords. For example, it uses SQLAlchemy or Django ORM to construct an SQL query. Based on the entity "Project X progress" and the keywords, the server generates the query "SELECT FROM projects WHERE name="Project X" AND attribute="progress". This query is sent to the database.
[0118] Step 5:
[0119] The server sends the generated search query to a database to retrieve relevant information, for example, "Project X is currently 75% complete" from a database such as MySQL or PostgreSQL. The retrieved data is then ready to be processed by the server.
[0120] Step 6:
[0121] The server uses a generative AI model (e.g., GPT-4) to generate natural conversational responses based on information retrieved from the database. The server inputs information about "Project X's progress" as a prompt into the AI model to generate a natural response. Specifically, the prompt uses "Tell me about the progress of Project X:" Based on this, the AI model generates the response "Project X is currently 75% complete, and the next milestone is next week."
[0122] Step 7:
[0123] The server sends the generated response back to the device as an HTTP response, which contains the generated response in a natural conversational format. The server uses Flask or Django's response object to return the results in JSON format.
[0124] Step 8:
[0125] The device receives the HTTP response from the server and displays the content to the user. Specifically, the received data is displayed on the screen using front-end JavaScript (registered trademark) (such as React or Vue.js). The user receives an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0126] This series of processes enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0127] (Application example 1)
[0128] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0129] With conventional content distribution services, it has been difficult for users to quickly obtain information of interest. Users have to manually search for the information they need from a large amount of content, which is time-consuming and inconvenient. Furthermore, there are few ways to obtain information in a natural conversational format, resulting in a poor user experience.
[0130] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0131] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text with a natural language processing engine, means for searching a database for related information based on the analysis results, means for generating a response in a natural conversational style based on the search results, and means for returning the generated response to the user on the smartphone terminal, thereby enabling the user to quickly obtain information of interest in a natural conversational style.
[0132] A "user" is someone who uses the system to obtain information.
[0133] "Input" is the act of a user sending a question or request in text form to the system.
[0134] A "natural language processing engine" is a software or hardware technology that analyzes input text and extracts its meaning and important keywords.
[0135] "Parsing" is the process of converting input text into understandable data using a natural language processing engine.
[0136] A "database" is a system for systematically collecting, storing, and managing related information.
[0137] "Relevant information" is data necessary to generate an appropriate response to a user's input.
[0138] "Natural conversational style" means that the responses are in a form that is close to human language and that the user can understand without feeling uncomfortable.
[0139] A "response" is a system-generated reply to a user's input.
[0140] A "smartphone terminal" is a mobile communication device that allows a user to use the system.
[0141] "Bounce" is the act of returning the generated response to the user.
[0142] The present invention provides a system that allows a user to input a question in natural language, searches for related information based on the input, and returns a response in a natural conversational format. The system according to the present invention includes the following means.
[0143] Hardware and Software Configuration
[0144] 1. User device: A device such as a smartphone that a user uses to input a question in natural language. For example, a user uses the device to input a question such as, "What is the latest action movie?"
[0145] 2. Server: A server has multiple functions.
[0146] Natural language processing engine: The server is equipped with a natural language processing engine using spaCy, which analyzes the input text and extracts important keywords and entities.
[0147] Search engine: Generates queries to retrieve relevant information from a database, which contains a large amount of content information, and uses the queries to search the database.
[0148] Response generation engine: Using a pipeline of transformers, the engine generates natural, conversational responses from search results in a format that is easy for users to understand.
[0149] 3. Database: Works in conjunction with the server and stores various content information, such as information about movies, TV dramas, and release dates.
[0150] How it works
[0151] When a user enters a question using a smartphone device, the input is sent to the server. The server analyzes the input text using spaCy to extract important keywords. Next, it generates a search query and searches a database to retrieve relevant information. Based on the retrieved information, a response generation engine using the transformers library generates a response in a natural conversational format. Finally, the generated response is sent back to the smartphone device and displayed to the user. For example, the question "What is the latest action movie?" can be answered in the form of "The latest action movie is Atomic Blonde."
[0152] Specific examples
[0153] Here's a concrete example: If a user types the question "When is the next episode coming out?", the system will do the following:
[0154] 1. Input reception: The user terminal receives the question "When is the next episode released?"
[0155] 2. Input analysis: The natural language processing engine extracts keywords such as "next episode" and "release date."
[0156] 3. Query generation and search: Generate queries based on the extracted keywords and search the database to retrieve relevant information.
[0157] 4. Response Generation: The response generation engine generates a response such as "The next episode will be released next Monday."
[0158] 5. Response return: The generated response is returned to the smartphone device and displayed to the user.
[0159] Examples of prompt statements
[0160] User Question: When is the next episode coming out?
[0161] In this way, the system of the present invention allows users to obtain the information they need quickly and in a natural, conversational manner.
[0162] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0163] Step 1: Accepting user input
[0164] A user inputs a question in natural language into a smartphone device, for example, "When is the next episode released?" This input text is sent from the smartphone device to the server as an HTTP request.
[0165] Input: User question (text in natural language format)
[0166] Output: HTTP request (including input text)
[0167] Step 2: Parsing the input text
[0168] The server analyzes the input text received using a natural language processing engine (spaCy). Through analysis, important keywords and entities are extracted from the input text. For example, keywords such as "next episode" and "release date" are extracted.
[0169] Input: User question (text received as HTTP request)
[0170] Output: Important keywords and entities (extraction results)
[0171] Step 3: Generating a search query
[0172] The server generates a search query based on the analysis results. It combines the extracted keywords and entities to create a query for database search. For example, a query such as "next episode release date" is generated.
[0173] Input: Important keywords and entities (extraction results)
[0174] Output: Search query (text to search the database)
[0175] Step 4: Database Search
[0176] The server searches the database using the generated search query and obtains relevant information from the database. For example, information such as "next episode release date" being "next Monday" is obtained.
[0177] Input: Search query
[0178] Output: Related information (data retrieved from the database)
[0179] Step 5: Response Generation
[0180] The server uses the relevant information it has to generate a natural, conversational response using a pipeline of transformers, such as "The next episode will be available next Monday."
[0181] Input: Related Information
[0182] Output: Natural conversational responses (generated results)
[0183] Step 6: Returning a response
[0184] The server returns the generated response as an HTTP response to the smartphone device, which receives the response and displays it in a format that is easy for the user to view.
[0185] Input: Natural conversational responses
[0186] Output: HTTP response (including response), and the response displayed on the user's terminal
[0187] Through the above processing steps, the user can quickly obtain the information he or she needs in a natural, conversational manner.
[0188] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0189] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0190] Specifically, it operates as follows.
[0191] Receiving user inquiries
[0192] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0193] Performing natural language processing
[0194] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0195] Performing emotion recognition
[0196] Additionally, the server uses an emotion engine to recognize emotions from the user's input text, for example, recognizing the positive emotion of the user's request for information from the phrase "please tell me."
[0197] Performing a Search
[0198] The server generates an appropriate search query based on the analysis results and emotion recognition results, and uses this query to search the database. The query, including "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0199] Generate results
[0200] The server generates a natural, conversational response based on the search results retrieved from the database, and adjusts the response content based on the emotion recognition results. For example, it extracts from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and generates a response that reflects positive emotions.
[0201] Returning the results
[0202] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0203] Specific examples
[0204] For example, if a user types "Please tell me when the new product will be released to the market" into their device, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "Please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market early next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market early next month," enabling them to obtain information with a higher level of satisfaction.
[0205] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format and receive responses that reflect their emotions, not only enabling them to quickly obtain the knowledge they need but also providing a more satisfying user experience.
[0206] The processing flow will be explained below.
[0207] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0208] Processing flow
[0209] Step 1: The user enters a question from the terminal.
[0210] Users input questions in natural language through the "Knowledge Navi" interface on their devices, for example, "Please tell me the progress of Project X."
[0211] Step 2: The device sends a query to the server.
[0212] The terminal sends the user's input to the server as an HTTP request, for example, including the question text in the request body.
[0213] Step 3: The server receives the query.
[0214] The server receives the HTTP request and stores the contents in a variable. For example, it retrieves the received text data.
[0215] Step 4: The server starts the natural language processing engine.
[0216] The server initializes the natural language processing engine and prepares it to analyze the question text.
[0217] Step 5: The server parses the query.
[0218] The server uses a natural language processing engine to parse the question text and extract keywords and entities, for example, the keywords "Project X" and "progress."
[0219] Step 6: The server starts the emotion engine.
[0220] The server initializes the emotion engine and prepares for emotion analysis.
[0221] Step 7: The server recognizes the sentiment from the question.
[0222] The server uses an emotion engine to analyze emotions from the user's question, for example, recognizing positive emotions from the sentence "tell me."
[0223] Step 8: The server generates the search query.
[0224] The server generates a search query based on the analysis and emotion recognition results, for example, a query combining "Project X" and "progress."
[0225] Step 9: The server searches the database.
[0226] The server uses the generated query to search a database and retrieve relevant information, for example, data about "progress of project X" from the database.
[0227] Step 10: The server analyzes the search results.
[0228] The server analyzes the information retrieved from the database and selects the information most relevant to the user's question.
[0229] Step 11: The server generates a response.
[0230] Based on the search results and emotion recognition results, the server generates a natural, conversational response that is easy for the user to understand and takes into account their emotions, such as "Project X is currently 75% complete, and the next milestone is next week."
[0231] Step 12: The server sends a response back to the terminal.
[0232] The server sends the generated response back to the terminal as an HTTP response. The server sends data according to the HTTP response format.
[0233] Step 13: The terminal receives the response.
[0234] The terminal receives the HTTP response and stores the received data in a variable.
[0235] Step 14: The terminal displays the response to the user.
[0236] The device will then display the response it receives to the user, for example, "Project X is currently 75% complete, with the next milestone due next week."
[0237] Specific examples
[0238] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input text and extracts the keywords "new product" and "release date," while the emotion engine recognizes the user's motivational emotion from the phrase "please tell me." The server then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a response in a tone that reflects the user's motivational emotion and sends it back to the device. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0239] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format, and by receiving responses that understand and take into consideration emotions, users can obtain information with greater satisfaction.
[0240] Example 2
[0241] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0242] In today's world, it is important for users to obtain the information they need quickly and accurately. However, conventional systems simply analyze the user's input text and are unable to recognize the user's emotions. This makes it difficult to provide appropriate responses based on the user's state and emotions, resulting in reduced user satisfaction. Furthermore, conventional systems simply present search results and are inadequate at generating responses in a natural, conversational format.
[0243] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0244] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for recognizing the user's emotion based on the analysis result, means for searching a database for related information based on the analysis result and the emotion recognition result, means for generating a natural conversational response based on the search result and the emotion recognition result, and means for returning the generated response to the user. This makes it possible to provide a more appropriate and natural conversational response that takes into account not only the user's input content but also their emotion.
[0245] The "means for accepting user input" provides a function that allows a user to input text-based questions or requests into the system through a terminal and transmit the input to the server.
[0246] A "natural language processing engine" is software or algorithms that analyze user input text, extract keywords and entities, and understand the purpose and meaning of the sentence.
[0247] "Emotion recognition" refers to the process of analyzing emotions from user-entered text and understanding the user's emotional state.
[0248] The "means for searching for relevant information from a database" is a function for generating an appropriate search query based on the analyzed keywords and entities, and using that query to retrieve the relevant information from the database.
[0249] The "means for generating natural conversational responses" refers to algorithms or software that constructs easy-to-understand and engaging conversational responses for users based on search results and emotion recognition results.
[0250] "Means for returning as an HTTP response" refers to a communication method for returning the generated response to the terminal using the HTTP protocol and displaying the response to the user.
[0251] This system searches for information and returns a response in a natural conversational format in response to a question entered by a user in natural language. It also has the ability to recognize the user's emotions and generate an appropriate response based on those emotions. This system includes a series of processes that accept and analyze the user's input, search for related information, and return the generated response to the user.
[0252] To implement this system, the following hardware and software are required. First, a smartphone, PC, or other device is required as the user's terminal. The user can use these devices to input questions in natural language. For example, the user might input, "Please tell me when the new product will be released to the market." The terminal then sends this input to the server.
[0253] Next, a server is needed. The server passes the received user input text to a natural language processing engine. For example, Google® Cloud Natural Language API or Microsoft® Azure® Text Analytics API can be used for this engine. The engine analyzes the input text and extracts important keywords and entities. It also analyzes the structure of the sentence and understands its purpose.
[0254] The server then uses an emotion engine to recognize emotions from the user's input text. For example, IBM Watson® Tone Analyzer or Affectiva's emotion recognition API can be used to recognize the user's eagerness to receive information from the phrase "Please tell me."
[0255] Next, the server generates an appropriate search query based on the analysis results and emotion recognition results. This query is used to search a database. The database can be a relational database management system such as MySQL or PostgreSQL. The server generates an appropriate search query containing "new product" and "time to market" and sends it to the database to retrieve relevant information.
[0256] Based on the search results, the server generates a natural, conversational response that is easy for the user to understand. During this process, the acquired information is converted into text and the tone is adjusted taking into account the results of emotion recognition. For example, the server constructs a sentence such as "The new product will be released to the market early next month" and generates a response that takes into account the user's motivational emotions.
[0257] Finally, the server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0258] As a concrete example, consider the case where a user inputs, "Please tell me when the new product will be released to the market." In this case, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month," enabling them to obtain information with a higher level of satisfaction.
[0259] An example of a prompt is, "Please tell me when the new product will be released to the market."
[0260] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0261] Program processing flow
[0262] Step 1: Receiving user inquiries
[0263] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me when the new product will be released to the market." The terminal then sends this input text to the server as an HTTP request. The input data is the user's question text, and the output data is the HTTP request to the server.
[0264] Step 2: Performing Natural Language Processing
[0265] The server extracts the user's input text from the received HTTP request and passes it to a natural language processing engine, for example, using the Google Cloud Natural Language API. The engine analyzes the text and extracts the keywords "new product" and "market launch time." The input data is the user's input text, and the output data is the extracted keywords and entities.
[0266] Step 3: Performing emotion recognition
[0267] The server then passes the parsed text to an emotion recognition engine, for example, using IBM Watson Tone Analyzer. The emotion engine analyzes the user's emotion from the text and recognizes "motivated emotion." The input data is the parsed text, and the output data is the recognized emotion.
[0268] Step 4: Generating a search query
[0269] The server generates an appropriate search query based on the results of natural language processing and emotion recognition. For example, it constructs a query such as "SELECT FROM products WHERE name="new product" AND event="market launch time". The input data are the extracted keywords and recognized emotions, and the output data is the generated search query.
[0270] Step 5: Perform a database search
[0271] The server sends the generated query to a database to search for relevant information. For example, we use a MySQL database. From the database, we get the information "The new product will be launched in the market at the beginning of next month." The input data is the generated search query, and the output data is the relevant information.
[0272] Step 6: Generate a response
[0273] The server generates a natural, conversational response based on the search results, proselytizing the information and formatting it as "The new product will be launched in the market early next month," and adjusting the tone based on the perceived emotion. The input data are the search results and the perceived emotion, and the output data is the generated response.
[0274] Step 7: Returning the results
[0275] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "The new product will be released to the market at the beginning of next month." The input data is the generated response, and the output data is what is displayed to the user.
[0276] (Application example 2)
[0277] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0278] Conventional information search systems have the problem that they cannot improve the user experience by not taking into account the user's emotions when responding to a user's natural language questions or by displaying customized content. In particular, when using advertising, they have the problem that personalized advertising based on the user's emotions is not provided, making it difficult to maximize the effectiveness of advertising.
[0279] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for searching for related information from a database based on the analysis results and emotion analysis results, means for generating a response in a natural conversational style based on the search results and emotion analysis results, and means for returning the generated response and customized content to the user. This makes it possible to provide an appropriate response and display advertisements based on the user's emotions, thereby improving the user experience and maximizing the effectiveness of advertisements.
[0280] The "means for accepting user input" is an interface for transmitting questions or information requests in natural language format made by the user through the terminal to the server.
[0281] A "natural language processing engine" is an analytical tool that analyzes user input text and understands its meaning and context.
[0282] "Emotion analysis results" are emotion information extracted from the user's input text using an emotion engine.
[0283] The "means for searching for relevant information from a database" is a mechanism for generating an appropriate search query based on the analysis results and sentiment analysis results, and retrieving the relevant information from within the database.
[0284] The "means for generating a natural conversational response" is a processing device that constructs a response in a natural and easy-to-understand form for the user based on the search results and sentiment analysis results.
[0285] A "means for returning customized content to the user" is a method for providing additional information or advertising, along with the generated response, that is optimized based on the user's sentiment and search content.
[0286] An "HTTP response" is a response message of a communication protocol used to return information from a server to a user terminal.
[0287] A system for implementing this invention accepts natural language input from a user, searches for information based on the input, and provides appropriate responses and customized content according to the user's emotions. This system includes a server, a terminal, a communication interface, a database, and a natural language processing engine and emotion engine.
[0288] The server uses a smartphone or other device as an interface to accept user input. On this device, the user types a question in natural language, which is then sent to the server. For example, a question might be, "What are the features of the latest smartphone?"
[0289] The server receives this user input and analyzes it using a natural language processing engine (e.g., Hugging Face's Transformers library). This analysis extracts key entities and keywords from the input text. At the same time, it uses an emotion engine (e.g., Hugging Face's Sentiment Analysis model) to recognize emotions from the user's input text. For example, the phrase "please tell me" recognizes a positive emotion indicating the user is desperate for information.
[0290] Based on the analysis results and sentiment analysis results, the server generates an appropriate search query and uses this query to search a database, which stores answers to the question and related information. For example, a query containing "latest smartphone" and "features" is sent to the database to retrieve related information.
[0291] The server then generates a natural conversational response based on the search results and sentiment analysis results. This response is constructed in a natural way that is easy for the user to understand. The response content is also adjusted based on the results of emotion recognition. For example, if a positive emotion is recognized, additional benefits or advertisements may be customized. For example, a response may be generated in the form of, "The latest smartphone is 5G compatible and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase!"
[0292] The generated response and customized content are sent back to the device as an HTTP response, which the device receives and displays to the user. This allows the user to not only get information about their question, but also receive personalized advertisements and special offers based on their emotions.
[0293] Examples of specific prompts include:
[0294] "Tell me the features of the latest smartphones"
[0295] Through the above process, the present invention provides information and personalized advertising that takes into account the user's emotions, thereby improving the user experience.
[0296] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0297] Step 1:
[0298] The user uses the device to input a question in natural language, such as "What are the features of the latest smartphone?" The input data is sent to the server in text format.
[0299] Input: The user's natural language question text
[0300] Output: Send text data to the server
[0301] Step 2:
[0302] The server receives input from the user and analyzes the input text using a natural language processing engine (NLP engine). Specifically, the NLP engine extracts entities and keywords from the text. In this process, for example, elements such as "latest smartphone" and "features" are extracted.
[0303] Input: User-entered text data
[0304] Output: Extracted entities and keywords (e.g., "latest smartphones," "features")
[0305] Step 3:
[0306] At the same time, the server uses an emotion engine to recognize emotions from the user's input text. The emotion engine analyzes the text and determines emotions such as positive, negative, and neutral. For example, a positive emotion is recognized from the phrase "tell me."
[0307] Input: User-entered text data
[0308] Output: Determined emotion (e.g., positive)
[0309] Step 4:
[0310] The server generates appropriate search queries based on the analysis results of the NLP engine and emotion engine. These search queries include extracted entities, keywords, and emotion information. For example, a search query based on "latest smartphones" and "features" is generated.
[0311] Input: extracted entities, keywords, and recognized sentiment
[0312] Output: Generated search query
[0313] Step 5:
[0314] The server uses the generated search query to search a database to retrieve relevant information. The database contains product information, product specifications, reviews, etc. For example, information such as "The latest smartphones are 5G compatible and equipped with high-performance cameras" is retrieved.
[0315] Input: Generated search query
[0316] Output: Relevant information retrieved from the database
[0317] Step 6:
[0318] The server generates a natural, conversational response based on the search results. Sentiment analysis is also taken into account, and if a positive sentiment is detected, additional perks or advertisements may be incorporated. For example, a response might be generated such as, "The latest smartphone is 5G-enabled and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase."
[0319] Input: Related information obtained from the database, sentiment analysis results
[0320] Output: Natural conversational responses
[0321] Step 7:
[0322] The server sends the generated response and customized content back to the device as an HTTP response, and the device displays the received response to the user, allowing the user to receive answers to their questions and customized advertisements and offers.
[0323] Input: Generated natural conversational responses
[0324] Output: Data sent as an HTTP response to the terminal
[0325] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0326] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0327] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0328] [Second embodiment]
[0329] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0330] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0331] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0332] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0333] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0334] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0335] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0336] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0337] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0338] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0339] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0340] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0341] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0342] Specifically, it operates as follows.
[0343] Receiving user inquiries
[0344] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0345] Performing natural language processing
[0346] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0347] Performing a Search
[0348] The server generates an appropriate search query based on the analysis results and uses this query to search the database. The query, which includes "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0349] Generate results
[0350] The server generates a natural conversational response based on the search results retrieved from the database, which is easy for the user to understand. For example, it may extract from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and return this to the user.
[0351] Returning the results
[0352] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0353] Specific examples
[0354] For example, if a user types "Please tell me when the new product will be released to the market" into a terminal, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." The server uses this information to generate a natural conversational response and sends it back to the terminal. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0355] In this way, the system of the present invention enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0356] The processing flow will be explained below.
[0357] Step 1: The user enters a question from the terminal.
[0358] Users enter questions in natural language through the Knowledge Navi interface, for example, "Please tell me the progress of Project X."
[0359] Step 2: The device sends a query to the server.
[0360] The terminal sends the entered question to the server in an HTTP request, for example, including the question text in the request body.
[0361] Step 3: The server receives the query.
[0362] The server receives the HTTP request and extracts the question text from the request body, for example by storing the received data in a variable.
[0363] Step 4: The server starts the natural language processing engine.
[0364] The server launches a natural language processing engine (e.g., spaCy) and prepares it to analyze the user's question text.
[0365] Step 5: The server parses the query.
[0366] The server uses a natural language processing engine to analyze the question text and extract entities and key keywords, for example, the entities "Project X" and "Progress".
[0367] Step 6: The server generates the search query.
[0368] The server generates a query for database search based on the analysis results. For example, it creates an SQL query that includes "Project X" and "progress."
[0369] Step 7: The server searches the database.
[0370] The server executes the generated query against a database to retrieve relevant information, for example, to retrieve progress data from the database.
[0371] Step 8: The server analyzes the search results.
[0372] The server analyzes the results retrieved from the database and selects the information to return to the user, e.g., extracting the most relevant progress information.
[0373] Step 9: The server generates a response.
[0374] The server then generates a natural, conversational response based on the parsed search results, such as "Project X is currently 75% complete, with the next milestone due next week."
[0375] Step 10: The server sends a response back to the terminal.
[0376] The server returns the generated response to the terminal as an HTTP response.
[0377] Step 11: The terminal receives the response.
[0378] The terminal receives the HTTP response from the server and extracts the received data.
[0379] Step 12: The terminal displays the response to the user.
[0380] The device displays the response to the user, for example displaying a message on the screen saying "Project X is currently 75% complete, with the next milestone due next week."
[0381] The above is a specific processing flow in the system of the present invention, which allows users to efficiently search for information in a natural conversational manner and quickly obtain the knowledge they need.
[0382] Example 1
[0383] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0384] Conventional information retrieval systems have had difficulty accurately understanding users' natural language queries and quickly providing relevant information. In particular, they struggled to accommodate the diversity and ambiguity of natural language input, resulting in search results that often did not meet users' expectations. Furthermore, the responses they generated were often unnatural or presented in a format that was difficult for users to understand.
[0385] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0386] In this invention, the server includes means for accepting input in natural language format from a user, means for analyzing the accepted input text with a natural language processing engine and extracting entities and keywords, means for generating an appropriate search query based on the extracted entities and keywords and searching a database using the query, means for generating a response in a natural conversational format using a generative AI model based on the search results, and means for returning the generated response to the user as an HTTP response. This enables a user to obtain information in a quick, accurate, and natural conversational format simply by inputting a question in natural language.
[0387] "User" refers to an individual or group that provides input in natural language form to an information system.
[0388] "Natural language forms" refers to the language systems used by humans on a daily basis, including written and spoken language.
[0389] "Input text" refers to a sentence in natural language format that a user inputs to an information system.
[0390] A "natural language processing engine" refers to software or tools that analyze text in natural language form and understand its meaning and structure.
[0391] An "entity" is a specific object or concept extracted from text using natural language processing, such as a person, place, or thing.
[0392] "Keywords" refer to words or phrases that are particularly important in a text.
[0393] A "search query" is a statement containing specific criteria used to retrieve relevant information from a database.
[0394] A "database" is an electronic information collection system that systematically organizes large amounts of information and makes it easy to search and retrieve.
[0395] A "generative AI model" is a model for generating text using artificial intelligence techniques, for example, to generate natural, conversational responses.
[0396] A "prompt sentence" is an input sentence given to a generative AI model, which serves as an instruction for the model to generate an appropriate response.
[0397] An "HTTP response" refers to a response message that a server sends to a client (user's terminal), and is usually information that includes the result of a request.
[0398] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0399] Receiving user inquiries
[0400] The user uses a terminal to input a question in natural language to the system. For example, they input a sentence like "Please tell me about the progress of the project." The terminal sends this input as an HTTP request to the server. The server receives this request and proceeds to the next processing step.
[0401] Performing natural language processing
[0402] The server passes the received input text to a natural language processing engine (e.g., spaCy or NLTK). The natural language processing engine tokenizes the input text and extracts entities and keywords. For example, it extracts the keywords "project" and "progress" from the sentence "Please tell me about the progress of the project."
[0403] Performing a Search
[0404] The server generates a search query based on the analysis results. In a specific example, it uses a database access library such as SQLAlchemy or Django ORM to send the generated query to a database (e.g., MySQL or PostgreSQL). The database receives a query containing "project" and "progress" and returns the relevant information.
[0405] Generate results
[0406] The server uses a generative AI model (e.g., GPT-4) based on information retrieved from the database to generate a natural, conversational response. During this process, a prompt is input to the generative AI model. An example of a prompt is "Tell me about the progress of Project X:" The generative AI model generates a response text based on this prompt.
[0407] Returning the results
[0408] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. For example, if the generated response is "Project X is currently 75% complete, and the next milestone is next week," the user can check this information on the terminal.
[0409] Specific examples
[0410] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Using this information, the server uses a generative AI model to generate a natural conversational response, "The new product will be released to the market at the beginning of next month," and sends it back to the device. The user can then check this information on their device.
[0411] In this way, this system enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information retrieval and business efficiency.
[0412] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0413] Step 1:
[0414] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me the progress of project X." The input data is acquired as text data on the terminal. The terminal then sends this input to the server as an HTTP request.
[0415] Step 2:
[0416] The server receives an HTTP request sent from the terminal. The received data is text in natural language format entered by the user. This text is passed to a natural language processing engine. Specifically, the request is handled using a web framework such as Flask or Django. The server prepares to analyze the received data.
[0417] Step 3:
[0418] The server passes the received input text to a natural language processing engine (for example, spaCy or NLTK). The natural language processing engine tokenizes the user's input text and extracts entities and keywords. If the input is "Please tell me the progress of project X," the server extracts the entity "project X" and the keyword "progress." This process generates structured data from the input text.
[0419] Step 4:
[0420] The server generates an appropriate search query based on the extracted entities and keywords. For example, it uses SQLAlchemy or Django ORM to construct an SQL query. Based on the entity "Project X progress" and the keywords, the server generates the query "SELECT FROM projects WHERE name="Project X" AND attribute="progress". This query is sent to the database.
[0421] Step 5:
[0422] The server sends the generated search query to a database to retrieve relevant information, for example, "Project X is currently 75% complete" from a database such as MySQL or PostgreSQL. The retrieved data is then ready to be processed by the server.
[0423] Step 6:
[0424] The server uses a generative AI model (e.g., GPT-4) to generate natural conversational responses based on information retrieved from the database. The server inputs information about "Project X's progress" as a prompt into the AI model to generate a natural response. Specifically, the prompt uses "Tell me about the progress of Project X:" Based on this, the AI model generates the response "Project X is currently 75% complete, and the next milestone is next week."
[0425] Step 7:
[0426] The server sends the generated response back to the device as an HTTP response, which contains the generated response in a natural conversational format. The server uses Flask or Django's response object to return the results in JSON format.
[0427] Step 8:
[0428] The device receives the HTTP response from the server and displays the contents to the user. Specifically, it uses front-end JavaScript (such as React or Vue.js) to display the received data on the screen. The user receives an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0429] This series of processes enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0430] (Application example 1)
[0431] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0432] With conventional content distribution services, it has been difficult for users to quickly obtain information of interest. Users have to manually search for the information they need from a large amount of content, which is time-consuming and inconvenient. Furthermore, there are few ways to obtain information in a natural conversational format, resulting in a poor user experience.
[0433] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0434] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text with a natural language processing engine, means for searching a database for related information based on the analysis results, means for generating a response in a natural conversational style based on the search results, and means for returning the generated response to the user on the smartphone terminal, thereby enabling the user to quickly obtain information of interest in a natural conversational style.
[0435] A "user" is someone who uses the system to obtain information.
[0436] "Input" is the act of a user sending a question or request in text form to the system.
[0437] A "natural language processing engine" is a software or hardware technology that analyzes input text and extracts its meaning and important keywords.
[0438] "Parsing" is the process of converting input text into understandable data using a natural language processing engine.
[0439] A "database" is a system for systematically collecting, storing, and managing related information.
[0440] "Relevant information" is data necessary to generate an appropriate response to a user's input.
[0441] "Natural conversational style" means that the responses are in a form that is close to human language and that the user can understand without feeling uncomfortable.
[0442] A "response" is a system-generated reply to a user's input.
[0443] A "smartphone terminal" is a mobile communication device that allows a user to use the system.
[0444] "Bounce" is the act of returning the generated response to the user.
[0445] The present invention provides a system that allows a user to input a question in natural language, searches for related information based on the input, and returns a response in a natural conversational format. The system according to the present invention includes the following means.
[0446] Hardware and Software Configuration
[0447] 1. User device: A device such as a smartphone that a user uses to input a question in natural language. For example, a user uses the device to input a question such as, "What is the latest action movie?"
[0448] 2. Server: A server has multiple functions.
[0449] Natural language processing engine: The server is equipped with a natural language processing engine using spaCy, which analyzes the input text and extracts important keywords and entities.
[0450] Search engine: Generates queries to retrieve relevant information from a database, which contains a large amount of content information, and uses the queries to search the database.
[0451] Response generation engine: Using a pipeline of transformers, the engine generates natural, conversational responses from search results in a format that is easy for users to understand.
[0452] 3. Database: Works in conjunction with the server and stores various content information, such as information about movies, TV dramas, and release dates.
[0453] How it works
[0454] When a user enters a question using a smartphone device, the input is sent to the server. The server analyzes the input text using spaCy to extract important keywords. Next, it generates a search query and searches a database to retrieve relevant information. Based on the retrieved information, a response generation engine using the transformers library generates a response in a natural conversational format. Finally, the generated response is sent back to the smartphone device and displayed to the user. For example, the question "What is the latest action movie?" can be answered in the form of "The latest action movie is Atomic Blonde."
[0455] Specific examples
[0456] Here's a concrete example: If a user types the question "When is the next episode coming out?", the system will do the following:
[0457] 1. Input reception: The user terminal receives the question "When is the next episode released?"
[0458] 2. Input analysis: The natural language processing engine extracts keywords such as "next episode" and "release date."
[0459] 3. Query generation and search: Generate queries based on the extracted keywords and search the database to retrieve relevant information.
[0460] 4. Response Generation: The response generation engine generates a response such as "The next episode will be released next Monday."
[0461] 5. Response return: The generated response is returned to the smartphone device and displayed to the user.
[0462] Examples of prompt statements
[0463] User Question: When is the next episode coming out?
[0464] In this way, the system of the present invention allows users to obtain the information they need quickly and in a natural, conversational manner.
[0465] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0466] Step 1: Accepting user input
[0467] A user inputs a question in natural language into a smartphone device, for example, "When is the next episode released?" This input text is sent from the smartphone device to the server as an HTTP request.
[0468] Input: User question (text in natural language format)
[0469] Output: HTTP request (including input text)
[0470] Step 2: Parsing the input text
[0471] The server analyzes the input text received using a natural language processing engine (spaCy). Through analysis, important keywords and entities are extracted from the input text. For example, keywords such as "next episode" and "release date" are extracted.
[0472] Input: User question (text received as HTTP request)
[0473] Output: Important keywords and entities (extraction results)
[0474] Step 3: Generating a search query
[0475] The server generates a search query based on the analysis results. It combines the extracted keywords and entities to create a query for database search. For example, a query such as "next episode release date" is generated.
[0476] Input: Important keywords and entities (extraction results)
[0477] Output: Search query (text to search the database)
[0478] Step 4: Database Search
[0479] The server searches the database using the generated search query and obtains relevant information from the database. For example, information such as "next episode release date" being "next Monday" is obtained.
[0480] Input: Search query
[0481] Output: Related information (data retrieved from the database)
[0482] Step 5: Response Generation
[0483] The server uses the relevant information it has to generate a natural, conversational response using a pipeline of transformers, such as "The next episode will be available next Monday."
[0484] Input: Related Information
[0485] Output: Natural conversational responses (generated results)
[0486] Step 6: Returning a response
[0487] The server returns the generated response as an HTTP response to the smartphone device, which receives the response and displays it in a format that is easy for the user to view.
[0488] Input: Natural conversational responses
[0489] Output: HTTP response (including response), and the response displayed on the user's terminal
[0490] Through the above processing steps, the user can quickly obtain the information he or she needs in a natural, conversational manner.
[0491] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0492] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0493] Specifically, it operates as follows.
[0494] Receiving user inquiries
[0495] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0496] Performing natural language processing
[0497] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0498] Performing emotion recognition
[0499] Additionally, the server uses an emotion engine to recognize emotions from the user's input text, for example, recognizing the positive emotion of the user's request for information from the phrase "please tell me."
[0500] Performing a Search
[0501] The server generates an appropriate search query based on the analysis results and emotion recognition results, and uses this query to search the database. The query, including "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0502] Generate results
[0503] The server generates a natural, conversational response based on the search results retrieved from the database, and adjusts the response content based on the emotion recognition results. For example, it extracts from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and generates a response that reflects positive emotions.
[0504] Returning the results
[0505] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0506] Specific examples
[0507] For example, if a user types "Please tell me when the new product will be released to the market" into their device, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "Please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market early next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market early next month," enabling them to obtain information with a higher level of satisfaction.
[0508] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format and receive responses that reflect their emotions, not only enabling them to quickly obtain the knowledge they need but also providing a more satisfying user experience.
[0509] The processing flow will be explained below.
[0510] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0511] Processing flow
[0512] Step 1: The user enters a question from the terminal.
[0513] Users input questions in natural language through the "Knowledge Navi" interface on their devices, for example, "Please tell me the progress of Project X."
[0514] Step 2: The device sends a query to the server.
[0515] The terminal sends the user's input to the server as an HTTP request, for example, including the question text in the request body.
[0516] Step 3: The server receives the query.
[0517] The server receives the HTTP request and stores the contents in a variable. For example, it retrieves the received text data.
[0518] Step 4: The server starts the natural language processing engine.
[0519] The server initializes the natural language processing engine and prepares it to analyze the question text.
[0520] Step 5: The server parses the query.
[0521] The server uses a natural language processing engine to parse the question text and extract keywords and entities, for example, the keywords "Project X" and "progress."
[0522] Step 6: The server starts the emotion engine.
[0523] The server initializes the emotion engine and prepares for emotion analysis.
[0524] Step 7: The server recognizes the sentiment from the question.
[0525] The server uses an emotion engine to analyze emotions from the user's question, for example, recognizing positive emotions from the sentence "tell me."
[0526] Step 8: The server generates the search query.
[0527] The server generates a search query based on the analysis and emotion recognition results, for example, a query combining "Project X" and "progress."
[0528] Step 9: The server searches the database.
[0529] The server uses the generated query to search a database and retrieve relevant information, for example, data about "progress of project X" from the database.
[0530] Step 10: The server analyzes the search results.
[0531] The server analyzes the information retrieved from the database and selects the information most relevant to the user's question.
[0532] Step 11: The server generates a response.
[0533] Based on the search results and emotion recognition results, the server generates a natural, conversational response that is easy for the user to understand and takes into account their emotions, such as "Project X is currently 75% complete, and the next milestone is next week."
[0534] Step 12: The server sends a response back to the terminal.
[0535] The server sends the generated response back to the terminal as an HTTP response. The server sends data according to the HTTP response format.
[0536] Step 13: The terminal receives the response.
[0537] The terminal receives the HTTP response and stores the received data in a variable.
[0538] Step 14: The terminal displays the response to the user.
[0539] The device will then display the response it receives to the user, for example, "Project X is currently 75% complete, with the next milestone due next week."
[0540] Specific examples
[0541] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input text and extracts the keywords "new product" and "release date," while the emotion engine recognizes the user's motivational emotion from the phrase "please tell me." The server then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a response in a tone that reflects the user's motivational emotion and sends it back to the device. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0542] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format, and by receiving responses that understand and take into consideration emotions, users can obtain information with greater satisfaction.
[0543] Example 2
[0544] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0545] In today's world, it is important for users to obtain the information they need quickly and accurately. However, conventional systems simply analyze the user's input text and are unable to recognize the user's emotions. This makes it difficult to provide appropriate responses based on the user's state and emotions, resulting in reduced user satisfaction. Furthermore, conventional systems simply present search results and are inadequate at generating responses in a natural, conversational format.
[0546] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0547] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for recognizing the user's emotion based on the analysis result, means for searching a database for related information based on the analysis result and the emotion recognition result, means for generating a natural conversational response based on the search result and the emotion recognition result, and means for returning the generated response to the user. This makes it possible to provide a more appropriate and natural conversational response that takes into account not only the user's input content but also their emotion.
[0548] The "means for accepting user input" provides a function that allows a user to input text-based questions or requests into the system through a terminal and transmit the input to the server.
[0549] A "natural language processing engine" is software or algorithms that analyze user input text, extract keywords and entities, and understand the purpose and meaning of the sentence.
[0550] "Emotion recognition" refers to the process of analyzing emotions from user-entered text and understanding the user's emotional state.
[0551] The "means for searching for relevant information from a database" is a function for generating an appropriate search query based on the analyzed keywords and entities, and using that query to retrieve the relevant information from the database.
[0552] The "means for generating natural conversational responses" refers to algorithms or software that constructs easy-to-understand and engaging conversational responses for users based on search results and emotion recognition results.
[0553] "Means for returning as an HTTP response" refers to a communication method for returning the generated response to the terminal using the HTTP protocol and displaying the response to the user.
[0554] This system searches for information and returns a response in a natural conversational format in response to a question entered by a user in natural language. It also has the ability to recognize the user's emotions and generate an appropriate response based on those emotions. This system includes a series of processes that accept and analyze the user's input, search for related information, and return the generated response to the user.
[0555] To implement this system, the following hardware and software are required. First, a smartphone, PC, or other device is required as the user's terminal. The user can use these devices to input questions in natural language. For example, the user might input, "Please tell me when the new product will be released to the market." The terminal then sends this input to the server.
[0556] Next, a server is needed. The server accepts the user's input text and passes it to a natural language processing engine. For example, you can use the Google Cloud Natural Language API or Microsoft Azure's Text Analytics API. The engine analyzes the input text and extracts important keywords and entities. It also analyzes the sentence structure and understands the purpose of the sentence.
[0557] The server then uses an emotion engine to recognize emotions from the user's input text, such as IBM Watson Tone Analyzer or Affectiva's emotion recognition API, to recognize the eager emotion of the user's desire for information from the phrase "tell me."
[0558] Next, the server generates an appropriate search query based on the analysis results and emotion recognition results. This query is used to search a database. The database can be a relational database management system such as MySQL or PostgreSQL. The server generates an appropriate search query containing "new product" and "time to market" and sends it to the database to retrieve relevant information.
[0559] Based on the search results, the server generates a natural, conversational response that is easy for the user to understand. During this process, the acquired information is converted into text and the tone is adjusted taking into account the results of emotion recognition. For example, the server constructs a sentence such as "The new product will be released to the market early next month" and generates a response that takes into account the user's motivational emotions.
[0560] Finally, the server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0561] As a concrete example, consider the case where a user inputs, "Please tell me when the new product will be released to the market." In this case, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month," enabling them to obtain information with a higher level of satisfaction.
[0562] An example of a prompt is, "Please tell me when the new product will be released to the market."
[0563] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0564] Program processing flow
[0565] Step 1: Receiving user inquiries
[0566] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me when the new product will be released to the market." The terminal then sends this input text to the server as an HTTP request. The input data is the user's question text, and the output data is the HTTP request to the server.
[0567] Step 2: Performing Natural Language Processing
[0568] The server extracts the user's input text from the received HTTP request and passes it to a natural language processing engine, for example, using the Google Cloud Natural Language API. The engine analyzes the text and extracts the keywords "new product" and "market launch time." The input data is the user's input text, and the output data is the extracted keywords and entities.
[0569] Step 3: Performing emotion recognition
[0570] The server then passes the parsed text to an emotion recognition engine, for example, using IBM Watson Tone Analyzer. The emotion engine analyzes the user's emotion from the text and recognizes "motivated emotion." The input data is the parsed text, and the output data is the recognized emotion.
[0571] Step 4: Generating a search query
[0572] The server generates an appropriate search query based on the results of natural language processing and emotion recognition. For example, it constructs a query such as "SELECT FROM products WHERE name="new product" AND event="market launch time". The input data are the extracted keywords and recognized emotions, and the output data is the generated search query.
[0573] Step 5: Perform a database search
[0574] The server sends the generated query to a database to search for relevant information. For example, we use a MySQL database. From the database, we get the information "The new product will be launched in the market at the beginning of next month." The input data is the generated search query, and the output data is the relevant information.
[0575] Step 6: Generate a response
[0576] The server generates a natural, conversational response based on the search results, proselytizing the information and formatting it as "The new product will be launched in the market early next month," and adjusting the tone based on the perceived emotion. The input data are the search results and the perceived emotion, and the output data is the generated response.
[0577] Step 7: Returning the results
[0578] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "The new product will be released to the market at the beginning of next month." The input data is the generated response, and the output data is what is displayed to the user.
[0579] (Application example 2)
[0580] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0581] Conventional information search systems have the problem that they cannot improve the user experience by not taking into account the user's emotions when responding to a user's natural language questions or by displaying customized content. In particular, when using advertising, they have the problem that personalized advertising based on the user's emotions is not provided, making it difficult to maximize the effectiveness of advertising.
[0582] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for searching for related information from a database based on the analysis results and emotion analysis results, means for generating a response in a natural conversational style based on the search results and emotion analysis results, and means for returning the generated response and customized content to the user. This makes it possible to provide an appropriate response and display advertisements based on the user's emotions, thereby improving the user experience and maximizing the effectiveness of advertisements.
[0583] The "means for accepting user input" is an interface for transmitting questions or information requests in natural language format made by the user through the terminal to the server.
[0584] A "natural language processing engine" is an analytical tool that analyzes user input text and understands its meaning and context.
[0585] "Emotion analysis results" are emotion information extracted from the user's input text using an emotion engine.
[0586] The "means for searching for relevant information from a database" is a mechanism for generating an appropriate search query based on the analysis results and sentiment analysis results, and retrieving the relevant information from within the database.
[0587] The "means for generating a natural conversational response" is a processing device that constructs a response in a natural and easy-to-understand form for the user based on the search results and sentiment analysis results.
[0588] A "means for returning customized content to the user" is a method for providing additional information or advertising, along with the generated response, that is optimized based on the user's sentiment and search content.
[0589] An "HTTP response" is a response message of a communication protocol used to return information from a server to a user terminal.
[0590] A system for implementing this invention accepts natural language input from a user, searches for information based on the input, and provides appropriate responses and customized content according to the user's emotions. This system includes a server, a terminal, a communication interface, a database, and a natural language processing engine and emotion engine.
[0591] The server uses a smartphone or other device as an interface to accept user input. On this device, the user types a question in natural language, which is then sent to the server. For example, a question might be, "What are the features of the latest smartphone?"
[0592] The server receives this user input and analyzes it using a natural language processing engine (e.g., Hugging Face's Transformers library). This analysis extracts key entities and keywords from the input text. At the same time, it uses an emotion engine (e.g., Hugging Face's Sentiment Analysis model) to recognize emotions from the user's input text. For example, the phrase "please tell me" recognizes a positive emotion indicating the user is desperate for information.
[0593] Based on the analysis results and sentiment analysis results, the server generates an appropriate search query and uses this query to search a database, which stores answers to the question and related information. For example, a query containing "latest smartphone" and "features" is sent to the database to retrieve related information.
[0594] The server then generates a natural conversational response based on the search results and sentiment analysis results. This response is constructed in a natural way that is easy for the user to understand. The response content is also adjusted based on the results of emotion recognition. For example, if a positive emotion is recognized, additional benefits or advertisements may be customized. For example, a response may be generated in the form of, "The latest smartphone is 5G compatible and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase!"
[0595] The generated response and customized content are sent back to the device as an HTTP response, which the device receives and displays to the user. This allows the user to not only get information about their question, but also receive personalized advertisements and special offers based on their emotions.
[0596] Examples of specific prompts include:
[0597] "Tell me the features of the latest smartphones"
[0598] Through the above process, the present invention provides information and personalized advertising that takes into account the user's emotions, thereby improving the user experience.
[0599] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0600] Step 1:
[0601] The user uses the device to input a question in natural language, such as "What are the features of the latest smartphone?" The input data is sent to the server in text format.
[0602] Input: The user's natural language question text
[0603] Output: Send text data to the server
[0604] Step 2:
[0605] The server receives input from the user and analyzes the input text using a natural language processing engine (NLP engine). Specifically, the NLP engine extracts entities and keywords from the text. In this process, for example, elements such as "latest smartphone" and "features" are extracted.
[0606] Input: User-entered text data
[0607] Output: Extracted entities and keywords (e.g., "latest smartphones," "features")
[0608] Step 3:
[0609] At the same time, the server uses an emotion engine to recognize emotions from the user's input text. The emotion engine analyzes the text and determines emotions such as positive, negative, and neutral. For example, a positive emotion is recognized from the phrase "tell me."
[0610] Input: User-entered text data
[0611] Output: Determined emotion (e.g., positive)
[0612] Step 4:
[0613] The server generates appropriate search queries based on the analysis results of the NLP engine and emotion engine. These search queries include extracted entities, keywords, and emotion information. For example, a search query based on "latest smartphones" and "features" is generated.
[0614] Input: extracted entities, keywords, and recognized sentiment
[0615] Output: Generated search query
[0616] Step 5:
[0617] The server uses the generated search query to search a database to retrieve relevant information. The database contains product information, product specifications, reviews, etc. For example, information such as "The latest smartphones are 5G compatible and equipped with high-performance cameras" is retrieved.
[0618] Input: Generated search query
[0619] Output: Relevant information retrieved from the database
[0620] Step 6:
[0621] The server generates a natural, conversational response based on the search results. Sentiment analysis is also taken into account, and if a positive sentiment is detected, additional perks or advertisements may be incorporated. For example, a response might be generated such as, "The latest smartphone is 5G-enabled and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase."
[0622] Input: Related information obtained from the database, sentiment analysis results
[0623] Output: Natural conversational responses
[0624] Step 7:
[0625] The server sends the generated response and customized content back to the device as an HTTP response, and the device displays the received response to the user, allowing the user to receive answers to their questions and customized advertisements and offers.
[0626] Input: Generated natural conversational responses
[0627] Output: Data sent as an HTTP response to the terminal
[0628] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0629] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0630] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0631] [Third embodiment]
[0632] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0633] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0634] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0635] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0636] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0637] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0638] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0639] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0640] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0641] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0642] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0643] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0644] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0645] Specifically, it operates as follows.
[0646] Receiving user inquiries
[0647] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0648] Performing natural language processing
[0649] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0650] Performing a Search
[0651] The server generates an appropriate search query based on the analysis results and uses this query to search the database. The query, which includes "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0652] Generate results
[0653] The server generates a natural conversational response based on the search results retrieved from the database, which is easy for the user to understand. For example, it may extract from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and return this to the user.
[0654] Returning the results
[0655] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0656] Specific examples
[0657] For example, if a user types "Please tell me when the new product will be released to the market" into a terminal, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." The server uses this information to generate a natural conversational response and sends it back to the terminal. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0658] In this way, the system of the present invention enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0659] The processing flow will be explained below.
[0660] Step 1: The user enters a question from the terminal.
[0661] Users enter questions in natural language through the Knowledge Navi interface, for example, "Please tell me the progress of Project X."
[0662] Step 2: The device sends a query to the server.
[0663] The terminal sends the entered question to the server in an HTTP request, for example, including the question text in the request body.
[0664] Step 3: The server receives the query.
[0665] The server receives the HTTP request and extracts the question text from the request body, for example by storing the received data in a variable.
[0666] Step 4: The server starts the natural language processing engine.
[0667] The server launches a natural language processing engine (e.g., spaCy) and prepares it to analyze the user's question text.
[0668] Step 5: The server parses the query.
[0669] The server uses a natural language processing engine to analyze the question text and extract entities and key keywords, for example, the entities "Project X" and "Progress".
[0670] Step 6: The server generates the search query.
[0671] The server generates a query for database search based on the analysis results. For example, it creates an SQL query that includes "Project X" and "progress."
[0672] Step 7: The server searches the database.
[0673] The server executes the generated query against a database to retrieve relevant information, for example, to retrieve progress data from the database.
[0674] Step 8: The server analyzes the search results.
[0675] The server analyzes the results retrieved from the database and selects the information to return to the user, e.g., extracting the most relevant progress information.
[0676] Step 9: The server generates a response.
[0677] The server then generates a natural, conversational response based on the parsed search results, such as "Project X is currently 75% complete, with the next milestone due next week."
[0678] Step 10: The server sends a response back to the terminal.
[0679] The server returns the generated response to the terminal as an HTTP response.
[0680] Step 11: The terminal receives the response.
[0681] The terminal receives the HTTP response from the server and extracts the received data.
[0682] Step 12: The terminal displays the response to the user.
[0683] The device displays the response to the user, for example displaying a message on the screen saying "Project X is currently 75% complete, with the next milestone due next week."
[0684] The above is a specific processing flow in the system of the present invention, which allows users to efficiently search for information in a natural conversational manner and quickly obtain the knowledge they need.
[0685] Example 1
[0686] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0687] Conventional information retrieval systems have had difficulty accurately understanding users' natural language queries and quickly providing relevant information. In particular, they struggled to accommodate the diversity and ambiguity of natural language input, resulting in search results that often did not meet users' expectations. Furthermore, the responses they generated were often unnatural or presented in a format that was difficult for users to understand.
[0688] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0689] In this invention, the server includes means for accepting input in natural language format from a user, means for analyzing the accepted input text with a natural language processing engine and extracting entities and keywords, means for generating an appropriate search query based on the extracted entities and keywords and searching a database using the query, means for generating a response in a natural conversational format using a generative AI model based on the search results, and means for returning the generated response to the user as an HTTP response. This enables a user to obtain information in a quick, accurate, and natural conversational format simply by inputting a question in natural language.
[0690] "User" refers to an individual or group that provides input in natural language form to an information system.
[0691] "Natural language forms" refers to the language systems used by humans on a daily basis, including written and spoken language.
[0692] "Input text" refers to a sentence in natural language format that a user inputs to an information system.
[0693] A "natural language processing engine" refers to software or tools that analyze text in natural language form and understand its meaning and structure.
[0694] An "entity" is a specific object or concept extracted from text using natural language processing, such as a person, place, or thing.
[0695] "Keywords" refer to words or phrases that are particularly important in a text.
[0696] A "search query" is a statement containing specific criteria used to retrieve relevant information from a database.
[0697] A "database" is an electronic information collection system that systematically organizes large amounts of information and makes it easy to search and retrieve.
[0698] A "generative AI model" is a model for generating text using artificial intelligence techniques, for example, to generate natural, conversational responses.
[0699] A "prompt sentence" is an input sentence given to a generative AI model, which serves as an instruction for the model to generate an appropriate response.
[0700] An "HTTP response" refers to a response message that a server sends to a client (user's terminal), and is usually information that includes the result of a request.
[0701] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0702] Receiving user inquiries
[0703] The user uses a terminal to input a question in natural language to the system. For example, they input a sentence like "Please tell me about the progress of the project." The terminal sends this input as an HTTP request to the server. The server receives this request and proceeds to the next processing step.
[0704] Performing natural language processing
[0705] The server passes the received input text to a natural language processing engine (e.g., spaCy or NLTK). The natural language processing engine tokenizes the input text and extracts entities and keywords. For example, it extracts the keywords "project" and "progress" from the sentence "Please tell me about the progress of the project."
[0706] Performing a Search
[0707] The server generates a search query based on the analysis results. In a specific example, it uses a database access library such as SQLAlchemy or Django ORM to send the generated query to a database (e.g., MySQL or PostgreSQL). The database receives a query containing "project" and "progress" and returns the relevant information.
[0708] Generate results
[0709] The server uses a generative AI model (e.g., GPT-4) based on information retrieved from the database to generate a natural, conversational response. During this process, a prompt is input to the generative AI model. An example of a prompt is "Tell me about the progress of Project X:" The generative AI model generates a response text based on this prompt.
[0710] Returning the results
[0711] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. For example, if the generated response is "Project X is currently 75% complete, and the next milestone is next week," the user can check this information on the terminal.
[0712] Specific examples
[0713] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Using this information, the server uses a generative AI model to generate a natural conversational response, "The new product will be released to the market at the beginning of next month," and sends it back to the device. The user can then check this information on their device.
[0714] In this way, this system enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information retrieval and business efficiency.
[0715] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0716] Step 1:
[0717] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me the progress of project X." The input data is acquired as text data on the terminal. The terminal then sends this input to the server as an HTTP request.
[0718] Step 2:
[0719] The server receives an HTTP request sent from the terminal. The received data is text in natural language format entered by the user. This text is passed to a natural language processing engine. Specifically, the request is handled using a web framework such as Flask or Django. The server prepares to analyze the received data.
[0720] Step 3:
[0721] The server passes the received input text to a natural language processing engine (for example, spaCy or NLTK). The natural language processing engine tokenizes the user's input text and extracts entities and keywords. If the input is "Please tell me the progress of project X," the server extracts the entity "project X" and the keyword "progress." This process generates structured data from the input text.
[0722] Step 4:
[0723] The server generates an appropriate search query based on the extracted entities and keywords. For example, it uses SQLAlchemy or Django ORM to construct an SQL query. Based on the entity "Project X progress" and the keywords, the server generates the query "SELECT FROM projects WHERE name="Project X" AND attribute="progress". This query is sent to the database.
[0724] Step 5:
[0725] The server sends the generated search query to a database to retrieve relevant information, for example, "Project X is currently 75% complete" from a database such as MySQL or PostgreSQL. The retrieved data is then ready to be processed by the server.
[0726] Step 6:
[0727] The server uses a generative AI model (e.g., GPT-4) to generate natural conversational responses based on information retrieved from the database. The server inputs information about "Project X's progress" as a prompt into the AI model to generate a natural response. Specifically, the prompt uses "Tell me about the progress of Project X:" Based on this, the AI model generates the response "Project X is currently 75% complete, and the next milestone is next week."
[0728] Step 7:
[0729] The server sends the generated response back to the device as an HTTP response, which contains the generated response in a natural conversational format. The server uses Flask or Django's response object to return the results in JSON format.
[0730] Step 8:
[0731] The device receives the HTTP response from the server and displays the contents to the user. Specifically, it uses front-end JavaScript (such as React or Vue.js) to display the received data on the screen. The user receives an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0732] This series of processes enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0733] (Application example 1)
[0734] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0735] With conventional content distribution services, it has been difficult for users to quickly obtain information of interest. Users have to manually search for the information they need from a large amount of content, which is time-consuming and inconvenient. Furthermore, there are few ways to obtain information in a natural conversational format, resulting in a poor user experience.
[0736] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0737] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text with a natural language processing engine, means for searching a database for related information based on the analysis results, means for generating a response in a natural conversational style based on the search results, and means for returning the generated response to the user on the smartphone terminal, thereby enabling the user to quickly obtain information of interest in a natural conversational style.
[0738] A "user" is someone who uses the system to obtain information.
[0739] "Input" is the act of a user sending a question or request in text form to the system.
[0740] A "natural language processing engine" is a software or hardware technology that analyzes input text and extracts its meaning and important keywords.
[0741] "Parsing" is the process of converting input text into understandable data using a natural language processing engine.
[0742] A "database" is a system for systematically collecting, storing, and managing related information.
[0743] "Relevant information" is data necessary to generate an appropriate response to a user's input.
[0744] "Natural conversational style" means that the responses are in a form that is close to human language and that the user can understand without feeling uncomfortable.
[0745] A "response" is a system-generated reply to a user's input.
[0746] A "smartphone terminal" is a mobile communication device that allows a user to use the system.
[0747] "Bounce" is the act of returning the generated response to the user.
[0748] The present invention provides a system that allows a user to input a question in natural language, searches for related information based on the input, and returns a response in a natural conversational format. The system according to the present invention includes the following means.
[0749] Hardware and Software Configuration
[0750] 1. User device: A device such as a smartphone that a user uses to input a question in natural language. For example, a user uses the device to input a question such as, "What is the latest action movie?"
[0751] 2. Server: A server has multiple functions.
[0752] Natural language processing engine: The server is equipped with a natural language processing engine using spaCy, which analyzes the input text and extracts important keywords and entities.
[0753] Search engine: Generates queries to retrieve relevant information from a database, which contains a large amount of content information, and uses the queries to search the database.
[0754] Response generation engine: Using a pipeline of transformers, the engine generates natural, conversational responses from search results in a format that is easy for users to understand.
[0755] 3. Database: Works in conjunction with the server and stores various content information, such as information about movies, TV dramas, and release dates.
[0756] How it works
[0757] When a user enters a question using a smartphone device, the input is sent to the server. The server analyzes the input text using spaCy to extract important keywords. Next, it generates a search query and searches a database to retrieve relevant information. Based on the retrieved information, a response generation engine using the transformers library generates a response in a natural conversational format. Finally, the generated response is sent back to the smartphone device and displayed to the user. For example, the question "What is the latest action movie?" can be answered in the form of "The latest action movie is Atomic Blonde."
[0758] Specific examples
[0759] Here's a concrete example: If a user types the question "When is the next episode coming out?", the system will do the following:
[0760] 1. Input reception: The user terminal receives the question "When is the next episode released?"
[0761] 2. Input analysis: The natural language processing engine extracts keywords such as "next episode" and "release date."
[0762] 3. Query generation and search: Generate queries based on the extracted keywords and search the database to retrieve relevant information.
[0763] 4. Response Generation: The response generation engine generates a response such as "The next episode will be released next Monday."
[0764] 5. Response return: The generated response is returned to the smartphone device and displayed to the user.
[0765] Examples of prompt statements
[0766] User Question: When is the next episode coming out?
[0767] In this way, the system of the present invention allows users to obtain the information they need quickly and in a natural, conversational manner.
[0768] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0769] Step 1: Accepting user input
[0770] A user inputs a question in natural language into a smartphone device, for example, "When is the next episode released?" This input text is sent from the smartphone device to the server as an HTTP request.
[0771] Input: User question (text in natural language format)
[0772] Output: HTTP request (including input text)
[0773] Step 2: Parsing the input text
[0774] The server analyzes the input text received using a natural language processing engine (spaCy). Through analysis, important keywords and entities are extracted from the input text. For example, keywords such as "next episode" and "release date" are extracted.
[0775] Input: User question (text received as HTTP request)
[0776] Output: Important keywords and entities (extraction results)
[0777] Step 3: Generating a search query
[0778] The server generates a search query based on the analysis results. It combines the extracted keywords and entities to create a query for database search. For example, a query such as "next episode release date" is generated.
[0779] Input: Important keywords and entities (extraction results)
[0780] Output: Search query (text to search the database)
[0781] Step 4: Database Search
[0782] The server searches the database using the generated search query and obtains relevant information from the database. For example, information such as "next episode release date" being "next Monday" is obtained.
[0783] Input: Search query
[0784] Output: Related information (data retrieved from the database)
[0785] Step 5: Response Generation
[0786] The server uses the relevant information it has to generate a natural, conversational response using a pipeline of transformers, such as "The next episode will be available next Monday."
[0787] Input: Related Information
[0788] Output: Natural conversational responses (generated results)
[0789] Step 6: Returning a response
[0790] The server returns the generated response as an HTTP response to the smartphone device, which receives the response and displays it in a format that is easy for the user to view.
[0791] Input: Natural conversational responses
[0792] Output: HTTP response (including response), and the response displayed on the user's terminal
[0793] Through the above processing steps, the user can quickly obtain the information he or she needs in a natural, conversational manner.
[0794] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0795] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0796] Specifically, it operates as follows.
[0797] Receiving user inquiries
[0798] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0799] Performing natural language processing
[0800] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0801] Performing emotion recognition
[0802] Additionally, the server uses an emotion engine to recognize emotions from the user's input text, for example, recognizing the positive emotion of the user's request for information from the phrase "please tell me."
[0803] Performing a Search
[0804] The server generates an appropriate search query based on the analysis results and emotion recognition results, and uses this query to search the database. The query, including "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0805] Generate results
[0806] The server generates a natural, conversational response based on the search results retrieved from the database, and adjusts the response content based on the emotion recognition results. For example, it extracts from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and generates a response that reflects positive emotions.
[0807] Returning the results
[0808] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0809] Specific examples
[0810] For example, if a user types "Please tell me when the new product will be released to the market" into their device, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "Please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market early next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market early next month," enabling them to obtain information with a higher level of satisfaction.
[0811] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format and receive responses that reflect their emotions, not only enabling them to quickly obtain the knowledge they need but also providing a more satisfying user experience.
[0812] The processing flow will be explained below.
[0813] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[0814] Processing flow
[0815] Step 1: The user enters a question from the terminal.
[0816] Users input questions in natural language through the "Knowledge Navi" interface on their devices, for example, "Please tell me the progress of Project X."
[0817] Step 2: The device sends a query to the server.
[0818] The terminal sends the user's input to the server as an HTTP request, for example, including the question text in the request body.
[0819] Step 3: The server receives the query.
[0820] The server receives the HTTP request and stores the contents in a variable. For example, it retrieves the received text data.
[0821] Step 4: The server starts the natural language processing engine.
[0822] The server initializes the natural language processing engine and prepares it to analyze the question text.
[0823] Step 5: The server parses the query.
[0824] The server uses a natural language processing engine to parse the question text and extract keywords and entities, for example, the keywords "Project X" and "progress."
[0825] Step 6: The server starts the emotion engine.
[0826] The server initializes the emotion engine and prepares for emotion analysis.
[0827] Step 7: The server recognizes the sentiment from the question.
[0828] The server uses an emotion engine to analyze emotions from the user's question, for example, recognizing positive emotions from the sentence "tell me."
[0829] Step 8: The server generates the search query.
[0830] The server generates a search query based on the analysis and emotion recognition results, for example, a query combining "Project X" and "progress."
[0831] Step 9: The server searches the database.
[0832] The server uses the generated query to search a database and retrieve relevant information, for example, data about "progress of project X" from the database.
[0833] Step 10: The server analyzes the search results.
[0834] The server analyzes the information retrieved from the database and selects the information most relevant to the user's question.
[0835] Step 11: The server generates a response.
[0836] Based on the search results and emotion recognition results, the server generates a natural, conversational response that is easy for the user to understand and takes into account their emotions, such as "Project X is currently 75% complete, and the next milestone is next week."
[0837] Step 12: The server sends a response back to the terminal.
[0838] The server sends the generated response back to the terminal as an HTTP response. The server sends data according to the HTTP response format.
[0839] Step 13: The terminal receives the response.
[0840] The terminal receives the HTTP response and stores the received data in a variable.
[0841] Step 14: The terminal displays the response to the user.
[0842] The device will then display the response it receives to the user, for example, "Project X is currently 75% complete, with the next milestone due next week."
[0843] Specific examples
[0844] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input text and extracts the keywords "new product" and "release date," while the emotion engine recognizes the user's motivational emotion from the phrase "please tell me." The server then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a response in a tone that reflects the user's motivational emotion and sends it back to the device. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0845] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format, and by receiving responses that understand and take into consideration emotions, users can obtain information with greater satisfaction.
[0846] Example 2
[0847] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0848] In today's world, it is important for users to obtain the information they need quickly and accurately. However, conventional systems simply analyze the user's input text and are unable to recognize the user's emotions. This makes it difficult to provide appropriate responses based on the user's state and emotions, resulting in reduced user satisfaction. Furthermore, conventional systems simply present search results and are inadequate at generating responses in a natural, conversational format.
[0849] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0850] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for recognizing the user's emotion based on the analysis result, means for searching a database for related information based on the analysis result and the emotion recognition result, means for generating a natural conversational response based on the search result and the emotion recognition result, and means for returning the generated response to the user. This makes it possible to provide a more appropriate and natural conversational response that takes into account not only the user's input content but also their emotion.
[0851] The "means for accepting user input" provides a function that allows a user to input text-based questions or requests into the system through a terminal and transmit the input to the server.
[0852] A "natural language processing engine" is software or algorithms that analyze user input text, extract keywords and entities, and understand the purpose and meaning of the sentence.
[0853] "Emotion recognition" refers to the process of analyzing emotions from user-entered text and understanding the user's emotional state.
[0854] The "means for searching for relevant information from a database" is a function for generating an appropriate search query based on the analyzed keywords and entities, and using that query to retrieve the relevant information from the database.
[0855] The "means for generating natural conversational responses" refers to algorithms or software that constructs easy-to-understand and engaging conversational responses for users based on search results and emotion recognition results.
[0856] "Means for returning as an HTTP response" refers to a communication method for returning the generated response to the terminal using the HTTP protocol and displaying the response to the user.
[0857] This system searches for information and returns a response in a natural conversational format in response to a question entered by a user in natural language. It also has the ability to recognize the user's emotions and generate an appropriate response based on those emotions. This system includes a series of processes that accept and analyze the user's input, search for related information, and return the generated response to the user.
[0858] To implement this system, the following hardware and software are required. First, a smartphone, PC, or other device is required as the user's terminal. The user can use these devices to input questions in natural language. For example, the user might input, "Please tell me when the new product will be released to the market." The terminal then sends this input to the server.
[0859] Next, a server is needed. The server accepts the user's input text and passes it to a natural language processing engine. For example, you can use the Google Cloud Natural Language API or Microsoft Azure's Text Analytics API. The engine analyzes the input text and extracts important keywords and entities. It also analyzes the sentence structure and understands the purpose of the sentence.
[0860] The server then uses an emotion engine to recognize emotions from the user's input text, such as IBM Watson Tone Analyzer or Affectiva's emotion recognition API, to recognize the eager emotion of the user's desire for information from the phrase "tell me."
[0861] Next, the server generates an appropriate search query based on the analysis results and emotion recognition results. This query is used to search a database. The database can be a relational database management system such as MySQL or PostgreSQL. The server generates an appropriate search query containing "new product" and "time to market" and sends it to the database to retrieve relevant information.
[0862] Based on the search results, the server generates a natural, conversational response that is easy for the user to understand. During this process, the acquired information is converted into text and the tone is adjusted taking into account the results of emotion recognition. For example, the server constructs a sentence such as "The new product will be released to the market early next month" and generates a response that takes into account the user's motivational emotions.
[0863] Finally, the server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0864] As a concrete example, consider the case where a user inputs, "Please tell me when the new product will be released to the market." In this case, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month," enabling them to obtain information with a higher level of satisfaction.
[0865] An example of a prompt is, "Please tell me when the new product will be released to the market."
[0866] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0867] Program processing flow
[0868] Step 1: Receiving user inquiries
[0869] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me when the new product will be released to the market." The terminal then sends this input text to the server as an HTTP request. The input data is the user's question text, and the output data is the HTTP request to the server.
[0870] Step 2: Performing Natural Language Processing
[0871] The server extracts the user's input text from the received HTTP request and passes it to a natural language processing engine, for example, using the Google Cloud Natural Language API. The engine analyzes the text and extracts the keywords "new product" and "market launch time." The input data is the user's input text, and the output data is the extracted keywords and entities.
[0872] Step 3: Performing emotion recognition
[0873] The server then passes the parsed text to an emotion recognition engine, for example, using IBM Watson Tone Analyzer. The emotion engine analyzes the user's emotion from the text and recognizes "motivated emotion." The input data is the parsed text, and the output data is the recognized emotion.
[0874] Step 4: Generating a search query
[0875] The server generates an appropriate search query based on the results of natural language processing and emotion recognition. For example, it constructs a query such as "SELECT FROM products WHERE name="new product" AND event="market launch time". The input data are the extracted keywords and recognized emotions, and the output data is the generated search query.
[0876] Step 5: Perform a database search
[0877] The server sends the generated query to a database to search for relevant information. For example, we use a MySQL database. From the database, we get the information "The new product will be launched in the market at the beginning of next month." The input data is the generated search query, and the output data is the relevant information.
[0878] Step 6: Generate a response
[0879] The server generates a natural, conversational response based on the search results, proselytizing the information and formatting it as "The new product will be launched in the market early next month," and adjusting the tone based on the perceived emotion. The input data are the search results and the perceived emotion, and the output data is the generated response.
[0880] Step 7: Returning the results
[0881] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "The new product will be released to the market at the beginning of next month." The input data is the generated response, and the output data is what is displayed to the user.
[0882] (Application example 2)
[0883] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0884] Conventional information search systems have the problem that they cannot improve the user experience by not taking into account the user's emotions when responding to a user's natural language questions or by displaying customized content. In particular, when using advertising, they have the problem that personalized advertising based on the user's emotions is not provided, making it difficult to maximize the effectiveness of advertising.
[0885] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for searching for related information from a database based on the analysis results and emotion analysis results, means for generating a response in a natural conversational style based on the search results and emotion analysis results, and means for returning the generated response and customized content to the user. This makes it possible to provide an appropriate response and display advertisements based on the user's emotions, thereby improving the user experience and maximizing the effectiveness of advertisements.
[0886] The "means for accepting user input" is an interface for transmitting questions or information requests in natural language format made by the user through the terminal to the server.
[0887] A "natural language processing engine" is an analytical tool that analyzes user input text and understands its meaning and context.
[0888] "Emotion analysis results" are emotion information extracted from the user's input text using an emotion engine.
[0889] The "means for searching for relevant information from a database" is a mechanism for generating an appropriate search query based on the analysis results and sentiment analysis results, and retrieving the relevant information from within the database.
[0890] The "means for generating a natural conversational response" is a processing device that constructs a response in a natural and easy-to-understand form for the user based on the search results and sentiment analysis results.
[0891] A "means for returning customized content to the user" is a method for providing additional information or advertising, along with the generated response, that is optimized based on the user's sentiment and search content.
[0892] An "HTTP response" is a response message of a communication protocol used to return information from a server to a user terminal.
[0893] A system for implementing this invention accepts natural language input from a user, searches for information based on the input, and provides appropriate responses and customized content according to the user's emotions. This system includes a server, a terminal, a communication interface, a database, and a natural language processing engine and emotion engine.
[0894] The server uses a smartphone or other device as an interface to accept user input. On this device, the user types a question in natural language, which is then sent to the server. For example, a question might be, "What are the features of the latest smartphone?"
[0895] The server receives this user input and analyzes it using a natural language processing engine (e.g., Hugging Face's Transformers library). This analysis extracts key entities and keywords from the input text. At the same time, it uses an emotion engine (e.g., Hugging Face's Sentiment Analysis model) to recognize emotions from the user's input text. For example, the phrase "please tell me" recognizes a positive emotion indicating the user is desperate for information.
[0896] Based on the analysis results and sentiment analysis results, the server generates an appropriate search query and uses this query to search a database, which stores answers to the question and related information. For example, a query containing "latest smartphone" and "features" is sent to the database to retrieve related information.
[0897] The server then generates a natural conversational response based on the search results and sentiment analysis results. This response is constructed in a natural way that is easy for the user to understand. The response content is also adjusted based on the results of emotion recognition. For example, if a positive emotion is recognized, additional benefits or advertisements may be customized. For example, a response may be generated in the form of, "The latest smartphone is 5G compatible and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase!"
[0898] The generated response and customized content are sent back to the device as an HTTP response, which the device receives and displays to the user. This allows the user to not only get information about their question, but also receive personalized advertisements and special offers based on their emotions.
[0899] Examples of specific prompts include:
[0900] "Tell me the features of the latest smartphones"
[0901] Through the above process, the present invention provides information and personalized advertising that takes into account the user's emotions, thereby improving the user experience.
[0902] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0903] Step 1:
[0904] The user uses the device to input a question in natural language, such as "What are the features of the latest smartphone?" The input data is sent to the server in text format.
[0905] Input: The user's natural language question text
[0906] Output: Send text data to the server
[0907] Step 2:
[0908] The server receives input from the user and analyzes the input text using a natural language processing engine (NLP engine). Specifically, the NLP engine extracts entities and keywords from the text. In this process, for example, elements such as "latest smartphone" and "features" are extracted.
[0909] Input: User-entered text data
[0910] Output: Extracted entities and keywords (e.g., "latest smartphones," "features")
[0911] Step 3:
[0912] At the same time, the server uses an emotion engine to recognize emotions from the user's input text. The emotion engine analyzes the text and determines emotions such as positive, negative, and neutral. For example, a positive emotion is recognized from the phrase "tell me."
[0913] Input: User-entered text data
[0914] Output: Determined emotion (e.g., positive)
[0915] Step 4:
[0916] The server generates appropriate search queries based on the analysis results of the NLP engine and emotion engine. These search queries include extracted entities, keywords, and emotion information. For example, a search query based on "latest smartphones" and "features" is generated.
[0917] Input: extracted entities, keywords, and recognized sentiment
[0918] Output: Generated search query
[0919] Step 5:
[0920] The server uses the generated search query to search a database to retrieve relevant information. The database contains product information, product specifications, reviews, etc. For example, information such as "The latest smartphones are 5G compatible and equipped with high-performance cameras" is retrieved.
[0921] Input: Generated search query
[0922] Output: Relevant information retrieved from the database
[0923] Step 6:
[0924] The server generates a natural, conversational response based on the search results. Sentiment analysis is also taken into account, and if a positive sentiment is detected, additional perks or advertisements may be incorporated. For example, a response might be generated such as, "The latest smartphone is 5G-enabled and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase."
[0925] Input: Related information obtained from the database, sentiment analysis results
[0926] Output: Natural conversational responses
[0927] Step 7:
[0928] The server sends the generated response and customized content back to the device as an HTTP response, and the device displays the received response to the user, allowing the user to receive answers to their questions and customized advertisements and offers.
[0929] Input: Generated natural conversational responses
[0930] Output: Data sent as an HTTP response to the terminal
[0931] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0932] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0933] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[0934] [Fourth embodiment]
[0935] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0936] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0937] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0938] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0939] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0940] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0941] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0942] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0943] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0944] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0945] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0946] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0947] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0948] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[0949] Specifically, it operates as follows.
[0950] Receiving user inquiries
[0951] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[0952] Performing natural language processing
[0953] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[0954] Performing a Search
[0955] The server generates an appropriate search query based on the analysis results and uses this query to search the database. The query, which includes "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[0956] Generate results
[0957] The server generates a natural conversational response based on the search results retrieved from the database, which is easy for the user to understand. For example, it may extract from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and return this to the user.
[0958] Returning the results
[0959] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[0960] Specific examples
[0961] For example, if a user types "Please tell me when the new product will be released to the market" into a terminal, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." The server uses this information to generate a natural conversational response and sends it back to the terminal. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[0962] In this way, the system of the present invention enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[0963] The processing flow will be explained below.
[0964] Step 1: The user enters a question from the terminal.
[0965] Users enter questions in natural language through the Knowledge Navi interface, for example, "Please tell me the progress of Project X."
[0966] Step 2: The device sends a query to the server.
[0967] The terminal sends the entered question to the server in an HTTP request, for example, including the question text in the request body.
[0968] Step 3: The server receives the query.
[0969] The server receives the HTTP request and extracts the question text from the request body, for example by storing the received data in a variable.
[0970] Step 4: The server starts the natural language processing engine.
[0971] The server launches a natural language processing engine (e.g., spaCy) and prepares it to analyze the user's question text.
[0972] Step 5: The server parses the query.
[0973] The server uses a natural language processing engine to analyze the question text and extract entities and key keywords, for example, the entities "Project X" and "Progress".
[0974] Step 6: The server generates the search query.
[0975] The server generates a query for database search based on the analysis results. For example, it creates an SQL query that includes "Project X" and "progress."
[0976] Step 7: The server searches the database.
[0977] The server executes the generated query against a database to retrieve relevant information, for example, to retrieve progress data from the database.
[0978] Step 8: The server analyzes the search results.
[0979] The server analyzes the results retrieved from the database and selects the information to return to the user, e.g., extracting the most relevant progress information.
[0980] Step 9: The server generates a response.
[0981] The server then generates a natural, conversational response based on the parsed search results, such as "Project X is currently 75% complete, with the next milestone due next week."
[0982] Step 10: The server sends a response back to the terminal.
[0983] The server returns the generated response to the terminal as an HTTP response.
[0984] Step 11: The terminal receives the response.
[0985] The terminal receives the HTTP response from the server and extracts the received data.
[0986] Step 12: The terminal displays the response to the user.
[0987] The device displays the response to the user, for example displaying a message on the screen saying "Project X is currently 75% complete, with the next milestone due next week."
[0988] The above is a specific processing flow in the system of the present invention, which allows users to efficiently search for information in a natural conversational manner and quickly obtain the knowledge they need.
[0989] Example 1
[0990] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0991] Conventional information retrieval systems have had difficulty accurately understanding users' natural language queries and quickly providing relevant information. In particular, they struggled to accommodate the diversity and ambiguity of natural language input, resulting in search results that often did not meet users' expectations. Furthermore, the responses they generated were often unnatural or presented in a format that was difficult for users to understand.
[0992] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0993] In this invention, the server includes means for accepting input in natural language format from a user, means for analyzing the accepted input text with a natural language processing engine and extracting entities and keywords, means for generating an appropriate search query based on the extracted entities and keywords and searching a database using the query, means for generating a response in a natural conversational format using a generative AI model based on the search results, and means for returning the generated response to the user as an HTTP response. This enables a user to obtain information in a quick, accurate, and natural conversational format simply by inputting a question in natural language.
[0994] "User" refers to an individual or group that provides input in natural language form to an information system.
[0995] "Natural language forms" refers to the language systems used by humans on a daily basis, including written and spoken language.
[0996] "Input text" refers to a sentence in natural language format that a user inputs to an information system.
[0997] A "natural language processing engine" refers to software or tools that analyze text in natural language form and understand its meaning and structure.
[0998] An "entity" is a specific object or concept extracted from text using natural language processing, such as a person, place, or thing.
[0999] "Keywords" refer to words or phrases that are particularly important in a text.
[1000] A "search query" is a statement containing specific criteria used to retrieve relevant information from a database.
[1001] A "database" is an electronic information collection system that systematically organizes large amounts of information and makes it easy to search and retrieve.
[1002] A "generative AI model" is a model for generating text using artificial intelligence techniques, for example, to generate natural, conversational responses.
[1003] A "prompt sentence" is an input sentence given to a generative AI model, which serves as an instruction for the model to generate an appropriate response.
[1004] An "HTTP response" refers to a response message that a server sends to a client (user's terminal), and is usually information that includes the result of a request.
[1005] The present invention relates to a system that allows users to input questions in natural language, search for information based on the input, and return a response in a natural conversational format. The system includes a series of processes that accept user input, perform natural language processing, search for related information from a database, and return the generated response to the user.
[1006] Receiving user inquiries
[1007] The user uses a terminal to input a question in natural language to the system. For example, they input a sentence like "Please tell me about the progress of the project." The terminal sends this input as an HTTP request to the server. The server receives this request and proceeds to the next processing step.
[1008] Performing natural language processing
[1009] The server passes the received input text to a natural language processing engine (e.g., spaCy or NLTK). The natural language processing engine tokenizes the input text and extracts entities and keywords. For example, it extracts the keywords "project" and "progress" from the sentence "Please tell me about the progress of the project."
[1010] Performing a Search
[1011] The server generates a search query based on the analysis results. In a specific example, it uses a database access library such as SQLAlchemy or Django ORM to send the generated query to a database (e.g., MySQL or PostgreSQL). The database receives a query containing "project" and "progress" and returns the relevant information.
[1012] Generate results
[1013] The server uses a generative AI model (e.g., GPT-4) based on information retrieved from the database to generate a natural, conversational response. During this process, a prompt is input to the generative AI model. An example of a prompt is "Tell me about the progress of Project X:" The generative AI model generates a response text based on this prompt.
[1014] Returning the results
[1015] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. For example, if the generated response is "Project X is currently 75% complete, and the next milestone is next week," the user can check this information on the terminal.
[1016] Specific examples
[1017] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input and extracts the keywords "new product" and "release date." It then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Using this information, the server uses a generative AI model to generate a natural conversational response, "The new product will be released to the market at the beginning of next month," and sends it back to the device. The user can then check this information on their device.
[1018] In this way, this system enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information retrieval and business efficiency.
[1019] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1020] Step 1:
[1021] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me the progress of project X." The input data is acquired as text data on the terminal. The terminal then sends this input to the server as an HTTP request.
[1022] Step 2:
[1023] The server receives an HTTP request sent from the terminal. The received data is text in natural language format entered by the user. This text is passed to a natural language processing engine. Specifically, the request is handled using a web framework such as Flask or Django. The server prepares to analyze the received data.
[1024] Step 3:
[1025] The server passes the received input text to a natural language processing engine (for example, spaCy or NLTK). The natural language processing engine tokenizes the user's input text and extracts entities and keywords. If the input is "Please tell me the progress of project X," the server extracts the entity "project X" and the keyword "progress." This process generates structured data from the input text.
[1026] Step 4:
[1027] The server generates an appropriate search query based on the extracted entities and keywords. For example, it uses SQLAlchemy or Django ORM to construct an SQL query. Based on the entity "Project X progress" and the keywords, the server generates the query "SELECT FROM projects WHERE name="Project X" AND attribute="progress". This query is sent to the database.
[1028] Step 5:
[1029] The server sends the generated search query to a database to retrieve relevant information, for example, "Project X is currently 75% complete" from a database such as MySQL or PostgreSQL. The retrieved data is then ready to be processed by the server.
[1030] Step 6:
[1031] The server uses a generative AI model (e.g., GPT-4) to generate natural conversational responses based on information retrieved from the database. The server inputs information about "Project X's progress" as a prompt into the AI model to generate a natural response. Specifically, the prompt uses "Tell me about the progress of Project X:" Based on this, the AI model generates the response "Project X is currently 75% complete, and the next milestone is next week."
[1032] Step 7:
[1033] The server sends the generated response back to the device as an HTTP response, which contains the generated response in a natural conversational format. The server uses Flask or Django's response object to return the results in JSON format.
[1034] Step 8:
[1035] The device receives the HTTP response from the server and displays the contents to the user. Specifically, it uses front-end JavaScript (such as React or Vue.js) to display the received data on the screen. The user receives an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[1036] This series of processes enables users to acquire and share information in a natural conversational format, which is expected to improve speed and accuracy of information searches and business efficiency.
[1037] (Application example 1)
[1038] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1039] With conventional content distribution services, it has been difficult for users to quickly obtain information of interest. Users have to manually search for the information they need from a large amount of content, which is time-consuming and inconvenient. Furthermore, there are few ways to obtain information in a natural conversational format, resulting in a poor user experience.
[1040] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1041] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text with a natural language processing engine, means for searching a database for related information based on the analysis results, means for generating a response in a natural conversational style based on the search results, and means for returning the generated response to the user on the smartphone terminal, thereby enabling the user to quickly obtain information of interest in a natural conversational style.
[1042] A "user" is someone who uses the system to obtain information.
[1043] "Input" is the act of a user sending a question or request in text form to the system.
[1044] A "natural language processing engine" is a software or hardware technology that analyzes input text and extracts its meaning and important keywords.
[1045] "Parsing" is the process of converting input text into understandable data using a natural language processing engine.
[1046] A "database" is a system for systematically collecting, storing, and managing related information.
[1047] "Relevant information" is data necessary to generate an appropriate response to a user's input.
[1048] "Natural conversational style" means that the responses are in a form that is close to human language and that the user can understand without feeling uncomfortable.
[1049] A "response" is a system-generated reply to a user's input.
[1050] A "smartphone terminal" is a mobile communication device that allows a user to use the system.
[1051] "Bounce" is the act of returning the generated response to the user.
[1052] The present invention provides a system that allows a user to input a question in natural language, searches for related information based on the input, and returns a response in a natural conversational format. The system according to the present invention includes the following means.
[1053] Hardware and Software Configuration
[1054] 1. User device: A device such as a smartphone that a user uses to input a question in natural language. For example, a user uses the device to input a question such as, "What is the latest action movie?"
[1055] 2. Server: A server has multiple functions.
[1056] Natural language processing engine: The server is equipped with a natural language processing engine using spaCy, which analyzes the input text and extracts important keywords and entities.
[1057] Search engine: Generates queries to retrieve relevant information from a database, which contains a large amount of content information, and uses the queries to search the database.
[1058] Response generation engine: Using a pipeline of transformers, the engine generates natural, conversational responses from search results in a format that is easy for users to understand.
[1059] 3. Database: Works in conjunction with the server and stores various content information, such as information about movies, TV dramas, and release dates.
[1060] How it works
[1061] When a user enters a question using a smartphone device, the input is sent to the server. The server analyzes the input text using spaCy to extract important keywords. Next, it generates a search query and searches a database to retrieve relevant information. Based on the retrieved information, a response generation engine using the transformers library generates a response in a natural conversational format. Finally, the generated response is sent back to the smartphone device and displayed to the user. For example, the question "What is the latest action movie?" can be answered in the form of "The latest action movie is Atomic Blonde."
[1062] Specific examples
[1063] Here's a concrete example: If a user types the question "When is the next episode coming out?", the system will do the following:
[1064] 1. Input reception: The user terminal receives the question "When is the next episode released?"
[1065] 2. Input analysis: The natural language processing engine extracts keywords such as "next episode" and "release date."
[1066] 3. Query generation and search: Generate queries based on the extracted keywords and search the database to retrieve relevant information.
[1067] 4. Response Generation: The response generation engine generates a response such as "The next episode will be released next Monday."
[1068] 5. Response return: The generated response is returned to the smartphone device and displayed to the user.
[1069] Examples of prompt statements
[1070] User Question: When is the next episode coming out?
[1071] In this way, the system of the present invention allows users to obtain the information they need quickly and in a natural, conversational manner.
[1072] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1073] Step 1: Accepting user input
[1074] A user inputs a question in natural language into a smartphone device, for example, "When is the next episode released?" This input text is sent from the smartphone device to the server as an HTTP request.
[1075] Input: User question (text in natural language format)
[1076] Output: HTTP request (including input text)
[1077] Step 2: Parsing the input text
[1078] The server analyzes the input text received using a natural language processing engine (spaCy). Through analysis, important keywords and entities are extracted from the input text. For example, keywords such as "next episode" and "release date" are extracted.
[1079] Input: User question (text received as HTTP request)
[1080] Output: Important keywords and entities (extraction results)
[1081] Step 3: Generating a search query
[1082] The server generates a search query based on the analysis results. It combines the extracted keywords and entities to create a query for database search. For example, a query such as "next episode release date" is generated.
[1083] Input: Important keywords and entities (extraction results)
[1084] Output: Search query (text to search the database)
[1085] Step 4: Database Search
[1086] The server searches the database using the generated search query and obtains relevant information from the database. For example, information such as "next episode release date" being "next Monday" is obtained.
[1087] Input: Search query
[1088] Output: Related information (data retrieved from the database)
[1089] Step 5: Response Generation
[1090] The server uses the relevant information it has to generate a natural, conversational response using a pipeline of transformers, such as "The next episode will be available next Monday."
[1091] Input: Related Information
[1092] Output: Natural conversational responses (generated results)
[1093] Step 6: Returning a response
[1094] The server returns the generated response as an HTTP response to the smartphone device, which receives the response and displays it in a format that is easy for the user to view.
[1095] Input: Natural conversational responses
[1096] Output: HTTP response (including response), and the response displayed on the user's terminal
[1097] Through the above processing steps, the user can quickly obtain the information he or she needs in a natural, conversational manner.
[1098] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1099] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[1100] Specifically, it operates as follows.
[1101] Receiving user inquiries
[1102] A user uses a terminal to input a natural language question into the system, such as "Please tell me how project X is progressing." The terminal then sends this input to the server.
[1103] Performing natural language processing
[1104] The server receives the user's input and analyzes it using a natural language processing engine. For example, it analyzes the input sentence "Please tell me the progress of project X" and extracts the entity "project X" and the keyword "progress."
[1105] Performing emotion recognition
[1106] Additionally, the server uses an emotion engine to recognize emotions from the user's input text, for example, recognizing the positive emotion of the user's request for information from the phrase "please tell me."
[1107] Performing a Search
[1108] The server generates an appropriate search query based on the analysis results and emotion recognition results, and uses this query to search the database. The query, including "Project X" and "progress" obtained from the analysis results, is sent to the database to retrieve related information.
[1109] Generate results
[1110] The server generates a natural, conversational response based on the search results retrieved from the database, and adjusts the response content based on the emotion recognition results. For example, it extracts from the search results the content "Project X is currently 75% complete, and the next milestone is next week," and generates a response that reflects positive emotions.
[1111] Returning the results
[1112] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "Project X is currently 75% complete, and the next milestone is next week."
[1113] Specific examples
[1114] For example, if a user types "Please tell me when the new product will be released to the market" into their device, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "Please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market early next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market early next month," enabling them to obtain information with a higher level of satisfaction.
[1115] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format and receive responses that reflect their emotions, not only enabling them to quickly obtain the knowledge they need but also providing a more satisfying user experience.
[1116] The processing flow will be explained below.
[1117] The present invention relates to a system that allows a user to input a question in natural language, searches for information based on that input, and returns a response in a natural conversational format, as well as being able to understand the user's emotions and respond appropriately based on those emotions. This system includes a series of processes: accepting user input, performing natural language processing, analyzing the user's emotions using an emotion engine, searching for related information from a database, and returning the generated response to the user.
[1118] Processing flow
[1119] Step 1: The user enters a question from the terminal.
[1120] Users input questions in natural language through the "Knowledge Navi" interface on their devices, for example, "Please tell me the progress of Project X."
[1121] Step 2: The device sends a query to the server.
[1122] The terminal sends the user's input to the server as an HTTP request, for example, including the question text in the request body.
[1123] Step 3: The server receives the query.
[1124] The server receives the HTTP request and stores the contents in a variable. For example, it retrieves the received text data.
[1125] Step 4: The server starts the natural language processing engine.
[1126] The server initializes the natural language processing engine and prepares it to analyze the question text.
[1127] Step 5: The server parses the query.
[1128] The server uses a natural language processing engine to parse the question text and extract keywords and entities, for example, the keywords "Project X" and "progress."
[1129] Step 6: The server starts the emotion engine.
[1130] The server initializes the emotion engine and prepares for emotion analysis.
[1131] Step 7: The server recognizes the sentiment from the question.
[1132] The server uses an emotion engine to analyze emotions from the user's question, for example, recognizing positive emotions from the sentence "tell me."
[1133] Step 8: The server generates the search query.
[1134] The server generates a search query based on the analysis and emotion recognition results, for example, a query combining "Project X" and "progress."
[1135] Step 9: The server searches the database.
[1136] The server uses the generated query to search a database and retrieve relevant information, for example, data about "progress of project X" from the database.
[1137] Step 10: The server analyzes the search results.
[1138] The server analyzes the information retrieved from the database and selects the information most relevant to the user's question.
[1139] Step 11: The server generates a response.
[1140] Based on the search results and emotion recognition results, the server generates a natural, conversational response that is easy for the user to understand and takes into account their emotions, such as "Project X is currently 75% complete, and the next milestone is next week."
[1141] Step 12: The server sends a response back to the terminal.
[1142] The server sends the generated response back to the terminal as an HTTP response. The server sends data according to the HTTP response format.
[1143] Step 13: The terminal receives the response.
[1144] The terminal receives the HTTP response and stores the received data in a variable.
[1145] Step 14: The terminal displays the response to the user.
[1146] The device will then display the response it receives to the user, for example, "Project X is currently 75% complete, with the next milestone due next week."
[1147] Specific examples
[1148] For example, if a user types "Please tell me when the new product will be released to the market" on their device, the server analyzes this input text and extracts the keywords "new product" and "release date," while the emotion engine recognizes the user's motivational emotion from the phrase "please tell me." The server then searches the database based on these keywords and obtains the information "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a response in a tone that reflects the user's motivational emotion and sends it back to the device. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[1149] In this way, the system of the present invention allows users to efficiently search for information in a natural conversational format, and by receiving responses that understand and take into consideration emotions, users can obtain information with greater satisfaction.
[1150] Example 2
[1151] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1152] In today's world, it is important for users to obtain the information they need quickly and accurately. However, conventional systems simply analyze the user's input text and are unable to recognize the user's emotions. This makes it difficult to provide appropriate responses based on the user's state and emotions, resulting in reduced user satisfaction. Furthermore, conventional systems simply present search results and are inadequate at generating responses in a natural, conversational format.
[1153] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1154] In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for recognizing the user's emotion based on the analysis result, means for searching a database for related information based on the analysis result and the emotion recognition result, means for generating a natural conversational response based on the search result and the emotion recognition result, and means for returning the generated response to the user. This makes it possible to provide a more appropriate and natural conversational response that takes into account not only the user's input content but also their emotion.
[1155] The "means for accepting user input" provides a function that allows a user to input text-based questions or requests into the system through a terminal and transmit the input to the server.
[1156] A "natural language processing engine" is software or algorithms that analyze user input text, extract keywords and entities, and understand the purpose and meaning of the sentence.
[1157] "Emotion recognition" refers to the process of analyzing emotions from user-entered text and understanding the user's emotional state.
[1158] The "means for searching for relevant information from a database" is a function for generating an appropriate search query based on the analyzed keywords and entities, and using that query to retrieve the relevant information from the database.
[1159] The "means for generating natural conversational responses" refers to algorithms or software that constructs easy-to-understand and engaging conversational responses for users based on search results and emotion recognition results.
[1160] "Means for returning as an HTTP response" refers to a communication method for returning the generated response to the terminal using the HTTP protocol and displaying the response to the user.
[1161] This system searches for information and returns a response in a natural conversational format in response to a question entered by a user in natural language. It also has the ability to recognize the user's emotions and generate an appropriate response based on those emotions. This system includes a series of processes that accept and analyze the user's input, search for related information, and return the generated response to the user.
[1162] To implement this system, the following hardware and software are required. First, a smartphone, PC, or other device is required as the user's terminal. The user can use these devices to input questions in natural language. For example, the user might input, "Please tell me when the new product will be released to the market." The terminal then sends this input to the server.
[1163] Next, a server is needed. The server accepts the user's input text and passes it to a natural language processing engine. For example, you can use the Google Cloud Natural Language API or Microsoft Azure's Text Analytics API. The engine analyzes the input text and extracts important keywords and entities. It also analyzes the sentence structure and understands the purpose of the sentence.
[1164] The server then uses an emotion engine to recognize emotions from the user's input text, such as IBM Watson Tone Analyzer or Affectiva's emotion recognition API, to recognize the eager emotion of the user's desire for information from the phrase "tell me."
[1165] Next, the server generates an appropriate search query based on the analysis results and emotion recognition results. This query is used to search a database. The database can be a relational database management system such as MySQL or PostgreSQL. The server generates an appropriate search query containing "new product" and "time to market" and sends it to the database to retrieve relevant information.
[1166] Based on the search results, the server generates a natural, conversational response that is easy for the user to understand. During this process, the acquired information is converted into text and the tone is adjusted taking into account the results of emotion recognition. For example, the server constructs a sentence such as "The new product will be released to the market early next month" and generates a response that takes into account the user's motivational emotions.
[1167] Finally, the server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month."
[1168] As a concrete example, consider the case where a user inputs, "Please tell me when the new product will be released to the market." In this case, the server analyzes this input and extracts the keywords "new product" and "release date." At the same time, the emotion engine analyzes the phrase "please tell me" and recognizes the user's eager emotion, which indicates a strong desire for information. The server then searches the database based on these keywords and the results of emotion recognition, and obtains the information, "The new product will be released to the market at the beginning of next month." Based on this information, the server generates a natural conversational response and sends it back to the device in a tone that takes into account the user's eager emotion. The user receives an answer in the form of "The new product will be released to the market at the beginning of next month," enabling them to obtain information with a higher level of satisfaction.
[1169] An example of a prompt is, "Please tell me when the new product will be released to the market."
[1170] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1171] Program processing flow
[1172] Step 1: Receiving user inquiries
[1173] A user uses a terminal to input a question in natural language to the system. For example, they might input "Please tell me when the new product will be released to the market." The terminal then sends this input text to the server as an HTTP request. The input data is the user's question text, and the output data is the HTTP request to the server.
[1174] Step 2: Performing Natural Language Processing
[1175] The server extracts the user's input text from the received HTTP request and passes it to a natural language processing engine, for example, using the Google Cloud Natural Language API. The engine analyzes the text and extracts the keywords "new product" and "market launch time." The input data is the user's input text, and the output data is the extracted keywords and entities.
[1176] Step 3: Performing emotion recognition
[1177] The server then passes the parsed text to an emotion recognition engine, for example, using IBM Watson Tone Analyzer. The emotion engine analyzes the user's emotion from the text and recognizes "motivated emotion." The input data is the parsed text, and the output data is the recognized emotion.
[1178] Step 4: Generating a search query
[1179] The server generates an appropriate search query based on the results of natural language processing and emotion recognition. For example, it constructs a query such as "SELECT FROM products WHERE name="new product" AND event="market launch time". The input data are the extracted keywords and recognized emotions, and the output data is the generated search query.
[1180] Step 5: Perform a database search
[1181] The server sends the generated query to a database to search for relevant information. For example, we use a MySQL database. From the database, we get the information "The new product will be launched in the market at the beginning of next month." The input data is the generated search query, and the output data is the relevant information.
[1182] Step 6: Generate a response
[1183] The server generates a natural, conversational response based on the search results, proselytizing the information and formatting it as "The new product will be launched in the market early next month," and adjusting the tone based on the perceived emotion. The input data are the search results and the perceived emotion, and the output data is the generated response.
[1184] Step 7: Returning the results
[1185] The server sends the generated response back to the terminal as an HTTP response. The terminal receives this response and displays it to the user. The user can get an answer in the form of "The new product will be released to the market at the beginning of next month." The input data is the generated response, and the output data is what is displayed to the user.
[1186] (Application example 2)
[1187] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1188] Conventional information search systems have the problem that they cannot improve the user experience by not taking into account the user's emotions when responding to a user's natural language questions or by displaying customized content. In particular, when using advertising, they have the problem that personalized advertising based on the user's emotions is not provided, making it difficult to maximize the effectiveness of advertising.
[1189] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for accepting user input, means for analyzing the accepted user input text using a natural language processing engine, means for searching for related information from a database based on the analysis results and emotion analysis results, means for generating a response in a natural conversational style based on the search results and emotion analysis results, and means for returning the generated response and customized content to the user. This makes it possible to provide an appropriate response and display advertisements based on the user's emotions, thereby improving the user experience and maximizing the effectiveness of advertisements.
[1190] The "means for accepting user input" is an interface for transmitting questions or information requests in natural language format made by the user through the terminal to the server.
[1191] A "natural language processing engine" is an analytical tool that analyzes user input text and understands its meaning and context.
[1192] "Emotion analysis results" are emotion information extracted from the user's input text using an emotion engine.
[1193] The "means for searching for relevant information from a database" is a mechanism for generating an appropriate search query based on the analysis results and sentiment analysis results, and retrieving the relevant information from within the database.
[1194] The "means for generating a natural conversational response" is a processing device that constructs a response in a natural and easy-to-understand form for the user based on the search results and sentiment analysis results.
[1195] A "means for returning customized content to the user" is a method for providing additional information or advertising, along with the generated response, that is optimized based on the user's sentiment and search content.
[1196] An "HTTP response" is a response message of a communication protocol used to return information from a server to a user terminal.
[1197] A system for implementing this invention accepts natural language input from a user, searches for information based on the input, and provides appropriate responses and customized content according to the user's emotions. This system includes a server, a terminal, a communication interface, a database, and a natural language processing engine and emotion engine.
[1198] The server uses a smartphone or other device as an interface to accept user input. On this device, the user types a question in natural language, which is then sent to the server. For example, a question might be, "What are the features of the latest smartphone?"
[1199] The server receives this user input and analyzes it using a natural language processing engine (e.g., Hugging Face's Transformers library). This analysis extracts key entities and keywords from the input text. At the same time, it uses an emotion engine (e.g., Hugging Face's Sentiment Analysis model) to recognize emotions from the user's input text. For example, the phrase "please tell me" recognizes a positive emotion indicating the user is desperate for information.
[1200] Based on the analysis results and sentiment analysis results, the server generates an appropriate search query and uses this query to search a database, which stores answers to the question and related information. For example, a query containing "latest smartphone" and "features" is sent to the database to retrieve related information.
[1201] The server then generates a natural conversational response based on the search results and sentiment analysis results. This response is constructed in a natural way that is easy for the user to understand. The response content is also adjusted based on the results of emotion recognition. For example, if a positive emotion is recognized, additional benefits or advertisements may be customized. For example, a response may be generated in the form of, "The latest smartphone is 5G compatible and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase!"
[1202] The generated response and customized content are sent back to the device as an HTTP response, which the device receives and displays to the user. This allows the user to not only get information about their question, but also receive personalized advertisements and special offers based on their emotions.
[1203] Examples of specific prompts include:
[1204] "Tell me the features of the latest smartphones"
[1205] Through the above process, the present invention provides information and personalized advertising that takes into account the user's emotions, thereby improving the user experience.
[1206] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1207] Step 1:
[1208] The user uses the device to input a question in natural language, such as "What are the features of the latest smartphone?" The input data is sent to the server in text format.
[1209] Input: The user's natural language question text
[1210] Output: Send text data to the server
[1211] Step 2:
[1212] The server receives input from the user and analyzes the input text using a natural language processing engine (NLP engine). Specifically, the NLP engine extracts entities and keywords from the text. In this process, for example, elements such as "latest smartphone" and "features" are extracted.
[1213] Input: User-entered text data
[1214] Output: Extracted entities and keywords (e.g., "latest smartphones," "features")
[1215] Step 3:
[1216] At the same time, the server uses an emotion engine to recognize emotions from the user's input text. The emotion engine analyzes the text and determines emotions such as positive, negative, and neutral. For example, a positive emotion is recognized from the phrase "tell me."
[1217] Input: User-entered text data
[1218] Output: Determined emotion (e.g., positive)
[1219] Step 4:
[1220] The server generates appropriate search queries based on the analysis results of the NLP engine and emotion engine. These search queries include extracted entities, keywords, and emotion information. For example, a search query based on "latest smartphones" and "features" is generated.
[1221] Input: extracted entities, keywords, and recognized sentiment
[1222] Output: Generated search query
[1223] Step 5:
[1224] The server uses the generated search query to search a database to retrieve relevant information. The database contains product information, product specifications, reviews, etc. For example, information such as "The latest smartphones are 5G compatible and equipped with high-performance cameras" is retrieved.
[1225] Input: Generated search query
[1226] Output: Relevant information retrieved from the database
[1227] Step 6:
[1228] The server generates a natural, conversational response based on the search results. Sentiment analysis is also taken into account, and if a positive sentiment is detected, additional perks or advertisements may be incorporated. For example, a response might be generated such as, "The latest smartphone is 5G-enabled and equipped with a high-performance camera. You can enjoy a 10% off coupon on your next purchase."
[1229] Input: Related information obtained from the database, sentiment analysis results
[1230] Output: Natural conversational responses
[1231] Step 7:
[1232] The server sends the generated response and customized content back to the device as an HTTP response, and the device displays the received response to the user, allowing the user to receive answers to their questions and customized advertisements and offers.
[1233] Input: Generated natural conversational responses
[1234] Output: Data sent as an HTTP response to the terminal
[1235] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1236] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1237] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1238] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1239] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1240] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1241] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1242] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1243] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1244] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1245] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1246] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1247] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1248] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1249] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1250] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1251] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1252] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1253] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1254] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1255] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1256] The following is further disclosed regarding the above embodiment.
[1257] (Claim 1)
[1258] means for accepting user input;
[1259] A means for analyzing the received user input text using a natural language processing engine;
[1260] a means for searching for relevant information from a database based on the analysis results;
[1261] a means for generating natural conversational responses based on the search results;
[1262] The system includes a means for returning the generated response to the user.
[1263] (Claim 2)
[1264] 2. The system of claim 1, further comprising: generating an appropriate search query based on the analysis results; and searching the database using the query.
[1265] (Claim 3)
[1266] 2. The system according to claim 1, wherein the generated response is returned to the user as an HTTP response.
[1267] "Example 1"
[1268] (Claim 1)
[1269] means for accepting input in the form of a natural language from a user;
[1270] A means of analyzing the received input text using a natural language processing engine and extracting entities and keywords;
[1271] a means for generating appropriate search queries based on the extracted entities and keywords and using the queries to search the database;
[1272] A means for generating natural conversational responses using a generative AI model based on the search results; and
[1273] The system includes a means for returning the generated response to the user as an HTTP response.
[1274] (Claim 2)
[1275] The system of claim 1, wherein a prompt sentence is input to the generative AI model, and a natural conversational response is generated by the generative AI model.
[1276] (Claim 3)
[1277] 10. The system of claim 1, wherein the generated response is displayed on a user terminal.
[1278] "Application Example 1"
[1279] (Claim 1)
[1280] means for accepting user input;
[1281] A means for analyzing the received user input text using a natural language processing engine;
[1282] a means for searching for relevant information from a database based on the analysis results;
[1283] a means for generating natural conversational responses based on the search results;
[1284] The system includes means for returning the generated response to the smartphone terminal to the user.
[1285] (Claim 2)
[1286] 2. The system of claim 1, further comprising: generating an appropriate search query based on the analysis results; and searching the database using the query.
[1287] (Claim 3)
[1288] The system of claim 1, wherein the generated response is optimized in natural language format and displayed on a smartphone device.
[1289] "Example 2: Combining Emotion Engines"
[1290] (Claim 1)
[1291] means for accepting user input;
[1292] A means for analyzing the received user input text using a natural language processing engine;
[1293] means for recognizing a user's emotion based on the analysis result;
[1294] a means for searching for relevant information from a database based on the analysis result and the emotion recognition result;
[1295] A means for generating natural conversational responses based on the search results and emotion recognition results;
[1296] The system includes a means for returning the generated response to the user.
[1297] (Claim 2)
[1298] 2. The system of claim 1, wherein an appropriate search query is generated based on the analysis result and the emotion recognition result, and the query is used to search the database.
[1299] (Claim 3)
[1300] 2. The system according to claim 1, wherein the generated response is returned to the user as an HTTP response.
[1301] "Application example 2 when combining emotion engines"
[1302] (Claim 1)
[1303] means for accepting user input;
[1304] A means for analyzing the received user input text using a natural language processing engine;
[1305] A means for searching for related information from a database based on the analysis result and the emotion analysis result;
[1306] A means for generating a natural conversational response based on the search results and the sentiment analysis results;
[1307] The system includes a means for returning the generated response and customized content to the user.
[1308] (Claim 2)
[1309] 2. The system according to claim 1, wherein an appropriate search query is generated based on the analysis result and the sentiment analysis result, and the query is used to search the database.
[1310] (Claim 3)
[1311] 2. The system of claim 1, wherein the generated response and the associated advertisement are returned to the user as an HTTP response. [Explanation of symbols]
[1312] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for accepting user input; A means for analyzing the received user input text using a natural language processing engine; a means for searching for relevant information from a database based on the analysis results; a means for generating natural conversational responses based on the search results; The system includes a means for returning the generated response to the user.
2. The system of claim 1 , further comprising: generating an appropriate search query based on the analysis results; and searching the database using the query.
3. 2. The system according to claim 1, wherein the generated response is returned to the user as an HTTP response.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A