system
An automated system using natural language processing and template engines addresses the challenge of manual inquiry handling, providing efficient and continuous customer service by analyzing and responding to user inquiries.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-10
- Publication Date
- 2026-06-22
AI Technical Summary
Existing inquiry response systems require manual handling by sales staff, leading to increased workload and limited availability of prompt customer service outside business hours.
An automated system using natural language processing to analyze user inquiries, search databases for optimal answers, and format responses using a template engine, providing consistent service 24/7.
Reduces the workload on sales representatives and enables continuous, accurate, and personalized responses to user inquiries.
Smart Images

Figure 2026101181000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In existing inquiry response systems, there is a problem that sales staff need to manually handle frequently received inquiries, which increases the workload and makes it difficult to concentrate on complex tasks. Also, due to the difficulty of handling inquiries outside business hours, there is a problem that the provision of prompt customer service is restricted.
Means for Solving the Problems
[0005] This invention introduces an automated system using natural language processing to analyze the intent of an inquiry, search a database based on the identified intent, and automatically retrieve the optimal answer. Furthermore, by formatting the retrieved answer into natural language using a template engine and providing it to the user quickly, a system is built that provides consistent service even outside of business hours.
[0006] "Natural language processing" is a technology that enables computers to understand and analyze human language.
[0007] An "inquiry" is a question or request that a user submits in search of specific information.
[0008] "Intent analysis" is the process of identifying the underlying purpose and the information a user is seeking from the content of their inquiry.
[0009] A "database" is a computerized system designed to organize and store structured information and data, making it searchable and retrievable.
[0010] A "template engine" is a software component that organizes data according to a specified format and dynamically generates content based on that format. [Brief explanation of the drawing]
[0011] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5]This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0012] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0013] First, let's explain the terminology used in the following explanation.
[0014] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0015] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0016] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0017] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor and 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), or Bluetooth (registered trademark), and the like.
[0018] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0019] [First Embodiment]
[0020] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0021] As shown in Figure 1, the 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.
[0022] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0023] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0024] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0025] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0026] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0027] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0028] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0029] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0030] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0031] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0032] The embodiments of the AI chatbot system of the present invention will be described as follows.
[0033] This system utilizes natural language processing technology to enable rapid and automated responses to user inquiries. By accurately understanding user-entered inquiries and providing appropriate answers, the system reduces the workload on sales representatives and enables 24 / 7 / 365 support.
[0034] First, the user enters a question through the chatbot interface. The terminal receives this input and forwards it to the server. The server analyzes the received content using natural language processing techniques to extract the intent of the inquiry. Based on the analysis results, the server searches a database based on the included keywords and intent to identify the most appropriate answer.
[0035] The server uses a template engine to format the found answers into human-readable language. This allows users to immediately obtain useful information in response to their questions. The final answer is then sent back to the user via their device for review.
[0036] For example, if a user asks, "Tell me about the new plan," the server recognizes "new plan" as the key phrase and searches for relevant information in the database. It then formats the found information into a format such as "The new plan offers 20GB of data capacity for 3,000 yen per month" and provides it to the user quickly.
[0037] This system constantly maintains the latest information in its database and is continuously improved using machine learning algorithms to enhance the accuracy of its responses. In this way, the present invention achieves efficient and effective inquiry handling.
[0038] The following describes the processing flow.
[0039] Step 1:
[0040] The user initiates the inquiry by typing their question into the chatbot interface and pressing the send button.
[0041] Step 2:
[0042] The terminal prepares to send input data received from the user to the server for analysis. During this process, the text data is formatted, and a secure connection is established.
[0043] Step 3:
[0044] The server receives data sent from the terminal and uses a natural language processing (NLP) engine to analyze the query. Specifically, it performs processes such as tokenizing the sentence, morphological analysis, and extracting the intent of the query.
[0045] Step 4:
[0046] Based on the analysis results, the server queries databases such as FAQs to find the most relevant answer. At the same time, it utilizes similarity search algorithms to identify highly relevant answers even when no direct match is found.
[0047] Step 5:
[0048] The server formats the answers it finds using a template engine. This ensures that the retrieved answers are presented in natural and easy-to-understand language.
[0049] Step 6:
[0050] The terminal displays the formatted response received from the server on the user's chat screen. The user can then review the response and obtain the information they were looking for.
[0051] Step 7:
[0052] Users can ask further detailed questions as needed. Similarly, by repeating this process, it becomes possible to generate a continuous conversation and obtain the necessary information by delving deeper.
[0053] (Example 1)
[0054] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0055] Conventional response systems face problems such as time constraints and the need for human resources to provide appropriate responses to inquiries. Furthermore, they lack the ability to provide quick and accurate answers to a wide range of user inquiries. This invention aims to solve these problems and achieve efficient and highly accurate inquiry handling.
[0056] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0057] In this invention, the server includes means for analyzing the intent within text data received from a communication terminal using natural language processing technology; means for searching a storage device that holds information based on the analyzed intent and keywords to obtain the optimal information; means for formatting the obtained information into a natural language form using template formation means and sending it back to the communication terminal; and means for continuously updating the database using machine learning algorithms to improve the accuracy of the analysis. This makes it possible to provide information quickly and accurately in response to user inquiries.
[0058] "Natural language processing technology" refers to a set of technologies that enable computers to understand, generate, and manipulate human language.
[0059] A "communication terminal" is a device that functions as an interface with the user, sending information from the user to a server and receiving information from the server.
[0060] "Text data" refers to character information entered by a user via a communication terminal, and is the data that is subject to analysis.
[0061] "Intention" refers to the purpose or request that a user is trying to achieve when making an inquiry.
[0062] A "storage device" refers to a device that stores information and keeps data in a format that allows it to be searched and retrieved as needed.
[0063] "Template formation means" refers to techniques and methods for formatting acquired information according to a predetermined format and expressing it in natural language.
[0064] A "machine learning algorithm" refers to a computational method that learns patterns from data and improves performance based on experience.
[0065] A "database" is a collection of structured data, and refers to a system used to search for and retrieve information quickly and efficiently.
[0066] The present invention is an automated response system that uses natural language processing technology to respond to user inquiries. This system includes a series of processes that analyze text data entered by the user, understand the user's intent, obtain and format the most relevant information, and provide it to the user.
[0067] The user uses a communication terminal to input text data through the interface. For example, they might enter an inquiry such as, "Tell me about the new plan." The communication terminal then transfers this text data to the server.
[0068] The server analyzes the received text data using natural language processing techniques based on generative AI models. This analysis involves commonly used language modeling techniques. Based on the analyzed intent and keywords, the server searches its information storage device and retrieves relevant information.
[0069] The retrieved information is formatted by the server using a template formation mechanism, transforming it into a user-understandable response in natural language. This process utilizes a template engine to organize information into a human-readable sentence structure. For example, retrieved information might be formatted to state, "The new plan offers 20GB of data for ¥3,000 per month," and then presented to the user.
[0070] This system further improves the overall accuracy and performance of its responses by using machine learning algorithms and continuously updating its database. It also possesses the flexibility to handle different user inquiries. An example prompt format is: "Please provide the best answer to the following inquiry: 'Tell me about the new plan.'"
[0071] Ultimately, the user can confirm the response sent from the server via the communication terminal and obtain information quickly and accurately. In this way, this invention provides an efficient and highly accurate inquiry response system.
[0072] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0073] Step 1:
[0074] The user enters their inquiry through a communication terminal. For example, they might enter the text, "Tell me about the new plan." This input is received by the terminal and sent directly to the server as text data. The input is provided as a sentence in natural language.
[0075] Step 2:
[0076] The server analyzes text data received from the terminal. This analysis uses a generative AI model, leveraging a language model to extract the intent of the query. The input is a string-formatted query, and the output is the extracted intent and related keywords. In this process, the server utilizes tokenization and morphological analysis.
[0077] Step 3:
[0078] The server searches the storage based on the analyzed intent and keywords. SQL queries are used for the database search to identify the relevant information. The input is the keywords extracted in step 2, and the output is the relevant information or documents. Specifically, the server queries the database with conditions related to "new plan".
[0079] Step 4:
[0080] The server formats the acquired information using a template generation mechanism. Using a template engine, the information is formatted into a human-readable language. The input is raw information retrieved from a database, and the output is formatted text. A concrete example is the generation of a formatted message stating, "Our new plan offers 20GB of data capacity for 3,000 yen per month."
[0081] Step 5:
[0082] The server sends formatted text to the terminal. The input is the formatted response text, and the output is the transmission of data to the communication terminal. The terminal receives this and displays it to the user. The user can view the content on the terminal's screen.
[0083] (Application Example 1)
[0084] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0085] In content distribution services, a key challenge is improving the efficiency of information retrieval by responding quickly and appropriately to user inquiries. In particular, it is necessary to enhance service satisfaction by providing relevant recommendations based on the diverse needs of users.
[0086] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0087] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for searching information resources and obtaining optimal information based on the analyzed intent, means for formatting the obtained information into natural language and providing it to the user, and means for presenting relevant recommendations in response to the user's inquiry. This makes it possible to quickly identify content of interest to the user and recommend it as appropriate.
[0088] "Natural language processing" is a technology that enables computers to understand, analyze, and respond appropriately to human language.
[0089] "Means of analyzing intent" refer to methods and processes for identifying the purpose and meaning behind a user's inquiry or request.
[0090] "Information resources" refer to a collection of knowledge and data provided in response to user inquiries.
[0091] "Means of obtaining optimal information" refers to methods for searching for and selecting the data and knowledge that best meet the user's needs.
[0092] "Methods for formatting into natural language" refer to technologies for presenting machine-acquired information in a way that is easy for humans to understand.
[0093] "Means of providing to users" refers to the interface and processes used to communicate answers to inquiries to users.
[0094] "Means of presenting recommendations" refers to methods of displaying relevant options and suggestions according to the user's needs and interests.
[0095] To implement this invention, a server functions as the central component. The server receives inquiries from users and analyzes their intent using natural language processing (NLTK) technology. This involves using programming languages such as Python and natural language processing libraries such as NLTK and spaCy. Based on the analyzed intent, the server searches for the most relevant information from its information resources. These information resources are organized as a database and efficiently managed by a database management system such as PostgreSQL.
[0096] Next, the server formats the acquired data into a user-friendly format using a template engine (such as Jinja2). This formatted information is then transmitted to the terminal via the internet and displayed on the user's screen. This allows the user to instantly receive the latest and most relevant information to address their inquiry.
[0097] As a concrete example, if a user asks "What are some recommended action movies?" through a smartphone application, the server searches for information on relevant action movies and uses a template engine to format it into the form "The recommended action movie is 'Sample Movie Title'." This information is then immediately sent to the user's smartphone and displayed.
[0098] Furthermore, an example of a prompt message when using a generative AI model would be: "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" Through this prompt message, the system can present information that meets the user's needs.
[0099] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0100] Step 1:
[0101] The user uses a terminal to enter a query. This input is in text format, consisting of questions or requests. The terminal then sends this query to the server.
[0102] Step 2:
[0103] The server analyzes the received query using natural language processing techniques. Specifically, it tokenizes the text using NLTK or spaCy and extracts key intents. This process outputs data that has been analyzed as intent.
[0104] Step 3:
[0105] The server searches the information resource database based on the analysis results and retrieves the most relevant information. The input is the analyzed intent and key, and the output is the corresponding database entry. This includes the specific operation of searching for data from PostgreSQL using SQL queries.
[0106] Step 4:
[0107] The server formats the retrieved data using a template engine. The template engine (such as Jinja2) uses a pre-defined template to assemble information in natural language. The input is information retrieved from a database, and the output is formatted text.
[0108] Step 5:
[0109] The server sends the formatted response to the terminal. The terminal displays and provides it to the user. The information is visually presented on the user's screen, allowing the user to immediately review the content.
[0110] Step 6:
[0111] When the generative AI model uses a prompt to further refine information tailored to the user's needs, it might use a prompt such as, "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" The generative AI model then predicts the optimal action based on this prompt.
[0112] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0113] This invention combines emotion recognition capabilities with an AI chatbot system to analyze user emotions and achieve more effective communication. This system utilizes natural language processing technology and an emotion engine to automatically and flexibly respond to user inquiries.
[0114] Specifically, when a user enters an inquiry through the chatbot interface, the device sends that data to the server. The server first uses natural language processing to analyze the intent of the inquiry, and then incorporates an emotion engine to simultaneously analyze the user's emotions. This analysis allows the server to understand the user's current emotional state (e.g., joy, anger, sadness, etc.).
[0115] Next, the server searches the database based on the analysis results to identify the response that best matches the user's intent and emotions. Emotional information is used when selecting and formatting the response. For example, if the user expresses dissatisfaction, the system will generate a response with a more polite and empathetic tone.
[0116] Once an answer is identified, the server uses a template engine to format it into human-friendly, natural language, and the terminal sends it back to the user. The user receives the answer to their question and can ask further questions if necessary to obtain more specific information.
[0117] For example, if a user enters "I'm unhappy with my recent bill," the server analyzes this dissatisfaction and, in addition to providing standard FAQ-based answers, suggests additional information and contact methods to empathetically resolve the issue. Empathetic language is used to ensure more effective communication while acknowledging the user's feelings.
[0118] This system allows users to receive personalized responses tailored to their emotions, thereby improving the overall user experience.
[0119] The following describes the processing flow.
[0120] Step 1:
[0121] The user initiates the initial inquiry by entering their question in the chatbot interface and pressing the send button.
[0122] Step 2:
[0123] The terminal receives input data from the user and transfers it to the server. During this process, the data is encoded into an appropriate format.
[0124] Step 3:
[0125] The server receives the transferred data and uses a natural language processing (NLP) engine to analyze the intent of the query. The NLP process includes tokenization, morphological analysis, and intent extraction.
[0126] Step 4:
[0127] The server runs a parallel emotion engine to analyze the emotional state of the text from the user's input. This analysis aims to identify emotional categories such as positive, negative, and neutral.
[0128] Step 5:
[0129] Based on the analyzed intent and emotions, the server searches the database to find the most suitable answer. The search results are customized according to the user's emotions and consider multiple answer options as needed.
[0130] Step 6:
[0131] The server uses a template engine to format the selected response using language appropriate to the user's emotions. This enables contextually appropriate responses, such as empathetic or encouraging messages.
[0132] Step 7:
[0133] The device receives the formatted response from the server and displays it to the user. This allows the user to receive responses that are emotionally resonant.
[0134] Step 8:
[0135] If the user requests additional information, further details can be obtained by repeating the question-and-answer cycle. This process allows the user to receive continuous responses and continues until the interaction is complete.
[0136] (Example 2)
[0137] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0138] Modern information processing devices often provide standardized responses to user inquiries, making it difficult to offer flexible responses that take into account individual emotional states. Therefore, there is a need to improve the user experience and enable communication that meets individual needs.
[0139] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0140] In this invention, the server includes means for analyzing intent from a query text using natural language processing, means for executing an algorithm for sentiment analysis based on the analyzed intent, means for searching an information aggregation unit based on the intent and sentiment analysis results to obtain the optimal response, and means for formatting the obtained response into a natural expression using a template engine and providing it to the user. This enables personalized responses according to the user's emotional state.
[0141] "Natural language processing" is a technology that enables computers to understand, analyze, and generate human language.
[0142] "Sentiment analysis" is an algorithm used to identify a person's emotional state from text data.
[0143] The "Information Aggregation Department" is a data storage facility where answers and information related to various inquiries are accumulated.
[0144] A "template engine" is a software component that generates output content using predefined templates based on dynamically changing data.
[0145] An "algorithm" is a set of computational procedures or steps designed to solve a specific problem.
[0146] A "user" is a person who operates a system or device and receives its services.
[0147] Modes for carrying out the invention
[0148] This invention relates to an advanced information processing device utilizing AI. This system is designed to provide more appropriate and flexible responses to user inquiries using natural language processing and sentiment analysis technologies.
[0149] The server uses natural language processing technology to analyze the intent behind the text data entered by the user. This process can utilize common software libraries such as Google® Cloud Natural Language and IBM Watson® Natural Language Understanding. These tools are used to perform grammatical analysis and keyword extraction to understand the background and main points of the question.
[0150] After the analysis is complete, the server uses an emotion analysis engine to evaluate the emotional state of the text. The emotion analysis utilizes tools that calculate emotion scores from text, such as Python's TextBlob or Azure Cognitive Services' Sentiment Analysis API. This identifies the emotions the user is expressing (e.g., joy, anger, sadness).
[0151] Based on the analysis results, the server searches the information aggregation unit to identify the most appropriate response. This information aggregation unit is a database containing multiple response templates that reflect the user's intentions and emotions. Emotional information is used to select and fine-tune the response.
[0152] Next, the selected response is formatted on the server using a template engine (e.g., Jinja2 or Handlebars). The template engine formats the response into a natural and readable language and sends it back to the user. The terminal receives this response data and displays it in a user-friendly format.
[0153] For example, if a user enters "I am dissatisfied with my recent bill," the system will acknowledge the user's dissatisfaction and provide empathetic and more specific solutions. For instance, it might generate a message such as, "We apologize for any inconvenience this may have caused. Please review the following steps."
[0154] An example of a prompt message would be, "Generate and provide the optimal response, taking into account the emotions the user is expressing." In this way, the present invention aims to provide appropriate responses that respond to the user's emotions and improve the overall user experience.
[0155] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0156] Step 1:
[0157] The user enters an inquiry into the system via a terminal. This input is in text format and may include specific examples such as "I would like to know about canceling my order." The terminal sends this text data to the server as a digital packet.
[0158] Step 2:
[0159] The server inputs the received text data into a natural language processing (NLP) module and analyzes its intent. The input data is first tokenized and then grammatically analyzed. This process extracts key phrases and their context. The output provides specific information and actions that the user wants to know.
[0160] Step 3:
[0161] The server then sends the NLP-analyzed data to the emotion engine for emotion analysis. The system assigns an emotion score to each word or phrase and determines the overall emotional state. The output of the emotion analysis is the user's current emotion (e.g., worried, satisfied, anxious, etc.).
[0162] Step 4:
[0163] The server uses the analysis results to search the information aggregation unit. This search identifies the response template that best matches the user's intent and emotional state. The input is the analyzed intent and emotional information, and the output is the appropriate response template.
[0164] Step 5:
[0165] The server processes the retrieved response template through a template engine to generate a response in natural language. The input includes template data and dynamically changing information (e.g., unique advice to provide to the user), and the output is a response written in a human-readable style.
[0166] Step 6:
[0167] The generated response is sent to the terminal and displayed to the user. The user can then receive this response and ask further questions if necessary. This allows the user to obtain more detailed information about their questions through interaction with the system.
[0168] (Application Example 2)
[0169] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0170] Conventional inquiry response systems fail to tailor responses based on user emotions, resulting in an unsatisfactory user experience. In particular, responses that effectively address dissatisfaction and anxiety in emotionally charged situations are needed. This is crucial for improving user satisfaction in services such as electronic payment services.
[0171] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0172] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for identifying the user's emotional state by combining the analyzed intent with an emotion analysis engine, means for searching a database based on the identified emotional state and intent to identify the optimal response, and means for formatting the acquired response into natural language with an appropriate tone and format according to the emotional information and providing it to the user. This enables effective communication that responds to the user's emotions and improves the user experience.
[0173] "Natural language processing" is the technology that enables computers to understand, analyze, and generate human language.
[0174] "Analyzing intent" is the process of clarifying the purpose and requirements behind a user's inquiry.
[0175] An "emotion analysis engine" is a technology that includes an algorithm that identifies the emotional state from the user's input.
[0176] "User's emotional state" refers to the emotional state, such as joy, anger, or sadness, that a user exhibits while making an inquiry.
[0177] "Searching a database" is the operation of finding data that matches certain criteria from an existing set of information.
[0178] "Formatting a response" is the process of shaping a generated answer into appropriate wording and writing style.
[0179] A "template engine" is a software tool used to dynamically generate content using data.
[0180] A "generative AI model" is a model that uses artificial intelligence to create responses and content in response to user input.
[0181] The system that realizes this invention is executed through interaction between a server, a terminal, and the user. The server uses an open-source natural language processing library to analyze the inquiry sent by the user and clarify its intent. The analyzed results are further used with a sentiment analysis engine to identify the user's emotional state. This sentiment analysis uses sentiment analysis tools such as TextBlob.
[0182] Next, the server searches a relevant database based on intent and emotional state to identify the optimal response. This process utilizes OpenAI®'s GPT-3® generative AI model to generate flexible and accurate answers to queries. The generated responses are then formatted via a template engine to adopt an appropriate tone and format based on emotional information.
[0183] The terminal displays the response received from the server to the user. This response is presented in a format that is easy for the user to understand and use. As a result, users receive empathetic support, and inquiries and problems are resolved more effectively.
[0184] For example, if a user expresses dissatisfaction with an electronic payment service, stating that they are being double-charged, the server analyzes the inquiry and identifies the emotional state as "dissatisfied." An example of a prompt might be: "The user is experiencing negative emotions. User's question: 'I think there is an error in my invoice.' Please provide a gentle and supportive response." Based on this information, the server generates an empathetic response and suggests specific steps for resolving the problem and who to contact.
[0185] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0186] Step 1:
[0187] The user enters the inquiry through their terminal. The inquiry content is sent to the server as text data. The input is the text message entered by the user, and the output is the raw inquiry data received by the server.
[0188] Step 2:
[0189] The server analyzes the received query data using a natural language processing library. Specifically, it extracts keywords and phrases from the text to identify the intent of the query, and an algorithm uses this information to determine the nature of the request. The input is the raw query data, and the output is the analyzed intent data.
[0190] Step 3:
[0191] Based on the analyzed intent data, the server uses an emotion analysis engine to identify the user's emotional state. This process detects emotional aspects from the tone and keywords within the text. The input is the analyzed intent data, and the output is the identified emotional state, which may include, for example, "dissatisfied" or "joyful."
[0192] Step 4:
[0193] The server searches the database based on the user's intent and emotional state to identify the most appropriate response. At this stage, it quickly extracts relevant information and prepares to provide the solutions and knowledge the user is seeking. The input is the intent and emotional state, and the output is the retrieved response candidates.
[0194] Step 5:
[0195] The server uses a generative AI model to generate the final response based on the searched response candidates. The model used here is OpenAI's GPT-3, which generates appropriate documents based on the prompt text and adjusts the tone to reflect emotions. The input is the response candidates, and the output is the final response formatted for presentation to the user.
[0196] Step 6:
[0197] The terminal displays the formatted final response to the user. The user can review the response through the screen and obtain information to resolve the problem. The input is the formatted response, and the output is the response display as visual information for the user.
[0198] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0199] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0200] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0201] [Second Embodiment]
[0202] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0203] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0204] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0205] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0206] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0207] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0208] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0209] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0210] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0211] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0212] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0213] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0214] The embodiments of the AI chatbot system of the present invention will be described as follows.
[0215] This system utilizes natural language processing technology to enable rapid and automated responses to user inquiries. By accurately understanding user-entered inquiries and providing appropriate answers, the system reduces the workload on sales representatives and enables 24 / 7 / 365 support.
[0216] First, the user enters a question through the chatbot interface. The terminal receives this input and forwards it to the server. The server analyzes the received content using natural language processing techniques to extract the intent of the inquiry. Based on the analysis results, the server searches a database based on the included keywords and intent to identify the most appropriate answer.
[0217] The server uses a template engine to format the found answers into human-readable language. This allows users to immediately obtain useful information in response to their questions. The final answer is then sent back to the user via their device for review.
[0218] For example, if a user asks, "Tell me about the new plan," the server recognizes "new plan" as the key phrase and searches for relevant information in the database. It then formats the found information into a format such as "The new plan offers 20GB of data capacity for 3,000 yen per month" and provides it to the user quickly.
[0219] This system constantly maintains the latest information in its database and is continuously improved using machine learning algorithms to enhance the accuracy of its responses. In this way, the present invention achieves efficient and effective inquiry handling.
[0220] The following describes the processing flow.
[0221] Step 1:
[0222] The user initiates the inquiry by typing their question into the chatbot interface and pressing the send button.
[0223] Step 2:
[0224] The terminal prepares to send input data received from the user to the server for analysis. During this process, the text data is formatted, and a secure connection is established.
[0225] Step 3:
[0226] The server receives data sent from the terminal and uses a natural language processing (NLP) engine to analyze the query. Specifically, it performs processes such as tokenizing the sentence, morphological analysis, and extracting the intent of the query.
[0227] Step 4:
[0228] Based on the analysis results, the server queries databases such as FAQs to find the most relevant answer. At the same time, it utilizes similarity search algorithms to identify highly relevant answers even when no direct match is found.
[0229] Step 5:
[0230] The server formats the answers it finds using a template engine. This ensures that the retrieved answers are presented in natural and easy-to-understand language.
[0231] Step 6:
[0232] The terminal displays the formatted response received from the server on the user's chat screen. The user can then review the response and obtain the information they were looking for.
[0233] Step 7:
[0234] Users can ask further detailed questions as needed. Similarly, by repeating this process, it becomes possible to generate a continuous conversation and obtain the necessary information by delving deeper.
[0235] (Example 1)
[0236] Next, we will describe Example 1. 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."
[0237] Conventional response systems face problems such as time constraints and the need for human resources to provide appropriate responses to inquiries. Furthermore, they lack the ability to provide quick and accurate answers to a wide range of user inquiries. This invention aims to solve these problems and achieve efficient and highly accurate inquiry handling.
[0238] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0239] In this invention, the server includes means for analyzing the intent within text data received from a communication terminal using natural language processing technology; means for searching a storage device that holds information based on the analyzed intent and keywords to obtain the optimal information; means for formatting the obtained information into a natural language form using template formation means and sending it back to the communication terminal; and means for continuously updating the database using machine learning algorithms to improve the accuracy of the analysis. This makes it possible to provide information quickly and accurately in response to user inquiries.
[0240] "Natural language processing technology" refers to a set of technologies that enable computers to understand, generate, and manipulate human language.
[0241] A "communication terminal" is a device that functions as an interface with the user, sending information from the user to a server and receiving information from the server.
[0242] "Text data" refers to character information entered by a user via a communication terminal, and is the data that is subject to analysis.
[0243] "Intention" refers to the purpose or request that a user is trying to achieve when making an inquiry.
[0244] A "storage device" refers to a device that stores information and keeps data in a format that allows it to be searched and retrieved as needed.
[0245] "Template formation means" refers to techniques and methods for formatting acquired information according to a predetermined format and expressing it in natural language.
[0246] A "machine learning algorithm" refers to a computational method that learns patterns from data and improves performance based on experience.
[0247] A "database" is a collection of structured data, and refers to a system used to search for and retrieve information quickly and efficiently.
[0248] The present invention is an automated response system that uses natural language processing technology to respond to user inquiries. This system includes a series of processes that analyze text data entered by the user, understand the user's intent, obtain and format the most relevant information, and provide it to the user.
[0249] The user uses a communication terminal to input text data through the interface. For example, they might enter an inquiry such as, "Tell me about the new plan." The communication terminal then transfers this text data to the server.
[0250] The server analyzes the received text data using natural language processing techniques based on generative AI models. This analysis involves commonly used language modeling techniques. Based on the analyzed intent and keywords, the server searches its information storage device and retrieves relevant information.
[0251] The retrieved information is formatted by the server using a template formation mechanism, transforming it into a user-understandable response in natural language. This process utilizes a template engine to organize information into a human-readable sentence structure. For example, retrieved information might be formatted to state, "The new plan offers 20GB of data for ¥3,000 per month," and then presented to the user.
[0252] This system further improves the overall accuracy and performance of its responses by using machine learning algorithms and continuously updating its database. It also possesses the flexibility to handle different user inquiries. An example prompt format is: "Please provide the best answer to the following inquiry: 'Tell me about the new plan.'"
[0253] Ultimately, the user can confirm the response sent from the server via the communication terminal and obtain information quickly and accurately. In this way, this invention provides an efficient and highly accurate inquiry response system.
[0254] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0255] Step 1:
[0256] The user enters their inquiry through a communication terminal. For example, they might enter the text, "Tell me about the new plan." This input is received by the terminal and sent directly to the server as text data. The input is provided as a sentence in natural language.
[0257] Step 2:
[0258] The server analyzes text data received from the terminal. This analysis uses a generative AI model, leveraging a language model to extract the intent of the query. The input is a string-formatted query, and the output is the extracted intent and related keywords. In this process, the server utilizes tokenization and morphological analysis.
[0259] Step 3:
[0260] The server searches the storage based on the analyzed intent and keywords. SQL queries are used for the database search to identify the relevant information. The input is the keywords extracted in step 2, and the output is the relevant information or documents. Specifically, the server queries the database with conditions related to "new plan".
[0261] Step 4:
[0262] The server formats the acquired information using a template generation mechanism. Using a template engine, the information is formatted into a human-readable language. The input is raw information retrieved from a database, and the output is formatted text. A concrete example is the generation of a formatted message stating, "Our new plan offers 20GB of data capacity for 3,000 yen per month."
[0263] Step 5:
[0264] The server sends formatted text to the terminal. The input is the formatted response text, and the output is the transmission of data to the communication terminal. The terminal receives this and displays it to the user. The user can view the content on the terminal's screen.
[0265] (Application Example 1)
[0266] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0267] In content distribution services, a key challenge is improving the efficiency of information retrieval by responding quickly and appropriately to user inquiries. In particular, it is necessary to enhance service satisfaction by providing relevant recommendations based on the diverse needs of users.
[0268] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0269] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for searching information resources and obtaining optimal information based on the analyzed intent, means for formatting the obtained information into natural language and providing it to the user, and means for presenting relevant recommendations in response to the user's inquiry. This makes it possible to quickly identify content of interest to the user and recommend it as appropriate.
[0270] "Natural language processing" is a technology that enables computers to understand, analyze, and respond appropriately to human language.
[0271] "Means of analyzing intent" refer to methods and processes for identifying the purpose and meaning behind a user's inquiry or request.
[0272] "Information resources" refer to a collection of knowledge and data provided in response to user inquiries.
[0273] "Means of obtaining optimal information" refers to methods for searching for and selecting the data and knowledge that best meet the user's needs.
[0274] "Methods for formatting into natural language" refer to technologies for presenting machine-acquired information in a way that is easy for humans to understand.
[0275] "Means of providing to users" refers to the interface and processes used to communicate answers to inquiries to users.
[0276] "Means of presenting recommendations" refers to methods of displaying relevant options and suggestions according to the user's needs and interests.
[0277] To implement this invention, a server functions as the central component. The server receives inquiries from users and analyzes their intent using natural language processing (NLTK) technology. This involves using programming languages such as Python and natural language processing libraries such as NLTK and spaCy. Based on the analyzed intent, the server searches for the most relevant information from its information resources. These information resources are organized as a database and efficiently managed by a database management system such as PostgreSQL.
[0278] Next, the server formats the acquired data into a user-friendly format using a template engine (such as Jinja2). This formatted information is then transmitted to the terminal via the internet and displayed on the user's screen. This allows the user to instantly receive the latest and most relevant information to address their inquiry.
[0279] As a concrete example, if a user asks "What are some recommended action movies?" through a smartphone application, the server searches for information on relevant action movies and uses a template engine to format it into the form "The recommended action movie is 'Sample Movie Title'." This information is then immediately sent to the user's smartphone and displayed.
[0280] Furthermore, an example of a prompt message when using a generative AI model would be: "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" Through this prompt message, the system can present information that meets the user's needs.
[0281] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0282] Step 1:
[0283] The user uses the terminal to input an inquiry. The input here is a text - based question or request. The terminal sends this inquiry to the server.
[0284] Step 2:
[0285] The server analyzes the received inquiry using natural language processing techniques. Specifically, it tokenizes the text using NLTK or spaCy and extracts the key intent. Through this process, the data analyzed as intent is output.
[0286] Step 3:
[0287] The server searches the information resource database based on the analysis result to obtain the optimal information. The input is the analyzed intent and key, and the output is the corresponding database entry. This includes specific operations such as using SQL queries to search for data from PostgreSQL.
[0288] Step 4:
[0289] The server formats the obtained data using a template engine. The template engine (such as Jinja2) uses a format - specified template to assemble information in natural language. The input is the information obtained from the database, and the output is the formatted text.
[0290] Step 5:
[0291] The server sends the formatted answer to the terminal. The terminal displays this and provides it to the user. The information is visually presented on the user's screen, and the user can immediately check the content.
[0292] Step 6:
[0293] When the generative AI model uses a prompt to further refine information tailored to the user's needs, it might use a prompt such as, "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" The generative AI model then predicts the optimal action based on this prompt.
[0294] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0295] This invention combines emotion recognition capabilities with an AI chatbot system to analyze user emotions and achieve more effective communication. This system utilizes natural language processing technology and an emotion engine to automatically and flexibly respond to user inquiries.
[0296] Specifically, when a user enters an inquiry through the chatbot interface, the device sends that data to the server. The server first uses natural language processing to analyze the intent of the inquiry, and then incorporates an emotion engine to simultaneously analyze the user's emotions. This analysis allows the server to understand the user's current emotional state (e.g., joy, anger, sadness, etc.).
[0297] Next, the server searches the database based on the analysis results to identify the response that best matches the user's intent and emotions. Emotional information is used when selecting and formatting the response. For example, if the user expresses dissatisfaction, the system will generate a response with a more polite and empathetic tone.
[0298] Once an answer is identified, the server uses a template engine to format it into human-friendly, natural language, and the terminal sends it back to the user. The user receives the answer to their question and can ask further questions if necessary to obtain more specific information.
[0299] For example, when a user inputs "I am dissatisfied with the recent bill", the server analyzes this dissatisfied emotion and, in addition to the normal FAQ-based answers, proposes additional information and contact methods to solve the problem in a more personal way. In this process, empathetic expressions are added to achieve more effective communication while empathizing with the user's emotions.
[0300] With this system, users can receive individualized responses that match their emotions, thus improving the overall user experience.
[0301] The following describes the processing flow.
[0302] Step 1:
[0303] The user starts an initial inquiry by entering an inquiry in the chatbot interface and pressing the send button.
[0304] Step 2:
[0305] The terminal receives the input data from the user and transfers it to the server. At this time, the data is encoded in an appropriate format.
[0306] Step 3:
[0307] The server receives the transferred data and analyzes the intention of the inquiry content using a natural language processing (NLP) engine. The NLP process includes tokenization, morphological analysis, and intention extraction.
[0308] Step 4:
[0309] The server runs the emotion engine in parallel to analyze the emotional state of the text from the user's input. This analysis aims to identify emotional categories such as positive, negative, and neutral.
[0310] Step 5:
[0311] Based on the analyzed intent and emotions, the server searches the database to find the most suitable answer. The search results are customized according to the user's emotions and consider multiple answer options as needed.
[0312] Step 6:
[0313] The server uses a template engine to format the selected response using language appropriate to the user's emotions. This enables contextually appropriate responses, such as empathetic or encouraging messages.
[0314] Step 7:
[0315] The device receives the formatted response from the server and displays it to the user. This allows the user to receive responses that are emotionally resonant.
[0316] Step 8:
[0317] If the user requests additional information, further details can be obtained by repeating the question-and-answer cycle. This process allows the user to receive continuous responses and continues until the interaction is complete.
[0318] (Example 2)
[0319] Next, we will describe Example 2. 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".
[0320] Modern information processing devices often provide standardized responses to user inquiries, making it difficult to offer flexible responses that take into account individual emotional states. Therefore, there is a need to improve the user experience and enable communication that meets individual needs.
[0321] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0322] In this invention, the server includes means for analyzing intent from a query text using natural language processing, means for executing an algorithm for sentiment analysis based on the analyzed intent, means for searching an information aggregation unit based on the intent and sentiment analysis results to obtain the optimal response, and means for formatting the obtained response into a natural expression using a template engine and providing it to the user. This enables personalized responses according to the user's emotional state.
[0323] "Natural language processing" is a technology that enables computers to understand, analyze, and generate human language.
[0324] "Sentiment analysis" is an algorithm used to identify a person's emotional state from text data.
[0325] The "Information Aggregation Department" is a data storage facility where answers and information related to various inquiries are accumulated.
[0326] A "template engine" is a software component that generates output content using predefined templates based on dynamically changing data.
[0327] An "algorithm" is a set of computational procedures or steps designed to solve a specific problem.
[0328] A "user" is a person who operates a system or device and receives its services.
[0329] Modes for carrying out the invention
[0330] This invention relates to an advanced information processing device utilizing AI. This system is designed to provide more appropriate and flexible responses to user inquiries using natural language processing and sentiment analysis technologies.
[0331] The server uses natural language processing technology to analyze the intent behind the text data entered by the user. This process can utilize common software libraries such as Google Cloud Natural Language and IBM Watson Natural Language Understanding. These tools are used to perform grammatical analysis and keyword extraction to understand the background and main points of the question.
[0332] After the analysis is complete, the server uses an emotion analysis engine to evaluate the emotional state of the text. This uses tools that calculate emotion scores from text, such as Python's TextBlob or Azure Cognitive Services' Sentiment Analysis API. This identifies the emotions the user is expressing (e.g., joy, anger, sadness).
[0333] Based on the analysis results, the server searches the information aggregation unit to identify the most appropriate response. This information aggregation unit is a database containing multiple response templates that reflect the user's intentions and emotions. Emotional information is used to select and fine-tune the response.
[0334] Next, the selected response is formatted on the server using a template engine (e.g., Jinja2 or Handlebars). The template engine formats the response into a natural and readable language and sends it back to the user. The terminal receives this response data and displays it in a user-friendly format.
[0335] For example, if a user enters "I am dissatisfied with my recent bill," the system will acknowledge the user's dissatisfaction and provide empathetic and more specific solutions. For instance, it might generate a message such as, "We apologize for any inconvenience this may have caused. Please review the following steps."
[0336] An example of a prompt message would be, "Generate and provide the optimal response, taking into account the emotions the user is expressing." In this way, the present invention aims to provide appropriate responses that respond to the user's emotions and improve the overall user experience.
[0337] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0338] Step 1:
[0339] The user enters an inquiry into the system via a terminal. This input is in text format and may include specific examples such as "I would like to know about canceling my order." The terminal sends this text data to the server as a digital packet.
[0340] Step 2:
[0341] The server inputs the received text data into a natural language processing (NLP) module and analyzes its intent. The input data is first tokenized and then grammatically analyzed. This process extracts key phrases and their context. The output provides specific information and actions that the user wants to know.
[0342] Step 3:
[0343] The server then sends the NLP-analyzed data to the emotion engine for emotion analysis. The system assigns an emotion score to each word or phrase and determines the overall emotional state. The output of the emotion analysis is the user's current emotion (e.g., worried, satisfied, anxious, etc.).
[0344] Step 4:
[0345] The server uses the analysis results to search the information aggregation unit. This search identifies the response template that best matches the user's intent and emotional state. The input is the analyzed intent and emotional information, and the output is the appropriate response template.
[0346] Step 5:
[0347] The server processes the retrieved response template through a template engine to generate a response in natural language. The input includes template data and dynamically changing information (e.g., unique advice to provide to the user), and the output is a response written in a human-readable style.
[0348] Step 6:
[0349] The generated response is sent to the terminal and displayed to the user. The user can then receive this response and ask further questions if necessary. This allows the user to obtain more detailed information about their questions through interaction with the system.
[0350] (Application Example 2)
[0351] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the smart glasses 214 as the "terminal".
[0352] Conventional inquiry response systems fail to tailor responses based on user emotions, resulting in an unsatisfactory user experience. In particular, responses that effectively address dissatisfaction and anxiety in emotionally charged situations are needed. This is crucial for improving user satisfaction in services such as electronic payment services.
[0353] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0354] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for identifying the user's emotional state by combining the analyzed intent with an emotion analysis engine, means for searching a database based on the identified emotional state and intent to identify the optimal response, and means for formatting the acquired response into natural language with an appropriate tone and format according to the emotional information and providing it to the user. This enables effective communication that responds to the user's emotions and improves the user experience.
[0355] "Natural language processing" is the technology that enables computers to understand, analyze, and generate human language.
[0356] "Analyzing intent" is the process of clarifying the purpose and requirements behind a user's inquiry.
[0357] An "emotion analysis engine" is a technology that includes an algorithm that identifies the emotional state from the user's input.
[0358] "User's emotional state" refers to the emotional state, such as joy, anger, or sadness, that a user exhibits while making an inquiry.
[0359] "Searching a database" is the operation of finding data that matches certain criteria from an existing set of information.
[0360] "Formatting a response" is the process of shaping a generated answer into appropriate wording and writing style.
[0361] A "template engine" is a software tool used to dynamically generate content using data.
[0362] A "generative AI model" is a model that uses artificial intelligence to create responses and content in response to user input.
[0363] The system that realizes this invention is executed through interaction between a server, a terminal, and the user. The server uses an open-source natural language processing library to analyze the inquiry sent by the user and clarify its intent. The analyzed results are further used with a sentiment analysis engine to identify the user's emotional state. This sentiment analysis uses sentiment analysis tools such as TextBlob.
[0364] Next, the server searches relevant databases based on intent and emotional state to identify the optimal response. This process utilizes OpenAI's GPT-3 generative AI model to generate flexible and accurate answers to queries. The generated responses are then formatted via a template engine to adopt an appropriate tone and format based on emotional information.
[0365] The terminal displays the response received from the server to the user. This response is presented in a format that is easy for the user to understand and use. As a result, users receive empathetic support, and inquiries and problems are resolved more effectively.
[0366] For example, if a user expresses dissatisfaction with an electronic payment service, stating that they are being double-charged, the server analyzes the inquiry and identifies the emotional state as "dissatisfied." An example of a prompt might be: "The user is experiencing negative emotions. User's question: 'I think there is an error in my invoice.' Please provide a gentle and supportive response." Based on this information, the server generates an empathetic response and suggests specific steps for resolving the problem and who to contact.
[0367] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0368] Step 1:
[0369] The user enters the inquiry through their terminal. The inquiry content is sent to the server as text data. The input is the text message entered by the user, and the output is the raw inquiry data received by the server.
[0370] Step 2:
[0371] The server analyzes the received query data using a natural language processing library. Specifically, it extracts keywords and phrases from the text to identify the intent of the query, and an algorithm uses this information to determine the nature of the request. The input is the raw query data, and the output is the analyzed intent data.
[0372] Step 3:
[0373] Based on the analyzed intent data, the server uses an emotion analysis engine to identify the user's emotional state. This process detects emotional aspects from the tone and keywords within the text. The input is the analyzed intent data, and the output is the identified emotional state, which may include, for example, "dissatisfied" or "joyful."
[0374] Step 4:
[0375] The server searches the database based on the user's intent and emotional state to identify the most appropriate response. At this stage, it quickly extracts relevant information and prepares to provide the solutions and knowledge the user is seeking. The input is the intent and emotional state, and the output is the retrieved response candidates.
[0376] Step 5:
[0377] The server uses a generative AI model to generate the final response based on the searched response candidates. The model used here is OpenAI's GPT-3, which generates appropriate documents based on the prompt text and adjusts the tone to reflect emotions. The input is the response candidates, and the output is the final response formatted for presentation to the user.
[0378] Step 6:
[0379] The terminal displays the formatted final response to the user. The user can review the response through the screen and obtain information to resolve the problem. The input is the formatted response, and the output is the response display as visual information for the user.
[0380] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0381] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0382] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0383] [Third Embodiment]
[0384] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0385] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0386] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0387] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0388] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0389] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0390] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0391] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0392] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0393] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0394] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0395] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0396] The embodiments of the AI chatbot system of the present invention will be described as follows.
[0397] This system utilizes natural language processing technology to enable rapid and automated responses to user inquiries. By accurately understanding user-entered inquiries and providing appropriate answers, the system reduces the workload on sales representatives and enables 24 / 7 / 365 support.
[0398] First, the user enters a question through the chatbot interface. The terminal receives this input and forwards it to the server. The server analyzes the received content using natural language processing techniques to extract the intent of the inquiry. Based on the analysis results, the server searches a database based on the included keywords and intent to identify the most appropriate answer.
[0399] The server uses a template engine to format the found answers into human-readable language. This allows users to immediately obtain useful information in response to their questions. The final answer is then sent back to the user via their device for review.
[0400] For example, if a user asks, "Tell me about the new plan," the server recognizes "new plan" as the key phrase and searches for relevant information in the database. It then formats the found information into a format such as "The new plan offers 20GB of data capacity for 3,000 yen per month" and provides it to the user quickly.
[0401] This system constantly maintains the latest information in its database and is continuously improved using machine learning algorithms to enhance the accuracy of its responses. In this way, the present invention achieves efficient and effective inquiry handling.
[0402] The following describes the processing flow.
[0403] Step 1:
[0404] The user initiates the inquiry by typing their question into the chatbot interface and pressing the send button.
[0405] Step 2:
[0406] The terminal prepares to send input data received from the user to the server for analysis. During this process, the text data is formatted, and a secure connection is established.
[0407] Step 3:
[0408] The server receives data sent from the terminal and uses a natural language processing (NLP) engine to analyze the query. Specifically, it performs processes such as tokenizing the sentence, morphological analysis, and extracting the intent of the query.
[0409] Step 4:
[0410] Based on the analysis results, the server queries databases such as FAQs to find the most relevant answer. At the same time, it utilizes similarity search algorithms to identify highly relevant answers even when no direct match is found.
[0411] Step 5:
[0412] The server formats the answers it finds using a template engine. This ensures that the retrieved answers are presented in natural and easy-to-understand language.
[0413] Step 6:
[0414] The terminal displays the formatted response received from the server on the user's chat screen. The user can then review the response and obtain the information they were looking for.
[0415] Step 7:
[0416] Users can ask further detailed questions as needed. Similarly, by repeating this process, it becomes possible to generate a continuous conversation and obtain the necessary information by delving deeper.
[0417] (Example 1)
[0418] Next, we will describe Example 1. 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."
[0419] Conventional response systems face problems such as time constraints and the need for human resources to provide appropriate responses to inquiries. Furthermore, they lack the ability to provide quick and accurate answers to a wide range of user inquiries. This invention aims to solve these problems and achieve efficient and highly accurate inquiry handling.
[0420] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0421] In this invention, the server includes means for analyzing the intent within text data received from a communication terminal using natural language processing technology; means for searching a storage device that holds information based on the analyzed intent and keywords to obtain the optimal information; means for formatting the obtained information into a natural language form using template formation means and sending it back to the communication terminal; and means for continuously updating the database using machine learning algorithms to improve the accuracy of the analysis. This makes it possible to provide information quickly and accurately in response to user inquiries.
[0422] "Natural language processing technology" refers to a set of technologies that enable computers to understand, generate, and manipulate human language.
[0423] A "communication terminal" is a device that functions as an interface with the user, sending information from the user to a server and receiving information from the server.
[0424] "Text data" refers to character information entered by a user via a communication terminal, and is the data that is subject to analysis.
[0425] "Intention" refers to the purpose or request that a user is trying to achieve when making an inquiry.
[0426] A "storage device" refers to a device that stores information and keeps data in a format that allows it to be searched and retrieved as needed.
[0427] "Template formation means" refers to techniques and methods for formatting acquired information according to a predetermined format and expressing it in natural language.
[0428] A "machine learning algorithm" refers to a computational method that learns patterns from data and improves performance based on experience.
[0429] A "database" is a collection of structured data, and refers to a system used to search for and retrieve information quickly and efficiently.
[0430] The present invention is an automated response system that uses natural language processing technology to respond to user inquiries. This system includes a series of processes that analyze text data entered by the user, understand the user's intent, obtain and format the most relevant information, and provide it to the user.
[0431] The user uses a communication terminal to input text data through the interface. For example, they might enter an inquiry such as, "Tell me about the new plan." The communication terminal then transfers this text data to the server.
[0432] The server analyzes the received text data using natural language processing techniques based on generative AI models. This analysis involves commonly used language modeling techniques. Based on the analyzed intent and keywords, the server searches its information storage device and retrieves relevant information.
[0433] The retrieved information is formatted by the server using a template formation mechanism, transforming it into a user-understandable response in natural language. This process utilizes a template engine to organize information into a human-readable sentence structure. For example, retrieved information might be formatted to state, "The new plan offers 20GB of data for ¥3,000 per month," and then presented to the user.
[0434] This system further improves the overall accuracy and performance of its responses by using machine learning algorithms and continuously updating its database. It also possesses the flexibility to handle different user inquiries. An example prompt format is: "Please provide the best answer to the following inquiry: 'Tell me about the new plan.'"
[0435] Ultimately, the user can confirm the response sent from the server via the communication terminal and obtain information quickly and accurately. In this way, this invention provides an efficient and highly accurate inquiry response system.
[0436] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0437] Step 1:
[0438] The user enters their inquiry through a communication terminal. For example, they might enter the text, "Tell me about the new plan." This input is received by the terminal and sent directly to the server as text data. The input is provided as a sentence in natural language.
[0439] Step 2:
[0440] The server analyzes text data received from the terminal. This analysis uses a generative AI model, leveraging a language model to extract the intent of the query. The input is a string-formatted query, and the output is the extracted intent and related keywords. In this process, the server utilizes tokenization and morphological analysis.
[0441] Step 3:
[0442] The server searches the storage based on the analyzed intent and keywords. SQL queries are used for the database search to identify the relevant information. The input is the keywords extracted in step 2, and the output is the relevant information or documents. Specifically, the server queries the database with conditions related to "new plan".
[0443] Step 4:
[0444] The server formats the acquired information using a template generation mechanism. Using a template engine, the information is formatted into a human-readable language. The input is raw information retrieved from a database, and the output is formatted text. A concrete example is the generation of a formatted message stating, "Our new plan offers 20GB of data capacity for 3,000 yen per month."
[0445] Step 5:
[0446] The server sends formatted text to the terminal. The input is the formatted response text, and the output is the transmission of data to the communication terminal. The terminal receives this and displays it to the user. The user can view the content on the terminal's screen.
[0447] (Application Example 1)
[0448] Next, we will explain Application Example 1. In the following explanation, 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."
[0449] In content distribution services, a key challenge is improving the efficiency of information retrieval by responding quickly and appropriately to user inquiries. In particular, it is necessary to enhance service satisfaction by providing relevant recommendations based on the diverse needs of users.
[0450] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0451] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for searching information resources and obtaining optimal information based on the analyzed intent, means for formatting the obtained information into natural language and providing it to the user, and means for presenting relevant recommendations in response to the user's inquiry. This makes it possible to quickly identify content of interest to the user and recommend it as appropriate.
[0452] "Natural language processing" is a technology that enables computers to understand, analyze, and respond appropriately to human language.
[0453] "Means of analyzing intent" refer to methods and processes for identifying the purpose and meaning behind a user's inquiry or request.
[0454] "Information resources" refer to a collection of knowledge and data provided in response to user inquiries.
[0455] "Means of obtaining optimal information" refers to methods for searching for and selecting the data and knowledge that best meet the user's needs.
[0456] "Methods for formatting into natural language" refer to technologies for presenting machine-acquired information in a way that is easy for humans to understand.
[0457] "Means of providing to users" refers to the interface and processes used to communicate answers to inquiries to users.
[0458] "Means of presenting recommendations" refers to methods of displaying relevant options and suggestions according to the user's needs and interests.
[0459] To implement this invention, a server functions as the central component. The server receives inquiries from users and analyzes their intent using natural language processing (NLTK) technology. This involves using programming languages such as Python and natural language processing libraries such as NLTK and spaCy. Based on the analyzed intent, the server searches for the most relevant information from its information resources. These information resources are organized as a database and efficiently managed by a database management system such as PostgreSQL.
[0460] Next, the server formats the acquired data into a user-friendly format using a template engine (such as Jinja2). This formatted information is then transmitted to the terminal via the internet and displayed on the user's screen. This allows the user to instantly receive the latest and most relevant information to address their inquiry.
[0461] As a concrete example, if a user asks "What are some recommended action movies?" through a smartphone application, the server searches for information on relevant action movies and uses a template engine to format it into the form "The recommended action movie is 'Sample Movie Title'." This information is then immediately sent to the user's smartphone and displayed.
[0462] Furthermore, an example of a prompt message when using a generative AI model would be: "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" Through this prompt message, the system can present information that meets the user's needs.
[0463] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0464] Step 1:
[0465] The user uses a terminal to enter a query. This input is in text format, consisting of questions or requests. The terminal then sends this query to the server.
[0466] Step 2:
[0467] The server analyzes the received query using natural language processing techniques. Specifically, it tokenizes the text using NLTK or spaCy and extracts key intents. This process outputs data that has been analyzed as intent.
[0468] Step 3:
[0469] The server searches the information resource database based on the analysis results and retrieves the most relevant information. The input is the analyzed intent and key, and the output is the corresponding database entry. This includes the specific operation of searching for data from PostgreSQL using SQL queries.
[0470] Step 4:
[0471] The server formats the retrieved data using a template engine. The template engine (such as Jinja2) uses a pre-defined template to assemble information in natural language. The input is information retrieved from a database, and the output is formatted text.
[0472] Step 5:
[0473] The server sends the formatted response to the terminal. The terminal displays and provides it to the user. The information is visually presented on the user's screen, allowing the user to immediately review the content.
[0474] Step 6:
[0475] When the generative AI model uses a prompt to further refine information tailored to the user's needs, it might use a prompt such as, "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" The generative AI model then predicts the optimal action based on this prompt.
[0476] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0477] This invention combines emotion recognition capabilities with an AI chatbot system to analyze user emotions and achieve more effective communication. This system utilizes natural language processing technology and an emotion engine to automatically and flexibly respond to user inquiries.
[0478] Specifically, when a user enters an inquiry through the chatbot interface, the device sends that data to the server. The server first uses natural language processing to analyze the intent of the inquiry, and then incorporates an emotion engine to simultaneously analyze the user's emotions. This analysis allows the server to understand the user's current emotional state (e.g., joy, anger, sadness, etc.).
[0479] Next, the server searches the database based on the analysis results to identify the response that best matches the user's intent and emotions. Emotional information is used when selecting and formatting the response. For example, if the user expresses dissatisfaction, the system will generate a response with a more polite and empathetic tone.
[0480] Once an answer is identified, the server uses a template engine to format it into human-friendly, natural language, and the terminal sends it back to the user. The user receives the answer to their question and can ask further questions if necessary to obtain more specific information.
[0481] For example, if a user enters "I'm unhappy with my recent bill," the server analyzes this dissatisfaction and, in addition to providing standard FAQ-based answers, suggests additional information and contact methods to empathetically resolve the issue. Empathetic language is used to ensure more effective communication while acknowledging the user's feelings.
[0482] This system allows users to receive personalized responses tailored to their emotions, thereby improving the overall user experience.
[0483] The following describes the processing flow.
[0484] Step 1:
[0485] The user initiates the initial inquiry by entering their question in the chatbot interface and pressing the send button.
[0486] Step 2:
[0487] The terminal receives input data from the user and transfers it to the server. During this process, the data is encoded into an appropriate format.
[0488] Step 3:
[0489] The server receives the transferred data and uses a natural language processing (NLP) engine to analyze the intent of the query. The NLP process includes tokenization, morphological analysis, and intent extraction.
[0490] Step 4:
[0491] The server runs a parallel emotion engine to analyze the emotional state of the text from the user's input. This analysis aims to identify emotional categories such as positive, negative, and neutral.
[0492] Step 5:
[0493] Based on the analyzed intent and emotions, the server searches the database to find the most suitable answer. The search results are customized according to the user's emotions and consider multiple answer options as needed.
[0494] Step 6:
[0495] The server uses a template engine to format the selected response using language appropriate to the user's emotions. This enables contextually appropriate responses, such as empathetic or encouraging messages.
[0496] Step 7:
[0497] The device receives the formatted response from the server and displays it to the user. This allows the user to receive responses that are emotionally resonant.
[0498] Step 8:
[0499] If the user requests additional information, further details can be obtained by repeating the question-and-answer cycle. This process allows the user to receive continuous responses and continues until the interaction is complete.
[0500] (Example 2)
[0501] Next, we will describe Example 2. 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."
[0502] Modern information processing devices often provide standardized responses to user inquiries, making it difficult to offer flexible responses that take into account individual emotional states. Therefore, there is a need to improve the user experience and enable communication that meets individual needs.
[0503] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0504] In this invention, the server includes means for analyzing intent from a query text using natural language processing, means for executing an algorithm for sentiment analysis based on the analyzed intent, means for searching an information aggregation unit based on the intent and sentiment analysis results to obtain the optimal response, and means for formatting the obtained response into a natural expression using a template engine and providing it to the user. This enables personalized responses according to the user's emotional state.
[0505] "Natural language processing" is a technology that enables computers to understand, analyze, and generate human language.
[0506] "Sentiment analysis" is an algorithm used to identify a person's emotional state from text data.
[0507] The "Information Aggregation Department" is a data storage facility where answers and information related to various inquiries are accumulated.
[0508] A "template engine" is a software component that generates output content using predefined templates based on dynamically changing data.
[0509] An "algorithm" is a set of computational procedures or steps designed to solve a specific problem.
[0510] A "user" is a person who operates a system or device and receives its services.
[0511] Modes for carrying out the invention
[0512] This invention relates to an advanced information processing device utilizing AI. This system is designed to provide more appropriate and flexible responses to user inquiries using natural language processing and sentiment analysis technologies.
[0513] The server uses natural language processing technology to analyze the intent behind the text data entered by the user. This process can utilize common software libraries such as Google Cloud Natural Language and IBM Watson Natural Language Understanding. These tools are used to perform grammatical analysis and keyword extraction to understand the background and main points of the question.
[0514] After the analysis is complete, the server uses an emotion analysis engine to evaluate the emotional state of the text. This uses tools that calculate emotion scores from text, such as Python's TextBlob or Azure Cognitive Services' Sentiment Analysis API. This identifies the emotions the user is expressing (e.g., joy, anger, sadness).
[0515] Based on the analysis results, the server searches the information aggregation unit to identify the most appropriate response. This information aggregation unit is a database containing multiple response templates that reflect the user's intentions and emotions. Emotional information is used to select and fine-tune the response.
[0516] Next, the selected response is formatted on the server using a template engine (e.g., Jinja2 or Handlebars). The template engine formats the response into a natural and readable language and sends it back to the user. The terminal receives this response data and displays it in a user-friendly format.
[0517] For example, if a user enters "I am dissatisfied with my recent bill," the system will acknowledge the user's dissatisfaction and provide empathetic and more specific solutions. For instance, it might generate a message such as, "We apologize for any inconvenience this may have caused. Please review the following steps."
[0518] An example of a prompt message would be, "Generate and provide the optimal response, taking into account the emotions the user is expressing." In this way, the present invention aims to provide appropriate responses that respond to the user's emotions and improve the overall user experience.
[0519] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0520] Step 1:
[0521] The user enters an inquiry into the system via a terminal. This input is in text format and may include specific examples such as "I would like to know about canceling my order." The terminal sends this text data to the server as a digital packet.
[0522] Step 2:
[0523] The server inputs the received text data into a natural language processing (NLP) module and analyzes its intent. The input data is first tokenized and then grammatically analyzed. This process extracts key phrases and their context. The output provides specific information and actions that the user wants to know.
[0524] Step 3:
[0525] The server then sends the NLP-analyzed data to the emotion engine for emotion analysis. The system assigns an emotion score to each word or phrase and determines the overall emotional state. The output of the emotion analysis is the user's current emotion (e.g., worried, satisfied, anxious, etc.).
[0526] Step 4:
[0527] The server uses the analysis results to search the information aggregation unit. This search identifies the response template that best matches the user's intent and emotional state. The input is the analyzed intent and emotional information, and the output is the appropriate response template.
[0528] Step 5:
[0529] The server processes the retrieved response template through a template engine to generate a response in natural language. The input includes template data and dynamically changing information (e.g., unique advice to provide to the user), and the output is a response written in a human-readable style.
[0530] Step 6:
[0531] The generated response is sent to the terminal and displayed to the user. The user can then receive this response and ask further questions if necessary. This allows the user to obtain more detailed information about their questions through interaction with the system.
[0532] (Application Example 2)
[0533] Next, we will explain application example 2. In the following explanation, 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."
[0534] Conventional inquiry response systems fail to tailor responses based on user emotions, resulting in an unsatisfactory user experience. In particular, responses that effectively address dissatisfaction and anxiety in emotionally charged situations are needed. This is crucial for improving user satisfaction in services such as electronic payment services.
[0535] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0536] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for identifying the user's emotional state by combining the analyzed intent with an emotion analysis engine, means for searching a database based on the identified emotional state and intent to identify the optimal response, and means for formatting the acquired response into natural language with an appropriate tone and format according to the emotional information and providing it to the user. This enables effective communication that responds to the user's emotions and improves the user experience.
[0537] "Natural language processing" is the technology that enables computers to understand, analyze, and generate human language.
[0538] "Analyzing intent" is the process of clarifying the purpose and requirements behind a user's inquiry.
[0539] An "emotion analysis engine" is a technology that includes an algorithm that identifies the emotional state from the user's input.
[0540] "User's emotional state" refers to the emotional state, such as joy, anger, or sadness, that a user exhibits while making an inquiry.
[0541] "Searching a database" is the operation of finding data that matches certain criteria from an existing set of information.
[0542] "Formatting a response" is the process of shaping a generated answer into appropriate wording and writing style.
[0543] A "template engine" is a software tool used to dynamically generate content using data.
[0544] A "generative AI model" is a model that uses artificial intelligence to create responses and content in response to user input.
[0545] The system that realizes this invention is executed through interaction between a server, a terminal, and the user. The server uses an open-source natural language processing library to analyze the inquiry sent by the user and clarify its intent. The analyzed results are further used with a sentiment analysis engine to identify the user's emotional state. This sentiment analysis uses sentiment analysis tools such as TextBlob.
[0546] Next, the server searches relevant databases based on intent and emotional state to identify the optimal response. This process utilizes OpenAI's GPT-3 generative AI model to generate flexible and accurate answers to queries. The generated responses are then formatted via a template engine to adopt an appropriate tone and format based on emotional information.
[0547] The terminal displays the response received from the server to the user. This response is presented in a format that is easy for the user to understand and use. As a result, users receive empathetic support, and inquiries and problems are resolved more effectively.
[0548] For example, if a user expresses dissatisfaction with an electronic payment service, stating that they are being double-charged, the server analyzes the inquiry and identifies the emotional state as "dissatisfied." An example of a prompt might be: "The user is experiencing negative emotions. User's question: 'I think there is an error in my invoice.' Please provide a gentle and supportive response." Based on this information, the server generates an empathetic response and suggests specific steps for resolving the problem and who to contact.
[0549] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0550] Step 1:
[0551] The user enters the inquiry through their terminal. The inquiry content is sent to the server as text data. The input is the text message entered by the user, and the output is the raw inquiry data received by the server.
[0552] Step 2:
[0553] The server analyzes the received query data using a natural language processing library. Specifically, it extracts keywords and phrases from the text to identify the intent of the query, and an algorithm uses this information to determine the nature of the request. The input is the raw query data, and the output is the analyzed intent data.
[0554] Step 3:
[0555] Based on the analyzed intent data, the server uses an emotion analysis engine to identify the user's emotional state. This process detects emotional aspects from the tone and keywords within the text. The input is the analyzed intent data, and the output is the identified emotional state, which may include, for example, "dissatisfied" or "joyful."
[0556] Step 4:
[0557] The server searches the database based on the user's intent and emotional state to identify the most appropriate response. At this stage, it quickly extracts relevant information and prepares to provide the solutions and knowledge the user is seeking. The input is the intent and emotional state, and the output is the retrieved response candidates.
[0558] Step 5:
[0559] The server uses a generative AI model to generate the final response based on the searched response candidates. The model used here is OpenAI's GPT-3, which generates appropriate documents based on the prompt text and adjusts the tone to reflect emotions. The input is the response candidates, and the output is the final response formatted for presentation to the user.
[0560] Step 6:
[0561] The terminal displays the formatted final response to the user. The user can review the response through the screen and obtain information to resolve the problem. The input is the formatted response, and the output is the response display as visual information for the user.
[0562] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0563] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0564] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0565] [Fourth Embodiment]
[0566] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0567] As shown in Figure 7, the 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.
[0568] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0569] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0570] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0571] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0572] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0573] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0574] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0575] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0576] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0577] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0578] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0579] The embodiments of the AI chatbot system of the present invention will be described as follows.
[0580] This system utilizes natural language processing technology to enable rapid and automated responses to user inquiries. By accurately understanding user-entered inquiries and providing appropriate answers, the system reduces the workload on sales representatives and enables 24 / 7 / 365 support.
[0581] First, the user enters a question through the chatbot interface. The terminal receives this input and forwards it to the server. The server analyzes the received content using natural language processing techniques to extract the intent of the inquiry. Based on the analysis results, the server searches a database based on the included keywords and intent to identify the most appropriate answer.
[0582] The server uses a template engine to format the found answers into human-readable language. This allows users to immediately obtain useful information in response to their questions. The final answer is then sent back to the user via their device for review.
[0583] For example, if a user asks, "Tell me about the new plan," the server recognizes "new plan" as the key phrase and searches for relevant information in the database. It then formats the found information into a format such as "The new plan offers 20GB of data capacity for 3,000 yen per month" and provides it to the user quickly.
[0584] This system constantly maintains the latest information in its database and is continuously improved using machine learning algorithms to enhance the accuracy of its responses. In this way, the present invention achieves efficient and effective inquiry handling.
[0585] The following describes the processing flow.
[0586] Step 1:
[0587] The user initiates the inquiry by typing their question into the chatbot interface and pressing the send button.
[0588] Step 2:
[0589] The terminal prepares to send input data received from the user to the server for analysis. During this process, the text data is formatted, and a secure connection is established.
[0590] Step 3:
[0591] The server receives data sent from the terminal and uses a natural language processing (NLP) engine to analyze the query. Specifically, it performs processes such as tokenizing the sentence, morphological analysis, and extracting the intent of the query.
[0592] Step 4:
[0593] Based on the analysis results, the server queries databases such as FAQs to find the most relevant answer. At the same time, it utilizes similarity search algorithms to identify highly relevant answers even when no direct match is found.
[0594] Step 5:
[0595] The server formats the answers it finds using a template engine. This ensures that the retrieved answers are presented in natural and easy-to-understand language.
[0596] Step 6:
[0597] The terminal displays the formatted response received from the server on the user's chat screen. The user can then review the response and obtain the information they were looking for.
[0598] Step 7:
[0599] Users can ask further detailed questions as needed. Similarly, by repeating this process, it becomes possible to generate a continuous conversation and obtain the necessary information by delving deeper.
[0600] (Example 1)
[0601] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0602] Conventional response systems face problems such as time constraints and the need for human resources to provide appropriate responses to inquiries. Furthermore, they lack the ability to provide quick and accurate answers to a wide range of user inquiries. This invention aims to solve these problems and achieve efficient and highly accurate inquiry handling.
[0603] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0604] In this invention, the server includes means for analyzing the intent within text data received from a communication terminal using natural language processing technology; means for searching a storage device that holds information based on the analyzed intent and keywords to obtain the optimal information; means for formatting the obtained information into a natural language form using template formation means and sending it back to the communication terminal; and means for continuously updating the database using machine learning algorithms to improve the accuracy of the analysis. This makes it possible to provide information quickly and accurately in response to user inquiries.
[0605] "Natural language processing technology" refers to a set of technologies that enable computers to understand, generate, and manipulate human language.
[0606] A "communication terminal" is a device that functions as an interface with the user, sending information from the user to a server and receiving information from the server.
[0607] "Text data" refers to character information entered by a user via a communication terminal, and is the data that is subject to analysis.
[0608] "Intention" refers to the purpose or request that a user is trying to achieve when making an inquiry.
[0609] A "storage device" refers to a device that stores information and keeps data in a format that allows it to be searched and retrieved as needed.
[0610] "Template formation means" refers to techniques and methods for formatting acquired information according to a predetermined format and expressing it in natural language.
[0611] A "machine learning algorithm" refers to a computational method that learns patterns from data and improves performance based on experience.
[0612] A "database" is a collection of structured data, and refers to a system used to search for and retrieve information quickly and efficiently.
[0613] The present invention is an automated response system that uses natural language processing technology to respond to user inquiries. This system includes a series of processes that analyze text data entered by the user, understand the user's intent, obtain and format the most relevant information, and provide it to the user.
[0614] The user uses a communication terminal to input text data through the interface. For example, they might enter an inquiry such as, "Tell me about the new plan." The communication terminal then transfers this text data to the server.
[0615] The server analyzes the received text data using natural language processing techniques based on generative AI models. This analysis involves commonly used language modeling techniques. Based on the analyzed intent and keywords, the server searches its information storage device and retrieves relevant information.
[0616] The retrieved information is formatted by the server using a template formation mechanism, transforming it into a user-understandable response in natural language. This process utilizes a template engine to organize information into a human-readable sentence structure. For example, retrieved information might be formatted to state, "The new plan offers 20GB of data for ¥3,000 per month," and then presented to the user.
[0617] This system further improves the overall accuracy and performance of its responses by using machine learning algorithms and continuously updating its database. It also possesses the flexibility to handle different user inquiries. An example prompt format is: "Please provide the best answer to the following inquiry: 'Tell me about the new plan.'"
[0618] Ultimately, the user can confirm the response sent from the server via the communication terminal and obtain information quickly and accurately. In this way, this invention provides an efficient and highly accurate inquiry response system.
[0619] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0620] Step 1:
[0621] The user enters their inquiry through a communication terminal. For example, they might enter the text, "Tell me about the new plan." This input is received by the terminal and sent directly to the server as text data. The input is provided as a sentence in natural language.
[0622] Step 2:
[0623] The server analyzes text data received from the terminal. This analysis uses a generative AI model, leveraging a language model to extract the intent of the query. The input is a string-formatted query, and the output is the extracted intent and related keywords. In this process, the server utilizes tokenization and morphological analysis.
[0624] Step 3:
[0625] The server searches the storage based on the analyzed intent and keywords. SQL queries are used for the database search to identify the relevant information. The input is the keywords extracted in step 2, and the output is the relevant information or documents. Specifically, the server queries the database with conditions related to "new plan".
[0626] Step 4:
[0627] The server formats the acquired information using a template generation mechanism. Using a template engine, the information is formatted into a human-readable language. The input is raw information retrieved from a database, and the output is formatted text. A concrete example is the generation of a formatted message stating, "Our new plan offers 20GB of data capacity for 3,000 yen per month."
[0628] Step 5:
[0629] The server sends formatted text to the terminal. The input is the formatted response text, and the output is the transmission of data to the communication terminal. The terminal receives this and displays it to the user. The user can view the content on the terminal's screen.
[0630] (Application Example 1)
[0631] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0632] In content distribution services, a key challenge is improving the efficiency of information retrieval by responding quickly and appropriately to user inquiries. In particular, it is necessary to enhance service satisfaction by providing relevant recommendations based on the diverse needs of users.
[0633] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0634] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for searching information resources and obtaining optimal information based on the analyzed intent, means for formatting the obtained information into natural language and providing it to the user, and means for presenting relevant recommendations in response to the user's inquiry. This makes it possible to quickly identify content of interest to the user and recommend it as appropriate.
[0635] "Natural language processing" is a technology that enables computers to understand, analyze, and respond appropriately to human language.
[0636] "Means of analyzing intent" refer to methods and processes for identifying the purpose and meaning behind a user's inquiry or request.
[0637] "Information resources" refer to a collection of knowledge and data provided in response to user inquiries.
[0638] "Means of obtaining optimal information" refers to methods for searching for and selecting the data and knowledge that best meet the user's needs.
[0639] "Methods for formatting into natural language" refer to technologies for presenting machine-acquired information in a way that is easy for humans to understand.
[0640] "Means of providing to users" refers to the interface and processes used to communicate answers to inquiries to users.
[0641] "Means of presenting recommendations" refers to methods of displaying relevant options and suggestions according to the user's needs and interests.
[0642] To implement this invention, a server functions as the central component. The server receives inquiries from users and analyzes their intent using natural language processing (NLTK) technology. This involves using programming languages such as Python and natural language processing libraries such as NLTK and spaCy. Based on the analyzed intent, the server searches for the most relevant information from its information resources. These information resources are organized as a database and efficiently managed by a database management system such as PostgreSQL.
[0643] Next, the server formats the acquired data into a user-friendly format using a template engine (such as Jinja2). This formatted information is then transmitted to the terminal via the internet and displayed on the user's screen. This allows the user to instantly receive the latest and most relevant information to address their inquiry.
[0644] As a concrete example, if a user asks "What are some recommended action movies?" through a smartphone application, the server searches for information on relevant action movies and uses a template engine to format it into the form "The recommended action movie is 'Sample Movie Title'." This information is then immediately sent to the user's smartphone and displayed.
[0645] Furthermore, an example of a prompt message when using a generative AI model would be: "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" Through this prompt message, the system can present information that meets the user's needs.
[0646] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0647] Step 1:
[0648] The user uses a terminal to enter a query. This input is in text format, consisting of questions or requests. The terminal then sends this query to the server.
[0649] Step 2:
[0650] The server analyzes the received query using natural language processing techniques. Specifically, it tokenizes the text using NLTK or spaCy and extracts key intents. This process outputs data that has been analyzed as intent.
[0651] Step 3:
[0652] The server searches the information resource database based on the analysis results and retrieves the most relevant information. The input is the analyzed intent and key, and the output is the corresponding database entry. This includes the specific operation of searching for data from PostgreSQL using SQL queries.
[0653] Step 4:
[0654] The server formats the retrieved data using a template engine. The template engine (such as Jinja2) uses a pre-defined template to assemble information in natural language. The input is information retrieved from a database, and the output is formatted text.
[0655] Step 5:
[0656] The server sends the formatted response to the terminal. The terminal displays and provides it to the user. The information is visually presented on the user's screen, allowing the user to immediately review the content.
[0657] Step 6:
[0658] When the generative AI model uses a prompt to further refine information tailored to the user's needs, it might use a prompt such as, "Based on the user's inquiry, please provide relevant movie information. Example inquiry: What action movies do you recommend?" The generative AI model then predicts the optimal action based on this prompt.
[0659] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0660] This invention combines emotion recognition capabilities with an AI chatbot system to analyze user emotions and achieve more effective communication. This system utilizes natural language processing technology and an emotion engine to automatically and flexibly respond to user inquiries.
[0661] Specifically, when a user enters an inquiry through the chatbot interface, the device sends that data to the server. The server first uses natural language processing to analyze the intent of the inquiry, and then incorporates an emotion engine to simultaneously analyze the user's emotions. This analysis allows the server to understand the user's current emotional state (e.g., joy, anger, sadness, etc.).
[0662] Next, the server searches the database based on the analysis results to identify the response that best matches the user's intent and emotions. Emotional information is used when selecting and formatting the response. For example, if the user expresses dissatisfaction, the system will generate a response with a more polite and empathetic tone.
[0663] Once an answer is identified, the server uses a template engine to format it into human-friendly, natural language, and the terminal sends it back to the user. The user receives the answer to their question and can ask further questions if necessary to obtain more specific information.
[0664] For example, if a user enters "I'm unhappy with my recent bill," the server analyzes this dissatisfaction and, in addition to providing standard FAQ-based answers, suggests additional information and contact methods to empathetically resolve the issue. Empathetic language is used to ensure more effective communication while acknowledging the user's feelings.
[0665] This system allows users to receive personalized responses tailored to their emotions, thereby improving the overall user experience.
[0666] The following describes the processing flow.
[0667] Step 1:
[0668] The user initiates the initial inquiry by entering their question in the chatbot interface and pressing the send button.
[0669] Step 2:
[0670] The terminal receives input data from the user and transfers it to the server. During this process, the data is encoded into an appropriate format.
[0671] Step 3:
[0672] The server receives the transferred data and uses a natural language processing (NLP) engine to analyze the intent of the query. The NLP process includes tokenization, morphological analysis, and intent extraction.
[0673] Step 4:
[0674] The server runs a parallel emotion engine to analyze the emotional state of the text from the user's input. This analysis aims to identify emotional categories such as positive, negative, and neutral.
[0675] Step 5:
[0676] Based on the analyzed intent and emotions, the server searches the database to find the most suitable answer. The search results are customized according to the user's emotions and consider multiple answer options as needed.
[0677] Step 6:
[0678] The server uses a template engine to format the selected response using language appropriate to the user's emotions. This enables contextually appropriate responses, such as empathetic or encouraging messages.
[0679] Step 7:
[0680] The device receives the formatted response from the server and displays it to the user. This allows the user to receive responses that are emotionally resonant.
[0681] Step 8:
[0682] If the user requests additional information, further details can be obtained by repeating the question-and-answer cycle. This process allows the user to receive continuous responses and continues until the interaction is complete.
[0683] (Example 2)
[0684] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0685] Modern information processing devices often provide standardized responses to user inquiries, making it difficult to offer flexible responses that take into account individual emotional states. Therefore, there is a need to improve the user experience and enable communication that meets individual needs.
[0686] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0687] In this invention, the server includes means for analyzing intent from a query text using natural language processing, means for executing an algorithm for sentiment analysis based on the analyzed intent, means for searching an information aggregation unit based on the intent and sentiment analysis results to obtain the optimal response, and means for formatting the obtained response into a natural expression using a template engine and providing it to the user. This enables personalized responses according to the user's emotional state.
[0688] "Natural language processing" is a technology that enables computers to understand, analyze, and generate human language.
[0689] "Sentiment analysis" is an algorithm used to identify a person's emotional state from text data.
[0690] The "Information Aggregation Department" is a data storage facility where answers and information related to various inquiries are accumulated.
[0691] A "template engine" is a software component that generates output content using predefined templates based on dynamically changing data.
[0692] An "algorithm" is a set of computational procedures or steps designed to solve a specific problem.
[0693] A "user" is a person who operates a system or device and receives its services.
[0694] Modes for carrying out the invention
[0695] This invention relates to an advanced information processing device utilizing AI. This system is designed to provide more appropriate and flexible responses to user inquiries using natural language processing and sentiment analysis technologies.
[0696] The server uses natural language processing technology to analyze the intent behind the text data entered by the user. This process can utilize common software libraries such as Google Cloud Natural Language and IBM Watson Natural Language Understanding. These tools are used to perform grammatical analysis and keyword extraction to understand the background and main points of the question.
[0697] After the analysis is complete, the server uses an emotion analysis engine to evaluate the emotional state of the text. This uses tools that calculate emotion scores from text, such as Python's TextBlob or Azure Cognitive Services' Sentiment Analysis API. This identifies the emotions the user is expressing (e.g., joy, anger, sadness).
[0698] Based on the analysis results, the server searches the information aggregation unit to identify the most appropriate response. This information aggregation unit is a database containing multiple response templates that reflect the user's intentions and emotions. Emotional information is used to select and fine-tune the response.
[0699] Next, the selected response is formatted on the server using a template engine (e.g., Jinja2 or Handlebars). The template engine formats the response into a natural and readable language and sends it back to the user. The terminal receives this response data and displays it in a user-friendly format.
[0700] For example, if a user enters "I am dissatisfied with my recent bill," the system will acknowledge the user's dissatisfaction and provide empathetic and more specific solutions. For instance, it might generate a message such as, "We apologize for any inconvenience this may have caused. Please review the following steps."
[0701] An example of a prompt message would be, "Generate and provide the optimal response, taking into account the emotions the user is expressing." In this way, the present invention aims to provide appropriate responses that respond to the user's emotions and improve the overall user experience.
[0702] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0703] Step 1:
[0704] The user enters an inquiry into the system via a terminal. This input is in text format and may include specific examples such as "I would like to know about canceling my order." The terminal sends this text data to the server as a digital packet.
[0705] Step 2:
[0706] The server inputs the received text data into a natural language processing (NLP) module and analyzes its intent. The input data is first tokenized and then grammatically analyzed. This process extracts key phrases and their context. The output provides specific information and actions that the user wants to know.
[0707] Step 3:
[0708] The server then sends the NLP-analyzed data to the emotion engine for emotion analysis. The system assigns an emotion score to each word or phrase and determines the overall emotional state. The output of the emotion analysis is the user's current emotion (e.g., worried, satisfied, anxious, etc.).
[0709] Step 4:
[0710] The server uses the analysis results to search the information aggregation unit. This search identifies the response template that best matches the user's intent and emotional state. The input is the analyzed intent and emotional information, and the output is the appropriate response template.
[0711] Step 5:
[0712] The server processes the retrieved response template through a template engine to generate a response in natural language. The input includes template data and dynamically changing information (e.g., unique advice to provide to the user), and the output is a response written in a human-readable style.
[0713] Step 6:
[0714] The generated response is sent to the terminal and displayed to the user. The user can then receive this response and ask further questions if necessary. This allows the user to obtain more detailed information about their questions through interaction with the system.
[0715] (Application Example 2)
[0716] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0717] Conventional inquiry response systems fail to tailor responses based on user emotions, resulting in an unsatisfactory user experience. In particular, responses that effectively address dissatisfaction and anxiety in emotionally charged situations are needed. This is crucial for improving user satisfaction in services such as electronic payment services.
[0718] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0719] In this invention, the server includes means for analyzing intent from a query sentence using natural language processing, means for identifying the user's emotional state by combining the analyzed intent with an emotion analysis engine, means for searching a database based on the identified emotional state and intent to identify the optimal response, and means for formatting the acquired response into natural language with an appropriate tone and format according to the emotional information and providing it to the user. This enables effective communication that responds to the user's emotions and improves the user experience.
[0720] "Natural language processing" is the technology that enables computers to understand, analyze, and generate human language.
[0721] "Analyzing intent" is the process of clarifying the purpose and requirements behind a user's inquiry.
[0722] An "emotion analysis engine" is a technology that includes an algorithm that identifies the emotional state from the user's input.
[0723] "User's emotional state" refers to the emotional state, such as joy, anger, or sadness, that a user exhibits while making an inquiry.
[0724] "Searching a database" is the operation of finding data that matches certain criteria from an existing set of information.
[0725] "Formatting a response" is the process of shaping a generated answer into appropriate wording and writing style.
[0726] A "template engine" is a software tool used to dynamically generate content using data.
[0727] A "generative AI model" is a model that uses artificial intelligence to create responses and content in response to user input.
[0728] The system that realizes this invention is executed through interaction between a server, a terminal, and the user. The server uses an open-source natural language processing library to analyze the inquiry sent by the user and clarify its intent. The analyzed results are further used with a sentiment analysis engine to identify the user's emotional state. This sentiment analysis uses sentiment analysis tools such as TextBlob.
[0729] Next, the server searches relevant databases based on intent and emotional state to identify the optimal response. This process utilizes OpenAI's GPT-3 generative AI model to generate flexible and accurate answers to queries. The generated responses are then formatted via a template engine to adopt an appropriate tone and format based on emotional information.
[0730] The terminal displays the response received from the server to the user. This response is presented in a format that is easy for the user to understand and use. As a result, users receive empathetic support, and inquiries and problems are resolved more effectively.
[0731] For example, if a user expresses dissatisfaction with an electronic payment service, stating that they are being double-charged, the server analyzes the inquiry and identifies the emotional state as "dissatisfied." An example of a prompt might be: "The user is experiencing negative emotions. User's question: 'I think there is an error in my invoice.' Please provide a gentle and supportive response." Based on this information, the server generates an empathetic response and suggests specific steps for resolving the problem and who to contact.
[0732] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0733] Step 1:
[0734] The user enters the inquiry through their terminal. The inquiry content is sent to the server as text data. The input is the text message entered by the user, and the output is the raw inquiry data received by the server.
[0735] Step 2:
[0736] The server analyzes the received query data using a natural language processing library. Specifically, it extracts keywords and phrases from the text to identify the intent of the query, and an algorithm uses this information to determine the nature of the request. The input is the raw query data, and the output is the analyzed intent data.
[0737] Step 3:
[0738] Based on the analyzed intent data, the server uses an emotion analysis engine to identify the user's emotional state. This process detects emotional aspects from the tone and keywords within the text. The input is the analyzed intent data, and the output is the identified emotional state, which may include, for example, "dissatisfied" or "joyful."
[0739] Step 4:
[0740] The server searches the database based on the user's intent and emotional state to identify the most appropriate response. At this stage, it quickly extracts relevant information and prepares to provide the solutions and knowledge the user is seeking. The input is the intent and emotional state, and the output is the retrieved response candidates.
[0741] Step 5:
[0742] The server uses a generative AI model to generate the final response based on the searched response candidates. The model used here is OpenAI's GPT-3, which generates appropriate documents based on the prompt text and adjusts the tone to reflect emotions. The input is the response candidates, and the output is the final response formatted for presentation to the user.
[0743] Step 6:
[0744] The terminal displays the formatted final response to the user. The user can review the response through the screen and obtain information to resolve the problem. The input is the formatted response, and the output is the response display as visual information for the user.
[0745] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0746] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0747] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0748] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0749] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. In the upper and lower directions of the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. Also, the upper side of the concentric circles is where "pleasant" emotions are located, and the lower side is where "unpleasant" emotions are located. In this way, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0750] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0751] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0752] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0753] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0754] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0755] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0756] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0757] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0758] 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.
[0759] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0760] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0761] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0762] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0763] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0764] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0765] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0766] The following is further disclosed regarding the embodiments described above.
[0767] (Claim 1)
[0768] A method for analyzing intent from query sentences using natural language processing,
[0769] A means of searching a database and obtaining the optimal answer based on the analyzed intent,
[0770] A means of formatting the acquired responses into natural language and providing them to the user,
[0771] A system that includes this.
[0772] (Claim 2)
[0773] The system according to claim 1, comprising means for executing an algorithm that searches a database for similar questions based on the content of an inquiry.
[0774] (Claim 3)
[0775] The system according to claim 1, comprising means for generating an answer using a template engine.
[0776] "Example 1"
[0777] (Claim 1)
[0778] A means for analyzing the intent within text data received from a communication terminal using natural language processing technology,
[0779] A means for searching a storage device that holds information based on the analyzed intent and keywords, and obtaining the optimal information,
[0780] A means for formatting acquired information into a natural language format using a template formation means and sending it back to a communication terminal,
[0781] A means of continuously updating the database using machine learning algorithms to improve the accuracy of analysis,
[0782] A system that includes this.
[0783] (Claim 2)
[0784] The system according to claim 1, comprising means for executing an algorithm to retrieve similar information from a storage device based on the intent of the query.
[0785] (Claim 3)
[0786] The system according to claim 1, comprising means for generating formatted information using template forming means.
[0787] "Application Example 1"
[0788] (Claim 1)
[0789] A method for analyzing intent from query sentences using natural language processing,
[0790] A means of searching for information resources and obtaining the most suitable information based on the analyzed intent,
[0791] A means of formatting acquired information into natural language and providing it to users,
[0792] A means of providing relevant recommendations in response to user inquiries,
[0793] A system that includes this.
[0794] (Claim 2)
[0795] The system according to claim 1, comprising means for executing an algorithm that searches for similar queries within an information resource based on the content of the query and provides the best recommendation.
[0796] (Claim 3)
[0797] The system according to claim 1, comprising means for generating answers using a template engine and dynamically presenting information to the user.
[0798] "Example 2 of combining an emotion engine"
[0799] (Claim 1)
[0800] A method for analyzing intent from query text using natural language processing,
[0801] A means for executing an algorithm that performs sentiment analysis based on the analyzed intent,
[0802] A means for searching the information aggregation unit and obtaining the optimal response based on the results of intention and emotion analysis,
[0803] A means of formatting the acquired response into a natural expression using a template engine and providing it to the user,
[0804] Information processing device including
[0805] (Claim 2)
[0806] The information processing apparatus according to claim 1, comprising means for executing an algorithm to search for similar information from within an information aggregation unit based on the content of the inquiry and the emotional state.
[0807] (Claim 3)
[0808] The information processing apparatus according to claim 1, comprising means for generating a response that takes into account the analyzed results using a template engine.
[0809] "Application example 2 when combining with an emotional engine"
[0810] (Claim 1)
[0811] A method for analyzing intent from query sentences using natural language processing,
[0812] A means of identifying the user's emotional state by combining analyzed intent and an emotion analysis engine,
[0813] A means of searching a database and identifying the optimal response based on identified emotional states and intentions,
[0814] A means of formatting the acquired response into natural language with an appropriate tone and format according to the emotional information, and providing it to the user.
[0815] A system that includes this.
[0816] (Claim 2)
[0817] The system according to claim 1, comprising means for executing an algorithm that searches a database for similar questions based on the content of an inquiry.
[0818] (Claim 3)
[0819] The system according to claim 1, comprising means for generating an answer using a template engine and a generative AI model and providing it to the user in an emotion-responsive format. [Explanation of Symbols]
[0820] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A method for analyzing intent from query sentences using natural language processing, A means of searching for information resources and obtaining the most suitable information based on the analyzed intent, A means of formatting acquired information into natural language and providing it to users, A means of providing relevant recommendations in response to user inquiries, A system that includes this.
2. The system according to claim 1, comprising means for executing an algorithm that searches for similar queries within an information resource based on the content of the query and provides the best recommendation.
3. The system according to claim 1, comprising means for generating answers using a template engine and dynamically presenting information to the user.