system
A system using a pre-trained model and emotion engine to generate and personalize responses addresses the lack of high-quality interlocutors, improving educational and training outcomes by providing effective and empathetic feedback.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
In modern educational and training scenarios, the lack of high-quality interlocutors capable of providing effective feedback and appropriate questions hinders learning effectiveness and work efficiency.
A system that utilizes a pre-trained model to tokenize user input, generate responses using a generative model, decode the response into text format, and provide it back to the user, incorporating an emotion engine to personalize responses based on user emotions.
Enhances learning effectiveness and work efficiency by providing high-quality, personalized, and empathetic feedback and questions, compensating for the absence of human interaction.
Smart Images

Figure 2026064729000001_ABST
Abstract
Description
Technical Field
[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: 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 educational and training scenarios, the presence of an interlocutor who can provide high-quality feedback and appropriate questions is important. In particular, in order to conduct effective training in language learning, acquisition of business knowledge, preparation for qualification exams, etc., an interlocutor with extensive knowledge and a high level of questioning ability is required. However, in reality, it is difficult to always ensure such an interlocutor. Therefore, the shortage of interlocutors has become an obstacle to improving learning effects and work efficiency. The object of the present invention is to solve these problems and provide a means for supporting high-quality education and training.
Means for Solving the Problems
[0005] The present invention provides a system that includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, and means for returning the converted response to the user. The system of the present invention uses a pre-trained model when tokenizing the received user input and provides specific answers to the user's questions based on the generation of the generative model. It also includes means for temporarily saving the generated response for later reference and means for displaying the generated response on a user interface. In this way, the system realizes a system that provides high-quality feedback and appropriate questions, contributing to improved learning effectiveness and work efficiency.
[0006] A "user" is an individual or organization that uses this system and is the entity that provides input or questions.
[0007] "Input" refers to the form of text or questions that a user provides to a system, and is information used to generate some kind of response.
[0008] "Tokenization" is the process of dividing input text into individual words and symbols and converting them into a sequence of numbers.
[0009] A "numerical sequence" in natural language processing refers to a collection of data obtained by converting text into a format that is easily understood by machines, and is often represented as a vector.
[0010] A "generative model" is an artificial intelligence algorithm that automatically generates appropriate responses to user input based on training data.
[0011] A "response" is a reply or answer to a user's input, generated by a generative model, and this is what is provided to the user.
[0012] "Decoding" is the process of converting a sequence of numbers generated by a generative model back into text format, making it understandable to the user.
[0013] "Text format" refers to a data format that expresses data in characters and sentences in a way that is easy for users to understand.
[0014] "Returning the response" is the process of delivering the generated response to the user, and this is usually done via communication.
[0015] A "system" is the overall mechanism or platform that integrates and operates using these means, and is a set of components that realize a specific function.
[0016] A "pre-trained model" is an artificial intelligence algorithm that has been trained using a large amount of data in advance, and is prepared to generate appropriate responses to new inputs.
[0017] A "user interface" is a mechanism that provides a screen or means of operation for a user to interact with a system.
[0018] "Saving" refers to the process of temporarily or permanently retaining generated responses or data, making them available for later reference or use. [Brief explanation of the drawing]
[0019] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5]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.
Modes for Carrying Out the Invention
[0020] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0021] First, the terms used in the following description will be explained.
[0022] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), and APU (Accelerated Processing Unit).
[0023] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0024] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0025] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0026] 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."
[0027] [First Embodiment]
[0028] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0029] 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.
[0030] 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).
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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".
[0040] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0041] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input. The generated response is then decoded and converted into a user-readable text format. Finally, the converted response is sent back to the user.
[0042] Users submit questions and requests to the system through an input form. For example, when practicing English conversation, a user might type "How do I ask for directions in English?". This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server might generate a response such as "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'"
[0043] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0044] As a concrete example, when studying for a certification exam, if a user enters the question "What are the principles of Lean Manufacturing?", the server generates a response such as "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection," and sends it back to the user. Similarly, when acquiring business knowledge, in response to the question "What are the key steps in project management?", the server can return a response such as "The key steps in project management are initiation, planning, execution, monitoring, and closure."
[0045] This invention provides a system that improves learning effectiveness and work efficiency by providing users with high-quality feedback and appropriate questions. This system allows users to receive high-quality training wherever they are, compensating for a lack of human interaction.
[0046] The following describes the processing flow.
[0047] Step 1:
[0048] User
[0049] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "What is the best way to learn a new language?"
[0050] Step 2:
[0051] terminal
[0052] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript (registered trademark). It then sends an HTTP POST request to the server.
[0053] Step 3:
[0054] server
[0055] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0056] Step 4:
[0057] server
[0058] The server tokenizes the user's input text. It uses a pre-trained tokenizer to convert the text into a sequence of numbers.
[0059] Step 5:
[0060] server
[0061] The server inputs a tokenized sequence of numbers into a generative model. Using the pre-trained generative model, it generates an appropriate response to the user's input.
[0062] Step 6:
[0063] server
[0064] The server decodes the numerical sequence of responses obtained from the generative model back into text format, thereby generating a user-readable string.
[0065] Step 7:
[0066] server
[0067] The server converts the generated text-formatted response into JSON format and sends it back to the terminal as an HTTP response.
[0068] Step 8:
[0069] terminal
[0070] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0071] Step 9:
[0072] User
[0073] The user confirms the response displayed on the device's user interface. For example, it might say, "The best way to learn a new language is through immersion, practicing regularly, and using a variety of resources."
[0074] The above describes the specific processing flow of the present invention. Each step, from receiving user input to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality feedback.
[0075] (Example 1)
[0076] 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."
[0077] Traditional interactive learning and training systems require appropriate and rapid responses to user questions, but the necessary technical means to achieve this were not readily available. Furthermore, the quality and adaptability of the generated responses were insufficient, making it difficult to accommodate real-time dialogue and individual learning needs.
[0078] 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.
[0079] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for sending the converted response back to the user, means for providing a user interface and sending user input to the server, and means for displaying the generated response on the user interface. This enables the user to receive high-quality and appropriate feedback in real time, and enables training tailored to specific learning or work objectives.
[0080] "Means of receiving user input" refers to an interface that allows users to input questions or requests to the system.
[0081] "A means of tokenizing received input and converting it into a numerical sequence" refers to the process of dividing text data received from a user into units of words or sentences and converting them into numerical sequences.
[0082] "A means of inputting a transformed numerical sequence into a generative model to generate a response" refers to the process of inputting tokenized data, converted into a numerical sequence, into a generative AI model to generate an appropriate response.
[0083] "Means for decoding the generated response and converting it into text format" refers to the process of converting numerical data output by a generative AI model into a text format that is understandable to humans.
[0084] "Means of sending the converted response back to the user" refers to the process of sending the response, converted into text format, to the user.
[0085] "A means of providing a user interface and sending user input to a server" refers to the process of providing an interface for sending information entered by a user to a server.
[0086] "Means for displaying the generated response on the user interface" refers to the process of visually displaying the response sent from the server to the user.
[0087] "A means of using a pre-trained model when tokenizing received user input" refers to the process of using a pre-trained tokenizer when tokenizing user input.
[0088] "A means of providing specific answers to user questions based on the generation of a generative model" refers to a process of providing specific and useful answers to users based on the data output by a generative AI model.
[0089] "A means of inputting a numerical sequence into a generative model in order to generate an appropriate response based on user input" refers to the process of converting user input into a numerical sequence and inputting it into a generative AI model to generate an appropriate response.
[0090] "Means for temporarily saving and making available for later reference the generated response in the process of generating a response to user input" refers to the process of temporarily saving the generated response and making it available for later reference as needed.
[0091] "Means of customizing responses according to specific uses such as acquiring business knowledge or studying for qualification exams" refers to the process of customizing responses generated according to specific learning or business objectives.
[0092] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0093] The device used by the user is provided with a user interface where the user enters questions or requests. The device receives this input and sends it to the server. The user interface typically uses an application that runs on a web browser or a mobile application.
[0094] When the server receives input from a user, it first tokenizes that input and converts it into a sequence of numbers. A pre-trained tokenizer (e.g., BERT tokenizer) is used for this tokenization. The tokenized data is then input as a sequence of numbers into a generative AI model (e.g., GPT-3®).
[0095] The generative AI model generates an appropriate response based on the input numerical sequence. The generated response is output as a numerical sequence, which is then decoded (e.g., using the Beam Search algorithm) and converted into text format. The generated text-formatted response is sent from the server to the terminal and displayed in the user interface.
[0096] As a concrete example, when practicing English conversation, the user might type "How do I ask for directions in English?". The server then generates an appropriate response, "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'", and displays this on the user interface.
[0097] Furthermore, it can be applied to studying for certification exams and acquiring business knowledge. When studying for certification exams, if a user inputs the question "What are the principles of Lean Manufacturing?", the server will generate the response "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection." When acquiring business knowledge, in response to the question "What are the key steps in project management?", the response "The key steps in project management are initiation, planning, execution, monitoring, and closure." is returned.
[0098] Examples of prompt messages include the following:
[0099] "What are the main components of effective communication in a professional setting?"
[0100] "How can I improve my time management skills?"
[0101] "Can you explain the concept of blockchain technology?"
[0102] This allows the system to provide users with high-quality feedback and appropriate questions, improving learning effectiveness and work efficiency. Furthermore, the user interface is accessible from anywhere, enabling high-quality training regardless of location.
[0103] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0104] Step 1: Receiving user input
[0105] The user enters questions or requests through the terminal's user interface. For example, if the user enters "How do I ask for directions in English?" and clicks the send button, the terminal receives this input. Input data (e.g., "How do I ask for directions in English?") is generated and sent to the server.
[0106] Step 2: Input reception and tokenization on the server
[0107] The server receives user input data sent from the terminal. The received input (e.g., "How do I ask for directions in English?") is passed to the tokenizer, which then tokenizes it. A pre-trained tokenizer (e.g., the BERT tokenizer) is used for this process. Tokenized data (a sequence of numbers) is then generated.
[0108] Step 3: Inputting numerical sequences into the generative model
[0109] The server inputs a tokenized sequence of numbers (tokens) into a generative AI model (e.g., GPT-3). The generative AI model receives the sequence of numbers as input and processes it to generate an appropriate response. At this stage, the response is also output as a sequence of numbers (the sequence of numbers in the generated response).
[0110] Step 4: Decode the response
[0111] The server decodes the numerical sequence output from the generated AI model. It passes the numerical sequence of the response to the decoder, which converts it into text format. The decoded text-formatted response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then generated.
[0112] Step 5: Send back the response
[0113] The server sends a decoded text response to the terminal. The terminal receives this response and displays it on the user interface. The displayed response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then provided to the user.
[0114] Step 6: Display the response
[0115] The terminal displays the response sent from the server on the user interface. The user can view the displayed response and use it for learning and training. Specifically, this enables high-quality training tailored to studying for certification exams or acquiring job-related knowledge.
[0116] (Application Example 1)
[0117] 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."
[0118] In autonomous vehicles, it is crucial for drivers to obtain real-time navigation information and receive appropriate responses to questions about the vehicle's status in order to ensure safe and comfortable driving. However, conventional systems lack intuitive and rapid means of obtaining information while driving, which can lead to stressful driving. Furthermore, systems that require manual operation may compromise safety. There is a need to solve these problems and enhance navigation assistance while driving.
[0119] 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.
[0120] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for displaying the converted response on a user interface, means for supporting real-time navigation during driving, means for acquiring user input by speech recognition, means for converting the acquired speech input into text, and means for outputting the converted response as speech. As a result, the driver can input questions by voice and immediately receive appropriate responses, enabling safe and comfortable driving.
[0121] "User input" refers to the information and instructions that the system receives from the user.
[0122] "Tokenization" refers to the process of splitting input text into words and phrases and converting them into numerical sequences.
[0123] A "numerical sequence" refers to a sequence of numbers obtained by converting tokenized text into numerical values.
[0124] A "generative model" refers to a machine learning model used to generate responses based on user input.
[0125] "Response" refers to the answer or guidance provided by a generative model in response to user input.
[0126] "Decoding" refers to the process of converting a numerical response generated by a generative model into a text format that the user can understand.
[0127] "User interface" refers to the means of input and display for a user to interact with a system.
[0128] "Real-time navigation while driving" refers to providing users of autonomous vehicles with immediate route guidance and information tailored to the current driving conditions.
[0129] "Speech recognition" refers to a technology that analyzes a user's voice input and converts it into text format.
[0130] "Voice input" refers to information that a user speaks to the system through a microphone.
[0131] "Voice output" refers to delivering a text-based response to the user using speech synthesis technology.
[0132] The system for carrying out this invention receives user input, analyzes it, generates an appropriate response, and provides safe and comfortable navigation assistance while driving. The system mainly consists of a terminal equipped with a user interface for receiving input, a server for processing the input and generating a response, and a speech recognition and speech output device for outputting the generated response.
[0133] The server has the functionality to tokenize user input and convert it into a sequence of numbers. A pre-trained model is used for tokenization. The tokenized sequence of numbers is then input into a generative AI model to generate an appropriate response. Specifically, a natural language processing model based on large-scale training data such as GPT-3 is used as the generative model. The generated response is decoded and converted into a text format that the user can understand.
[0134] The generated response is displayed to the user through a user interface. This user interface could be implemented, for example, on a smartphone or in-car display. Furthermore, the system can be used while driving, recognizing voice input from the user and providing real-time responses to voice questions. For speech recognition, for example, Google's Speech-to-Text API is used. The response is then returned to the user in voice using speech synthesis technology. A speech synthesis library such as pyttsx3 is used for this voice output.
[0135] As a concrete example of its use, if a user asks "Where is the next interchange?" while driving, the system converts the speech to text, then tokenizes it into a sequence of numbers. A generative model then generates a response based on this sequence of numbers, producing the answer "The next interchange is 3 kilometers ahead on the right." This answer is then decoded into text format and provided to the user verbally using a speech output system.
[0136] Examples of prompt statements include:
[0137] "What is the shortest route at this point?"
[0138] "Where is the nearest gas station?"
[0139] "What should I do if my engine is overheating?"
[0140] This system allows drivers to ask questions by voice and receive immediate, appropriate responses, enabling navigation assistance that improves safety and comfort.
[0141] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0142] Step 1:
[0143] The user makes a voice input by speaking into the microphone on their smartphone or in-car display. The input at this time is a specific question, such as "Where is the next interchange?"
[0144] Step 2:
[0145] The device recognizes the speech and converts it to text using the Google Speech-to-Text API. This process analyzes the speech signal and generates corresponding text data. The input is a speech signal, and the output is text data.
[0146] Step 3:
[0147] The terminal sends the converted text data to the server. The input is the converted text data, and the output is a request containing the text data.
[0148] Step 4:
[0149] The server tokenizes the received text data and converts it into a sequence of numbers. A pre-trained natural language processing model is used to convert input words into their corresponding numbers. The input is text data, and the output is a sequence of numbers.
[0150] Step 5:
[0151] The server inputs a numerical sequence into a generating AI model (e.g., GPT-3) and generates an appropriate response. The generating AI model analyzes the input numerical sequence and predicts the optimal response. The input is a numerical sequence, and the output is response data in numerical sequence format.
[0152] Step 6:
[0153] The server decodes the generated numerical response data and converts it to text format. This process converts the numerical data back into words and sentences. The input is numerical response data, and the output is text response data.
[0154] Step 7:
[0155] The server sends the generated text-formatted response data to the terminal. The input is the text-formatted response data, and the output is a response containing the text data.
[0156] Step 8:
[0157] The terminal receives text-based response data, converts it into speech using a speech synthesis library (e.g., pyttsx3), and outputs it through the speaker. The input is text data, and the output is speech data.
[0158] In this way, users can ask questions by voice and receive real-time voice responses. This enables safe and efficient navigation assistance.
[0159] 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.
[0160] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. This system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0161] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input.
[0162] Furthermore, this invention incorporates an emotion engine that recognizes emotions from user input. The emotion engine analyzes the user's emotions using natural language processing technology. Based on the recognized emotions, the server adjusts the generated response to produce a more appropriate and empathetic response. In this way, the response becomes more attuned to the user's emotions, enabling a more personalized dialogue.
[0163] The generated response is decoded, converted back to text format, and then sent back to the user. The server decodes the numerical sequence of the response obtained from the generative model again to generate a user-readable string. Finally, it sends the transformed response back to the user.
[0164] Users submit questions and requests to the system through an input form. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server uses an emotion engine to recognize the user's "stress" and generates a response such as, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0165] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0166] As a concrete example, when studying for a certification exam, if a user inputs the question, "I'm worried about failing the test. What should I focus on most?", the server uses its emotion engine to recognize "worry" and generates a response such as, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing," which is then sent back to the user. Similarly, when acquiring business knowledge, if a user asks, "I'm feeling overwhelmed with my workload. How can I manage it better?", the server uses its emotion engine to recognize the emotion of "being overwhelmed" and can return a response such as, "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0167] In this way, the present invention provides a system that improves learning effectiveness and work efficiency by generating responses that take into account the user's emotions, in addition to providing users with high-quality feedback and appropriate questions. By introducing an emotion engine, users can receive more empathetic responses, compensating for the lack of human interaction.
[0168] The following describes the processing flow.
[0169] Step 1:
[0170] User
[0171] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0172] Step 2:
[0173] terminal
[0174] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[0175] Step 3:
[0176] server
[0177] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0178] Step 4:
[0179] server
[0180] The server sends the input text to the emotion engine to recognize the user's emotions. For example, from the input "I'm feeling very stressed about my upcoming exams," the emotion "stressed" is recognized.
[0181] Step 5:
[0182] server
[0183] The server tokenizes the received input text and converts it into a sequence of numbers. It uses a pre-trained tokenizer (e.g., a GPT-3 tokenizer) to convert the text into a sequence of numbers.
[0184] Step 6:
[0185] server
[0186] The server inputs a tokenized sequence of numbers into a generative model and generates a response. The generative model (e.g., a GPT-3 model) is used to generate an appropriate response to user input.
[0187] Step 7:
[0188] server
[0189] The server decodes the generated response and converts it back to text format. It decodes the numerical sequence obtained from the generative model to generate a user-readable string.
[0190] Step 8:
[0191] server
[0192] The server sends the decoded response to the emotion engine, which then fine-tunes the response based on the recognized emotion. For example, if "stress" is detected, the response is adjusted to better reflect the user's emotions.
[0193] Step 9:
[0194] server
[0195] The server converts the final response into JSON format and sends it back to the terminal as an HTTP response.
[0196] Step 10:
[0197] terminal
[0198] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0199] Step 11:
[0200] User
[0201] The user checks the response displayed on the device's user interface. For example, it might say, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0202] The above describes the specific processing flow of the present invention. Each step, from receiving user input and recognizing emotions to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality and empathetic feedback.
[0203] (Example 2)
[0204] 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".
[0205] Traditional interactive systems are required to generate appropriate responses to user input, but providing responses that take emotions into account has been difficult. Responses that ignore user emotions sometimes decrease user satisfaction and reduce the effectiveness of education and training. Therefore, there is a need for a system that recognizes user emotions and generates appropriate responses.
[0206] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0207] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for analyzing the received input to recognize emotions, means for adjusting the response based on the recognized emotions, means for decoding the generated response and converting it into text format, and means for returning the converted response to the user. This not only enables the generation of effective responses based on user input, but also enables empathetic responses that take into account the user's emotions.
[0208] "Means of receiving user input" refers to the means by which users input information into the system in the form of text, voice, or other formats.
[0209] "A means of tokenizing received input and converting it into a numerical sequence" refers to a means of dividing text data received from a user into units and converting them into a numerical sequence.
[0210] "Means of inputting a transformed numerical sequence into a generative model to generate a response" refers to means of using a pre-trained model to generate a response based on input data that has been transformed into a numerical sequence.
[0211] "Analysis methods for recognizing emotions from received input" refers to methods for analyzing user input data and identifying the emotions contained within it.
[0212] "Means of adjusting responses based on recognized emotions" refers to means of appropriately adjusting the generated response by taking into account the emotions recognized through analysis.
[0213] "Means for decoding the generated response and converting it to text format" refers to means of converting the numerical response data generated by the system back into text format.
[0214] "Means for sending the converted response back to the user" refers to means of sending the system-generated text-formatted response to the user.
[0215] "Using a pre-trained model" refers to using a model that has been trained on a large amount of data in advance when performing tasks such as tokenization, sentiment recognition, and response generation.
[0216] "Means of providing specific answers" refers to means of providing specific and appropriate responses to user questions using a generative AI model.
[0217] "Methods using natural language processing technology" refer to methods that utilize technologies to analyze user input and recognize the meaning and sentiment of text data.
[0218] "Means for temporarily storing generated responses and making them available for later reference" refers to means for temporarily storing responses generated by the system and making them available for later access and use.
[0219] "Means for displaying the response on the user interface" refers to means for displaying the generated response on the interface so that the user can see it.
[0220] "Means including an emotion engine" refers to means that include an engine for recognizing emotions from user input and generating and adjusting responses based on those emotions.
[0221] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. The system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0222] Software and hardware used
[0223] User side
[0224] The terminal provides a user interface where the user inputs information. This user interface is implemented as a web browser or a dedicated application.
[0225] Server side
[0226] The server has the following main components:
[0227] 1. Tokenizer: This tokenizes natural language input from the user. Specifically, BERT tokenizers or GPT-3 tokenizers are used.
[0228] 2. Emotion Engine: This engine performs analysis to recognize emotions from the received input. This process uses a BERT-based emotion analysis model.
[0229] 3. Generative AI Models: Models that generate appropriate responses from tokenized numerical sequences as input. GPT-3 is a specific example of their use.
[0230] 4. Decoder: Decodes the numerical sequence of the generated response back into text format.
[0231] Data processing and data calculation
[0232] 1. Collecting user input:
[0233] Users enter questions or requests using the terminal's user interface. For example, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0234] The terminal sends this input to the server.
[0235] 2. Input tokenization:
[0236] The server tokenizes the input text and converts it into a sequence of numbers. Using the BERT tokenizer, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" will be converted into the appropriate numbers.
[0237] 3. Emotion recognition:
[0238] The server inputs a tokenized sequence of numbers into the emotion engine, which then recognizes emotions such as "stress." The emotion engine uses a BERT-based model to analyze the emotions.
[0239] 4. Generating the response:
[0240] The server considers the emotions recognized by the emotion engine and generates a corresponding response using a generative AI model. As an example of inputting a prompt into the model, "User is feeling stressed. Generate a sympathetic response." generates the response "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0241] 5. Decoding the response:
[0242] The server decodes the generated numerical response back into text format, creating a user-readable string.
[0243] 6. Sending a response:
[0244] The server sends the decoded response to the terminal, which displays it in the user interface. The user receives the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0245] Specific example
[0246] Studying for certification exams:
[0247] User input: "I'm worried about failing the test. What should I focus on most?"
[0248] Server response: The server recognizes the emotion "worry" and generates the response, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing."
[0249] Acquisition of business knowledge:
[0250] User input: "I'm feeling overwhelmed with my workload. How can I manage it better?"
[0251] Server response: The server recognizes the feeling of being "overwhelmed" and generates the response: "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0252] Thus, the system of the present invention aims to improve the effectiveness of education and training by generating appropriate responses while taking into account the user's emotions.
[0253] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0254] Step 1:
[0255] User input collection
[0256] The user enters text using the terminal's user interface. For example, they might type, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0257] Input: User-input text.
[0258] The terminal sends this input text to the server.
[0259] Output: The user's input text is sent to the server.
[0260] Step 2:
[0261] Input tokenization
[0262] The server receives text sent from the terminal.
[0263] Input: Text entered by the user.
[0264] The server uses a tokenizer to split the input text into tokens and convert them into a sequence of numbers. Specifically, it uses the BERT tokenizer to convert "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" into a sequence of numbers.
[0265] Output: Tokenized data converted into a numerical column.
[0266] Step 3:
[0267] emotion recognition
[0268] The server inputs a tokenized sequence of numbers into the emotion engine.
[0269] Input: A tokenized string of numbers.
[0270] The emotion engine analyzes numerical sequences to recognize emotions such as "stress." It uses a BERT-based emotion recognition model.
[0271] Specific operation: The server inputs the data received as a numerical sequence into an emotion recognition model, and as a result obtains a specific emotion (e.g., stress).
[0272] Output: Recognized emotion (e.g., stress).
[0273] Step 4:
[0274] Response generation
[0275] The server considers the emotions recognized by the emotion engine and uses a generative AI model to generate an appropriate response.
[0276] Input: Recognized emotions and a tokenized numerical sequence.
[0277] The server generates a prompt text and inputs it into the generative AI model. Example: "User is feeling stressed. Generate a sympathetic response."
[0278] Specific operation: Input the prompt text into the generative AI model (e.g., GPT-3), and based on the model, generate a response such as "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0279] Output: A numerical sequence of the generated response.
[0280] Step 5:
[0281] Decoding of the response
[0282] The server decodes the generated numerical sequence response back into text format.
[0283] Input: A numerical sequence of the generated response.
[0284] The server uses a decoder to convert it into a text format response such as "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0285] Specific operation: Convert the numerical sequence data back to text data through the decoder.
[0286] Output: The decoded text format response.
[0287] Step 6:
[0288] Sending back the response
[0289] The server sends the decoded response to the terminal.
[0290] Input: Decoded text response.
[0291] The terminal displays the received response on the user interface.
[0292] Specific operation: The terminal displays the data received from the server on the user interface, allowing the user to see the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0293] Output: The response displayed to the user.
[0294] (Application Example 2)
[0295] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0296] Traditional customer service systems struggled to appropriately recognize and respond to user emotions. Furthermore, the uniform nature of responses prevented them from addressing individual user needs, leading to decreased satisfaction. Additionally, they lacked mechanisms to incorporate past inquiry history and emotionally-based feedback to improve service quality.
[0297] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from the user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for returning the converted response to the user, means for analyzing the user's emotions using an emotion recognition engine, means for adjusting the generated response based on the recognized emotions, means for collecting emotion-based evaluations and using them to improve the system, and means for providing a response by referring to past inquiry history. This makes it possible to provide personalized responses that are attentive to the user's emotions and improve the quality of customer service.
[0298] "Means of receiving input" refers to interface functions that accept input from users, such as text data or audio data.
[0299] "Tokenization" is the process of dividing received text data into smaller units such as words and phrases.
[0300] A "generative model" is a machine learning model that generates an appropriate response based on input data.
[0301] "Decoding" is the process of converting data that has been converted into a series of numbers back into its original text format.
[0302] An "emotion recognition engine" is an algorithm that analyzes and identifies emotions from user input data.
[0303] "Means of adjustment" refers to the function of editing responses generated based on perceived emotions into an optimal form.
[0304] "Means for temporarily saving and making accessible" refers to a function that temporarily saves the generated response and allows access to it later.
[0305] The "displaying means" is a function for displaying the generated response on the user interface.
[0306] The "means for collecting evaluations and using them to improve the system" is a function for collecting feedback from users and utilizing it to improve the performance of the system.
[0307] The "means for providing a response by referring to the inquiry history" is a function for generating an appropriate response based on past inquiry data.
[0308] The customer support system of this invention realizes personalized conversations by receiving input from users, analyzing their emotions using an emotion recognition engine, generating an appropriate response, and sending it back. The system is composed of the following hardware and software.
[0309] Hardware to be used
[0310] Smartphone: A device for users to input, equipped with a camera and a touch screen.
[0311] Server: Performs backend processing and is responsible for tokenizing inputs, generating responses, emotion analysis, etc.
[0312] Software to be used
[0313] Python: Used as the programming language for backend processing.
[0314] TENSORFLOW (registered trademark): A library for executing machine learning models.
[0315] Hugging Face Transformers: A library for natural language processing, especially used for tokenization and generation models.
[0316] Flask: Used as a backend web application framework.
[0317] React Native is a cross-platform development framework for building user interfaces.
[0318] Processing flow
[0319] The server first receives text input from the user. This uses a user interface built with React Native. When the user types into a text box and clicks the submit button, that input is sent to the server.
[0320] The server first tokenizes the received input text, converting it into a sequence of numbers. The Hugging Face Transformers tokenizer is used for this process. The tokenized sequence of numbers is then fed into a generative model built using TensorFlow, which generates the appropriate response.
[0321] The generated response is output in the form of a numerical sequence, which is then decoded back into text format. The decoded response is then refined by the emotion recognition engine. The emotion recognition engine analyzes the user's emotions from the input data and fine-tunes the response to provide the most appropriate response.
[0322] The final generated response is sent back to the user through a user interface built with React Native. The user can then view the response on their smartphone screen.
[0323] Specific example
[0324] When a user types "I'm feeling very stressed about my upcoming exams. Can you give me some advice?", the emotion recognition engine detects "stress," and the generative model generates a response such as "Take a deep breath, study in small increments, take breaks, and get enough sleep."
[0325] In this way, the system provides responses that are sensitive to the user's emotions, resulting in a more satisfying customer service experience. Furthermore, the collected evaluation data will be used to improve the system.
[0326] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0327] Step 1:
[0328] Users input information through a smartphone application. Specifically, they enter questions or inquiries into text boxes provided in the user interface and click the submit button.
[0329] Input: Text entered by the user (e.g., "I'm feeling very stressed about my upcoming exams. Can you give me some advice?")
[0330] Output: Text data sent to the server
[0331] Step 2:
[0332] The server receives user input. The received text is tokenized using the Hugging Face Transformers tokenizer and converted into a numerical column.
[0333] Input: Text data submitted by the user
[0334] Output: Tokenized numeric sequence
[0335] Specific actions:
[0336] python
[0337] from transformers import AutoTokenizer
[0338] tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
[0339] tokens = tokenizer.encode(user_input)
[0340] Step 3:
[0341] The server inputs a tokenized sequence of numbers into a generative model and generates an appropriate response. A TensorFlow-based AI model is used for the generative model.
[0342] Input: Tokenized numeric sequence
[0343] Output: Numerical sequence of the generated response
[0344] Specific actions:
[0345] python
[0346] from transformers import GPT2LMHeadModel, GPT2Tokenizer
[0347] model = GPT2LMHeadModel.from_pretrained("gpt2")
[0348] input_ids = tokenizer.encode("I'm feeling very stressed about my upcoming exams.", return_tensors='pt')
[0349] output = model.generate(input_ids, max_length=150)
[0350] response = tokenizer.decode(output[0], skip_special_tokens=True)
[0351] Step 4:
[0352] The server decodes the numerical sequence obtained from the generative model and converts it into text format.
[0353] Input: Numerical sequence of the generated response
[0354] Output: Decoded text response
[0355] Specific actions:
[0356] python
[0357] response_text = tokenizer.decode(output[0], skip_special_tokens=True)
[0358] Step 5:
[0359] The server uses an emotion recognition engine to analyze the user's input data and recognize their emotions. The emotion engine employs natural language processing technology.
[0360] Input: User's original input text
[0361] Output: Recognized emotion (e.g., "stress")
[0362] Specific actions:
[0363] python
[0364] from transformers import pipeline
[0365] emotion_classifier = pipeline("sentiment-analysis")
[0366] emotion = emotion_classifier(user_input)[0]
[0367] Step 6:
[0368] The server adjusts its response based on the emotions it perceives. For example, if the emotion is "stress," it adjusts the response to provide the best possible advice for the user.
[0369] Input: Recognized emotion, decoded text response
[0370] Output: Sentiment-based adjusted response text
[0371] Specific actions:
[0372] python
[0373] if emotion['label'] == 'stressed':
[0374] response_text += " Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0375] Step 7:
[0376] The server sends the final response back to the user through a user interface built with React Native. The user then checks the response on their smartphone screen.
[0377] Input: Adjusted response text
[0378] Output: Response displayed on the user interface
[0379] Specific actions:
[0380] The server returns the adjusted text as an HTTP response, which the React Native application receives and displays.
[0381] 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.
[0382] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0383] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0384] [Second Embodiment]
[0385] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0386] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0387] 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).
[0388] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0389] 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.
[0390] 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).
[0391] 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.
[0392] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0393] 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.
[0394] 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.
[0395] 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.
[0396] 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".
[0397] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0398] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input. The generated response is then decoded and converted into a user-readable text format. Finally, the converted response is sent back to the user.
[0399] Users submit questions and requests to the system through an input form. For example, when practicing English conversation, a user might type "How do I ask for directions in English?". This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server might generate a response such as "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'"
[0400] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0401] As a concrete example, when studying for a certification exam, if a user enters the question "What are the principles of Lean Manufacturing?", the server generates a response such as "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection," and sends it back to the user. Similarly, when acquiring business knowledge, in response to the question "What are the key steps in project management?", the server can return a response such as "The key steps in project management are initiation, planning, execution, monitoring, and closure."
[0402] This invention provides a system that improves learning effectiveness and work efficiency by providing users with high-quality feedback and appropriate questions. This system allows users to receive high-quality training wherever they are, compensating for a lack of human interaction.
[0403] The following describes the processing flow.
[0404] Step 1:
[0405] User
[0406] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "What is the best way to learn a new language?"
[0407] Step 2:
[0408] terminal
[0409] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[0410] Step 3:
[0411] server
[0412] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0413] Step 4:
[0414] server
[0415] The server tokenizes the user's input text. It uses a pre-trained tokenizer to convert the text into a sequence of numbers.
[0416] Step 5:
[0417] server
[0418] The server inputs a tokenized sequence of numbers into a generative model. Using the pre-trained generative model, it generates an appropriate response to the user's input.
[0419] Step 6:
[0420] server
[0421] The server decodes the numerical sequence of responses obtained from the generative model back into text format, thereby generating a user-readable string.
[0422] Step 7:
[0423] server
[0424] The server converts the generated text-formatted response into JSON format and sends it back to the terminal as an HTTP response.
[0425] Step 8:
[0426] terminal
[0427] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0428] Step 9:
[0429] User
[0430] The user confirms the response displayed on the device's user interface. For example, it might say, "The best way to learn a new language is through immersion, practicing regularly, and using a variety of resources."
[0431] The above describes the specific processing flow of the present invention. Each step, from receiving user input to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality feedback.
[0432] (Example 1)
[0433] 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."
[0434] Traditional interactive learning and training systems require appropriate and rapid responses to user questions, but the necessary technical means to achieve this were not readily available. Furthermore, the quality and adaptability of the generated responses were insufficient, making it difficult to accommodate real-time dialogue and individual learning needs.
[0435] 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.
[0436] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for sending the converted response back to the user, means for providing a user interface and sending user input to the server, and means for displaying the generated response on the user interface. This enables the user to receive high-quality and appropriate feedback in real time, and enables training tailored to specific learning or work objectives.
[0437] "Means of receiving user input" refers to an interface that allows users to input questions or requests to the system.
[0438] "A means of tokenizing received input and converting it into a numerical sequence" refers to the process of dividing text data received from a user into units of words or sentences and converting them into numerical sequences.
[0439] "A means of inputting a transformed numerical sequence into a generative model to generate a response" refers to the process of inputting tokenized data, converted into a numerical sequence, into a generative AI model to generate an appropriate response.
[0440] "Means for decoding the generated response and converting it into text format" refers to the process of converting numerical data output by a generative AI model into a text format that is understandable to humans.
[0441] "Means of sending the converted response back to the user" refers to the process of sending the response, converted into text format, to the user.
[0442] "A means of providing a user interface and sending user input to a server" refers to the process of providing an interface for sending information entered by a user to a server.
[0443] "Means for displaying the generated response on the user interface" refers to the process of visually displaying the response sent from the server to the user.
[0444] "A means of using a pre-trained model when tokenizing received user input" refers to the process of using a pre-trained tokenizer when tokenizing user input.
[0445] "A means of providing specific answers to user questions based on the generation of a generative model" refers to a process of providing specific and useful answers to users based on the data output by a generative AI model.
[0446] "A means of inputting a numerical sequence into a generative model in order to generate an appropriate response based on user input" refers to the process of converting user input into a numerical sequence and inputting it into a generative AI model to generate an appropriate response.
[0447] "Means for temporarily saving and making available for later reference the generated response in the process of generating a response to user input" refers to the process of temporarily saving the generated response and making it available for later reference as needed.
[0448] "Means of customizing responses according to specific uses such as acquiring business knowledge or studying for qualification exams" refers to the process of customizing responses generated according to specific learning or business objectives.
[0449] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0450] The device used by the user is provided with a user interface where the user enters questions or requests. The device receives this input and sends it to the server. The user interface typically uses an application that runs on a web browser or a mobile application.
[0451] When the server receives input from a user, it first tokenizes that input and converts it into a sequence of numbers. A pre-trained tokenizer (e.g., BERT tokenizer) is used for this tokenization. The tokenized data is then input as a sequence of numbers into a generative AI model (e.g., GPT-3).
[0452] The generative AI model generates an appropriate response based on the input numerical sequence. The generated response is output as a numerical sequence, which is then decoded (e.g., using the Beam Search algorithm) and converted into text format. The generated text-formatted response is sent from the server to the terminal and displayed in the user interface.
[0453] As a concrete example, when practicing English conversation, the user might type "How do I ask for directions in English?". The server then generates an appropriate response, "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'", and displays this on the user interface.
[0454] Furthermore, it can be applied to studying for certification exams and acquiring business knowledge. When studying for certification exams, if a user inputs the question "What are the principles of Lean Manufacturing?", the server will generate the response "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection." When acquiring business knowledge, in response to the question "What are the key steps in project management?", the response "The key steps in project management are initiation, planning, execution, monitoring, and closure." is returned.
[0455] Examples of prompt messages include the following:
[0456] "What are the main components of effective communication in a professional setting?"
[0457] "How can I improve my time management skills?"
[0458] "Can you explain the concept of blockchain technology?"
[0459] This allows the system to provide users with high-quality feedback and appropriate questions, improving learning effectiveness and work efficiency. Furthermore, the user interface is accessible from anywhere, enabling high-quality training regardless of location.
[0460] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0461] Step 1: Receiving user input
[0462] The user enters questions or requests through the terminal's user interface. For example, if the user enters "How do I ask for directions in English?" and clicks the send button, the terminal receives this input. Input data (e.g., "How do I ask for directions in English?") is generated and sent to the server.
[0463] Step 2: Input reception and tokenization on the server
[0464] The server receives user input data sent from the terminal. The received input (e.g., "How do I ask for directions in English?") is passed to the tokenizer, which then tokenizes it. A pre-trained tokenizer (e.g., the BERT tokenizer) is used for this process. Tokenized data (a sequence of numbers) is then generated.
[0465] Step 3: Inputting numerical sequences into the generative model
[0466] The server inputs a tokenized sequence of numbers (tokens) into a generative AI model (e.g., GPT-3). The generative AI model receives the sequence of numbers as input and processes it to generate an appropriate response. At this stage, the response is also output as a sequence of numbers (the sequence of numbers in the generated response).
[0467] Step 4: Decode the response
[0468] The server decodes the numerical sequence output from the generated AI model. It passes the numerical sequence of the response to the decoder, which converts it into text format. The decoded text-formatted response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then generated.
[0469] Step 5: Send back the response
[0470] The server sends a decoded text response to the terminal. The terminal receives this response and displays it on the user interface. The displayed response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then provided to the user.
[0471] Step 6: Display the response
[0472] The terminal displays the response sent from the server on the user interface. The user can view the displayed response and use it for learning and training. Specifically, this enables high-quality training tailored to studying for certification exams or acquiring job-related knowledge.
[0473] (Application Example 1)
[0474] 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."
[0475] In autonomous vehicles, it is crucial for drivers to obtain real-time navigation information and receive appropriate responses to questions about the vehicle's status in order to ensure safe and comfortable driving. However, conventional systems lack intuitive and rapid means of obtaining information while driving, which can lead to stressful driving. Furthermore, systems that require manual operation may compromise safety. There is a need to solve these problems and enhance navigation assistance while driving.
[0476] 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.
[0477] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for displaying the converted response on a user interface, means for supporting real-time navigation during driving, means for acquiring user input by speech recognition, means for converting the acquired speech input into text, and means for outputting the converted response as speech. As a result, the driver can input questions by voice and immediately receive appropriate responses, enabling safe and comfortable driving.
[0478] "User input" refers to the information and instructions that the system receives from the user.
[0479] "Tokenization" refers to the process of splitting input text into words and phrases and converting them into numerical sequences.
[0480] A "numerical sequence" refers to a sequence of numbers obtained by converting tokenized text into numerical values.
[0481] A "generative model" refers to a machine learning model used to generate responses based on user input.
[0482] "Response" refers to the answer or guidance provided by a generative model in response to user input.
[0483] "Decoding" refers to the process of converting a numerical response generated by a generative model into a text format that the user can understand.
[0484] "User interface" refers to the means of input and display for a user to interact with a system.
[0485] "Real-time navigation while driving" refers to providing users of autonomous vehicles with immediate route guidance and information tailored to the current driving conditions.
[0486] "Speech recognition" refers to a technology that analyzes a user's voice input and converts it into text format.
[0487] "Voice input" refers to information that a user speaks to the system through a microphone.
[0488] "Voice output" refers to delivering a text-based response to the user using speech synthesis technology.
[0489] The system for carrying out this invention receives user input, analyzes it, generates an appropriate response, and provides safe and comfortable navigation assistance while driving. The system mainly consists of a terminal equipped with a user interface for receiving input, a server for processing the input and generating a response, and a speech recognition and speech output device for outputting the generated response.
[0490] The server has the functionality to tokenize user input and convert it into a sequence of numbers. A pre-trained model is used for tokenization. The tokenized sequence of numbers is then input into a generative AI model to generate an appropriate response. Specifically, a natural language processing model based on large-scale training data such as GPT-3 is used as the generative model. The generated response is decoded and converted into a text format that the user can understand.
[0491] The generated responses are displayed to the user through a user interface. This user interface could be implemented, for example, on a smartphone or in-car display. Furthermore, the system can be used while driving, recognizing voice input from the user and providing real-time responses to voice questions. For speech recognition, for example, the Google Speech-to-Text API is used. The responses are then returned to the user in voice using speech synthesis technology. Speech synthesis libraries such as pyttsx3 are used for this voice output.
[0492] As a concrete example of its use, if a user asks "Where is the next interchange?" while driving, the system converts the speech to text, then tokenizes it into a sequence of numbers. A generative model then generates a response based on this sequence of numbers, producing the answer "The next interchange is 3 kilometers ahead on the right." This answer is then decoded into text format and provided to the user verbally using a speech output system.
[0493] Examples of prompt statements include:
[0494] "What is the shortest route at this point?"
[0495] "Where is the nearest gas station?"
[0496] "What should I do if my engine is overheating?"
[0497] This system allows drivers to ask questions by voice and receive immediate, appropriate responses, enabling navigation assistance that improves safety and comfort.
[0498] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0499] Step 1:
[0500] The user makes a voice input by speaking into the microphone on their smartphone or in-car display. The input at this time is a specific question, such as "Where is the next interchange?"
[0501] Step 2:
[0502] The device recognizes the speech and converts it to text using the Google Speech-to-Text API. This process analyzes the speech signal and generates corresponding text data. The input is a speech signal, and the output is text data.
[0503] Step 3:
[0504] The terminal sends the converted text data to the server. The input is the converted text data, and the output is a request containing the text data.
[0505] Step 4:
[0506] The server tokenizes the received text data and converts it into a sequence of numbers. A pre-trained natural language processing model is used to convert input words into their corresponding numbers. The input is text data, and the output is a sequence of numbers.
[0507] Step 5:
[0508] The server inputs a numerical sequence into a generating AI model (e.g., GPT-3) and generates an appropriate response. The generating AI model analyzes the input numerical sequence and predicts the optimal response. The input is a numerical sequence, and the output is response data in numerical sequence format.
[0509] Step 6:
[0510] The server decodes the generated numerical response data and converts it to text format. This process converts the numerical data back into words and sentences. The input is numerical response data, and the output is text response data.
[0511] Step 7:
[0512] The server sends the generated text-formatted response data to the terminal. The input is the text-formatted response data, and the output is a response containing the text data.
[0513] Step 8:
[0514] The terminal receives text-based response data, converts it into speech using a speech synthesis library (e.g., pyttsx3), and outputs it through the speaker. The input is text data, and the output is speech data.
[0515] In this way, users can ask questions by voice and receive real-time voice responses. This enables safe and efficient navigation assistance.
[0516] 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.
[0517] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. This system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0518] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input.
[0519] Furthermore, this invention incorporates an emotion engine that recognizes emotions from user input. The emotion engine analyzes the user's emotions using natural language processing technology. Based on the recognized emotions, the server adjusts the generated response to produce a more appropriate and empathetic response. In this way, the response becomes more attuned to the user's emotions, enabling a more personalized dialogue.
[0520] The generated response is decoded, converted back to text format, and then sent back to the user. The server decodes the numerical sequence of the response obtained from the generative model again to generate a user-readable string. Finally, it sends the transformed response back to the user.
[0521] Users submit questions and requests to the system through an input form. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server uses an emotion engine to recognize the user's "stress" and generates a response such as, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0522] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0523] As a concrete example, when studying for a certification exam, if a user inputs the question, "I'm worried about failing the test. What should I focus on most?", the server uses its emotion engine to recognize "worry" and generates a response such as, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing," which is then sent back to the user. Similarly, when acquiring business knowledge, if a user asks, "I'm feeling overwhelmed with my workload. How can I manage it better?", the server uses its emotion engine to recognize the emotion of "being overwhelmed" and can return a response such as, "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0524] In this way, the present invention provides a system that improves learning effectiveness and work efficiency by generating responses that take into account the user's emotions, in addition to providing users with high-quality feedback and appropriate questions. By introducing an emotion engine, users can receive more empathetic responses, compensating for the lack of human interaction.
[0525] The following describes the processing flow.
[0526] Step 1:
[0527] User
[0528] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0529] Step 2:
[0530] terminal
[0531] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[0532] Step 3:
[0533] server
[0534] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0535] Step 4:
[0536] server
[0537] The server sends the input text to the emotion engine to recognize the user's emotions. For example, from the input "I'm feeling very stressed about my upcoming exams," the emotion "stressed" is recognized.
[0538] Step 5:
[0539] server
[0540] The server tokenizes the received input text and converts it into a sequence of numbers. It uses a pre-trained tokenizer (e.g., a GPT-3 tokenizer) to convert the text into a sequence of numbers.
[0541] Step 6:
[0542] server
[0543] The server inputs a tokenized sequence of numbers into a generative model and generates a response. The generative model (e.g., a GPT-3 model) is used to generate an appropriate response to user input.
[0544] Step 7:
[0545] server
[0546] The server decodes the generated response and converts it back to text format. It decodes the numerical sequence obtained from the generative model to generate a user-readable string.
[0547] Step 8:
[0548] server
[0549] The server sends the decoded response to the emotion engine, which then fine-tunes the response based on the recognized emotion. For example, if "stress" is detected, the response is adjusted to better reflect the user's emotions.
[0550] Step 9:
[0551] server
[0552] The server converts the final response into JSON format and sends it back to the terminal as an HTTP response.
[0553] Step 10:
[0554] terminal
[0555] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0556] Step 11:
[0557] User
[0558] The user checks the response displayed on the device's user interface. For example, it might say, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0559] The above describes the specific processing flow of the present invention. Each step, from receiving user input and recognizing emotions to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality and empathetic feedback.
[0560] (Example 2)
[0561] 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".
[0562] Traditional interactive systems are required to generate appropriate responses to user input, but providing responses that take emotions into account has been difficult. Responses that ignore user emotions sometimes decrease user satisfaction and reduce the effectiveness of education and training. Therefore, there is a need for a system that recognizes user emotions and generates appropriate responses.
[0563] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0564] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for analyzing the received input to recognize emotions, means for adjusting the response based on the recognized emotions, means for decoding the generated response and converting it into text format, and means for returning the converted response to the user. This not only enables the generation of effective responses based on user input, but also enables empathetic responses that take into account the user's emotions.
[0565] "Means of receiving user input" refers to the means by which users input information into the system in the form of text, voice, or other formats.
[0566] "A means of tokenizing received input and converting it into a numerical sequence" refers to a means of dividing text data received from a user into units and converting them into a numerical sequence.
[0567] "Means of inputting a transformed numerical sequence into a generative model to generate a response" refers to means of using a pre-trained model to generate a response based on input data that has been transformed into a numerical sequence.
[0568] "Analysis methods for recognizing emotions from received input" refers to methods for analyzing user input data and identifying the emotions contained within it.
[0569] "Means of adjusting responses based on recognized emotions" refers to means of appropriately adjusting the generated response by taking into account the emotions recognized through analysis.
[0570] "Means for decoding the generated response and converting it to text format" refers to means of converting the numerical response data generated by the system back into text format.
[0571] "Means for sending the converted response back to the user" refers to means of sending the system-generated text-formatted response to the user.
[0572] "Using a pre-trained model" refers to using a model that has been trained on a large amount of data in advance when performing tasks such as tokenization, sentiment recognition, and response generation.
[0573] "Means of providing specific answers" refers to means of providing specific and appropriate responses to user questions using a generative AI model.
[0574] "Methods using natural language processing technology" refer to methods that utilize technologies to analyze user input and recognize the meaning and sentiment of text data.
[0575] "Means for temporarily storing generated responses and making them available for later reference" refers to means for temporarily storing responses generated by the system and making them available for later access and use.
[0576] "Means for displaying the response on the user interface" refers to means for displaying the generated response on the interface so that the user can see it.
[0577] "Means including an emotion engine" refers to means that include an engine for recognizing emotions from user input and generating and adjusting responses based on those emotions.
[0578] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. The system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0579] Software and hardware used
[0580] User side
[0581] The terminal provides a user interface where the user inputs information. This user interface is implemented as a web browser or a dedicated application.
[0582] Server side
[0583] The server has the following main components:
[0584] 1. Tokenizer: This tokenizes natural language input from the user. Specifically, BERT tokenizers or GPT-3 tokenizers are used.
[0585] 2. Emotion Engine: This engine performs analysis to recognize emotions from the received input. This process uses a BERT-based emotion analysis model.
[0586] 3. Generative AI Models: Models that generate appropriate responses from tokenized numerical sequences as input. GPT-3 is a specific example of their use.
[0587] 4. Decoder: Decodes the numerical sequence of the generated response back into text format.
[0588] Data processing and data calculation
[0589] 1. Collecting user input:
[0590] Users enter questions or requests using the terminal's user interface. For example, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0591] The terminal sends this input to the server.
[0592] 2. Input tokenization:
[0593] The server tokenizes the input text and converts it into a sequence of numbers. Using the BERT tokenizer, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" will be converted into the appropriate numbers.
[0594] 3. Emotion recognition:
[0595] The server inputs a tokenized sequence of numbers into the emotion engine, which then recognizes emotions such as "stress." The emotion engine uses a BERT-based model to analyze the emotions.
[0596] 4. Generating the response:
[0597] The server considers the emotions recognized by the emotion engine and generates a corresponding response using a generative AI model. As an example of inputting a prompt into the model, "User is feeling stressed. Generate a sympathetic response." generates the response "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0598] 5. Decoding the response:
[0599] The server decodes the generated numerical response back into text format, creating a user-readable string.
[0600] 6. Sending a response:
[0601] The server sends the decoded response to the terminal, which displays it in the user interface. The user receives the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0602] Specific example
[0603] Studying for certification exams:
[0604] User input: "I'm worried about failing the test. What should I focus on most?"
[0605] Server response: The server recognizes the emotion "worry" and generates the response, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing."
[0606] Acquisition of business knowledge:
[0607] User input: "I'm feeling overwhelmed with my workload. How can I manage it better?"
[0608] Server response: The server recognizes the feeling of being "overwhelmed" and generates the response: "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0609] Thus, the system of the present invention aims to improve the effectiveness of education and training by generating appropriate responses while taking into account the user's emotions.
[0610] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0611] Step 1:
[0612] User input collection
[0613] The user enters text using the terminal's user interface. For example, they might type, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0614] Input: User-input text.
[0615] The terminal sends this input text to the server.
[0616] Output: The user's input text is sent to the server.
[0617] Step 2:
[0618] Input tokenization
[0619] The server receives text sent from the terminal.
[0620] Input: Text entered by the user.
[0621] The server uses a tokenizer to split the input text into tokens and convert them into a sequence of numbers. Specifically, it uses the BERT tokenizer to convert "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" into a sequence of numbers.
[0622] Output: Tokenized data converted into a numerical column.
[0623] Step 3:
[0624] emotion recognition
[0625] The server inputs a tokenized sequence of numbers into the emotion engine.
[0626] Input: A tokenized string of numbers.
[0627] The emotion engine analyzes numerical sequences to recognize emotions such as "stress." It uses a BERT-based emotion recognition model.
[0628] Specific operation: The server inputs the data received as a numerical sequence into an emotion recognition model, and as a result obtains a specific emotion (e.g., stress).
[0629] Output: Recognized emotion (e.g., stress).
[0630] Step 4:
[0631] Response generation
[0632] The server considers the emotions recognized by the emotion engine and uses a generative AI model to generate an appropriate response.
[0633] Input: Recognized emotions and a tokenized numerical sequence.
[0634] The server generates a prompt message and inputs it into the AI model. Example: "User is feeling stressed. Generate a sympathetic response."
[0635] Specific operation: A prompt sentence is input to a generative AI model (e.g., GPT-3), and the model generates a response such as "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0636] Output: A numerical sequence of the generated response.
[0637] Step 5:
[0638] Decoding the response
[0639] The server decodes the generated numerical response back into text format.
[0640] Input: A numerical sequence of the generated response.
[0641] The server uses a decoder to convert the response into text format: "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0642] Specific operation: Converts numerical data back into text data via a decoder.
[0643] Output: Decoded text response.
[0644] Step 6:
[0645] Sending a response
[0646] The server sends the decoded response to the terminal.
[0647] Input: Decoded text response.
[0648] The terminal displays the received response on the user interface.
[0649] Specific operation: The terminal displays the data received from the server on the user interface, allowing the user to see the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0650] Output: The response displayed to the user.
[0651] (Application Example 2)
[0652] 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."
[0653] Traditional customer service systems struggled to appropriately recognize and respond to user emotions. Furthermore, the uniform nature of responses prevented them from addressing individual user needs, leading to decreased satisfaction. Additionally, they lacked mechanisms to incorporate past inquiry history and emotionally-based feedback to improve service quality.
[0654] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from the user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for returning the converted response to the user, means for analyzing the user's emotions using an emotion recognition engine, means for adjusting the generated response based on the recognized emotions, means for collecting emotion-based evaluations and using them to improve the system, and means for providing a response by referring to past inquiry history. This makes it possible to provide personalized responses that are attentive to the user's emotions and improve the quality of customer service.
[0655] "Means of receiving input" refers to interface functions that accept input from users, such as text data or audio data.
[0656] "Tokenization" is the process of dividing received text data into smaller units such as words and phrases.
[0657] A "generative model" is a machine learning model that generates an appropriate response based on input data.
[0658] "Decoding" is the process of converting data that has been converted into a series of numbers back into its original text format.
[0659] An "emotion recognition engine" is an algorithm that analyzes and identifies emotions from user input data.
[0660] "Means of adjustment" refers to the function of editing responses generated based on perceived emotions into an optimal form.
[0661] "Means for temporarily saving and making accessible" refers to a function that temporarily saves the generated response and allows access to it later.
[0662] "Means of display" refers to a function for displaying the generated response on the user interface.
[0663] "Means for collecting evaluations and using them to improve the system" refers to a function that collects user feedback and uses it to improve the system's performance.
[0664] "Means of providing responses by referring to inquiry history" refers to a function for generating appropriate responses based on past inquiry data.
[0665] The customer support system of this invention achieves personalized dialogue by receiving input from the user, analyzing that emotion using an emotion recognition engine, and generating and returning an appropriate response. The system is composed of the following hardware and software.
[0666] Hardware to use
[0667] Smartphone: A device used by users for input, equipped with a camera and touchscreen.
[0668] Server: Performs backend processing, handling tasks such as input tokenization, response generation, and sentiment analysis.
[0669] Software to use
[0670] Python: Used as a programming language for backend processing.
[0671] TensorFlow is a library for running machine learning models.
[0672] Hugging Face Transformers: A library for natural language processing, particularly used for tokenization and generative models.
[0673] Flask: Used as a backend web application framework.
[0674] React Native is a cross-platform development framework for building user interfaces.
[0675] Processing flow
[0676] The server first receives text input from the user. This uses a user interface built with React Native. When the user types into a text box and clicks the submit button, that input is sent to the server.
[0677] The server first tokenizes the received input text, converting it into a sequence of numbers. The Hugging Face Transformers tokenizer is used for this process. The tokenized sequence of numbers is then fed into a generative model built using TensorFlow, which generates the appropriate response.
[0678] The generated response is output in the form of a numerical sequence, which is then decoded back into text format. The decoded response is then refined by the emotion recognition engine. The emotion recognition engine analyzes the user's emotions from the input data and fine-tunes the response to provide the most appropriate response.
[0679] The final generated response is sent back to the user through a user interface built with React Native. The user can then view the response on their smartphone screen.
[0680] Specific example
[0681] When a user types "I'm feeling very stressed about my upcoming exams. Can you give me some advice?", the emotion recognition engine detects "stress," and the generative model generates a response such as "Take a deep breath, study in small increments, take breaks, and get enough sleep."
[0682] In this way, the system provides responses that are sensitive to the user's emotions, resulting in a more satisfying customer service experience. Furthermore, the collected evaluation data will be used to improve the system.
[0683] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0684] Step 1:
[0685] Users input information through a smartphone application. Specifically, they enter questions or inquiries into text boxes provided in the user interface and click the submit button.
[0686] Input: Text entered by the user (e.g., "I'm feeling very stressed about my upcoming exams. Can you give me some advice?")
[0687] Output: Text data sent to the server
[0688] Step 2:
[0689] The server receives user input. The received text is tokenized using the Hugging Face Transformers tokenizer and converted into a numerical column.
[0690] Input: Text data submitted by the user
[0691] Output: Tokenized numeric sequence
[0692] Specific actions:
[0693] python
[0694] from transformers import AutoTokenizer
[0695] tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
[0696] tokens = tokenizer.encode(user_input)
[0697] Step 3:
[0698] The server inputs a tokenized sequence of numbers into a generative model and generates an appropriate response. A TensorFlow-based AI model is used for the generative model.
[0699] Input: Tokenized numeric sequence
[0700] Output: Numerical sequence of the generated response
[0701] Specific actions:
[0702] python
[0703] from transformers import GPT2LMHeadModel, GPT2Tokenizer
[0704] model = GPT2LMHeadModel.from_pretrained("gpt2")
[0705] input_ids = tokenizer.encode("I'm feeling very stressed about my upcoming exams.", return_tensors='pt')
[0706] output = model.generate(input_ids, max_length=150)
[0707] response = tokenizer.decode(output[0], skip_special_tokens=True)
[0708] Step 4:
[0709] The server decodes the numerical sequence obtained from the generative model and converts it into text format.
[0710] Input: Numerical sequence of the generated response
[0711] Output: Decoded text response
[0712] Specific actions:
[0713] python
[0714] response_text = tokenizer.decode(output[0], skip_special_tokens=True)
[0715] Step 5:
[0716] The server uses an emotion recognition engine to analyze the user's input data and recognize their emotions. The emotion engine employs natural language processing technology.
[0717] Input: User's original input text
[0718] Output: Recognized emotion (e.g., "stress")
[0719] Specific actions:
[0720] python
[0721] from transformers import pipeline
[0722] emotion_classifier = pipeline("sentiment-analysis")
[0723] emotion = emotion_classifier(user_input)[0]
[0724] Step 6:
[0725] The server adjusts its response based on the emotions it perceives. For example, if the emotion is "stress," it adjusts the response to provide the best possible advice for the user.
[0726] Input: Recognized emotion, decoded text response
[0727] Output: Sentiment-based adjusted response text
[0728] Specific actions:
[0729] python
[0730] if emotion['label'] == 'stressed':
[0731] response_text += " Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0732] Step 7:
[0733] The server sends the final response back to the user through a user interface built with React Native. The user then checks the response on their smartphone screen.
[0734] Input: Adjusted response text
[0735] Output: Response displayed on the user interface
[0736] Specific actions:
[0737] The server returns the adjusted text as an HTTP response, which the React Native application receives and displays.
[0738] 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.
[0739] 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.
[0740] 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.
[0741] [Third Embodiment]
[0742] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0743] 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.
[0744] 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).
[0745] 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.
[0746] 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.
[0747] 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).
[0748] 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.
[0749] 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.
[0750] 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.
[0751] 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.
[0752] 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.
[0753] 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".
[0754] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0755] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input. The generated response is then decoded and converted into a user-readable text format. Finally, the converted response is sent back to the user.
[0756] Users submit questions and requests to the system through an input form. For example, when practicing English conversation, a user might type "How do I ask for directions in English?". This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server might generate a response such as "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'"
[0757] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0758] As a concrete example, when studying for a certification exam, if a user enters the question "What are the principles of Lean Manufacturing?", the server generates a response such as "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection," and sends it back to the user. Similarly, when acquiring business knowledge, in response to the question "What are the key steps in project management?", the server can return a response such as "The key steps in project management are initiation, planning, execution, monitoring, and closure."
[0759] This invention provides a system that improves learning effectiveness and work efficiency by providing users with high-quality feedback and appropriate questions. This system allows users to receive high-quality training wherever they are, compensating for a lack of human interaction.
[0760] The following describes the processing flow.
[0761] Step 1:
[0762] User
[0763] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "What is the best way to learn a new language?"
[0764] Step 2:
[0765] terminal
[0766] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[0767] Step 3:
[0768] server
[0769] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0770] Step 4:
[0771] server
[0772] The server tokenizes the user's input text. It uses a pre-trained tokenizer to convert the text into a sequence of numbers.
[0773] Step 5:
[0774] server
[0775] The server inputs a tokenized sequence of numbers into a generative model. Using the pre-trained generative model, it generates an appropriate response to the user's input.
[0776] Step 6:
[0777] server
[0778] The server decodes the numerical sequence of responses obtained from the generative model back into text format, thereby generating a user-readable string.
[0779] Step 7:
[0780] server
[0781] The server converts the generated text-formatted response into JSON format and sends it back to the terminal as an HTTP response.
[0782] Step 8:
[0783] terminal
[0784] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0785] Step 9:
[0786] User
[0787] The user confirms the response displayed on the device's user interface. For example, it might say, "The best way to learn a new language is through immersion, practicing regularly, and using a variety of resources."
[0788] The above describes the specific processing flow of the present invention. Each step, from receiving user input to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality feedback.
[0789] (Example 1)
[0790] 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."
[0791] Traditional interactive learning and training systems require appropriate and rapid responses to user questions, but the necessary technical means to achieve this were not readily available. Furthermore, the quality and adaptability of the generated responses were insufficient, making it difficult to accommodate real-time dialogue and individual learning needs.
[0792] 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.
[0793] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for sending the converted response back to the user, means for providing a user interface and sending user input to the server, and means for displaying the generated response on the user interface. This enables the user to receive high-quality and appropriate feedback in real time, and enables training tailored to specific learning or work objectives.
[0794] "Means of receiving user input" refers to an interface that allows users to input questions or requests to the system.
[0795] "A means of tokenizing received input and converting it into a numerical sequence" refers to the process of dividing text data received from a user into units of words or sentences and converting them into numerical sequences.
[0796] "A means of inputting a transformed numerical sequence into a generative model to generate a response" refers to the process of inputting tokenized data, converted into a numerical sequence, into a generative AI model to generate an appropriate response.
[0797] "Means for decoding the generated response and converting it into text format" refers to the process of converting numerical data output by a generative AI model into a text format that is understandable to humans.
[0798] "Means of sending the converted response back to the user" refers to the process of sending the response, converted into text format, to the user.
[0799] "A means of providing a user interface and sending user input to a server" refers to the process of providing an interface for sending information entered by a user to a server.
[0800] "Means for displaying the generated response on the user interface" refers to the process of visually displaying the response sent from the server to the user.
[0801] "A means of using a pre-trained model when tokenizing received user input" refers to the process of using a pre-trained tokenizer when tokenizing user input.
[0802] "A means of providing specific answers to user questions based on the generation of a generative model" refers to a process of providing specific and useful answers to users based on the data output by a generative AI model.
[0803] "A means of inputting a numerical sequence into a generative model in order to generate an appropriate response based on user input" refers to the process of converting user input into a numerical sequence and inputting it into a generative AI model to generate an appropriate response.
[0804] "Means for temporarily saving and making available for later reference the generated response in the process of generating a response to user input" refers to the process of temporarily saving the generated response and making it available for later reference as needed.
[0805] "Means of customizing responses according to specific uses such as acquiring business knowledge or studying for qualification exams" refers to the process of customizing responses generated according to specific learning or business objectives.
[0806] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[0807] The device used by the user is provided with a user interface where the user enters questions or requests. The device receives this input and sends it to the server. The user interface typically uses an application that runs on a web browser or a mobile application.
[0808] When the server receives input from a user, it first tokenizes that input and converts it into a sequence of numbers. A pre-trained tokenizer (e.g., BERT tokenizer) is used for this tokenization. The tokenized data is then input as a sequence of numbers into a generative AI model (e.g., GPT-3).
[0809] The generative AI model generates an appropriate response based on the input numerical sequence. The generated response is output as a numerical sequence, which is then decoded (e.g., using the Beam Search algorithm) and converted into text format. The generated text-formatted response is sent from the server to the terminal and displayed in the user interface.
[0810] As a concrete example, when practicing English conversation, the user might type "How do I ask for directions in English?". The server then generates an appropriate response, "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'", and displays this on the user interface.
[0811] Furthermore, it can be applied to studying for certification exams and acquiring business knowledge. When studying for certification exams, if a user inputs the question "What are the principles of Lean Manufacturing?", the server will generate the response "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection." When acquiring business knowledge, in response to the question "What are the key steps in project management?", the response "The key steps in project management are initiation, planning, execution, monitoring, and closure." is returned.
[0812] Examples of prompt messages include the following:
[0813] "What are the main components of effective communication in a professional setting?"
[0814] "How can I improve my time management skills?"
[0815] "Can you explain the concept of blockchain technology?"
[0816] This allows the system to provide users with high-quality feedback and appropriate questions, improving learning effectiveness and work efficiency. Furthermore, the user interface is accessible from anywhere, enabling high-quality training regardless of location.
[0817] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0818] Step 1: Receiving user input
[0819] The user enters questions or requests through the terminal's user interface. For example, if the user enters "How do I ask for directions in English?" and clicks the send button, the terminal receives this input. Input data (e.g., "How do I ask for directions in English?") is generated and sent to the server.
[0820] Step 2: Input reception and tokenization on the server
[0821] The server receives user input data sent from the terminal. The received input (e.g., "How do I ask for directions in English?") is passed to the tokenizer, which then tokenizes it. A pre-trained tokenizer (e.g., the BERT tokenizer) is used for this process. Tokenized data (a sequence of numbers) is then generated.
[0822] Step 3: Inputting numerical sequences into the generative model
[0823] The server inputs a tokenized sequence of numbers (tokens) into a generative AI model (e.g., GPT-3). The generative AI model receives the sequence of numbers as input and processes it to generate an appropriate response. At this stage, the response is also output as a sequence of numbers (the sequence of numbers in the generated response).
[0824] Step 4: Decode the response
[0825] The server decodes the numerical sequence output from the generated AI model. It passes the numerical sequence of the response to the decoder, which converts it into text format. The decoded text-formatted response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then generated.
[0826] Step 5: Send back the response
[0827] The server sends a decoded text response to the terminal. The terminal receives this response and displays it on the user interface. The displayed response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then provided to the user.
[0828] Step 6: Display the response
[0829] The terminal displays the response sent from the server on the user interface. The user can view the displayed response and use it for learning and training. Specifically, this enables high-quality training tailored to studying for certification exams or acquiring job-related knowledge.
[0830] (Application Example 1)
[0831] 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."
[0832] In autonomous vehicles, it is crucial for drivers to obtain real-time navigation information and receive appropriate responses to questions about the vehicle's status in order to ensure safe and comfortable driving. However, conventional systems lack intuitive and rapid means of obtaining information while driving, which can lead to stressful driving. Furthermore, systems that require manual operation may compromise safety. There is a need to solve these problems and enhance navigation assistance while driving.
[0833] 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.
[0834] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for displaying the converted response on a user interface, means for supporting real-time navigation during driving, means for acquiring user input by speech recognition, means for converting the acquired speech input into text, and means for outputting the converted response as speech. As a result, the driver can input questions by voice and immediately receive appropriate responses, enabling safe and comfortable driving.
[0835] "User input" refers to the information and instructions that the system receives from the user.
[0836] "Tokenization" refers to the process of splitting input text into words and phrases and converting them into numerical sequences.
[0837] A "numerical sequence" refers to a sequence of numbers obtained by converting tokenized text into numerical values.
[0838] A "generative model" refers to a machine learning model used to generate responses based on user input.
[0839] "Response" refers to the answer or guidance provided by a generative model in response to user input.
[0840] "Decoding" refers to the process of converting a numerical response generated by a generative model into a text format that the user can understand.
[0841] "User interface" refers to the means of input and display for a user to interact with a system.
[0842] "Real-time navigation while driving" refers to providing users of autonomous vehicles with immediate route guidance and information tailored to the current driving conditions.
[0843] "Speech recognition" refers to a technology that analyzes a user's voice input and converts it into text format.
[0844] "Voice input" refers to information that a user speaks to the system through a microphone.
[0845] "Voice output" refers to delivering a text-based response to the user using speech synthesis technology.
[0846] The system for carrying out this invention receives user input, analyzes it, generates an appropriate response, and provides safe and comfortable navigation assistance while driving. The system mainly consists of a terminal equipped with a user interface for receiving input, a server for processing the input and generating a response, and a speech recognition and speech output device for outputting the generated response.
[0847] The server has the functionality to tokenize user input and convert it into a sequence of numbers. A pre-trained model is used for tokenization. The tokenized sequence of numbers is then input into a generative AI model to generate an appropriate response. Specifically, a natural language processing model based on large-scale training data such as GPT-3 is used as the generative model. The generated response is decoded and converted into a text format that the user can understand.
[0848] The generated responses are displayed to the user through a user interface. This user interface could be implemented, for example, on a smartphone or in-car display. Furthermore, the system can be used while driving, recognizing voice input from the user and providing real-time responses to voice questions. For speech recognition, for example, the Google Speech-to-Text API is used. The responses are then returned to the user in voice using speech synthesis technology. Speech synthesis libraries such as pyttsx3 are used for this voice output.
[0849] As a concrete example of its use, if a user asks "Where is the next interchange?" while driving, the system converts the speech to text, then tokenizes it into a sequence of numbers. A generative model then generates a response based on this sequence of numbers, producing the answer "The next interchange is 3 kilometers ahead on the right." This answer is then decoded into text format and provided to the user verbally using a speech output system.
[0850] Examples of prompt statements include:
[0851] "What is the shortest route at this point?"
[0852] "Where is the nearest gas station?"
[0853] "What should I do if my engine is overheating?"
[0854] This system allows drivers to ask questions by voice and receive immediate, appropriate responses, enabling navigation assistance that improves safety and comfort.
[0855] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0856] Step 1:
[0857] The user makes a voice input by speaking into the microphone on their smartphone or in-car display. The input at this time is a specific question, such as "Where is the next interchange?"
[0858] Step 2:
[0859] The device recognizes the speech and converts it to text using the Google Speech-to-Text API. This process analyzes the speech signal and generates corresponding text data. The input is a speech signal, and the output is text data.
[0860] Step 3:
[0861] The terminal sends the converted text data to the server. The input is the converted text data, and the output is a request containing the text data.
[0862] Step 4:
[0863] The server tokenizes the received text data and converts it into a sequence of numbers. A pre-trained natural language processing model is used to convert input words into their corresponding numbers. The input is text data, and the output is a sequence of numbers.
[0864] Step 5:
[0865] The server inputs a numerical sequence into a generating AI model (e.g., GPT-3) and generates an appropriate response. The generating AI model analyzes the input numerical sequence and predicts the optimal response. The input is a numerical sequence, and the output is response data in numerical sequence format.
[0866] Step 6:
[0867] The server decodes the generated numerical response data and converts it to text format. This process converts the numerical data back into words and sentences. The input is numerical response data, and the output is text response data.
[0868] Step 7:
[0869] The server sends the generated text-formatted response data to the terminal. The input is the text-formatted response data, and the output is a response containing the text data.
[0870] Step 8:
[0871] The terminal receives text-based response data, converts it into speech using a speech synthesis library (e.g., pyttsx3), and outputs it through the speaker. The input is text data, and the output is speech data.
[0872] In this way, users can ask questions by voice and receive real-time voice responses. This enables safe and efficient navigation assistance.
[0873] 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.
[0874] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. This system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0875] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input.
[0876] Furthermore, this invention incorporates an emotion engine that recognizes emotions from user input. The emotion engine analyzes the user's emotions using natural language processing technology. Based on the recognized emotions, the server adjusts the generated response to produce a more appropriate and empathetic response. In this way, the response becomes more attuned to the user's emotions, enabling a more personalized dialogue.
[0877] The generated response is decoded, converted back to text format, and then sent back to the user. The server decodes the numerical sequence of the response obtained from the generative model again to generate a user-readable string. Finally, it sends the transformed response back to the user.
[0878] Users submit questions and requests to the system through an input form. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server uses an emotion engine to recognize the user's "stress" and generates a response such as, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0879] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[0880] As a concrete example, when studying for a certification exam, if a user inputs the question, "I'm worried about failing the test. What should I focus on most?", the server uses its emotion engine to recognize "worry" and generates a response such as, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing," which is then sent back to the user. Similarly, when acquiring business knowledge, if a user asks, "I'm feeling overwhelmed with my workload. How can I manage it better?", the server uses its emotion engine to recognize the emotion of "being overwhelmed" and can return a response such as, "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0881] In this way, the present invention provides a system that improves learning effectiveness and work efficiency by generating responses that take into account the user's emotions, in addition to providing users with high-quality feedback and appropriate questions. By introducing an emotion engine, users can receive more empathetic responses, compensating for the lack of human interaction.
[0882] The following describes the processing flow.
[0883] Step 1:
[0884] User
[0885] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0886] Step 2:
[0887] terminal
[0888] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[0889] Step 3:
[0890] server
[0891] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[0892] Step 4:
[0893] server
[0894] The server sends the input text to the emotion engine to recognize the user's emotions. For example, from the input "I'm feeling very stressed about my upcoming exams," the emotion "stressed" is recognized.
[0895] Step 5:
[0896] server
[0897] The server tokenizes the received input text and converts it into a sequence of numbers. It uses a pre-trained tokenizer (e.g., a GPT-3 tokenizer) to convert the text into a sequence of numbers.
[0898] Step 6:
[0899] server
[0900] The server inputs a tokenized sequence of numbers into a generative model and generates a response. The generative model (e.g., a GPT-3 model) is used to generate an appropriate response to user input.
[0901] Step 7:
[0902] server
[0903] The server decodes the generated response and converts it back to text format. It decodes the numerical sequence obtained from the generative model to generate a user-readable string.
[0904] Step 8:
[0905] server
[0906] The server sends the decoded response to the emotion engine, which then fine-tunes the response based on the recognized emotion. For example, if "stress" is detected, the response is adjusted to better reflect the user's emotions.
[0907] Step 9:
[0908] server
[0909] The server converts the final response into JSON format and sends it back to the terminal as an HTTP response.
[0910] Step 10:
[0911] terminal
[0912] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[0913] Step 11:
[0914] User
[0915] The user checks the response displayed on the device's user interface. For example, it might say, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0916] The above describes the specific processing flow of the present invention. Each step, from receiving user input and recognizing emotions to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality and empathetic feedback.
[0917] (Example 2)
[0918] 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."
[0919] Traditional interactive systems are required to generate appropriate responses to user input, but providing responses that take emotions into account has been difficult. Responses that ignore user emotions sometimes decrease user satisfaction and reduce the effectiveness of education and training. Therefore, there is a need for a system that recognizes user emotions and generates appropriate responses.
[0920] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0921] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for analyzing the received input to recognize emotions, means for adjusting the response based on the recognized emotions, means for decoding the generated response and converting it into text format, and means for returning the converted response to the user. This not only enables the generation of effective responses based on user input, but also enables empathetic responses that take into account the user's emotions.
[0922] "Means of receiving user input" refers to the means by which users input information into the system in the form of text, voice, or other formats.
[0923] "A means of tokenizing received input and converting it into a numerical sequence" refers to a means of dividing text data received from a user into units and converting them into a numerical sequence.
[0924] "Means of inputting a transformed numerical sequence into a generative model to generate a response" refers to means of using a pre-trained model to generate a response based on input data that has been transformed into a numerical sequence.
[0925] "Analysis methods for recognizing emotions from received input" refers to methods for analyzing user input data and identifying the emotions contained within it.
[0926] "Means of adjusting responses based on recognized emotions" refers to means of appropriately adjusting the generated response by taking into account the emotions recognized through analysis.
[0927] "Means for decoding the generated response and converting it to text format" refers to means of converting the numerical response data generated by the system back into text format.
[0928] "Means for sending the converted response back to the user" refers to means of sending the system-generated text-formatted response to the user.
[0929] "Using a pre-trained model" refers to using a model that has been trained on a large amount of data in advance when performing tasks such as tokenization, sentiment recognition, and response generation.
[0930] "Means of providing specific answers" refers to means of providing specific and appropriate responses to user questions using a generative AI model.
[0931] "Methods using natural language processing technology" refer to methods that utilize technologies to analyze user input and recognize the meaning and sentiment of text data.
[0932] "Means for temporarily storing generated responses and making them available for later reference" refers to means for temporarily storing responses generated by the system and making them available for later access and use.
[0933] "Means for displaying the response on the user interface" refers to means for displaying the generated response on the interface so that the user can see it.
[0934] "Means including an emotion engine" refers to means that include an engine for recognizing emotions from user input and generating and adjusting responses based on those emotions.
[0935] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. The system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[0936] Software and hardware used
[0937] User side
[0938] The terminal provides a user interface where the user inputs information. This user interface is implemented as a web browser or a dedicated application.
[0939] Server side
[0940] The server has the following main components:
[0941] 1. Tokenizer: This tokenizes natural language input from the user. Specifically, BERT tokenizers or GPT-3 tokenizers are used.
[0942] 2. Emotion Engine: This engine performs analysis to recognize emotions from the received input. This process uses a BERT-based emotion analysis model.
[0943] 3. Generative AI Models: Models that generate appropriate responses from tokenized numerical sequences as input. GPT-3 is a specific example of their use.
[0944] 4. Decoder: Decodes the numerical sequence of the generated response back into text format.
[0945] Data processing and data calculation
[0946] 1. Collecting user input:
[0947] Users enter questions or requests using the terminal's user interface. For example, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0948] The terminal sends this input to the server.
[0949] 2. Input tokenization:
[0950] The server tokenizes the input text and converts it into a sequence of numbers. Using the BERT tokenizer, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" will be converted into the appropriate numbers.
[0951] 3. Emotion recognition:
[0952] The server inputs a tokenized sequence of numbers into the emotion engine, which then recognizes emotions such as "stress." The emotion engine uses a BERT-based model to analyze the emotions.
[0953] 4. Generating the response:
[0954] The server considers the emotions recognized by the emotion engine and generates a corresponding response using a generative AI model. As an example of inputting a prompt into the model, "User is feeling stressed. Generate a sympathetic response." generates the response "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0955] 5. Decoding the response:
[0956] The server decodes the generated numerical response back into text format, creating a user-readable string.
[0957] 6. Sending a response:
[0958] The server sends the decoded response to the terminal, which displays it in the user interface. The user receives the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0959] Specific example
[0960] Studying for certification exams:
[0961] User input: "I'm worried about failing the test. What should I focus on most?"
[0962] Server response: The server recognizes the emotion "worry" and generates the response, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing."
[0963] Acquisition of business knowledge:
[0964] User input: "I'm feeling overwhelmed with my workload. How can I manage it better?"
[0965] Server response: The server recognizes the feeling of being "overwhelmed" and generates the response: "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[0966] Thus, the system of the present invention aims to improve the effectiveness of education and training by generating appropriate responses while taking into account the user's emotions.
[0967] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0968] Step 1:
[0969] User input collection
[0970] The user enters text using the terminal's user interface. For example, they might type, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[0971] Input: User-input text.
[0972] The terminal sends this input text to the server.
[0973] Output: The user's input text is sent to the server.
[0974] Step 2:
[0975] Input tokenization
[0976] The server receives text sent from the terminal.
[0977] Input: Text entered by the user.
[0978] The server uses a tokenizer to split the input text into tokens and convert them into a sequence of numbers. Specifically, it uses the BERT tokenizer to convert "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" into a sequence of numbers.
[0979] Output: Tokenized data converted into a numerical column.
[0980] Step 3:
[0981] emotion recognition
[0982] The server inputs a tokenized sequence of numbers into the emotion engine.
[0983] Input: A tokenized string of numbers.
[0984] The emotion engine analyzes numerical sequences to recognize emotions such as "stress." It uses a BERT-based emotion recognition model.
[0985] Specific operation: The server inputs the data received as a numerical sequence into an emotion recognition model, and as a result obtains a specific emotion (e.g., stress).
[0986] Output: Recognized emotion (e.g., stress).
[0987] Step 4:
[0988] Response generation
[0989] The server considers the emotions recognized by the emotion engine and uses a generative AI model to generate an appropriate response.
[0990] Input: Recognized emotions and a tokenized numerical sequence.
[0991] The server generates a prompt message and inputs it into the AI model. Example: "User is feeling stressed. Generate a sympathetic response."
[0992] Specific operation: A prompt sentence is input to a generative AI model (e.g., GPT-3), and the model generates a response such as "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0993] Output: A numerical sequence of the generated response.
[0994] Step 5:
[0995] Decoding the response
[0996] The server decodes the generated numerical response back into text format.
[0997] Input: A numerical sequence of the generated response.
[0998] The server uses a decoder to convert the response into text format: "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[0999] Specific operation: Converts numerical data back into text data via a decoder.
[1000] Output: Decoded text response.
[1001] Step 6:
[1002] Sending a response
[1003] The server sends the decoded response to the terminal.
[1004] Input: Decoded text response.
[1005] The terminal displays the received response on the user interface.
[1006] Specific operation: The terminal displays the data received from the server on the user interface, allowing the user to see the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1007] Output: The response displayed to the user.
[1008] (Application Example 2)
[1009] 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."
[1010] Traditional customer service systems struggled to appropriately recognize and respond to user emotions. Furthermore, the uniform nature of responses prevented them from addressing individual user needs, leading to decreased satisfaction. Additionally, they lacked mechanisms to incorporate past inquiry history and emotionally-based feedback to improve service quality.
[1011] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from the user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for returning the converted response to the user, means for analyzing the user's emotions using an emotion recognition engine, means for adjusting the generated response based on the recognized emotions, means for collecting emotion-based evaluations and using them to improve the system, and means for providing a response by referring to past inquiry history. This makes it possible to provide personalized responses that are attentive to the user's emotions and improve the quality of customer service.
[1012] "Means of receiving input" refers to interface functions that accept input from users, such as text data or audio data.
[1013] "Tokenization" is the process of dividing received text data into smaller units such as words and phrases.
[1014] A "generative model" is a machine learning model that generates an appropriate response based on input data.
[1015] "Decoding" is the process of converting data that has been converted into a series of numbers back into its original text format.
[1016] An "emotion recognition engine" is an algorithm that analyzes and identifies emotions from user input data.
[1017] "Means of adjustment" refers to the function of editing responses generated based on perceived emotions into an optimal form.
[1018] "Means for temporarily saving and making accessible" refers to a function that temporarily saves the generated response and allows access to it later.
[1019] "Means of display" refers to a function for displaying the generated response on the user interface.
[1020] "Means for collecting evaluations and using them to improve the system" refers to a function that collects user feedback and uses it to improve the system's performance.
[1021] "Means of providing responses by referring to inquiry history" refers to a function for generating appropriate responses based on past inquiry data.
[1022] The customer support system of this invention achieves personalized dialogue by receiving input from the user, analyzing that emotion using an emotion recognition engine, and generating and returning an appropriate response. The system is composed of the following hardware and software.
[1023] Hardware to use
[1024] Smartphone: A device used by users for input, equipped with a camera and touchscreen.
[1025] Server: Performs backend processing, handling tasks such as input tokenization, response generation, and sentiment analysis.
[1026] Software to use
[1027] Python: Used as a programming language for backend processing.
[1028] TensorFlow is a library for running machine learning models.
[1029] Hugging Face Transformers: A library for natural language processing, particularly used for tokenization and generative models.
[1030] Flask: Used as a backend web application framework.
[1031] React Native is a cross-platform development framework for building user interfaces.
[1032] Processing flow
[1033] The server first receives text input from the user. This uses a user interface built with React Native. When the user types into a text box and clicks the submit button, that input is sent to the server.
[1034] The server first tokenizes the received input text, converting it into a sequence of numbers. The Hugging Face Transformers tokenizer is used for this process. The tokenized sequence of numbers is then fed into a generative model built using TensorFlow, which generates the appropriate response.
[1035] The generated response is output in the form of a numerical sequence, which is then decoded back into text format. The decoded response is then refined by the emotion recognition engine. The emotion recognition engine analyzes the user's emotions from the input data and fine-tunes the response to provide the most appropriate response.
[1036] The final generated response is sent back to the user through a user interface built with React Native. The user can then view the response on their smartphone screen.
[1037] Specific example
[1038] When a user types "I'm feeling very stressed about my upcoming exams. Can you give me some advice?", the emotion recognition engine detects "stress," and the generative model generates a response such as "Take a deep breath, study in small increments, take breaks, and get enough sleep."
[1039] In this way, the system provides responses that are sensitive to the user's emotions, resulting in a more satisfying customer service experience. Furthermore, the collected evaluation data will be used to improve the system.
[1040] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1041] Step 1:
[1042] Users input information through a smartphone application. Specifically, they enter questions or inquiries into text boxes provided in the user interface and click the submit button.
[1043] Input: Text entered by the user (e.g., "I'm feeling very stressed about my upcoming exams. Can you give me some advice?")
[1044] Output: Text data sent to the server
[1045] Step 2:
[1046] The server receives user input. The received text is tokenized using the Hugging Face Transformers tokenizer and converted into a numerical column.
[1047] Input: Text data submitted by the user
[1048] Output: Tokenized numeric sequence
[1049] Specific actions:
[1050] python
[1051] from transformers import AutoTokenizer
[1052] tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
[1053] tokens = tokenizer.encode(user_input)
[1054] Step 3:
[1055] The server inputs a tokenized sequence of numbers into a generative model and generates an appropriate response. A TensorFlow-based AI model is used for the generative model.
[1056] Input: Tokenized numeric sequence
[1057] Output: Numerical sequence of the generated response
[1058] Specific actions:
[1059] python
[1060] from transformers import GPT2LMHeadModel, GPT2Tokenizer
[1061] model = GPT2LMHeadModel.from_pretrained("gpt2")
[1062] input_ids = tokenizer.encode("I'm feeling very stressed about my upcoming exams.", return_tensors='pt')
[1063] output = model.generate(input_ids, max_length=150)
[1064] response = tokenizer.decode(output[0], skip_special_tokens=True)
[1065] Step 4:
[1066] The server decodes the numerical sequence obtained from the generative model and converts it into text format.
[1067] Input: Numerical sequence of the generated response
[1068] Output: Decoded text response
[1069] Specific actions:
[1070] python
[1071] response_text = tokenizer.decode(output[0], skip_special_tokens=True)
[1072] Step 5:
[1073] The server uses an emotion recognition engine to analyze the user's input data and recognize their emotions. The emotion engine employs natural language processing technology.
[1074] Input: User's original input text
[1075] Output: Recognized emotion (e.g., "stress")
[1076] Specific actions:
[1077] python
[1078] from transformers import pipeline
[1079] emotion_classifier = pipeline("sentiment-analysis")
[1080] emotion = emotion_classifier(user_input)[0]
[1081] Step 6:
[1082] The server adjusts its response based on the emotions it perceives. For example, if the emotion is "stress," it adjusts the response to provide the best possible advice for the user.
[1083] Input: Recognized emotion, decoded text response
[1084] Output: Sentiment-based adjusted response text
[1085] Specific actions:
[1086] python
[1087] if emotion['label'] == 'stressed':
[1088] response_text += " Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1089] Step 7:
[1090] The server sends the final response back to the user through a user interface built with React Native. The user then checks the response on their smartphone screen.
[1091] Input: Adjusted response text
[1092] Output: Response displayed on the user interface
[1093] Specific actions:
[1094] The server returns the adjusted text as an HTTP response, which the React Native application receives and displays.
[1095] 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.
[1096] 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.
[1097] 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.
[1098] [Fourth Embodiment]
[1099] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1100] 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.
[1101] 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).
[1102] 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.
[1103] 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.
[1104] 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).
[1105] 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.
[1106] 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.
[1107] 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.
[1108] 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.
[1109] 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.
[1110] 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.
[1111] 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".
[1112] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[1113] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input. The generated response is then decoded and converted into a user-readable text format. Finally, the converted response is sent back to the user.
[1114] Users submit questions and requests to the system through an input form. For example, when practicing English conversation, a user might type "How do I ask for directions in English?". This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server might generate a response such as "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'"
[1115] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[1116] As a concrete example, when studying for a certification exam, if a user enters the question "What are the principles of Lean Manufacturing?", the server generates a response such as "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection," and sends it back to the user. Similarly, when acquiring business knowledge, in response to the question "What are the key steps in project management?", the server can return a response such as "The key steps in project management are initiation, planning, execution, monitoring, and closure."
[1117] This invention provides a system that improves learning effectiveness and work efficiency by providing users with high-quality feedback and appropriate questions. This system allows users to receive high-quality training wherever they are, compensating for a lack of human interaction.
[1118] The following describes the processing flow.
[1119] Step 1:
[1120] User
[1121] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "What is the best way to learn a new language?"
[1122] Step 2:
[1123] terminal
[1124] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[1125] Step 3:
[1126] server
[1127] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[1128] Step 4:
[1129] server
[1130] The server tokenizes the user's input text. It uses a pre-trained tokenizer to convert the text into a sequence of numbers.
[1131] Step 5:
[1132] server
[1133] The server inputs a tokenized sequence of numbers into a generative model. Using the pre-trained generative model, it generates an appropriate response to the user's input.
[1134] Step 6:
[1135] server
[1136] The server decodes the numerical sequence of responses obtained from the generative model back into text format, thereby generating a user-readable string.
[1137] Step 7:
[1138] server
[1139] The server converts the generated text-formatted response into JSON format and sends it back to the terminal as an HTTP response.
[1140] Step 8:
[1141] terminal
[1142] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[1143] Step 9:
[1144] User
[1145] The user confirms the response displayed on the device's user interface. For example, it might say, "The best way to learn a new language is through immersion, practicing regularly, and using a variety of resources."
[1146] The above describes the specific processing flow of the present invention. Each step, from receiving user input to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality feedback.
[1147] (Example 1)
[1148] 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".
[1149] Traditional interactive learning and training systems require appropriate and rapid responses to user questions, but the necessary technical means to achieve this were not readily available. Furthermore, the quality and adaptability of the generated responses were insufficient, making it difficult to accommodate real-time dialogue and individual learning needs.
[1150] 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.
[1151] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for sending the converted response back to the user, means for providing a user interface and sending user input to the server, and means for displaying the generated response on the user interface. This enables the user to receive high-quality and appropriate feedback in real time, and enables training tailored to specific learning or work objectives.
[1152] "Means of receiving user input" refers to an interface that allows users to input questions or requests to the system.
[1153] "A means of tokenizing received input and converting it into a numerical sequence" refers to the process of dividing text data received from a user into units of words or sentences and converting them into numerical sequences.
[1154] "A means of inputting a transformed numerical sequence into a generative model to generate a response" refers to the process of inputting tokenized data, converted into a numerical sequence, into a generative AI model to generate an appropriate response.
[1155] "Means for decoding the generated response and converting it into text format" refers to the process of converting numerical data output by a generative AI model into a text format that is understandable to humans.
[1156] "Means of sending the converted response back to the user" refers to the process of sending the response, converted into text format, to the user.
[1157] "A means of providing a user interface and sending user input to a server" refers to the process of providing an interface for sending information entered by a user to a server.
[1158] "Means for displaying the generated response on the user interface" refers to the process of visually displaying the response sent from the server to the user.
[1159] "A means of using a pre-trained model when tokenizing received user input" refers to the process of using a pre-trained tokenizer when tokenizing user input.
[1160] "A means of providing specific answers to user questions based on the generation of a generative model" refers to a process of providing specific and useful answers to users based on the data output by a generative AI model.
[1161] "A means of inputting a numerical sequence into a generative model in order to generate an appropriate response based on user input" refers to the process of converting user input into a numerical sequence and inputting it into a generative AI model to generate an appropriate response.
[1162] "Means for temporarily saving and making available for later reference the generated response in the process of generating a response to user input" refers to the process of temporarily saving the generated response and making it available for later reference as needed.
[1163] "Means of customizing responses according to specific uses such as acquiring business knowledge or studying for qualification exams" refers to the process of customizing responses generated according to specific learning or business objectives.
[1164] The system of this invention enables high-quality dialogue in education and training by receiving user input and generating and returning appropriate responses. This system consists of a user interface for receiving user input and a server for processing the input and generating responses.
[1165] The device used by the user is provided with a user interface where the user enters questions or requests. The device receives this input and sends it to the server. The user interface typically uses an application that runs on a web browser or a mobile application.
[1166] When the server receives input from a user, it first tokenizes that input and converts it into a sequence of numbers. A pre-trained tokenizer (e.g., BERT tokenizer) is used for this tokenization. The tokenized data is then input as a sequence of numbers into a generative AI model (e.g., GPT-3).
[1167] The generative AI model generates an appropriate response based on the input numerical sequence. The generated response is output as a numerical sequence, which is then decoded (e.g., using the Beam Search algorithm) and converted into text format. The generated text-formatted response is sent from the server to the terminal and displayed in the user interface.
[1168] As a concrete example, when practicing English conversation, the user might type "How do I ask for directions in English?". The server then generates an appropriate response, "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'", and displays this on the user interface.
[1169] Furthermore, it can be applied to studying for certification exams and acquiring business knowledge. When studying for certification exams, if a user inputs the question "What are the principles of Lean Manufacturing?", the server will generate the response "The principles of Lean Manufacturing include value, value stream, flow, pull, and perfection." When acquiring business knowledge, in response to the question "What are the key steps in project management?", the response "The key steps in project management are initiation, planning, execution, monitoring, and closure." is returned.
[1170] Examples of prompt messages include the following:
[1171] "What are the main components of effective communication in a professional setting?"
[1172] "How can I improve my time management skills?"
[1173] "Can you explain the concept of blockchain technology?"
[1174] This allows the system to provide users with high-quality feedback and appropriate questions, improving learning effectiveness and work efficiency. Furthermore, the user interface is accessible from anywhere, enabling high-quality training regardless of location.
[1175] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1176] Step 1: Receiving user input
[1177] The user enters questions or requests through the terminal's user interface. For example, if the user enters "How do I ask for directions in English?" and clicks the send button, the terminal receives this input. Input data (e.g., "How do I ask for directions in English?") is generated and sent to the server.
[1178] Step 2: Input reception and tokenization on the server
[1179] The server receives user input data sent from the terminal. The received input (e.g., "How do I ask for directions in English?") is passed to the tokenizer, which then tokenizes it. A pre-trained tokenizer (e.g., the BERT tokenizer) is used for this process. Tokenized data (a sequence of numbers) is then generated.
[1180] Step 3: Inputting numerical sequences into the generative model
[1181] The server inputs a tokenized sequence of numbers (tokens) into a generative AI model (e.g., GPT-3). The generative AI model receives the sequence of numbers as input and processes it to generate an appropriate response. At this stage, the response is also output as a sequence of numbers (the sequence of numbers in the generated response).
[1182] Step 4: Decode the response
[1183] The server decodes the numerical sequence output from the generated AI model. It passes the numerical sequence of the response to the decoder, which converts it into text format. The decoded text-formatted response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then generated.
[1184] Step 5: Send back the response
[1185] The server sends a decoded text response to the terminal. The terminal receives this response and displays it on the user interface. The displayed response (e.g., "You can ask, 'Excuse me, could you tell me how to get to the nearest subway station?'") is then provided to the user.
[1186] Step 6: Display the response
[1187] The terminal displays the response sent from the server on the user interface. The user can view the displayed response and use it for learning and training. Specifically, this enables high-quality training tailored to studying for certification exams or acquiring job-related knowledge.
[1188] (Application Example 1)
[1189] 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".
[1190] In autonomous vehicles, it is crucial for drivers to obtain real-time navigation information and receive appropriate responses to questions about the vehicle's status in order to ensure safe and comfortable driving. However, conventional systems lack intuitive and rapid means of obtaining information while driving, which can lead to stressful driving. Furthermore, systems that require manual operation may compromise safety. There is a need to solve these problems and enhance navigation assistance while driving.
[1191] 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.
[1192] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for displaying the converted response on a user interface, means for supporting real-time navigation during driving, means for acquiring user input by speech recognition, means for converting the acquired speech input into text, and means for outputting the converted response as speech. As a result, the driver can input questions by voice and immediately receive appropriate responses, enabling safe and comfortable driving.
[1193] "User input" refers to the information and instructions that the system receives from the user.
[1194] "Tokenization" refers to the process of splitting input text into words and phrases and converting them into numerical sequences.
[1195] A "numerical sequence" refers to a sequence of numbers obtained by converting tokenized text into numerical values.
[1196] A "generative model" refers to a machine learning model used to generate responses based on user input.
[1197] "Response" refers to the answer or guidance provided by a generative model in response to user input.
[1198] "Decoding" refers to the process of converting a numerical response generated by a generative model into a text format that the user can understand.
[1199] "User interface" refers to the means of input and display for a user to interact with a system.
[1200] "Real-time navigation while driving" refers to providing users of autonomous vehicles with immediate route guidance and information tailored to the current driving conditions.
[1201] "Speech recognition" refers to a technology that analyzes a user's voice input and converts it into text format.
[1202] "Voice input" refers to information that a user speaks to the system through a microphone.
[1203] "Voice output" refers to delivering a text-based response to the user using speech synthesis technology.
[1204] The system for carrying out this invention receives user input, analyzes it, generates an appropriate response, and provides safe and comfortable navigation assistance while driving. The system mainly consists of a terminal equipped with a user interface for receiving input, a server for processing the input and generating a response, and a speech recognition and speech output device for outputting the generated response.
[1205] The server has the functionality to tokenize user input and convert it into a sequence of numbers. A pre-trained model is used for tokenization. The tokenized sequence of numbers is then input into a generative AI model to generate an appropriate response. Specifically, a natural language processing model based on large-scale training data such as GPT-3 is used as the generative model. The generated response is decoded and converted into a text format that the user can understand.
[1206] The generated responses are displayed to the user through a user interface. This user interface could be implemented, for example, on a smartphone or in-car display. Furthermore, the system can be used while driving, recognizing voice input from the user and providing real-time responses to voice questions. For speech recognition, for example, the Google Speech-to-Text API is used. The responses are then returned to the user in voice using speech synthesis technology. Speech synthesis libraries such as pyttsx3 are used for this voice output.
[1207] As a concrete example of its use, if a user asks "Where is the next interchange?" while driving, the system converts the speech to text, then tokenizes it into a sequence of numbers. A generative model then generates a response based on this sequence of numbers, producing the answer "The next interchange is 3 kilometers ahead on the right." This answer is then decoded into text format and provided to the user verbally using a speech output system.
[1208] Examples of prompt statements include:
[1209] "What is the shortest route at this point?"
[1210] "Where is the nearest gas station?"
[1211] "What should I do if my engine is overheating?"
[1212] This system allows drivers to ask questions by voice and receive immediate, appropriate responses, enabling navigation assistance that improves safety and comfort.
[1213] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1214] Step 1:
[1215] The user makes a voice input by speaking into the microphone on their smartphone or in-car display. The input at this time is a specific question, such as "Where is the next interchange?"
[1216] Step 2:
[1217] The device recognizes the speech and converts it to text using the Google Speech-to-Text API. This process analyzes the speech signal and generates corresponding text data. The input is a speech signal, and the output is text data.
[1218] Step 3:
[1219] The terminal sends the converted text data to the server. The input is the converted text data, and the output is a request containing the text data.
[1220] Step 4:
[1221] The server tokenizes the received text data and converts it into a sequence of numbers. A pre-trained natural language processing model is used to convert input words into their corresponding numbers. The input is text data, and the output is a sequence of numbers.
[1222] Step 5:
[1223] The server inputs a numerical sequence into a generating AI model (e.g., GPT-3) and generates an appropriate response. The generating AI model analyzes the input numerical sequence and predicts the optimal response. The input is a numerical sequence, and the output is response data in numerical sequence format.
[1224] Step 6:
[1225] The server decodes the generated numerical response data and converts it to text format. This process converts the numerical data back into words and sentences. The input is numerical response data, and the output is text response data.
[1226] Step 7:
[1227] The server sends the generated text-formatted response data to the terminal. The input is the text-formatted response data, and the output is a response containing the text data.
[1228] Step 8:
[1229] The terminal receives text-based response data, converts it into speech using a speech synthesis library (e.g., pyttsx3), and outputs it through the speaker. The input is text data, and the output is speech data.
[1230] In this way, users can ask questions by voice and receive real-time voice responses. This enables safe and efficient navigation assistance.
[1231] 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.
[1232] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. This system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[1233] After receiving user input, the server first tokenizes the input, converting it into a sequence of numbers. A pre-trained model is used for this tokenization. Next, the converted sequence of numbers is input into a generative model to generate a corresponding response. This generative model is based on a large amount of training data and is capable of generating appropriate responses to user input.
[1234] Furthermore, this invention incorporates an emotion engine that recognizes emotions from user input. The emotion engine analyzes the user's emotions using natural language processing technology. Based on the recognized emotions, the server adjusts the generated response to produce a more appropriate and empathetic response. In this way, the response becomes more attuned to the user's emotions, enabling a more personalized dialogue.
[1235] The generated response is decoded, converted back to text format, and then sent back to the user. The server decodes the numerical sequence of the response obtained from the generative model again to generate a user-readable string. Finally, it sends the transformed response back to the user.
[1236] Users submit questions and requests to the system through an input form. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" This input is then sent to the server, which generates an appropriate response and returns it to the user. Specifically, the server uses an emotion engine to recognize the user's "stress" and generates a response such as, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1237] The terminal provides the user interface and sends user input to the server. When the user enters a question and clicks the submit button, the question is sent to the server. When a response comes back from the server, it is displayed on the user interface. This allows the user to engage in interactive learning and training.
[1238] As a concrete example, when studying for a certification exam, if a user inputs the question, "I'm worried about failing the test. What should I focus on most?", the server uses its emotion engine to recognize "worry" and generates a response such as, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing," which is then sent back to the user. Similarly, when acquiring business knowledge, if a user asks, "I'm feeling overwhelmed with my workload. How can I manage it better?", the server uses its emotion engine to recognize the emotion of "being overwhelmed" and can return a response such as, "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[1239] In this way, the present invention provides a system that improves learning effectiveness and work efficiency by generating responses that take into account the user's emotions, in addition to providing users with high-quality feedback and appropriate questions. By introducing an emotion engine, users can receive more empathetic responses, compensating for the lack of human interaction.
[1240] The following describes the processing flow.
[1241] Step 1:
[1242] User
[1243] The user accesses an interactive user interface and enters questions or requests into input forms. For example, they might enter, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[1244] Step 2:
[1245] terminal
[1246] The terminal retrieves the text data entered by the user and converts that data into JSON format using JavaScript. Then, it sends an HTTP POST request to the server.
[1247] Step 3:
[1248] server
[1249] The server receives the incoming request at the specified endpoint (e.g., / ask). It then uses a framework such as Flask to extract the request content (input text).
[1250] Step 4:
[1251] server
[1252] The server sends the input text to the emotion engine to recognize the user's emotions. For example, from the input "I'm feeling very stressed about my upcoming exams," the emotion "stressed" is recognized.
[1253] Step 5:
[1254] server
[1255] The server tokenizes the received input text and converts it into a sequence of numbers. It uses a pre-trained tokenizer (e.g., a GPT-3 tokenizer) to convert the text into a sequence of numbers.
[1256] Step 6:
[1257] server
[1258] The server inputs a tokenized sequence of numbers into a generative model and generates a response. The generative model (e.g., a GPT-3 model) is used to generate an appropriate response to user input.
[1259] Step 7:
[1260] server
[1261] The server decodes the generated response and converts it back to text format. It decodes the numerical sequence obtained from the generative model to generate a user-readable string.
[1262] Step 8:
[1263] server
[1264] The server sends the decoded response to the emotion engine, which then fine-tunes the response based on the recognized emotion. For example, if "stress" is detected, the response is adjusted to better reflect the user's emotions.
[1265] Step 9:
[1266] server
[1267] The server converts the final response into JSON format and sends it back to the terminal as an HTTP response.
[1268] Step 10:
[1269] terminal
[1270] The terminal receives a response from the server and extracts the response text from the JSON-formatted data. This text is then displayed on the user interface.
[1271] Step 11:
[1272] User
[1273] The user checks the response displayed on the device's user interface. For example, it might say, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1274] The above describes the specific processing flow of the present invention. Each step, from receiving user input and recognizing emotions to generating and providing an appropriate response, is explained in detail. This system allows users to receive high-quality and empathetic feedback.
[1275] (Example 2)
[1276] 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".
[1277] Traditional interactive systems are required to generate appropriate responses to user input, but providing responses that take emotions into account has been difficult. Responses that ignore user emotions sometimes decrease user satisfaction and reduce the effectiveness of education and training. Therefore, there is a need for a system that recognizes user emotions and generates appropriate responses.
[1278] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1279] In this invention, the server includes means for receiving input from a user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for analyzing the received input to recognize emotions, means for adjusting the response based on the recognized emotions, means for decoding the generated response and converting it into text format, and means for returning the converted response to the user. This not only enables the generation of effective responses based on user input, but also enables empathetic responses that take into account the user's emotions.
[1280] "Means of receiving user input" refers to the means by which users input information into the system in the form of text, voice, or other formats.
[1281] "A means of tokenizing received input and converting it into a numerical sequence" refers to a means of dividing text data received from a user into units and converting them into a numerical sequence.
[1282] "Means of inputting a transformed numerical sequence into a generative model to generate a response" refers to means of using a pre-trained model to generate a response based on input data that has been transformed into a numerical sequence.
[1283] "Analysis methods for recognizing emotions from received input" refers to methods for analyzing user input data and identifying the emotions contained within it.
[1284] "Means of adjusting responses based on recognized emotions" refers to means of appropriately adjusting the generated response by taking into account the emotions recognized through analysis.
[1285] "Means for decoding the generated response and converting it to text format" refers to means of converting the numerical response data generated by the system back into text format.
[1286] "Means for sending the converted response back to the user" refers to means of sending the system-generated text-formatted response to the user.
[1287] "Using a pre-trained model" refers to using a model that has been trained on a large amount of data in advance when performing tasks such as tokenization, sentiment recognition, and response generation.
[1288] "Means of providing specific answers" refers to means of providing specific and appropriate responses to user questions using a generative AI model.
[1289] "Methods using natural language processing technology" refer to methods that utilize technologies to analyze user input and recognize the meaning and sentiment of text data.
[1290] "Means for temporarily storing generated responses and making them available for later reference" refers to means for temporarily storing responses generated by the system and making them available for later access and use.
[1291] "Means for displaying the response on the user interface" refers to means for displaying the generated response on the interface so that the user can see it.
[1292] "Means including an emotion engine" refers to means that include an engine for recognizing emotions from user input and generating and adjusting responses based on those emotions.
[1293] The system of this invention enables more personalized education and training by receiving user input, recognizing that emotion using an emotion engine, and generating and returning an appropriate response. The system consists of a user interface for receiving user input and a server for processing the input and generating a response.
[1294] Software and hardware used
[1295] User side
[1296] The terminal provides a user interface where the user inputs information. This user interface is implemented as a web browser or a dedicated application.
[1297] Server side
[1298] The server has the following main components:
[1299] 1. Tokenizer: This tokenizes natural language input from the user. Specifically, BERT tokenizers or GPT-3 tokenizers are used.
[1300] 2. Emotion Engine: This engine performs analysis to recognize emotions from the received input. This process uses a BERT-based emotion analysis model.
[1301] 3. Generative AI Models: Models that generate appropriate responses from tokenized numerical sequences as input. GPT-3 is a specific example of their use.
[1302] 4. Decoder: Decodes the numerical sequence of the generated response back into text format.
[1303] Data processing and data calculation
[1304] 1. Collecting user input:
[1305] Users enter questions or requests using the terminal's user interface. For example, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[1306] The terminal sends this input to the server.
[1307] 2. Input tokenization:
[1308] The server tokenizes the input text and converts it into a sequence of numbers. Using the BERT tokenizer, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" will be converted into the appropriate numbers.
[1309] 3. Emotion recognition:
[1310] The server inputs a tokenized sequence of numbers into the emotion engine, which then recognizes emotions such as "stress." The emotion engine uses a BERT-based model to analyze the emotions.
[1311] 4. Generating the response:
[1312] The server considers the emotions recognized by the emotion engine and generates a corresponding response using a generative AI model. As an example of inputting a prompt into the model, "User is feeling stressed. Generate a sympathetic response." generates the response "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1313] 5. Decoding the response:
[1314] The server decodes the generated numerical response back into text format, creating a user-readable string.
[1315] 6. Sending a response:
[1316] The server sends the decoded response to the terminal, which displays it in the user interface. The user receives the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1317] Specific example
[1318] Studying for certification exams:
[1319] User input: "I'm worried about failing the test. What should I focus on most?"
[1320] Server response: The server recognizes the emotion "worry" and generates the response, "It's important to focus on understanding the key concepts. Practice with past exam papers and identify areas you're struggling with. Remember, it's okay to make mistakes while practicing."
[1321] Acquisition of business knowledge:
[1322] User input: "I'm feeling overwhelmed with my workload. How can I manage it better?"
[1323] Server response: The server recognizes the feeling of being "overwhelmed" and generates the response: "Prioritize your tasks and break them down into smaller steps. Use a planner to schedule your time effectively and don't hesitate to ask for help when needed."
[1324] Thus, the system of the present invention aims to improve the effectiveness of education and training by generating appropriate responses while taking into account the user's emotions.
[1325] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1326] Step 1:
[1327] User input collection
[1328] The user enters text using the terminal's user interface. For example, they might type, "I'm feeling very stressed about my upcoming exams. Can you give me some advice?"
[1329] Input: User-input text.
[1330] The terminal sends this input text to the server.
[1331] Output: The user's input text is sent to the server.
[1332] Step 2:
[1333] Input tokenization
[1334] The server receives text sent from the terminal.
[1335] Input: Text entered by the user.
[1336] The server uses a tokenizer to split the input text into tokens and convert them into a sequence of numbers. Specifically, it uses the BERT tokenizer to convert "I'm feeling very stressed about my upcoming exams. Can you give me some advice?" into a sequence of numbers.
[1337] Output: Tokenized data converted into a numerical column.
[1338] Step 3:
[1339] emotion recognition
[1340] The server inputs a tokenized sequence of numbers into the emotion engine.
[1341] Input: A tokenized string of numbers.
[1342] The emotion engine analyzes numerical sequences to recognize emotions such as "stress." It uses a BERT-based emotion recognition model.
[1343] Specific operation: The server inputs the data received as a numerical sequence into an emotion recognition model, and as a result obtains a specific emotion (e.g., stress).
[1344] Output: Recognized emotion (e.g., stress).
[1345] Step 4:
[1346] Response generation
[1347] The server considers the emotions recognized by the emotion engine and uses a generative AI model to generate an appropriate response.
[1348] Input: Recognized emotions and a tokenized numerical sequence.
[1349] The server generates a prompt message and inputs it into the AI model. Example: "User is feeling stressed. Generate a sympathetic response."
[1350] Specific operation: A prompt sentence is input to a generative AI model (e.g., GPT-3), and the model generates a response such as "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1351] Output: A numerical sequence of the generated response.
[1352] Step 5:
[1353] Decoding the response
[1354] The server decodes the generated numerical response back into text format.
[1355] Input: A numerical sequence of the generated response.
[1356] The server uses a decoder to convert the response into text format: "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1357] Specific operation: Converts numerical data back into text data via a decoder.
[1358] Output: Decoded text response.
[1359] Step 6:
[1360] Sending a response
[1361] The server sends the decoded response to the terminal.
[1362] Input: Decoded text response.
[1363] The terminal displays the received response on the user interface.
[1364] Specific operation: The terminal displays the data received from the server on the user interface, allowing the user to see the response, "Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1365] Output: The response displayed to the user.
[1366] (Application Example 2)
[1367] 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".
[1368] Traditional customer service systems struggled to appropriately recognize and respond to user emotions. Furthermore, the uniform nature of responses prevented them from addressing individual user needs, leading to decreased satisfaction. Additionally, they lacked mechanisms to incorporate past inquiry history and emotionally-based feedback to improve service quality.
[1369] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from the user, means for tokenizing the received input and converting it into a numerical sequence, means for inputting the converted numerical sequence into a generative model and generating a response, means for decoding the generated response and converting it into text format, means for returning the converted response to the user, means for analyzing the user's emotions using an emotion recognition engine, means for adjusting the generated response based on the recognized emotions, means for collecting emotion-based evaluations and using them to improve the system, and means for providing a response by referring to past inquiry history. This makes it possible to provide personalized responses that are attentive to the user's emotions and improve the quality of customer service.
[1370] "Means of receiving input" refers to interface functions that accept input from users, such as text data or audio data.
[1371] "Tokenization" is the process of dividing received text data into smaller units such as words and phrases.
[1372] A "generative model" is a machine learning model that generates an appropriate response based on input data.
[1373] "Decoding" is the process of converting data that has been converted into a series of numbers back into its original text format.
[1374] An "emotion recognition engine" is an algorithm that analyzes and identifies emotions from user input data.
[1375] "Means of adjustment" refers to the function of editing responses generated based on perceived emotions into an optimal form.
[1376] "Means for temporarily saving and making accessible" refers to a function that temporarily saves the generated response and allows access to it later.
[1377] "Means of display" refers to a function for displaying the generated response on the user interface.
[1378] "Means for collecting evaluations and using them to improve the system" refers to a function that collects user feedback and uses it to improve the system's performance.
[1379] "Means of providing responses by referring to inquiry history" refers to a function for generating appropriate responses based on past inquiry data.
[1380] The customer support system of this invention achieves personalized dialogue by receiving input from the user, analyzing that emotion using an emotion recognition engine, and generating and returning an appropriate response. The system is composed of the following hardware and software.
[1381] Hardware to use
[1382] Smartphone: A device used by users for input, equipped with a camera and touchscreen.
[1383] Server: Performs backend processing, handling tasks such as input tokenization, response generation, and sentiment analysis.
[1384] Software to use
[1385] Python: Used as a programming language for backend processing.
[1386] TensorFlow is a library for running machine learning models.
[1387] Hugging Face Transformers: A library for natural language processing, particularly used for tokenization and generative models.
[1388] Flask: Used as a backend web application framework.
[1389] React Native is a cross-platform development framework for building user interfaces.
[1390] Processing flow
[1391] The server first receives text input from the user. This uses a user interface built with React Native. When the user types into a text box and clicks the submit button, that input is sent to the server.
[1392] The server first tokenizes the received input text, converting it into a sequence of numbers. The Hugging Face Transformers tokenizer is used for this process. The tokenized sequence of numbers is then fed into a generative model built using TensorFlow, which generates the appropriate response.
[1393] The generated response is output in the form of a numerical sequence, which is then decoded back into text format. The decoded response is then refined by the emotion recognition engine. The emotion recognition engine analyzes the user's emotions from the input data and fine-tunes the response to provide the most appropriate response.
[1394] The final generated response is sent back to the user through a user interface built with React Native. The user can then view the response on their smartphone screen.
[1395] Specific example
[1396] When a user types "I'm feeling very stressed about my upcoming exams. Can you give me some advice?", the emotion recognition engine detects "stress," and the generative model generates a response such as "Take a deep breath, study in small increments, take breaks, and get enough sleep."
[1397] In this way, the system provides responses that are sensitive to the user's emotions, resulting in a more satisfying customer service experience. Furthermore, the collected evaluation data will be used to improve the system.
[1398] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1399] Step 1:
[1400] Users input information through a smartphone application. Specifically, they enter questions or inquiries into text boxes provided in the user interface and click the submit button.
[1401] Input: Text entered by the user (e.g., "I'm feeling very stressed about my upcoming exams. Can you give me some advice?")
[1402] Output: Text data sent to the server
[1403] Step 2:
[1404] The server receives user input. The received text is tokenized using the Hugging Face Transformers tokenizer and converted into a numerical column.
[1405] Input: Text data submitted by the user
[1406] Output: Tokenized numeric sequence
[1407] Specific actions:
[1408] python
[1409] from transformers import AutoTokenizer
[1410] tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
[1411] tokens = tokenizer.encode(user_input)
[1412] Step 3:
[1413] The server inputs a tokenized sequence of numbers into a generative model and generates an appropriate response. A TensorFlow-based AI model is used for the generative model.
[1414] Input: Tokenized numeric sequence
[1415] Output: Numerical sequence of the generated response
[1416] Specific actions:
[1417] python
[1418] from transformers import GPT2LMHeadModel, GPT2Tokenizer
[1419] model = GPT2LMHeadModel.from_pretrained("gpt2")
[1420] input_ids = tokenizer.encode("I'm feeling very stressed about my upcoming exams.", return_tensors='pt')
[1421] output = model.generate(input_ids, max_length=150)
[1422] response = tokenizer.decode(output[0], skip_special_tokens=True)
[1423] Step 4:
[1424] The server decodes the numerical sequence obtained from the generative model and converts it into text format.
[1425] Input: Numerical sequence of the generated response
[1426] Output: Decoded text response
[1427] Specific actions:
[1428] python
[1429] response_text = tokenizer.decode(output[0], skip_special_tokens=True)
[1430] Step 5:
[1431] The server uses an emotion recognition engine to analyze the user's input data and recognize their emotions. The emotion engine employs natural language processing technology.
[1432] Input: User's original input text
[1433] Output: Recognized emotion (e.g., "stress")
[1434] Specific actions:
[1435] python
[1436] from transformers import pipeline
[1437] emotion_classifier = pipeline("sentiment-analysis")
[1438] emotion = emotion_classifier(user_input)[0]
[1439] Step 6:
[1440] The server adjusts its response based on the emotions it perceives. For example, if the emotion is "stress," it adjusts the response to provide the best possible advice for the user.
[1441] Input: Recognized emotion, decoded text response
[1442] Output: Sentiment-based adjusted response text
[1443] Specific actions:
[1444] python
[1445] if emotion['label'] == 'stressed':
[1446] response_text += " Take deep breaths, and make sure to study in small, manageable chunks. Remember to take breaks and get plenty of sleep."
[1447] Step 7:
[1448] The server sends the final response back to the user through a user interface built with React Native. The user then checks the response on their smartphone screen.
[1449] Input: Adjusted response text
[1450] Output: Response displayed on the user interface
[1451] Specific actions:
[1452] The server returns the adjusted text as an HTTP response, which the React Native application receives and displays.
[1453] 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.
[1454] 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.
[1455] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1456] 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.
[1457] 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.
[1458] 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.
[1459] 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.
[1460] 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.
[1461] 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."
[1462] 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.
[1463] 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.
[1464] 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.
[1465] 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.
[1466] 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.
[1467] 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.
[1468] 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.
[1469] 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.
[1470] 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.
[1471] 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.
[1472] 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.
[1473] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1474] The following is further disclosed regarding the embodiments described above.
[1475] (Claim 1)
[1476] A means of receiving input from the user,
[1477] A means of tokenizing the received input and converting it into a numerical sequence,
[1478] A means for inputting the transformed numerical sequence into a generative model and generating a response,
[1479] A means for decoding the generated response and converting it into text format,
[1480] A means of returning the converted response to the user,
[1481] A system that includes this.
[1482] (Claim 2)
[1483] When tokenizing the user input received, one method is to use a pre-trained model,
[1484] A means of providing specific answers to user questions based on the generation of a generative model,
[1485] The system according to claim 1, including the following:
[1486] (Claim 3)
[1487] In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference,
[1488] A means for displaying the generated response on the user interface,
[1489] The system according to claim 1, including the following:
[1490] "Example 1"
[1491] (Claim 1)
[1492] A means of receiving input from the user,
[1493] A means of tokenizing the received input and converting it into a numerical sequence,
[1494] A means for inputting the transformed numerical sequence into a generative model and generating a response,
[1495] A means for decoding the generated response and converting it into text format,
[1496] A means of returning the converted response to the user,
[1497] A means of providing a user interface and sending user input to a server,
[1498] A means for displaying the generated response on the user interface,
[1499] A system that includes this.
[1500] (Claim 2)
[1501] When tokenizing the user input received, one method is to use a pre-trained model,
[1502] A means of providing specific answers to user questions based on the generation of a generative model,
[1503] A means for inputting a numerical sequence into a generative model in order to generate an appropriate response based on user input,
[1504] The system according to claim 1, including the following:
[1505] (Claim 3)
[1506] In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference,
[1507] A means of customizing responses according to specific uses such as acquiring business knowledge or studying for qualification exams,
[1508] A means for displaying the generated response on the user interface,
[1509] The system according to claim 1, including the following:
[1510] "Application Example 1"
[1511] (Claim 1)
[1512] A means of receiving input from the user,
[1513] A means of tokenizing the received input and converting it into a numerical sequence,
[1514] A means for inputting the transformed numerical sequence into a generative model and generating a response,
[1515] A means for decoding the generated response and converting it into text format,
[1516] A means for displaying the converted response on the user interface,
[1517] A means to support real-time navigation while driving,
[1518] A means of obtaining user input through speech recognition,
[1519] A means of converting acquired voice input into text,
[1520] A means for outputting the converted response as audio,
[1521] A system that includes this.
[1522] (Claim 2)
[1523] When tokenizing the user input received, one method is to use a pre-trained model,
[1524] A means of providing specific answers to user questions based on the generation of a generative model,
[1525] A means of providing route guidance and searching for places to stop while driving,
[1526] The system according to claim 1, including the following:
[1527] (Claim 3)
[1528] In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference,
[1529] A means of providing real-time answers to questions while driving,
[1530] The system according to claim 1, including the following:
[1531] "Example 2 of combining an emotion engine"
[1532] (Claim 1)
[1533] A means of receiving input from the user,
[1534] A means of tokenizing the received input and converting it into a numerical sequence,
[1535] A means for inputting the transformed numerical sequence into a generative model and generating a response,
[1536] An analytical method for recognizing emotions from received input,
[1537] Means of adjusting responses based on recognized emotions,
[1538] A means for decoding the generated response and converting it into text format,
[1539] A means of returning the converted response to the user,
[1540] A system that includes this.
[1541] (Claim 2)
[1542] When tokenizing the user input received, one method is to use a pre-trained model,
[1543] A means of providing specific answers to user questions based on the generation of a generative model,
[1544] Methods that use natural language processing techniques to recognize emotions,
[1545] The system according to claim 1, including the following:
[1546] (Claim 3)
[1547] In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference,
[1548] A means for displaying the generated response on the user interface,
[1549] A means including an emotion engine for generating responses based on recognized emotions,
[1550] The system according to claim 1, including the following:
[1551] "Application example 2 when combining with an emotional engine"
[1552] (Claim 1)
[1553] A means of receiving input from the user,
[1554] A means of tokenizing the received input and converting it into a numerical sequence,
[1555] A means for inputting the transformed numerical sequence into a generative model and generating a response,
[1556] A means for decoding the generated response and converting it into text format,
[1557] A means of returning the converted response to the user,
[1558] A means of analyzing a user's emotions using an emotion recognition engine,
[1559] Means for adjusting responses generated based on recognized emotions,
[1560] A system that includes this.
[1561] (Claim 2)
[1562] When tokenizing the user input received, one method is to use a pre-trained model,
[1563] A means of providing specific answers to user questions based on the generation of a generative model,
[1564] A means of collecting customer feedback after a response and contributing to system improvement,
[1565] The system according to claim 1, including the following:
[1566] (Claim 3)
[1567] In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference,
[1568] A means for displaying the generated response on the user interface,
[1569] A means of providing a response by referring to past inquiry history,
[1570] The system according to claim 1, including the following: [Explanation of symbols]
[1571] 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 means of receiving input from the user, A means of tokenizing the received input and converting it into a numerical sequence, A means for inputting the transformed numerical sequence into a generative model and generating a response, A means for decoding the generated response and converting it into text format, A means of returning the converted response to the user, A system that includes this.
2. When tokenizing the user input received, one method is to use a pre-trained model, A means of providing specific answers to user questions based on the generation of a generative model, The system according to claim 1, including the following:
3. In the process of generating a response to user input, a means for temporarily saving the generated response and making it available for later reference, A means for displaying the generated response on the user interface, The system according to claim 1, including the following:
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A