system
The system addresses the inefficiencies of Excel data processing by allowing natural language input for data extraction and aggregation, using generative AI to automate the process and provide quick, accurate results.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Existing systems require specialized knowledge to extract and aggregate data from Excel files, leading to inefficiencies and decreased performance with large datasets, lacking flexibility and automation.
A system that allows users to input data extraction and aggregation instructions in natural language, utilizing a generative AI to interpret these instructions, programmatically read and process Excel files, and display results, enabling efficient data processing without specialized knowledge.
Enables intuitive and efficient data extraction and aggregation from Excel files, allowing users to process large datasets quickly and accurately without requiring technical expertise.
Smart Images

Figure 2026063731000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Conventionally, in order to extract and aggregate data from an Excel file, a user had to directly operate Excel software and make full use of knowledge of complex operations, macros, and functions. Therefore, it was difficult for users without specialized knowledge, resulting in a problem that efficient data processing was difficult. Also, when dealing with a large amount of data, the performance of Excel software may decrease, which has been a factor hindering the efficiency of business. Furthermore, it was difficult to perform external operations or automation, lacking flexibility in data processing.
Means for Solving the Problems
[0005] To solve the above problems, the present invention provides the following means: a system including means for a user to input data extraction and aggregation instructions in natural language, means for a terminal to send the input instructions to a server, means for the server to perform natural language processing using a generative AI to interpret the instructions, means for the server to programmatically read a data file, means for the server to perform data extraction and aggregation based on the read data, means for the server to send the aggregation results to a terminal, and means for the terminal to display the aggregation results to the user. With this system, the user can give instructions for data extraction and aggregation in natural language without directly operating Excel software, and can process data efficiently. Furthermore, by using a generative AI, even users without specialized knowledge can easily operate the system. In addition, because the server processes the data file, large amounts of data can be processed at high speed.
[0006] A "user" refers to a person who uses the system to perform data extraction and aggregation instructions using natural language.
[0007] "Natural language" refers to the language used in everyday conversation, not a specific programming language, but a language that humans can intuitively understand.
[0008] "Terminal" refers to a device such as a computer or smartphone that is operated by a user.
[0009] A "server" refers to a computer system that receives requests from terminals and processes the data.
[0010] "Generative AI" refers to artificial intelligence technology that analyzes input natural language and generates appropriate data manipulation instructions.
[0011] "Natural language processing" refers to the technology that enables computers to understand and process human natural language (spoken and written language).
[0012] A "data file" refers to a file containing data saved in Excel format or other formats.
[0013] "To read with a program" refers to using software to retrieve the contents of a data file and then processing that data.
[0014] "Data extraction" refers to the process of retrieving necessary information from a data file according to specific conditions.
[0015] "Aggregation" refers to the process of statistically organizing extracted data and calculating numerical values such as sums and averages.
[0016] "Sending results" refers to the process where the server returns the results of the data it has processed to the terminal.
[0017] "Display" refers to the visual presentation of the results of the data received by the device to the user. [Brief explanation of the drawing]
[0018] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8]It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
Modes for Carrying Out the Invention
[0019] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0020] First, the language used in the following description will be explained.
[0021] In the following embodiments, a processor with a reference number (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of a plurality of arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of a plurality of types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0022] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0023] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0024] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0025] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0026] [First Embodiment]
[0027] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0028] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0029] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0030] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0031] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0032] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0033] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0034] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0036] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0037] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0038] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0039] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0040] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0041] Next, the terminal sends this input to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0042] The server receives this request and uses a generative AI to analyze the input natural language. The generative AI utilizes an external AI service to interpret the input instructions and determine which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0043] Next, the server programmatically reads the Excel file. The Excel file contains sales data, and the server reads the Excel file using data processing libraries such as pandas or openpyxl, and manages the data in DataFrame format.
[0044] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. As a specific example, it extracts sales data for April 2023 and calculates the total value.
[0045] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total sales for April 2023 were 123,456 yen."
[0046] Finally, the results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0047] As a specific example, if a user enters "Tell me the total sales for April 2023 from the sales data," the server will perform the following actions:
[0048] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0049] 2. Read the Excel file and extract the sales data for April 2023.
[0050] 3. Calculate the total sales from the extracted data.
[0051] 4. Format the results and send them to the terminal in JSON format.
[0052] The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0053] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0054] The following describes the processing flow.
[0055] Step 1:
[0056] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0057] Step 2:
[0058] The terminal sends this input to the server in JSON format. The terminal creates an HTTP POST request and sends the JSON data containing the instructions to the server.
[0059] Step 3:
[0060] The server receives a request from the terminal. The Flask application receives JSON data through the / query endpoint and obtains user instructions.
[0061] Step 4:
[0062] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation.
[0063] Step 5:
[0064] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0065] Step 6:
[0066] The server extracts and aggregates data based on the analysis results of the generative AI. The query from the analysis results (for example, "extract sales data for April 2023 and calculate the total") is applied to a DataFrame to obtain the necessary data and perform the aggregation.
[0067] Step 7:
[0068] The server formats the calculation results. It converts the aggregated results into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were ¥123,456."
[0069] Step 8:
[0070] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0071] Step 9:
[0072] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0073] Step 10:
[0074] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Total sales for April 2023 were 123,456 yen."
[0075] This entire process allows users to easily give instructions for data extraction and aggregation using natural language, and obtain accurate and rapid results.
[0076] (Example 1)
[0077] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0078] In conventional data extraction and aggregation systems, users often required advanced expertise to extract and aggregate specific information from data such as Excel files. Furthermore, natural language instructions were not directly reflected in the data extraction and aggregation process; manual operation was necessary, resulting in significant time and effort. This led to decreased operational efficiency and difficulty in ensuring the reliability of data processing.
[0079] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0080] In this invention, the server includes means for the user to input data extraction and aggregation instructions in natural language, means for the terminal to convert the input instructions into JSON format and send them to the server, means for the server to perform natural language processing using a generative AI for interpreting the instructions, means for the server to use a data processing library for reading data from an Excel file, means for the server to generate and execute program code for data extraction and aggregation based on the read data, means for the server to construct the calculation results in JSON format and send them to the terminal, and means for the terminal to display the received aggregation results to the user using a user interface. This makes it possible for users to intuitively perform data extraction and aggregation using natural language without specialized knowledge.
[0081] A "user" is a person who uses the system to input data extraction and aggregation instructions using natural language.
[0082] A "terminal" is a device used by a user that has the function of sending natural language instructions to a server and displaying the results received from the server.
[0083] A "server" is a computer system used for data processing. It is a device that interprets user instructions, extracts and aggregates data, and transmits the results to a terminal.
[0084] "Generative AI" refers to artificial intelligence systems that analyze natural language instructions and convert them into specific data extraction and aggregation actions.
[0085] An "Excel file" is a file format generated by spreadsheet software, used to structure and store data consisting of multiple rows and columns.
[0086] A "data processing library" is a software library that provides functions for reading, manipulating, and transforming data in programming.
[0087] "JSON format" is an abbreviation for JavaScript (registered trademark) Object Notation, and is a lightweight data exchange format for structurally representing data.
[0088] "Program code" is a set of instructions written for a computer to perform a specific task, and it consists of commands that define the operation of software.
[0089] A "user interface" is an interface, such as a screen or input device, that allows a user to interact with a system, and is a means of facilitating system operation and verification of results.
[0090] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0091] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." These instructions are in a format that humans can intuitively understand and do not require any specific expertise.
[0092] Next, the terminal converts this natural language input into JSON format. This converted data is then sent to the server as a POST request using the HTTP protocol. Converting to JSON format makes it possible to send the data to the server in a structured manner.
[0093] The server processes requests received from terminals. The key here is the use of a generative AI model. This generative AI model uses an external API to parse natural language instructions and translate them into specific data extraction and aggregation queries. For example, it might translate an instruction like, "Extract sales data for April 2023 and calculate total sales."
[0094] The server then reads the data from the Excel file. For this purpose, the server uses data processing libraries such as pandas and openpyxl. These libraries allow the Excel file to be managed in DataFrame format, enabling efficient data manipulation.
[0095] The server extracts the necessary data from an Excel file and performs aggregation processing based on instructions interpreted by the generative AI. A specific example is extracting sales data for April 2023 and calculating the total sales. Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The results are sent in a format such as, for example, "Total sales for April 2023 were 123,456 yen."
[0096] The terminal receives results sent from the server and displays them to the user using a user interface. This allows the user to intuitively understand the content of the data.
[0097] As a concrete example, if a user enters "Tell me the total sales for April 2023 from the sales data," the system will perform the following steps:
[0098] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0099] 2. Read the Excel file and extract the sales data for April 2023.
[0100] 3. Calculate the total sales from the extracted data.
[0101] 4. Format the results and send them to the terminal in JSON format.
[0102] 5. The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0103] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0104] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0105] Step 1:
[0106] The user enters instructions in natural language.
[0107] In terms of specific actions, the user inputs a natural language instruction in text format into the terminal interface, such as "Tell me the total sales for April 2023 from the sales data."
[0108] Input: Data extraction and aggregation instructions written in natural language.
[0109] Output: A text box on a terminal containing a natural language instruction.
[0110] Step 2:
[0111] The terminal converts the input instructions into JSON format and sends them to the server.
[0112] Specifically, the terminal receives user instructions and converts them into JSON data in the following format.
[0113] json
[0114] {
[0115] "request": "Please tell me the total sales for April 2023 based on the sales data."
[0116] }
[0117] Next, this JSON data is sent to the server as a POST request using the HTTP protocol.
[0118] Input: Instructions in natural language.
[0119] Output: JSON formatted data sent to the server.
[0120] Step 3:
[0121] The server receives the request and analyzes the instructions using a generative AI model.
[0122] Specifically, the server parses the received JSON data and performs natural language processing using an AI model generated via an external API. This process converts the natural language request into program code. For example, a query is generated to "extract sales data for April 2023 and calculate total sales."
[0123] Input: Data in JSON format.
[0124] Output: Program code for data extraction and aggregation.
[0125] Step 4:
[0126] The server reads data from the Excel file.
[0127] In terms of specific operations, the server reads Excel files using data processing libraries such as pandas and openpyxl. For example, it reads Excel files in DataFrame format as follows:
[0128] Python
[0129] import pandas as pd
[0130] df = pd.read_excel('sales_data.xlsx')
[0131] Input: Excel file.
[0132] Output: Data managed in DataFrame format.
[0133] Step 5:
[0134] The server extracts the necessary data and performs aggregation processing.
[0135] Specifically, the AI model extracts the necessary data from a DataFrame based on the generated query, and then uses that data for aggregation. For example, it might extract sales data for April 2023 and calculate total sales.
[0136] Python
[0137] april_data = df[(df['date'].dt.month == 4) & (df['date'].dt.year == 2023)]
[0138] total_sales = april_data['sales'].sum()
[0139] Input: Program code and data in DataFrame format.
[0140] Output: Necessary data is extracted and aggregated (e.g., total sales).
[0141] Step 6:
[0142] The server formats the calculation results in JSON format and sends them to the terminal.
[0143] Specifically, the server formats the calculation results, such as total sales figures, into a human-readable format and constructs them in JSON format as shown below.
[0144] json
[0145] {
[0146] "result": "Total sales for April 2023 were 123,456 yen."
[0147] }
[0148] After that, this JSON data is sent to the terminal using the HTTP protocol.
[0149] Input: Calculation result.
[0150] Output: JSON formatted data sent to the terminal.
[0151] Step 7:
[0152] The device receives the results and displays them to the user.
[0153] In terms of specific operations, the device parses the received JSON data and displays the results to the user through the user interface. For example, the browser or mobile app screen might display "Total sales for April 2023 were 123,456 yen."
[0154] Input: JSON formatted data sent from the server.
[0155] Output: The result displayed to the user.
[0156] (Application Example 1)
[0157] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0158] Traditional inventory management and shipping operations in logistics centers require manually extracting and aggregating necessary information from data such as Excel files. This process is time-consuming and prone to human error. Furthermore, real-time data processing and information acquisition are difficult, hindering efficient operations. To solve these problems, a system is needed that can easily extract and aggregate data using natural language and allow for real-time verification of the results.
[0159] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0160] In this invention, the server includes means for a user to input data extraction and aggregation instructions in natural language, means for a terminal to transmit the input instructions to the server, means for the server to perform natural language processing using a generative AI to interpret the instructions, means for the server to programmatically read data files, means for the server to perform data extraction and aggregation based on the data it has read, means for the server to transmit the aggregation results to the terminal, means for the terminal to display the aggregation results to the user, and means for extracting, aggregating, and displaying statistical data related to inventory management and shipping in a logistics center in real time. This enables increased efficiency in inventory management and shipping operations at a logistics center, as well as real-time information verification.
[0161] A "user" is a person who inputs system instructions in natural language.
[0162] A "terminal" is a device that sends instructions entered by a user in natural language to a server, and receives and displays the results from the server.
[0163] A "server" is a device that receives instructions sent from a terminal, interprets those instructions using natural language processing with generative AI, reads data files, extracts and aggregates necessary information, and sends the results back to the terminal.
[0164] "Generative AI" refers to artificial intelligence that performs natural language processing and may utilize external APIs.
[0165] "Natural language processing" is the technology that enables machines to understand human language (natural language) and analyze its meaning.
[0166] A "data file" is a file that stores digital data, such as in Excel format.
[0167] "Data extraction" refers to the process of retrieving necessary information from a data file.
[0168] "Aggregation" refers to the process of performing statistical processing on extracted data to calculate results such as sums and averages.
[0169] A "logistics center" is a facility where goods and materials are stored, managed, and shipped.
[0170] "Inventory management" refers to the management work involved in tracking and maintaining the quantity and condition of goods in a logistics center.
[0171] "Shipping" refers to the process of sending goods or materials out of a logistics center.
[0172] "Statistical data" refers to numerical information about quantities or conditions that have been extracted and aggregated.
[0173] "Real-time" means that data is processed and displayed instantly as soon as it is generated.
[0174] The embodiments for carrying out the present invention are described in detail below.
[0175] First, the user uses a terminal to input instructions for data extraction and aggregation in natural language. For example, they can input instructions such as "What was the total shipment volume this week?" or "What was the inventory status last month?" The terminal sends these input instructions to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0176] Next, the server receives this request and uses a generative AI to analyze the input natural language. An external AI service is used as the generative AI. For example, a Transformer-based natural language processing model using Huggingface's Transformers library is used to analyze the input instructions and interpret which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0177] Next, the server programmatically reads the Excel file. The Excel file contains data related to inventory management and shipping at the logistics center. The server reads the Excel file using data processing libraries such as pandas and openpyxl, and manages the data in DataFrame format.
[0178] The server extracts necessary information from the data it reads and performs aggregation processing based on instructions interpreted by the generative AI. For example, if the instruction is "What is the total shipment volume for this week?", the server extracts the shipment data for this week from an Excel file and calculates the total. The period for one week can be, for example, data from October 1, 2023 to October 7, 2023. The shipment quantities for this period are summed up to obtain the result.
[0179] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total shipments this week are 5,432".
[0180] The results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0181] As a concrete example, if a user enters "What is the total shipment volume for this week?", the server will process it as follows:
[0182] 1. Use natural language processing to generate a query to extract "this week's shipping data".
[0183] 2. Read the Excel file and extract the shipping data for the specified period.
[0184] 3. Calculate the total shipment volume of the extracted data.
[0185] 4. Format the results and send them to the terminal in JSON format.
[0186] The device receives this result and displays, "Total shipments this week are 5,432."
[0187] A concrete example of a prompt statement is the instruction, "Tell me the inventory status for last month." An example of a prompt statement in response to this instruction is as follows:
[0188] "Tell me about last month's inventory status."
[0189] In this way, inventory management and shipping operations at the logistics center can be carried out efficiently.
[0190] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0191] Step 1:
[0192] Users input data extraction and aggregation instructions using natural language via their terminal. For example, they might input instructions like, "What was the total shipment volume this week?" The input data is in text format as natural language instructions. The output is the input instructions converted into JSON format.
[0193] Step 2:
[0194] The terminal sends the input instructions to the server. This is sent as a POST request using the HTTP protocol. The input is the JSON data generated in step 1, and the output is that JSON data sent to the server.
[0195] Step 3:
[0196] The server receives this request and uses a generative AI to analyze the input natural language. The Huggingface Transformers library is used as the generative AI. The input is the JSON data received in step 2, and the output generates database queries or program code based on the user's instructions.
[0197] Step 4:
[0198] The server reads data files programmatically. The Excel files contain data related to inventory management and shipping at the logistics center. Specifically, the pandas and openpyxl libraries are used to read the Excel files in DataFrame format. The input is the path or URL of the Excel file, and the output is data managed in DataFrame format.
[0199] Step 5:
[0200] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. For example, to calculate the total shipment volume for this week, it filters shipment data for a specific period (e.g., October 1, 2023 to October 7, 2023) and calculates the sum. The input is the DataFrame data obtained in step 4, and the output is the result of extracting the necessary information and aggregating it in the appropriate format.
[0201] Step 6:
[0202] The server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format, for example, "Total shipments this week are 5,432." The input is the aggregated result generated in step 5, and the output is the formatted JSON data.
[0203] Step 7:
[0204] The terminal displays the aggregated results to the user. The terminal's user interface is used to visually present the results, allowing the user to immediately confirm the data content. The input is the JSON data received in step 6, and the output is the visually presented results.
[0205] Through the above series of steps, a system is realized that extracts, aggregates, and displays in real time statistical data related to inventory management and shipping at the logistics center.
[0206] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0207] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[0208] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text.
[0209] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[0210] The server receives this request. The Flask application receives JSON data through the / query endpoint and retrieves user instructions and sentiment data.
[0211] The server uses generative AI to analyze natural language. It inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine detects that the user is feeling "anxious," the server adjusts its response accordingly.
[0212] Next, the server programmatically reads the Excel file. It uses libraries such as pandas or openpyxl to convert the data in the Excel file into a DataFrame.
[0213] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "extract sales data for April 2023 and calculate the total") to a DataFrame to obtain the necessary data and perform aggregation.
[0214] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were 123,456 yen." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[0215] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0216] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, a message like "Total sales for April 2023 were 123,456 yen" is rephrased and presented as "Don't worry, total sales for April were 123,456 yen."
[0217] For example, if a user inputs "Please tell me the total sales for April 2023 from the sales data" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and formats the response in a tone that reads, "Don't worry, the total sales for April were 123,456 yen," before sending it to the terminal.
[0218] This system allows users to easily give instructions for data extraction and aggregation using natural language, and in addition, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0219] The following describes the processing flow.
[0220] Step 1:
[0221] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." The emotion engine analyzes this input and recognizes the user's emotional state (e.g., anxiety, joy, surprise).
[0222] Step 2:
[0223] The device sends user input and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends JSON data containing instructions and sentiment data to the server.
[0224] Step 3:
[0225] The server receives the request from the terminal. The Flask application receives the JSON data through the / query endpoint and analyzes the user's instructions and sentiment data.
[0226] Step 4:
[0227] The server uses generative AI to analyze natural language. The user's instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. For example, a query such as "Extract sales data for April 2023 and calculate the total" might be generated.
[0228] Step 5:
[0229] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0230] Step 6:
[0231] The server extracts and aggregates data from an Excel file based on the analysis results of a generative AI. The queries obtained from the analysis are applied to a DataFrame to extract sales data for April 2023 and calculate the total sales.
[0232] Step 7:
[0233] The server formats the calculation results. It converts the aggregated results into a format that is easy for the user to understand, for example, formatting it as "Total sales for April 2023 were 123,456 yen." At the same time, the server analyzes sentiment data and makes adjustments according to the user's emotional state. For example, if the user indicates an anxious state, the response is adjusted to something like, "Don't worry, total sales for April were 123,456 yen."
[0234] Step 8:
[0235] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0236] Step 9:
[0237] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0238] Step 10:
[0239] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Don't worry, your total sales for April were 123,456 yen."
[0240] In this way, the system combines the user's natural language instructions and emotions to extract and aggregate data, and then displays the results in an easy-to-understand and emotion-responsive format, thereby providing a more user-friendly experience.
[0241] (Example 2)
[0242] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0243] Conventional data extraction and aggregation systems have faced challenges such as the inability to use natural language when users input instructions and the inability to provide appropriate responses based on user emotions. This often resulted in a less user-friendly experience, leading to complexity and difficulty in understanding the system. Furthermore, the system's results were uniform in format, making it difficult to present results in a way that appropriately reflects the user's emotional state.
[0244] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0245] In this invention, the server includes means for performing natural language processing and emotion recognition using a generative AI and emotion recognition engine for interpreting instructions, means for reading data files with an analysis library, means for extracting and aggregating data based on the read data, and means for formatting the aggregated results based on the user's emotional state and transmitting them to the terminal. As a result, the user can easily give instructions for data extraction and aggregation using natural language, and the system can provide a more user-friendly experience by providing responses that correspond to the user's emotional state.
[0246] A "user" is an entity that inputs instructions to a system using natural language and receives the results.
[0247] A "terminal" is a device used by a user to interact with a system, and it is used for inputting instructions and displaying results.
[0248] A "server" is a computer system that receives instructions from a user, performs natural language processing and data processing, and sends the results back to the terminal.
[0249] "Natural language processing" is a technology that uses generative AI to analyze a user's natural language instructions and convert them into operational instructions that the system can understand.
[0250] An "emotion recognition engine" is a technology that recognizes and analyzes emotional data from a user's voice or text.
[0251] A "data file" is a file that stores data used by a server for analysis and processing, and is often in spreadsheet format.
[0252] An "analysis library" is a toolset for a programming language that provides functions for reading data files and processing data.
[0253] "Generative AI" is an artificial intelligence technology that analyzes a user's natural language instructions and generates specific operational instructions.
[0254] "Data extraction" is the operation of taking out necessary information from a data file.
[0255] "Aggregation" refers to performing statistical calculations and summaries based on extracted data.
[0256] "Formatting" refers to the process of converting aggregated results into a format and wording that is easy for users to understand.
[0257] This invention is a series of systems that recognize a user's natural language instructions and emotions, and based on that, extract and aggregate data, and further adjust the content of the response. Specific embodiments of this system will be described below.
[0258] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, the user might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text. An emotion recognition engine is used to recognize emotional data.
[0259] Next, the device sends the input instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server. HTTP is used as the communication protocol.
[0260] The server receives this request using a Flask application. Specifically, it receives JSON data at the / query endpoint and retrieves user instructions and sentiment data. The server uses a generative AI model to perform natural language analysis. As a concrete example, it inputs the instruction "Tell me the total sales for April 2023 from the sales data" into the generative AI model, and then uses the resulting operation procedure to extract and aggregate data.
[0261] Next, the server reads the data file. Here, it uses analysis libraries such as pandas and openpyxl to read the Excel file. The data in the Excel file is converted into a DataFrame. Based on the read data, specific operation instructions obtained from the analysis results of the generative AI model (for example, "extract sales data for April 2023 and calculate the total") are applied to the DataFrame to obtain the necessary data and perform aggregation.
[0262] The server formats the aggregated results. It converts them into a user-friendly format and constructs the results in JSON format. During this process, it adjusts the tone and wording of the text based on sentiment data obtained from the sentiment recognition engine. For example, if the user is feeling anxious, the results might be formatted to read, "Don't worry, your total sales for April were 123,456 yen."
[0263] The server sends the formatted result to the terminal. It then returns the JSON response containing the result to the terminal as an HTTP response.
[0264] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. These results are then visually presented using a user interface. For example, displaying "Don't worry, total sales for April were ¥123,456" on the screen provides the user with appropriate information.
[0265] Example of a prompt
[0266] "Based on the sales data, please tell me the total sales for April 2023."
[0267] "Please check the latest stock quantity from the inventory data."
[0268] "Generate a customer satisfaction graph."
[0269] This system allows users to easily give instructions for data extraction and aggregation using natural language, and furthermore, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0270] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0271] Specific processing steps of the program
[0272] Step 1:
[0273] Users enter data extraction and aggregation instructions in natural language.
[0274] The user inputs instructions to the device using natural language. The device then uses an emotion recognition engine to extract emotional data from the input. The input includes natural language instructions such as "Tell me the total sales for April 2023 based on the sales data," along with the user's emotion at that time (e.g., "anxiety"). The output generates the instructions and emotional data.
[0275] Specific actions:
[0276] The user enters instructions into the input field on the device.
[0277] The emotion recognition engine recognizes emotions from text and audio and generates emotion data.
[0278] Step 2:
[0279] The device sends instructions and emotional data to the server.
[0280] The terminal converts the input instruction and emotion data into JSON format and sends it to the server. As input, it includes natural language instructions and emotion data, and as output, JSON format data is generated and sent to the server as an HTTP POST request.
[0281] Specific operations:
[0282] Convert the input data into JSON format.
[0283] Create an HTTP POST request and send it to a specific endpoint of the server.
[0284] Step 3:
[0285] The server analyzes the instruction and recognizes the emotion.
[0286] The server analyzes the received request. First, the Flask application receives JSON data at the / query endpoint, and obtains the instruction content and emotion data. Next, natural language analysis is performed using a generation AI model to generate specific operation instructions. The emotion data is also analyzed by the emotion recognition engine. As input, it includes JSON data, and as output, analysis results and operation instructions are generated.
[0287] Specific operations:
[0288] The Flask application receives the request.
[0289] Extract the instruction content and emotion data from the JSON data.
[0290] Analyze the instruction content by the generation AI model and generate operation instructions.
[0291] The emotion recognition engine analyzes the emotion data.
[0292] Step 4:
[0293] The server reads the data file.
[0294] This program reads Excel data files using pandas or openpyxl and converts them into DataFrames. The input includes the path to the data file, and the output is a DataFrame.
[0295] Specific actions:
[0296] Read an Excel file using the pandas read_excel function.
[0297] Convert the contents of an Excel file into a DataFrame.
[0298] Step 5:
[0299] The server performs data extraction and aggregation.
[0300] Based on the generated operation instructions, the necessary data is extracted from the DataFrame and aggregated. For example, an instruction such as "Extract sales data for April 2023 and calculate the total" is executed. The input includes the DataFrame and operation instructions, and the output generates the extracted data and aggregated results.
[0301] Specific actions:
[0302] Apply filtering to the DataFrame to extract the necessary data.
[0303] Perform specific calculations using aggregate functions.
[0304] Step 6:
[0305] The server formats the results.
[0306] Format the aggregation result into a user - friendly format and adjust the tone and diction of the text based on the sentiment data. For example, format it as "Please rest assured, the total sales in April were 123,456 yen." The input includes the aggregation result and the sentiment data, and the output is the formatted result generated.
[0307] Specific operations:
[0308] Convert the aggregation result into JSON format.
[0309] Adjust the diction based on the sentiment data.
[0310] Step 7:
[0311] The server sends the result to the terminal
[0312] Send the formatted result to the terminal in JSON format. The input includes the formatted result, and the output is an HTTP response generated and sent to the terminal.
[0313] Specific operations:
[0314] Generate a JSON containing the formatted result.
[0315] Create an HTTP response and send it from the server to the terminal.
[0316] Step 8:
[0317] The terminal analyzes the result and presents it to the user
[0318] The terminal receives the response from the server, analyzes the JSON data to obtain the content of the result. The obtained result is visually presented using the user interface. For example, display "Please rest assured, the total sales in April were 123,456 yen." The input includes the received JSON data, and the output is the result presented to the user.
[0319] Specific operations:
[0320] The terminal parses the JSON data from the response it receives.
[0321] Generate a message and display it in the user interface.
[0322] (Application Example 2)
[0323] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0324] Traditional systems lacked the ability to recognize user emotions and adjust responses when users provided data extraction and aggregation instructions using natural language. This sometimes resulted in users lacking psychological reassurance when making inquiries. This is particularly problematic in services like food delivery, where quick and optimal responses are crucial for immediate user satisfaction.
[0325] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0326] In this invention, the server includes means for analyzing the user's emotional data and adjusting the response according to that emotion, means for a generative AI to generate an optimal response based on the emotional data, and means for reading data files programmatically. This makes it possible to provide responses that take the user's emotions into consideration.
[0327] A "user" is a person who operates an information system, specifically someone who uses a food delivery application to place an order or make an inquiry.
[0328] "Natural language" refers to the language that people use on a daily basis, and which does not have any special form or dictation.
[0329] "Emotional data" refers to emotional information recognized from a user's voice or text, such as data representing psychological states like anxiety or joy.
[0330] "Generative AI" refers to a system that uses artificial intelligence technology to generate and analyze natural language, understanding user instructions and producing the most appropriate response.
[0331] A "terminal" refers to a device operated by a user, specifically a smartphone or tablet.
[0332] A "server" is a computer system that provides services and data to multiple terminals over a network.
[0333] A "data file" is a file that records digital information in a consolidated format, and in this case, it specifically refers to an Excel file.
[0334] "Data extraction" refers to the process of extracting necessary information from a large amount of data.
[0335] "Data aggregation" refers to the process of collecting and organizing data and calculating statistical values such as sums and averages.
[0336] "Natural language processing" is the technology that enables computers to understand and process human language.
[0337] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[0338] First, users use a smartphone or other device to place orders or make inquiries about food delivery using natural language. For example, they might type, "I'd like to order two hamburgers, can I order them now?" Simultaneously, an emotion engine recognizes emotional data from the user's voice and text.
[0339] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[0340] The server receives this request. The Flask application receives JSON data through the / order endpoint and retrieves user instructions and sentiment data.
[0341] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which generates specific operational instructions necessary for data extraction and responses. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine recognizes that the user is in an "anxious" state, the server adjusts its response accordingly.
[0342] Next, the server programmatically reads the database or Excel file. It then uses libraries such as pandas or openpyxl to convert the data in the database or Excel file into a DataFrame.
[0343] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing.
[0344] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Your order for two hamburgers has been completed." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[0345] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0346] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface, for example, as a message such as "Of course. Don't worry, we'll take your order now."
[0347] For example, if a user types "I'd like to order two hamburgers, can I order them now?" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and reshapes the response to "Of course. Don't worry, we'll take your order right now," before sending it to the terminal.
[0348] Specific example
[0349] Example of a prompt:
[0350] User input: I'd like to order two hamburgers. Can I order them now?
[0351] Emotion: Anxiety
[0352] Please generate the optimal response. The result should be returned in JSON format.
[0353] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0354] Step 1:
[0355] Users input food delivery orders and inquiries using natural language on a smartphone or other device. For example, they might say anxiously, "I'd like to order two hamburgers, can I order them now?" In this process, the user's voice or text is entered into the device, and an emotion engine extracts emotional data from the voice or text.
[0356] Step 2:
[0357] The terminal sends the input natural language instruction and extracted sentiment data to the server in JSON format. Specifically, it creates an HTTP POST request and sends JSON data containing the instruction content and sentiment data to the server. The input is natural language and sentiment data, and the output is an HTTP POST request to the server.
[0358] Step 3:
[0359] The server receives the request sent from the terminal. The Flask application receives JSON data through the / order endpoint and retrieves the user's instructions and sentiment data. The input is JSON data from the terminal, and the output is the user's instructions and sentiment data.
[0360] Step 4:
[0361] The server uses generative AI to analyze natural language. Specifically, it inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and response. It also analyzes emotional data to recognize the user's emotional state. The input consists of the user's natural language instructions and emotional data, while the output consists of specific operational instructions and the results of the emotional analysis.
[0362] Step 5:
[0363] The server programmatically reads a database or Excel file. Libraries such as pandas or openpyxl are used to convert the data in the database or Excel file into a DataFrame. The input is a database or Excel file, and the output is data in DataFrame format.
[0364] Step 6:
[0365] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (e.g., "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing. The input is the analysis results of the generative AI and the DataFrame data, and the output is the extracted and aggregated data.
[0366] Step 7:
[0367] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. For example, a message such as "Your order for two hamburgers has been completed" is generated. In this process, the results are formatted using wording and tone that takes into account the user's emotional state. The input is the extracted and aggregated data and the sentiment analysis results, and the output is the formatted response result.
[0368] Step 8:
[0369] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response. The input is the formatted response result, and the output is the HTTP response to the terminal.
[0370] Step 9:
[0371] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, it might be presented as a message such as, "Of course. Don't worry, we'll take your order now." The input is JSON data from the server, and the output is a visual presentation to the user.
[0372] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0373] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0374] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0375] [Second Embodiment]
[0376] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0377] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0378] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0379] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0380] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0381] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0382] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0383] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0384] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0385] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0386] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0387] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0388] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0389] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0390] Next, the terminal sends this input to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0391] The server receives this request and uses a generative AI to analyze the input natural language. The generative AI utilizes an external AI service to interpret the input instructions and determine which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0392] Next, the server programmatically reads the Excel file. The Excel file contains sales data, and the server reads the Excel file using data processing libraries such as pandas or openpyxl, and manages the data in DataFrame format.
[0393] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. As a specific example, it extracts sales data for April 2023 and calculates the total value.
[0394] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total sales for April 2023 were 123,456 yen."
[0395] Finally, the results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0396] As a specific example, if a user enters "Tell me the total sales for April 2023 from the sales data," the server will perform the following actions:
[0397] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0398] 2. Read the Excel file and extract the sales data for April 2023.
[0399] 3. Calculate the total sales from the extracted data.
[0400] 4. Format the results and send them to the terminal in JSON format.
[0401] The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0402] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0403] The following describes the processing flow.
[0404] Step 1:
[0405] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0406] Step 2:
[0407] The terminal sends this input to the server in JSON format. The terminal creates an HTTP POST request and sends the JSON data containing the instructions to the server.
[0408] Step 3:
[0409] The server receives a request from the terminal. The Flask application receives JSON data through the / query endpoint and obtains user instructions.
[0410] Step 4:
[0411] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation.
[0412] Step 5:
[0413] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0414] Step 6:
[0415] The server extracts and aggregates data based on the analysis results of the generative AI. The query from the analysis results (for example, "extract sales data for April 2023 and calculate the total") is applied to a DataFrame to obtain the necessary data and perform the aggregation.
[0416] Step 7:
[0417] The server formats the calculation results. It converts the aggregated results into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were ¥123,456."
[0418] Step 8:
[0419] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0420] Step 9:
[0421] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0422] Step 10:
[0423] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Total sales for April 2023 were 123,456 yen."
[0424] This entire process allows users to easily give instructions for data extraction and aggregation using natural language, and obtain accurate and rapid results.
[0425] (Example 1)
[0426] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0427] In conventional data extraction and aggregation systems, users often required advanced expertise to extract and aggregate specific information from data such as Excel files. Furthermore, natural language instructions were not directly reflected in the data extraction and aggregation process; manual operation was necessary, resulting in significant time and effort. This led to decreased operational efficiency and difficulty in ensuring the reliability of data processing.
[0428] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0429] In this invention, the server includes means for the user to input data extraction and aggregation instructions in natural language, means for the terminal to convert the input instructions into JSON format and send them to the server, means for the server to perform natural language processing using a generative AI for interpreting the instructions, means for the server to use a data processing library for reading data from an Excel file, means for the server to generate and execute program code for data extraction and aggregation based on the read data, means for the server to construct the calculation results in JSON format and send them to the terminal, and means for the terminal to display the received aggregation results to the user using a user interface. This makes it possible for users to intuitively perform data extraction and aggregation using natural language without specialized knowledge.
[0430] A "user" is a person who uses the system to input data extraction and aggregation instructions using natural language.
[0431] A "terminal" is a device used by a user that has the function of sending natural language instructions to a server and displaying the results received from the server.
[0432] A "server" is a computer system used for data processing. It is a device that interprets user instructions, extracts and aggregates data, and transmits the results to a terminal.
[0433] "Generative AI" refers to artificial intelligence systems that analyze natural language instructions and convert them into specific data extraction and aggregation actions.
[0434] An "Excel file" is a file format generated by spreadsheet software, used to structure and store data consisting of multiple rows and columns.
[0435] A "data processing library" is a software library that provides functions for reading, manipulating, and transforming data in programming.
[0436] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structurally representing data.
[0437] "Program code" is a set of instructions written for a computer to perform a specific task, and it consists of commands that define the operation of software.
[0438] A "user interface" is an interface, such as a screen or input device, that allows a user to interact with a system, and is a means of facilitating system operation and verification of results.
[0439] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0440] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." These instructions are in a format that humans can intuitively understand and do not require any specific expertise.
[0441] Next, the terminal converts this natural language input into JSON format. This converted data is then sent to the server as a POST request using the HTTP protocol. Converting to JSON format makes it possible to send the data to the server in a structured manner.
[0442] The server processes requests received from terminals. The key here is the use of a generative AI model. This generative AI model uses an external API to parse natural language instructions and translate them into specific data extraction and aggregation queries. For example, it might translate an instruction like, "Extract sales data for April 2023 and calculate total sales."
[0443] The server then reads the data from the Excel file. For this purpose, the server uses data processing libraries such as pandas and openpyxl. These libraries allow the Excel file to be managed in DataFrame format, enabling efficient data manipulation.
[0444] The server extracts the necessary data from an Excel file and performs aggregation processing based on instructions interpreted by the generative AI. A specific example is extracting sales data for April 2023 and calculating the total sales. Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The results are sent in a format such as, for example, "Total sales for April 2023 were 123,456 yen."
[0445] The terminal receives results sent from the server and displays them to the user using a user interface. This allows the user to intuitively understand the content of the data.
[0446] As a concrete example, if a user enters "Tell me the total sales for April 2023 from the sales data," the system will perform the following steps:
[0447] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0448] 2. Read the Excel file and extract the sales data for April 2023.
[0449] 3. Calculate the total sales from the extracted data.
[0450] 4. Format the results and send them to the terminal in JSON format.
[0451] 5. The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0452] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0453] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0454] Step 1:
[0455] The user enters instructions in natural language.
[0456] In terms of specific actions, the user inputs a natural language instruction in text format into the terminal interface, such as "Tell me the total sales for April 2023 from the sales data."
[0457] Input: Data extraction and aggregation instructions written in natural language.
[0458] Output: A text box on a terminal containing a natural language instruction.
[0459] Step 2:
[0460] The terminal converts the input instructions into JSON format and sends them to the server.
[0461] Specifically, the terminal receives user instructions and converts them into JSON data in the following format.
[0462] json
[0463] {
[0464] "request": "Please tell me the total sales for April 2023 based on the sales data."
[0465] }
[0466] Next, this JSON data is sent to the server as a POST request using the HTTP protocol.
[0467] Input: Instructions in natural language.
[0468] Output: JSON formatted data sent to the server.
[0469] Step 3:
[0470] The server receives the request and analyzes the instructions using a generative AI model.
[0471] Specifically, the server parses the received JSON data and performs natural language processing using an AI model generated via an external API. This process converts the natural language request into program code. For example, a query is generated to "extract sales data for April 2023 and calculate total sales."
[0472] Input: Data in JSON format.
[0473] Output: Program code for data extraction and aggregation.
[0474] Step 4:
[0475] The server reads data from the Excel file.
[0476] In terms of specific operations, the server reads Excel files using data processing libraries such as pandas and openpyxl. For example, it reads Excel files in DataFrame format as follows:
[0477] Python
[0478] import pandas as pd
[0479] df = pd.read_excel('sales_data.xlsx')
[0480] Input: Excel file.
[0481] Output: Data managed in DataFrame format.
[0482] Step 5:
[0483] The server extracts the necessary data and performs aggregation processing.
[0484] Specifically, the AI model extracts the necessary data from a DataFrame based on the generated query, and then uses that data for aggregation. For example, it might extract sales data for April 2023 and calculate total sales.
[0485] Python
[0486] april_data = df[(df['date'].dt.month == 4) & (df['date'].dt.year == 2023)]
[0487] total_sales = april_data['sales'].sum()
[0488] Input: Program code and data in DataFrame format.
[0489] Output: Necessary data is extracted and aggregated (e.g., total sales).
[0490] Step 6:
[0491] The server formats the calculation results in JSON format and sends them to the terminal.
[0492] Specifically, the server formats the calculation results, such as total sales figures, into a human-readable format and constructs them in JSON format as shown below.
[0493] json
[0494] {
[0495] "result": "Total sales for April 2023 were 123,456 yen."
[0496] }
[0497] After that, this JSON data is sent to the terminal using the HTTP protocol.
[0498] Input: Calculation result.
[0499] Output: JSON formatted data sent to the terminal.
[0500] Step 7:
[0501] The device receives the results and displays them to the user.
[0502] In terms of specific operations, the device parses the received JSON data and displays the results to the user through the user interface. For example, the browser or mobile app screen might display "Total sales for April 2023 were 123,456 yen."
[0503] Input: JSON formatted data sent from the server.
[0504] Output: The result displayed to the user.
[0505] (Application Example 1)
[0506] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0507] Traditional inventory management and shipping operations in logistics centers require manually extracting and aggregating necessary information from data such as Excel files. This process is time-consuming and prone to human error. Furthermore, real-time data processing and information acquisition are difficult, hindering efficient operations. To solve these problems, a system is needed that can easily extract and aggregate data using natural language and allow for real-time verification of the results.
[0508] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0509] In this invention, the server includes means for a user to input data extraction and aggregation instructions in natural language, means for a terminal to transmit the input instructions to the server, means for the server to perform natural language processing using a generative AI to interpret the instructions, means for the server to programmatically read data files, means for the server to perform data extraction and aggregation based on the data it has read, means for the server to transmit the aggregation results to the terminal, means for the terminal to display the aggregation results to the user, and means for extracting, aggregating, and displaying statistical data related to inventory management and shipping in a logistics center in real time. This enables increased efficiency in inventory management and shipping operations at a logistics center, as well as real-time information verification.
[0510] A "user" is a person who inputs system instructions in natural language.
[0511] A "terminal" is a device that sends instructions entered by a user in natural language to a server, and receives and displays the results from the server.
[0512] A "server" is a device that receives instructions sent from a terminal, interprets those instructions using natural language processing with generative AI, reads data files, extracts and aggregates necessary information, and sends the results back to the terminal.
[0513] "Generative AI" refers to artificial intelligence that performs natural language processing and may utilize external APIs.
[0514] "Natural language processing" is the technology that enables machines to understand human language (natural language) and analyze its meaning.
[0515] A "data file" is a file that stores digital data, such as in Excel format.
[0516] "Data extraction" refers to the process of retrieving necessary information from a data file.
[0517] "Aggregation" refers to the process of performing statistical processing on extracted data to calculate results such as sums and averages.
[0518] A "logistics center" is a facility where goods and materials are stored, managed, and shipped.
[0519] "Inventory management" refers to the management work involved in tracking and maintaining the quantity and condition of goods in a logistics center.
[0520] "Shipping" refers to the process of sending goods or materials out of a logistics center.
[0521] "Statistical data" refers to numerical information about quantities or conditions that have been extracted and aggregated.
[0522] "Real-time" means that data is processed and displayed instantly as soon as it is generated.
[0523] The embodiments for carrying out the present invention are described in detail below.
[0524] First, the user uses a terminal to input instructions for data extraction and aggregation in natural language. For example, they can input instructions such as "What was the total shipment volume this week?" or "What was the inventory status last month?" The terminal sends these input instructions to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0525] Next, the server receives this request and uses a generative AI to analyze the input natural language. An external AI service is used as the generative AI. For example, a Transformer-based natural language processing model using Huggingface's Transformers library is used to analyze the input instructions and interpret which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0526] Next, the server programmatically reads the Excel file. The Excel file contains data related to inventory management and shipping at the logistics center. The server reads the Excel file using data processing libraries such as pandas and openpyxl, and manages the data in DataFrame format.
[0527] The server extracts necessary information from the data it reads and performs aggregation processing based on instructions interpreted by the generative AI. For example, if the instruction is "What is the total shipment volume for this week?", the server extracts the shipment data for this week from an Excel file and calculates the total. The period for one week can be, for example, data from October 1, 2023 to October 7, 2023. The shipment quantities for this period are summed up to obtain the result.
[0528] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total shipments this week are 5,432".
[0529] The results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0530] As a concrete example, if a user enters "What is the total shipment volume for this week?", the server will process it as follows:
[0531] 1. Use natural language processing to generate a query to extract "this week's shipping data".
[0532] 2. Read the Excel file and extract the shipping data for the specified period.
[0533] 3. Calculate the total shipment volume of the extracted data.
[0534] 4. Format the results and send them to the terminal in JSON format.
[0535] The device receives this result and displays, "Total shipments this week are 5,432."
[0536] A concrete example of a prompt statement is the instruction, "Tell me the inventory status for last month." An example of a prompt statement in response to this instruction is as follows:
[0537] "Tell me about last month's inventory status."
[0538] In this way, inventory management and shipping operations at the logistics center can be carried out efficiently.
[0539] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0540] Step 1:
[0541] Users input data extraction and aggregation instructions using natural language via their terminal. For example, they might input instructions like, "What was the total shipment volume this week?" The input data is in text format as natural language instructions. The output is the input instructions converted into JSON format.
[0542] Step 2:
[0543] The terminal sends the input instructions to the server. This is sent as a POST request using the HTTP protocol. The input is the JSON data generated in step 1, and the output is that JSON data sent to the server.
[0544] Step 3:
[0545] The server receives this request and uses a generative AI to analyze the input natural language. The Huggingface Transformers library is used as the generative AI. The input is the JSON data received in step 2, and the output generates database queries or program code based on the user's instructions.
[0546] Step 4:
[0547] The server reads data files programmatically. The Excel files contain data related to inventory management and shipping at the logistics center. Specifically, the pandas and openpyxl libraries are used to read the Excel files in DataFrame format. The input is the path or URL of the Excel file, and the output is data managed in DataFrame format.
[0548] Step 5:
[0549] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. For example, to calculate the total shipment volume for this week, it filters shipment data for a specific period (e.g., October 1, 2023 to October 7, 2023) and calculates the sum. The input is the DataFrame data obtained in step 4, and the output is the result of extracting the necessary information and aggregating it in the appropriate format.
[0550] Step 6:
[0551] The server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format, for example, "Total shipments this week are 5,432." The input is the aggregated result generated in step 5, and the output is the formatted JSON data.
[0552] Step 7:
[0553] The terminal displays the aggregated results to the user. The terminal's user interface is used to visually present the results, allowing the user to immediately confirm the data content. The input is the JSON data received in step 6, and the output is the visually presented results.
[0554] Through the above series of steps, a system is realized that extracts, aggregates, and displays in real time statistical data related to inventory management and shipping at the logistics center.
[0555] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0556] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[0557] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text.
[0558] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[0559] The server receives this request. The Flask application receives JSON data through the / query endpoint and retrieves user instructions and sentiment data.
[0560] The server uses generative AI to analyze natural language. It inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine detects that the user is feeling "anxious," the server adjusts its response accordingly.
[0561] Next, the server programmatically reads the Excel file. It uses libraries such as pandas or openpyxl to convert the data in the Excel file into a DataFrame.
[0562] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "extract sales data for April 2023 and calculate the total") to a DataFrame to obtain the necessary data and perform aggregation.
[0563] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were 123,456 yen." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[0564] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0565] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, a message like "Total sales for April 2023 were 123,456 yen" is rephrased and presented as "Don't worry, total sales for April were 123,456 yen."
[0566] For example, if a user inputs "Please tell me the total sales for April 2023 from the sales data" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and formats the response in a tone that reads, "Don't worry, the total sales for April were 123,456 yen," before sending it to the terminal.
[0567] This system allows users to easily give instructions for data extraction and aggregation using natural language, and in addition, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0568] The following describes the processing flow.
[0569] Step 1:
[0570] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." The emotion engine analyzes this input and recognizes the user's emotional state (e.g., anxiety, joy, surprise).
[0571] Step 2:
[0572] The device sends user input and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends JSON data containing instructions and sentiment data to the server.
[0573] Step 3:
[0574] The server receives the request from the terminal. The Flask application receives the JSON data through the / query endpoint and analyzes the user's instructions and sentiment data.
[0575] Step 4:
[0576] The server uses generative AI to analyze natural language. The user's instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. For example, a query such as "Extract sales data for April 2023 and calculate the total" might be generated.
[0577] Step 5:
[0578] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0579] Step 6:
[0580] The server extracts and aggregates data from an Excel file based on the analysis results of a generative AI. The queries obtained from the analysis are applied to a DataFrame to extract sales data for April 2023 and calculate the total sales.
[0581] Step 7:
[0582] The server formats the calculation results. It converts the aggregated results into a format that is easy for the user to understand, for example, formatting it as "Total sales for April 2023 were 123,456 yen." At the same time, the server analyzes sentiment data and makes adjustments according to the user's emotional state. For example, if the user indicates an anxious state, the response is adjusted to something like, "Don't worry, total sales for April were 123,456 yen."
[0583] Step 8:
[0584] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0585] Step 9:
[0586] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0587] Step 10:
[0588] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Don't worry, your total sales for April were 123,456 yen."
[0589] In this way, the system combines the user's natural language instructions and emotions to extract and aggregate data, and then displays the results in an easy-to-understand and emotion-responsive format, thereby providing a more user-friendly experience.
[0590] (Example 2)
[0591] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0592] Conventional data extraction and aggregation systems have faced challenges such as the inability to use natural language when users input instructions and the inability to provide appropriate responses based on user emotions. This often resulted in a less user-friendly experience, leading to complexity and difficulty in understanding the system. Furthermore, the system's results were uniform in format, making it difficult to present results in a way that appropriately reflects the user's emotional state.
[0593] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0594] In this invention, the server includes means for performing natural language processing and emotion recognition using a generative AI and emotion recognition engine for interpreting instructions, means for reading data files with an analysis library, means for extracting and aggregating data based on the read data, and means for formatting the aggregated results based on the user's emotional state and transmitting them to the terminal. As a result, the user can easily give instructions for data extraction and aggregation using natural language, and the system can provide a more user-friendly experience by providing responses that correspond to the user's emotional state.
[0595] A "user" is an entity that inputs instructions to a system using natural language and receives the results.
[0596] A "terminal" is a device used by a user to interact with a system, and it is used for inputting instructions and displaying results.
[0597] A "server" is a computer system that receives instructions from a user, performs natural language processing and data processing, and sends the results back to the terminal.
[0598] "Natural language processing" is a technology that uses generative AI to analyze a user's natural language instructions and convert them into operational instructions that the system can understand.
[0599] An "emotion recognition engine" is a technology that recognizes and analyzes emotional data from a user's voice or text.
[0600] A "data file" is a file that stores data used by a server for analysis and processing, and is often in spreadsheet format.
[0601] An "analysis library" is a toolset for a programming language that provides functions for reading data files and processing data.
[0602] "Generative AI" is an artificial intelligence technology that analyzes a user's natural language instructions and generates specific operational instructions.
[0603] "Data extraction" is the operation of taking out necessary information from a data file.
[0604] "Aggregation" refers to performing statistical calculations and summaries based on extracted data.
[0605] "Formatting" refers to the process of converting aggregated results into a format and wording that is easy for users to understand.
[0606] This invention is a series of systems that recognize a user's natural language instructions and emotions, and based on that, extract and aggregate data, and further adjust the content of the response. Specific embodiments of this system will be described below.
[0607] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, the user might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text. An emotion recognition engine is used to recognize emotional data.
[0608] Next, the device sends the input instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server. HTTP is used as the communication protocol.
[0609] The server receives this request using a Flask application. Specifically, it receives JSON data at the / query endpoint and retrieves user instructions and sentiment data. The server uses a generative AI model to perform natural language analysis. As a concrete example, it inputs the instruction "Tell me the total sales for April 2023 from the sales data" into the generative AI model, and then uses the resulting operation procedure to extract and aggregate data.
[0610] Next, the server reads the data file. Here, it uses analysis libraries such as pandas and openpyxl to read the Excel file. The data in the Excel file is converted into a DataFrame. Based on the read data, specific operation instructions obtained from the analysis results of the generative AI model (for example, "extract sales data for April 2023 and calculate the total") are applied to the DataFrame to obtain the necessary data and perform aggregation.
[0611] The server formats the aggregated results. It converts them into a user-friendly format and constructs the results in JSON format. During this process, it adjusts the tone and wording of the text based on sentiment data obtained from the sentiment recognition engine. For example, if the user is feeling anxious, the results might be formatted to read, "Don't worry, your total sales for April were 123,456 yen."
[0612] The server sends the formatted result to the terminal. It then returns the JSON response containing the result to the terminal as an HTTP response.
[0613] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. These results are then visually presented using a user interface. For example, displaying "Don't worry, total sales for April were ¥123,456" on the screen provides the user with appropriate information.
[0614] Example of a prompt
[0615] "Based on the sales data, please tell me the total sales for April 2023."
[0616] "Please check the latest stock quantity from the inventory data."
[0617] "Generate a customer satisfaction graph."
[0618] This system allows users to easily give instructions for data extraction and aggregation using natural language, and furthermore, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0619] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0620] Specific processing steps of the program
[0621] Step 1:
[0622] Users enter data extraction and aggregation instructions in natural language.
[0623] The user inputs instructions to the device using natural language. The device then uses an emotion recognition engine to extract emotional data from the input. The input includes natural language instructions such as "Tell me the total sales for April 2023 based on the sales data," along with the user's emotion at that time (e.g., "anxiety"). The output generates the instructions and emotional data.
[0624] Specific actions:
[0625] The user enters instructions into the input field on the device.
[0626] The emotion recognition engine recognizes emotions from text and audio and generates emotion data.
[0627] Step 2:
[0628] The device sends instructions and emotional data to the server.
[0629] The terminal converts the input instructions and sentiment data into JSON format and sends it to the server. The input includes natural language instructions and sentiment data, and the output generates data in JSON format, which is sent to the server as an HTTP POST request.
[0630] Specific actions:
[0631] Convert the input data to JSON format.
[0632] Create an HTTP POST request and send it to a specific endpoint on the server.
[0633] Step 3:
[0634] The server analyzes the instructions and recognizes emotions.
[0635] The server parses the received request. First, the Flask application receives JSON data at the / query endpoint and obtains the instruction content and sentiment data. Next, it uses a generative AI model to analyze natural language and generate specific operation instructions. The sentiment recognition engine also analyzes the sentiment data. The input includes JSON data, and the output generates the analysis results and operation instructions.
[0636] Specific actions:
[0637] The Flask application receives the request.
[0638] Extract instruction content and sentiment data from JSON data.
[0639] The AI model analyzes the instructions and generates operation instructions.
[0640] The emotion recognition engine analyzes the emotion data.
[0641] Step 4:
[0642] The server reads the data file.
[0643] This program reads Excel data files using pandas or openpyxl and converts them into DataFrames. The input includes the path to the data file, and the output is a DataFrame.
[0644] Specific actions:
[0645] Read an Excel file using the pandas read_excel function.
[0646] Convert the contents of an Excel file into a DataFrame.
[0647] Step 5:
[0648] The server performs data extraction and aggregation.
[0649] Based on the generated operation instructions, the necessary data is extracted from the DataFrame and aggregated. For example, an instruction such as "Extract sales data for April 2023 and calculate the total" is executed. The input includes the DataFrame and operation instructions, and the output generates the extracted data and aggregated results.
[0650] Specific actions:
[0651] Apply filtering to the DataFrame to extract the necessary data.
[0652] Perform specific calculations using aggregate functions.
[0653] Step 6:
[0654] The server formats the results.
[0655] The aggregated results are formatted into a user-friendly format, and the tone and wording of the text are adjusted based on sentiment data. For example, it might be formatted to read, "Rest assured, total sales for April were ¥123,456." The input includes aggregated results and sentiment data, and the output is the formatted result.
[0656] Specific actions:
[0657] Convert the aggregated results to JSON format.
[0658] The wording is adjusted based on sentiment data.
[0659] Step 7:
[0660] The server sends the results to the terminal.
[0661] The formatted result is sent to the terminal in JSON format. The formatted result is included as input, and an HTTP response is generated as output and sent to the terminal.
[0662] Specific actions:
[0663] Generates JSON containing the formatted result.
[0664] Create an HTTP response and send it from the server to the terminal.
[0665] Step 8:
[0666] The device analyzes the results and presents them to the user.
[0667] The terminal receives a response from the server, parses the JSON data, and retrieves the results. The retrieved results are then visually presented using a user interface. For example, it might display "Don't worry, total sales for April were 123,456 yen." The received JSON data is included as input, and the results displayed to the user are generated as output.
[0668] Specific actions:
[0669] The terminal parses the JSON data from the response it receives.
[0670] Generate a message and display it in the user interface.
[0671] (Application Example 2)
[0672] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0673] Traditional systems lacked the ability to recognize user emotions and adjust responses when users provided data extraction and aggregation instructions using natural language. This sometimes resulted in users lacking psychological reassurance when making inquiries. This is particularly problematic in services like food delivery, where quick and optimal responses are crucial for immediate user satisfaction.
[0674] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0675] In this invention, the server includes means for analyzing the user's emotional data and adjusting the response according to that emotion, means for a generative AI to generate an optimal response based on the emotional data, and means for reading data files programmatically. This makes it possible to provide responses that take the user's emotions into consideration.
[0676] A "user" is a person who operates an information system, specifically someone who uses a food delivery application to place an order or make an inquiry.
[0677] "Natural language" refers to the language that people use on a daily basis, and which does not have any special form or dictation.
[0678] "Emotional data" refers to emotional information recognized from a user's voice or text, such as data representing psychological states like anxiety or joy.
[0679] "Generative AI" refers to a system that uses artificial intelligence technology to generate and analyze natural language, understanding user instructions and producing the most appropriate response.
[0680] A "terminal" refers to a device operated by a user, specifically a smartphone or tablet.
[0681] A "server" is a computer system that provides services and data to multiple terminals over a network.
[0682] A "data file" is a file that records digital information in a consolidated format, and in this case, it specifically refers to an Excel file.
[0683] "Data extraction" refers to the process of extracting necessary information from a large amount of data.
[0684] "Data aggregation" refers to the process of collecting and organizing data and calculating statistical values such as sums and averages.
[0685] "Natural language processing" is the technology that enables computers to understand and process human language.
[0686] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[0687] First, users use a smartphone or other device to place orders or make inquiries about food delivery using natural language. For example, they might type, "I'd like to order two hamburgers, can I order them now?" Simultaneously, an emotion engine recognizes emotional data from the user's voice and text.
[0688] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[0689] The server receives this request. The Flask application receives JSON data through the / order endpoint and retrieves user instructions and sentiment data.
[0690] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which generates specific operational instructions necessary for data extraction and responses. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine recognizes that the user is in an "anxious" state, the server adjusts its response accordingly.
[0691] Next, the server programmatically reads the database or Excel file. It then uses libraries such as pandas or openpyxl to convert the data in the database or Excel file into a DataFrame.
[0692] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing.
[0693] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Your order for two hamburgers has been completed." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[0694] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0695] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface, for example, as a message such as "Of course. Don't worry, we'll take your order now."
[0696] For example, if a user types "I'd like to order two hamburgers, can I order them now?" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and reshapes the response to "Of course. Don't worry, we'll take your order right now," before sending it to the terminal.
[0697] Specific example
[0698] Example of a prompt:
[0699] User input: I'd like to order two hamburgers. Can I order them now?
[0700] Emotion: Anxiety
[0701] Please generate the optimal response. The result should be returned in JSON format.
[0702] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0703] Step 1:
[0704] Users input food delivery orders and inquiries using natural language on a smartphone or other device. For example, they might say anxiously, "I'd like to order two hamburgers, can I order them now?" In this process, the user's voice or text is entered into the device, and an emotion engine extracts emotional data from the voice or text.
[0705] Step 2:
[0706] The terminal sends the input natural language instruction and extracted sentiment data to the server in JSON format. Specifically, it creates an HTTP POST request and sends JSON data containing the instruction content and sentiment data to the server. The input is natural language and sentiment data, and the output is an HTTP POST request to the server.
[0707] Step 3:
[0708] The server receives the request sent from the terminal. The Flask application receives JSON data through the / order endpoint and retrieves the user's instructions and sentiment data. The input is JSON data from the terminal, and the output is the user's instructions and sentiment data.
[0709] Step 4:
[0710] The server uses generative AI to analyze natural language. Specifically, it inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and response. It also analyzes emotional data to recognize the user's emotional state. The input consists of the user's natural language instructions and emotional data, while the output consists of specific operational instructions and the results of the emotional analysis.
[0711] Step 5:
[0712] The server programmatically reads a database or Excel file. Libraries such as pandas or openpyxl are used to convert the data in the database or Excel file into a DataFrame. The input is a database or Excel file, and the output is data in DataFrame format.
[0713] Step 6:
[0714] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (e.g., "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing. The input is the analysis results of the generative AI and the DataFrame data, and the output is the extracted and aggregated data.
[0715] Step 7:
[0716] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. For example, a message such as "Your order for two hamburgers has been completed" is generated. In this process, the results are formatted using wording and tone that takes into account the user's emotional state. The input is the extracted and aggregated data and the sentiment analysis results, and the output is the formatted response result.
[0717] Step 8:
[0718] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response. The input is the formatted response result, and the output is the HTTP response to the terminal.
[0719] Step 9:
[0720] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, it might be presented as a message such as, "Of course. Don't worry, we'll take your order now." The input is JSON data from the server, and the output is a visual presentation to the user.
[0721] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0722] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0723] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0724] [Third Embodiment]
[0725] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0726] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0727] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0728] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0729] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0730] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0731] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0732] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0733] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0734] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0735] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0736] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0737] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0738] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0739] Next, the terminal sends this input to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0740] The server receives this request and uses a generative AI to analyze the input natural language. The generative AI utilizes an external AI service to interpret the input instructions and determine which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0741] Next, the server programmatically reads the Excel file. The Excel file contains sales data, and the server reads the Excel file using data processing libraries such as pandas or openpyxl, and manages the data in DataFrame format.
[0742] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. As a specific example, it extracts sales data for April 2023 and calculates the total value.
[0743] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total sales for April 2023 were 123,456 yen."
[0744] Finally, the results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0745] As a specific example, if a user enters "Tell me the total sales for April 2023 from the sales data," the server will perform the following actions:
[0746] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0747] 2. Read the Excel file and extract the sales data for April 2023.
[0748] 3. Calculate the total sales from the extracted data.
[0749] 4. Format the results and send them to the terminal in JSON format.
[0750] The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0751] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0752] The following describes the processing flow.
[0753] Step 1:
[0754] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[0755] Step 2:
[0756] The terminal sends this input to the server in JSON format. The terminal creates an HTTP POST request and sends the JSON data containing the instructions to the server.
[0757] Step 3:
[0758] The server receives a request from the terminal. The Flask application receives JSON data through the / query endpoint and obtains user instructions.
[0759] Step 4:
[0760] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation.
[0761] Step 5:
[0762] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0763] Step 6:
[0764] The server extracts and aggregates data based on the analysis results of the generative AI. The query from the analysis results (for example, "extract sales data for April 2023 and calculate the total") is applied to a DataFrame to obtain the necessary data and perform the aggregation.
[0765] Step 7:
[0766] The server formats the calculation results. It converts the aggregated results into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were ¥123,456."
[0767] Step 8:
[0768] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0769] Step 9:
[0770] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0771] Step 10:
[0772] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Total sales for April 2023 were 123,456 yen."
[0773] This entire process allows users to easily give instructions for data extraction and aggregation using natural language, and obtain accurate and rapid results.
[0774] (Example 1)
[0775] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0776] In conventional data extraction and aggregation systems, users often required advanced expertise to extract and aggregate specific information from data such as Excel files. Furthermore, natural language instructions were not directly reflected in the data extraction and aggregation process; manual operation was necessary, resulting in significant time and effort. This led to decreased operational efficiency and difficulty in ensuring the reliability of data processing.
[0777] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0778] In this invention, the server includes means for the user to input data extraction and aggregation instructions in natural language, means for the terminal to convert the input instructions into JSON format and send them to the server, means for the server to perform natural language processing using a generative AI for interpreting the instructions, means for the server to use a data processing library for reading data from an Excel file, means for the server to generate and execute program code for data extraction and aggregation based on the read data, means for the server to construct the calculation results in JSON format and send them to the terminal, and means for the terminal to display the received aggregation results to the user using a user interface. This makes it possible for users to intuitively perform data extraction and aggregation using natural language without specialized knowledge.
[0779] A "user" is a person who uses the system to input data extraction and aggregation instructions using natural language.
[0780] A "terminal" is a device used by a user that has the function of sending natural language instructions to a server and displaying the results received from the server.
[0781] A "server" is a computer system used for data processing. It is a device that interprets user instructions, extracts and aggregates data, and transmits the results to a terminal.
[0782] "Generative AI" refers to artificial intelligence systems that analyze natural language instructions and convert them into specific data extraction and aggregation actions.
[0783] An "Excel file" is a file format generated by spreadsheet software, used to structure and store data consisting of multiple rows and columns.
[0784] A "data processing library" is a software library that provides functions for reading, manipulating, and transforming data in programming.
[0785] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structurally representing data.
[0786] "Program code" is a set of instructions written for a computer to perform a specific task, and it consists of commands that define the operation of software.
[0787] A "user interface" is an interface, such as a screen or input device, that allows a user to interact with a system, and is a means of facilitating system operation and verification of results.
[0788] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[0789] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." These instructions are in a format that humans can intuitively understand and do not require any specific expertise.
[0790] Next, the terminal converts this natural language input into JSON format. This converted data is then sent to the server as a POST request using the HTTP protocol. Converting to JSON format makes it possible to send the data to the server in a structured manner.
[0791] The server processes requests received from terminals. The key here is the use of a generative AI model. This generative AI model uses an external API to parse natural language instructions and translate them into specific data extraction and aggregation queries. For example, it might translate an instruction like, "Extract sales data for April 2023 and calculate total sales."
[0792] The server then reads the data from the Excel file. For this purpose, the server uses data processing libraries such as pandas and openpyxl. These libraries allow the Excel file to be managed in DataFrame format, enabling efficient data manipulation.
[0793] The server extracts the necessary data from an Excel file and performs aggregation processing based on instructions interpreted by the generative AI. A specific example is extracting sales data for April 2023 and calculating the total sales. Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The results are sent in a format such as, for example, "Total sales for April 2023 were 123,456 yen."
[0794] The terminal receives results sent from the server and displays them to the user using a user interface. This allows the user to intuitively understand the content of the data.
[0795] As a concrete example, if a user enters "Tell me the total sales for April 2023 from the sales data," the system will perform the following steps:
[0796] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[0797] 2. Read the Excel file and extract the sales data for April 2023.
[0798] 3. Calculate the total sales from the extracted data.
[0799] 4. Format the results and send them to the terminal in JSON format.
[0800] 5. The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[0801] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[0802] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0803] Step 1:
[0804] The user enters instructions in natural language.
[0805] In terms of specific actions, the user inputs a natural language instruction in text format into the terminal interface, such as "Tell me the total sales for April 2023 from the sales data."
[0806] Input: Data extraction and aggregation instructions written in natural language.
[0807] Output: A text box on a terminal containing a natural language instruction.
[0808] Step 2:
[0809] The terminal converts the input instructions into JSON format and sends them to the server.
[0810] Specifically, the terminal receives user instructions and converts them into JSON data in the following format.
[0811] json
[0812] {
[0813] "request": "Please tell me the total sales for April 2023 based on the sales data."
[0814] }
[0815] Next, this JSON data is sent to the server as a POST request using the HTTP protocol.
[0816] Input: Instructions in natural language.
[0817] Output: JSON formatted data sent to the server.
[0818] Step 3:
[0819] The server receives the request and analyzes the instructions using a generative AI model.
[0820] Specifically, the server parses the received JSON data and performs natural language processing using an AI model generated via an external API. This process converts the natural language request into program code. For example, a query is generated to "extract sales data for April 2023 and calculate total sales."
[0821] Input: Data in JSON format.
[0822] Output: Program code for data extraction and aggregation.
[0823] Step 4:
[0824] The server reads data from the Excel file.
[0825] In terms of specific operations, the server reads Excel files using data processing libraries such as pandas and openpyxl. For example, it reads Excel files in DataFrame format as follows:
[0826] Python
[0827] import pandas as pd
[0828] df = pd.read_excel('sales_data.xlsx')
[0829] Input: Excel file.
[0830] Output: Data managed in DataFrame format.
[0831] Step 5:
[0832] The server extracts the necessary data and performs aggregation processing.
[0833] Specifically, the AI model extracts the necessary data from a DataFrame based on the generated query, and then uses that data for aggregation. For example, it might extract sales data for April 2023 and calculate total sales.
[0834] Python
[0835] april_data = df[(df['date'].dt.month == 4) & (df['date'].dt.year == 2023)]
[0836] total_sales = april_data['sales'].sum()
[0837] Input: Program code and data in DataFrame format.
[0838] Output: Necessary data is extracted and aggregated (e.g., total sales).
[0839] Step 6:
[0840] The server formats the calculation results in JSON format and sends them to the terminal.
[0841] Specifically, the server formats the calculation results, such as total sales figures, into a human-readable format and constructs them in JSON format as shown below.
[0842] json
[0843] {
[0844] "result": "Total sales for April 2023 were 123,456 yen."
[0845] }
[0846] After that, this JSON data is sent to the terminal using the HTTP protocol.
[0847] Input: Calculation result.
[0848] Output: JSON formatted data sent to the terminal.
[0849] Step 7:
[0850] The device receives the results and displays them to the user.
[0851] In terms of specific operations, the device parses the received JSON data and displays the results to the user through the user interface. For example, the browser or mobile app screen might display "Total sales for April 2023 were 123,456 yen."
[0852] Input: JSON formatted data sent from the server.
[0853] Output: The result displayed to the user.
[0854] (Application Example 1)
[0855] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0856] Traditional inventory management and shipping operations in logistics centers require manually extracting and aggregating necessary information from data such as Excel files. This process is time-consuming and prone to human error. Furthermore, real-time data processing and information acquisition are difficult, hindering efficient operations. To solve these problems, a system is needed that can easily extract and aggregate data using natural language and allow for real-time verification of the results.
[0857] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0858] In this invention, the server includes means for a user to input data extraction and aggregation instructions in natural language, means for a terminal to transmit the input instructions to the server, means for the server to perform natural language processing using a generative AI to interpret the instructions, means for the server to programmatically read data files, means for the server to perform data extraction and aggregation based on the data it has read, means for the server to transmit the aggregation results to the terminal, means for the terminal to display the aggregation results to the user, and means for extracting, aggregating, and displaying statistical data related to inventory management and shipping in a logistics center in real time. This enables increased efficiency in inventory management and shipping operations at a logistics center, as well as real-time information verification.
[0859] A "user" is a person who inputs system instructions in natural language.
[0860] A "terminal" is a device that sends instructions entered by a user in natural language to a server, and receives and displays the results from the server.
[0861] A "server" is a device that receives instructions sent from a terminal, interprets those instructions using natural language processing with generative AI, reads data files, extracts and aggregates necessary information, and sends the results back to the terminal.
[0862] "Generative AI" refers to artificial intelligence that performs natural language processing and may utilize external APIs.
[0863] "Natural language processing" is the technology that enables machines to understand human language (natural language) and analyze its meaning.
[0864] A "data file" is a file that stores digital data, such as in Excel format.
[0865] "Data extraction" refers to the process of retrieving necessary information from a data file.
[0866] "Aggregation" refers to the process of performing statistical processing on extracted data to calculate results such as sums and averages.
[0867] A "logistics center" is a facility where goods and materials are stored, managed, and shipped.
[0868] "Inventory management" refers to the management work involved in tracking and maintaining the quantity and condition of goods in a logistics center.
[0869] "Shipping" refers to the process of sending goods or materials out of a logistics center.
[0870] "Statistical data" refers to numerical information about quantities or conditions that have been extracted and aggregated.
[0871] "Real-time" means that data is processed and displayed instantly as soon as it is generated.
[0872] The embodiments for carrying out the present invention are described in detail below.
[0873] First, the user uses a terminal to input instructions for data extraction and aggregation in natural language. For example, they can input instructions such as "What was the total shipment volume this week?" or "What was the inventory status last month?" The terminal sends these input instructions to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[0874] Next, the server receives this request and uses a generative AI to analyze the input natural language. An external AI service is used as the generative AI. For example, a Transformer-based natural language processing model using Huggingface's Transformers library is used to analyze the input instructions and interpret which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[0875] Next, the server programmatically reads the Excel file. The Excel file contains data related to inventory management and shipping at the logistics center. The server reads the Excel file using data processing libraries such as pandas and openpyxl, and manages the data in DataFrame format.
[0876] The server extracts necessary information from the data it reads and performs aggregation processing based on instructions interpreted by the generative AI. For example, if the instruction is "What is the total shipment volume for this week?", the server extracts the shipment data for this week from an Excel file and calculates the total. The period for one week can be, for example, data from October 1, 2023 to October 7, 2023. The shipment quantities for this period are summed up to obtain the result.
[0877] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total shipments this week are 5,432".
[0878] The results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[0879] As a concrete example, if a user enters "What is the total shipment volume for this week?", the server will process it as follows:
[0880] 1. Use natural language processing to generate a query to extract "this week's shipping data".
[0881] 2. Read the Excel file and extract the shipping data for the specified period.
[0882] 3. Calculate the total shipment volume of the extracted data.
[0883] 4. Format the results and send them to the terminal in JSON format.
[0884] The device receives this result and displays, "Total shipments this week are 5,432."
[0885] A concrete example of a prompt statement is the instruction, "Tell me the inventory status for last month." An example of a prompt statement in response to this instruction is as follows:
[0886] "Tell me about last month's inventory status."
[0887] In this way, inventory management and shipping operations at the logistics center can be carried out efficiently.
[0888] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0889] Step 1:
[0890] Users input data extraction and aggregation instructions using natural language via their terminal. For example, they might input instructions like, "What was the total shipment volume this week?" The input data is in text format as natural language instructions. The output is the input instructions converted into JSON format.
[0891] Step 2:
[0892] The terminal sends the input instructions to the server. This is sent as a POST request using the HTTP protocol. The input is the JSON data generated in step 1, and the output is that JSON data sent to the server.
[0893] Step 3:
[0894] The server receives this request and uses a generative AI to analyze the input natural language. The Huggingface Transformers library is used as the generative AI. The input is the JSON data received in step 2, and the output generates database queries or program code based on the user's instructions.
[0895] Step 4:
[0896] The server reads data files programmatically. The Excel files contain data related to inventory management and shipping at the logistics center. Specifically, the pandas and openpyxl libraries are used to read the Excel files in DataFrame format. The input is the path or URL of the Excel file, and the output is data managed in DataFrame format.
[0897] Step 5:
[0898] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. For example, to calculate the total shipment volume for this week, it filters shipment data for a specific period (e.g., October 1, 2023 to October 7, 2023) and calculates the sum. The input is the DataFrame data obtained in step 4, and the output is the result of extracting the necessary information and aggregating it in the appropriate format.
[0899] Step 6:
[0900] The server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format, for example, "Total shipments this week are 5,432." The input is the aggregated result generated in step 5, and the output is the formatted JSON data.
[0901] Step 7:
[0902] The terminal displays the aggregated results to the user. The terminal's user interface is used to visually present the results, allowing the user to immediately confirm the data content. The input is the JSON data received in step 6, and the output is the visually presented results.
[0903] Through the above series of steps, a system is realized that extracts, aggregates, and displays in real time statistical data related to inventory management and shipping at the logistics center.
[0904] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0905] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[0906] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text.
[0907] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[0908] The server receives this request. The Flask application receives JSON data through the / query endpoint and retrieves user instructions and sentiment data.
[0909] The server uses generative AI to analyze natural language. It inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine detects that the user is feeling "anxious," the server adjusts its response accordingly.
[0910] Next, the server programmatically reads the Excel file. It uses libraries such as pandas or openpyxl to convert the data in the Excel file into a DataFrame.
[0911] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "extract sales data for April 2023 and calculate the total") to a DataFrame to obtain the necessary data and perform aggregation.
[0912] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were 123,456 yen." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[0913] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0914] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, a message like "Total sales for April 2023 were 123,456 yen" is rephrased and presented as "Don't worry, total sales for April were 123,456 yen."
[0915] For example, if a user inputs "Please tell me the total sales for April 2023 from the sales data" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and formats the response in a tone that reads, "Don't worry, the total sales for April were 123,456 yen," before sending it to the terminal.
[0916] This system allows users to easily give instructions for data extraction and aggregation using natural language, and in addition, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0917] The following describes the processing flow.
[0918] Step 1:
[0919] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." The emotion engine analyzes this input and recognizes the user's emotional state (e.g., anxiety, joy, surprise).
[0920] Step 2:
[0921] The device sends user input and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends JSON data containing instructions and sentiment data to the server.
[0922] Step 3:
[0923] The server receives the request from the terminal. The Flask application receives the JSON data through the / query endpoint and analyzes the user's instructions and sentiment data.
[0924] Step 4:
[0925] The server uses generative AI to analyze natural language. The user's instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. For example, a query such as "Extract sales data for April 2023 and calculate the total" might be generated.
[0926] Step 5:
[0927] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[0928] Step 6:
[0929] The server extracts and aggregates data from an Excel file based on the analysis results of a generative AI. The queries obtained from the analysis are applied to a DataFrame to extract sales data for April 2023 and calculate the total sales.
[0930] Step 7:
[0931] The server formats the calculation results. It converts the aggregated results into a format that is easy for the user to understand, for example, formatting it as "Total sales for April 2023 were 123,456 yen." At the same time, the server analyzes sentiment data and makes adjustments according to the user's emotional state. For example, if the user indicates an anxious state, the response is adjusted to something like, "Don't worry, total sales for April were 123,456 yen."
[0932] Step 8:
[0933] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[0934] Step 9:
[0935] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[0936] Step 10:
[0937] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Don't worry, your total sales for April were 123,456 yen."
[0938] In this way, the system combines the user's natural language instructions and emotions to extract and aggregate data, and then displays the results in an easy-to-understand and emotion-responsive format, thereby providing a more user-friendly experience.
[0939] (Example 2)
[0940] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0941] Conventional data extraction and aggregation systems have faced challenges such as the inability to use natural language when users input instructions and the inability to provide appropriate responses based on user emotions. This often resulted in a less user-friendly experience, leading to complexity and difficulty in understanding the system. Furthermore, the system's results were uniform in format, making it difficult to present results in a way that appropriately reflects the user's emotional state.
[0942] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0943] In this invention, the server includes means for performing natural language processing and emotion recognition using a generative AI and emotion recognition engine for interpreting instructions, means for reading data files with an analysis library, means for extracting and aggregating data based on the read data, and means for formatting the aggregated results based on the user's emotional state and transmitting them to the terminal. As a result, the user can easily give instructions for data extraction and aggregation using natural language, and the system can provide a more user-friendly experience by providing responses that correspond to the user's emotional state.
[0944] A "user" is an entity that inputs instructions to a system using natural language and receives the results.
[0945] A "terminal" is a device used by a user to interact with a system, and it is used for inputting instructions and displaying results.
[0946] A "server" is a computer system that receives instructions from a user, performs natural language processing and data processing, and sends the results back to the terminal.
[0947] "Natural language processing" is a technology that uses generative AI to analyze a user's natural language instructions and convert them into operational instructions that the system can understand.
[0948] An "emotion recognition engine" is a technology that recognizes and analyzes emotional data from a user's voice or text.
[0949] A "data file" is a file that stores data used by a server for analysis and processing, and is often in spreadsheet format.
[0950] An "analysis library" is a toolset for a programming language that provides functions for reading data files and processing data.
[0951] "Generative AI" is an artificial intelligence technology that analyzes a user's natural language instructions and generates specific operational instructions.
[0952] "Data extraction" is the operation of taking out necessary information from a data file.
[0953] "Aggregation" refers to performing statistical calculations and summaries based on extracted data.
[0954] "Formatting" refers to the process of converting aggregated results into a format and wording that is easy for users to understand.
[0955] This invention is a series of systems that recognize a user's natural language instructions and emotions, and based on that, extract and aggregate data, and further adjust the content of the response. Specific embodiments of this system will be described below.
[0956] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, the user might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text. An emotion recognition engine is used to recognize emotional data.
[0957] Next, the device sends the input instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server. HTTP is used as the communication protocol.
[0958] The server receives this request using a Flask application. Specifically, it receives JSON data at the / query endpoint and retrieves user instructions and sentiment data. The server uses a generative AI model to perform natural language analysis. As a concrete example, it inputs the instruction "Tell me the total sales for April 2023 from the sales data" into the generative AI model, and then uses the resulting operation procedure to extract and aggregate data.
[0959] Next, the server reads the data file. Here, it uses analysis libraries such as pandas and openpyxl to read the Excel file. The data in the Excel file is converted into a DataFrame. Based on the read data, specific operation instructions obtained from the analysis results of the generative AI model (for example, "extract sales data for April 2023 and calculate the total") are applied to the DataFrame to obtain the necessary data and perform aggregation.
[0960] The server formats the aggregated results. It converts them into a user-friendly format and constructs the results in JSON format. During this process, it adjusts the tone and wording of the text based on sentiment data obtained from the sentiment recognition engine. For example, if the user is feeling anxious, the results might be formatted to read, "Don't worry, your total sales for April were 123,456 yen."
[0961] The server sends the formatted result to the terminal. It then returns the JSON response containing the result to the terminal as an HTTP response.
[0962] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. These results are then visually presented using a user interface. For example, displaying "Don't worry, total sales for April were ¥123,456" on the screen provides the user with appropriate information.
[0963] Example of a prompt
[0964] "Based on the sales data, please tell me the total sales for April 2023."
[0965] "Please check the latest stock quantity from the inventory data."
[0966] "Generate a customer satisfaction graph."
[0967] This system allows users to easily give instructions for data extraction and aggregation using natural language, and furthermore, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[0968] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0969] Specific processing steps of the program
[0970] Step 1:
[0971] Users enter data extraction and aggregation instructions in natural language.
[0972] The user inputs instructions to the device using natural language. The device then uses an emotion recognition engine to extract emotional data from the input. The input includes natural language instructions such as "Tell me the total sales for April 2023 based on the sales data," along with the user's emotion at that time (e.g., "anxiety"). The output generates the instructions and emotional data.
[0973] Specific actions:
[0974] The user enters instructions into the input field on the device.
[0975] The emotion recognition engine recognizes emotions from text and audio and generates emotion data.
[0976] Step 2:
[0977] The device sends instructions and emotional data to the server.
[0978] The terminal converts the input instructions and sentiment data into JSON format and sends it to the server. The input includes natural language instructions and sentiment data, and the output generates data in JSON format, which is sent to the server as an HTTP POST request.
[0979] Specific actions:
[0980] Convert the input data to JSON format.
[0981] Create an HTTP POST request and send it to a specific endpoint on the server.
[0982] Step 3:
[0983] The server analyzes the instructions and recognizes emotions.
[0984] The server parses the received request. First, the Flask application receives JSON data at the / query endpoint and obtains the instruction content and sentiment data. Next, it uses a generative AI model to analyze natural language and generate specific operation instructions. The sentiment recognition engine also analyzes the sentiment data. The input includes JSON data, and the output generates the analysis results and operation instructions.
[0985] Specific actions:
[0986] The Flask application receives the request.
[0987] Extract instruction content and sentiment data from JSON data.
[0988] The AI model analyzes the instructions and generates operation instructions.
[0989] The emotion recognition engine analyzes the emotion data.
[0990] Step 4:
[0991] The server reads the data file.
[0992] This program reads Excel data files using pandas or openpyxl and converts them into DataFrames. The input includes the path to the data file, and the output is a DataFrame.
[0993] Specific actions:
[0994] Read an Excel file using the pandas read_excel function.
[0995] Convert the contents of an Excel file into a DataFrame.
[0996] Step 5:
[0997] The server performs data extraction and aggregation.
[0998] Based on the generated operation instructions, the necessary data is extracted from the DataFrame and aggregated. For example, an instruction such as "Extract sales data for April 2023 and calculate the total" is executed. The input includes the DataFrame and operation instructions, and the output generates the extracted data and aggregated results.
[0999] Specific actions:
[1000] Apply filtering to the DataFrame to extract the necessary data.
[1001] Perform specific calculations using aggregate functions.
[1002] Step 6:
[1003] The server formats the results.
[1004] The aggregated results are formatted into a user-friendly format, and the tone and wording of the text are adjusted based on sentiment data. For example, it might be formatted to read, "Rest assured, total sales for April were ¥123,456." The input includes aggregated results and sentiment data, and the output is the formatted result.
[1005] Specific actions:
[1006] Convert the aggregated results to JSON format.
[1007] The wording is adjusted based on sentiment data.
[1008] Step 7:
[1009] The server sends the results to the terminal.
[1010] The formatted result is sent to the terminal in JSON format. The formatted result is included as input, and an HTTP response is generated as output and sent to the terminal.
[1011] Specific actions:
[1012] Generates JSON containing the formatted result.
[1013] Create an HTTP response and send it from the server to the terminal.
[1014] Step 8:
[1015] The device analyzes the results and presents them to the user.
[1016] The terminal receives a response from the server, parses the JSON data, and retrieves the results. The retrieved results are then visually presented using a user interface. For example, it might display "Don't worry, total sales for April were 123,456 yen." The received JSON data is included as input, and the results displayed to the user are generated as output.
[1017] Specific actions:
[1018] The terminal parses the JSON data from the response it receives.
[1019] Generate a message and display it in the user interface.
[1020] (Application Example 2)
[1021] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1022] Traditional systems lacked the ability to recognize user emotions and adjust responses when users provided data extraction and aggregation instructions using natural language. This sometimes resulted in users lacking psychological reassurance when making inquiries. This is particularly problematic in services like food delivery, where quick and optimal responses are crucial for immediate user satisfaction.
[1023] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[1024] In this invention, the server includes means for analyzing the user's emotional data and adjusting the response according to that emotion, means for a generative AI to generate an optimal response based on the emotional data, and means for reading data files programmatically. This makes it possible to provide responses that take the user's emotions into consideration.
[1025] A "user" is a person who operates an information system, specifically someone who uses a food delivery application to place an order or make an inquiry.
[1026] "Natural language" refers to the language that people use on a daily basis, and which does not have any special form or dictation.
[1027] "Emotional data" refers to emotional information recognized from a user's voice or text, such as data representing psychological states like anxiety or joy.
[1028] "Generative AI" refers to a system that uses artificial intelligence technology to generate and analyze natural language, understanding user instructions and producing the most appropriate response.
[1029] A "terminal" refers to a device operated by a user, specifically a smartphone or tablet.
[1030] A "server" is a computer system that provides services and data to multiple terminals over a network.
[1031] A "data file" is a file that records digital information in a consolidated format, and in this case, it specifically refers to an Excel file.
[1032] "Data extraction" refers to the process of extracting necessary information from a large amount of data.
[1033] "Data aggregation" refers to the process of collecting and organizing data and calculating statistical values such as sums and averages.
[1034] "Natural language processing" is the technology that enables computers to understand and process human language.
[1035] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[1036] First, users use a smartphone or other device to place orders or make inquiries about food delivery using natural language. For example, they might type, "I'd like to order two hamburgers, can I order them now?" Simultaneously, an emotion engine recognizes emotional data from the user's voice and text.
[1037] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[1038] The server receives this request. The Flask application receives JSON data through the / order endpoint and retrieves user instructions and sentiment data.
[1039] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which generates specific operational instructions necessary for data extraction and responses. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine recognizes that the user is in an "anxious" state, the server adjusts its response accordingly.
[1040] Next, the server programmatically reads the database or Excel file. It then uses libraries such as pandas or openpyxl to convert the data in the database or Excel file into a DataFrame.
[1041] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing.
[1042] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Your order for two hamburgers has been completed." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[1043] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[1044] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface, for example, as a message such as "Of course. Don't worry, we'll take your order now."
[1045] For example, if a user types "I'd like to order two hamburgers, can I order them now?" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and reshapes the response to "Of course. Don't worry, we'll take your order right now," before sending it to the terminal.
[1046] Specific example
[1047] Example of a prompt:
[1048] User input: I'd like to order two hamburgers. Can I order them now?
[1049] Emotion: Anxiety
[1050] Please generate the optimal response. The result should be returned in JSON format.
[1051] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1052] Step 1:
[1053] Users input food delivery orders and inquiries using natural language on a smartphone or other device. For example, they might say anxiously, "I'd like to order two hamburgers, can I order them now?" In this process, the user's voice or text is entered into the device, and an emotion engine extracts emotional data from the voice or text.
[1054] Step 2:
[1055] The terminal sends the input natural language instruction and extracted sentiment data to the server in JSON format. Specifically, it creates an HTTP POST request and sends JSON data containing the instruction content and sentiment data to the server. The input is natural language and sentiment data, and the output is an HTTP POST request to the server.
[1056] Step 3:
[1057] The server receives the request sent from the terminal. The Flask application receives JSON data through the / order endpoint and retrieves the user's instructions and sentiment data. The input is JSON data from the terminal, and the output is the user's instructions and sentiment data.
[1058] Step 4:
[1059] The server uses generative AI to analyze natural language. Specifically, it inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and response. It also analyzes emotional data to recognize the user's emotional state. The input consists of the user's natural language instructions and emotional data, while the output consists of specific operational instructions and the results of the emotional analysis.
[1060] Step 5:
[1061] The server programmatically reads a database or Excel file. Libraries such as pandas or openpyxl are used to convert the data in the database or Excel file into a DataFrame. The input is a database or Excel file, and the output is data in DataFrame format.
[1062] Step 6:
[1063] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (e.g., "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing. The input is the analysis results of the generative AI and the DataFrame data, and the output is the extracted and aggregated data.
[1064] Step 7:
[1065] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. For example, a message such as "Your order for two hamburgers has been completed" is generated. In this process, the results are formatted using wording and tone that takes into account the user's emotional state. The input is the extracted and aggregated data and the sentiment analysis results, and the output is the formatted response result.
[1066] Step 8:
[1067] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response. The input is the formatted response result, and the output is the HTTP response to the terminal.
[1068] Step 9:
[1069] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, it might be presented as a message such as, "Of course. Don't worry, we'll take your order now." The input is JSON data from the server, and the output is a visual presentation to the user.
[1070] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1071] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1072] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1073] [Fourth Embodiment]
[1074] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1075] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1076] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1077] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1078] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1079] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1080] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1081] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1082] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1083] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1084] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1085] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1086] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1087] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[1088] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[1089] Next, the terminal sends this input to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[1090] The server receives this request and uses a generative AI to analyze the input natural language. The generative AI utilizes an external AI service to interpret the input instructions and determine which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[1091] Next, the server programmatically reads the Excel file. The Excel file contains sales data, and the server reads the Excel file using data processing libraries such as pandas or openpyxl, and manages the data in DataFrame format.
[1092] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. As a specific example, it extracts sales data for April 2023 and calculates the total value.
[1093] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total sales for April 2023 were 123,456 yen."
[1094] Finally, the results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[1095] As a specific example, if a user enters "Tell me the total sales for April 2023 from the sales data," the server will perform the following actions:
[1096] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[1097] 2. Read the Excel file and extract the sales data for April 2023.
[1098] 3. Calculate the total sales from the extracted data.
[1099] 4. Format the results and send them to the terminal in JSON format.
[1100] The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[1101] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[1102] The following describes the processing flow.
[1103] Step 1:
[1104] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data."
[1105] Step 2:
[1106] The terminal sends this input to the server in JSON format. The terminal creates an HTTP POST request and sends the JSON data containing the instructions to the server.
[1107] Step 3:
[1108] The server receives a request from the terminal. The Flask application receives JSON data through the / query endpoint and obtains user instructions.
[1109] Step 4:
[1110] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation.
[1111] Step 5:
[1112] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[1113] Step 6:
[1114] The server extracts and aggregates data based on the analysis results of the generative AI. The query from the analysis results (for example, "extract sales data for April 2023 and calculate the total") is applied to a DataFrame to obtain the necessary data and perform the aggregation.
[1115] Step 7:
[1116] The server formats the calculation results. It converts the aggregated results into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were ¥123,456."
[1117] Step 8:
[1118] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[1119] Step 9:
[1120] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[1121] Step 10:
[1122] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Total sales for April 2023 were 123,456 yen."
[1123] This entire process allows users to easily give instructions for data extraction and aggregation using natural language, and obtain accurate and rapid results.
[1124] (Example 1)
[1125] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1126] In conventional data extraction and aggregation systems, users often required advanced expertise to extract and aggregate specific information from data such as Excel files. Furthermore, natural language instructions were not directly reflected in the data extraction and aggregation process; manual operation was necessary, resulting in significant time and effort. This led to decreased operational efficiency and difficulty in ensuring the reliability of data processing.
[1127] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1128] In this invention, the server includes means for the user to input data extraction and aggregation instructions in natural language, means for the terminal to convert the input instructions into JSON format and send them to the server, means for the server to perform natural language processing using a generative AI for interpreting the instructions, means for the server to use a data processing library for reading data from an Excel file, means for the server to generate and execute program code for data extraction and aggregation based on the read data, means for the server to construct the calculation results in JSON format and send them to the terminal, and means for the terminal to display the received aggregation results to the user using a user interface. This makes it possible for users to intuitively perform data extraction and aggregation using natural language without specialized knowledge.
[1129] A "user" is a person who uses the system to input data extraction and aggregation instructions using natural language.
[1130] A "terminal" is a device used by a user that has the function of sending natural language instructions to a server and displaying the results received from the server.
[1131] A "server" is a computer system used for data processing. It is a device that interprets user instructions, extracts and aggregates data, and transmits the results to a terminal.
[1132] "Generative AI" refers to artificial intelligence systems that analyze natural language instructions and convert them into specific data extraction and aggregation actions.
[1133] An "Excel file" is a file format generated by spreadsheet software, used to structure and store data consisting of multiple rows and columns.
[1134] A "data processing library" is a software library that provides functions for reading, manipulating, and transforming data in programming.
[1135] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structurally representing data.
[1136] "Program code" is a set of instructions written for a computer to perform a specific task, and it consists of commands that define the operation of software.
[1137] A "user interface" is an interface, such as a screen or input device, that allows a user to interact with a system, and is a means of facilitating system operation and verification of results.
[1138] As an embodiment of the present invention, we will describe a series of systems in which a server extracts and aggregates data from an Excel file based on instructions entered by the user in natural language, and displays the results to the user.
[1139] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." These instructions are in a format that humans can intuitively understand and do not require any specific expertise.
[1140] Next, the terminal converts this natural language input into JSON format. This converted data is then sent to the server as a POST request using the HTTP protocol. Converting to JSON format makes it possible to send the data to the server in a structured manner.
[1141] The server processes requests received from terminals. The key here is the use of a generative AI model. This generative AI model uses an external API to parse natural language instructions and translate them into specific data extraction and aggregation queries. For example, it might translate an instruction like, "Extract sales data for April 2023 and calculate total sales."
[1142] The server then reads the data from the Excel file. For this purpose, the server uses data processing libraries such as pandas and openpyxl. These libraries allow the Excel file to be managed in DataFrame format, enabling efficient data manipulation.
[1143] The server extracts the necessary data from an Excel file and performs aggregation processing based on instructions interpreted by the generative AI. A specific example is extracting sales data for April 2023 and calculating the total sales. Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The results are sent in a format such as, for example, "Total sales for April 2023 were 123,456 yen."
[1144] The terminal receives results sent from the server and displays them to the user using a user interface. This allows the user to intuitively understand the content of the data.
[1145] As a concrete example, if a user enters "Tell me the total sales for April 2023 from the sales data," the system will perform the following steps:
[1146] 1. Generate a query using natural language processing to extract "sales data for April 2023".
[1147] 2. Read the Excel file and extract the sales data for April 2023.
[1148] 3. Calculate the total sales from the extracted data.
[1149] 4. Format the results and send them to the terminal in JSON format.
[1150] 5. The device receives this result and displays, "Total sales for April 2023 are 123,456 yen."
[1151] This system allows users to perform specific data processing intuitively and efficiently, and to easily extract necessary information from Excel data without requiring specialized knowledge.
[1152] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1153] Step 1:
[1154] The user enters instructions in natural language.
[1155] In terms of specific actions, the user inputs a natural language instruction in text format into the terminal interface, such as "Tell me the total sales for April 2023 from the sales data."
[1156] Input: Data extraction and aggregation instructions written in natural language.
[1157] Output: A text box on a terminal containing a natural language instruction.
[1158] Step 2:
[1159] The terminal converts the input instructions into JSON format and sends them to the server.
[1160] Specifically, the terminal receives user instructions and converts them into JSON data in the following format.
[1161] json
[1162] {
[1163] "request": "Please tell me the total sales for April 2023 based on the sales data."
[1164] }
[1165] Next, this JSON data is sent to the server as a POST request using the HTTP protocol.
[1166] Input: Instructions in natural language.
[1167] Output: JSON formatted data sent to the server.
[1168] Step 3:
[1169] The server receives the request and analyzes the instructions using a generative AI model.
[1170] Specifically, the server parses the received JSON data and performs natural language processing using an AI model generated via an external API. This process converts the natural language request into program code. For example, a query is generated to "extract sales data for April 2023 and calculate total sales."
[1171] Input: Data in JSON format.
[1172] Output: Program code for data extraction and aggregation.
[1173] Step 4:
[1174] The server reads data from the Excel file.
[1175] In terms of specific operations, the server reads Excel files using data processing libraries such as pandas and openpyxl. For example, it reads Excel files in DataFrame format as follows:
[1176] Python
[1177] import pandas as pd
[1178] df = pd.read_excel('sales_data.xlsx')
[1179] Input: Excel file.
[1180] Output: Data managed in DataFrame format.
[1181] Step 5:
[1182] The server extracts the necessary data and performs aggregation processing.
[1183] Specifically, the AI model extracts the necessary data from a DataFrame based on the generated query, and then uses that data for aggregation. For example, it might extract sales data for April 2023 and calculate total sales.
[1184] Python
[1185] april_data = df[(df['date'].dt.month == 4) & (df['date'].dt.year == 2023)]
[1186] total_sales = april_data['sales'].sum()
[1187] Input: Program code and data in DataFrame format.
[1188] Output: Necessary data is extracted and aggregated (e.g., total sales).
[1189] Step 6:
[1190] The server formats the calculation results in JSON format and sends them to the terminal.
[1191] Specifically, the server formats the calculation results, such as total sales figures, into a human-readable format and constructs them in JSON format as shown below.
[1192] json
[1193] {
[1194] "result": "Total sales for April 2023 were 123,456 yen."
[1195] }
[1196] After that, this JSON data is sent to the terminal using the HTTP protocol.
[1197] Input: Calculation result.
[1198] Output: JSON formatted data sent to the terminal.
[1199] Step 7:
[1200] The device receives the results and displays them to the user.
[1201] In terms of specific operations, the device parses the received JSON data and displays the results to the user through the user interface. For example, the browser or mobile app screen might display "Total sales for April 2023 were 123,456 yen."
[1202] Input: JSON formatted data sent from the server.
[1203] Output: The result displayed to the user.
[1204] (Application Example 1)
[1205] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1206] Traditional inventory management and shipping operations in logistics centers require manually extracting and aggregating necessary information from data such as Excel files. This process is time-consuming and prone to human error. Furthermore, real-time data processing and information acquisition are difficult, hindering efficient operations. To solve these problems, a system is needed that can easily extract and aggregate data using natural language and allow for real-time verification of the results.
[1207] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1208] In this invention, the server includes means for a user to input data extraction and aggregation instructions in natural language, means for a terminal to transmit the input instructions to the server, means for the server to perform natural language processing using a generative AI to interpret the instructions, means for the server to programmatically read data files, means for the server to perform data extraction and aggregation based on the data it has read, means for the server to transmit the aggregation results to the terminal, means for the terminal to display the aggregation results to the user, and means for extracting, aggregating, and displaying statistical data related to inventory management and shipping in a logistics center in real time. This enables increased efficiency in inventory management and shipping operations at a logistics center, as well as real-time information verification.
[1209] A "user" is a person who inputs system instructions in natural language.
[1210] A "terminal" is a device that sends instructions entered by a user in natural language to a server, and receives and displays the results from the server.
[1211] A "server" is a device that receives instructions sent from a terminal, interprets those instructions using natural language processing with generative AI, reads data files, extracts and aggregates necessary information, and sends the results back to the terminal.
[1212] "Generative AI" refers to artificial intelligence that performs natural language processing and may utilize external APIs.
[1213] "Natural language processing" is the technology that enables machines to understand human language (natural language) and analyze its meaning.
[1214] A "data file" is a file that stores digital data, such as in Excel format.
[1215] "Data extraction" refers to the process of retrieving necessary information from a data file.
[1216] "Aggregation" refers to the process of performing statistical processing on extracted data to calculate results such as sums and averages.
[1217] A "logistics center" is a facility where goods and materials are stored, managed, and shipped.
[1218] "Inventory management" refers to the management work involved in tracking and maintaining the quantity and condition of goods in a logistics center.
[1219] "Shipping" refers to the process of sending goods or materials out of a logistics center.
[1220] "Statistical data" refers to numerical information about quantities or conditions that have been extracted and aggregated.
[1221] "Real-time" means that data is processed and displayed instantly as soon as it is generated.
[1222] The embodiments for carrying out the present invention are described in detail below.
[1223] First, the user uses a terminal to input instructions for data extraction and aggregation in natural language. For example, they can input instructions such as "What was the total shipment volume this week?" or "What was the inventory status last month?" The terminal sends these input instructions to the server in JSON format. The terminal sends a POST request to the server using the HTTP protocol, and the JSON data contains the instructions.
[1224] Next, the server receives this request and uses a generative AI to analyze the input natural language. An external AI service is used as the generative AI. For example, a Transformer-based natural language processing model using Huggingface's Transformers library is used to analyze the input instructions and interpret which specific data to extract and aggregate. This process converts the natural language instructions into database queries or program code.
[1225] Next, the server programmatically reads the Excel file. The Excel file contains data related to inventory management and shipping at the logistics center. The server reads the Excel file using data processing libraries such as pandas and openpyxl, and manages the data in DataFrame format.
[1226] The server extracts necessary information from the data it reads and performs aggregation processing based on instructions interpreted by the generative AI. For example, if the instruction is "What is the total shipment volume for this week?", the server extracts the shipment data for this week from an Excel file and calculates the total. The period for one week can be, for example, data from October 1, 2023 to October 7, 2023. The shipment quantities for this period are summed up to obtain the result.
[1227] Once the calculation is complete, the server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format and sent in a format such as "Total shipments this week are 5,432".
[1228] The results received by the device are displayed to the user. The results are presented visually using the device's user interface, allowing the user to immediately confirm the content of the data.
[1229] As a concrete example, if a user enters "What is the total shipment volume for this week?", the server will process it as follows:
[1230] 1. Use natural language processing to generate a query to extract "this week's shipping data".
[1231] 2. Read the Excel file and extract the shipping data for the specified period.
[1232] 3. Calculate the total shipment volume of the extracted data.
[1233] 4. Format the results and send them to the terminal in JSON format.
[1234] The device receives this result and displays, "Total shipments this week are 5,432."
[1235] A concrete example of a prompt statement is the instruction, "Tell me the inventory status for last month." An example of a prompt statement in response to this instruction is as follows:
[1236] "Tell me about last month's inventory status."
[1237] In this way, inventory management and shipping operations at the logistics center can be carried out efficiently.
[1238] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1239] Step 1:
[1240] Users input data extraction and aggregation instructions using natural language via their terminal. For example, they might input instructions like, "What was the total shipment volume this week?" The input data is in text format as natural language instructions. The output is the input instructions converted into JSON format.
[1241] Step 2:
[1242] The terminal sends the input instructions to the server. This is sent as a POST request using the HTTP protocol. The input is the JSON data generated in step 1, and the output is that JSON data sent to the server.
[1243] Step 3:
[1244] The server receives this request and uses a generative AI to analyze the input natural language. The Huggingface Transformers library is used as the generative AI. The input is the JSON data received in step 2, and the output generates database queries or program code based on the user's instructions.
[1245] Step 4:
[1246] The server reads data files programmatically. The Excel files contain data related to inventory management and shipping at the logistics center. Specifically, the pandas and openpyxl libraries are used to read the Excel files in DataFrame format. The input is the path or URL of the Excel file, and the output is data managed in DataFrame format.
[1247] Step 5:
[1248] Based on instructions interpreted by the generative AI, the server extracts necessary information from the read data and performs aggregation processing. For example, to calculate the total shipment volume for this week, it filters shipment data for a specific period (e.g., October 1, 2023 to October 7, 2023) and calculates the sum. The input is the DataFrame data obtained in step 4, and the output is the result of extracting the necessary information and aggregating it in the appropriate format.
[1249] Step 6:
[1250] The server formats the results in JSON format and sends them to the terminal. The result data is formatted in a human-readable format, for example, "Total shipments this week are 5,432." The input is the aggregated result generated in step 5, and the output is the formatted JSON data.
[1251] Step 7:
[1252] The terminal displays the aggregated results to the user. The terminal's user interface is used to visually present the results, allowing the user to immediately confirm the data content. The input is the JSON data received in step 6, and the output is the visually presented results.
[1253] Through the above series of steps, a system is realized that extracts, aggregates, and displays in real time statistical data related to inventory management and shipping at the logistics center.
[1254] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1255] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[1256] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text.
[1257] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[1258] The server receives this request. The Flask application receives JSON data through the / query endpoint and retrieves user instructions and sentiment data.
[1259] The server uses generative AI to analyze natural language. It inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine detects that the user is feeling "anxious," the server adjusts its response accordingly.
[1260] Next, the server programmatically reads the Excel file. It uses libraries such as pandas or openpyxl to convert the data in the Excel file into a DataFrame.
[1261] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "extract sales data for April 2023 and calculate the total") to a DataFrame to obtain the necessary data and perform aggregation.
[1262] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Total sales for April 2023 were 123,456 yen." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[1263] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[1264] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, a message like "Total sales for April 2023 were 123,456 yen" is rephrased and presented as "Don't worry, total sales for April were 123,456 yen."
[1265] For example, if a user inputs "Please tell me the total sales for April 2023 from the sales data" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and formats the response in a tone that reads, "Don't worry, the total sales for April were 123,456 yen," before sending it to the terminal.
[1266] This system allows users to easily give instructions for data extraction and aggregation using natural language, and in addition, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[1267] The following describes the processing flow.
[1268] Step 1:
[1269] The user inputs instructions for data extraction and aggregation using natural language on their device. For example, they might input, "Tell me the total sales for April 2023 from the sales data." The emotion engine analyzes this input and recognizes the user's emotional state (e.g., anxiety, joy, surprise).
[1270] Step 2:
[1271] The device sends user input and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends JSON data containing instructions and sentiment data to the server.
[1272] Step 3:
[1273] The server receives the request from the terminal. The Flask application receives the JSON data through the / query endpoint and analyzes the user's instructions and sentiment data.
[1274] Step 4:
[1275] The server uses generative AI to analyze natural language. The user's instructions are input into the generative AI, which then generates specific operational instructions necessary for data extraction and aggregation. For example, a query such as "Extract sales data for April 2023 and calculate the total" might be generated.
[1276] Step 5:
[1277] The server programmatically reads the Excel file. It then uses libraries such as pandas or openpyxl to convert the data within the Excel file into a DataFrame.
[1278] Step 6:
[1279] The server extracts and aggregates data from an Excel file based on the analysis results of a generative AI. The queries obtained from the analysis are applied to a DataFrame to extract sales data for April 2023 and calculate the total sales.
[1280] Step 7:
[1281] The server formats the calculation results. It converts the aggregated results into a format that is easy for the user to understand, for example, formatting it as "Total sales for April 2023 were 123,456 yen." At the same time, the server analyzes sentiment data and makes adjustments according to the user's emotional state. For example, if the user indicates an anxious state, the response is adjusted to something like, "Don't worry, total sales for April were 123,456 yen."
[1282] Step 8:
[1283] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[1284] Step 9:
[1285] The terminal receives a response from the server. It parses the received JSON data and retrieves the result.
[1286] Step 10:
[1287] The device displays the results to the user. The analyzed results are displayed on the user interface, visually presenting a message such as, "Don't worry, your total sales for April were 123,456 yen."
[1288] In this way, the system combines the user's natural language instructions and emotions to extract and aggregate data, and then displays the results in an easy-to-understand and emotion-responsive format, thereby providing a more user-friendly experience.
[1289] (Example 2)
[1290] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1291] Conventional data extraction and aggregation systems have faced challenges such as the inability to use natural language when users input instructions and the inability to provide appropriate responses based on user emotions. This often resulted in a less user-friendly experience, leading to complexity and difficulty in understanding the system. Furthermore, the system's results were uniform in format, making it difficult to present results in a way that appropriately reflects the user's emotional state.
[1292] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1293] In this invention, the server includes means for performing natural language processing and emotion recognition using a generative AI and emotion recognition engine for interpreting instructions, means for reading data files with an analysis library, means for extracting and aggregating data based on the read data, and means for formatting the aggregated results based on the user's emotional state and transmitting them to the terminal. As a result, the user can easily give instructions for data extraction and aggregation using natural language, and the system can provide a more user-friendly experience by providing responses that correspond to the user's emotional state.
[1294] A "user" is an entity that inputs instructions to a system using natural language and receives the results.
[1295] A "terminal" is a device used by a user to interact with a system, and it is used for inputting instructions and displaying results.
[1296] A "server" is a computer system that receives instructions from a user, performs natural language processing and data processing, and sends the results back to the terminal.
[1297] "Natural language processing" is a technology that uses generative AI to analyze a user's natural language instructions and convert them into operational instructions that the system can understand.
[1298] An "emotion recognition engine" is a technology that recognizes and analyzes emotional data from a user's voice or text.
[1299] A "data file" is a file that stores data used by a server for analysis and processing, and is often in spreadsheet format.
[1300] An "analysis library" is a toolset for a programming language that provides functions for reading data files and processing data.
[1301] "Generative AI" is an artificial intelligence technology that analyzes a user's natural language instructions and generates specific operational instructions.
[1302] "Data extraction" is the operation of taking out necessary information from a data file.
[1303] "Aggregation" refers to performing statistical calculations and summaries based on extracted data.
[1304] "Formatting" refers to the process of converting aggregated results into a format and wording that is easy for users to understand.
[1305] This invention is a series of systems that recognize a user's natural language instructions and emotions, and based on that, extract and aggregate data, and further adjust the content of the response. Specific embodiments of this system will be described below.
[1306] First, the user inputs instructions for data extraction and aggregation using natural language on their device. For example, the user might input, "Tell me the total sales for April 2023 from the sales data." Simultaneously, the emotion engine recognizes emotional data from the user's voice and text. An emotion recognition engine is used to recognize emotional data.
[1307] Next, the device sends the input instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server. HTTP is used as the communication protocol.
[1308] The server receives this request using a Flask application. Specifically, it receives JSON data at the / query endpoint and retrieves user instructions and sentiment data. The server uses a generative AI model to perform natural language analysis. As a concrete example, it inputs the instruction "Tell me the total sales for April 2023 from the sales data" into the generative AI model, and then uses the resulting operation procedure to extract and aggregate data.
[1309] Next, the server reads the data file. Here, it uses analysis libraries such as pandas and openpyxl to read the Excel file. The data in the Excel file is converted into a DataFrame. Based on the read data, specific operation instructions obtained from the analysis results of the generative AI model (for example, "extract sales data for April 2023 and calculate the total") are applied to the DataFrame to obtain the necessary data and perform aggregation.
[1310] The server formats the aggregated results. It converts them into a user-friendly format and constructs the results in JSON format. During this process, it adjusts the tone and wording of the text based on sentiment data obtained from the sentiment recognition engine. For example, if the user is feeling anxious, the results might be formatted to read, "Don't worry, your total sales for April were 123,456 yen."
[1311] The server sends the formatted result to the terminal. It then returns the JSON response containing the result to the terminal as an HTTP response.
[1312] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. These results are then visually presented using a user interface. For example, displaying "Don't worry, total sales for April were ¥123,456" on the screen provides the user with appropriate information.
[1313] Example of a prompt
[1314] "Based on the sales data, please tell me the total sales for April 2023."
[1315] "Please check the latest stock quantity from the inventory data."
[1316] "Generate a customer satisfaction graph."
[1317] This system allows users to easily give instructions for data extraction and aggregation using natural language, and furthermore, it provides a more user-friendly experience by offering responses that are tailored to the user's emotional state.
[1318] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1319] Specific processing steps of the program
[1320] Step 1:
[1321] Users enter data extraction and aggregation instructions in natural language.
[1322] The user inputs instructions to the device using natural language. The device then uses an emotion recognition engine to extract emotional data from the input. The input includes natural language instructions such as "Tell me the total sales for April 2023 based on the sales data," along with the user's emotion at that time (e.g., "anxiety"). The output generates the instructions and emotional data.
[1323] Specific actions:
[1324] The user enters instructions into the input field on the device.
[1325] The emotion recognition engine recognizes emotions from text and audio and generates emotion data.
[1326] Step 2:
[1327] The device sends instructions and emotional data to the server.
[1328] The terminal converts the input instructions and sentiment data into JSON format and sends it to the server. The input includes natural language instructions and sentiment data, and the output generates data in JSON format, which is sent to the server as an HTTP POST request.
[1329] Specific actions:
[1330] Convert the input data to JSON format.
[1331] Create an HTTP POST request and send it to a specific endpoint on the server.
[1332] Step 3:
[1333] The server analyzes the instructions and recognizes emotions.
[1334] The server parses the received request. First, the Flask application receives JSON data at the / query endpoint and obtains the instruction content and sentiment data. Next, it uses a generative AI model to analyze natural language and generate specific operation instructions. The sentiment recognition engine also analyzes the sentiment data. The input includes JSON data, and the output generates the analysis results and operation instructions.
[1335] Specific actions:
[1336] The Flask application receives the request.
[1337] Extract instruction content and sentiment data from JSON data.
[1338] The AI model analyzes the instructions and generates operation instructions.
[1339] The emotion recognition engine analyzes the emotion data.
[1340] Step 4:
[1341] The server reads the data file.
[1342] This program reads Excel data files using pandas or openpyxl and converts them into DataFrames. The input includes the path to the data file, and the output is a DataFrame.
[1343] Specific actions:
[1344] Read an Excel file using the pandas read_excel function.
[1345] Convert the contents of an Excel file into a DataFrame.
[1346] Step 5:
[1347] The server performs data extraction and aggregation.
[1348] Based on the generated operation instructions, the necessary data is extracted from the DataFrame and aggregated. For example, an instruction such as "Extract sales data for April 2023 and calculate the total" is executed. The input includes the DataFrame and operation instructions, and the output generates the extracted data and aggregated results.
[1349] Specific actions:
[1350] Apply filtering to the DataFrame to extract the necessary data.
[1351] Perform specific calculations using aggregate functions.
[1352] Step 6:
[1353] The server formats the results.
[1354] The aggregated results are formatted into a user-friendly format, and the tone and wording of the text are adjusted based on sentiment data. For example, it might be formatted to read, "Rest assured, total sales for April were ¥123,456." The input includes aggregated results and sentiment data, and the output is the formatted result.
[1355] Specific actions:
[1356] Convert the aggregated results to JSON format.
[1357] The wording is adjusted based on sentiment data.
[1358] Step 7:
[1359] The server sends the results to the terminal.
[1360] The formatted result is sent to the terminal in JSON format. The formatted result is included as input, and an HTTP response is generated as output and sent to the terminal.
[1361] Specific actions:
[1362] Generates JSON containing the formatted result.
[1363] Create an HTTP response and send it from the server to the terminal.
[1364] Step 8:
[1365] The device analyzes the results and presents them to the user.
[1366] The terminal receives a response from the server, parses the JSON data, and retrieves the results. The retrieved results are then visually presented using a user interface. For example, it might display "Don't worry, total sales for April were 123,456 yen." The received JSON data is included as input, and the results displayed to the user are generated as output.
[1367] Specific actions:
[1368] The terminal parses the JSON data from the response it receives.
[1369] Generate a message and display it in the user interface.
[1370] (Application Example 2)
[1371] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1372] Traditional systems lacked the ability to recognize user emotions and adjust responses when users provided data extraction and aggregation instructions using natural language. This sometimes resulted in users lacking psychological reassurance when making inquiries. This is particularly problematic in services like food delivery, where quick and optimal responses are crucial for immediate user satisfaction.
[1373] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[1374] In this invention, the server includes means for analyzing the user's emotional data and adjusting the response according to that emotion, means for a generative AI to generate an optimal response based on the emotional data, and means for reading data files programmatically. This makes it possible to provide responses that take the user's emotions into consideration.
[1375] A "user" is a person who operates an information system, specifically someone who uses a food delivery application to place an order or make an inquiry.
[1376] "Natural language" refers to the language that people use on a daily basis, and which does not have any special form or dictation.
[1377] "Emotional data" refers to emotional information recognized from a user's voice or text, such as data representing psychological states like anxiety or joy.
[1378] "Generative AI" refers to a system that uses artificial intelligence technology to generate and analyze natural language, understanding user instructions and producing the most appropriate response.
[1379] A "terminal" refers to a device operated by a user, specifically a smartphone or tablet.
[1380] A "server" is a computer system that provides services and data to multiple terminals over a network.
[1381] A "data file" is a file that records digital information in a consolidated format, and in this case, it specifically refers to an Excel file.
[1382] "Data extraction" refers to the process of extracting necessary information from a large amount of data.
[1383] "Data aggregation" refers to the process of collecting and organizing data and calculating statistical values such as sums and averages.
[1384] "Natural language processing" is the technology that enables computers to understand and process human language.
[1385] As an embodiment of the present invention, a series of systems that recognize a user's natural language instructions and emotions, and in which a server extracts and aggregates data and adjusts the response content based on that information, will be described as an example.
[1386] First, users use a smartphone or other device to place orders or make inquiries about food delivery using natural language. For example, they might type, "I'd like to order two hamburgers, can I order them now?" Simultaneously, an emotion engine recognizes emotional data from the user's voice and text.
[1387] Next, the device sends the entered instructions and sentiment data to the server in JSON format. The device creates an HTTP POST request and sends the JSON data containing the instructions and sentiment data to the server.
[1388] The server receives this request. The Flask application receives JSON data through the / order endpoint and retrieves user instructions and sentiment data.
[1389] The server uses generative AI to analyze natural language. User instructions are input into the generative AI, which generates specific operational instructions necessary for data extraction and responses. It also analyzes emotional data to recognize the user's emotional state. For example, if the emotion engine recognizes that the user is in an "anxious" state, the server adjusts its response accordingly.
[1390] Next, the server programmatically reads the database or Excel file. It then uses libraries such as pandas or openpyxl to convert the data in the database or Excel file into a DataFrame.
[1391] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (for example, "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing.
[1392] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. Example: "Your order for two hamburgers has been completed." In this process, the server formats the results using wording and tone that takes into account the user's emotional state.
[1393] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response.
[1394] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface, for example, as a message such as "Of course. Don't worry, we'll take your order now."
[1395] For example, if a user types "I'd like to order two hamburgers, can I order them now?" and speaks in an anxious tone, the server's emotion engine recognizes the user's anxiety and reshapes the response to "Of course. Don't worry, we'll take your order right now," before sending it to the terminal.
[1396] Specific example
[1397] Example of a prompt:
[1398] User input: I'd like to order two hamburgers. Can I order them now?
[1399] Emotion: Anxiety
[1400] Please generate the optimal response. The result should be returned in JSON format.
[1401] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1402] Step 1:
[1403] Users input food delivery orders and inquiries using natural language on a smartphone or other device. For example, they might say anxiously, "I'd like to order two hamburgers, can I order them now?" In this process, the user's voice or text is entered into the device, and an emotion engine extracts emotional data from the voice or text.
[1404] Step 2:
[1405] The terminal sends the input natural language instruction and extracted sentiment data to the server in JSON format. Specifically, it creates an HTTP POST request and sends JSON data containing the instruction content and sentiment data to the server. The input is natural language and sentiment data, and the output is an HTTP POST request to the server.
[1406] Step 3:
[1407] The server receives the request sent from the terminal. The Flask application receives JSON data through the / order endpoint and retrieves the user's instructions and sentiment data. The input is JSON data from the terminal, and the output is the user's instructions and sentiment data.
[1408] Step 4:
[1409] The server uses generative AI to analyze natural language. Specifically, it inputs user instructions into the generative AI, which then generates specific operational instructions necessary for data extraction and response. It also analyzes emotional data to recognize the user's emotional state. The input consists of the user's natural language instructions and emotional data, while the output consists of specific operational instructions and the results of the emotional analysis.
[1410] Step 5:
[1411] The server programmatically reads a database or Excel file. Libraries such as pandas or openpyxl are used to convert the data in the database or Excel file into a DataFrame. The input is a database or Excel file, and the output is data in DataFrame format.
[1412] Step 6:
[1413] The server extracts and aggregates data based on the analysis results of the generative AI. It applies the analysis result query (e.g., "order a specified product") to a DataFrame to obtain the necessary data and then performs data processing. The input is the analysis results of the generative AI and the DataFrame data, and the output is the extracted and aggregated data.
[1414] Step 7:
[1415] The server formats the calculation results. It converts them into a user-friendly format and constructs the results in JSON format. For example, a message such as "Your order for two hamburgers has been completed" is generated. In this process, the results are formatted using wording and tone that takes into account the user's emotional state. The input is the extracted and aggregated data and the sentiment analysis results, and the output is the formatted response result.
[1416] Step 8:
[1417] The server sends the formatted result to the terminal. The JSON response containing the result is returned to the terminal as an HTTP response. The input is the formatted response result, and the output is the HTTP response to the terminal.
[1418] Step 9:
[1419] The terminal receives a response from the server, parses the received JSON data, and retrieves the results. The results are then visually presented using the terminal's user interface. For example, it might be presented as a message such as, "Of course. Don't worry, we'll take your order now." The input is JSON data from the server, and the output is a visual presentation to the user.
[1420] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1421] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1422] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1423] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1424] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1425] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1426] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1427] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1428] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1429] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1430] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1431] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1432] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1433] 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.
[1434] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1435] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1436] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1437] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1438] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1439] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1440] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1441] The following is further disclosed regarding the embodiments described above.
[1442] (Claim 1)
[1443] A means for the user to input data extraction and aggregation instructions in natural language,
[1444] The terminal provides means for sending the input instructions to the server,
[1445] A means for a server to perform natural language processing using a generative AI for interpreting the aforementioned instructions,
[1446] The server has a means of reading data files programmatically,
[1447] A server provides means for extracting and aggregating data based on the data it has read,
[1448] A means for the server to send the aggregated results to the terminal,
[1449] A system that includes a means for the terminal to display the aggregated results to the user.
[1450] (Claim 2)
[1451] The system according to claim 1, wherein the data file is in Excel format.
[1452] (Claim 3)
[1453] The system according to claim 1, wherein the generative AI uses an external API for natural language processing.
[1454] "Example 1"
[1455] (Claim 1)
[1456] A means for the user to input data extraction and aggregation instructions in natural language,
[1457] The terminal provides means for converting the input instructions into JSON format and sending them to the server,
[1458] A means for a server to perform natural language processing using a generative AI for interpreting the aforementioned instructions,
[1459] A method using a data processing library for the server to read data from an Excel file,
[1460] The server generates and executes program code for extracting and aggregating data based on the data it has read,
[1461] A means by which the server constructs the calculation results in JSON format and sends them to the terminal,
[1462] A system that includes means for displaying aggregated results received by a terminal to the user using a user interface.
[1463] (Claim 2)
[1464] The system according to claim 1, wherein the data file is in Excel format.
[1465] (Claim 3)
[1466] The system according to claim 1, wherein the generative AI uses an external API for natural language processing.
[1467] "Application Example 1"
[1468] (Claim 1)
[1469] A means for the user to input data extraction and aggregation instructions in natural language,
[1470] The terminal provides means for sending the input instructions to the server,
[1471] A means for a server to perform natural language processing using a generative AI for interpreting the aforementioned instructions,
[1472] The server has a means of reading data files programmatically,
[1473] A server provides means for extracting and aggregating data based on the data it has read,
[1474] A means for the server to send the aggregated results to the terminal,
[1475] A means by which the terminal displays the aggregated results to the user,
[1476] A system that includes means for extracting, aggregating, and displaying statistical data related to inventory management and shipping at a logistics center in real time.
[1477] (Claim 2)
[1478] The system according to claim 1, wherein the data file is in Excel format.
[1479] (Claim 3)
[1480] The system according to claim 1, wherein the generative AI uses an external API for natural language processing.
[1481] "Example 2 of combining an emotion engine"
[1482] (Claim 1)
[1483] A means for the user to input data extraction and aggregation instructions in natural language,
[1484] The terminal provides means for transmitting the input instructions and emotion data to the server,
[1485] A server provides means for performing natural language processing and emotion recognition using a generative AI and emotion recognition engine for interpreting the aforementioned instructions,
[1486] The server has a means of reading data files with an analysis library,
[1487] A server provides means for extracting and aggregating data based on the data it has read,
[1488] A means by which the server formats the aggregated results based on the user's emotional state and sends them to the terminal,
[1489] A system that includes means for displaying aggregated results received by a terminal in a manner that corresponds to the user's emotional state.
[1490] (Claim 2)
[1491] The system according to claim 1, wherein the data file is a file in spreadsheet software format.
[1492] (Claim 3)
[1493] The system according to claim 1, wherein the generative AI uses an external API to perform natural language processing.
[1494] "Application example 2 when combining with an emotional engine"
[1495] (Claim 1)
[1496] A means for the user to input data extraction and aggregation instructions in natural language,
[1497] The terminal provides means for sending the input instructions to the server,
[1498] A means for a server to perform natural language processing using a generative AI for interpreting the aforementioned instructions,
[1499] The server has a means of reading data files programmatically,
[1500] A server provides means for extracting and aggregating data based on the data it has read,
[1501] A means for the server to send the aggregated results to the terminal,
[1502] A means by which the terminal displays the aggregated results to the user,
[1503] A means for analyzing user emotion data and adjusting responses according to those emotions,
[1504] A means by which a generative AI generates an optimal response based on the aforementioned emotional data,
[1505] A system that includes this.
[1506] (Claim 2)
[1507] The system according to claim 1, wherein the data file is in Excel format.
[1508] (Claim 3)
[1509] The system according to claim 1, wherein the generative AI uses an external API for natural language processing. [Explanation of symbols]
[1510] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for the user to input data extraction and aggregation instructions in natural language, The terminal provides means for sending the input instructions to the server, A means for a server to perform natural language processing using a generative AI for interpreting the aforementioned instructions, The server has a means of reading data files programmatically, A server provides means for extracting and aggregating data based on the data it has read, A means for the server to send the aggregated results to the terminal, A system that includes a means for the terminal to display the aggregated results to the user.
2. The system according to claim 1, wherein the data file is in Excel format.
3. The system according to claim 1, in which the generative AI uses an external API for natural language processing.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A