system
A system that analyzes user input questions to provide tailored advice on study methods and balanced diets addresses the challenge of children's distracted learning, enhancing educational efficiency and motivation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
Children are engrossed in watching videos on their smartphones, leading to decreased concentration on studies, inefficient learning methods, and difficulty in overcoming academic challenges, maintaining balanced diets, and preparing for entrance examinations.
A system that allows users to input questions, analyzes them for specific keywords, and generates appropriate responses on study methods, overcoming weaknesses, and balanced diets, utilizing a user interface, analysis means, and response generation means.
Enables quick access to specific advice on study methods, overcoming weaknesses, and balanced diets, improving learning efficiency and motivation.
Smart Images

Figure 2026062258000001_ABST
Abstract
Description
Technical Field
[0004] , , ,
[0005] , , ,
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance that responds 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 modern education, there is a problem that children are so engrossed in watching videos on their smartphones that they cannot fully concentrate on their studies. Furthermore, due to not knowing appropriate study methods or methods for overcoming difficult subjects, learning efficiency often decreases. Also, there is a problem that when they are stuck, they don't know who to consult, or they don't know how to maintain a balanced diet, which ultimately makes it difficult to pass the entrance examination to the desired school.
Means for Solving the Problems
[0005] To solve this problem, the present invention provides a user interface that allows the user to input questions. Furthermore, it uses an analysis means to analyze the user's questions and identify specific keywords contained in them. In addition, it uses a response generation means to generate an appropriate response based on the analyzed keywords and uses a response means to return that response to the user. This provides a system in which the user can quickly obtain specific advice on efficient study methods, ways to overcome weaknesses, places to consult when stuck, and a balanced diet.
[0006] A "user interface means" is a function that provides an interface for users to input questions into the system.
[0007] "Analysis means" refers to a function that analyzes the questions entered by the user and understands their content.
[0008] A "response generation means" is a function that generates the optimal response based on the analyzed question content.
[0009] A "response mechanism" is a function that returns the generated response to the user.
[0010] "Specific keywords" are important words or phrases that the system identifies within a user's question to advance the analysis process.
[0011] A "question" is what a user inputs into the system, primarily seeking advice or information.
[0012] A "response" is the answer a system generates in response to a user's question, and it includes specific advice and information. [Brief explanation of the drawing]
[0013] [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] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It 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] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It 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] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It 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] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
Mode for Carrying Out the Invention
[0014] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] 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.
[0017] 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.
[0018] 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, etc.
[0019] 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), etc.
[0020] 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."
[0021] [First Embodiment]
[0022] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0023] 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.
[0024] 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).
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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".
[0034] This invention relates to a system in which a user inputs a question, and an appropriate response is generated and provided based on that question. Specific embodiments of the system are described below and will be explained in detail along with the processing steps.
[0035] 1. The server creates an instance of the chatbot:
[0036] The server starts the program and creates an instance of the ChatBot class. This prepares the system to provide responses as pre-written phrases regarding efficient study methods, overcoming weaknesses, advice methods, and balanced eating habits.
[0037] 2. The user enters the question via the device:
[0038] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me about my child's study methods."
[0039] 3. The server performs analysis on the question:
[0040] The server receives the question entered by the user and calls the respond method. The respond method parses the content of the incoming question and identifies specific keywords. In this case, it checks whether the keyword "study methods" is included.
[0041] 4. The server generates a response:
[0042] The server generates an appropriate response based on the analyzed keywords. For example, if the question is about study methods, the response will generate specific advice such as, "Efficient study methods include the Pomodoro Technique and Space Repetition."
[0043] 5. Return the response generated by the server to the user:
[0044] The generated response is sent from the server to the user's terminal. The user can then review the response on their terminal screen and accept and implement the advice.
[0045] Specific example
[0046] Specifically, the following types of interactions are possible:
[0047] User question: "Please tell me about effective study methods for children."
[0048] Server response: "Effective study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or performing deep learning multiple times in short bursts."
[0049] Through this system, users can receive quick and specific advice, enabling them to effectively support their children's learning. This invention aims to improve time management and learning efficiency in education.
[0050] The following describes the processing flow.
[0051] Step 1:
[0052] The server starts the program and creates an instance of the ChatBot class. This initializes the system with a chatbot that has a predefined set of responses.
[0053] Step 2:
[0054] The user enters the question through their device. For example, they might type "Please tell me about my child's study methods" into the input field on their smartphone or PC.
[0055] Step 3:
[0056] The terminal sends the entered question to the server. The server receives this request.
[0057] Step 4:
[0058] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "study methods").
[0059] Step 5:
[0060] The server generates an appropriate response based on the identified keyword. For example, if the keyword is "study methods," the corresponding response will be "Effective study methods include the Pomodoro Technique and Space Repetition."
[0061] Step 6:
[0062] The server sends the generated response to the terminal. The response is then sent to the user's terminal via an integrated communication method.
[0063] Step 7:
[0064] The terminal receives a response from the server and displays it to the user. The user can view and refer to specific advice from the server on the terminal's screen.
[0065] Step 8:
[0066] The system takes action based on the responses displayed to the user. For example, it can implement specific measures to improve actual study methods, such as trying the Pomodoro Technique.
[0067] (Example 1)
[0068] 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."
[0069] Conventional chatbot systems are limited to predefined, standardized responses to user questions, making it difficult to flexibly address diverse user needs. Furthermore, their user interfaces are often inconvenient, resulting in low user convenience. There is a need to solve these problems and provide a system that offers more flexible and appropriate responses to user-inputted questions.
[0070] 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.
[0071] In this invention, the server includes a terminal where the user inputs a question, a server that analyzes the user's question and identifies specific keywords, a generative AI model that generates an appropriate response based on the identified specific keywords, and a server that returns the generated response to the user's terminal. This makes it possible to generate and provide flexible and appropriate responses to a wide range of user questions.
[0072] A "terminal" is a device used by a user to input questions and communicate with a server, and includes electronic devices such as smartphones and PCs.
[0073] A "server" includes a central processing unit that receives and analyzes user inquiries, generates responses based on the results, and sends them back to the terminal.
[0074] "Specific keywords" refer to important words or phrases included in the questions entered by the user, and are terms that serve as criteria for appropriately analyzing the content of the questions and generating responses.
[0075] A "generative AI model" is a pre-trained artificial intelligence model that includes programs and algorithms for generating natural language responses based on input prompt sentences.
[0076] A "prompt" is an input sentence used when requesting a generative AI model to generate a response. It refers to text that includes questions or instructions created based on specific keywords.
[0077] "Response" refers to the answers and advice generated by a generative AI model in response to a user's question, and the information that is sent from the server to the terminal and provided to the user.
[0078] "Interface means" refers to a user interface used by a user to input questions by operating a terminal, and to receive and display responses from a server, and includes web pages and dedicated applications.
[0079] This invention relates to a system in which a user inputs a question and generates and provides an appropriate response based on that question. The program runs on a server that functions as a central processing unit and operates in communication with a terminal used by the user. The system provides an interface for the user to input a question, analyzes the question, and performs a series of processes to generate an appropriate response.
[0080] Hardware and software to be used
[0081] Server: Functions as a central processing unit, receiving user inquiries. Its role is to analyze these inquiries, generate responses, and provide answers to the user.
[0082] Terminal: A device used by users to input questions and receive responses from the server; this includes smartphones, PCs, etc.
[0083] Generative AI models: These use pre-trained artificial intelligence models to generate natural language responses. Specific AI models may utilize open-source natural language processing libraries or cloud-based AI services.
[0084] Analysis Library: Natural language processing (NLP) libraries are used to analyze the questions. Examples include Python's NLTK and SpaCy.
[0085] Operation Description
[0086] The user enters a question through their device, and that question is sent to the server. The server analyzes the user's question and extracts specific keywords. An NLP library is used for this analysis. Based on the extracted keywords, the server provides a prompt to a generative AI model, which generates an appropriate response. The generated response is sent back from the server to the user's device, where the user confirms it.
[0087] Specific example
[0088] For example, a user enters the question "Please tell me about my child's study methods" into the terminal. The server receives this question and extracts the keyword "study methods". Based on this keyword, it provides a prompt sentence to the AI model, which then generates a response like the following.
[0089] Example of a prompt:
[0090] User question: "Please tell me about effective study methods for children."
[0091] AI response:
[0092] The generative AI model generates the following response based on this prompt.
[0093] For example, "Efficient study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or engaging in deep learning multiple times in short bursts."
[0094] As described above, the system can provide flexible and specific responses to a wide range of user questions, thereby enhancing user convenience.
[0095] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0096] Step 1:
[0097] The server creates an instance of the chatbot.
[0098] Operation: The server starts up and creates an instance of the chatbot. This prepares the system to provide responses to user questions.
[0099] Input: Server startup command.
[0100] Output: Creation of a chatbot instance.
[0101] Step 2:
[0102] The user enters the question through the device.
[0103] Operation: Users enter questions using their device (smartphone or PC). Input is done through web forms or text fields in applications.
[0104] Input: Text of the question (e.g., "Please tell me about my child's study methods.").
[0105] Output: The user's question is sent to the server.
[0106] Step 3:
[0107] The server performs analysis on the question.
[0108] Operation: The server receives the user's input question and parses it. It uses a natural language processing (NLP) library to extract specific keywords.
[0109] Input: Question text received from the user via the terminal.
[0110] Output: Extracted keywords (e.g., "study methods").
[0111] Step 4:
[0112] The server generates the prompt message.
[0113] Operation: The server generates prompt sentences for input to the generated AI model based on the extracted keywords.
[0114] Input: Extracted keywords.
[0115] Output: A prompt sentence for the generated AI model (e.g., "Please tell me about children's study methods.").
[0116] Step 5:
[0117] The server generates a response using an AI model.
[0118] Operation: The server sends the generated prompt message to the AI model, which then generates an appropriate response.
[0119] Input: Prompt text.
[0120] Output: Generated response (e.g., "Efficient study methods include the Pomodoro Technique and Space Repetition.")
[0121] Step 6:
[0122] The server returns the generated response to the user.
[0123] Operation: The generated response is sent from the server to the user's terminal. The user then views the response on the screen.
[0124] Input: The generated response.
[0125] Output: The response will be displayed on the user's terminal.
[0126] In this way, the system receives questions from the user at each step, analyzes them, generates appropriate responses, and provides them to the user.
[0127] (Application Example 1)
[0128] 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."
[0129] In physical stores, there is a need for a system that allows customers to quickly and specifically obtain product and service information. However, with traditional methods, customers must ask store staff questions directly, and depending on the timing, they may not receive a prompt response. Furthermore, if the questions cover a wide range of topics, it is difficult to provide appropriate answers to all of them. Therefore, a system that provides efficient and accurate responses to customer questions is required.
[0130] 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.
[0131] In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, and a database connection means for generating appropriate responses regarding product information and services within the store. This allows customers to quickly input questions using their smartphones and obtain appropriate responses to those questions.
[0132] A "user interface means" is a means of interaction for a user to input questions into the system.
[0133] "Analysis means" refers to a function that analyzes questions entered by the user to understand the meaning and intent of those questions.
[0134] A "response generation means" is a function that generates an appropriate answer based on the analyzed question.
[0135] A "response mechanism" is a function that provides the generated response to the user.
[0136] A "database connection method" is a means of connecting to a database containing product information and service details within a store and obtaining the necessary information.
[0137] In order to implement this invention, the following system configuration is necessary. This system allows users to input questions about in-store product information and services through a smartphone app, and provides appropriate responses to those questions.
[0138] The server has the following main functions:
[0139] 1. User Interface Means: This refers to an interface for users to input questions, and a smartphone application is an example of this.
[0140] 2. Analysis means: A function that analyzes questions submitted by users and identifies specific keywords.
[0141] 3. Response generation means: A function that generates an appropriate response based on the analyzed question.
[0142] 4. Response method: A function for returning the generated response to the user.
[0143] 5. Database connection means: A function to connect to a database containing product information and service information within the store and retrieve the necessary information.
[0144] Specifically, cloud servers are used as hardware, and the software includes Python, Flask (a web framework), and relational databases (e.g., MySQL®).
[0145] The system works as follows: First, the user enters a question using a smartphone app. This question is sent from the smartphone to the server. The server creates an instance of the ChatBot class and parses the question using the respond method. During the parsing of the question, specific keywords are extracted, and based on those keywords, appropriate information is retrieved from the database to generate a response. This response is then sent back to the user's smartphone.
[0146] For example, if a user enters the question, "What are the opening hours of this store?", the system analyzes the keyword "opening hours," extracts appropriate information from the database, and generates a response such as, "Our store is open from 10:00 to 20:00," which is then provided to the user.
[0147] In designing this system, utilizing a generative AI model is expected to enable more accurate analysis and response generation. Specifically, prompts like the following can be used to input into the generative AI model, allowing for suggestions for appropriate improvements and additional features.
[0148] Examples of prompts for a generative AI model:
[0149] "We are currently developing a system where users input questions via a smartphone app. Could you please provide keyword detection and response generation algorithms for generating appropriate responses to these questions?"
[0150] This prompt statement can further improve the accuracy of the system's analysis and response generation methods.
[0151] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0152] Step 1:
[0153] The user enters a question into the smartphone app. For example, the user might enter a question like, "What time is this store open until?" into the input field on their smartphone. The entered text becomes the input data.
[0154] Step 2:
[0155] The device sends the user's question to the server. The smartphone app sends the entered question to the server as an HTTP request. The input data is the text question mentioned earlier, and the output data is the request to the server itself. This request is often sent in JSON format.
[0156] Step 3:
[0157] The server creates an instance of the chatbot. Specifically, a new instance of the ChatBot class is created on the server. This prepares the server for generating responses. The instance created by the server becomes the output data.
[0158] Step 4:
[0159] The server analyzes the user's question. The server analyzes the received question data and extracts specific keywords (e.g., "business hours"). This analysis uses natural language processing techniques, with the input data being the received question text and the output data being the extracted keywords.
[0160] Step 5:
[0161] The server generates a response. Based on the extracted keywords, the server uses a database connection to retrieve appropriate information and generates a response for the user. For example, for the keyword "business hours," a response such as "Our business hours are from 10:00 to 20:00" would be generated. The input data consists of the extracted keywords and information retrieved from the database, while the output data is the generated response statement.
[0162] Step 6:
[0163] The server sends the generated response back to the user. The server then sends the generated response as an HTTP response to the smartphone app. The input data is the generated response text, and the output data is the data sent to the smartphone app.
[0164] Step 7:
[0165] The terminal receives a response from the server and displays it to the user. The smartphone app analyzes the received response and displays it on the user interface. This allows the user to obtain an appropriate answer to their question. The input data is the response text sent from the server, and the output data is the response text displayed on the user's terminal screen.
[0166] 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.
[0167] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. A specific embodiment of the system is described below and will be explained in detail along the processing steps.
[0168] The server creates an instance of the chatbot.
[0169] The server creates an instance of the ChatBot class when the system starts up. This instance contains several predefined responses and also has an emotion engine built in. The emotion engine has the ability to estimate emotions from user input.
[0170] The user enters the question via the device.
[0171] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0172] The server analyzes the user's input.
[0173] The server receives the question entered by the user and calls the `respond` method. This method analyzes the question and simultaneously uses the sentiment engine to estimate the user's emotions. The sentiment engine identifies the user's emotional state based on text analysis.
[0174] The server identifies specific keywords
[0175] The server extracts specific keywords from the question text. For example, it can identify keywords such as "subjects I'm not good at" or "overcoming challenges."
[0176] The server analyzes the user's emotions.
[0177] The emotion engine analyzes the user's emotions and identifies them. For example, it can recognize if the user is feeling "confused" or "anxious."
[0178] The server generates an appropriate response.
[0179] The server selects an appropriate response from a predefined set of responses based on identified keywords and the user's emotions. For example, if the user is feeling "anxious," a response will be generated that includes encouraging words such as, "It's a good idea to start with a basic understanding."
[0180] The server returns the generated response to the user.
[0181] The generated response is sent from the server to the user's terminal. The user can view the response on their terminal screen and use the advice as a reference.
[0182] Specific example
[0183] Specifically, the following exchange takes place.
[0184] User question: "How can I help my child overcome their weaknesses in certain subjects?"
[0185] Server analysis results: The keywords "difficult subject" and "overcoming" were identified, and at the same time, the emotion engine detected the user's "anxiety."
[0186] Server response: "It's important to start with a basic understanding and gradually build confidence. Take your time to overcome your weaknesses."
[0187] This system allows users to quickly receive specific and emotionally sensitive advice, enabling more effective support for children's learning. This invention solves various challenges in education and improves learning efficiency and motivation.
[0188] The following describes the processing flow.
[0189] Step 1:
[0190] The server starts the program and creates an instance of the ChatBot class. This initializes the chatbot with a predefined set of responses and an emotion engine.
[0191] Step 2:
[0192] The user enters a question through their device. For example, they might enter, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0193] Step 3:
[0194] The terminal sends the entered question to the server. The server receives this request.
[0195] Step 4:
[0196] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "difficult subject," "overcoming").
[0197] Step 5:
[0198] The server uses an emotion engine to estimate the user's emotions based on a text analysis of the questions entered by the user. For example, it recognizes emotions such as "anxiety" or "confusion" from the context and wording of the questions.
[0199] Step 6:
[0200] The server generates an appropriate response based on identified keywords and estimated emotions. For example, if a user is feeling "anxious" and asks about a "subject they struggle with," the server will select an encouraging message such as, "It's important to start with a basic understanding and gradually build confidence. Let's take our time and overcome your weaknesses."
[0201] Step 7:
[0202] The server sends the generated response to the terminal. The response is then sent to the user's terminal via an integrated communication method.
[0203] Step 8:
[0204] The terminal receives a response from the server and displays it to the user. The user can then review the response on the terminal screen and use the advice as a reference to implement it.
[0205] Step 9:
[0206] Users take concrete actions. For example, they might try the Pomodoro Technique following advice from the server, or improve their child's study methods by relearning the basics.
[0207] (Example 2)
[0208] 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".
[0209] Conventional information response systems had the means to analyze user questions and provide appropriate responses, but they could not generate responses that took user emotions into account. Therefore, they failed to adequately address the psychological anxieties and confusion users may have, resulting in a decline in the quality of information provided. Furthermore, simple keyword analysis alone could not accurately grasp the intent of the question, sometimes leading to inappropriate responses.
[0210] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, an emotion estimation means for estimating the emotion from the user's input text, and a keyword identification means for identifying specific keywords. This makes it possible to generate and provide a response that takes into account not only the content of the user's question but also their emotions. Furthermore, by performing emotion estimation in addition to keyword identification, it becomes possible to grasp the intent of the question more accurately and return the optimal response.
[0211] A "user interface means" is a means of providing an interface for a user to input a question.
[0212] "Analysis means" refers to the means used to analyze questions from users.
[0213] A "response generation means" is a means for generating an appropriate response based on an analyzed question.
[0214] A "response method" is a means of providing the generated response to the user.
[0215] An "emotion estimation method" is a means of estimating emotions from the text input by the user.
[0216] A "keyword identification means" is a means for identifying specific keywords included in a user's question.
[0217] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. Specific embodiments of the system are described in detail below.
[0218] First, when the server starts up, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. The chatbot contains several predefined responses. The sentiment engine is implemented using natural language processing (NLP) libraries such as NLTK and Hugging Face transformers, and has the ability to estimate sentiment from the user's input text.
[0219] Users access the system via a web browser on their smartphone or PC, and a chat screen is displayed. Users enter a question into a text box and send a message such as, "Please tell me how to help my child overcome their weakness in a particular subject." The server receives this input text and calls the respond method. The respond method performs processing to analyze the text and estimate sentiment.
[0220] When the server analyzes the user's question text, it uses NLP (Neuro-Linguistic Programming) techniques to extract keywords. Specifically, it uses Python regular expressions and NLTK's tokenization function to identify keywords such as "difficult subjects" and "overcoming weaknesses." This clarifies the subject of the question.
[0221] The emotion engine uses a BERT-based emotion analysis model to analyze and identify the user's emotions. For example, it identifies emotions such as "confusion" or "anxiety." This emotion information is then used in the next response generation step.
[0222] The server generates the most appropriate response based on identified keywords and sentiment information. The responses are predefined and stored in a JSON file, etc. The server selects an appropriate response considering the sentiment information. For example, if the user is feeling "anxious," a response including encouraging words such as "It's a good idea to start with a basic understanding" will be generated.
[0223] Finally, the server sends the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user can then view the provided response on their device screen and take advantage of the advice.
[0224] Specifically, the following exchange takes place.
[0225] Example of a prompt:
[0226] "I'd like some advice on how to help my child overcome their weaknesses in certain subjects. I'm at a loss as to what to do."
[0227] Based on this prompt, a response is generated for the user that includes words of encouragement and specific advice. This system allows users to quickly receive specific and emotionally sensitive advice, making it possible to more effectively support children's learning.
[0228] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0229] Step 1:
[0230] The server starts the system. Specifically, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. This ChatBot contains several predefined responses and also has an emotion engine built in. This emotion engine has the function of inferring emotions from the user's input text. The input is the system startup trigger, and the output is the instance of the ChatBot class.
[0231] Step 2:
[0232] The user accesses the system through a web browser on their device (smartphone or PC). A chat screen appears, and the user enters a question. For example, they might enter the question, "Please tell me how to help my child overcome their weakness in a particular subject," and click the send button. The input is the user's question text, and the output is the sent text data.
[0233] Step 3:
[0234] The server receives the user's input text. This text data is sent to the server as a web request. The server calls the `respond` method, passing the text data as an argument. The input is the user's text data, and the output is a data object used for parsing.
[0235] Step 4:
[0236] The server executes the `respond` method to analyze the user's question. This method uses natural language processing (NLP) techniques to tokenize the text and extract keywords. Specifically, it uses Python regular expressions and the NLTK library to identify keywords such as "difficult subjects" and "overcoming." The input is text data, and the output is the identified keywords.
[0237] Step 5:
[0238] The server's emotion engine estimates emotions from the user's input text. It uses a BERT-based emotion analysis model to identify the user's emotional state (e.g., "confused" or "anxious"). The input is text data, and the output is estimated emotion information.
[0239] Step 6:
[0240] The server generates an appropriate response based on identified keywords and sentiment information. It selects a response corresponding to the sentiment from a predefined set of responses. Specifically, it selects the optimal response from text data stored in a JSON file or similar. The input consists of keywords and sentiment information, and the output is the selected response text.
[0241] Step 7:
[0242] The server returns the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user views the provided response on their device screen. The input is the response text, and the output is the response displayed in the user's browser.
[0243] (Application Example 2)
[0244] 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 device 14 will be referred to as the "terminal."
[0245] Traditional security support systems only provide standardized answers to user questions, failing to consider the content of the user's questions or their emotions. This results in an inability to adequately alleviate the anxiety and confusion users feel. Furthermore, the lack of appropriate advice and support tailored to their emotions makes it difficult to gain user trust.
[0246] 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. In this invention, the server includes a user interface means for the user to input questions and consultation content, an analysis means for analyzing the questions and consultation content from the user and estimating emotions, a response generation means for generating an appropriate response based on the analyzed questions and consultation content and emotions, and a response means for returning the generated response to the user. This makes it possible to provide professional and reliable support that takes into account not only the user's questions but also their emotions.
[0247] A "user interface means" is an interface for users to input questions and consultation details, and is implemented through devices such as smartphones and personal computers.
[0248] "Analysis means" refers to a system that analyzes questions and consultation content received from users, identifies specific keywords, and has the function of estimating emotions.
[0249] "Emotional analysis means" refers to technology that analyzes the emotions of a user's input text and identifies emotional states such as confusion, anxiety, or joy.
[0250] A "response generation means" is a device that has the function of generating an appropriate response based on the analyzed questions, consultation content, and emotions.
[0251] A "response mechanism" is an interface for sending the generated response back to the user's device, allowing the user to view the response on the screen.
[0252] "Keywords" are important words or phrases within the user's entered questions and inquiries, and are the parts that the system pays particular attention to when analyzing and generating responses.
[0253] "Emotions" refer to the user's mental state and are identified through text analysis. Examples include anxiety, confusion, and relief.
[0254] An "additional message" is a supplementary response generated based on the results of sentiment analysis, designed to alleviate user anxiety and questions and provide a sense of reassurance.
[0255] This invention relates to a security support system that generates appropriate responses to questions and inquiries entered by users. It is particularly characterized by its ability to analyze the user's emotions and provide responses accordingly.
[0256] The system of the present invention includes a user interface means, an analysis means, a response generation means, and a response means. Detailed embodiments of each means are described below.
[0257] User interface means
[0258] Users enter their questions and inquiries through devices such as smartphones and personal computers. This allows them to access the system and ask security-related questions.
[0259] Analysis means
[0260] The server analyzes the questions and consultations received from the user. The analysis tool identifies specific keywords and further estimates the user's emotions using sentiment analysis tools. This process utilizes natural language processing libraries such as TextBlob.
[0261] Response generation means
[0262] Based on the analyzed questions, consultation content, and emotions, an appropriate response is generated. The response generation means selects a predefined response based on identified keywords and further generates additional messages according to the emotions. This has the effect of reducing the user's anxiety and confusion.
[0263] Means of response
[0264] The generated response is sent back to the user's device through the user interface. The user can view the response on the screen and receive specific advice.
[0265] As a concrete example, let's assume a user enters the question, "How do I identify phishing emails?" The system recognizes the keyword "phishing" and generates a response saying, "To identify phishing emails, carefully check the sender address and the URL of the link." Furthermore, it uses TextBlob to analyze the user's sentiment, and if it determines that the user is feeling doubt or anxiety, it adds an additional message saying, "Please don't worry. We'll support you."
[0266] This system allows users to refer to advice with greater confidence and reduce anxiety.
[0267] The following are examples of prompts to input into a generative AI model:
[0268] "We are developing a chatbot system that provides customized responses to users' security-related questions, tailored to the content and sentiment of their questions. We envision a system that analyzes the user's emotions and generates responses based on that. For example, it might advise, 'To identify phishing emails, carefully check the sender address and linked URLs,' and add a message like, 'Please don't worry. We're here to support you.'"
[0269] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0270] Step 1:
[0271] Users input their questions and inquiries through the user interface of their smartphone or computer. The entered text is then sent to the system.
[0272] Step 2:
[0273] The server receives input from the user and analyzes the question and consultation content using analysis tools. Specifically, it analyzes the text using a natural language processing library (e.g., TextBlob) to identify specific keywords. At the same time, it estimates the user's emotions using sentiment analysis tools. The input data is the question and consultation text, and the output is the specific keywords and the estimated emotions.
[0274] Step 3:
[0275] The server generates an appropriate response using a response generation mechanism based on identified keywords and estimated sentiment. Specifically, it selects an appropriate response from predefined responses and generates additional messages depending on the sentiment. The input data consists of specific keywords and sentiment data, and the output is the generated response text.
[0276] Step 4:
[0277] The server generates a response and sends it to the user's terminal using a response method. The user can view the response on their smartphone or computer screen. The input data is the generated response text, and the output is the display on the user's terminal. Specifically, a message such as "To identify phishing emails, please carefully check the sender address and the URL of the link. Please don't worry, we'll support you." is displayed on the screen.
[0278] Through the above processing steps, users can quickly obtain appropriate responses to their questions and inquiries, and receive answers that take their feelings into consideration.
[0279] 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.
[0280] 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 include generative AI such as this. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including instructions is input into the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating images is also input. The data generation model 58 makes inferences on the input inference data according to the instructions indicated by the prompt, and outputs the inference results in data formats such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization, etc.
[0281] In the above embodiment, an example form in which specific processing is performed by the data processing device 12 is given, but the technology of the present disclosure is not limited to this, and specific processing may be performed by the smart device 14.
[0282] [Second Embodiment]
[0283] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0284] As shown in FIG. 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.
[0285] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of the "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. Also, the database 24 and the communication I / F 26 are connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network), etc.
[0286] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. Also, the microphone 238, the speaker 240, and the camera 42 are connected to the bus 52.
[0287] The microphone 238 receives instructions etc. from the user 20 by receiving the voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into voice data, and outputs it to the processor 46. The speaker 240 outputs voice according to an instruction from the processor 46.
[0288] The camera 42 is a small digital camera equipped with an optical system such as a lens, an aperture, and a shutter, and an imaging device such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and images the surroundings of the user 20 (for example, an imaging range defined by an angle of view corresponding to the field of view of a typical healthy person).
[0289] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.
[0290] FIG. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in FIG. 4, in the data processing device 12, specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32.
[0291] 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.
[0292] 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.
[0293] 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.
[0294] 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".
[0295] This invention relates to a system in which a user inputs a question, and an appropriate response is generated and provided based on that question. Specific embodiments of the system are described below and will be explained in detail along the processing steps.
[0296] 1. The server creates an instance of the chatbot:
[0297] The server starts the program and creates an instance of the ChatBot class. This prepares the system to provide responses as pre-written phrases regarding efficient study methods, overcoming weaknesses, advice methods, and balanced eating habits.
[0298] 2. The user inputs a question through the terminal:
[0299] The user uses a terminal such as a smartphone or a PC to input a question to the system. For example, it is in the form of "Please tell me about the study methods for children."
[0300] 3. The server analyzes the question:
[0301] The server receives the question input by the user and calls the respond method. The respond method analyzes the content of the incoming question and identifies specific keywords. In this case, it checks whether the keyword "study method" is included.
[0302] 4. The server generates a response:
[0303] The server generates an appropriate response based on the analyzed keywords. For example, for a question about study methods, specific advice such as "Efficient study methods include the Pomodoro Technique and spaced repetition." is generated as the response.
[0304] 5. The server returns the generated response to the user:
[0305] The generated response is returned from the server to the user's terminal. The user can check the answer on the terminal screen and accept and practice the advice. <Server response: "Effective study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or performing deep learning multiple times in short bursts."
[0310] Through this system, users can receive quick and specific advice, enabling them to effectively support their children's learning. This invention aims to improve time management and learning efficiency in education.
[0311] The following describes the processing flow.
[0312] Step 1:
[0313] The server starts the program and creates an instance of the ChatBot class. This initializes the system with a chatbot that has a predefined set of responses.
[0314] Step 2:
[0315] The user enters the question through their device. For example, they might type "Please tell me about my child's study methods" into the input field on their smartphone or PC.
[0316] Step 3:
[0317] The terminal sends the entered question to the server. The server receives this request.
[0318] Step 4:
[0319] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "study methods").
[0320] Step 5:
[0321] The server generates an appropriate response based on the identified keyword. For example, if the keyword is "study methods," the corresponding response will be "Effective study methods include the Pomodoro Technique and Space Repetition."
[0322] Step 6:
[0323] The server sends the generated response to the terminal. The response is then sent to the user's terminal via an integrated communication method.
[0324] Step 7:
[0325] The terminal receives a response from the server and displays it to the user. The user can view and refer to specific advice from the server on the terminal's screen.
[0326] Step 8:
[0327] The system takes action based on the responses displayed to the user. For example, it can implement specific measures to improve actual study methods, such as trying the Pomodoro Technique.
[0328] (Example 1)
[0329] 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."
[0330] Conventional chatbot systems are limited to predefined, standardized responses to user questions, making it difficult to flexibly address diverse user needs. Furthermore, their user interfaces are often inconvenient, resulting in low user convenience. There is a need to solve these problems and provide a system that offers more flexible and appropriate responses to user-inputted questions.
[0331] 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.
[0332] In this invention, the server includes a terminal where the user inputs a question, a server that analyzes the user's question and identifies specific keywords, a generative AI model that generates an appropriate response based on the identified specific keywords, and a server that returns the generated response to the user's terminal. This makes it possible to generate and provide flexible and appropriate responses to a wide range of user questions.
[0333] A "terminal" is a device used by a user to input questions and communicate with a server, and includes electronic devices such as smartphones and PCs.
[0334] A "server" includes a central processing unit that receives and analyzes user inquiries, generates responses based on the results, and sends them back to the terminal.
[0335] "Specific keywords" refer to important words or phrases included in the questions entered by the user, and are terms that serve as criteria for appropriately analyzing the content of the questions and generating responses.
[0336] A "generative AI model" is a pre-trained artificial intelligence model that includes programs and algorithms for generating natural language responses based on input prompt sentences.
[0337] A "prompt" is an input sentence used when requesting a generative AI model to generate a response. It refers to text that includes questions or instructions created based on specific keywords.
[0338] "Response" refers to the answers and advice generated by a generative AI model in response to a user's question, and the information that is sent from the server to the terminal and provided to the user.
[0339] "Interface means" refers to a user interface used by a user to input questions by operating a terminal, and to receive and display responses from a server, and includes web pages and dedicated applications.
[0340] This invention relates to a system in which a user inputs a question and generates and provides an appropriate response based on that question. The program runs on a server that functions as a central processing unit and operates in communication with a terminal used by the user. The system provides an interface for the user to input a question, analyzes the question, and performs a series of processes to generate an appropriate response.
[0341] Hardware and software to be used
[0342] Server: Functions as a central processing unit, receiving user inquiries. Its role is to analyze these inquiries, generate responses, and provide answers to the user.
[0343] Terminal: A device used by users to input questions and receive responses from the server; this includes smartphones, PCs, etc.
[0344] Generative AI models: These use pre-trained artificial intelligence models to generate natural language responses. Specific AI models may utilize open-source natural language processing libraries or cloud-based AI services.
[0345] Analysis Library: Natural language processing (NLP) libraries are used to analyze the questions. Examples include Python's NLTK and SpaCy.
[0346] Operation Description
[0347] The user enters a question through their device, and that question is sent to the server. The server analyzes the user's question and extracts specific keywords. An NLP library is used for this analysis. Based on the extracted keywords, the server provides a prompt to a generative AI model, which generates an appropriate response. The generated response is sent back from the server to the user's device, where the user confirms it.
[0348] Specific example
[0349] For example, a user enters the question "Please tell me about my child's study methods" into the terminal. The server receives this question and extracts the keyword "study methods". Based on this keyword, it provides a prompt sentence to the AI model, which then generates a response like the following.
[0350] Example of a prompt:
[0351] User question: "Please tell me about effective study methods for children."
[0352] AI response:
[0353] The generative AI model generates the following response based on this prompt.
[0354] For example, "Efficient study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or engaging in deep learning multiple times in short bursts."
[0355] As described above, the system can provide flexible and specific responses to a wide range of user questions, thereby enhancing user convenience.
[0356] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0357] Step 1:
[0358] The server creates an instance of the chatbot.
[0359] Operation: The server starts up and creates an instance of the chatbot. This prepares the system to provide responses to user questions.
[0360] Input: Server startup command.
[0361] Output: Creation of a chatbot instance.
[0362] Step 2:
[0363] The user enters the question through the device.
[0364] Operation: Users enter questions using their device (smartphone or PC). Input is done through web forms or text fields in applications.
[0365] Input: Text of the question (e.g., "Please tell me about my child's study methods.").
[0366] Output: The user's question is sent to the server.
[0367] Step 3:
[0368] The server performs analysis on the question.
[0369] Operation: The server receives the user's input question and parses it. It uses a natural language processing (NLP) library to extract specific keywords.
[0370] Input: Question text received from the user via the terminal.
[0371] Output: Extracted keywords (e.g., "study methods").
[0372] Step 4:
[0373] The server generates the prompt message.
[0374] Operation: The server generates prompt sentences for input to the generated AI model based on the extracted keywords.
[0375] Input: Extracted keywords.
[0376] Output: A prompt sentence for the generated AI model (e.g., "Please tell me about children's study methods.").
[0377] Step 5:
[0378] The server generates a response using an AI model.
[0379] Operation: The server sends the generated prompt message to the AI model, which then generates an appropriate response.
[0380] Input: Prompt text.
[0381] Output: Generated response (e.g., "Efficient study methods include the Pomodoro Technique and Space Repetition.")
[0382] Step 6:
[0383] The server returns the generated response to the user.
[0384] Operation: The generated response is sent from the server to the user's terminal. The user then views the response on the screen.
[0385] Input: The generated response.
[0386] Output: The response will be displayed on the user's terminal.
[0387] In this way, the system receives questions from the user at each step, analyzes them, generates appropriate responses, and provides them to the user.
[0388] (Application Example 1)
[0389] 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."
[0390] In physical stores, there is a need for a system that allows customers to quickly and specifically obtain product and service information. However, with traditional methods, customers must ask store staff questions directly, and depending on the timing, they may not receive a prompt response. Furthermore, if the questions cover a wide range of topics, it is difficult to provide appropriate answers to all of them. Therefore, a system that provides efficient and accurate responses to customer questions is required.
[0391] 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.
[0392] In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, and a database connection means for generating appropriate responses regarding product information and services within the store. This allows customers to quickly input questions using their smartphones and obtain appropriate responses to those questions.
[0393] A "user interface means" is a means of interaction for a user to input questions into the system.
[0394] "Analysis means" refers to a function that analyzes questions entered by the user to understand the meaning and intent of those questions.
[0395] A "response generation means" is a function that generates an appropriate answer based on the analyzed question.
[0396] A "response mechanism" is a function that provides the generated response to the user.
[0397] A "database connection method" is a means of connecting to a database containing product information and service details within a store and obtaining the necessary information.
[0398] In order to implement this invention, the following system configuration is necessary. This system allows users to input questions about in-store product information and services through a smartphone app, and provides appropriate responses to those questions.
[0399] The server has the following main functions:
[0400] 1. User Interface Means: This refers to an interface for users to input questions, and a smartphone application is an example of this.
[0401] 2. Analysis means: A function that analyzes questions submitted by users and identifies specific keywords.
[0402] 3. Response generation means: A function that generates an appropriate response based on the analyzed question.
[0403] 4. Response method: A function for returning the generated response to the user.
[0404] 5. Database connection means: A function to connect to a database containing product information and service information within the store and retrieve the necessary information.
[0405] Specifically, cloud servers will be used as hardware, and the software will include Python, Flask (a web framework), and relational databases (e.g., MySQL).
[0406] The system works as follows: First, the user enters a question using a smartphone app. This question is sent from the smartphone to the server. The server creates an instance of the ChatBot class and parses the question using the respond method. During the parsing of the question, specific keywords are extracted, and based on those keywords, appropriate information is retrieved from the database to generate a response. This response is then sent back to the user's smartphone.
[0407] For example, if a user enters the question, "What are the opening hours of this store?", the system analyzes the keyword "opening hours," extracts appropriate information from the database, and generates a response such as, "Our store is open from 10:00 to 20:00," which is then provided to the user.
[0408] In designing this system, utilizing a generative AI model is expected to enable more accurate analysis and response generation. Specifically, prompts like the following can be used to input into the generative AI model, allowing for suggestions for appropriate improvements and additional features.
[0409] Examples of prompts for a generative AI model:
[0410] "We are currently developing a system where users input questions via a smartphone app. Could you please provide keyword detection and response generation algorithms for generating appropriate responses to these questions?"
[0411] This prompt statement can further improve the accuracy of the system's analysis and response generation methods.
[0412] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0413] Step 1:
[0414] The user enters a question into the smartphone app. For example, the user might enter a question like, "What time is this store open until?" into the input field on their smartphone. The entered text becomes the input data.
[0415] Step 2:
[0416] The device sends the user's question to the server. The smartphone app sends the entered question to the server as an HTTP request. The input data is the text question mentioned earlier, and the output data is the request to the server itself. This request is often sent in JSON format.
[0417] Step 3:
[0418] The server creates an instance of the chatbot. Specifically, a new instance of the ChatBot class is created on the server. This prepares the server for generating responses. The instance created by the server becomes the output data.
[0419] Step 4:
[0420] The server analyzes the user's question. The server analyzes the received question data and extracts specific keywords (e.g., "business hours"). This analysis uses natural language processing techniques, with the input data being the received question text and the output data being the extracted keywords.
[0421] Step 5:
[0422] The server generates a response. Based on the extracted keywords, the server uses a database connection to retrieve appropriate information and generates a response for the user. For example, for the keyword "business hours," a response such as "Our business hours are from 10:00 to 20:00" would be generated. The input data consists of the extracted keywords and information retrieved from the database, while the output data is the generated response statement.
[0423] Step 6:
[0424] The server sends the generated response back to the user. The server then sends the generated response to the smartphone app as an HTTP response. The input data is the generated response text, and the output data is the data sent to the smartphone app.
[0425] Step 7:
[0426] The terminal receives a response from the server and displays it to the user. The smartphone app analyzes the received response and displays it on the user interface. This allows the user to obtain an appropriate answer to their question. The input data is the response text sent from the server, and the output data is the response text displayed on the user's terminal screen.
[0427] 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.
[0428] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. A specific embodiment of the system is described below and will be explained in detail along the processing steps.
[0429] The server creates an instance of the chatbot.
[0430] The server creates an instance of the ChatBot class when the system starts up. This instance contains several predefined responses and also has an emotion engine built in. The emotion engine has the ability to estimate emotions from user input.
[0431] The user enters the question via the device.
[0432] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0433] The server analyzes the user's input.
[0434] The server receives the question entered by the user and calls the `respond` method. This method analyzes the question and simultaneously uses the sentiment engine to estimate the user's emotions. The sentiment engine identifies the user's emotional state based on text analysis.
[0435] The server identifies specific keywords
[0436] The server extracts specific keywords from the question text. For example, it can identify keywords such as "subjects I'm not good at" or "overcoming challenges."
[0437] The server analyzes the user's emotions.
[0438] The emotion engine analyzes the user's emotions and identifies them. For example, it can recognize if the user is feeling "confused" or "anxious."
[0439] The server generates an appropriate response.
[0440] The server selects an appropriate response from a predefined set of responses based on identified keywords and the user's emotions. For example, if the user is feeling "anxious," a response will be generated that includes encouraging words such as, "It's a good idea to start with a basic understanding."
[0441] The server returns the generated response to the user.
[0442] The generated response is sent from the server to the user's terminal. The user can view the response on their terminal screen and use the advice as a reference.
[0443] Specific example
[0444] Specifically, the following exchange takes place.
[0445] User question: "How can I help my child overcome their weaknesses in certain subjects?"
[0446] Server analysis results: The keywords "difficult subject" and "overcoming" were identified, and at the same time, the emotion engine detected the user's "anxiety."
[0447] Server response: "It's important to start with a basic understanding and gradually build confidence. Take your time to overcome your weaknesses."
[0448] This system allows users to quickly receive specific and emotionally sensitive advice, enabling more effective support for children's learning. This invention solves various challenges in education and improves learning efficiency and motivation.
[0449] The following describes the processing flow.
[0450] Step 1:
[0451] The server starts the program and creates an instance of the ChatBot class. This initializes the chatbot with a predefined set of responses and an emotion engine.
[0452] Step 2:
[0453] The user enters a question through their device. For example, they might enter, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0454] Step 3:
[0455] The terminal sends the entered question to the server. The server receives this request.
[0456] Step 4:
[0457] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "difficult subject," "overcoming").
[0458] Step 5:
[0459] The server uses an emotion engine to estimate the user's emotions based on a text analysis of the questions entered by the user. For example, it recognizes emotions such as "anxiety" or "confusion" from the context and wording of the questions.
[0460] Step 6:
[0461] The server generates an appropriate response based on identified keywords and estimated emotions. For example, if a user is feeling "anxious" and asks about a "subject they struggle with," the server will select an encouraging message such as, "It's important to start with a basic understanding and gradually build confidence. Let's take our time and overcome your weaknesses."
[0462] Step 7:
[0463] The server sends the generated response to the terminal. The response is then sent to the user's terminal via an integrated communication method.
[0464] Step 8:
[0465] The terminal receives a response from the server and displays it to the user. The user can then review the response on the terminal screen and use the advice as a reference to implement it.
[0466] Step 9:
[0467] Users take concrete actions. For example, they might try the Pomodoro Technique following advice from the server, or improve their child's study methods by relearning the basics.
[0468] (Example 2)
[0469] 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".
[0470] Conventional information response systems had the means to analyze user questions and provide appropriate responses, but they could not generate responses that took user emotions into account. Therefore, they failed to adequately address the psychological anxieties and confusion users may have, resulting in a decline in the quality of information provided. Furthermore, simple keyword analysis alone could not accurately grasp the intent of the question, sometimes leading to inappropriate responses.
[0471] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, an emotion estimation means for estimating the emotion from the user's input text, and a keyword identification means for identifying specific keywords. This makes it possible to generate and provide a response that takes into account not only the content of the user's question but also their emotions. Furthermore, by performing emotion estimation in addition to keyword identification, it becomes possible to grasp the intent of the question more accurately and return the optimal response.
[0472] A "user interface means" is a means of providing an interface for a user to input a question.
[0473] "Analysis means" refers to the means used to analyze questions from users.
[0474] A "response generation means" is a means for generating an appropriate response based on an analyzed question.
[0475] A "response method" is a means of providing the generated response to the user.
[0476] An "emotion estimation method" is a means of estimating emotions from the text input by the user.
[0477] A "keyword identification means" is a means for identifying specific keywords included in a user's question.
[0478] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. Specific embodiments of the system are described in detail below.
[0479] First, when the server starts up, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. The chatbot contains several predefined responses. The sentiment engine is implemented using natural language processing (NLP) libraries such as NLTK and Hugging Face transformers, and has the ability to estimate sentiment from the user's input text.
[0480] Users access the system via a web browser on their smartphone or PC, and a chat screen is displayed. Users enter a question into a text box and send a message such as, "Please tell me how to help my child overcome their weakness in a particular subject." The server receives this input text and calls the respond method. The respond method performs processing to analyze the text and estimate sentiment.
[0481] When the server analyzes the user's question text, it uses NLP (Neuro-Linguistic Programming) techniques to extract keywords. Specifically, it uses Python regular expressions and NLTK's tokenization function to identify keywords such as "difficult subjects" and "overcoming weaknesses." This clarifies the subject of the question.
[0482] The emotion engine uses a BERT-based emotion analysis model to analyze and identify the user's emotions. For example, it identifies emotions such as "confusion" or "anxiety." This emotion information is then used in the next response generation step.
[0483] The server generates the most appropriate response based on identified keywords and sentiment information. The responses are predefined and stored in a JSON file, etc. The server selects an appropriate response considering the sentiment information. For example, if the user is feeling "anxious," a response including encouraging words such as "It's a good idea to start with a basic understanding" will be generated.
[0484] Finally, the server sends the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user can then view the provided response on their device screen and take advantage of the advice.
[0485] Specifically, the following exchange takes place.
[0486] Example of a prompt:
[0487] "I'd like some advice on how to help my child overcome their weaknesses in certain subjects. I'm at a loss as to what to do."
[0488] Based on this prompt, a response is generated for the user that includes words of encouragement and specific advice. This system allows users to quickly receive specific and emotionally sensitive advice, making it possible to more effectively support children's learning.
[0489] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0490] Step 1:
[0491] The server starts the system. Specifically, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. This ChatBot contains several predefined responses and also has an emotion engine built in. This emotion engine has the function of inferring emotions from the user's input text. The input is the system startup trigger, and the output is the instance of the ChatBot class.
[0492] Step 2:
[0493] The user accesses the system through a web browser on their device (smartphone or PC). A chat screen appears, and the user enters a question. For example, they might enter the question, "Please tell me how to help my child overcome their weakness in a particular subject," and click the send button. The input is the user's question text, and the output is the sent text data.
[0494] Step 3:
[0495] The server receives the user's input text. This text data is sent to the server as a web request. The server calls the `respond` method, passing the text data as an argument. The input is the user's text data, and the output is a data object used for parsing.
[0496] Step 4:
[0497] The server executes the `respond` method to analyze the user's question. This method uses natural language processing (NLP) techniques to tokenize the text and extract keywords. Specifically, it uses Python regular expressions and the NLTK library to identify keywords such as "difficult subjects" and "overcoming." The input is text data, and the output is the identified keywords.
[0498] Step 5:
[0499] The server's emotion engine estimates emotions from the user's input text. It uses a BERT-based emotion analysis model to identify the user's emotional state (e.g., "confused" or "anxious"). The input is text data, and the output is estimated emotion information.
[0500] Step 6:
[0501] The server generates an appropriate response based on identified keywords and sentiment information. It selects a response corresponding to the sentiment from a predefined set of responses. Specifically, it selects the optimal response from text data stored in a JSON file or similar. The input consists of keywords and sentiment information, and the output is the selected response text.
[0502] Step 7:
[0503] The server returns the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user views the provided response on their device screen. The input is the response text, and the output is the response displayed in the user's browser.
[0504] (Application Example 2)
[0505] 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 will be referred to as the "terminal."
[0506] Traditional security support systems only provide standardized answers to user questions, failing to consider the content of the user's questions or their emotions. This results in an inability to adequately alleviate the anxiety and confusion users feel. Furthermore, the lack of appropriate advice and support tailored to their emotions makes it difficult to gain user trust.
[0507] 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. In this invention, the server includes a user interface means for the user to input questions and consultation content, an analysis means for analyzing the questions and consultation content from the user and estimating emotions, a response generation means for generating an appropriate response based on the analyzed questions and consultation content and emotions, and a response means for returning the generated response to the user. This makes it possible to provide professional and reliable support that takes into account not only the user's questions but also their emotions.
[0508] A "user interface means" is an interface for users to input questions and consultation details, and is implemented through devices such as smartphones and personal computers.
[0509] "Analysis means" refers to a system that analyzes questions and consultation content received from users, identifies specific keywords, and has the function of estimating emotions.
[0510] "Emotional analysis means" refers to technology that analyzes the emotions of a user's input text and identifies emotional states such as confusion, anxiety, or joy.
[0511] A "response generation means" is a device that has the function of generating an appropriate response based on the analyzed questions, consultation content, and emotions.
[0512] A "response mechanism" is an interface for sending the generated response back to the user's device, allowing the user to view the response on the screen.
[0513] "Keywords" are important words or phrases within the user's entered questions and inquiries, and are the parts that the system pays particular attention to when analyzing and generating responses.
[0514] "Emotions" refer to the user's mental state and are identified through text analysis. Examples include anxiety, confusion, and relief.
[0515] An "additional message" is a supplementary response generated based on the results of sentiment analysis, designed to alleviate user anxiety and questions and provide a sense of reassurance.
[0516] This invention relates to a security support system that generates appropriate responses to questions and inquiries entered by users. It is particularly characterized by its ability to analyze the user's emotions and provide responses accordingly.
[0517] The system of the present invention includes a user interface means, an analysis means, a response generation means, and a response means. Detailed embodiments of each means are described below.
[0518] User interface means
[0519] Users enter their questions and inquiries through devices such as smartphones and personal computers. This allows them to access the system and ask security-related questions.
[0520] Analysis means
[0521] The server analyzes the questions and consultations received from the user. The analysis tool identifies specific keywords and further estimates the user's emotions using sentiment analysis tools. This process utilizes natural language processing libraries such as TextBlob.
[0522] Response generation means
[0523] Based on the analyzed questions, consultation content, and emotions, an appropriate response is generated. The response generation means selects a predefined response based on identified keywords and further generates additional messages according to the emotions. This has the effect of reducing the user's anxiety and confusion.
[0524] Means of response
[0525] The generated response is sent back to the user's device through the user interface. The user can view the response on the screen and receive specific advice.
[0526] As a concrete example, let's assume a user enters the question, "How do I identify phishing emails?" The system recognizes the keyword "phishing" and generates a response saying, "To identify phishing emails, carefully check the sender address and the URL of the link." Furthermore, it uses TextBlob to analyze the user's sentiment, and if it determines that the user is feeling doubt or anxiety, it adds an additional message saying, "Please don't worry. We'll support you."
[0527] This system allows users to refer to advice with greater confidence and reduce anxiety.
[0528] The following are examples of prompts to input into a generative AI model:
[0529] "We are developing a chatbot system that provides customized responses to users' security-related questions, tailored to the content and sentiment of their questions. We envision a system that analyzes the user's emotions and generates responses based on that. For example, it might advise, 'To identify phishing emails, carefully check the sender address and linked URLs,' and add a message like, 'Please don't worry. We're here to support you.'"
[0530] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0531] Step 1:
[0532] Users input their questions and inquiries through the user interface of their smartphone or computer. The entered text is then sent to the system.
[0533] Step 2:
[0534] The server receives input from the user and analyzes the question and consultation content using analysis tools. Specifically, it analyzes the text using a natural language processing library (e.g., TextBlob) to identify specific keywords. At the same time, it estimates the user's emotions using sentiment analysis tools. The input data is the question and consultation text, and the output is the specific keywords and the estimated emotions.
[0535] Step 3:
[0536] The server generates an appropriate response using a response generation mechanism based on identified keywords and estimated sentiment. Specifically, it selects an appropriate response from predefined responses and generates additional messages depending on the sentiment. The input data consists of specific keywords and sentiment data, and the output is the generated response text.
[0537] Step 4:
[0538] The server generates a response and sends it to the user's terminal using a response method. The user can view the response on their smartphone or computer screen. The input data is the generated response text, and the output is the display on the user's terminal. Specifically, a message such as "To identify phishing emails, please carefully check the sender address and the URL of the link. Please don't worry, we'll support you." is displayed on the screen.
[0539] Through the above processing steps, users can quickly obtain appropriate responses to their questions and inquiries, and receive answers that take their feelings into consideration.
[0540] 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.
[0541] 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.
[0542] 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.
[0543] [Third Embodiment]
[0544] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0545] 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.
[0546] 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).
[0547] 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.
[0548] 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.
[0549] 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).
[0550] 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.
[0551] 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.
[0552] 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.
[0553] 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.
[0554] 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.
[0555] 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".
[0556] This invention relates to a system in which a user inputs a question, and an appropriate response is generated and provided based on that question. Specific embodiments of the system are described below and will be explained in detail along the processing steps.
[0557] 1. The server creates an instance of the chatbot:
[0558] The server starts the program and creates an instance of the ChatBot class. This prepares the system to provide responses as pre-written phrases regarding efficient study methods, overcoming weaknesses, advice methods, and balanced eating habits.
[0559] 2. The user enters the question via the device:
[0560] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me about my child's study methods."
[0561] 3. The server performs analysis on the question:
[0562] The server receives the question entered by the user and calls the respond method. The respond method parses the content of the incoming question and identifies specific keywords. In this case, it checks whether the keyword "study methods" is included.
[0563] 4. The server generates a response:
[0564] The server generates an appropriate response based on the analyzed keywords. For example, if the question is about study methods, the response will generate specific advice such as, "Efficient study methods include the Pomodoro Technique and Space Repetition."
[0565] 5. Return the response generated by the server to the user:
[0566] The generated response is sent from the server to the user's terminal. The user can then review the response on their terminal screen and accept and implement the advice.
[0567] Specific example
[0568] Specifically, the following types of interactions are possible:
[0569] User question: "Please tell me about effective study methods for children."
[0570] Server response: "Effective study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or performing deep learning multiple times in short bursts."
[0571] Through this system, users can receive quick and specific advice, enabling them to effectively support their children's learning. This invention aims to improve time management and learning efficiency in education.
[0572] The following describes the processing flow.
[0573] Step 1:
[0574] The server starts the program and creates an instance of the ChatBot class. This initializes the system with a chatbot that has a predefined set of responses.
[0575] Step 2:
[0576] The user enters the question through their device. For example, they might type "Please tell me about my child's study methods" into the input field on their smartphone or PC.
[0577] Step 3:
[0578] The terminal sends the entered question to the server. The server receives this request.
[0579] Step 4:
[0580] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "study methods").
[0581] Step 5:
[0582] The server generates an appropriate response based on the identified keyword. For example, if the keyword is "study methods," the corresponding response will be "Effective study methods include the Pomodoro Technique and Space Repetition."
[0583] Step 6:
[0584] The server sends the generated response to the terminal. A reply is then sent to the user's terminal via an integrated communication method.
[0585] Step 7:
[0586] The terminal receives a response from the server and displays it to the user. The user can view and refer to specific advice from the server on the terminal's screen.
[0587] Step 8:
[0588] The system takes action based on the responses displayed to the user. For example, it can implement specific measures to improve actual study methods, such as trying the Pomodoro Technique.
[0589] (Example 1)
[0590] 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."
[0591] Conventional chatbot systems are limited to predefined, standardized responses to user questions, making it difficult to flexibly address diverse user needs. Furthermore, their user interfaces are often inconvenient, resulting in low user convenience. There is a need to address these challenges and provide a system that offers more flexible and appropriate responses to user-inputted questions.
[0592] 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.
[0593] In this invention, the server includes a terminal where the user inputs a question, a server that analyzes the user's question and identifies specific keywords, a generative AI model that generates an appropriate response based on the identified specific keywords, and a server that returns the generated response to the user's terminal. This makes it possible to generate and provide flexible and appropriate responses to a variety of user questions.
[0594] A "terminal" is a device used by a user to input questions and communicate with a server, and includes electronic devices such as smartphones and PCs.
[0595] A "server" includes a central processing unit that receives and analyzes user inquiries, generates responses based on the results, and sends them back to the terminal.
[0596] "Specific keywords" refer to important words or phrases included in the questions entered by the user, and are terms that serve as criteria for appropriately analyzing the content of the questions and generating responses.
[0597] A "generative AI model" is a pre-trained artificial intelligence model that includes programs and algorithms for generating natural language responses based on input prompt sentences.
[0598] A "prompt" is an input sentence used when requesting a generative AI model to generate a response. It refers to text that includes questions or instructions created based on specific keywords.
[0599] "Response" refers to the answers and advice generated by a generative AI model in response to a user's question, and the information that is sent from the server to the terminal and provided to the user.
[0600] "Interface means" refers to a user interface that allows a user to operate a terminal to input a question, receive a response from a server, and display it, and includes web pages and dedicated applications.
[0601] This invention relates to a system in which a user inputs a question and generates and provides an appropriate response based on that question. The program runs on a server that functions as a central processing unit and operates in communication with a terminal used by the user. The system provides an interface for the user to input a question, analyzes the question, and performs a series of processes to generate an appropriate response.
[0602] Hardware and software to be used
[0603] Server: Functions as a central processing unit, receiving user inquiries. Its role is to analyze these inquiries, generate responses, and provide answers to the user.
[0604] Terminal: A device used by users to input questions and receive responses from the server; this includes smartphones, PCs, etc.
[0605] Generative AI models: These use pre-trained artificial intelligence models to generate natural language responses. Specific AI models may utilize open-source natural language processing libraries or cloud-based AI services.
[0606] Analysis Library: Natural language processing (NLP) libraries are used to analyze the questions. Examples include Python's NLTK and SpaCy.
[0607] Operation Description
[0608] The user enters a question through their device, and that question is sent to the server. The server analyzes the user's question and extracts specific keywords. An NLP library is used for this analysis. Based on the extracted keywords, the server provides a prompt to a generative AI model, which generates an appropriate response. The generated response is sent back from the server to the user's device, where the user confirms it.
[0609] Specific example
[0610] For example, a user enters the question "Please tell me about my child's study methods" into the terminal. The server receives this question and extracts the keyword "study methods". Based on this keyword, it provides a prompt sentence to the AI model, which then generates a response like the following.
[0611] Example of a prompt:
[0612] User question: "Please tell me about effective study methods for children."
[0613] AI response:
[0614] The generative AI model generates the following response based on this prompt.
[0615] For example, "Efficient study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or engaging in deep learning multiple times in short bursts."
[0616] As described above, the system can provide flexible and specific responses to a wide range of user questions, thereby enhancing user convenience.
[0617] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0618] Step 1:
[0619] The server creates an instance of the chatbot.
[0620] Operation: The server starts up and creates an instance of the chatbot. This prepares the system to provide responses to user questions.
[0621] Input: Server startup command.
[0622] Output: Creation of a chatbot instance.
[0623] Step 2:
[0624] The user enters the question through the device.
[0625] Operation: Users enter questions using their device (smartphone or PC). Input is done through web forms or text fields in applications.
[0626] Input: Text of the question (e.g., "Please tell me about my child's study methods.").
[0627] Output: The user's question is sent to the server.
[0628] Step 3:
[0629] The server performs analysis on the question.
[0630] Operation: The server receives the user's input question and parses it. It uses a natural language processing (NLP) library to extract specific keywords.
[0631] Input: Question text received from the user via the terminal.
[0632] Output: Extracted keywords (e.g., "study methods").
[0633] Step 4:
[0634] The server generates the prompt message.
[0635] Operation: The server generates prompt sentences for input to the generated AI model based on the extracted keywords.
[0636] Input: Extracted keywords.
[0637] Output: A prompt sentence for the generated AI model (e.g., "Please tell me about children's study methods.").
[0638] Step 5:
[0639] The server generates a response using an AI model.
[0640] Operation: The server sends the generated prompt message to the AI model, which then generates an appropriate response.
[0641] Input: Prompt text.
[0642] Output: Generated response (e.g., "Efficient study methods include the Pomodoro Technique and Space Repetition.")
[0643] Step 6:
[0644] The server returns the generated response to the user.
[0645] Operation: The generated response is sent from the server to the user's terminal. The user then views the response on the screen.
[0646] Input: The generated response.
[0647] Output: The response will be displayed on the user's terminal.
[0648] In this way, the system receives questions from the user at each step, analyzes them, generates appropriate responses, and provides them to the user.
[0649] (Application Example 1)
[0650] 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."
[0651] In physical stores, there is a need for a system that allows customers to quickly and specifically obtain product and service information. However, with traditional methods, customers must ask store staff questions directly, and depending on the timing, they may not receive a prompt response. Furthermore, if the questions cover a wide range of topics, it is difficult to provide appropriate answers to all of them. Therefore, a system that provides efficient and accurate responses to customer questions is required.
[0652] 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.
[0653] In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, and a database connection means for generating appropriate responses regarding product information and services within the store. This allows customers to quickly input questions using their smartphones and obtain appropriate responses to those questions.
[0654] A "user interface means" is a means of interaction for a user to input questions into the system.
[0655] "Analysis means" refers to a function that analyzes questions entered by the user to understand the meaning and intent of those questions.
[0656] A "response generation means" is a function that generates an appropriate answer based on the analyzed question.
[0657] A "response mechanism" is a function that provides the generated response to the user.
[0658] A "database connection method" is a means of connecting to a database containing product information and service details within a store and obtaining the necessary information.
[0659] In order to implement this invention, the following system configuration is necessary. This system allows users to input questions about in-store product information and services through a smartphone app, and provides appropriate responses to those questions.
[0660] The server has the following main functions:
[0661] 1. User Interface Means: This refers to an interface for the user to input questions, and a smartphone application is an example of this.
[0662] 2. Analysis means: A function that analyzes questions submitted by users and identifies specific keywords.
[0663] 3. Response generation means: A function that generates an appropriate response based on the analyzed question.
[0664] 4. Response method: A function for returning the generated response to the user.
[0665] 5. Database connection means: A function to connect to a database containing product information and service information within the store and retrieve the necessary information.
[0666] Specifically, cloud servers will be used as hardware, and the software will include Python, Flask (a web framework), and relational databases (e.g., MySQL).
[0667] The system works as follows: First, the user enters a question using a smartphone app. This question is sent from the smartphone to the server. The server creates an instance of the ChatBot class and parses the question using the respond method. During the parsing of the question, specific keywords are extracted, and based on those keywords, appropriate information is retrieved from the database to generate a response. This response is then sent back to the user's smartphone.
[0668] For example, if a user enters the question, "What are the opening hours of this store?", the system analyzes the keyword "opening hours," extracts appropriate information from the database, and generates a response such as, "Our store is open from 10:00 to 20:00," which is then provided to the user.
[0669] In designing this system, utilizing a generative AI model is expected to enable more accurate analysis and response generation. Specifically, prompts like the following can be used to input into the generative AI model, allowing for suggestions for appropriate improvements and additional features.
[0670] Examples of prompts for a generative AI model:
[0671] "We are currently developing a system where users input questions via a smartphone app. Could you please provide keyword detection and response generation algorithms for generating appropriate responses to these questions?"
[0672] This prompt statement can further improve the accuracy of the system's analysis and response generation methods.
[0673] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0674] Step 1:
[0675] The user enters a question into the smartphone app. For example, the user might enter a question like, "What time is this store open until?" into the input field on their smartphone. The entered text becomes the input data.
[0676] Step 2:
[0677] The device sends the user's question to the server. The smartphone app sends the entered question to the server as an HTTP request. The input data is the text question mentioned earlier, and the output data is the request to the server itself. This request is often sent in JSON format.
[0678] Step 3:
[0679] The server creates an instance of the chatbot. Specifically, a new instance of the ChatBot class is created on the server. This prepares the server for generating responses. The instance created by the server becomes the output data.
[0680] Step 4:
[0681] The server analyzes the user's question. The server analyzes the received question data and extracts specific keywords (e.g., "business hours"). This analysis uses natural language processing techniques, with the input data being the received question text and the output data being the extracted keywords.
[0682] Step 5:
[0683] The server generates a response. Based on the extracted keywords, the server uses a database connection to retrieve appropriate information and generates a response for the user. For example, for the keyword "business hours," a response such as "Our business hours are from 10:00 to 20:00" would be generated. The input data consists of the extracted keywords and information retrieved from the database, while the output data is the generated response statement.
[0684] Step 6:
[0685] The server sends the generated response back to the user. The server then sends the generated response to the smartphone app as an HTTP response. The input data is the generated response text, and the output data is the data sent to the smartphone app.
[0686] Step 7:
[0687] The terminal receives a response from the server and displays it to the user. The smartphone app analyzes the received response and displays it on the user interface. This allows the user to obtain an appropriate answer to their question. The input data is the response text sent from the server, and the output data is the response text displayed on the user's terminal screen.
[0688] 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.
[0689] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. A specific embodiment of the system is described below and will be explained in detail along the processing steps.
[0690] The server creates an instance of the chatbot.
[0691] The server creates an instance of the ChatBot class when the system starts up. This instance contains several predefined responses and also has an emotion engine built in. The emotion engine has the ability to estimate emotions from user input.
[0692] The user enters the question via the device.
[0693] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0694] The server analyzes the user's input.
[0695] The server receives the question entered by the user and calls the `respond` method. This method analyzes the question and simultaneously uses the sentiment engine to estimate the user's emotions. The sentiment engine identifies the user's emotional state based on text analysis.
[0696] The server identifies specific keywords
[0697] The server extracts specific keywords from the question text. For example, it can identify keywords such as "subjects I'm not good at" or "overcoming challenges."
[0698] The server analyzes the user's emotions.
[0699] The emotion engine analyzes the user's emotions and identifies them. For example, it can recognize if the user is feeling "confused" or "anxious."
[0700] The server generates an appropriate response.
[0701] The server selects an appropriate response from a predefined set of responses based on identified keywords and the user's emotions. For example, if the user is feeling "anxious," a response will be generated that includes encouraging words such as, "It's a good idea to start with a basic understanding."
[0702] The server returns the generated response to the user.
[0703] The generated response is sent from the server to the user's terminal. The user can view the response on their terminal screen and use the advice as a reference.
[0704] Specific example
[0705] Specifically, the following exchange takes place.
[0706] User question: "How can I help my child overcome their weaknesses in certain subjects?"
[0707] Server analysis results: The keywords "difficult subject" and "overcoming" were identified, and at the same time, the emotion engine detected the user's "anxiety."
[0708] Server response: "It's important to start with a basic understanding and gradually build confidence. Take your time to overcome your weaknesses."
[0709] This system allows users to quickly receive specific and emotionally sensitive advice, enabling more effective support for children's learning. This invention solves various challenges in education and improves learning efficiency and motivation.
[0710] The following describes the processing flow.
[0711] Step 1:
[0712] The server starts the program and creates an instance of the ChatBot class. This initializes the chatbot with a predefined set of responses and an emotion engine.
[0713] Step 2:
[0714] The user enters a question through their device. For example, they might enter, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0715] Step 3:
[0716] The terminal sends the entered question to the server. The server receives this request.
[0717] Step 4:
[0718] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "difficult subject," "overcoming").
[0719] Step 5:
[0720] The server uses an emotion engine to estimate the user's emotions based on a text analysis of the questions entered by the user. For example, it recognizes emotions such as "anxiety" or "confusion" from the context and wording of the questions.
[0721] Step 6:
[0722] The server generates an appropriate response based on identified keywords and estimated emotions. For example, if a user is feeling "anxious" and asks about a "subject they struggle with," the server will select an encouraging message such as, "It's important to start with a basic understanding and gradually build confidence. Let's take our time and overcome your weaknesses."
[0723] Step 7:
[0724] The server sends the generated response to the terminal. The response is then sent to the user's terminal via an integrated communication method.
[0725] Step 8:
[0726] The terminal receives a response from the server and displays it to the user. The user can then review the response on the terminal screen and use the advice as a reference to implement it.
[0727] Step 9:
[0728] Users take concrete actions. For example, they might try the Pomodoro Technique following advice from the server, or improve their child's study methods by relearning the basics.
[0729] (Example 2)
[0730] 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."
[0731] Conventional information response systems had the means to analyze user questions and provide appropriate responses, but they could not generate responses that took user emotions into account. Therefore, they failed to adequately address the psychological anxieties and confusion users may have, resulting in a decline in the quality of information provided. Furthermore, simple keyword analysis alone could not accurately grasp the intent of the question, sometimes leading to inappropriate responses.
[0732] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, an emotion estimation means for estimating the emotion from the user's input text, and a keyword identification means for identifying specific keywords. This makes it possible to generate and provide a response that takes into account not only the content of the user's question but also their emotions. Furthermore, by performing emotion estimation in addition to keyword identification, it becomes possible to grasp the intent of the question more accurately and return the optimal response.
[0733] A "user interface means" is a means of providing an interface for a user to input a question.
[0734] "Analysis means" refers to the means used to analyze questions from users.
[0735] A "response generation means" is a means for generating an appropriate response based on an analyzed question.
[0736] A "response method" is a means of providing the generated response to the user.
[0737] An "emotion estimation method" is a means of estimating emotions from the text input by the user.
[0738] A "keyword identification means" is a means for identifying specific keywords included in a user's question.
[0739] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. Specific embodiments of the system are described in detail below.
[0740] First, when the server starts up, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. The chatbot contains several predefined responses. The sentiment engine is implemented using natural language processing (NLP) libraries such as NLTK and Hugging Face transformers, and has the ability to estimate sentiment from the user's input text.
[0741] Users access the system via a web browser on their smartphone or PC, and a chat screen is displayed. Users enter a question into a text box and send a message such as, "Please tell me how to help my child overcome their weakness in a particular subject." The server receives this input text and calls the respond method. The respond method performs processing to analyze the text and estimate sentiment.
[0742] When the server analyzes the user's question text, it uses NLP (Neuro-Linguistic Programming) techniques to extract keywords. Specifically, it uses Python regular expressions and NLTK's tokenization function to identify keywords such as "difficult subjects" and "overcoming weaknesses." This clarifies the subject of the question.
[0743] The emotion engine uses a BERT-based emotion analysis model to analyze and identify the user's emotions. For example, it identifies emotions such as "confusion" or "anxiety." This emotion information is then used in the next response generation step.
[0744] The server generates the most appropriate response based on identified keywords and sentiment information. The responses are predefined and stored in a JSON file, etc. The server selects an appropriate response considering the sentiment information. For example, if the user is feeling "anxious," a response including encouraging words such as "It's a good idea to start with a basic understanding" will be generated.
[0745] Finally, the server sends the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user can then view the provided response on their device screen and take advantage of the advice.
[0746] Specifically, the following exchange takes place.
[0747] Example of a prompt:
[0748] "I'd like some advice on how to help my child overcome their weaknesses in certain subjects. I'm at a loss as to what to do."
[0749] Based on this prompt, a response is generated for the user that includes words of encouragement and specific advice. This system allows users to quickly receive specific and emotionally sensitive advice, making it possible to more effectively support children's learning.
[0750] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0751] Step 1:
[0752] The server starts the system. Specifically, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. This ChatBot contains several predefined responses and also has an emotion engine built in. This emotion engine has the function of inferring emotions from the user's input text. The input is the system startup trigger, and the output is the instance of the ChatBot class.
[0753] Step 2:
[0754] The user accesses the system through a web browser on their device (smartphone or PC). A chat screen appears, and the user enters a question. For example, they might enter the question, "Please tell me how to help my child overcome their weakness in a particular subject," and click the send button. The input is the user's question text, and the output is the sent text data.
[0755] Step 3:
[0756] The server receives the user's input text. This text data is sent to the server as a web request. The server calls the `respond` method, passing the text data as an argument. The input is the user's text data, and the output is a data object used for parsing.
[0757] Step 4:
[0758] The server executes the `respond` method to analyze the user's question. This method uses natural language processing (NLP) techniques to tokenize the text and extract keywords. Specifically, it uses Python regular expressions and the NLTK library to identify keywords such as "difficult subjects" and "overcoming." The input is text data, and the output is the identified keywords.
[0759] Step 5:
[0760] The server's emotion engine estimates emotions from the user's input text. It uses a BERT-based emotion analysis model to identify the user's emotional state (e.g., "confused" or "anxious"). The input is text data, and the output is estimated emotion information.
[0761] Step 6:
[0762] The server generates an appropriate response based on identified keywords and sentiment information. It selects a response corresponding to the sentiment from a predefined set of responses. Specifically, it selects the optimal response from text data stored in a JSON file or similar. The input consists of keywords and sentiment information, and the output is the selected response text.
[0763] Step 7:
[0764] The server returns the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user views the provided response on their device screen. The input is the response text, and the output is the response displayed in the user's browser.
[0765] (Application Example 2)
[0766] 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."
[0767] Traditional security support systems only provide standardized answers to user questions, failing to consider the content of the user's questions or their emotions. This results in an inability to adequately alleviate the anxiety and confusion users feel. Furthermore, the lack of appropriate advice and support tailored to their emotions makes it difficult to gain user trust.
[0768] 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. In this invention, the server includes a user interface means for the user to input questions and consultation content, an analysis means for analyzing the questions and consultation content from the user and estimating emotions, a response generation means for generating an appropriate response based on the analyzed questions and consultation content and emotions, and a response means for returning the generated response to the user. This makes it possible to provide professional and reliable support that takes into account not only the user's questions but also their emotions.
[0769] A "user interface means" is an interface for users to input questions and consultation details, and is implemented through devices such as smartphones and personal computers.
[0770] "Analysis means" refers to a system that analyzes questions and consultation content received from users, identifies specific keywords, and has the function of estimating emotions.
[0771] "Emotional analysis means" refers to technology that analyzes the emotions of a user's input text and identifies emotional states such as confusion, anxiety, or joy.
[0772] A "response generation means" is a device that has the function of generating an appropriate response based on the analyzed questions, consultation content, and emotions.
[0773] A "response mechanism" is an interface for sending the generated response back to the user's device, allowing the user to view the response on the screen.
[0774] "Keywords" are important words or phrases within the user's entered questions and inquiries, and are the parts that the system pays particular attention to when analyzing and generating responses.
[0775] "Emotions" refer to the user's mental state and are identified through text analysis. Examples include anxiety, confusion, and relief.
[0776] An "additional message" is a supplementary response generated based on the results of sentiment analysis, designed to alleviate user anxiety and questions and provide a sense of reassurance.
[0777] This invention relates to a security support system that generates appropriate responses to questions and inquiries entered by users. It is particularly characterized by its ability to analyze the user's emotions and provide responses accordingly.
[0778] The system of the present invention includes a user interface means, an analysis means, a response generation means, and a response means. Detailed embodiments of each means are described below.
[0779] User interface means
[0780] Users enter their questions and inquiries through devices such as smartphones and personal computers. This allows them to access the system and ask security-related questions.
[0781] Analysis means
[0782] The server analyzes the questions and consultations received from the user. The analysis tool identifies specific keywords and further estimates the user's emotions using sentiment analysis tools. This process utilizes natural language processing libraries such as TextBlob.
[0783] Response generation means
[0784] Based on the analyzed questions, consultation content, and emotions, an appropriate response is generated. The response generation means selects a predefined response based on identified keywords and further generates additional messages according to the emotions. This has the effect of reducing the user's anxiety and confusion.
[0785] Means of response
[0786] The generated response is sent back to the user's device through the user interface. The user can view the response on the screen and receive specific advice.
[0787] As a concrete example, let's assume a user enters the question, "How do I identify phishing emails?" The system recognizes the keyword "phishing" and generates a response saying, "To identify phishing emails, carefully check the sender address and the URL of the link." Furthermore, it uses TextBlob to analyze the user's sentiment, and if it determines that the user is feeling doubt or anxiety, it adds an additional message saying, "Please don't worry. We'll support you."
[0788] This system allows users to refer to advice with greater confidence and reduce anxiety.
[0789] The following are examples of prompts to input into a generative AI model:
[0790] "We are developing a chatbot system that provides customized responses to users' security-related questions, tailored to the content and sentiment of their questions. We envision a system that analyzes the user's emotions and generates responses based on that. For example, it might advise, 'To identify phishing emails, carefully check the sender address and linked URLs,' and add a message like, 'Please don't worry. We're here to support you.'"
[0791] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0792] Step 1:
[0793] Users input their questions and inquiries through the user interface of their smartphone or computer. The entered text is then sent to the system.
[0794] Step 2:
[0795] The server receives input from the user and analyzes the question and consultation content using analysis tools. Specifically, it analyzes the text using a natural language processing library (e.g., TextBlob) to identify specific keywords. At the same time, it estimates the user's emotions using sentiment analysis tools. The input data is the question and consultation text, and the output is the specific keywords and the estimated emotions.
[0796] Step 3:
[0797] The server generates an appropriate response using a response generation mechanism based on identified keywords and estimated sentiment. Specifically, it selects an appropriate response from predefined responses and generates additional messages depending on the sentiment. The input data consists of specific keywords and sentiment data, and the output is the generated response text.
[0798] Step 4:
[0799] The server generates a response and sends it to the user's terminal using a response method. The user can view the response on their smartphone or computer screen. The input data is the generated response text, and the output is the display on the user's terminal. Specifically, a message such as "To identify phishing emails, please carefully check the sender address and the URL of the link. Please don't worry, we'll support you." is displayed on the screen.
[0800] Through the above processing steps, users can quickly obtain appropriate responses to their questions and inquiries, and receive answers that take their feelings into consideration.
[0801] 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.
[0802] 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.
[0803] 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.
[0804] [Fourth Embodiment]
[0805] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0806] 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.
[0807] 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).
[0808] 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.
[0809] 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.
[0810] 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).
[0811] 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.
[0812] 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.
[0813] 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.
[0814] 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.
[0815] 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.
[0816] 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.
[0817] 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".
[0818] This invention relates to a system in which a user inputs a question, and an appropriate response is generated and provided based on that question. Specific embodiments of the system are described below and will be explained in detail along the processing steps.
[0819] 1. The server creates an instance of the chatbot:
[0820] The server starts the program and creates an instance of the ChatBot class. This prepares the system to provide responses as pre-written phrases regarding efficient study methods, overcoming weaknesses, advice methods, and balanced eating habits.
[0821] 2. The user enters the question via the device:
[0822] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me about my child's study methods."
[0823] 3. The server performs analysis on the question:
[0824] The server receives the question entered by the user and calls the respond method. The respond method parses the content of the incoming question and identifies specific keywords. In this case, it checks whether the keyword "study methods" is included.
[0825] 4. The server generates a response:
[0826] The server generates an appropriate response based on the analyzed keywords. For example, if the question is about study methods, the response will generate specific advice such as, "Efficient study methods include the Pomodoro Technique and Space Repetition."
[0827] 5. Return the response generated by the server to the user:
[0828] The generated response is sent from the server to the user's terminal. The user can then view the response on their terminal screen and accept and implement the advice.
[0829] Specific example
[0830] Specifically, the following types of interactions are possible:
[0831] User question: "Please tell me about effective study methods for children."
[0832] Server response: "Effective study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or performing deep learning multiple times in short bursts."
[0833] Through this system, users can receive quick and specific advice, enabling them to effectively support their children's learning. This invention aims to improve time management and learning efficiency in education.
[0834] The following describes the processing flow.
[0835] Step 1:
[0836] The server starts the program and creates an instance of the ChatBot class. This initializes the system with a chatbot that has a predefined set of responses.
[0837] Step 2:
[0838] The user enters the question through their device. For example, they might type "Please tell me about my child's study methods" into the input field on their smartphone or PC.
[0839] Step 3:
[0840] The terminal sends the entered question to the server. The server receives this request.
[0841] Step 4:
[0842] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "study methods").
[0843] Step 5:
[0844] The server generates an appropriate response based on the identified keyword. For example, if the keyword is "study methods," the corresponding response will be "Effective study methods include the Pomodoro Technique and Space Repetition."
[0845] Step 6:
[0846] The server sends the generated response to the terminal. A reply is then sent to the user's terminal via an integrated communication method.
[0847] Step 7:
[0848] The terminal receives a response from the server and displays it to the user. The user can view and refer to specific advice from the server on the terminal's screen.
[0849] Step 8:
[0850] The system takes action based on the responses displayed to the user. For example, it can implement specific measures to improve actual study methods, such as trying the Pomodoro Technique.
[0851] (Example 1)
[0852] 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".
[0853] Conventional chatbot systems are limited to predefined, standardized responses to user questions, making it difficult to flexibly address diverse user needs. Furthermore, their user interfaces are often inconvenient, resulting in low user convenience. There is a need to solve these problems and provide a system that offers more flexible and appropriate responses to user-inputted questions.
[0854] 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.
[0855] In this invention, the server includes a terminal where the user inputs a question, a server that analyzes the user's question and identifies specific keywords, a generative AI model that generates an appropriate response based on the identified specific keywords, and a server that returns the generated response to the user's terminal. This makes it possible to generate and provide flexible and appropriate responses to a wide range of user questions.
[0856] A "terminal" is a device used by a user to input questions and communicate with a server, and includes electronic devices such as smartphones and PCs.
[0857] A "server" includes a central processing unit that receives and analyzes user inquiries, generates responses based on the results, and sends them back to the terminal.
[0858] "Specific keywords" refer to important words or phrases included in the questions entered by the user, and are terms that serve as criteria for appropriately analyzing the content of the questions and generating responses.
[0859] A "generative AI model" is a pre-trained artificial intelligence model that includes programs and algorithms for generating natural language responses based on input prompt sentences.
[0860] A "prompt" is an input sentence used when requesting a generative AI model to generate a response. It refers to text that includes questions or instructions created based on specific keywords.
[0861] "Response" refers to the answers and advice generated by a generative AI model in response to a user's question, and the information that is sent from the server to the terminal and provided to the user.
[0862] "Interface means" refers to a user interface that allows a user to operate a terminal to input a question, receive a response from a server, and display it, and includes web pages and dedicated applications.
[0863] This invention relates to a system in which a user inputs a question and generates and provides an appropriate response based on that question. The program runs on a server that functions as a central processing unit and operates in communication with a terminal used by the user. The system provides an interface for the user to input a question, analyzes the question, and performs a series of processes to generate an appropriate response.
[0864] Hardware and software to be used
[0865] Server: Functions as a central processing unit, receiving user inquiries. Its role is to analyze these inquiries, generate responses, and provide answers to the user.
[0866] Terminal: A device used by users to input questions and receive responses from the server; this includes smartphones, PCs, etc.
[0867] Generative AI models: These use pre-trained artificial intelligence models to generate natural language responses. Specific AI models may utilize open-source natural language processing libraries or cloud-based AI services.
[0868] Analysis Library: Natural language processing (NLP) libraries are used to analyze the questions. Examples include Python's NLTK and SpaCy.
[0869] Operation Description
[0870] The user enters a question through their device, and that question is sent to the server. The server analyzes the user's question and extracts specific keywords. An NLP library is used for this analysis. Based on the extracted keywords, the server provides a prompt to a generative AI model, which generates an appropriate response. The generated response is sent back from the server to the user's device, where the user confirms it.
[0871] Specific example
[0872] For example, a user enters the question "Please tell me about my child's study methods" into the terminal. The server receives this question and extracts the keyword "study methods". Based on this keyword, it provides a prompt sentence to the AI model, which then generates a response like the following.
[0873] Example of a prompt:
[0874] User question: "Please tell me about effective study methods for children."
[0875] AI response:
[0876] The generative AI model generates the following response based on this prompt.
[0877] For example, "Efficient study methods include the Pomodoro Technique and Space Repetition. These methods involve repeating 25 minutes of focused study followed by 5 minutes of rest, or engaging in deep learning multiple times in short bursts."
[0878] As described above, the system can provide flexible and specific responses to a wide range of user questions, thereby enhancing user convenience.
[0879] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0880] Step 1:
[0881] The server creates an instance of the chatbot.
[0882] Operation: The server starts up and creates an instance of the chatbot. This prepares the system to provide responses to user questions.
[0883] Input: Server startup command.
[0884] Output: Creation of a chatbot instance.
[0885] Step 2:
[0886] The user enters the question through the device.
[0887] Operation: Users enter questions using their device (smartphone or PC). Input is done through web forms or text fields in applications.
[0888] Input: Text of the question (e.g., "Please tell me about my child's study methods.").
[0889] Output: The user's question is sent to the server.
[0890] Step 3:
[0891] The server performs analysis on the question.
[0892] Operation: The server receives the user's input question and parses it. It uses a natural language processing (NLP) library to extract specific keywords.
[0893] Input: Question text received from the user via the terminal.
[0894] Output: Extracted keywords (e.g., "study methods").
[0895] Step 4:
[0896] The server generates the prompt message.
[0897] Operation: The server generates prompt sentences for input to the generated AI model based on the extracted keywords.
[0898] Input: Extracted keywords.
[0899] Output: A prompt sentence for the generated AI model (e.g., "Please tell me about children's study methods.").
[0900] Step 5:
[0901] The server generates a response using an AI model.
[0902] Operation: The server sends the generated prompt message to the AI model, which then generates an appropriate response.
[0903] Input: Prompt text.
[0904] Output: Generated response (e.g., "Efficient study methods include the Pomodoro Technique and Space Repetition.")
[0905] Step 6:
[0906] The server returns the generated response to the user.
[0907] Operation: The generated response is sent from the server to the user's terminal. The user then views the response on the screen.
[0908] Input: The generated response.
[0909] Output: The response will be displayed on the user's terminal.
[0910] In this way, the system receives questions from the user at each step, analyzes them, generates appropriate responses, and provides them to the user.
[0911] (Application Example 1)
[0912] 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".
[0913] In physical stores, there is a need for a system that allows customers to quickly and specifically obtain product and service information. However, with traditional methods, customers must ask store staff questions directly, and depending on the timing, they may not receive a prompt response. Furthermore, if the questions cover a wide range of topics, it is difficult to provide appropriate answers to all of them. Therefore, a system that provides efficient and accurate responses to customer questions is required.
[0914] 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.
[0915] In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, and a database connection means for generating appropriate responses regarding product information and services within the store. This allows customers to quickly input questions using their smartphones and obtain appropriate responses to those questions.
[0916] A "user interface means" is a means of interaction for a user to input questions into the system.
[0917] "Analysis means" refers to a function that analyzes questions entered by the user to understand the meaning and intent of those questions.
[0918] A "response generation means" is a function that generates an appropriate answer based on the analyzed question.
[0919] A "response mechanism" is a function that provides the generated response to the user.
[0920] A "database connection method" is a means of connecting to a database containing product information and service details within a store and obtaining the necessary information.
[0921] In order to implement this invention, the following system configuration is necessary. This system allows users to input questions about in-store product information and services through a smartphone app, and provides appropriate responses to those questions.
[0922] The server has the following main functions:
[0923] 1. User Interface Means: This refers to an interface for the user to input questions, and a smartphone application is an example of this.
[0924] 2. Analysis means: A function that analyzes questions submitted by users and identifies specific keywords.
[0925] 3. Response generation means: A function that generates an appropriate response based on the analyzed question.
[0926] 4. Response method: A function for returning the generated response to the user.
[0927] 5. Database connection means: A function to connect to a database containing product information and service information within the store and retrieve the necessary information.
[0928] Specifically, cloud servers will be used as hardware, and the software will include Python, Flask (a web framework), and relational databases (e.g., MySQL).
[0929] The system works as follows: First, the user enters a question using a smartphone app. This question is sent from the smartphone to the server. The server creates an instance of the ChatBot class and parses the question using the respond method. During the parsing of the question, specific keywords are extracted, and based on those keywords, appropriate information is retrieved from the database to generate a response. This response is then sent back to the user's smartphone.
[0930] For example, if a user enters the question, "What are the opening hours of this store?", the system analyzes the keyword "opening hours," extracts appropriate information from the database, and generates a response such as, "Our store is open from 10:00 to 20:00," which is then provided to the user.
[0931] In designing this system, utilizing a generative AI model is expected to enable more accurate analysis and response generation. Specifically, prompts like the following can be used to input into the generative AI model, allowing for suggestions for appropriate improvements and additional features.
[0932] Examples of prompts for a generative AI model:
[0933] "We are currently developing a system where users input questions via a smartphone app. Could you please provide keyword detection and response generation algorithms for generating appropriate responses to these questions?"
[0934] This prompt statement can further improve the accuracy of the system's analysis and response generation methods.
[0935] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0936] Step 1:
[0937] The user enters a question into the smartphone app. For example, the user might enter a question like, "What time is this store open until?" into the input field on their smartphone. The entered text becomes the input data.
[0938] Step 2:
[0939] The device sends the user's question to the server. The smartphone app sends the entered question to the server as an HTTP request. The input data is the text question mentioned earlier, and the output data is the request to the server itself. This request is often sent in JSON format.
[0940] Step 3:
[0941] The server creates an instance of the chatbot. Specifically, a new instance of the ChatBot class is created on the server. This prepares the system for generating responses. The instance created by the server becomes the output data.
[0942] Step 4:
[0943] The server analyzes the user's question. The server analyzes the received question data and extracts specific keywords (e.g., "business hours"). This analysis uses natural language processing techniques, with the input data being the received question text and the output data being the extracted keywords.
[0944] Step 5:
[0945] The server generates a response. Based on the extracted keywords, the server uses a database connection to retrieve appropriate information and generates a response for the user. For example, for the keyword "business hours," a response such as "Our business hours are from 10:00 to 20:00" would be generated. The input data consists of the extracted keywords and information retrieved from the database, while the output data is the generated response statement.
[0946] Step 6:
[0947] The server sends the generated response back to the user. The server then sends the generated response to the smartphone app as an HTTP response. The input data is the generated response text, and the output data is the data sent to the smartphone app.
[0948] Step 7:
[0949] The terminal receives a response from the server and displays it to the user. The smartphone app analyzes the received response and displays it on the user interface. This allows the user to obtain an appropriate answer to their question. The input data is the response text sent from the server, and the output data is the response text displayed on the user's terminal screen.
[0950] 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.
[0951] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. A specific embodiment of the system is described below and will be explained in detail along the processing steps.
[0952] The server creates an instance of the chatbot.
[0953] The server creates an instance of the ChatBot class when the system starts up. This instance contains several predefined responses and also has an emotion engine built in. The emotion engine has the ability to estimate emotions from user input.
[0954] The user enters the question via the device.
[0955] Users enter questions into the system using devices such as smartphones or PCs. For example, a question might be in the format of, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0956] The server analyzes the user's input.
[0957] The server receives the question entered by the user and calls the `respond` method. This method analyzes the question and simultaneously uses the sentiment engine to estimate the user's emotions. The sentiment engine identifies the user's emotional state based on text analysis.
[0958] The server identifies specific keywords
[0959] The server extracts specific keywords from the question text. For example, it can identify keywords such as "subjects I'm not good at" or "overcoming challenges."
[0960] The server analyzes the user's emotions.
[0961] The emotion engine analyzes the user's emotions and identifies them. For example, it can recognize if the user is feeling "confused" or "anxious."
[0962] The server generates an appropriate response.
[0963] The server selects an appropriate response from a predefined set of responses based on identified keywords and the user's emotions. For example, if the user is feeling "anxious," a response will be generated that includes encouraging words such as, "It's a good idea to start with a basic understanding."
[0964] The server returns the generated response to the user.
[0965] The generated response is sent from the server to the user's terminal. The user can view the response on their terminal screen and use the advice as a reference.
[0966] Specific example
[0967] Specifically, the following exchange takes place.
[0968] User question: "How can I help my child overcome their weaknesses in certain subjects?"
[0969] Server analysis results: The keywords "difficult subject" and "overcoming" were identified, and at the same time, the emotion engine detected the user's "anxiety."
[0970] Server response: "It's important to start with a basic understanding and gradually build confidence. Take your time to overcome your weaknesses."
[0971] This system allows users to quickly receive specific and emotionally sensitive advice, enabling more effective support for children's learning. This invention solves various challenges in education and improves learning efficiency and motivation.
[0972] The following describes the processing flow.
[0973] Step 1:
[0974] The server starts the program and creates an instance of the ChatBot class. This initializes the chatbot with a predefined set of responses and an emotion engine.
[0975] Step 2:
[0976] The user enters a question through their device. For example, they might enter, "Please tell me how to help my child overcome their weaknesses in certain subjects."
[0977] Step 3:
[0978] The terminal sends the entered question to the server. The server receives this request.
[0979] Step 4:
[0980] The server calls the ChatBot instance's respond method to analyze the user's question. As a means of analysis, it identifies specific keywords within the query (e.g., "difficult subject," "overcoming").
[0981] Step 5:
[0982] The server uses an emotion engine to estimate the user's emotions based on a text analysis of the questions entered by the user. For example, it recognizes emotions such as "anxiety" or "confusion" from the context and wording of the questions.
[0983] Step 6:
[0984] The server generates an appropriate response based on identified keywords and estimated emotions. For example, if a user is feeling "anxious" and asks about a "subject they struggle with," the server will select an encouraging message such as, "It's important to start with a basic understanding and gradually build confidence. Let's take our time and overcome your weaknesses."
[0985] Step 7:
[0986] The server sends the generated response to the terminal. A reply is then sent to the user's terminal via an integrated communication method.
[0987] Step 8:
[0988] The terminal receives a response from the server and displays it to the user. The user can then review the response on the terminal screen and use the advice as a reference to implement it.
[0989] Step 9:
[0990] Users take concrete actions. For example, they might try the Pomodoro Technique following advice from the server, or improve their child's study methods by relearning the basics.
[0991] (Example 2)
[0992] 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".
[0993] Conventional information response systems had the means to analyze user questions and provide appropriate responses, but they could not generate responses that took user emotions into account. Therefore, they failed to adequately address the psychological anxieties and confusion users may have, resulting in a decline in the quality of information provided. Furthermore, simple keyword analysis alone could not accurately grasp the intent of the question, sometimes leading to inappropriate responses.
[0994] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a user interface means for the user to input a question, an analysis means for analyzing the question from the user, a response generation means for generating an appropriate response based on the analyzed question, a response means for returning the generated response to the user, an emotion estimation means for estimating the emotion from the user's input text, and a keyword identification means for identifying specific keywords. This makes it possible to generate and provide a response that takes into account not only the content of the user's question but also their emotions. Furthermore, by performing emotion estimation in addition to keyword identification, it becomes possible to grasp the intent of the question more accurately and return the optimal response.
[0995] A "user interface means" is a means of providing an interface for a user to input a question.
[0996] "Analysis means" refers to the means used to analyze questions from users.
[0997] A "response generation means" is a means for generating an appropriate response based on an analyzed question.
[0998] A "response method" is a means of providing the generated response to the user.
[0999] An "emotion estimation method" is a means of estimating emotions from the text input by the user.
[1000] A "keyword identification means" is a means for identifying specific keywords included in a user's question.
[1001] This invention relates to a system in which a user inputs a question, and the system generates and provides an appropriate response based on that question. Furthermore, this system also has the function of recognizing the user's emotions and providing a response based on those emotions. Specific embodiments of the system are described in detail below.
[1002] First, when the server starts up, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. The chatbot contains several predefined responses. The sentiment engine is implemented using natural language processing (NLP) libraries such as NLTK and Hugging Face transformers, and has the ability to estimate sentiment from the user's input text.
[1003] Users access the system via a web browser on their smartphone or PC, and a chat screen is displayed. Users enter a question into a text box and send a message such as, "Please tell me how to help my child overcome their weakness in a particular subject." The server receives this input text and calls the respond method. The respond method performs processing to analyze the text and estimate sentiment.
[1004] When the server analyzes the user's question text, it uses NLP (Neuro-Linguistic Programming) techniques to extract keywords. Specifically, it uses Python regular expressions and NLTK's tokenization function to identify keywords such as "difficult subjects" and "overcoming weaknesses." This clarifies the subject of the question.
[1005] The emotion engine uses a BERT-based emotion analysis model to analyze and identify the user's emotions. For example, it identifies emotions such as "confusion" or "anxiety." This emotion information is then used in the next response generation step.
[1006] The server generates the most appropriate response based on identified keywords and sentiment information. The responses are predefined and stored in a JSON file, etc. The server selects an appropriate response considering the sentiment information. For example, if the user is feeling "anxious," a response including encouraging words such as "It's a good idea to start with a basic understanding" will be generated.
[1007] Finally, the server sends the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user can then view the provided response on their device screen and take advantage of the advice.
[1008] Specifically, the following exchange takes place.
[1009] Example of a prompt:
[1010] "I'd like some advice on how to help my child overcome their weaknesses in certain subjects. I'm at a loss as to what to do."
[1011] Based on this prompt, a response is generated for the user that includes words of encouragement and specific advice. This system allows users to quickly receive specific and emotionally sensitive advice, making it possible to support children's learning more effectively.
[1012] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1013] Step 1:
[1014] The server starts the system. Specifically, it creates an instance of the ChatBot class, which is implemented in a programming language such as Python. This ChatBot contains several predefined responses and also has an emotion engine built in. This emotion engine has the function of inferring emotions from the user's input text. The input is the system startup trigger, and the output is the instance of the ChatBot class.
[1015] Step 2:
[1016] The user accesses the system through a web browser on their device (smartphone or PC). A chat screen appears, and the user enters a question. For example, they might enter the question, "Please tell me how to help my child overcome their weakness in a particular subject," and click the send button. The input is the user's question text, and the output is the sent text data.
[1017] Step 3:
[1018] The server receives the user's input text. This text data is sent to the server as a web request. The server calls the `respond` method, passing the text data as an argument. The input is the user's text data, and the output is a data object used for parsing.
[1019] Step 4:
[1020] The server executes the `respond` method to analyze the user's question. This method uses natural language processing (NLP) techniques to tokenize the text and extract keywords. Specifically, it uses Python regular expressions and the NLTK library to identify keywords such as "difficult subjects" and "overcoming." The input is text data, and the output is the identified keywords.
[1021] Step 5:
[1022] The server's emotion engine estimates emotions from the user's input text. It uses a BERT-based emotion analysis model to identify the user's emotional state (e.g., "confused" or "anxious"). The input is text data, and the output is estimated emotion information.
[1023] Step 6:
[1024] The server generates an appropriate response based on identified keywords and sentiment information. It selects a response corresponding to the sentiment from a predefined set of responses. Specifically, it selects the optimal response from text data stored in a JSON file or similar. The input consists of keywords and sentiment information, and the output is the selected response text.
[1025] Step 7:
[1026] The server returns the generated response to the user's device. The response data is sent to the user's browser via the HTTP protocol, and the web page is automatically refreshed. The user views the provided response on their device screen. The input is the response text, and the output is the response displayed in the user's browser.
[1027] (Application Example 2)
[1028] 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".
[1029] Traditional security support systems only provide standardized answers to user questions, failing to consider the content of the user's questions or their emotions. This results in an inability to adequately alleviate the anxiety and confusion users feel. Furthermore, the lack of appropriate advice and support tailored to their emotions makes it difficult to gain user trust.
[1030] 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. In this invention, the server includes a user interface means for the user to input questions and consultation content, an analysis means for analyzing the questions and consultation content from the user and estimating emotions, a response generation means for generating an appropriate response based on the analyzed questions and consultation content and emotions, and a response means for returning the generated response to the user. This makes it possible to provide professional and reliable support that takes into account not only the user's questions but also their emotions.
[1031] A "user interface means" is an interface for users to input questions and consultation details, and is implemented through devices such as smartphones and personal computers.
[1032] "Analysis means" refers to a system that analyzes questions and consultation content received from users, identifies specific keywords, and has the function of estimating emotions.
[1033] "Emotional analysis means" refers to technology that analyzes the emotions of a user's input text and identifies emotional states such as confusion, anxiety, or joy.
[1034] A "response generation means" is a device that has the function of generating an appropriate response based on the analyzed questions, consultation content, and emotions.
[1035] A "response mechanism" is an interface for sending the generated response back to the user's device, allowing the user to view the response on the screen.
[1036] "Keywords" are important words or phrases within the user's entered questions and inquiries, and are the parts that the system pays particular attention to when analyzing and generating responses.
[1037] "Emotions" refer to the user's mental state and are identified through text analysis. Examples include anxiety, confusion, and relief.
[1038] An "additional message" is a supplementary response generated based on the results of sentiment analysis, designed to alleviate user anxiety and questions and provide a sense of reassurance.
[1039] This invention relates to a security support system that generates appropriate responses to questions and inquiries entered by users. It is particularly characterized by its ability to analyze the user's emotions and provide responses accordingly.
[1040] The system of the present invention includes a user interface means, an analysis means, a response generation means, and a response means. Detailed embodiments of each means are described below.
[1041] User interface means
[1042] Users enter their questions and inquiries through devices such as smartphones and personal computers. This allows them to access the system and ask security-related questions.
[1043] Analysis means
[1044] The server analyzes the questions and consultations received from the user. The analysis tool identifies specific keywords and further estimates the user's emotions using sentiment analysis tools. This process utilizes natural language processing libraries such as TextBlob.
[1045] Response generation means
[1046] Based on the analyzed questions, consultation content, and emotions, an appropriate response is generated. The response generation means selects a predefined response based on identified keywords and further generates additional messages according to the emotions. This has the effect of reducing the user's anxiety and confusion.
[1047] Means of response
[1048] The generated response is sent back to the user's device through the user interface. The user can view the response on the screen and receive specific advice.
[1049] As a concrete example, let's assume a user enters the question, "How do I identify phishing emails?" The system recognizes the keyword "phishing" and generates a response saying, "To identify phishing emails, carefully check the sender address and the URL of the link." Furthermore, it uses TextBlob to analyze the user's sentiment, and if it determines that the user is feeling doubt or anxiety, it adds an additional message saying, "Please don't worry. We'll support you."
[1050] This system allows users to refer to advice with greater confidence and reduce anxiety.
[1051] The following are examples of prompts to input into a generative AI model:
[1052] "We are developing a chatbot system that provides customized responses to users' security-related questions, tailored to the content and sentiment of their questions. We envision a system that analyzes the user's emotions and generates responses based on that. For example, it might advise, 'To identify phishing emails, carefully check the sender address and linked URLs,' and add a message like, 'Please don't worry. We're here to support you.'"
[1053] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1054] Step 1:
[1055] Users input their questions and inquiries through the user interface of their smartphone or computer. The entered text is then sent to the system.
[1056] Step 2:
[1057] The server receives input from the user and analyzes the question and consultation content using analysis tools. Specifically, it analyzes the text using a natural language processing library (e.g., TextBlob) to identify specific keywords. At the same time, it estimates the user's emotions using sentiment analysis tools. The input data is the question and consultation text, and the output is the specific keywords and the estimated emotions.
[1058] Step 3:
[1059] The server generates an appropriate response using a response generation mechanism based on identified keywords and estimated sentiment. Specifically, it selects an appropriate response from predefined responses and generates additional messages depending on the sentiment. The input data consists of specific keywords and sentiment data, and the output is the generated response text.
[1060] Step 4:
[1061] The server generates a response and sends it to the user's terminal using a response method. The user can view the response on their smartphone or computer screen. The input data is the generated response text, and the output is the display on the user's terminal. Specifically, a message such as "To identify phishing emails, please carefully check the sender address and the URL of the link. Please don't worry, we'll support you." is displayed on the screen.
[1062] Through the above processing steps, users can quickly obtain appropriate responses to their questions and inquiries, and receive answers that take their feelings into consideration.
[1063] 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.
[1064] 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.
[1065] 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 robot 414.
[1066] 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.
[1067] 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. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, 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.
[1068] 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.
[1069] 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.
[1070] 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.
[1071] 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."
[1072] 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.
[1073] 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.
[1074] 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.
[1075] 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.
[1076] 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.
[1077] 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.
[1078] 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.
[1079] 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.
[1080] 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.
[1081] 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.
[1082] 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.
[1083] 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 as being incorporated by reference.
[1084] The following is further disclosed regarding the embodiments described above.
[1085] (Claim 1)
[1086] A user interface means for the user to input a question,
[1087] An analytical method for analyzing user questions,
[1088] A response generation means that generates an appropriate response based on the analyzed question,
[1089] A response means that returns the generated response to the user,
[1090] A system that includes this.
[1091] (Claim 2)
[1092] The system according to claim 1, wherein the analysis means includes means for identifying specific keywords contained in a question entered by the user.
[1093] (Claim 3)
[1094] The system according to claim 1, wherein the response generation means includes means for selecting a predefined response based on identified specific keywords.
[1095] "Example 1"
[1096] (Claim 1)
[1097] A terminal where the user enters a question,
[1098] A server that analyzes user questions and identifies specific keywords,
[1099] A generative AI model that generates appropriate responses based on identified specific keywords,
[1100] A server that sends the generated response back to the user's terminal,
[1101] A system that includes this.
[1102] (Claim 2)
[1103] The system according to claim 1, wherein the server includes means for generating a prompt sentence based on a specific keyword and generating a response using a generation AI model.
[1104] (Claim 3)
[1105] The system according to claim 1, wherein the terminal includes an interface means for displaying the generated response.
[1106] "Application Example 1"
[1107] (Claim 1)
[1108] A user interface means for the user to input a question,
[1109] An analytical method for analyzing user questions,
[1110] A response generation means that generates an appropriate response based on the analyzed question,
[1111] A response means that returns the generated response to the user,
[1112] A database connection means for generating appropriate responses regarding product information and services within a store,
[1113] A system that includes this.
[1114] (Claim 2)
[1115] The system according to claim 1, wherein the analysis means includes means for identifying specific keywords contained in a question entered by the user.
[1116] (Claim 3)
[1117] The system according to claim 1, wherein the response generation means includes means for selecting a predefined response based on identified specific keywords.
[1118] "Example 2 of combining an emotion engine"
[1119] (Claim 1)
[1120] A user interface means for the user to input a question,
[1121] An analytical method for analyzing user questions,
[1122] A response generation means that generates an appropriate response based on the analyzed question,
[1123] A response means that returns the generated response to the user,
[1124] A means for estimating emotions from user input text,
[1125] A keyword identification means for identifying specific keywords,
[1126] A system that includes this.
[1127] (Claim 2)
[1128] The system according to claim 1, wherein the analysis means includes a keyword identification means for identifying specific keywords included in a question entered by the user.
[1129] (Claim 3)
[1130] The system according to claim 1, wherein the response generation means includes means for selecting a predefined response based on identified specific keywords and estimated emotions.
[1131] "Application example 2 when combining with an emotional engine"
[1132] (Claim 1)
[1133] A user interface means for users to input questions and consultation details,
[1134] An analytical means for analyzing user questions and consultations and estimating their emotions,
[1135] A response generation means that generates an appropriate response based on the analyzed questions, consultation content, and emotions,
[1136] A response means that returns the generated response to the user,
[1137] A system that includes this.
[1138] (Claim 2)
[1139] The system according to claim 1, wherein the analysis means identifies specific keywords contained in the questions and consultation content entered by the user, and further includes emotion analysis means.
[1140] (Claim 3)
[1141] The system according to claim 1, wherein the response generation means includes means for selecting a predefined response based on identified specific keywords and emotions, and further generating an additional message corresponding to the emotion. [Explanation of Symbols]
[1142] 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 user interface means for the user to input a question, An analytical method for analyzing user questions, A response generation means that generates an appropriate response based on the analyzed question, A response means that returns the generated response to the user, A system that includes this.
2. The system according to claim 1, wherein the analysis means includes means for identifying specific keywords contained in a question entered by the user.
3. The system according to claim 1, wherein the response generation means includes means for selecting a predefined response based on identified specific keywords.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A