System
The system addresses inconsistent AI services by unifying user interface management through natural language processing and speech recognition, ensuring consistent experiences across diverse interfaces and reducing management complexity.
Patent Information
- Application Number
- JP2024120625
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
Current AI systems struggle to provide consistent services across diverse user interfaces, particularly for users with specific needs such as the elderly or hearing impaired, and require separate support for each interface, leading to inconsistent user experiences and increased management complexity for companies.
A system that receives user requests from multiple interfaces, analyzes them using natural language processing and speech recognition, formulates queries to AI services, determines optimal responses, and transmits them accordingly, providing a unified infrastructure for consistent AI experiences.
Enables consistent AI services across different interfaces, improving user convenience and reducing the complexity and cost of managing multiple interfaces for companies.
Smart Images

Figure 2026019216000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Currently, it is difficult to provide consistent AI services to a diverse range of users who use different user interfaces. Providing effective communication methods is particularly challenging when dealing with users with specific needs, such as elderly people who cannot use the Internet or people who are hearing impaired. Furthermore, companies are being asked to build systems that support multiple interfaces to streamline their inquiry responses. Current systems often require different support for each interface, resulting in a lack of consistency in the user experience. [Means for solving the problem]
[0005] The present invention provides a system that includes a receiving means for receiving user requests from different interfaces, an analysis means for analyzing the received user requests and extracting the user's intent and necessary information, a query means for formulating a query based on the analyzed content and querying an AI service, a response determination means for receiving a response from the AI service and determining the optimal response method, and a transmission means for sending a response to the user according to the determined response method. This system provides a unified infrastructure for handling different interfaces, such as the web, telephone, voice, and chat apps, allowing users to use AI services in the optimal way based on their own situation and characteristics. Furthermore, the analysis means effectively analyzes user requests using natural language processing algorithms and speech recognition technology, providing a consistent AI experience across different devices and situations, thereby solving the aforementioned problems.
[0006] The "receiving means" is a function for receiving user requests from multiple interfaces.
[0007] The "analysis means" is a function for analyzing received user requests and extracting the user's intentions and necessary information.
[0008] "Inquiry method" is a function for constructing inquiry content based on the analyzed content and making an inquiry to the AI service.
[0009] The "response determination means" is a function that receives a response from the AI service and determines the optimal way to respond to the user.
[0010] The "transmission means" is a function for transmitting a reply to the user in accordance with the determined reply method.
[0011] "Interface" refers to the means or methods by which a user interacts with a system, including the web, telephone, voice assistants, chat apps, etc.
[0012] "User request" refers to an inquiry or request that a user enters into the system.
[0013] A "natural language processing algorithm" is a computational method for analyzing user input and extracting intent and information from text data.
[0014] "Voice recognition technology" is a technology that analyzes voice data and converts it into text data.
[0015] An "AI service" is an artificial intelligence system that has the ability to converse and generate answers like a human. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] The present invention provides an embodiment of a system that enables users to receive consistent AI services even while using different interfaces.
[0038] System Overview
[0039] This system receives user requests from multiple interfaces, such as the web, telephone, voice assistants, and LINE, analyzes them, queries AI services, and responds appropriately to the user. Its main functions consist of a receiving means, an analyzing means, a querying means, a response determining means, and a sending means.
[0040] Program processing
[0041] 1. Receiving user requests
[0042] Device: A user enters their inquiry into a web form (e.g., "I'd like to know about the latest promotions") and clicks the submit button.
[0043] Device: The user uses the LINE app to send a message saying, "Tell me the current campaign conditions."
[0044] 2. Receiving and analyzing requests
[0045] Server: Receives requests received from the web interface as HTTP requests and messages received from the LINE interface as Webhooks.
[0046] Server: Analyzes the received data and uses natural language processing algorithms to extract the user's intent. If necessary, uses speech recognition technology to convert the voice data into text.
[0047] 3. Querying the AI engine
[0048] Server: Builds a query based on the analyzed content and sends a clear query such as "latest promotion information" to the AI service.
[0049] AI service: Generates appropriate answers to incoming inquiries.
[0050] 4. Respond the way users want
[0051] Server: Receives response data from the AI service, such as "We are currently offering a 20% discount campaign for new customers."
[0052] Server: Determines how to respond based on the user's profile and request, for example, a text message, a voice response, or a LINE message.
[0053] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[0054] Specific examples
[0055] Example 1: Web inquiry
[0056] 1. User: Enters "I would like to know about the delivery status" into the inquiry form in a web browser and submits it.
[0057] 2. Server: Receives the received request as an HTTP request and uses analytical means to extract the keyword "Delivery progress".
[0058] 3. Server: Based on the extracted keywords, queries the AI service about the progress of delivery.
[0059] 4. AI service: Generates an answer saying, "The delivery is currently arriving at the local delivery center" and replies to the server.
[0060] 5. Server: The server displays the received answer in the web browser for the user to review.
[0061] Example 2: LINE inquiry
[0062] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[0063] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[0064] 3. Server: Queries the AI service based on this information.
[0065] 4. AI service: Generates an answer such as "The new product will be released at the end of next month" and sends it back to the server.
[0066] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[0067] This embodiment unifies the processing of requests from different interfaces, providing a consistent AI experience to a diverse range of users. This system improves user convenience while also enabling businesses to respond more efficiently to inquiries.
[0068] The processing flow will be explained below.
[0069] Step 1:
[0070] User submits a request
[0071] User: For example, a user enters "Tell me about home appliance repair services" into a contact form in a web browser and clicks the submit button.
[0072] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[0073] Step 2:
[0074] The server receives the request
[0075] Server: Receives the HTTP request sent from the web browser.
[0076] Server: Receives the voice data sent from the voice assistant.
[0077] Step 3:
[0078] Parsing the request
[0079] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[0080] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[0081] Step 4:
[0082] Build your inquiry
[0083] Server: Based on the analyzed data, the server constructs a query, for example, "For details about home appliance repair services."
[0084] Server: Prepares the constructed query to be sent to the AI engine.
[0085] Step 5:
[0086] Sending queries to the AI engine
[0087] Server: Sends the constructed query to the AI engine.
[0088] AI Engine: The AI engine receives the query and generates an appropriate answer.
[0089] Step 6:
[0090] Receiving a response
[0091] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[0092] Step 7:
[0093] Decide how best to respond
[0094] Server: Determines the best way to respond based on the user's profile and request, for example, via a web browser, voice assistant, or LINE message.
[0095] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[0096] Step 8:
[0097] Send a response to the user
[0098] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[0099] User: Checks the response sent and takes a corresponding action, for example checking the opening hours of an appliance repair service in a web browser.
[0100] In this way, by performing clear operations at each step, a system can be realized that consistently responds to inquiries from a variety of user interfaces and provides high-quality service.
[0101] Example 1
[0102] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0103] Currently, when users access AI services through different interfaces (web, voice assistant, messaging app, etc.), different processing methods and response formats are required for each interface. This makes it difficult to provide a consistent user experience, resulting in reduced user convenience. Furthermore, companies face the cost and effort of managing and responding to different interfaces.
[0104] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0105] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and querying the generative AI model, a response determining means for receiving a response from the generative AI model and determining the optimal response method, and a transmitting means for transmitting a response to the user according to the determined response method, thereby enabling the provision of consistent AI services across different interfaces.
[0106] "Different interfaces" refers to the different ways a user can access a system, such as through web requests, voice data, or text messages.
[0107] "User request" refers to an inquiry or instruction given by a user to the system.
[0108] "Receiving means" refers to a means having the function of receiving user requests from different interfaces.
[0109] "Analysis means" refers to the means for analyzing received user requests and extracting the user's intentions and necessary information.
[0110] "Natural language processing algorithms" are algorithms for understanding and analyzing text data, and refer to the technology used to extract user intent.
[0111] "Query means" refers to the means of constructing query content based on the analyzed content and sending it to the generative AI model.
[0112] A "generative AI model" refers to an artificial intelligence model that generates appropriate answers based on input prompts.
[0113] "Response determination means" refers to a means for receiving a response from a generative AI model and determining the optimal response method.
[0114] "Transmission means" refers to means for transmitting a reply to the user in accordance with the determined reply method.
[0115] "API" refers to an interface for exchanging functions and data between different software.
[0116] The present invention provides an embodiment of a system that allows users to receive consistent AI services even when using different interfaces. The system in this invention comprises a receiving means, an analyzing means, an inquiry means, a response determining means, and a sending means.
[0117] Receiving means
[0118] Device: A web request is generated when a user enters an inquiry into a web form and presses the send button. Also, when a user sends a message using the LINE app, that message is received.
[0119] Server: Receives requests from the web interface as HTTP requests and receives messages from the LINE interface as Webhooks, allowing you to manage data from different interfaces in one place.
[0120] Analysis means
[0121] Server: Uses natural language processing (NLP) algorithms to analyze incoming user requests. Specifically, it uses libraries such as TensorFlow and NLTK (Natural Language Toolkit) to analyze text data and extract user intent. If audio data is included, it converts the audio to text using speech recognition technologies such as IBM Watson and Google Cloud Speech-to-Text.
[0122] Contact methods
[0123] Server: Constructs a query based on the analyzed content and queries the generative AI model. Specifically, based on the user's intent, it sends the following prompt to the generative AI model:
[0124] Please let me know the latest promotion information.
[0125] The generative AI model generates an appropriate answer based on this prompt.
[0126] Response determination and transmission methods
[0127] Server: Receives the response data from the generative AI model and parses it in JSON format. It then determines how to respond based on the user's profile and the request content. For example, if it's a web request, it responds as an HTTP response, and if it's a LINE message, it responds using the LINE Messaging API.
[0128] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[0129] Specific examples
[0130] Example 1: Web inquiry
[0131] 1. User: Enters "I would like to know about the delivery progress" into the web form and presses the submit button.
[0132] 2. Server: Receives the request as an HTTP request and uses analysis tools to extract the keyword "Delivery progress."
[0133] 3. Server: Based on the extracted keywords, query the generative AI model about the "progress of delivery."
[0134] 4. Generative AI model: Generates an answer such as "The delivery is currently arriving at the local delivery center" and replies to the server.
[0135] 5. Server: The server displays the received answer in the web browser for the user to review.
[0136] Example 2: LINE inquiry
[0137] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[0138] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[0139] 3. Server: Query the generative AI model based on this information.
[0140] 4. Generative AI model: Generates the answer "The new product will be released at the end of next month" and replies to the server.
[0141] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[0142] This embodiment can process requests from different interfaces in a unified manner, providing a consistent AI experience to a variety of users. This system can also improve the efficiency of inquiries for companies.
[0143] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0144] Step 1: Receiving a user request
[0145] Device: A user enters their inquiry into a web form and presses the submit button. The input is text data such as "I'd like to know about the latest promotions."
[0146] What happens: A user opens a form in a web browser, enters "Tell me about our latest promotions" into the input field, and clicks the submit button. The web form sends an HTTP request to the server.
[0147] Output: The HTTP request sent from the web interface reaches the server.
[0148] Step 2: Getting and parsing the request
[0149] Server: Takes the incoming HTTP request from the web interface, which contains the user's query as input.
[0150] What happens: The server parses the HTTP request and extracts the contents of the request body, which contains the text "Tell me about the latest promotions."
[0151] Output: The text data extracted from the request.
[0152] Step 3: Analyze user intent
[0153] Server: Analyzes the received text data and extracts the user's intent using natural language processing (NLP) algorithms. The input is the text data from the previous step.
[0154] What it does: The server uses an NLP library such as TensorFlow or NLTK to analyze the text and extract the keyword "latest promotions."
[0155] Output: The extracted keywords are generated.
[0156] Step 4: Building a query for the AI engine
[0157] Server: Generates a prompt sentence based on the extracted keywords. The input is the keyword "latest promotions."
[0158] Specific behavior: The server constructs a prompt sentence, "Please tell me about the latest promotional information," and prepares an API request to send to the generative AI model.
[0159] Output: The constructed prompt statement and the API request.
[0160] Step 5: Querying the generative AI model
[0161] Server: Sends the constructed API request to the generative AI model, including the prompt "What are the latest promotions?" as input.
[0162] What happens: The server sends an API request to a generative AI model (e.g., GPT-3) and waits for an appropriate response.
[0163] Output: The response data returned by the generative AI model.
[0164] Step 6: Receiving and optimizing responses
[0165] Server: Receives responses from the generative AI model and determines the optimal response method. The input is the response data from the generative AI model.
[0166] Specific operation: The server analyzes the text data returned by the generative AI model (e.g., "We are currently offering a 20% discount campaign for new customers") and determines which interface to use to respond to the user.
[0167] Output: Optimized response data and response method.
[0168] Step 7: Send a response to the user
[0169] Server: Sends optimized response data to the user. Input includes the response data and destination interface information.
[0170] Specific operation: In the case of a LINE message, the server sends a reply using the LINE Messaging API. In the case of a web message, the server displays the reply in the browser via an HTTP response.
[0171] Output: The response information displayed to the user.
[0172] This series of processes enables consistent provision of AI services across different interfaces.
[0173] (Application example 1)
[0174] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0175] In modern autonomous vehicles, requests made by users through different interfaces (voice, text, display, etc.) can be inconsistent. This creates a fragmented user experience, making it difficult to efficiently obtain information and support. Centrally managing and processing requests from different interfaces, especially within the vehicle, is technically complex and requires a unified user experience.
[0176] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0177] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and sending the query to an AI service, a response determining means for receiving a response from the AI service and determining the optimal response method, a transmitting means for sending a response to the user according to the determined response method, and a means for receiving and unifying requests in the autonomous vehicle via voice, text, and on-board display. This makes it possible to centrally process user requests in the autonomous vehicle and provide a unified and consistent experience.
[0178] "Different interfaces" refers to multiple input methods that users can use to enter information, such as voice, text, or an in-vehicle display.
[0179] "User Request" means an inquiry or instruction regarding information or services sought by a User.
[0180] A "receiving means" is a mechanism that includes multiple APIs for receiving user requests from different interfaces.
[0181] "Analysis means" refers to a function that includes a natural language processing algorithm and voice recognition technology for analyzing received user requests and extracting the user's intent and necessary information.
[0182] "Inquiry method" is a function that constructs inquiry content based on the analyzed content and sends it to the AI service.
[0183] A "response determination means" is a mechanism for analyzing the response received from the AI service and determining the optimal response method.
[0184] "Transmission means" is a function for transmitting a reply to the user in accordance with the determined reply method.
[0185] An "autonomous vehicle" is a vehicle that is capable of driving autonomously using technologies such as artificial intelligence.
[0186] This invention is a system for providing consistent AI services when a user makes requests through different interfaces in an autonomous vehicle. The following describes a specific embodiment for realizing this system.
[0187] Hardware and Software
[0188] Hardware used
[0189] Server machine: the computer running the Flask server
[0190] Autonomous vehicles: vehicles equipped with voice recognition systems, text input systems, and on-board displays
[0191] Software used
[0192] Flask: a web framework for handling HTTP requests
[0193] Transformers: Hugging Face's Natural Language Processing Library
[0194] AI Engine: Hugging Face Pipeline
[0195] Natural Language Processing Algorithms: NLP Models for Extracting User Intent
[0196] Speech recognition technology: Technology that converts voice data into text
[0197] Program processing explanation
[0198] Receiving a request
[0199] The server terminal uses multiple APIs to receive user requests from different interfaces, such as web requests, voice data, text messages, and requests from in-vehicle interfaces. For example, a request such as "What is the current traffic situation?" is received via the voice recognition system in an autonomous vehicle.
[0200] Parsing the request
[0201] The server uses natural language processing algorithms to analyze the received request. The voice data is converted into text using speech recognition technology. The analysis means then extracts the user's intent and required information. For example, if a user requests "find the nearest gas station," the analysis means extracts the intent that "I want to know the location of the gas station."
[0202] Inquiry to AI engine
[0203] Based on the analyzed content, a query is sent to the AI engine. Based on the query, the AI engine generates an appropriate response. For example, a query may be sent such as, "Please provide information about the location of gas stations."
[0204] Deciding how to respond and responding to the user
[0205] After receiving the response from the AI engine, the server determines the optimal response method and then sends the response to the user in the determined manner (voice response, text message, display on the in-car display, etc.). For example, a response such as "The nearest gas station is 2 km away" may be displayed on the in-car display.
[0206] Specific examples
[0207] Suppose a user requests "What is the current traffic situation?" via a voice recognition system in an autonomous vehicle. This request is processed by the server as the following prompt:
[0208] Example prompt:
[0209] What is the current traffic situation?
[0210] The server analyzes the request, extracts the user's intent, and queries the AI engine. The AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit." The server then displays this on the in-car display.
[0211] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0212] Step 1:
[0213] The user makes a request through the voice recognition system in the autonomous vehicle. For example, the user says, "Tell me the current traffic situation." The voice recognition system receives this voice data and sends it to the server.
[0214] Input: User's voice request: "What are the current traffic conditions?"
[0215] Output: Audio data
[0216] Step 2:
[0217] Converts voice data into text. The server uses voice recognition technology to convert voice data into text. For example, converts voice data such as "Please tell me the current traffic situation" into text data.
[0218] Input: Audio data
[0219] Output: Text data "What is the current traffic situation?"
[0220] Step 3:
[0221] The server analyzes the received text data and extracts the user's intent using a natural language processing algorithm. Here, the server uses an NLP model to analyze the text data and identify important keywords and intents. For example, it extracts the intent "I want to know about traffic conditions."
[0222] Input: Text data "What is the current traffic situation?"
[0223] Output: Extracted intent: "I want to know the traffic situation."
[0224] Step 4:
[0225] Based on the analyzed intent, the server queries the AI engine. The server then constructs an appropriate query based on the intent and sends it to the AI engine. For example, the server may ask the AI engine, "Please provide the current traffic conditions."
[0226] Input: Extracted intent: "I want to know about traffic conditions"
[0227] Output: Constructed query "Please provide the current traffic conditions."
[0228] Step 5:
[0229] The AI engine generates an appropriate response to the query it receives. Using the generative AI model, the AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit."
[0230] Input: Constructed query: "Please provide the current traffic conditions."
[0231] Output: Response "Traffic is currently smooth. There may be congestion at the next exit."
[0232] Step 6:
[0233] The server receives the generated response and determines the best way to respond to the user. In this case, it determines that displaying the response on the in-vehicle display is appropriate. The server then converts the response content into a format that can be sent to the in-vehicle display.
[0234] Input: Response: "Traffic is currently moving smoothly. There may be congestion at the next exit."
[0235] Output: Text data for display
[0236] Step 7:
[0237] The server then sends the converted response data to the vehicle's display, where it is displayed for the user to view. The user can then check the current traffic conditions through the display.
[0238] Input: Text data to be displayed on the screen
[0239] Output: Response displayed on the vehicle display
[0240] By following the steps outlined above, users can receive consistent AI services within self-driving vehicles.
[0241] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0242] The present invention provides an embodiment of a system that receives user requests from different interfaces, queries an AI service for responses, and combines an emotion engine that analyzes user emotions.
[0243] System Overview
[0244] The system receives user requests from various interfaces, such as the web, telephone, voice assistant, and LINE, and analyzes the user's intentions and emotions. Based on the analysis results, it queries an AI service and provides an appropriate response that reflects the user's emotions. Its main functions consist of a receiving means, an analyzing means, a querying means, an emotion engine, a response determining means, and a sending means.
[0245] Program processing
[0246] 1. Receiving user requests
[0247] Device: A user enters an inquiry into a web form (e.g., "I'd like to know about new products") and clicks the submit button.
[0248] On the device: The user also asks the voice assistant, "How's the delivery going?"
[0249] 2. Receiving and analyzing requests
[0250] Server: Receives requests from the web interface as HTTP requests and voice data from the voice assistant as webhooks.
[0251] Server: Analyzes the received data using analytical means to extract the user's intent and keywords. If necessary, uses voice recognition technology to convert the voice data into text.
[0252] 3. User sentiment analysis
[0253] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if the user says, "I'm frustrated because the delivery is late," that emotion is extracted.
[0254] 4. Build your inquiry
[0255] Server: Based on the analyzed intent and emotion data, the server constructs the query content. For example, if a user is frustrated about the progress of their delivery, the server constructs a query that prioritizes checking the delivery status.
[0256] 5. Send a query to the AI engine
[0257] Server: Sends the constructed query content to the AI engine.
[0258] AI engine: Generates appropriate answers based on the inquiry.
[0259] 6. Receive a response
[0260] Server: Receives response data from the AI engine. For example, "The delivery is currently arriving at the local delivery center. We apologize for the inconvenience."
[0261] 7. Determine the best way to respond
[0262] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[0263] 8. Send a response to the user
[0264] Server: Sends a response to the user according to the selected response method. For web, it displays the response in the browser, and for voice assistants, it responds with a voice message.
[0265] User: Receives and confirms the submitted response.
[0266] Specific examples
[0267] Example 1: Web inquiry
[0268] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and submits it.
[0269] 2. Server: Analyzes the received request as an HTTP request and extracts keywords for "new product release information."
[0270] 3. Server: Analyze the user's emotions using the emotion engine, and if there is no particular emotion, process it as a normal inquiry.
[0271] 4. Server: Queries the AI engine for "new product release information."
[0272] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[0273] 6. Server: Displays the received response in the web browser.
[0274] Example 2: LINE inquiry
[0275] 1. User: Sends a message on LINE saying, "The delivery is delayed. What's going on?"
[0276] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[0277] 3. Server: Use the emotion engine to extract the emotion "irritated" from the user's message.
[0278] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[0279] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[0280] 6. Server: Send the reply as a LINE message.
[0281] 7. User: Receives a message on LINE and checks for a reply.
[0282] In this embodiment, user satisfaction can be significantly improved by analyzing user emotions along with requests from different interfaces and providing a consistent AI experience that meets individual needs.
[0283] The processing flow will be explained below.
[0284] Step 1:
[0285] User submits a request
[0286] User: For example, a user fills in a contact form in a web browser with the question "Tell me about home appliance repair services" and clicks the submit button.
[0287] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[0288] Step 2:
[0289] The server receives the request
[0290] Server: Receives the HTTP request sent from the web browser.
[0291] Server: Receives the voice data sent from the voice assistant and converts it into a data format.
[0292] Step 3:
[0293] Parsing the request
[0294] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[0295] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[0296] Step 4:
[0297] User sentiment analysis
[0298] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if a message expresses "irritation" or "dissatisfaction," that emotion is extracted.
[0299] Step 5:
[0300] Build your inquiry
[0301] Server: Based on the analyzed intent and sentiment data, the server constructs a query, such as "More details about home appliance repair services."
[0302] Server: Adjusts query content based on emotional data. For example, if a user is "irritated," prioritize queries that take emotion into account.
[0303] Step 6:
[0304] Sending queries to the AI engine
[0305] Server: Sends the constructed query content to the AI engine.
[0306] AI engine: Receives inquiries and generates appropriate answers.
[0307] Step 7:
[0308] Receiving a response
[0309] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[0310] Step 8:
[0311] Decide how best to respond
[0312] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[0313] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[0314] Step 9:
[0315] Send a response to the user
[0316] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[0317] User: Receives the sent response and checks its contents, for example, checking the opening hours of the repair service.
[0318] Specific examples
[0319] Example 1: Web inquiry
[0320] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and clicks the submit button.
[0321] 2. Server: Analyzes the received HTTP request using an analysis means and extracts keywords related to "new product release information."
[0322] 3. Server: Use the emotion engine, and if no special emotion is detected, process it as a normal query.
[0323] 4. Server: Queries the AI engine for "new product release information."
[0324] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[0325] 6. Server: Displays the received response in the web browser.
[0326] Example 2: LINE inquiry
[0327] 1. User: Sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[0328] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[0329] 3. Server: Uses an emotion engine to extract the "irritated" emotion from the user's message.
[0330] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[0331] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[0332] 6. Server: Send the reply as a LINE message.
[0333] 7. User: Receives a message on LINE. Sees the reply and may feel better.
[0334] In this way, this system is expected to improve user satisfaction by analyzing user requests and their emotions and providing optimal responses through AI services.
[0335] Example 2
[0336] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0337] In modern society, there is an increasing demand for systems that can efficiently process user requests from a variety of interfaces and provide appropriate responses. Conventional systems have had difficulty managing requests from different interfaces in a unified manner and generating responses that reflect the user's emotions. This has led to issues such as a decrease in user satisfaction and problems with the efficiency of the system itself.
[0338] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0339] In this invention, the server includes receiving means for receiving user requests from different interfaces, analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, emotion recognition means for analyzing the emotions contained in the user requests, querying means for formulating query content based on the analyzed content and emotion information and querying the knowledge base system, response determination means for receiving a response from the knowledge base system and determining the optimal response method, and sending means for transmitting a response to the user in accordance with the determined response method. This makes it possible to efficiently process requests from a variety of interfaces and provide an appropriate response according to the user's emotions.
[0340] "Receiving means" is a means for receiving user requests from different interfaces.
[0341] The "analysis means" is a means for analyzing a received user request and extracting the user's intentions and necessary information.
[0342] The "emotion recognition means" is a means for analyzing the emotions contained in a user request.
[0343] The "query means" is a means for constructing a query based on the analyzed content and emotion information and making a query to the knowledge base system.
[0344] The "answer determination means" is a means for receiving a response from the knowledge base system and determining the most appropriate response method.
[0345] The "transmission means" is a means for transmitting a reply to the user in accordance with the determined reply method.
[0346] An "interface" is a point of contact through which users and systems communicate with each other.
[0347] "User Request" means a question or request submitted by a User to the System.
[0348] "Emotion" refers to the psychological state the user is in when making a request.
[0349] A "knowledge-based system" is a system that has the knowledge to generate a response based on the content of a query.
[0350] The present invention provides an embodiment of a system that receives user requests from different interfaces, combines an emotion engine that analyzes user emotions, and queries a knowledge-based system to provide a response. This system receives user requests from different interfaces, such as the web, telephone, voice assistant, and text message, and analyzes the user's intentions and emotions. Based on the analysis results, the system queries the knowledge-based system and provides an appropriate response that reflects the user's emotions.
[0351] System configuration
[0352] This system is composed of a receiving means, an analyzing means, an emotion recognition means, an inquiry means, a reply determination means, and a sending means. Specifically, the following hardware and software are used:
[0353] Hardware
[0354] Server: Receives requests, analyzes them, recognizes emotions, queries them, and sends responses.
[0355] Device: The device used by the user (e.g., smartphone, PC, voice assistant device).
[0356] software
[0357] Receiving method: API for receiving HTTP requests, Webhook requests, etc.
[0358] Analysis method: Natural Language Processing (NLP) algorithms. For example, Google Natural Language API.
[0359] Emotion recognizer: An engine for analyzing emotions. For example, IBM Watson Tone Analyzer.
[0360] Interrogation: The ability to construct and send prompts to generative AI models, such as OpenAI GPT-3.
[0361] Response determination method: A function that determines the optimal response method based on the received response data and the user's emotional information.
[0362] Sending method: An API for sending a reply to the user. For example, LINE Messaging API, a speech synthesis engine (Amazon Polly).
[0363] A concrete example of the processing flow
[0364] Example 1: Web inquiry
[0365] 1. The user opens a web browser, enters "Please tell me about new product release information" into the inquiry form, and submits it.
[0366] 2. The terminal sends this inquiry to the server as an HTTP request.
[0367] 3. The server sends the received HTTP request to an analysis method (Google Natural Language API) and extracts the user's intent, "new product release information."
[0368] 4. The server uses emotion recognition (IBM Watson Tone Analyzer) to confirm that the user does not have any particular emotion.
[0369] 5. The server uses the query means to send a prompt regarding "new product release information" to the generative AI model (OpenAI GPT-3).
[0370] Example prompt: "What new product release information do you have?"
[0371] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "The new product will be released at the end of next month."
[0372] 7. The server converts the received response into HTML format and displays it in the web browser.
[0373] 8. The user checks the response displayed in their web browser.
[0374] Example 2: LINE inquiry
[0375] 1. The user sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[0376] 2. The device sends this message to the server as a webhook request.
[0377] 3. The server sends the received message data to an analysis tool (Google Natural Language API) to extract the keywords and intent of "delivery progress."
[0378] 4. The server uses an emotion recognition tool (IBM Watson Tone Analyzer) to extract the user's "irritated" emotion.
[0379] 5. The server constructs a query for the "user frustrated with the delivery progress" and sends the prompt to the generative AI model (OpenAI GPT-3).
[0380] Example prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[0381] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "Your delivery is currently arriving at your local delivery center. We apologize for the inconvenience."
[0382] 7. The server generates and sends the reply as a LINE message.
[0383] 8. The user checks the message received on LINE and understands the reply.
[0384] This makes it possible to efficiently process requests from different interfaces and provide appropriate responses according to the user's emotions.
[0385] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0386] Specific steps of the program's processing
[0387] Step 1: Receive a user request
[0388] Input: User request (e.g., web form entry, voice command to a voice assistant)
[0389] Operation:
[0390] A user fills out a web form with the request "Tell me about new product releases" and submits it.
[0391] The device asks the voice assistant, "How's the delivery going?"
[0392] Output: User request data
[0393] Examples: web form input data, voice command audio data
[0394] Step 2: Receiving and parsing the request
[0395] Input: User request data (generated in step 1)
[0396] Operation:
[0397] The server parses the HTTP requests received from the web interface and extracts the user input.
[0398] The server parses the webhook request received from the voice assistant and extracts the audio data.
[0399] The server converts the voice data into text using a speech recognition engine (e.g., Google Speech-to-Text API).
[0400] The server analyzes the text data using an NLP (natural language processing) algorithm to extract the user's intent and keywords.
[0401] Output: User intent and keywords (text format)
[0402] Examples: "New product release information", "Delivery progress"
[0403] Step 3: Analyze user sentiment
[0404] Input: User intent or keywords (generated in step 2)
[0405] Operation:
[0406] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize the user's emotion from the analyzed text data.
[0407] The server extracts emotional information such as "irritated" and stores it in a database.
[0408] Output: Emotional information
[0409] Examples: "I'm frustrated" and "I'm happy"
[0410] Step 4: Build your inquiry
[0411] Input: User intent, keywords, and sentiment information (generated in step 3)
[0412] Operation:
[0413] The server constructs the query content based on the analyzed intent and emotion data.
[0414] If the server is a "user who is frustrated about the delivery progress," it will prioritize creating a query to check the delivery status.
[0415] Output: Inquiry details
[0416] Example: "Delivery progress check query"
[0417] Step 5: Send the query to the AI engine
[0418] Input: Enquiry (generated in step 4)
[0419] Operation:
[0420] The server generates a prompt to send the constructed query to an AI engine (e.g., OpenAI GPT-3).
[0421] The server sends the generated prompt to the AI engine.
[0422] Output: Send prompt to AI engine
[0423] Examples:
[0424] Prompt: "What new product release information do you have?"
[0425] Prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[0426] Step 6: Receive a response
[0427] Input: Prompt transmission result to AI engine (sent in step 5)
[0428] Operation:
[0429] The AI engine generates appropriate answers based on the inquiry.
[0430] The server receives the response data from the AI engine.
[0431] The server may receive a response such as, "Your delivery is currently arriving at your local delivery center. We apologize for any inconvenience caused."
[0432] Output: Response data from the AI engine
[0433] Examples include: "New products will be available at the end of next month" or "Your delivery is currently arriving at your local distribution center. We apologize for any inconvenience."
[0434] Step 7: Decide how best to respond
[0435] Input: Response data from the AI engine, emotion information (received in step 6)
[0436] Operation:
[0437] Based on the response data received by the server and the user's emotional information, the optimal response method (text, voice, LINE message, etc.) is determined.
[0438] The server constructs the optimal response message based on rules such as "if the customer is irritated, add an apology or words of sympathy."
[0439] Output: Best reply message
[0440] Example: "We apologize for the inconvenience. Your delivery is currently on its way to your local distribution center."
[0441] Step 8: Send a response to the user
[0442] Input: Best reply message (generated in step 7)
[0443] Operation:
[0444] The server sends a response to the user according to the selected response method.
[0445] For the web: The response data is converted to HTML format and displayed in the browser.
[0446] For voice assistants: Pass the text data to a speech synthesis engine (e.g., Amazon Polly), generate speech data, and provide a voice response.
[0447] For LINE: Use the LINE Messaging API to create and send a reply message.
[0448] The user receives and confirms the response sent.
[0449] Output: The reply sent to the user
[0450] Examples: Answers displayed in a web browser, messages received on LINE
[0451] This makes it possible to provide responses that improve user satisfaction based on highly accurate request analysis and emotional understanding.
[0452] (Application example 2)
[0453] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0454] In modern electronic payment services, it is common for users to respond to inquiries or problems in a uniform manner that ignores their emotions. However, this often results in a poor user experience, leaving them dissatisfied and stressed. Furthermore, there is no unified system for handling requests from various interfaces, which makes management complicated. To solve these issues, a system that takes user emotions into consideration and provides appropriate responses is needed.
[0455] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0456] In this invention, the server includes receiving means for receiving user requests from different interfaces, analysis means for analyzing the received user requests and extracting the user's intentions and necessary information, an emotion engine for analyzing the user's emotions, query means for formulating query content based on the analyzed content and querying the AI service, response determination means for modifying the response from the AI service based on the user's emotions analyzed by the emotion engine, and transmission means for sending a response to the user in accordance with the determined response method, thereby enabling a quick and appropriate response that takes the user's emotions into consideration.
[0457] "Different interfaces" refers to multiple forms of data, such as web requests, voice data, and text messages.
[0458] "User request" refers to an inquiry, instruction, question, or other input made by a user to the system.
[0459] "Receiving means" refers to devices or processes for receiving user requests from different interfaces.
[0460] "Analysis means" refers to a device or process for analyzing a received user request and extracting the user's intentions and necessary information.
[0461] "Query means" refers to the device or process used to construct a query based on the analyzed content and make a query to the AI service.
[0462] An "emotion engine" refers to a device or process for analyzing emotions from user requests and extracting emotional information.
[0463] "Response determination means" refers to a device or process for determining the optimal response by modifying the response received from the AI service based on the user's emotions analyzed by the emotion engine.
[0464] "Transmission means" refers to a device or process for transmitting a response to a user according to a determined response method.
[0465] This invention describes a specific embodiment of a system that combines an emotion engine to analyze user emotions, receives user requests from different interfaces, and queries AI services to provide responses.
[0466] System Overview
[0467] The system includes the following means:
[0468] Receiving means
[0469] The server utilizes multiple APIs and webhooks to receive data in different formats, such as web requests, voice data, text messages, etc. This allows it to respond to requests from any interface the user uses.
[0470] Analysis means
[0471] The server analyzes the received user request using a natural language processing algorithm (e.g., Spacy, NLTK) to extract the user's intent and necessary information. In the case of voice data, it converts it into text using voice recognition technology (e.g., Google Speech-to-Text).
[0472] Emotion Engine
[0473] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text and voice data. For example, if a user asks, "I'm having trouble paying my bills. What should I do?", the server extracts the emotion of confusion.
[0474] Contact methods
[0475] Based on the analyzed intent and emotion data, the server constructs an inquiry to an AI service (e.g., OpenAI GPT-4) and sends it as a query.
[0476] Response determination method
[0477] The server receives the response from the AI service and makes appropriate adjustments based on the user's emotions, for example adding reassuring words to the response if the user expresses impatience.
[0478] Transmission method
[0479] After the response is determined, the server sends the response in the most appropriate format depending on the user's original interface (web, voice assistant, LINE). For example, it displays the response as text on the web and responds verbally to a voice assistant.
[0480] Specific examples
[0481] Example 1: Web inquiry
[0482] The user enters "Please tell me my point balance" into an inquiry form in a web browser and submits it. The server receives the request, analyzes it using an NLP algorithm, and extracts the intention to check the point balance. The emotion engine recognizes the user's impatience. An inquiry based on "checking the point balance and the emotion of impatience" is sent to the AI engine, which generates a response saying, "Your current point balance is 1,000 points. We apologize for the inconvenience." The server displays the response in the web browser.
[0483] Example 2: Voice assistant
[0484] The user speaks to the voice assistant saying, "I'm having trouble with my late payment. What should I do?" The server receives the voice data as a webhook and converts it into text using speech recognition technology. It analyzes it using an NLP algorithm and extracts the user's intention to resolve the late payment. The emotion engine recognizes the user's confusion. An inquiry is sent to the AI engine based on "resolving the late payment and the emotion of confusion," and a response is generated saying, "Please contact customer support." The server then responds via the voice assistant.
[0485] Examples of prompt statements
[0486] The user asks, "What's my points balance?" Recognize that the user is impatient.
[0487] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0488] Step 1:
[0489] Receiving user requests
[0490] A user enters their inquiry into a web form (e.g., "What is my point balance?") and clicks the submit button. This input data is sent to the server via a web API. Alternatively, if a user speaks to a voice assistant, saying, "My payment is late and I'm having trouble, what should I do?", the voice data is sent to the server via a webhook. The input data can be text or voice data.
[0491] Step 2:
[0492] Parsing the request data
[0493] The server analyzes the received user request using an analysis method. In the case of text data, natural language processing algorithms (e.g., Spacy, NLTK) are used to extract the user's intent and keywords. In the case of audio data, speech recognition technology (e.g., Google Speech-to-Text) is used to convert it into text, which is then similarly analyzed using NLP algorithms. The input is text or audio data, and the output is analyzed intent and keyword data.
[0494] Step 3:
[0495] User sentiment analysis
[0496] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text data and voice data. For example, it extracts the emotion of impatience from the request "Tell me my point balance." The input of this step is the analyzed text data, and the output is the user's emotion data.
[0497] Step 4:
[0498] Build your inquiry
[0499] The server constructs the query content based on the analyzed intent and emotion data. For example, it creates a query to send to the AI engine based on "check point balance" and "feelings of impatience." The input to this step is intent data and emotion data, and the output is a query to send to the AI engine.
[0500] Step 5:
[0501] Sending queries to the AI engine
[0502] The server sends the constructed query to an AI engine (e.g., OpenAI GPT-4), which generates an appropriate answer based on the query. The input is the query, and the output is the response data from the AI engine.
[0503] Step 6:
[0504] Correct the response data
[0505] The server receives the response from the AI engine using the response determination means and makes optimal modifications based on the user's emotions. For example, if a user shows impatience, it adds words of reassurance to the response. The input is the response data from the AI engine, and the output is the modified response data.
[0506] Step 7:
[0507] Send a reply to the user
[0508] The server responds in the optimal format according to the user's original interface (web, voice assistant, LINE, etc.) based on the determined response method. In the case of the web, the response is displayed as text in the browser, and in the case of a voice assistant, the response is given by voice. The input is the modified response data, and the output is a web page, a voice response, a LINE message, etc.
[0509] This allows for flexible and appropriate responses that take into account the user's feelings.
[0510] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0511] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0512] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0513] [Second embodiment]
[0514] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0515] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0516] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0517] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0518] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0519] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0520] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0521] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0522] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0523] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0524] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0525] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0526] The present invention provides an embodiment of a system that enables users to receive consistent AI services even while using different interfaces.
[0527] System Overview
[0528] This system receives user requests from multiple interfaces, such as the web, telephone, voice assistants, and LINE, analyzes them, queries AI services, and responds appropriately to the user. Its main functions consist of a receiving means, an analyzing means, a querying means, a response determining means, and a sending means.
[0529] Program processing
[0530] 1. Receiving user requests
[0531] Device: A user enters their inquiry into a web form (e.g., "I'd like to know about the latest promotions") and clicks the submit button.
[0532] Device: The user uses the LINE app to send a message saying, "Tell me the current campaign conditions."
[0533] 2. Receiving and analyzing requests
[0534] Server: Receives requests received from the web interface as HTTP requests and messages received from the LINE interface as Webhooks.
[0535] Server: Analyzes the received data and uses natural language processing algorithms to extract the user's intent. If necessary, uses speech recognition technology to convert the voice data into text.
[0536] 3. Querying the AI engine
[0537] Server: Builds a query based on the analyzed content and sends a clear query such as "latest promotion information" to the AI service.
[0538] AI service: Generates appropriate answers to incoming inquiries.
[0539] 4. Respond the way users want
[0540] Server: Receives response data from the AI service, such as "We are currently offering a 20% discount campaign for new customers."
[0541] Server: Determines how to respond based on the user's profile and request, for example, a text message, a voice response, or a LINE message.
[0542] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[0543] Specific examples
[0544] Example 1: Web inquiry
[0545] 1. User: Enters "I would like to know about the delivery status" into the inquiry form in a web browser and submits it.
[0546] 2. Server: Receives the received request as an HTTP request and uses analytical means to extract the keyword "Delivery progress".
[0547] 3. Server: Based on the extracted keywords, queries the AI service about the progress of delivery.
[0548] 4. AI service: Generates an answer saying, "The delivery is currently arriving at the local delivery center" and replies to the server.
[0549] 5. Server: The server displays the received answer in the web browser for the user to review.
[0550] Example 2: LINE inquiry
[0551] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[0552] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[0553] 3. Server: Queries the AI service based on this information.
[0554] 4. AI service: Generates an answer such as "The new product will be released at the end of next month" and sends it back to the server.
[0555] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[0556] This embodiment unifies the processing of requests from different interfaces, providing a consistent AI experience to a diverse range of users. This system improves user convenience while also enabling businesses to respond more efficiently to inquiries.
[0557] The processing flow will be explained below.
[0558] Step 1:
[0559] User submits a request
[0560] User: For example, a user enters "Tell me about home appliance repair services" into a contact form in a web browser and clicks the submit button.
[0561] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[0562] Step 2:
[0563] The server receives the request
[0564] Server: Receives the HTTP request sent from the web browser.
[0565] Server: Receives the voice data sent from the voice assistant.
[0566] Step 3:
[0567] Parsing the request
[0568] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[0569] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[0570] Step 4:
[0571] Build your inquiry
[0572] Server: Based on the analyzed data, the server constructs a query, for example, "For details about home appliance repair services."
[0573] Server: Prepares the constructed query to be sent to the AI engine.
[0574] Step 5:
[0575] Sending queries to the AI engine
[0576] Server: Sends the constructed query to the AI engine.
[0577] AI Engine: The AI engine receives the query and generates an appropriate answer.
[0578] Step 6:
[0579] Receiving a response
[0580] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[0581] Step 7:
[0582] Decide how best to respond
[0583] Server: Determines the best way to respond based on the user's profile and request, for example, via a web browser, voice assistant, or LINE message.
[0584] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[0585] Step 8:
[0586] Send a response to the user
[0587] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[0588] User: Checks the response sent and takes a corresponding action, for example checking the opening hours of an appliance repair service in a web browser.
[0589] In this way, by performing clear operations at each step, a system can be realized that consistently responds to inquiries from a variety of user interfaces and provides high-quality service.
[0590] Example 1
[0591] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0592] Currently, when users access AI services through different interfaces (web, voice assistant, messaging app, etc.), different processing methods and response formats are required for each interface. This makes it difficult to provide a consistent user experience, resulting in reduced user convenience. Furthermore, companies face the cost and effort of managing and responding to different interfaces.
[0593] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0594] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and querying the generative AI model, a response determining means for receiving a response from the generative AI model and determining the optimal response method, and a transmitting means for transmitting a response to the user according to the determined response method, thereby enabling the provision of consistent AI services across different interfaces.
[0595] "Different interfaces" refers to the different ways a user can access a system, such as through web requests, voice data, or text messages.
[0596] "User request" refers to an inquiry or instruction given by a user to the system.
[0597] "Receiving means" refers to a means having the function of receiving user requests from different interfaces.
[0598] "Analysis means" refers to the means for analyzing received user requests and extracting the user's intentions and necessary information.
[0599] "Natural language processing algorithms" are algorithms for understanding and analyzing text data, and refer to the technology used to extract user intent.
[0600] "Query means" refers to the means of constructing query content based on the analyzed content and sending it to the generative AI model.
[0601] A "generative AI model" refers to an artificial intelligence model that generates appropriate answers based on input prompts.
[0602] "Response determination means" refers to a means for receiving a response from a generative AI model and determining the optimal response method.
[0603] "Transmission means" refers to means for transmitting a reply to the user in accordance with the determined reply method.
[0604] "API" refers to an interface for exchanging functions and data between different software.
[0605] The present invention provides an embodiment of a system that allows users to receive consistent AI services even when using different interfaces. The system in this invention comprises a receiving means, an analyzing means, an inquiry means, a response determining means, and a sending means.
[0606] Receiving means
[0607] Device: A web request is generated when a user enters an inquiry into a web form and presses the send button. Also, when a user sends a message using the LINE app, that message is received.
[0608] Server: Receives requests from the web interface as HTTP requests and receives messages from the LINE interface as Webhooks, allowing you to manage data from different interfaces in one place.
[0609] Analysis means
[0610] Server: Uses natural language processing (NLP) algorithms to analyze incoming user requests. Specifically, it uses libraries such as TensorFlow and NLTK (Natural Language Toolkit) to analyze text data and extract user intent. If audio data is included, it converts the audio to text using speech recognition technologies such as IBM Watson and Google Cloud Speech-to-Text.
[0611] Contact methods
[0612] Server: Constructs a query based on the analyzed content and queries the generative AI model. Specifically, based on the user's intent, it sends the following prompt to the generative AI model:
[0613] Please let me know the latest promotion information.
[0614] The generative AI model generates an appropriate answer based on this prompt.
[0615] Response determination and transmission methods
[0616] Server: Receives the response data from the generative AI model and parses it in JSON format. It then determines how to respond based on the user's profile and the request content. For example, if it's a web request, it responds as an HTTP response, and if it's a LINE message, it responds using the LINE Messaging API.
[0617] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[0618] Specific examples
[0619] Example 1: Web inquiry
[0620] 1. User: Enters "I would like to know about the delivery progress" into the web form and presses the submit button.
[0621] 2. Server: Receives the request as an HTTP request and uses analysis tools to extract the keyword "Delivery progress."
[0622] 3. Server: Based on the extracted keywords, query the generative AI model about the "progress of delivery."
[0623] 4. Generative AI model: Generates an answer such as "The delivery is currently arriving at the local delivery center" and replies to the server.
[0624] 5. Server: The server displays the received answer in the web browser for the user to review.
[0625] Example 2: LINE inquiry
[0626] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[0627] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[0628] 3. Server: Query the generative AI model based on this information.
[0629] 4. Generative AI model: Generates the answer "The new product will be released at the end of next month" and replies to the server.
[0630] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[0631] This embodiment can process requests from different interfaces in a unified manner, providing a consistent AI experience to a variety of users. This system can also improve the efficiency of inquiries for companies.
[0632] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0633] Step 1: Receiving a user request
[0634] Device: A user enters their inquiry into a web form and presses the submit button. The input is text data such as "I'd like to know about the latest promotions."
[0635] What happens: A user opens a form in a web browser, enters "Tell me about our latest promotions" into the input field, and clicks the submit button. The web form sends an HTTP request to the server.
[0636] Output: The HTTP request sent from the web interface reaches the server.
[0637] Step 2: Getting and parsing the request
[0638] Server: Takes the incoming HTTP request from the web interface, which contains the user's query as input.
[0639] What happens: The server parses the HTTP request and extracts the contents of the request body, which contains the text "Tell me about the latest promotions."
[0640] Output: The text data extracted from the request.
[0641] Step 3: Analyze user intent
[0642] Server: Analyzes the received text data and extracts the user's intent using natural language processing (NLP) algorithms. The input is the text data from the previous step.
[0643] What it does: The server uses an NLP library such as TensorFlow or NLTK to analyze the text and extract the keyword "latest promotions."
[0644] Output: The extracted keywords are generated.
[0645] Step 4: Building a query for the AI engine
[0646] Server: Generates a prompt sentence based on the extracted keywords. The input is the keyword "latest promotions."
[0647] Specific behavior: The server constructs a prompt sentence, "Please tell me about the latest promotional information," and prepares an API request to send to the generative AI model.
[0648] Output: The constructed prompt statement and the API request.
[0649] Step 5: Querying the generative AI model
[0650] Server: Sends the constructed API request to the generative AI model, including the prompt "What are the latest promotions?" as input.
[0651] What happens: The server sends an API request to a generative AI model (e.g., GPT-3) and waits for an appropriate response.
[0652] Output: The response data returned by the generative AI model.
[0653] Step 6: Receiving and optimizing responses
[0654] Server: Receives responses from the generative AI model and determines the optimal response method. The input is the response data from the generative AI model.
[0655] Specific operation: The server analyzes the text data returned by the generative AI model (e.g., "We are currently offering a 20% discount campaign for new customers") and determines which interface to use to respond to the user.
[0656] Output: Optimized response data and response method.
[0657] Step 7: Send a response to the user
[0658] Server: Sends optimized response data to the user. Input includes the response data and destination interface information.
[0659] Specific operation: In the case of a LINE message, the server sends a reply using the LINE Messaging API. In the case of a web message, the server displays the reply in the browser via an HTTP response.
[0660] Output: The response information displayed to the user.
[0661] This series of processes enables consistent provision of AI services across different interfaces.
[0662] (Application example 1)
[0663] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0664] In modern autonomous vehicles, requests made by users through different interfaces (voice, text, display, etc.) can be inconsistent. This creates a fragmented user experience, making it difficult to efficiently obtain information and support. Centrally managing and processing requests from different interfaces, especially within the vehicle, is technically complex and requires a unified user experience.
[0665] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0666] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and sending the query to an AI service, a response determining means for receiving a response from the AI service and determining the optimal response method, a transmitting means for sending a response to the user according to the determined response method, and a means for receiving and unifying requests in the autonomous vehicle via voice, text, and on-board display. This makes it possible to centrally process user requests in the autonomous vehicle and provide a unified and consistent experience.
[0667] "Different interfaces" refers to multiple input methods that users can use to enter information, such as voice, text, or an in-vehicle display.
[0668] "User Request" means an inquiry or instruction regarding information or services sought by a User.
[0669] A "receiving means" is a mechanism that includes multiple APIs for receiving user requests from different interfaces.
[0670] "Analysis means" refers to a function that includes a natural language processing algorithm and voice recognition technology for analyzing received user requests and extracting the user's intent and necessary information.
[0671] "Inquiry method" is a function that constructs inquiry content based on the analyzed content and sends it to the AI service.
[0672] A "response determination means" is a mechanism for analyzing the response received from the AI service and determining the optimal response method.
[0673] "Transmission means" is a function for transmitting a reply to the user in accordance with the determined reply method.
[0674] An "autonomous vehicle" is a vehicle that is capable of driving autonomously using technologies such as artificial intelligence.
[0675] This invention is a system for providing consistent AI services when a user makes requests through different interfaces in an autonomous vehicle. The following describes a specific embodiment for realizing this system.
[0676] Hardware and Software
[0677] Hardware used
[0678] Server machine: the computer running the Flask server
[0679] Autonomous vehicles: vehicles equipped with voice recognition systems, text input systems, and on-board displays
[0680] Software used
[0681] Flask: a web framework for handling HTTP requests
[0682] Transformers: Hugging Face's Natural Language Processing Library
[0683] AI Engine: Hugging Face Pipeline
[0684] Natural Language Processing Algorithms: NLP Models for Extracting User Intent
[0685] Speech recognition technology: Technology that converts voice data into text
[0686] Program processing explanation
[0687] Receiving a request
[0688] The server terminal uses multiple APIs to receive user requests from different interfaces, such as web requests, voice data, text messages, and requests from in-vehicle interfaces. For example, a request such as "What is the current traffic situation?" is received via the voice recognition system in an autonomous vehicle.
[0689] Parsing the request
[0690] The server uses natural language processing algorithms to analyze the received request. The voice data is converted into text using speech recognition technology. The analysis means then extracts the user's intent and required information. For example, if a user requests "find the nearest gas station," the analysis means extracts the intent that "I want to know the location of the gas station."
[0691] Inquiry to AI engine
[0692] Based on the analyzed content, a query is sent to the AI engine. Based on the query, the AI engine generates an appropriate response. For example, a query may be sent such as, "Please provide information about the location of gas stations."
[0693] Deciding how to respond and responding to the user
[0694] After receiving the response from the AI engine, the server determines the optimal response method and then sends the response to the user in the determined manner (voice response, text message, display on the in-car display, etc.). For example, a response such as "The nearest gas station is 2 km away" may be displayed on the in-car display.
[0695] Specific examples
[0696] Suppose a user requests "What is the current traffic situation?" via a voice recognition system in an autonomous vehicle. This request is processed by the server as the following prompt:
[0697] Example prompt:
[0698] What is the current traffic situation?
[0699] The server analyzes the request, extracts the user's intent, and queries the AI engine. The AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit." The server then displays this on the in-car display.
[0700] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0701] Step 1:
[0702] The user makes a request through the voice recognition system in the autonomous vehicle. For example, the user says, "Tell me the current traffic situation." The voice recognition system receives this voice data and sends it to the server.
[0703] Input: User's voice request: "What are the current traffic conditions?"
[0704] Output: Audio data
[0705] Step 2:
[0706] Converts voice data into text. The server uses voice recognition technology to convert voice data into text. For example, converts voice data such as "Please tell me the current traffic situation" into text data.
[0707] Input: Audio data
[0708] Output: Text data "What is the current traffic situation?"
[0709] Step 3:
[0710] The server analyzes the received text data and extracts the user's intent using a natural language processing algorithm. Here, the server uses an NLP model to analyze the text data and identify important keywords and intents. For example, it extracts the intent "I want to know about traffic conditions."
[0711] Input: Text data "What is the current traffic situation?"
[0712] Output: Extracted intent: "I want to know the traffic situation."
[0713] Step 4:
[0714] Based on the analyzed intent, the server queries the AI engine. The server then constructs an appropriate query based on the intent and sends it to the AI engine. For example, the server may ask the AI engine, "Please provide the current traffic conditions."
[0715] Input: Extracted intent: "I want to know about traffic conditions"
[0716] Output: Constructed query "Please provide the current traffic conditions."
[0717] Step 5:
[0718] The AI engine generates an appropriate response to the query it receives. Using the generative AI model, the AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit."
[0719] Input: Constructed query: "Please provide the current traffic conditions."
[0720] Output: Response "Traffic is currently smooth. There may be congestion at the next exit."
[0721] Step 6:
[0722] The server receives the generated response and determines the best way to respond to the user. In this case, it determines that displaying the response on the in-vehicle display is appropriate. The server then converts the response content into a format that can be sent to the in-vehicle display.
[0723] Input: Response: "Traffic is currently moving smoothly. There may be congestion at the next exit."
[0724] Output: Text data for display
[0725] Step 7:
[0726] The server then sends the converted response data to the vehicle's display, where it is displayed for the user to view. The user can then check the current traffic conditions through the display.
[0727] Input: Text data to be displayed on the screen
[0728] Output: Response displayed on the vehicle display
[0729] By following the steps outlined above, users can receive consistent AI services within self-driving vehicles.
[0730] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0731] The present invention provides an embodiment of a system that receives user requests from different interfaces, queries an AI service for responses, and combines an emotion engine that analyzes user emotions.
[0732] System Overview
[0733] The system receives user requests from various interfaces, such as the web, telephone, voice assistant, and LINE, and analyzes the user's intentions and emotions. Based on the analysis results, it queries an AI service and provides an appropriate response that reflects the user's emotions. Its main functions consist of a receiving means, an analyzing means, a querying means, an emotion engine, a response determining means, and a sending means.
[0734] Program processing
[0735] 1. Receiving user requests
[0736] Device: A user enters an inquiry into a web form (e.g., "I'd like to know about new products") and clicks the submit button.
[0737] On the device: The user also asks the voice assistant, "How's the delivery going?"
[0738] 2. Receiving and analyzing requests
[0739] Server: Receives requests from the web interface as HTTP requests and voice data from the voice assistant as webhooks.
[0740] Server: Analyzes the received data using analytical means to extract the user's intent and keywords. If necessary, uses voice recognition technology to convert the voice data into text.
[0741] 3. User sentiment analysis
[0742] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if the user says, "I'm frustrated because the delivery is late," that emotion is extracted.
[0743] 4. Build your inquiry
[0744] Server: Based on the analyzed intent and emotion data, the server constructs the query content. For example, if a user is frustrated about the progress of their delivery, the server constructs a query that prioritizes checking the delivery status.
[0745] 5. Send a query to the AI engine
[0746] Server: Sends the constructed query content to the AI engine.
[0747] AI engine: Generates appropriate answers based on the inquiry.
[0748] 6. Receive a response
[0749] Server: Receives response data from the AI engine. For example, "The delivery is currently arriving at the local delivery center. We apologize for the inconvenience."
[0750] 7. Determine the best way to respond
[0751] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[0752] 8. Send a response to the user
[0753] Server: Sends a response to the user according to the selected response method. For web, it displays the response in the browser, and for voice assistants, it responds with a voice message.
[0754] User: Receives and confirms the submitted response.
[0755] Specific examples
[0756] Example 1: Web inquiry
[0757] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and submits it.
[0758] 2. Server: Analyzes the received request as an HTTP request and extracts keywords for "new product release information."
[0759] 3. Server: Analyze the user's emotions using the emotion engine, and if there is no particular emotion, process it as a normal inquiry.
[0760] 4. Server: Queries the AI engine for "new product release information."
[0761] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[0762] 6. Server: Displays the received response in the web browser.
[0763] Example 2: LINE inquiry
[0764] 1. User: Sends a message on LINE saying, "The delivery is delayed. What's going on?"
[0765] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[0766] 3. Server: Use the emotion engine to extract the emotion "irritated" from the user's message.
[0767] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[0768] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[0769] 6. Server: Send the reply as a LINE message.
[0770] 7. User: Receives a message on LINE and checks for a reply.
[0771] In this embodiment, user satisfaction can be significantly improved by analyzing user emotions along with requests from different interfaces and providing a consistent AI experience that meets individual needs.
[0772] The processing flow will be explained below.
[0773] Step 1:
[0774] User submits a request
[0775] User: For example, a user fills in a contact form in a web browser with the question "Tell me about home appliance repair services" and clicks the submit button.
[0776] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[0777] Step 2:
[0778] The server receives the request
[0779] Server: Receives the HTTP request sent from the web browser.
[0780] Server: Receives the voice data sent from the voice assistant and converts it into a data format.
[0781] Step 3:
[0782] Parsing the request
[0783] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[0784] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[0785] Step 4:
[0786] User sentiment analysis
[0787] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if a message expresses "irritation" or "dissatisfaction," that emotion is extracted.
[0788] Step 5:
[0789] Build your inquiry
[0790] Server: Based on the analyzed intent and sentiment data, the server constructs a query, such as "More details about home appliance repair services."
[0791] Server: Adjusts query content based on emotional data. For example, if a user is "irritated," prioritize queries that take emotion into account.
[0792] Step 6:
[0793] Sending queries to the AI engine
[0794] Server: Sends the constructed query content to the AI engine.
[0795] AI engine: Receives inquiries and generates appropriate answers.
[0796] Step 7:
[0797] Receiving a response
[0798] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[0799] Step 8:
[0800] Decide how best to respond
[0801] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[0802] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[0803] Step 9:
[0804] Send a response to the user
[0805] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[0806] User: Receives the sent response and checks its contents, for example, checking the opening hours of the repair service.
[0807] Specific examples
[0808] Example 1: Web inquiry
[0809] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and clicks the submit button.
[0810] 2. Server: Analyzes the received HTTP request using an analysis means and extracts keywords related to "new product release information."
[0811] 3. Server: Use the emotion engine, and if no special emotion is detected, process it as a normal query.
[0812] 4. Server: Queries the AI engine for "new product release information."
[0813] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[0814] 6. Server: Displays the received response in the web browser.
[0815] Example 2: LINE inquiry
[0816] 1. User: Sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[0817] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[0818] 3. Server: Uses an emotion engine to extract the "irritated" emotion from the user's message.
[0819] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[0820] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[0821] 6. Server: Send the reply as a LINE message.
[0822] 7. User: Receives a message on LINE. Sees the reply and may feel better.
[0823] In this way, this system is expected to improve user satisfaction by analyzing user requests and their emotions and providing optimal responses through AI services.
[0824] Example 2
[0825] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0826] In modern society, there is an increasing demand for systems that can efficiently process user requests from a variety of interfaces and provide appropriate responses. Conventional systems have had difficulty managing requests from different interfaces in a unified manner and generating responses that reflect the user's emotions. This has led to issues such as a decrease in user satisfaction and problems with the efficiency of the system itself.
[0827] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0828] In this invention, the server includes receiving means for receiving user requests from different interfaces, analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, emotion recognition means for analyzing the emotions contained in the user requests, querying means for formulating query content based on the analyzed content and emotion information and querying the knowledge base system, response determination means for receiving a response from the knowledge base system and determining the optimal response method, and sending means for transmitting a response to the user in accordance with the determined response method. This makes it possible to efficiently process requests from a variety of interfaces and provide an appropriate response according to the user's emotions.
[0829] "Receiving means" is a means for receiving user requests from different interfaces.
[0830] The "analysis means" is a means for analyzing a received user request and extracting the user's intentions and necessary information.
[0831] The "emotion recognition means" is a means for analyzing the emotions contained in a user request.
[0832] The "query means" is a means for constructing a query based on the analyzed content and emotion information and making a query to the knowledge base system.
[0833] The "answer determination means" is a means for receiving a response from the knowledge base system and determining the most appropriate response method.
[0834] The "transmission means" is a means for transmitting a reply to the user in accordance with the determined reply method.
[0835] An "interface" is a point of contact through which users and systems communicate with each other.
[0836] "User Request" means a question or request submitted by a User to the System.
[0837] "Emotion" refers to the psychological state the user is in when making a request.
[0838] A "knowledge-based system" is a system that has the knowledge to generate a response based on the content of a query.
[0839] The present invention provides an embodiment of a system that receives user requests from different interfaces, combines an emotion engine that analyzes user emotions, and queries a knowledge-based system to provide a response. This system receives user requests from different interfaces, such as the web, telephone, voice assistant, and text message, and analyzes the user's intentions and emotions. Based on the analysis results, the system queries the knowledge-based system and provides an appropriate response that reflects the user's emotions.
[0840] System configuration
[0841] This system is composed of a receiving means, an analyzing means, an emotion recognition means, an inquiry means, a reply determination means, and a sending means. Specifically, the following hardware and software are used:
[0842] Hardware
[0843] Server: Receives requests, analyzes them, recognizes emotions, queries them, and sends responses.
[0844] Device: The device used by the user (e.g., smartphone, PC, voice assistant device).
[0845] software
[0846] Receiving method: API for receiving HTTP requests, Webhook requests, etc.
[0847] Analysis method: Natural Language Processing (NLP) algorithms. For example, Google Natural Language API.
[0848] Emotion recognizer: An engine for analyzing emotions. For example, IBM Watson Tone Analyzer.
[0849] Interrogation: The ability to construct and send prompts to generative AI models, such as OpenAI GPT-3.
[0850] Response determination method: A function that determines the optimal response method based on the received response data and the user's emotional information.
[0851] Sending method: An API for sending a reply to the user. For example, LINE Messaging API, a speech synthesis engine (Amazon Polly).
[0852] A concrete example of the processing flow
[0853] Example 1: Web inquiry
[0854] 1. The user opens a web browser, enters "Please tell me about new product release information" into the inquiry form, and submits it.
[0855] 2. The terminal sends this inquiry to the server as an HTTP request.
[0856] 3. The server sends the received HTTP request to an analysis method (Google Natural Language API) and extracts the user's intent, "new product release information."
[0857] 4. The server uses emotion recognition (IBM Watson Tone Analyzer) to confirm that the user does not have any particular emotion.
[0858] 5. The server uses the query means to send a prompt regarding "new product release information" to the generative AI model (OpenAI GPT-3).
[0859] Example prompt: "What new product release information do you have?"
[0860] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "The new product will be released at the end of next month."
[0861] 7. The server converts the received response into HTML format and displays it in the web browser.
[0862] 8. The user checks the response displayed in their web browser.
[0863] Example 2: LINE inquiry
[0864] 1. The user sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[0865] 2. The device sends this message to the server as a webhook request.
[0866] 3. The server sends the received message data to an analysis tool (Google Natural Language API) to extract the keywords and intent of "delivery progress."
[0867] 4. The server uses an emotion recognition tool (IBM Watson Tone Analyzer) to extract the user's "irritated" emotion.
[0868] 5. The server constructs a query for the "user frustrated with the delivery progress" and sends the prompt to the generative AI model (OpenAI GPT-3).
[0869] Example prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[0870] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "Your delivery is currently arriving at your local delivery center. We apologize for the inconvenience."
[0871] 7. The server generates and sends the reply as a LINE message.
[0872] 8. The user checks the message received on LINE and understands the reply.
[0873] This makes it possible to efficiently process requests from different interfaces and provide appropriate responses according to the user's emotions.
[0874] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0875] Specific steps of the program's processing
[0876] Step 1: Receive a user request
[0877] Input: User request (e.g., web form entry, voice command to a voice assistant)
[0878] Operation:
[0879] A user fills out a web form with the request "Tell me about new product releases" and submits it.
[0880] The device asks the voice assistant, "How's the delivery going?"
[0881] Output: User request data
[0882] Examples: web form input data, voice command audio data
[0883] Step 2: Receiving and parsing the request
[0884] Input: User request data (generated in step 1)
[0885] Operation:
[0886] The server parses the HTTP requests received from the web interface and extracts the user input.
[0887] The server parses the webhook request received from the voice assistant and extracts the audio data.
[0888] The server converts the voice data into text using a speech recognition engine (e.g., Google Speech-to-Text API).
[0889] The server analyzes the text data using an NLP (natural language processing) algorithm to extract the user's intent and keywords.
[0890] Output: User intent and keywords (text format)
[0891] Examples: "New product release information", "Delivery progress"
[0892] Step 3: Analyze user sentiment
[0893] Input: User intent or keywords (generated in step 2)
[0894] Operation:
[0895] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize the user's emotion from the analyzed text data.
[0896] The server extracts emotional information such as "irritated" and stores it in a database.
[0897] Output: Emotional information
[0898] Examples: "I'm frustrated" and "I'm happy"
[0899] Step 4: Build your inquiry
[0900] Input: User intent, keywords, and sentiment information (generated in step 3)
[0901] Operation:
[0902] The server constructs the query content based on the analyzed intent and emotion data.
[0903] If the server is a "user who is frustrated about the delivery progress," it will prioritize creating a query to check the delivery status.
[0904] Output: Inquiry details
[0905] Example: "Delivery progress check query"
[0906] Step 5: Send the query to the AI engine
[0907] Input: Enquiry (generated in step 4)
[0908] Operation:
[0909] The server generates a prompt to send the constructed query to an AI engine (e.g., OpenAI GPT-3).
[0910] The server sends the generated prompt to the AI engine.
[0911] Output: Send prompt to AI engine
[0912] Examples:
[0913] Prompt: "What new product release information do you have?"
[0914] Prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[0915] Step 6: Receive a response
[0916] Input: Prompt transmission result to AI engine (sent in step 5)
[0917] Operation:
[0918] The AI engine generates appropriate answers based on the inquiry.
[0919] The server receives the response data from the AI engine.
[0920] The server may receive a response such as, "Your delivery is currently arriving at your local delivery center. We apologize for any inconvenience caused."
[0921] Output: Response data from the AI engine
[0922] Examples include: "New products will be available at the end of next month" or "Your delivery is currently arriving at your local distribution center. We apologize for any inconvenience."
[0923] Step 7: Decide how best to respond
[0924] Input: Response data from the AI engine, emotion information (received in step 6)
[0925] Operation:
[0926] Based on the response data received by the server and the user's emotional information, the optimal response method (text, voice, LINE message, etc.) is determined.
[0927] The server constructs the optimal response message based on rules such as "if the customer is irritated, add an apology or words of sympathy."
[0928] Output: Best reply message
[0929] Example: "We apologize for the inconvenience. Your delivery is currently on its way to your local distribution center."
[0930] Step 8: Send a response to the user
[0931] Input: Best reply message (generated in step 7)
[0932] Operation:
[0933] The server sends a response to the user according to the selected response method.
[0934] For the web: The response data is converted to HTML format and displayed in the browser.
[0935] For voice assistants: Pass the text data to a speech synthesis engine (e.g., Amazon Polly), generate speech data, and provide a voice response.
[0936] For LINE: Use the LINE Messaging API to create and send a reply message.
[0937] The user receives and confirms the response sent.
[0938] Output: The reply sent to the user
[0939] Examples: Answers displayed in a web browser, messages received on LINE
[0940] This makes it possible to provide responses that improve user satisfaction based on highly accurate request analysis and emotional understanding.
[0941] (Application example 2)
[0942] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0943] In modern electronic payment services, it is common for users to respond to inquiries or problems in a uniform manner that ignores their emotions. However, this often results in a poor user experience, leaving them dissatisfied and stressed. Furthermore, there is no unified system for handling requests from various interfaces, which makes management complicated. To solve these issues, a system that takes user emotions into consideration and provides appropriate responses is needed.
[0944] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0945] In this invention, the server includes receiving means for receiving user requests from different interfaces, analysis means for analyzing the received user requests and extracting the user's intentions and necessary information, an emotion engine for analyzing the user's emotions, query means for formulating query content based on the analyzed content and querying the AI service, response determination means for modifying the response from the AI service based on the user's emotions analyzed by the emotion engine, and transmission means for sending a response to the user in accordance with the determined response method, thereby enabling a quick and appropriate response that takes the user's emotions into consideration.
[0946] "Different interfaces" refers to multiple forms of data, such as web requests, voice data, and text messages.
[0947] "User request" refers to an inquiry, instruction, question, or other input made by a user to the system.
[0948] "Receiving means" refers to devices or processes for receiving user requests from different interfaces.
[0949] "Analysis means" refers to a device or process for analyzing a received user request and extracting the user's intentions and necessary information.
[0950] "Query means" refers to the device or process used to construct a query based on the analyzed content and make a query to the AI service.
[0951] An "emotion engine" refers to a device or process for analyzing emotions from user requests and extracting emotional information.
[0952] "Response determination means" refers to a device or process for determining the optimal response by modifying the response received from the AI service based on the user's emotions analyzed by the emotion engine.
[0953] "Transmission means" refers to a device or process for transmitting a response to a user according to a determined response method.
[0954] This invention describes a specific embodiment of a system that combines an emotion engine to analyze user emotions, receives user requests from different interfaces, and queries AI services to provide responses.
[0955] System Overview
[0956] The system includes the following means:
[0957] Receiving means
[0958] The server utilizes multiple APIs and webhooks to receive data in different formats, such as web requests, voice data, text messages, etc. This allows it to respond to requests from any interface the user uses.
[0959] Analysis means
[0960] The server analyzes the received user request using a natural language processing algorithm (e.g., Spacy, NLTK) to extract the user's intent and necessary information. In the case of voice data, it converts it into text using voice recognition technology (e.g., Google Speech-to-Text).
[0961] Emotion Engine
[0962] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text and voice data. For example, if a user asks, "I'm having trouble paying my bills. What should I do?", the server extracts the emotion of confusion.
[0963] Contact methods
[0964] Based on the analyzed intent and emotion data, the server constructs an inquiry to an AI service (e.g., OpenAI GPT-4) and sends it as a query.
[0965] Response determination method
[0966] The server receives the response from the AI service and makes appropriate adjustments based on the user's emotions, for example adding reassuring words to the response if the user expresses impatience.
[0967] Transmission method
[0968] After the response is determined, the server sends the response in the most appropriate format depending on the user's original interface (web, voice assistant, LINE). For example, it displays the response as text on the web and responds verbally to a voice assistant.
[0969] Specific examples
[0970] Example 1: Web inquiry
[0971] The user enters "Please tell me my point balance" into an inquiry form in a web browser and submits it. The server receives the request, analyzes it using an NLP algorithm, and extracts the intention to check the point balance. The emotion engine recognizes the user's impatience. An inquiry based on "checking the point balance and the emotion of impatience" is sent to the AI engine, which generates a response saying, "Your current point balance is 1,000 points. We apologize for the inconvenience." The server displays the response in the web browser.
[0972] Example 2: Voice assistant
[0973] The user speaks to the voice assistant saying, "I'm having trouble with my late payment. What should I do?" The server receives the voice data as a webhook and converts it into text using speech recognition technology. It analyzes it using an NLP algorithm and extracts the user's intention to resolve the late payment. The emotion engine recognizes the user's confusion. An inquiry is sent to the AI engine based on "resolving the late payment and the emotion of confusion," and a response is generated saying, "Please contact customer support." The server then responds via the voice assistant.
[0974] Examples of prompt statements
[0975] The user asks, "What's my points balance?" Recognize that the user is impatient.
[0976] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0977] Step 1:
[0978] Receiving user requests
[0979] A user enters their inquiry into a web form (e.g., "What is my point balance?") and clicks the submit button. This input data is sent to the server via a web API. Alternatively, if a user speaks to a voice assistant, saying, "My payment is late and I'm having trouble, what should I do?", the voice data is sent to the server via a webhook. The input data can be text or voice data.
[0980] Step 2:
[0981] Parsing the request data
[0982] The server analyzes the received user request using an analysis method. In the case of text data, natural language processing algorithms (e.g., Spacy, NLTK) are used to extract the user's intent and keywords. In the case of audio data, speech recognition technology (e.g., Google Speech-to-Text) is used to convert it into text, which is then similarly analyzed using NLP algorithms. The input is text or audio data, and the output is analyzed intent and keyword data.
[0983] Step 3:
[0984] User sentiment analysis
[0985] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text data and voice data. For example, it extracts the emotion of impatience from the request "Tell me my point balance." The input of this step is the analyzed text data, and the output is the user's emotion data.
[0986] Step 4:
[0987] Build your inquiry
[0988] The server constructs the query content based on the analyzed intent and emotion data. For example, it creates a query to send to the AI engine based on "check point balance" and "feelings of impatience." The input to this step is intent data and emotion data, and the output is a query to send to the AI engine.
[0989] Step 5:
[0990] Sending queries to the AI engine
[0991] The server sends the constructed query to an AI engine (e.g., OpenAI GPT-4), which generates an appropriate answer based on the query. The input is the query, and the output is the response data from the AI engine.
[0992] Step 6:
[0993] Correct the response data
[0994] The server receives the response from the AI engine using the response determination means and makes optimal modifications based on the user's emotions. For example, if a user shows impatience, it adds words of reassurance to the response. The input is the response data from the AI engine, and the output is the modified response data.
[0995] Step 7:
[0996] Send a reply to the user
[0997] The server responds in the optimal format according to the user's original interface (web, voice assistant, LINE, etc.) based on the determined response method. In the case of the web, the response is displayed as text in the browser, and in the case of a voice assistant, the response is given by voice. The input is the modified response data, and the output is a web page, a voice response, a LINE message, etc.
[0998] This allows for flexible and appropriate responses that take into account the user's feelings.
[0999] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1000] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1001] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[1002] [Third embodiment]
[1003] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1004] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1005] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1006] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[1007] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1008] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1009] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1010] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1011] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1012] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1013] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1014] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[1015] The present invention provides an embodiment of a system that enables users to receive consistent AI services even while using different interfaces.
[1016] System Overview
[1017] This system receives user requests from multiple interfaces, such as the web, telephone, voice assistants, and LINE, analyzes them, queries AI services, and responds appropriately to the user. Its main functions consist of a receiving means, an analyzing means, a querying means, a response determining means, and a sending means.
[1018] Program processing
[1019] 1. Receiving user requests
[1020] Device: A user enters their inquiry into a web form (e.g., "I'd like to know about the latest promotions") and clicks the submit button.
[1021] Device: The user uses the LINE app to send a message saying, "Tell me the current campaign conditions."
[1022] 2. Receiving and analyzing requests
[1023] Server: Receives requests received from the web interface as HTTP requests and messages received from the LINE interface as Webhooks.
[1024] Server: Analyzes the received data and uses natural language processing algorithms to extract the user's intent. If necessary, uses speech recognition technology to convert the voice data into text.
[1025] 3. Querying the AI engine
[1026] Server: Builds a query based on the analyzed content and sends a clear query such as "latest promotion information" to the AI service.
[1027] AI service: Generates appropriate answers to incoming inquiries.
[1028] 4. Respond the way users want
[1029] Server: Receives response data from the AI service, such as "We are currently offering a 20% discount campaign for new customers."
[1030] Server: Determines how to respond based on the user's profile and request, for example, a text message, a voice response, or a LINE message.
[1031] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[1032] Specific examples
[1033] Example 1: Web inquiry
[1034] 1. User: Enters "I would like to know about the delivery status" into the inquiry form in a web browser and submits it.
[1035] 2. Server: Receives the received request as an HTTP request and uses analytical means to extract the keyword "Delivery progress".
[1036] 3. Server: Based on the extracted keywords, queries the AI service about the progress of delivery.
[1037] 4. AI service: Generates an answer saying, "The delivery is currently arriving at the local delivery center" and replies to the server.
[1038] 5. Server: The server displays the received answer in the web browser for the user to review.
[1039] Example 2: LINE inquiry
[1040] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[1041] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[1042] 3. Server: Queries the AI service based on this information.
[1043] 4. AI service: Generates an answer such as "The new product will be released at the end of next month" and sends it back to the server.
[1044] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[1045] This embodiment unifies the processing of requests from different interfaces, providing a consistent AI experience to a diverse range of users. This system improves user convenience while also enabling businesses to respond more efficiently to inquiries.
[1046] The processing flow will be explained below.
[1047] Step 1:
[1048] User submits a request
[1049] User: For example, a user enters "Tell me about home appliance repair services" into a contact form in a web browser and clicks the submit button.
[1050] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[1051] Step 2:
[1052] The server receives the request
[1053] Server: Receives the HTTP request sent from the web browser.
[1054] Server: Receives the voice data sent from the voice assistant.
[1055] Step 3:
[1056] Parsing the request
[1057] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[1058] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[1059] Step 4:
[1060] Build your inquiry
[1061] Server: Based on the analyzed data, the server constructs a query, for example, "For details about home appliance repair services."
[1062] Server: Prepares the constructed query to be sent to the AI engine.
[1063] Step 5:
[1064] Sending queries to the AI engine
[1065] Server: Sends the constructed query to the AI engine.
[1066] AI Engine: The AI engine receives the query and generates an appropriate answer.
[1067] Step 6:
[1068] Receiving a response
[1069] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[1070] Step 7:
[1071] Decide how best to respond
[1072] Server: Determines the best way to respond based on the user's profile and request, for example, via a web browser, voice assistant, or LINE message.
[1073] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[1074] Step 8:
[1075] Send a response to the user
[1076] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[1077] User: Checks the response sent and takes a corresponding action, for example checking the opening hours of an appliance repair service in a web browser.
[1078] In this way, by performing clear operations at each step, a system can be realized that consistently responds to inquiries from a variety of user interfaces and provides high-quality service.
[1079] Example 1
[1080] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1081] Currently, when users access AI services through different interfaces (web, voice assistant, messaging app, etc.), different processing methods and response formats are required for each interface. This makes it difficult to provide a consistent user experience, resulting in reduced user convenience. Furthermore, companies face the cost and effort of managing and responding to different interfaces.
[1082] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1083] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and querying the generative AI model, a response determining means for receiving a response from the generative AI model and determining the optimal response method, and a transmitting means for transmitting a response to the user according to the determined response method, thereby enabling the provision of consistent AI services across different interfaces.
[1084] "Different interfaces" refers to the different ways a user can access a system, such as through web requests, voice data, or text messages.
[1085] "User request" refers to an inquiry or instruction given by a user to the system.
[1086] "Receiving means" refers to a means having the function of receiving user requests from different interfaces.
[1087] "Analysis means" refers to the means for analyzing received user requests and extracting the user's intentions and necessary information.
[1088] "Natural language processing algorithms" are algorithms for understanding and analyzing text data, and refer to the technology used to extract user intent.
[1089] "Query means" refers to the means of constructing query content based on the analyzed content and sending it to the generative AI model.
[1090] A "generative AI model" refers to an artificial intelligence model that generates appropriate answers based on input prompts.
[1091] "Response determination means" refers to a means for receiving a response from a generative AI model and determining the optimal response method.
[1092] "Transmission means" refers to means for transmitting a reply to the user in accordance with the determined reply method.
[1093] "API" refers to an interface for exchanging functions and data between different software.
[1094] The present invention provides an embodiment of a system that allows users to receive consistent AI services even when using different interfaces. The system in this invention comprises a receiving means, an analyzing means, an inquiry means, a response determining means, and a sending means.
[1095] Receiving means
[1096] Device: A web request is generated when a user enters an inquiry into a web form and presses the send button. Also, when a user sends a message using the LINE app, that message is received.
[1097] Server: Receives requests from the web interface as HTTP requests and receives messages from the LINE interface as Webhooks, allowing you to manage data from different interfaces in one place.
[1098] Analysis means
[1099] Server: Uses natural language processing (NLP) algorithms to analyze incoming user requests. Specifically, it uses libraries such as TensorFlow and NLTK (Natural Language Toolkit) to analyze text data and extract user intent. If audio data is included, it converts the audio to text using speech recognition technologies such as IBM Watson and Google Cloud Speech-to-Text.
[1100] Contact methods
[1101] Server: Constructs a query based on the analyzed content and queries the generative AI model. Specifically, based on the user's intent, it sends the following prompt to the generative AI model:
[1102] Please let me know the latest promotion information.
[1103] The generative AI model generates an appropriate answer based on this prompt.
[1104] Response determination and transmission methods
[1105] Server: Receives the response data from the generative AI model and parses it in JSON format. It then determines how to respond based on the user's profile and the request content. For example, if it's a web request, it responds as an HTTP response, and if it's a LINE message, it responds using the LINE Messaging API.
[1106] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[1107] Specific examples
[1108] Example 1: Web inquiry
[1109] 1. User: Enters "I would like to know about the delivery progress" into the web form and presses the submit button.
[1110] 2. Server: Receives the request as an HTTP request and uses analysis tools to extract the keyword "Delivery progress."
[1111] 3. Server: Based on the extracted keywords, query the generative AI model about the "progress of delivery."
[1112] 4. Generative AI model: Generates an answer such as "The delivery is currently arriving at the local delivery center" and replies to the server.
[1113] 5. Server: The server displays the received answer in the web browser for the user to review.
[1114] Example 2: LINE inquiry
[1115] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[1116] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[1117] 3. Server: Query the generative AI model based on this information.
[1118] 4. Generative AI model: Generates the answer "The new product will be released at the end of next month" and replies to the server.
[1119] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[1120] This embodiment can process requests from different interfaces in a unified manner, providing a consistent AI experience to a variety of users. This system can also improve the efficiency of inquiries for companies.
[1121] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1122] Step 1: Receiving a user request
[1123] Device: A user enters their inquiry into a web form and presses the submit button. The input is text data such as "I'd like to know about the latest promotions."
[1124] What happens: A user opens a form in a web browser, enters "Tell me about our latest promotions" into the input field, and clicks the submit button. The web form sends an HTTP request to the server.
[1125] Output: The HTTP request sent from the web interface reaches the server.
[1126] Step 2: Getting and parsing the request
[1127] Server: Takes the incoming HTTP request from the web interface, which contains the user's query as input.
[1128] What happens: The server parses the HTTP request and extracts the contents of the request body, which contains the text "Tell me about the latest promotions."
[1129] Output: The text data extracted from the request.
[1130] Step 3: Analyze user intent
[1131] Server: Analyzes the received text data and extracts the user's intent using natural language processing (NLP) algorithms. The input is the text data from the previous step.
[1132] What it does: The server uses an NLP library such as TensorFlow or NLTK to analyze the text and extract the keyword "latest promotions."
[1133] Output: The extracted keywords are generated.
[1134] Step 4: Building a query for the AI engine
[1135] Server: Generates a prompt sentence based on the extracted keywords. The input is the keyword "latest promotions."
[1136] Specific behavior: The server constructs a prompt sentence, "Please tell me about the latest promotional information," and prepares an API request to send to the generative AI model.
[1137] Output: The constructed prompt statement and the API request.
[1138] Step 5: Querying the generative AI model
[1139] Server: Sends the constructed API request to the generative AI model, including the prompt "What are the latest promotions?" as input.
[1140] What happens: The server sends an API request to a generative AI model (e.g., GPT-3) and waits for an appropriate response.
[1141] Output: The response data returned by the generative AI model.
[1142] Step 6: Receiving and optimizing responses
[1143] Server: Receives responses from the generative AI model and determines the optimal response method. The input is the response data from the generative AI model.
[1144] Specific operation: The server analyzes the text data returned by the generative AI model (e.g., "We are currently offering a 20% discount campaign for new customers") and determines which interface to use to respond to the user.
[1145] Output: Optimized response data and response method.
[1146] Step 7: Send a response to the user
[1147] Server: Sends optimized response data to the user. Input includes the response data and destination interface information.
[1148] Specific operation: In the case of a LINE message, the server sends a reply using the LINE Messaging API. In the case of a web message, the server displays the reply in the browser via an HTTP response.
[1149] Output: The response information displayed to the user.
[1150] This series of processes enables consistent provision of AI services across different interfaces.
[1151] (Application example 1)
[1152] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1153] In modern autonomous vehicles, requests made by users through different interfaces (voice, text, display, etc.) can be inconsistent. This creates a fragmented user experience, making it difficult to efficiently obtain information and support. Centrally managing and processing requests from different interfaces, especially within the vehicle, is technically complex and requires a unified user experience.
[1154] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1155] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and sending the query to an AI service, a response determining means for receiving a response from the AI service and determining the optimal response method, a transmitting means for sending a response to the user according to the determined response method, and a means for receiving and unifying requests in the autonomous vehicle via voice, text, and on-board display. This makes it possible to centrally process user requests in the autonomous vehicle and provide a unified and consistent experience.
[1156] "Different interfaces" refers to multiple input methods that users can use to enter information, such as voice, text, or an in-vehicle display.
[1157] "User Request" means an inquiry or instruction regarding information or services sought by a User.
[1158] A "receiving means" is a mechanism that includes multiple APIs for receiving user requests from different interfaces.
[1159] "Analysis means" refers to a function that includes a natural language processing algorithm and voice recognition technology for analyzing received user requests and extracting the user's intent and necessary information.
[1160] "Inquiry method" is a function that constructs inquiry content based on the analyzed content and sends it to the AI service.
[1161] A "response determination means" is a mechanism for analyzing the response received from the AI service and determining the optimal response method.
[1162] "Transmission means" is a function for transmitting a reply to the user in accordance with the determined reply method.
[1163] An "autonomous vehicle" is a vehicle that is capable of driving autonomously using technologies such as artificial intelligence.
[1164] This invention is a system for providing consistent AI services when a user makes requests through different interfaces in an autonomous vehicle. The following describes a specific embodiment for realizing this system.
[1165] Hardware and Software
[1166] Hardware used
[1167] Server machine: the computer running the Flask server
[1168] Autonomous vehicles: vehicles equipped with voice recognition systems, text input systems, and on-board displays
[1169] Software used
[1170] Flask: a web framework for handling HTTP requests
[1171] Transformers: Hugging Face's Natural Language Processing Library
[1172] AI Engine: Hugging Face Pipeline
[1173] Natural Language Processing Algorithms: NLP Models for Extracting User Intent
[1174] Speech recognition technology: Technology that converts voice data into text
[1175] Program processing explanation
[1176] Receiving a request
[1177] The server terminal uses multiple APIs to receive user requests from different interfaces, such as web requests, voice data, text messages, and requests from in-vehicle interfaces. For example, a request such as "What is the current traffic situation?" is received via the voice recognition system in an autonomous vehicle.
[1178] Parsing the request
[1179] The server uses natural language processing algorithms to analyze the received request. The voice data is converted into text using speech recognition technology. The analysis means then extracts the user's intent and required information. For example, if a user requests "find the nearest gas station," the analysis means extracts the intent that "I want to know the location of the gas station."
[1180] Inquiry to AI engine
[1181] Based on the analyzed content, a query is sent to the AI engine. Based on the query, the AI engine generates an appropriate response. For example, a query may be sent such as, "Please provide information about the location of gas stations."
[1182] Deciding how to respond and responding to the user
[1183] After receiving the response from the AI engine, the server determines the optimal response method and then sends the response to the user in the determined manner (voice response, text message, display on the in-car display, etc.). For example, a response such as "The nearest gas station is 2 km away" may be displayed on the in-car display.
[1184] Specific examples
[1185] Suppose a user requests "What is the current traffic situation?" via a voice recognition system in an autonomous vehicle. This request is processed by the server as the following prompt:
[1186] Example prompt:
[1187] What is the current traffic situation?
[1188] The server analyzes the request, extracts the user's intent, and queries the AI engine. The AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit." The server then displays this on the in-car display.
[1189] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1190] Step 1:
[1191] The user makes a request through the voice recognition system in the autonomous vehicle. For example, the user says, "Tell me the current traffic situation." The voice recognition system receives this voice data and sends it to the server.
[1192] Input: User's voice request: "What are the current traffic conditions?"
[1193] Output: Audio data
[1194] Step 2:
[1195] Converts voice data into text. The server uses voice recognition technology to convert voice data into text. For example, converts voice data such as "Please tell me the current traffic situation" into text data.
[1196] Input: Audio data
[1197] Output: Text data "What is the current traffic situation?"
[1198] Step 3:
[1199] The server analyzes the received text data and extracts the user's intent using a natural language processing algorithm. Here, the server uses an NLP model to analyze the text data and identify important keywords and intents. For example, it extracts the intent "I want to know about traffic conditions."
[1200] Input: Text data "What is the current traffic situation?"
[1201] Output: Extracted intent: "I want to know the traffic situation."
[1202] Step 4:
[1203] Based on the analyzed intent, the server queries the AI engine. The server then constructs an appropriate query based on the intent and sends it to the AI engine. For example, the server may ask the AI engine, "Please provide the current traffic conditions."
[1204] Input: Extracted intent: "I want to know about traffic conditions"
[1205] Output: Constructed query "Please provide the current traffic conditions."
[1206] Step 5:
[1207] The AI engine generates an appropriate response to the query it receives. Using the generative AI model, the AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit."
[1208] Input: Constructed query: "Please provide the current traffic conditions."
[1209] Output: Response "Traffic is currently smooth. There may be congestion at the next exit."
[1210] Step 6:
[1211] The server receives the generated response and determines the best way to respond to the user. In this case, it determines that displaying the response on the in-vehicle display is appropriate. The server then converts the response content into a format that can be sent to the in-vehicle display.
[1212] Input: Response: "Traffic is currently moving smoothly. There may be congestion at the next exit."
[1213] Output: Text data for display
[1214] Step 7:
[1215] The server then sends the converted response data to the vehicle's display, where it is displayed for the user to view. The user can then check the current traffic conditions through the display.
[1216] Input: Text data to be displayed on the screen
[1217] Output: Response displayed on the vehicle display
[1218] By following the steps outlined above, users can receive consistent AI services within self-driving vehicles.
[1219] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1220] The present invention provides an embodiment of a system that receives user requests from different interfaces, queries an AI service for responses, and combines an emotion engine that analyzes user emotions.
[1221] System Overview
[1222] The system receives user requests from various interfaces, such as the web, telephone, voice assistant, and LINE, and analyzes the user's intentions and emotions. Based on the analysis results, it queries an AI service and provides an appropriate response that reflects the user's emotions. Its main functions consist of a receiving means, an analyzing means, a querying means, an emotion engine, a response determining means, and a sending means.
[1223] Program processing
[1224] 1. Receiving user requests
[1225] Device: A user enters an inquiry into a web form (e.g., "I'd like to know about new products") and clicks the submit button.
[1226] On the device: The user also asks the voice assistant, "How's the delivery going?"
[1227] 2. Receiving and analyzing requests
[1228] Server: Receives requests from the web interface as HTTP requests and voice data from the voice assistant as webhooks.
[1229] Server: Analyzes the received data using analytical means to extract the user's intent and keywords. If necessary, uses voice recognition technology to convert the voice data into text.
[1230] 3. User sentiment analysis
[1231] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if the user says, "I'm frustrated because the delivery is late," that emotion is extracted.
[1232] 4. Build your inquiry
[1233] Server: Based on the analyzed intent and emotion data, the server constructs the query content. For example, if a user is frustrated about the progress of their delivery, the server constructs a query that prioritizes checking the delivery status.
[1234] 5. Send a query to the AI engine
[1235] Server: Sends the constructed query content to the AI engine.
[1236] AI engine: Generates appropriate answers based on the inquiry.
[1237] 6. Receive a response
[1238] Server: Receives response data from the AI engine. For example, "The delivery is currently arriving at the local delivery center. We apologize for the inconvenience."
[1239] 7. Determine the best way to respond
[1240] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[1241] 8. Send a response to the user
[1242] Server: Sends a response to the user according to the selected response method. For web, it displays the response in the browser, and for voice assistants, it responds with a voice message.
[1243] User: Receives and confirms the submitted response.
[1244] Specific examples
[1245] Example 1: Web inquiry
[1246] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and submits it.
[1247] 2. Server: Analyzes the received request as an HTTP request and extracts keywords for "new product release information."
[1248] 3. Server: Analyze the user's emotions using the emotion engine, and if there is no particular emotion, process it as a normal inquiry.
[1249] 4. Server: Queries the AI engine for "new product release information."
[1250] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[1251] 6. Server: Displays the received response in the web browser.
[1252] Example 2: LINE inquiry
[1253] 1. User: Sends a message on LINE saying, "The delivery is delayed. What's going on?"
[1254] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[1255] 3. Server: Use the emotion engine to extract the emotion "irritated" from the user's message.
[1256] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[1257] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[1258] 6. Server: Send the reply as a LINE message.
[1259] 7. User: Receives a message on LINE and checks for a reply.
[1260] In this embodiment, user satisfaction can be significantly improved by analyzing user emotions along with requests from different interfaces and providing a consistent AI experience that meets individual needs.
[1261] The processing flow will be explained below.
[1262] Step 1:
[1263] User submits a request
[1264] User: For example, a user fills in a contact form in a web browser with the question "Tell me about home appliance repair services" and clicks the submit button.
[1265] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[1266] Step 2:
[1267] The server receives the request
[1268] Server: Receives the HTTP request sent from the web browser.
[1269] Server: Receives the voice data sent from the voice assistant and converts it into a data format.
[1270] Step 3:
[1271] Parsing the request
[1272] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[1273] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[1274] Step 4:
[1275] User sentiment analysis
[1276] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if a message expresses "irritation" or "dissatisfaction," that emotion is extracted.
[1277] Step 5:
[1278] Build your inquiry
[1279] Server: Based on the analyzed intent and sentiment data, the server constructs a query, such as "More details about home appliance repair services."
[1280] Server: Adjusts query content based on emotional data. For example, if a user is "irritated," prioritize queries that take emotion into account.
[1281] Step 6:
[1282] Sending queries to the AI engine
[1283] Server: Sends the constructed query content to the AI engine.
[1284] AI engine: Receives inquiries and generates appropriate answers.
[1285] Step 7:
[1286] Receiving a response
[1287] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[1288] Step 8:
[1289] Decide how best to respond
[1290] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[1291] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[1292] Step 9:
[1293] Send a response to the user
[1294] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[1295] User: Receives the sent response and checks its contents, for example, checking the opening hours of the repair service.
[1296] Specific examples
[1297] Example 1: Web inquiry
[1298] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and clicks the submit button.
[1299] 2. Server: Analyzes the received HTTP request using an analysis means and extracts keywords related to "new product release information."
[1300] 3. Server: Use the emotion engine, and if no special emotion is detected, process it as a normal query.
[1301] 4. Server: Queries the AI engine for "new product release information."
[1302] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[1303] 6. Server: Displays the received response in the web browser.
[1304] Example 2: LINE inquiry
[1305] 1. User: Sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[1306] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[1307] 3. Server: Uses an emotion engine to extract the "irritated" emotion from the user's message.
[1308] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[1309] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[1310] 6. Server: Send the reply as a LINE message.
[1311] 7. User: Receives a message on LINE. Sees the reply and may feel better.
[1312] In this way, this system is expected to improve user satisfaction by analyzing user requests and their emotions and providing optimal responses through AI services.
[1313] Example 2
[1314] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1315] In modern society, there is an increasing demand for systems that can efficiently process user requests from a variety of interfaces and provide appropriate responses. Conventional systems have had difficulty managing requests from different interfaces in a unified manner and generating responses that reflect the user's emotions. This has led to issues such as a decrease in user satisfaction and problems with the efficiency of the system itself.
[1316] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1317] In this invention, the server includes receiving means for receiving user requests from different interfaces, analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, emotion recognition means for analyzing the emotions contained in the user requests, querying means for formulating query content based on the analyzed content and emotion information and querying the knowledge base system, response determination means for receiving a response from the knowledge base system and determining the optimal response method, and sending means for transmitting a response to the user in accordance with the determined response method. This makes it possible to efficiently process requests from a variety of interfaces and provide an appropriate response according to the user's emotions.
[1318] "Receiving means" is a means for receiving user requests from different interfaces.
[1319] The "analysis means" is a means for analyzing a received user request and extracting the user's intentions and necessary information.
[1320] The "emotion recognition means" is a means for analyzing the emotions contained in a user request.
[1321] The "query means" is a means for constructing a query based on the analyzed content and emotion information and making a query to the knowledge base system.
[1322] The "answer determination means" is a means for receiving a response from the knowledge base system and determining the most appropriate response method.
[1323] The "transmission means" is a means for transmitting a reply to the user in accordance with the determined reply method.
[1324] An "interface" is a point of contact through which users and systems communicate with each other.
[1325] "User Request" means a question or request submitted by a User to the System.
[1326] "Emotion" refers to the psychological state the user is in when making a request.
[1327] A "knowledge-based system" is a system that has the knowledge to generate a response based on the content of a query.
[1328] The present invention provides an embodiment of a system that receives user requests from different interfaces, combines an emotion engine that analyzes user emotions, and queries a knowledge-based system to provide a response. This system receives user requests from different interfaces, such as the web, telephone, voice assistant, and text message, and analyzes the user's intentions and emotions. Based on the analysis results, the system queries the knowledge-based system and provides an appropriate response that reflects the user's emotions.
[1329] System configuration
[1330] This system is composed of a receiving means, an analyzing means, an emotion recognition means, an inquiry means, a reply determination means, and a sending means. Specifically, the following hardware and software are used:
[1331] Hardware
[1332] Server: Receives requests, analyzes them, recognizes emotions, queries them, and sends responses.
[1333] Device: The device used by the user (e.g., smartphone, PC, voice assistant device).
[1334] software
[1335] Receiving method: API for receiving HTTP requests, Webhook requests, etc.
[1336] Analysis method: Natural Language Processing (NLP) algorithms. For example, Google Natural Language API.
[1337] Emotion recognizer: An engine for analyzing emotions. For example, IBM Watson Tone Analyzer.
[1338] Interrogation: The ability to construct and send prompts to generative AI models, such as OpenAI GPT-3.
[1339] Response determination method: A function that determines the optimal response method based on the received response data and the user's emotional information.
[1340] Sending method: An API for sending a reply to the user. For example, LINE Messaging API, a speech synthesis engine (Amazon Polly).
[1341] A concrete example of the processing flow
[1342] Example 1: Web inquiry
[1343] 1. The user opens a web browser, enters "Please tell me about new product release information" into the inquiry form, and submits it.
[1344] 2. The terminal sends this inquiry to the server as an HTTP request.
[1345] 3. The server sends the received HTTP request to an analysis method (Google Natural Language API) and extracts the user's intent, "new product release information."
[1346] 4. The server uses emotion recognition (IBM Watson Tone Analyzer) to confirm that the user does not have any particular emotion.
[1347] 5. The server uses the query means to send a prompt regarding "new product release information" to the generative AI model (OpenAI GPT-3).
[1348] Example prompt: "What new product release information do you have?"
[1349] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "The new product will be released at the end of next month."
[1350] 7. The server converts the received response into HTML format and displays it in the web browser.
[1351] 8. The user checks the response displayed in their web browser.
[1352] Example 2: LINE inquiry
[1353] 1. The user sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[1354] 2. The device sends this message to the server as a webhook request.
[1355] 3. The server sends the received message data to an analysis tool (Google Natural Language API) to extract the keywords and intent of "delivery progress."
[1356] 4. The server uses an emotion recognition tool (IBM Watson Tone Analyzer) to extract the user's "irritated" emotion.
[1357] 5. The server constructs a query for the "user frustrated with the delivery progress" and sends the prompt to the generative AI model (OpenAI GPT-3).
[1358] Example prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[1359] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "Your delivery is currently arriving at your local delivery center. We apologize for the inconvenience."
[1360] 7. The server generates and sends the reply as a LINE message.
[1361] 8. The user checks the message received on LINE and understands the reply.
[1362] This makes it possible to efficiently process requests from different interfaces and provide appropriate responses according to the user's emotions.
[1363] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1364] Specific steps of the program's processing
[1365] Step 1: Receive a user request
[1366] Input: User request (e.g., web form entry, voice command to a voice assistant)
[1367] Operation:
[1368] A user fills out a web form with the request "Tell me about new product releases" and submits it.
[1369] The device asks the voice assistant, "How's the delivery going?"
[1370] Output: User request data
[1371] Examples: web form input data, voice command audio data
[1372] Step 2: Receiving and parsing the request
[1373] Input: User request data (generated in step 1)
[1374] Operation:
[1375] The server parses the HTTP requests received from the web interface and extracts the user input.
[1376] The server parses the webhook request received from the voice assistant and extracts the audio data.
[1377] The server converts the voice data into text using a speech recognition engine (e.g., Google Speech-to-Text API).
[1378] The server analyzes the text data using an NLP (natural language processing) algorithm to extract the user's intent and keywords.
[1379] Output: User intent and keywords (text format)
[1380] Examples: "New product release information", "Delivery progress"
[1381] Step 3: Analyze user sentiment
[1382] Input: User intent or keywords (generated in step 2)
[1383] Operation:
[1384] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize the user's emotion from the analyzed text data.
[1385] The server extracts emotional information such as "irritated" and stores it in a database.
[1386] Output: Emotional information
[1387] Examples: "I'm frustrated" and "I'm happy"
[1388] Step 4: Build your inquiry
[1389] Input: User intent, keywords, and sentiment information (generated in step 3)
[1390] Operation:
[1391] The server constructs the query content based on the analyzed intent and emotion data.
[1392] If the server is a "user who is frustrated about the delivery progress," it will prioritize creating a query to check the delivery status.
[1393] Output: Inquiry details
[1394] Example: "Delivery progress check query"
[1395] Step 5: Send the query to the AI engine
[1396] Input: Enquiry (generated in step 4)
[1397] Operation:
[1398] The server generates a prompt to send the constructed query to an AI engine (e.g., OpenAI GPT-3).
[1399] The server sends the generated prompt to the AI engine.
[1400] Output: Send prompt to AI engine
[1401] Examples:
[1402] Prompt: "What new product release information do you have?"
[1403] Prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[1404] Step 6: Receive a response
[1405] Input: Prompt transmission result to AI engine (sent in step 5)
[1406] Operation:
[1407] The AI engine generates appropriate answers based on the inquiry.
[1408] The server receives the response data from the AI engine.
[1409] The server may receive a response such as, "Your delivery is currently arriving at your local delivery center. We apologize for any inconvenience caused."
[1410] Output: Response data from the AI engine
[1411] Examples include: "New products will be available at the end of next month" or "Your delivery is currently arriving at your local distribution center. We apologize for any inconvenience."
[1412] Step 7: Decide how best to respond
[1413] Input: Response data from the AI engine, emotion information (received in step 6)
[1414] Operation:
[1415] Based on the response data received by the server and the user's emotional information, the optimal response method (text, voice, LINE message, etc.) is determined.
[1416] The server constructs the optimal response message based on rules such as "if the customer is irritated, add an apology or words of sympathy."
[1417] Output: Best reply message
[1418] Example: "We apologize for the inconvenience. Your delivery is currently on its way to your local distribution center."
[1419] Step 8: Send a response to the user
[1420] Input: Best reply message (generated in step 7)
[1421] Operation:
[1422] The server sends a response to the user according to the selected response method.
[1423] For the web: The response data is converted to HTML format and displayed in the browser.
[1424] For voice assistants: Pass the text data to a speech synthesis engine (e.g., Amazon Polly), generate speech data, and provide a voice response.
[1425] For LINE: Use the LINE Messaging API to create and send a reply message.
[1426] The user receives and confirms the response sent.
[1427] Output: The reply sent to the user
[1428] Examples: Answers displayed in a web browser, messages received on LINE
[1429] This makes it possible to provide responses that improve user satisfaction based on highly accurate request analysis and emotional understanding.
[1430] (Application example 2)
[1431] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1432] In modern electronic payment services, it is common for users to respond to inquiries or problems in a uniform manner that ignores their emotions. However, this often results in a poor user experience, leaving them dissatisfied and stressed. Furthermore, there is no unified system for handling requests from various interfaces, which makes management complicated. To solve these issues, a system that takes user emotions into consideration and provides appropriate responses is needed.
[1433] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1434] In this invention, the server includes receiving means for receiving user requests from different interfaces, analysis means for analyzing the received user requests and extracting the user's intentions and necessary information, an emotion engine for analyzing the user's emotions, query means for formulating query content based on the analyzed content and querying the AI service, response determination means for modifying the response from the AI service based on the user's emotions analyzed by the emotion engine, and transmission means for sending a response to the user in accordance with the determined response method, thereby enabling a quick and appropriate response that takes the user's emotions into consideration.
[1435] "Different interfaces" refers to multiple forms of data, such as web requests, voice data, and text messages.
[1436] "User request" refers to an inquiry, instruction, question, or other input made by a user to the system.
[1437] "Receiving means" refers to devices or processes for receiving user requests from different interfaces.
[1438] "Analysis means" refers to a device or process for analyzing a received user request and extracting the user's intentions and necessary information.
[1439] "Query means" refers to the device or process used to construct a query based on the analyzed content and make a query to the AI service.
[1440] An "emotion engine" refers to a device or process for analyzing emotions from user requests and extracting emotional information.
[1441] "Response determination means" refers to a device or process for determining the optimal response by modifying the response received from the AI service based on the user's emotions analyzed by the emotion engine.
[1442] "Transmission means" refers to a device or process for transmitting a response to a user according to a determined response method.
[1443] This invention describes a specific embodiment of a system that combines an emotion engine to analyze user emotions, receives user requests from different interfaces, and queries AI services to provide responses.
[1444] System Overview
[1445] The system includes the following means:
[1446] Receiving means
[1447] The server utilizes multiple APIs and webhooks to receive data in different formats, such as web requests, voice data, text messages, etc. This allows it to respond to requests from any interface the user uses.
[1448] Analysis means
[1449] The server analyzes the received user request using a natural language processing algorithm (e.g., Spacy, NLTK) to extract the user's intent and necessary information. In the case of voice data, it converts it into text using voice recognition technology (e.g., Google Speech-to-Text).
[1450] Emotion Engine
[1451] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text and voice data. For example, if a user asks, "I'm having trouble paying my bills. What should I do?", the server extracts the emotion of confusion.
[1452] Contact methods
[1453] Based on the analyzed intent and emotion data, the server constructs an inquiry to an AI service (e.g., OpenAI GPT-4) and sends it as a query.
[1454] Response determination method
[1455] The server receives the response from the AI service and makes appropriate adjustments based on the user's emotions, for example adding reassuring words to the response if the user expresses impatience.
[1456] Transmission method
[1457] After the response is determined, the server sends the response in the most appropriate format depending on the user's original interface (web, voice assistant, LINE). For example, it displays the response as text on the web and responds verbally to a voice assistant.
[1458] Specific examples
[1459] Example 1: Web inquiry
[1460] The user enters "Please tell me my point balance" into an inquiry form in a web browser and submits it. The server receives the request, analyzes it using an NLP algorithm, and extracts the intention to check the point balance. The emotion engine recognizes the user's impatience. An inquiry based on "checking the point balance and the emotion of impatience" is sent to the AI engine, which generates a response saying, "Your current point balance is 1,000 points. We apologize for the inconvenience." The server displays the response in the web browser.
[1461] Example 2: Voice assistant
[1462] The user speaks to the voice assistant saying, "I'm having trouble with my late payment. What should I do?" The server receives the voice data as a webhook and converts it into text using speech recognition technology. It analyzes it using an NLP algorithm and extracts the user's intention to resolve the late payment. The emotion engine recognizes the user's confusion. An inquiry is sent to the AI engine based on "resolving the late payment and the emotion of confusion," and a response is generated saying, "Please contact customer support." The server then responds via the voice assistant.
[1463] Examples of prompt statements
[1464] The user asks, "What's my points balance?" Recognize that the user is impatient.
[1465] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1466] Step 1:
[1467] Receiving user requests
[1468] A user enters their inquiry into a web form (e.g., "What is my point balance?") and clicks the submit button. This input data is sent to the server via a web API. Alternatively, if a user speaks to a voice assistant, saying, "My payment is late and I'm having trouble, what should I do?", the voice data is sent to the server via a webhook. The input data can be text or voice data.
[1469] Step 2:
[1470] Parsing the request data
[1471] The server analyzes the received user request using an analysis method. In the case of text data, natural language processing algorithms (e.g., Spacy, NLTK) are used to extract the user's intent and keywords. In the case of audio data, speech recognition technology (e.g., Google Speech-to-Text) is used to convert it into text, which is then similarly analyzed using NLP algorithms. The input is text or audio data, and the output is analyzed intent and keyword data.
[1472] Step 3:
[1473] User sentiment analysis
[1474] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text data and voice data. For example, it extracts the emotion of impatience from the request "Tell me my point balance." The input of this step is the analyzed text data, and the output is the user's emotion data.
[1475] Step 4:
[1476] Build your inquiry
[1477] The server constructs the query content based on the analyzed intent and emotion data. For example, it creates a query to send to the AI engine based on "check point balance" and "feelings of impatience." The input to this step is intent data and emotion data, and the output is a query to send to the AI engine.
[1478] Step 5:
[1479] Sending queries to the AI engine
[1480] The server sends the constructed query to an AI engine (e.g., OpenAI GPT-4), which generates an appropriate answer based on the query. The input is the query, and the output is the response data from the AI engine.
[1481] Step 6:
[1482] Correct the response data
[1483] The server receives the response from the AI engine using the response determination means and makes optimal modifications based on the user's emotions. For example, if a user shows impatience, it adds words of reassurance to the response. The input is the response data from the AI engine, and the output is the modified response data.
[1484] Step 7:
[1485] Send a reply to the user
[1486] The server responds in the optimal format according to the user's original interface (web, voice assistant, LINE, etc.) based on the determined response method. In the case of the web, the response is displayed as text in the browser, and in the case of a voice assistant, the response is given by voice. The input is the modified response data, and the output is a web page, a voice response, a LINE message, etc.
[1487] This allows for flexible and appropriate responses that take into account the user's feelings.
[1488] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1489] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1490] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1491] [Fourth embodiment]
[1492] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1493] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1494] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1495] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1496] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1497] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1498] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1499] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1500] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1501] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1502] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1503] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1504] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1505] The present invention provides an embodiment of a system that enables users to receive consistent AI services even while using different interfaces.
[1506] System Overview
[1507] This system receives user requests from multiple interfaces, such as the web, telephone, voice assistants, and LINE, analyzes them, queries AI services, and responds appropriately to the user. Its main functions consist of a receiving means, an analyzing means, a querying means, a response determining means, and a sending means.
[1508] Program processing
[1509] 1. Receiving user requests
[1510] Device: A user enters their inquiry into a web form (e.g., "I'd like to know about the latest promotions") and clicks the submit button.
[1511] Device: The user uses the LINE app to send a message saying, "Tell me the current campaign conditions."
[1512] 2. Receiving and analyzing requests
[1513] Server: Receives requests received from the web interface as HTTP requests and messages received from the LINE interface as Webhooks.
[1514] Server: Analyzes the received data and uses natural language processing algorithms to extract the user's intent. If necessary, uses speech recognition technology to convert the voice data into text.
[1515] 3. Querying the AI engine
[1516] Server: Builds a query based on the analyzed content and sends a clear query such as "latest promotion information" to the AI service.
[1517] AI service: Generates appropriate answers to incoming inquiries.
[1518] 4. Respond the way users want
[1519] Server: Receives response data from the AI service, such as "We are currently offering a 20% discount campaign for new customers."
[1520] Server: Determines how to respond based on the user's profile and request, for example, a text message, a voice response, or a LINE message.
[1521] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[1522] Specific examples
[1523] Example 1: Web inquiry
[1524] 1. User: Enters "I would like to know about the delivery status" into the inquiry form in a web browser and submits it.
[1525] 2. Server: Receives the received request as an HTTP request and uses analytical means to extract the keyword "Delivery progress".
[1526] 3. Server: Based on the extracted keywords, queries the AI service about the progress of delivery.
[1527] 4. AI service: Generates an answer saying, "The delivery is currently arriving at the local delivery center" and replies to the server.
[1528] 5. Server: The server displays the received answer in the web browser for the user to review.
[1529] Example 2: LINE inquiry
[1530] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[1531] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[1532] 3. Server: Queries the AI service based on this information.
[1533] 4. AI service: Generates an answer such as "The new product will be released at the end of next month" and sends it back to the server.
[1534] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[1535] This embodiment unifies the processing of requests from different interfaces, providing a consistent AI experience to a diverse range of users. This system improves user convenience while also enabling businesses to respond more efficiently to inquiries.
[1536] The processing flow will be explained below.
[1537] Step 1:
[1538] User submits a request
[1539] User: For example, a user enters "Tell me about home appliance repair services" into a contact form in a web browser and clicks the submit button.
[1540] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[1541] Step 2:
[1542] The server receives the request
[1543] Server: Receives the HTTP request sent from the web browser.
[1544] Server: Receives the voice data sent from the voice assistant.
[1545] Step 3:
[1546] Parsing the request
[1547] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[1548] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[1549] Step 4:
[1550] Build your inquiry
[1551] Server: Based on the analyzed data, the server constructs a query, for example, "For details about home appliance repair services."
[1552] Server: Prepares the constructed query to be sent to the AI engine.
[1553] Step 5:
[1554] Sending queries to the AI engine
[1555] Server: Sends the constructed query to the AI engine.
[1556] AI Engine: The AI engine receives the query and generates an appropriate answer.
[1557] Step 6:
[1558] Receiving a response
[1559] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[1560] Step 7:
[1561] Decide how best to respond
[1562] Server: Determines the best way to respond based on the user's profile and request, for example, via a web browser, voice assistant, or LINE message.
[1563] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[1564] Step 8:
[1565] Send a response to the user
[1566] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[1567] User: Checks the response sent and takes a corresponding action, for example checking the opening hours of an appliance repair service in a web browser.
[1568] In this way, by performing clear operations at each step, a system can be realized that consistently responds to inquiries from a variety of user interfaces and provides high-quality service.
[1569] Example 1
[1570] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1571] Currently, when users access AI services through different interfaces (web, voice assistant, messaging app, etc.), different processing methods and response formats are required for each interface. This makes it difficult to provide a consistent user experience, resulting in reduced user convenience. Furthermore, companies face the cost and effort of managing and responding to different interfaces.
[1572] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1573] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and querying the generative AI model, a response determining means for receiving a response from the generative AI model and determining the optimal response method, and a transmitting means for transmitting a response to the user according to the determined response method, thereby enabling the provision of consistent AI services across different interfaces.
[1574] "Different interfaces" refers to the different ways a user can access a system, such as through web requests, voice data, or text messages.
[1575] "User request" refers to an inquiry or instruction given by a user to the system.
[1576] "Receiving means" refers to a means having the function of receiving user requests from different interfaces.
[1577] "Analysis means" refers to the means for analyzing received user requests and extracting the user's intentions and necessary information.
[1578] "Natural language processing algorithms" are algorithms for understanding and analyzing text data, and refer to the technology used to extract user intent.
[1579] "Query means" refers to the means of constructing query content based on the analyzed content and sending it to the generative AI model.
[1580] A "generative AI model" refers to an artificial intelligence model that generates appropriate answers based on input prompts.
[1581] "Response determination means" refers to a means for receiving a response from a generative AI model and determining the optimal response method.
[1582] "Transmission means" refers to means for transmitting a reply to the user in accordance with the determined reply method.
[1583] "API" refers to an interface for exchanging functions and data between different software.
[1584] The present invention provides an embodiment of a system that allows users to receive consistent AI services even when using different interfaces. The system in this invention comprises a receiving means, an analyzing means, an inquiry means, a response determining means, and a sending means.
[1585] Receiving means
[1586] Device: A web request is generated when a user enters an inquiry into a web form and presses the send button. Also, when a user sends a message using the LINE app, that message is received.
[1587] Server: Receives requests from the web interface as HTTP requests and receives messages from the LINE interface as Webhooks, allowing you to manage data from different interfaces in one place.
[1588] Analysis means
[1589] Server: Uses natural language processing (NLP) algorithms to analyze incoming user requests. Specifically, it uses libraries such as TensorFlow and NLTK (Natural Language Toolkit) to analyze text data and extract user intent. If audio data is included, it converts the audio to text using speech recognition technologies such as IBM Watson and Google Cloud Speech-to-Text.
[1590] Contact methods
[1591] Server: Constructs a query based on the analyzed content and queries the generative AI model. Specifically, based on the user's intent, it sends the following prompt to the generative AI model:
[1592] Please let me know the latest promotion information.
[1593] The generative AI model generates an appropriate answer based on this prompt.
[1594] Response determination and transmission methods
[1595] Server: Receives the response data from the generative AI model and parses it in JSON format. It then determines how to respond based on the user's profile and the request content. For example, if it's a web request, it responds as an HTTP response, and if it's a LINE message, it responds using the LINE Messaging API.
[1596] Server: Sends a response to the user in the determined way. For web, the result is displayed in the browser, and for LINE, it is sent as a message.
[1597] Specific examples
[1598] Example 1: Web inquiry
[1599] 1. User: Enters "I would like to know about the delivery progress" into the web form and presses the submit button.
[1600] 2. Server: Receives the request as an HTTP request and uses analysis tools to extract the keyword "Delivery progress."
[1601] 3. Server: Based on the extracted keywords, query the generative AI model about the "progress of delivery."
[1602] 4. Generative AI model: Generates an answer such as "The delivery is currently arriving at the local delivery center" and replies to the server.
[1603] 5. Server: The server displays the received answer in the web browser for the user to review.
[1604] Example 2: LINE inquiry
[1605] 1. User: Sends a message on LINE saying, "Please let me know about new product release information."
[1606] 2. Server: Receives LINE messages as webhooks and uses NLP algorithms to extract keywords related to "new product release information."
[1607] 3. Server: Query the generative AI model based on this information.
[1608] 4. Generative AI model: Generates the answer "The new product will be released at the end of next month" and replies to the server.
[1609] 5. Server: The received response is sent as a LINE message so that the user can check it in the LINE app.
[1610] This embodiment can process requests from different interfaces in a unified manner, providing a consistent AI experience to a variety of users. This system can also improve the efficiency of inquiries for companies.
[1611] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1612] Step 1: Receiving a user request
[1613] Device: A user enters their inquiry into a web form and presses the submit button. The input is text data such as "I'd like to know about the latest promotions."
[1614] What happens: A user opens a form in a web browser, enters "Tell me about our latest promotions" into the input field, and clicks the submit button. The web form sends an HTTP request to the server.
[1615] Output: The HTTP request sent from the web interface reaches the server.
[1616] Step 2: Getting and parsing the request
[1617] Server: Takes the incoming HTTP request from the web interface, which contains the user's query as input.
[1618] What happens: The server parses the HTTP request and extracts the contents of the request body, which contains the text "Tell me about the latest promotions."
[1619] Output: The text data extracted from the request.
[1620] Step 3: Analyze user intent
[1621] Server: Analyzes the received text data and extracts the user's intent using natural language processing (NLP) algorithms. The input is the text data from the previous step.
[1622] What it does: The server uses an NLP library such as TensorFlow or NLTK to analyze the text and extract the keyword "latest promotions."
[1623] Output: The extracted keywords are generated.
[1624] Step 4: Building a query for the AI engine
[1625] Server: Generates a prompt sentence based on the extracted keywords. The input is the keyword "latest promotions."
[1626] Specific behavior: The server constructs a prompt sentence, "Please tell me about the latest promotional information," and prepares an API request to send to the generative AI model.
[1627] Output: The constructed prompt statement and the API request.
[1628] Step 5: Querying the generative AI model
[1629] Server: Sends the constructed API request to the generative AI model, including the prompt "What are the latest promotions?" as input.
[1630] What happens: The server sends an API request to a generative AI model (e.g., GPT-3) and waits for an appropriate response.
[1631] Output: The response data returned by the generative AI model.
[1632] Step 6: Receiving and optimizing responses
[1633] Server: Receives responses from the generative AI model and determines the optimal response method. The input is the response data from the generative AI model.
[1634] Specific operation: The server analyzes the text data returned by the generative AI model (e.g., "We are currently offering a 20% discount campaign for new customers") and determines which interface to use to respond to the user.
[1635] Output: Optimized response data and response method.
[1636] Step 7: Send a response to the user
[1637] Server: Sends optimized response data to the user. Input includes the response data and destination interface information.
[1638] Specific operation: In the case of a LINE message, the server sends a reply using the LINE Messaging API. In the case of a web message, the server displays the reply in the browser via an HTTP response.
[1639] Output: The response information displayed to the user.
[1640] This series of processes enables consistent provision of AI services across different interfaces.
[1641] (Application example 1)
[1642] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1643] In modern autonomous vehicles, requests made by users through different interfaces (voice, text, display, etc.) can be inconsistent. This creates a fragmented user experience, making it difficult to efficiently obtain information and support. Centrally managing and processing requests from different interfaces, especially within the vehicle, is technically complex and requires a unified user experience.
[1644] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1645] In this invention, the server includes a receiving means for receiving user requests from different interfaces, an analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, a querying means for formulating a query based on the analyzed content and sending the query to an AI service, a response determining means for receiving a response from the AI service and determining the optimal response method, a transmitting means for sending a response to the user according to the determined response method, and a means for receiving and unifying requests in the autonomous vehicle via voice, text, and on-board display. This makes it possible to centrally process user requests in the autonomous vehicle and provide a unified and consistent experience.
[1646] "Different interfaces" refers to multiple input methods that users can use to enter information, such as voice, text, or an in-vehicle display.
[1647] "User Request" means an inquiry or instruction regarding information or services sought by a User.
[1648] A "receiving means" is a mechanism that includes multiple APIs for receiving user requests from different interfaces.
[1649] "Analysis means" refers to a function that includes a natural language processing algorithm and voice recognition technology for analyzing received user requests and extracting the user's intent and necessary information.
[1650] "Inquiry method" is a function that constructs inquiry content based on the analyzed content and sends it to the AI service.
[1651] A "response determination means" is a mechanism for analyzing the response received from the AI service and determining the optimal response method.
[1652] "Transmission means" is a function for transmitting a reply to the user in accordance with the determined reply method.
[1653] An "autonomous vehicle" is a vehicle that is capable of driving autonomously using technologies such as artificial intelligence.
[1654] This invention is a system for providing consistent AI services when a user makes requests through different interfaces in an autonomous vehicle. The following describes a specific embodiment for realizing this system.
[1655] Hardware and Software
[1656] Hardware used
[1657] Server machine: the computer running the Flask server
[1658] Autonomous vehicles: vehicles equipped with voice recognition systems, text input systems, and on-board displays
[1659] Software used
[1660] Flask: a web framework for handling HTTP requests
[1661] Transformers: Hugging Face's Natural Language Processing Library
[1662] AI Engine: Hugging Face Pipeline
[1663] Natural Language Processing Algorithms: NLP Models for Extracting User Intent
[1664] Speech recognition technology: Technology that converts voice data into text
[1665] Program processing explanation
[1666] Receiving a request
[1667] The server terminal uses multiple APIs to receive user requests from different interfaces, such as web requests, voice data, text messages, and requests from in-vehicle interfaces. For example, a request such as "What is the current traffic situation?" is received via the voice recognition system in an autonomous vehicle.
[1668] Parsing the request
[1669] The server uses natural language processing algorithms to analyze the received request. The voice data is converted into text using speech recognition technology. The analysis means then extracts the user's intent and required information. For example, if a user requests "find the nearest gas station," the analysis means extracts the intent that "I want to know the location of the gas station."
[1670] Inquiry to AI engine
[1671] Based on the analyzed content, a query is sent to the AI engine. Based on the query, the AI engine generates an appropriate response. For example, a query may be sent such as, "Please provide information about the location of gas stations."
[1672] Deciding how to respond and responding to the user
[1673] After receiving the response from the AI engine, the server determines the optimal response method and then sends the response to the user in the determined manner (voice response, text message, display on the in-car display, etc.). For example, a response such as "The nearest gas station is 2 km away" may be displayed on the in-car display.
[1674] Specific examples
[1675] Suppose a user requests "What is the current traffic situation?" via a voice recognition system in an autonomous vehicle. This request is processed by the server as the following prompt:
[1676] Example prompt:
[1677] What is the current traffic situation?
[1678] The server analyzes the request, extracts the user's intent, and queries the AI engine. The AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit." The server then displays this on the in-car display.
[1679] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1680] Step 1:
[1681] The user makes a request through the voice recognition system in the autonomous vehicle. For example, the user says, "Tell me the current traffic situation." The voice recognition system receives this voice data and sends it to the server.
[1682] Input: User's voice request: "What are the current traffic conditions?"
[1683] Output: Audio data
[1684] Step 2:
[1685] Converts voice data into text. The server uses voice recognition technology to convert voice data into text. For example, converts voice data such as "Please tell me the current traffic situation" into text data.
[1686] Input: Audio data
[1687] Output: Text data "What is the current traffic situation?"
[1688] Step 3:
[1689] The server analyzes the received text data and extracts the user's intent using a natural language processing algorithm. Here, the server uses an NLP model to analyze the text data and identify important keywords and intents. For example, it extracts the intent "I want to know about traffic conditions."
[1690] Input: Text data "What is the current traffic situation?"
[1691] Output: Extracted intent: "I want to know the traffic situation."
[1692] Step 4:
[1693] Based on the analyzed intent, the server queries the AI engine. The server then constructs an appropriate query based on the intent and sends it to the AI engine. For example, the server may ask the AI engine, "Please provide the current traffic conditions."
[1694] Input: Extracted intent: "I want to know about traffic conditions"
[1695] Output: Constructed query "Please provide the current traffic conditions."
[1696] Step 5:
[1697] The AI engine generates an appropriate response to the query it receives. Using the generative AI model, the AI engine generates a response such as, "Traffic is currently smooth. There may be a traffic jam at the next exit."
[1698] Input: Constructed query: "Please provide the current traffic conditions."
[1699] Output: Response "Traffic is currently smooth. There may be congestion at the next exit."
[1700] Step 6:
[1701] The server receives the generated response and determines the best way to respond to the user. In this case, it determines that displaying the response on the in-vehicle display is appropriate. The server then converts the response content into a format that can be sent to the in-vehicle display.
[1702] Input: Response: "Traffic is currently moving smoothly. There may be congestion at the next exit."
[1703] Output: Text data for display
[1704] Step 7:
[1705] The server then sends the converted response data to the vehicle's display, where it is displayed for the user to view. The user can then check the current traffic conditions through the display.
[1706] Input: Text data to be displayed on the screen
[1707] Output: Response displayed on the vehicle display
[1708] By following the steps outlined above, users can receive consistent AI services within self-driving vehicles.
[1709] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1710] The present invention provides an embodiment of a system that receives user requests from different interfaces, queries an AI service for responses, and combines an emotion engine that analyzes user emotions.
[1711] System Overview
[1712] The system receives user requests from various interfaces, such as the web, telephone, voice assistant, and LINE, and analyzes the user's intentions and emotions. Based on the analysis results, it queries an AI service and provides an appropriate response that reflects the user's emotions. Its main functions consist of a receiving means, an analyzing means, a querying means, an emotion engine, a response determining means, and a sending means.
[1713] Program processing
[1714] 1. Receiving user requests
[1715] Device: A user enters an inquiry into a web form (e.g., "I'd like to know about new products") and clicks the submit button.
[1716] On the device: The user also asks the voice assistant, "How's the delivery going?"
[1717] 2. Receiving and analyzing requests
[1718] Server: Receives requests from the web interface as HTTP requests and voice data from the voice assistant as webhooks.
[1719] Server: Analyzes the received data using analytical means to extract the user's intent and keywords. If necessary, uses voice recognition technology to convert the voice data into text.
[1720] 3. User sentiment analysis
[1721] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if the user says, "I'm frustrated because the delivery is late," that emotion is extracted.
[1722] 4. Build your inquiry
[1723] Server: Based on the analyzed intent and emotion data, the server constructs the query content. For example, if a user is frustrated about the progress of their delivery, the server constructs a query that prioritizes checking the delivery status.
[1724] 5. Send a query to the AI engine
[1725] Server: Sends the constructed query content to the AI engine.
[1726] AI engine: Generates appropriate answers based on the inquiry.
[1727] 6. Receive a response
[1728] Server: Receives response data from the AI engine. For example, "The delivery is currently arriving at the local delivery center. We apologize for the inconvenience."
[1729] 7. Determine the best way to respond
[1730] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[1731] 8. Send a response to the user
[1732] Server: Sends a response to the user according to the selected response method. For web, it displays the response in the browser, and for voice assistants, it responds with a voice message.
[1733] User: Receives and confirms the submitted response.
[1734] Specific examples
[1735] Example 1: Web inquiry
[1736] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and submits it.
[1737] 2. Server: Analyzes the received request as an HTTP request and extracts keywords for "new product release information."
[1738] 3. Server: Analyze the user's emotions using the emotion engine, and if there is no particular emotion, process it as a normal inquiry.
[1739] 4. Server: Queries the AI engine for "new product release information."
[1740] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[1741] 6. Server: Displays the received response in the web browser.
[1742] Example 2: LINE inquiry
[1743] 1. User: Sends a message on LINE saying, "The delivery is delayed. What's going on?"
[1744] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[1745] 3. Server: Use the emotion engine to extract the emotion "irritated" from the user's message.
[1746] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[1747] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[1748] 6. Server: Send the reply as a LINE message.
[1749] 7. User: Receives a message on LINE and checks for a reply.
[1750] In this embodiment, user satisfaction can be significantly improved by analyzing user emotions along with requests from different interfaces and providing a consistent AI experience that meets individual needs.
[1751] The processing flow will be explained below.
[1752] Step 1:
[1753] User submits a request
[1754] User: For example, a user fills in a contact form in a web browser with the question "Tell me about home appliance repair services" and clicks the submit button.
[1755] User: Or, the user asks the voice assistant, "Tell me about new product releases."
[1756] Step 2:
[1757] The server receives the request
[1758] Server: Receives the HTTP request sent from the web browser.
[1759] Server: Receives the voice data sent from the voice assistant and converts it into a data format.
[1760] Step 3:
[1761] Parsing the request
[1762] Server: Analyzes the received data and extracts the user's intent and keywords. In the case of the web, this involves directly analyzing information entered as text data.
[1763] Server: In the case of voice assistants, speech recognition technology is first used to convert voice data into text, and then the text data is analyzed using natural language processing (NLP).
[1764] Step 4:
[1765] User sentiment analysis
[1766] Server: The emotion engine is used to recognize the user's emotions from the analyzed text and voice data. For example, if a message expresses "irritation" or "dissatisfaction," that emotion is extracted.
[1767] Step 5:
[1768] Build your inquiry
[1769] Server: Based on the analyzed intent and sentiment data, the server constructs a query, such as "More details about home appliance repair services."
[1770] Server: Adjusts query content based on emotional data. For example, if a user is "irritated," prioritize queries that take emotion into account.
[1771] Step 6:
[1772] Sending queries to the AI engine
[1773] Server: Sends the constructed query content to the AI engine.
[1774] AI engine: Receives inquiries and generates appropriate answers.
[1775] Step 7:
[1776] Receiving a response
[1777] Server: Receives the answer generated by the AI engine, for example, "Home appliance repair services are available Monday through Friday from 9:00 AM to 5:00 PM."
[1778] Step 8:
[1779] Decide how best to respond
[1780] Server: Based on the received response data and the user's emotional information, the server determines the optimal response method (text, voice, LINE message, etc.). If the user's emotions are strong, the server may consider adding an apology or words of empathy.
[1781] Server: If necessary, use text-to-speech synthesis technology to convert text data into audio data.
[1782] Step 9:
[1783] Send a response to the user
[1784] Server: Responds to the user in the way that is determined. In the case of the web, this means displaying the results in the browser, and in the case of a voice assistant, this means providing a spoken response.
[1785] User: Receives the sent response and checks its contents, for example, checking the opening hours of the repair service.
[1786] Specific examples
[1787] Example 1: Web inquiry
[1788] 1. User: Enters "Please tell me about new product release information" into the inquiry form in a web browser and clicks the submit button.
[1789] 2. Server: Analyzes the received HTTP request using an analysis means and extracts keywords related to "new product release information."
[1790] 3. Server: Use the emotion engine, and if no special emotion is detected, process it as a normal query.
[1791] 4. Server: Queries the AI engine for "new product release information."
[1792] 5. AI engine: Generates the answer, "The new product will be released at the end of next month."
[1793] 6. Server: Displays the received response in the web browser.
[1794] Example 2: LINE inquiry
[1795] 1. User: Sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[1796] 2. Server: Receives message data via LINE Webhook and extracts keywords and intent using NLP algorithms.
[1797] 3. Server: Uses an emotion engine to extract the "irritated" emotion from the user's message.
[1798] 4. Server: Build a query to the AI engine as a "user frustrated with delivery progress."
[1799] 5. AI engine: Generates the answer, "Your delivery is currently arriving at your local distribution center. We apologize for the inconvenience."
[1800] 6. Server: Send the reply as a LINE message.
[1801] 7. User: Receives a message on LINE. Sees the reply and may feel better.
[1802] In this way, this system is expected to improve user satisfaction by analyzing user requests and their emotions and providing optimal responses through AI services.
[1803] Example 2
[1804] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1805] In modern society, there is an increasing demand for systems that can efficiently process user requests from a variety of interfaces and provide appropriate responses. Conventional systems have had difficulty managing requests from different interfaces in a unified manner and generating responses that reflect the user's emotions. This has led to issues such as a decrease in user satisfaction and problems with the efficiency of the system itself.
[1806] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1807] In this invention, the server includes receiving means for receiving user requests from different interfaces, analyzing means for analyzing the received user requests and extracting the user's intentions and necessary information, emotion recognition means for analyzing the emotions contained in the user requests, querying means for formulating query content based on the analyzed content and emotion information and querying the knowledge base system, response determination means for receiving a response from the knowledge base system and determining the optimal response method, and sending means for transmitting a response to the user in accordance with the determined response method. This makes it possible to efficiently process requests from a variety of interfaces and provide an appropriate response according to the user's emotions.
[1808] "Receiving means" is a means for receiving user requests from different interfaces.
[1809] The "analysis means" is a means for analyzing a received user request and extracting the user's intentions and necessary information.
[1810] The "emotion recognition means" is a means for analyzing the emotions contained in a user request.
[1811] The "query means" is a means for constructing a query based on the analyzed content and emotion information and making a query to the knowledge base system.
[1812] The "answer determination means" is a means for receiving a response from the knowledge base system and determining the most appropriate response method.
[1813] The "transmission means" is a means for transmitting a reply to the user in accordance with the determined reply method.
[1814] An "interface" is a point of contact through which users and systems communicate with each other.
[1815] "User Request" means a question or request submitted by a User to the System.
[1816] "Emotion" refers to the psychological state the user is in when making a request.
[1817] A "knowledge-based system" is a system that has the knowledge to generate a response based on the content of a query.
[1818] The present invention provides an embodiment of a system that receives user requests from different interfaces, combines an emotion engine that analyzes user emotions, and queries a knowledge-based system to provide a response. This system receives user requests from different interfaces, such as the web, telephone, voice assistant, and text message, and analyzes the user's intentions and emotions. Based on the analysis results, the system queries the knowledge-based system and provides an appropriate response that reflects the user's emotions.
[1819] System configuration
[1820] This system is composed of a receiving means, an analyzing means, an emotion recognition means, an inquiry means, a reply determination means, and a sending means. Specifically, the following hardware and software are used:
[1821] Hardware
[1822] Server: Receives requests, analyzes them, recognizes emotions, queries them, and sends responses.
[1823] Device: The device used by the user (e.g., smartphone, PC, voice assistant device).
[1824] software
[1825] Receiving method: API for receiving HTTP requests, Webhook requests, etc.
[1826] Analysis method: Natural Language Processing (NLP) algorithms. For example, Google Natural Language API.
[1827] Emotion recognizer: An engine for analyzing emotions. For example, IBM Watson Tone Analyzer.
[1828] Interrogation: The ability to construct and send prompts to generative AI models, such as OpenAI GPT-3.
[1829] Response determination method: A function that determines the optimal response method based on the received response data and the user's emotional information.
[1830] Sending method: An API for sending a reply to the user. For example, LINE Messaging API, a speech synthesis engine (Amazon Polly).
[1831] A concrete example of the processing flow
[1832] Example 1: Web inquiry
[1833] 1. The user opens a web browser, enters "Please tell me about new product release information" into the inquiry form, and submits it.
[1834] 2. The terminal sends this inquiry to the server as an HTTP request.
[1835] 3. The server sends the received HTTP request to an analysis method (Google Natural Language API) and extracts the user's intent, "new product release information."
[1836] 4. The server uses emotion recognition (IBM Watson Tone Analyzer) to confirm that the user does not have any particular emotion.
[1837] 5. The server uses the query means to send a prompt regarding "new product release information" to the generative AI model (OpenAI GPT-3).
[1838] Example prompt: "What new product release information do you have?"
[1839] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "The new product will be released at the end of next month."
[1840] 7. The server converts the received response into HTML format and displays it in the web browser.
[1841] 8. The user checks the response displayed in their web browser.
[1842] Example 2: LINE inquiry
[1843] 1. The user sends a message on LINE saying, "Delivery progress is delayed. What's going on?"
[1844] 2. The device sends this message to the server as a webhook request.
[1845] 3. The server sends the received message data to an analysis tool (Google Natural Language API) to extract the keywords and intent of "delivery progress."
[1846] 4. The server uses an emotion recognition tool (IBM Watson Tone Analyzer) to extract the user's "irritated" emotion.
[1847] 5. The server constructs a query for the "user frustrated with the delivery progress" and sends the prompt to the generative AI model (OpenAI GPT-3).
[1848] Example prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[1849] 6. The knowledge-based system (OpenAI GPT-3) generates the answer, "Your delivery is currently arriving at your local delivery center. We apologize for the inconvenience."
[1850] 7. The server generates and sends the reply as a LINE message.
[1851] 8. The user checks the message received on LINE and understands the reply.
[1852] This makes it possible to efficiently process requests from different interfaces and provide appropriate responses according to the user's emotions.
[1853] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1854] Specific steps of the program's processing
[1855] Step 1: Receive a user request
[1856] Input: User request (e.g., web form entry, voice command to a voice assistant)
[1857] Operation:
[1858] A user fills out a web form with the request "Tell me about new product releases" and submits it.
[1859] The device asks the voice assistant, "How's the delivery going?"
[1860] Output: User request data
[1861] Examples: web form input data, voice command audio data
[1862] Step 2: Receiving and parsing the request
[1863] Input: User request data (generated in step 1)
[1864] Operation:
[1865] The server parses the HTTP requests received from the web interface and extracts the user input.
[1866] The server parses the webhook request received from the voice assistant and extracts the audio data.
[1867] The server converts the voice data into text using a speech recognition engine (e.g., Google Speech-to-Text API).
[1868] The server analyzes the text data using an NLP (natural language processing) algorithm to extract the user's intent and keywords.
[1869] Output: User intent and keywords (text format)
[1870] Examples: "New product release information", "Delivery progress"
[1871] Step 3: Analyze user sentiment
[1872] Input: User intent or keywords (generated in step 2)
[1873] Operation:
[1874] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize the user's emotion from the analyzed text data.
[1875] The server extracts emotional information such as "irritated" and stores it in a database.
[1876] Output: Emotional information
[1877] Examples: "I'm frustrated" and "I'm happy"
[1878] Step 4: Build your inquiry
[1879] Input: User intent, keywords, and sentiment information (generated in step 3)
[1880] Operation:
[1881] The server constructs the query content based on the analyzed intent and emotion data.
[1882] If the server is a "user who is frustrated about the delivery progress," it will prioritize creating a query to check the delivery status.
[1883] Output: Inquiry details
[1884] Example: "Delivery progress check query"
[1885] Step 5: Send the query to the AI engine
[1886] Input: Enquiry (generated in step 4)
[1887] Operation:
[1888] The server generates a prompt to send the constructed query to an AI engine (e.g., OpenAI GPT-3).
[1889] The server sends the generated prompt to the AI engine.
[1890] Output: Send prompt to AI engine
[1891] Examples:
[1892] Prompt: "What new product release information do you have?"
[1893] Prompt: "For users who are behind on their deliveries, please check the status and advise them on how to proceed."
[1894] Step 6: Receive a response
[1895] Input: Prompt transmission result to AI engine (sent in step 5)
[1896] Operation:
[1897] The AI engine generates appropriate answers based on the inquiry.
[1898] The server receives the response data from the AI engine.
[1899] The server may receive a response such as, "Your delivery is currently arriving at your local delivery center. We apologize for any inconvenience caused."
[1900] Output: Response data from the AI engine
[1901] Examples include: "New products will be available at the end of next month" or "Your delivery is currently arriving at your local distribution center. We apologize for any inconvenience."
[1902] Step 7: Decide how best to respond
[1903] Input: Response data from the AI engine, emotion information (received in step 6)
[1904] Operation:
[1905] Based on the response data received by the server and the user's emotional information, the optimal response method (text, voice, LINE message, etc.) is determined.
[1906] The server constructs the optimal response message based on rules such as "if the customer is irritated, add an apology or words of sympathy."
[1907] Output: Best reply message
[1908] Example: "We apologize for the inconvenience. Your delivery is currently on its way to your local distribution center."
[1909] Step 8: Send a response to the user
[1910] Input: Best reply message (generated in step 7)
[1911] Operation:
[1912] The server sends a response to the user according to the selected response method.
[1913] For the web: The response data is converted to HTML format and displayed in the browser.
[1914] For voice assistants: Pass the text data to a speech synthesis engine (e.g., Amazon Polly), generate speech data, and provide a voice response.
[1915] For LINE: Use the LINE Messaging API to create and send a reply message.
[1916] The user receives and confirms the response sent.
[1917] Output: The reply sent to the user
[1918] Examples: Answers displayed in a web browser, messages received on LINE
[1919] This makes it possible to provide responses that improve user satisfaction based on highly accurate request analysis and emotional understanding.
[1920] (Application example 2)
[1921] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1922] In modern electronic payment services, it is common for users to respond to inquiries or problems in a uniform manner that ignores their emotions. However, this often results in a poor user experience, leaving them dissatisfied and stressed. Furthermore, there is no unified system for handling requests from various interfaces, which makes management complicated. To solve these issues, a system that takes user emotions into consideration and provides appropriate responses is needed.
[1923] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1924] In this invention, the server includes receiving means for receiving user requests from different interfaces, analysis means for analyzing the received user requests and extracting the user's intentions and necessary information, an emotion engine for analyzing the user's emotions, query means for formulating query content based on the analyzed content and querying the AI service, response determination means for modifying the response from the AI service based on the user's emotions analyzed by the emotion engine, and transmission means for sending a response to the user in accordance with the determined response method, thereby enabling a quick and appropriate response that takes the user's emotions into consideration.
[1925] "Different interfaces" refers to multiple forms of data, such as web requests, voice data, and text messages.
[1926] "User request" refers to an inquiry, instruction, question, or other input made by a user to the system.
[1927] "Receiving means" refers to devices or processes for receiving user requests from different interfaces.
[1928] "Analysis means" refers to a device or process for analyzing a received user request and extracting the user's intentions and necessary information.
[1929] "Query means" refers to the device or process used to construct a query based on the analyzed content and make a query to the AI service.
[1930] An "emotion engine" refers to a device or process for analyzing emotions from user requests and extracting emotional information.
[1931] "Response determination means" refers to a device or process for determining the optimal response by modifying the response received from the AI service based on the user's emotions analyzed by the emotion engine.
[1932] "Transmission means" refers to a device or process for transmitting a response to a user according to a determined response method.
[1933] This invention describes a specific embodiment of a system that combines an emotion engine to analyze user emotions, receives user requests from different interfaces, and queries AI services to provide responses.
[1934] System Overview
[1935] The system includes the following means:
[1936] Receiving means
[1937] The server utilizes multiple APIs and webhooks to receive data in different formats, such as web requests, voice data, text messages, etc. This allows it to respond to requests from any interface the user uses.
[1938] Analysis means
[1939] The server analyzes the received user request using a natural language processing algorithm (e.g., Spacy, NLTK) to extract the user's intent and necessary information. In the case of voice data, it converts it into text using voice recognition technology (e.g., Google Speech-to-Text).
[1940] Emotion Engine
[1941] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text and voice data. For example, if a user asks, "I'm having trouble paying my bills. What should I do?", the server extracts the emotion of confusion.
[1942] Contact methods
[1943] Based on the analyzed intent and emotion data, the server constructs an inquiry to an AI service (e.g., OpenAI GPT-4) and sends it as a query.
[1944] Response determination method
[1945] The server receives the response from the AI service and makes appropriate adjustments based on the user's emotions, for example adding reassuring words to the response if the user expresses impatience.
[1946] Transmission method
[1947] After the response is determined, the server sends the response in the most appropriate format depending on the user's original interface (web, voice assistant, LINE). For example, it displays the response as text on the web and responds verbally to a voice assistant.
[1948] Specific examples
[1949] Example 1: Web inquiry
[1950] The user enters "Please tell me my point balance" into an inquiry form in a web browser and submits it. The server receives the request, analyzes it using an NLP algorithm, and extracts the intention to check the point balance. The emotion engine recognizes the user's impatience. An inquiry based on "checking the point balance and the emotion of impatience" is sent to the AI engine, which generates a response saying, "Your current point balance is 1,000 points. We apologize for the inconvenience." The server displays the response in the web browser.
[1951] Example 2: Voice assistant
[1952] The user speaks to the voice assistant saying, "I'm having trouble with my late payment. What should I do?" The server receives the voice data as a webhook and converts it into text using speech recognition technology. It analyzes it using an NLP algorithm and extracts the user's intention to resolve the late payment. The emotion engine recognizes the user's confusion. An inquiry is sent to the AI engine based on "resolving the late payment and the emotion of confusion," and a response is generated saying, "Please contact customer support." The server then responds via the voice assistant.
[1953] Examples of prompt statements
[1954] The user asks, "What's my points balance?" Recognize that the user is impatient.
[1955] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1956] Step 1:
[1957] Receiving user requests
[1958] A user enters their inquiry into a web form (e.g., "What is my point balance?") and clicks the submit button. This input data is sent to the server via a web API. Alternatively, if a user speaks to a voice assistant, saying, "My payment is late and I'm having trouble, what should I do?", the voice data is sent to the server via a webhook. The input data can be text or voice data.
[1959] Step 2:
[1960] Parsing the request data
[1961] The server analyzes the received user request using an analysis method. In the case of text data, natural language processing algorithms (e.g., Spacy, NLTK) are used to extract the user's intent and keywords. In the case of audio data, speech recognition technology (e.g., Google Speech-to-Text) is used to convert it into text, which is then similarly analyzed using NLP algorithms. The input is text or audio data, and the output is analyzed intent and keyword data.
[1962] Step 3:
[1963] User sentiment analysis
[1964] The server uses an emotion engine (e.g., IBM Watson, Aylien) to recognize the user's emotion from the analyzed text data and voice data. For example, it extracts the emotion of impatience from the request "Tell me my point balance." The input of this step is the analyzed text data, and the output is the user's emotion data.
[1965] Step 4:
[1966] Build your inquiry
[1967] The server constructs the query content based on the analyzed intent and emotion data. For example, it creates a query to send to the AI engine based on "check point balance" and "feelings of impatience." The input to this step is intent data and emotion data, and the output is a query to send to the AI engine.
[1968] Step 5:
[1969] Sending queries to the AI engine
[1970] The server sends the constructed query to an AI engine (e.g., OpenAI GPT-4), which generates an appropriate answer based on the query. The input is the query, and the output is the response data from the AI engine.
[1971] Step 6:
[1972] Correct the response data
[1973] The server receives the response from the AI engine using the response determination means and makes optimal modifications based on the user's emotions. For example, if a user shows impatience, it adds words of reassurance to the response. The input is the response data from the AI engine, and the output is the modified response data.
[1974] Step 7:
[1975] Send a reply to the user
[1976] The server responds in the optimal format according to the user's original interface (web, voice assistant, LINE, etc.) based on the determined response method. In the case of the web, the response is displayed as text in the browser, and in the case of a voice assistant, the response is given by voice. The input is the modified response data, and the output is a web page, a voice response, a LINE message, etc.
[1977] This allows for flexible and appropriate responses that take into account the user's feelings.
[1978] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1979] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1980] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1981] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1982] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1983] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1984] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1985] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1986] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1987] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1988] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1989] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1990] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1991] 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.
[1992] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1993] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1994] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1995] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1996] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1997] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1998] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1999] The following is further disclosed regarding the above embodiment.
[2000] (Claim 1)
[2001] receiving means for receiving user requests from different interfaces;
[2002] An analysis means for analyzing received user requests and extracting the user's intent and necessary information;
[2003] A means of constructing an inquiry based on the analyzed content and making an inquiry to the AI service;
[2004] A response determination means for receiving a response from the AI service and determining an optimal response method;
[2005] A means for sending a reply to the user according to the determined reply method.
[2006] A system including:
[2007] (Claim 2)
[2008] 10. The system of claim 1, wherein the receiving means includes a plurality of APIs for receiving different types of data, such as web requests, voice data, and text messages.
[2009] (Claim 3)
[2010] 10. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze the user request and convert the speech data into text as needed.
[2011] "Example 1"
[2012] (Claim 1)
[2013] receiving means for receiving user requests from different interfaces;
[2014] An analysis means for analyzing received user requests and extracting the user's intent and necessary information;
[2015] A query means for constructing a query based on the analyzed content and querying the generative AI model;
[2016] A response determination means for receiving a response from the generative AI model and determining an optimal response method;
[2017] A means for sending a reply to the user according to the determined reply method.
[2018] A system including:
[2019] (Claim 2)
[2020] 10. The system of claim 1, wherein the receiving means includes a plurality of APIs for receiving different types of data, such as web requests, voice data, and text messages.
[2021] (Claim 3)
[2022] 10. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze the user request and convert the speech data into text as needed.
[2023] "Application Example 1"
[2024] (Claim 1)
[2025] receiving means for receiving user requests from different interfaces;
[2026] An analysis means for analyzing received user requests and extracting the user's intent and necessary information;
[2027] A means of constructing an inquiry based on the analyzed content and making an inquiry to the AI service;
[2028] A response determination means for receiving a response from the AI service and determining an optimal response method;
[2029] a sending means for sending a reply to the user in accordance with the determined reply method;
[2030] and a means for receiving and unifying requests from voice, text, and on-board displays in an automated vehicle.
[2031] A system including:
[2032] (Claim 2)
[2033] 10. The system of claim 1, wherein the receiving means includes a plurality of APIs for receiving different types of data, such as web requests, voice data, text messages, and in-vehicle interfaces.
[2034] (Claim 3)
[2035] 2. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze user requests and convert voice data to text as needed, and also responds to requests from an in-vehicle interface.
[2036] "Example 2: Combining Emotion Engines"
[2037] (Claim 1)
[2038] receiving means for receiving user requests from different interfaces;
[2039] An analysis means for analyzing received user requests and extracting the user's intent and necessary information;
[2040] emotion recognition means for analyzing emotions contained in a user request;
[2041] a query means for constructing a query based on the analyzed content and emotion information and querying the knowledge base system;
[2042] a response determination means for receiving a response from the knowledge base system and determining an optimal response method;
[2043] A means for sending a reply to the user according to the determined reply method.
[2044] A system including:
[2045] (Claim 2)
[2046] 10. The system of claim 1, wherein said receiving means includes a plurality of application program interfaces for receiving different types of data, such as web requests, voice data, and text messages.
[2047] (Claim 3)
[2048] 10. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze the user request and convert the speech data into text as needed.
[2049] "Application example 2 when combining emotion engines"
[2050] (Claim 1)
[2051] receiving means for receiving user requests from different interfaces;
[2052] An analysis means for analyzing received user requests and extracting the user's intent and necessary information;
[2053] A means of constructing an inquiry based on the analyzed content and making an inquiry to the AI service;
[2054] An emotion engine that analyzes user emotions,
[2055] a response determination means for modifying a response from the AI service based on the user's emotions analyzed by the emotion engine;
[2056] A means for sending a reply to the user according to the determined reply method.
[2057] A system including:
[2058] (Claim 2)
[2059] 10. The system of claim 1, wherein the receiving means includes a plurality of APIs for receiving different types of data, such as web requests, voice data, and text messages.
[2060] (Claim 3)
[2061] 10. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze the user request and convert the speech data into text as needed. [Explanation of symbols]
[2062] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. receiving means for receiving user requests from different interfaces; An analysis means for analyzing received user requests and extracting the user's intent and necessary information; A means of constructing an inquiry based on the analyzed content and making an inquiry to the AI service; A response determination means for receiving a response from the AI service and determining an optimal response method; A means for sending a reply to the user according to the determined reply method. A system including:
2. 2. The system of claim 1, wherein the receiving means includes a plurality of APIs for receiving different types of data, such as web requests, voice data, and text messages.
3. 2. The system of claim 1, wherein the analyzing means includes speech recognition technology that uses natural language processing algorithms to analyze the user request and convert the speech data into text as needed.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A