system

A chat-style interface with natural language processing automates data extraction from data warehouses, addressing the challenge of SQL skill requirements by allowing users to input requests in natural language and receive data in CSV format, improving efficiency and usability.

JP2026035389APending Publication Date: 2026-03-04SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-03-04

Smart Images

  • Figure 2026035389000001_ABST
    Figure 2026035389000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising means for receiving a data extraction request in natural language, means for parsing the received data extraction request to identify specific data extraction requirements, means for generating an SQL query based on the identified data extraction requirements, means for sending the generated SQL query to a data warehouse for execution, means for receiving data returned from the data warehouse, means for converting the received data into CSV format, and means for providing the converted CSV file.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Extracting and using data from a data warehouse (DWH) is an important business element, but it can be extremely difficult for users without SQL skills. In particular, the need to write specialized SQL queries to extract data slows down tasks such as data analysis and reduces efficiency. The present invention aims to solve this problem by providing a method that allows users without specialized knowledge to easily extract data from a data warehouse. [Means for solving the problem]

[0005] The present invention provides a chat-style interface that allows users to input data extraction requests in natural language. Data extraction requests are processed using the following means:

[0006] 1. A means for receiving natural language data extraction requests.

[0007] 2. A means of analyzing incoming data extraction requests and identifying specific data extraction requirements.

[0008] 3. A means of generating SQL queries based on identified data extraction requirements.

[0009] 4. A means to send the generated SQL queries to the data warehouse for execution.

[0010] 5. A means of receiving the data returned from the data warehouse.

[0011] 6. A means of converting received data into CSV format.

[0012] 7. A means of providing the converted CSV file.

[0013] This method allows users to easily extract data in natural language without needing SQL skills, promoting the use of data in business.

[0014] A "natural language processing engine" is an algorithm or system that analyzes text written in natural language and understands its meaning.

[0015] A "data extract request" is a request made by a user to retrieve specific data from a database or data warehouse.

[0016] "Data extraction requirements" are defined based on a data extraction request, specifically defining which data should be acquired and under what conditions.

[0017] An "SQL query" is a query statement used to perform data manipulation on a database management system.

[0018] A "data warehouse" is a centralized data storage system designed to consolidate an organization's data for analysis and reporting.

[0019] "CSV format" is a file format that expresses data separated by commas, and is an abbreviation for Comma-Separated Values.

[0020] A "chat-style interface" is a user interface that allows a user to communicate with a system in an interactive format.

[0021] "Error checking" is the process of checking whether there are any errors or inconsistencies in data or processing results. [Brief explanation of the drawings]

[0022] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0023] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0024] First, the terms used in the following description will be explained.

[0025] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0026] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0027] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0028] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0029] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0030] [First embodiment]

[0031] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0032] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0033] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0034] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0035] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0036] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0037] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0038] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0039] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0040] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0041] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0042] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0043] The system of the present invention automates the entire process from a user without SQL skills entering a data extraction request in natural language, to extracting the data from a data warehouse and providing it in CSV format. A specific embodiment of this system is described below.

[0044] System Configuration

[0045] 1. User Device:

[0046] Provide a chat interface to allow users to enter data extraction requests in natural language.

[0047] 2. Server:

[0048] A data extraction request is received from a user terminal.

[0049] A natural language processing engine is used to analyze incoming data extraction requests and identify specific data extraction requirements.

[0050] Generate SQL queries based on identified data extraction requirements.

[0051] The generated SQL query is sent to the data warehouse and executed.

[0052] Receives data returned from the data warehouse.

[0053] Convert the received data into CSV format.

[0054] The converted CSV file is provided to the user terminal.

[0055] Program processing

[0056] User request for data extraction

[0057] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0058] Server parsing of data definitions

[0059] The server receives natural language input from the user and analyzes its content. It uses a natural language processing engine to analyze the input sentence and identify specific data extraction requirements (e.g., period "January to June 2023", data type "sales data").

[0060] SQL query generation by the server

[0061] Based on the specified requirements, the server generates the appropriate SQL query using an internal template engine and rule base, for example generating the following SQL query:

[0062] sql

[0063] SELECT FROM sales WHERE sale_date BETWEEN(R) '2023-01-01' AND '2023-06-30';

[0064] Server executes query and receives data

[0065] The server sends the generated SQL query to the data warehouse and executes it. The server receives the data returned from the data warehouse. It performs error checks on the received data to ensure there are no problems.

[0066] Server-based CSV file generation

[0067] The server converts the received data into CSV format and generates the converted data with the file name "Sales Data_2023-01_to_2023-06.csv".

[0068] CSV file provided by the server

[0069] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[0070] Specific examples

[0071] Sales data extraction

[0072] 1. User: "I want to get sales data from January to June 2023."

[0073] 2. The server receives the input and analyzes it using a natural language processing engine.

[0074] 3. The server generates an SQL query based on the parsed results:

[0075] sql

[0076] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0077] 4. The server runs this query on the data warehouse and receives the data.

[0078] 5. The data received by the server is converted into CSV format as "Sales Data_2023-01_to_2023-06.csv".

[0079] 6. The server provides a download link via the chat interface, and the user downloads the CSV file.

[0080] Such a system allows users to easily extract and retrieve the necessary data from the data warehouse without any SQL skills.

[0081] The processing flow will be explained below.

[0082] Step 1:

[0083] The user opens the chat interface on their device and enters a data extraction request in natural language. For example, they might enter, "I would like to retrieve sales data from January to June 2023."

[0084] Step 2:

[0085] The terminal transmits the input data extraction request to the server, and the input content is transmitted to the server via the chat interface.

[0086] Step 3:

[0087] The server uses a natural language processing engine to analyze the natural language data extraction request received from the user, thereby identifying the necessary data extraction requirements from the input sentence.

[0088] Step 4:

[0089] Based on the analysis results, the server interprets the data extraction requirements (e.g., time period and type of data) and generates an appropriate SQL query based on them.

[0090] Step 5:

[0091] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[0092] Step 6:

[0093] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[0094] Step 7:

[0095] The server performs error checking on the data it receives, checking for data consistency and missing data.

[0096] Step 8:

[0097] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[0098] Step 9:

[0099] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface.

[0100] Step 10:

[0101] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[0102] By following these steps, users can extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills.

[0103] Example 1

[0104] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0105] Traditionally, extracting data from a data warehouse required advanced expertise, making it difficult for general users to easily obtain business data. Manual data extraction was also time-consuming and prone to human error. Furthermore, writing complex SQL queries and converting the format of extracted data were cumbersome.

[0106] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0107] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating a query in an inquiry language based on the identified data extraction requirements, means for transmitting the generated query to a data storage and executing it, means for receiving data returned from the data storage, means for converting the received data into a data format, and means for providing the converted data file. This allows general users, even those without specialized knowledge, to automatically obtain the required data and use it in the specified format simply by inputting a data extraction request in natural language.

[0108] A "data extraction request in natural language" is a request made by a user using everyday language to obtain specific data.

[0109] "Analysis" refers to a series of processes that interpret received natural language requests and extract the request contents into specific data extraction requirements.

[0110] "Data extraction requirements" indicate the specific conditions and range of data that a user desires.

[0111] A "query language query" is a command statement that retrieves or manipulates data in a particular database management system.

[0112] "Data storage" is a general term for systems and devices used to retain data for long periods of time.

[0113] "Receiving" is the act of obtaining data returned from data storage.

[0114] A "data format" indicates the structure and rules by which data is organized. Examples include CSV, JSON, and XML.

[0115] "Conversion" is the process of changing data from one data format to another.

[0116] A "data file" refers to a file stored in a particular data format.

[0117] This invention is a system that allows general users, even those without specialized knowledge, to input data extraction requests in natural language, automatically extracting necessary data from a data warehouse and providing it in an easy-to-use format. Specific embodiments of this system are described below.

[0118] System Configuration

[0119] 1. User Device

[0120] The system provides a chat interface for users to input data extraction requests in natural language. For example, it can be configured as a web application.

[0121] 2. Server

[0122] A data extraction request is received from a user terminal.

[0123] Natural language processing technology (e.g., a language processing engine) is used to analyze the received data extraction request and identify specific data extraction requirements.

[0124] Generate a query language query based on the identified data extraction requirements.

[0125] The generated query is sent to a data storage and executed. Here, a data warehouse (e.g., a general-purpose data management system) is used as the data storage.

[0126] Receives the data returned from the data storage and performs error checking.

[0127] Convert the received data into an appropriate data format (e.g., CSV format). Specifically, use the Python pandas library to perform the data conversion.

[0128] The converted data file is provided through a chat interface accessible to the user.

[0129] Specific examples

[0130] A user submits a data extraction request through the chat interface, saying, "I want to get sales data from January to June 2023." The server receives this request and uses natural language processing techniques to identify the specific data extraction requirements, such as:

[0131] Period: January to June 2023

[0132] Data type: "Sales data"

[0133] The server then uses a template engine to generate a SQL query like this:

[0134] sql

[0135] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0136] The generated SQL query is sent to the data warehouse, and the query execution results are returned to the server. The server receives this data and performs error checks. If there are no problems, the received data is converted to CSV format using the Python pandas library. The generated CSV file is saved as "Sales Data_2023-01_to_2023-06.csv".

[0137] Finally, the server provides a download link for this CSV file to the user through the chat interface, and the user can click the link to download the CSV file and obtain the data they need.

[0138] Prompt Sentence Examples

[0139] Below is an example of a prompt sentence to input to the generative AI model.

[0140] "I want to get sales data from January to June 2023." Parse this request as an SQL query.

[0141] In this way, the system is designed to automate everything from analyzing data extraction requests in natural language to generating and providing data, allowing users to easily obtain the data they need.

[0142] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0143] Step 1:

[0144] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0145] Specific behavior: The user types input into a text box in the chat interface and clicks the send button.

[0146] Input: A natural language data extraction request.

[0147] Output: The user terminal sends a request to the server.

[0148] Step 2:

[0149] The server receives a natural language request from a user and parses the received data extraction request using a natural language processing engine (e.g., a general-purpose language analysis system).

[0150] Specific operation: The server generates an API request and sends it to the language processing engine. The server receives the API response and extracts the data extraction requirements.

[0151] Input: A natural language data extraction request.

[0152] Output: Specific data extraction requirements (e.g., period "January to June 2023", data type "Sales data").

[0153] Step 3:

[0154] The server generates a query language query based on the specified requirements. It uses a template engine (e.g., a template generation library) to generate SQL queries.

[0155] Specific operation: The server inputs extraction requirements to the template engine, generates SQL queries from the templates, and logs the generated SQL queries.

[0156] Input: Specific data extraction requirements.

[0157] Output: SQL query. Example: SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0158] Step 4:

[0159] The server sends the generated SQL query to a data storage (e.g., a general-purpose database system), executes the query, and receives the returned data from the data storage.

[0160] Specific operation: The server sends a query using the data storage client library. The server performs error checks on the received data to ensure data integrity.

[0161] Input: SQL query.

[0162] Output: The received data.

[0163] Step 5:

[0164] The server converts the received data into a data format (e.g., CSV format). Data conversion is performed using the Python pandas library.

[0165] Specific operation: The server converts the data into a data frame using the pandas library, exports the data frame to a CSV file, and saves it to the file system.

[0166] Input: Received data.

[0167] Output: Converted CSV file. Example: "Sales Data_2023-01_to_2023-06.csv"

[0168] Step 6:

[0169] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[0170] Specific operation: The server generates a download link based on the path of the CSV file and sends it to the chat interface. The device displays the received link to the user. The user clicks the link to download the CSV file locally.

[0171] Input: The converted CSV file.

[0172] Output: A downloadable link for the user.

[0173] (Application example 1)

[0174] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0175] Conventional data extraction systems have the problem that data extraction is difficult for users without SQL skills and requires specialized knowledge, resulting in reduced work efficiency.In addition, to quickly and accurately obtain the necessary data at the site, such as a logistics center, an intuitive interface using natural language is required, but there was no appropriate means to achieve this.

[0176] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0177] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating an SQL query based on the identified data extraction requirements, means for transmitting the generated SQL query to a database management system and executing it, means for receiving data returned from the database management system, means for converting the received data into a data frame format, means for providing the converted data frame file, means for a user to input a data extraction request in natural language using a smart device, and means for providing a download link for the generated data frame file. This enables even users without SQL skills to quickly and accurately obtain required data through an intuitive natural language interface.

[0178] "Natural language" refers to the language that users use in normal conversation and writing.

[0179] "Data Extraction Request" means a request submitted by a User to retrieve specific data.

[0180] A "smart device" refers to a portable information terminal that can connect to the Internet and has advanced computing capabilities.

[0181] A "natural language processing engine" refers to software that analyzes natural language input and converts it into structured information.

[0182] A "database management system" refers to a software system for efficiently managing, manipulating, and retrieving large amounts of data.

[0183] An "SQL query" refers to a query statement that instructs a database to perform a specific data operation (retrieve, insert, update, delete).

[0184] A "data frame format" refers to a format that represents a set of structured data in a two-dimensional table format (columns and rows).

[0185] "User interface" refers to the means by which a user interacts with a system.

[0186] "CSV format" refers to a comma-separated text file format, a standard format for saving data in a tabular format.

[0187] A "download link" refers to a URL that allows a user to obtain a specific file over a network.

[0188] The system for implementing this invention mainly consists of a smart device, a server, and a database management system. This system realizes a series of processes in which a user inputs a data extraction request in natural language, the required data is automatically extracted from a data warehouse, and the data is provided in CSV format. A detailed description of this system is provided below.

[0189] Hardware and software used

[0190] Smart devices: Used by users to input data extraction requests in natural language, for example, smartphones or robots.

[0191] server:

[0192] Natural language processing engine: For example, using the Google® Cloud Natural Language API to parse natural language input and identify specific data extraction requirements.

[0193] Database management system: For example, Amazon Redshift or Google BigQuery are used to manage data.

[0194] Communication method: The internet is used for communication between smart devices and the server.

[0195] Data processing and calculation flow

[0196] 1. Input of data extraction request: A user can input a data extraction request in natural language using a smart device. For example, a request could be, "Please get this week's shipping data."

[0197] 2. Natural Language Processing: The server receives this input and uses a natural language processing engine to analyze its content, specifically extracting specific data extraction requirements (e.g., specific time periods and data types) from natural language such as "shipping data for this week."

[0198] 3. SQL Query Generation: Based on the specified requirements, the server generates an appropriate SQL query, e.g.

[0199] sql

[0200] SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';

[0201] A query like this is generated.

[0202] 4. Query execution: The server sends the generated SQL query to the database management system for execution.

[0203] 5. Receiving data and checking for errors: The server receives the data returned from the database management system and performs error checking on the data.

[0204] 6. Converting data to CSV format: The received data is converted to a data frame format and then saved in CSV format, for example, as a file named "Shipping data_2023-10-01_to_2023-10-07.csv."

[0205] 7. Provide to user: The server provides the user with a download link for the generated CSV file, which the user can click to download the data.

[0206] Specific examples

[0207] For example, if a user makes a request such as "Please tell me the stock status of a particular product this month," the server performs the following process.

[0208] User request: "What is the current availability of a particular product?"

[0209] Natural Language Processing: The server parses this request and generates the following SQL query:

[0210] sql

[0211] SELECT FROM inventory WHERE product_id = 'PRODUCT_ID' AND inventory_date BETWEEN '2023-10-01' AND '2023-10-31';

[0212] Execute query and receive data: The server executes this query and receives the returned data from the database management system.

[0213] Data conversion: Convert the received data into CSV format as "Stock status_PRODUCT_ID_2023-10.csv".

[0214] Provide to user: The server provides the user with a download link for the generated CSV file, and the user clicks on this link to download the data.

[0215] Prompt Sentence Examples

[0216] Based on the user's natural language input "I want to get sales data from January to June 2023," generate the following SQL query:

[0217] sql

[0218] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0219] In this way, the system can parse the user's natural language input, generate SQL queries based on specific data requirements, and quickly deliver the right data.

[0220] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0221] Step 1:

[0222] A user inputs a data extraction request in natural language using a smart device.

[0223] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[0224] Output: Data extraction request transferred from user terminal to server.

[0225] Specific operation: A natural language request entered as voice or text on an input device such as a smartphone is sent to a server through an interface application.

[0226] Step 2:

[0227] A server receives natural language input from a user.

[0228] Input: A data extraction request in natural language sent from a user terminal.

[0229] Output: Data extraction requests written in natural language are stored internally on the server.

[0230] Specific operation: The server's receiving module receives the request sent from the user terminal and passes it to the analysis part of the natural language processing engine.

[0231] Step 3:

[0232] The server uses a natural language processing engine to analyze the input text and identify specific data extraction requirements.

[0233] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[0234] Output: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[0235] What happens: A natural language processing engine (e.g., Google Cloud Natural Language API) analyzes the text and extracts requirements such as specific date ranges and data types.

[0236] Step 4:

[0237] The server generates the appropriate SQL queries based on the specified requirements.

[0238] Input: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[0239] Output: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[0240] Specific operation: Using a template engine or rule base, an SQL statement is constructed that matches the conditions of the extracted data.

[0241] Step 5:

[0242] The server sends the generated SQL query to the database management system for execution.

[0243] Input: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[0244] Output: The dataset returned from the database management system.

[0245] Specific operation: The server's query execution module sends the SQL statement to the database management system (e.g., Amazon Redshift), and the query is executed.

[0246] Step 6:

[0247] The server receives the data returned from the database management system and performs error checking on the data.

[0248] Input: Dataset received from database management system.

[0249] Output: An error-checked dataset.

[0250] Specific operation: The data receiving module of the server receives the data set and performs consistency checks and error checks.

[0251] Step 7:

[0252] The server converts the received data into a data frame format, which is then converted into a CSV format.

[0253] Input: An error-checked dataset.

[0254] Output: CSV file (e.g. "Shipping data_2023-10-01_to_2023-10-07.csv").

[0255] Specific operation: The server's data conversion module converts the data into a data frame format, and then exports it to CSV format.

[0256] Step 8:

[0257] The server returns a download link for the generated CSV file to the user's terminal interface, and the user uses the link to download the data.

[0258] Input: The generated CSV file.

[0259] Output: Download link and user gets CSV file.

[0260] Specific operation: The server's file serving module hosts the CSV file, generates a download link, and returns it to the user interface. The user clicks the link to download the file.

[0261] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0262] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from a data warehouse, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses accordingly, providing a more user-friendly experience. Specific embodiments of the present invention are described below.

[0263] System Configuration

[0264] 1. User Device:

[0265] A chat interface is provided to allow users to enter data extraction requests in natural language.

[0266] An emotion engine is used to recognize the emotion of the user when typing.

[0267] 2. Server:

[0268] A data extraction request is received from the user terminal, and emotion data of the user is also acquired using an emotion engine.

[0269] A natural language processing engine is used to analyze data extraction requests and identify specific data extraction requirements.

[0270] Adjust data extraction requirements as needed depending on the emotions recognized by the emotion engine.

[0271] Generate SQL queries based on identified data extraction requirements.

[0272] The generated SQL query is sent to the data warehouse and executed.

[0273] Receives data returned from the data warehouse.

[0274] Checks the received data for errors.

[0275] Convert the data into CSV format.

[0276] The converted CSV file is provided to the user terminal.

[0277] Program processing

[0278] User request for data extraction

[0279] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0280] Server parsing of data definitions

[0281] The terminal sends the input data extraction request to the server, which then uses a natural language processing engine to analyze the input sentence, thereby identifying the specific data extraction requirements desired by the user (e.g., period "January to June 2023", data type "sales data").

[0282] Emotion recognition by emotion engine

[0283] The device uses an emotion engine to recognize the emotion of the user when inputting a data extraction request, such as "I'm in a hurry" or "I'm in trouble."

[0284] Tailoring data extraction requirements

[0285] The server adjusts the data extraction requirements as needed based on the recognition results of the emotion engine. For example, if the user is having trouble, it can be configured to provide additional explanation or confirmation.

[0286] SQL query generation by the server

[0287] Based on the identified requirements, the server generates the appropriate SQL query, for example:

[0288] sql

[0289] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0290] Server executes query and receives data

[0291] Using the generated SQL query, the server connects to the data warehouse, executes the query, and receives the data.

[0292] Server checks data for errors

[0293] The server performs an error check on the received data to check for data consistency and missing data.

[0294] Server-based CSV file generation

[0295] The server converts data that passes the error check into CSV format. The converted data is given the file name "Sales Data_2023-01_to_2023-06.csv".

[0296] CSV file provided by the server

[0297] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface. The user clicks the download link to download the CSV file to their device.

[0298] Specific examples

[0299] Sales data extraction

[0300] 1. User: "I want to get sales data from January to June 2023."

[0301] 2. The device sends a data extraction request to the server, and at the same time, the emotion engine recognizes the user's emotions.

[0302] 3. The server receives the input and analyzes it using a natural language processing engine.

[0303] 4. The server generates an SQL query based on the analysis results.

[0304] 5. The server runs the query on the data warehouse and receives the data.

[0305] 6. The server converts the received data into CSV format and generates it as "Sales Data_2023-01_to_2023-06.csv".

[0306] 7. The server provides a download link via the chat interface, and the user downloads the CSV file.

[0307] In this way, the present invention allows users to easily extract the required data from the data warehouse and obtain it in CSV format while receiving emotional consideration.

[0308] The processing flow will be explained below.

[0309] Step 1:

[0310] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0311] Step 2:

[0312] The device detects user input and uses an emotion engine to recognize the user's emotions, such as "I'm in a hurry" or "I'm in trouble."

[0313] Step 3:

[0314] The terminal sends a data extraction request and emotion data to the server.

[0315] Step 4:

[0316] The server uses a natural language processing engine to analyze data extraction requests received from users. This converts the user's request into specific data extraction requirements. If a user requests "sales data from January to June 2023," the data extraction requirements will be specified as "period: January 1, 2023 to June 30, 2023, data type: sales data."

[0317] Step 5:

[0318] The server analyzes the user's emotional data obtained from the emotion engine. For example, if the server detects that the user is in a hurry, it prioritizes immediate response and expedites the entire process.

[0319] Step 6:

[0320] The server generates a SQL query based on the specified data extraction requirements, for example, the following SQL query:

[0321] sql

[0322] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0323] Step 7:

[0324] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[0325] Step 8:

[0326] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[0327] Step 9:

[0328] The server performs error checking on the data it receives, checking for data consistency and missing data.

[0329] Step 10:

[0330] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[0331] Step 11:

[0332] The server creates a download link for the generated CSV file and provides that link to the user via the chat interface.

[0333] Step 12:

[0334] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[0335] By following these steps, users can easily extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills. Furthermore, by recognizing and responding to user emotions, a more user-friendly user experience can be provided.

[0336] Example 2

[0337] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0338] Conventional data extraction systems have the problem that it is difficult for users to clearly identify their specific requirements when entering data extraction requests. Furthermore, because they do not take the user's emotions into consideration, they are unable to respond appropriately even in difficult situations or when in a hurry, which can result in a poor user experience. Furthermore, error checking of extracted data was not automated, requiring manual confirmation work, resulting in low work efficiency.

[0339] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0340] In this invention, the server includes means for analyzing a data extraction request and identifying specific data extraction requirements, means for recognizing a user's emotion using an emotion engine, means for adjusting the data extraction requirements based on the recognized emotion, and means for performing error checks on the data, thereby enabling specific and accurate data extraction and automated error checks while taking the user's emotion into consideration.

[0341] A "data extraction request in natural language" refers to a data extraction request made to the system by a user using everyday language.

[0342] The "means for receiving a data extraction request" refers to a device or program having the function of receiving a data extraction request from a user on the system side and processing the content of the request.

[0343] The "means for analyzing a data extraction request" refers to a device or program that performs processing to understand a received data extraction request and break it down into specific requirements.

[0344] "Data Extraction Requirements" means the specific conditions or requirements contained in a data extraction request.

[0345] "Means for generating SQL queries" refers to a device or program that automatically generates appropriate database queries based on specified data extraction requirements.

[0346] "Data storage" refers to databases and data warehouses that store large amounts of data and allow data to be retrieved as needed.

[0347] "Means for sending to data storage and executing" refers to a device or program that has the functionality to send the generated SQL query to data storage and execute the query.

[0348] "Means for receiving data" refers to a device or program for receiving data returned as a result of executing a query.

[0349] "Means for performing error checking" refers to a device or program for checking whether received data contains errors and detecting erroneous data.

[0350] "Means for recognizing a user's emotions using an emotion engine" refers to a device or program that has the function of analyzing emotions from the user's input and grasping their emotional state.

[0351] "Means for adjusting data extraction requirements based on recognized emotions" refers to a device or program for optimizing the data extraction process and / or delivery method depending on the emotional state of the user.

[0352] "Means for converting to CSV format" means a device or program for converting received data into comma-separated value (CSV) format.

[0353] "Means for providing a CSV file" refers to a device or program for providing the generated CSV file to the user in a downloadable format.

[0354] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from data storage, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses based on those emotions, thereby achieving a more user-friendly experience. The system of the present invention will now be described in detail.

[0355] System Configuration

[0356] User terminal

[0357] The user device provides a chat interface to create an environment where users can input data extraction requests in natural language. It also has a function to recognize the emotions expressed by users when they input data using an emotion engine. For this reason, the user device is equipped with an emotion recognition API and a natural language processing API.

[0358] server

[0359] The server has the following features:

[0360] 1. Receiving data extraction requests and emotion data

[0361] A data extraction request and emotion data transmitted from a user terminal are received.

[0362] For example, a user requests "I want to get sales data from January to June 2023," and emotional data indicating a sense of urgency is sent.

[0363] 2. Analysis using natural language processing

[0364] A natural language processing engine (e.g., GPT-4®) is used to analyze the input sentence and identify specific data extraction requirements.

[0365] For example, identify "sales data for the period January to June 2023."

[0366] 3. Emotion Recognition by Emotion Engine

[0367] An emotion engine is used to analyze and recognize the user's emotion data.

[0368] For example, if a user indicates an emotion of "being in a hurry," that data is utilized.

[0369] 4. Adjusting Data Extraction Requirements

[0370] The server adjusts data extraction requirements based on the perceived sentiment.

[0371] For example, a user in a hurry can be given detailed progress reports.

[0372] 5. Generating SQL Queries

[0373] Generate appropriate SQL queries based on identified data extraction requirements.

[0374] For example, the following SQL query is generated:

[0375] sql

[0376] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0377] 6. Executing queries and receiving data

[0378] The generated SQL query is sent to the data storage and executed.

[0379] The data returned from the data storage is received and stored on the server.

[0380] 7. Error Checking

[0381] Performs error checks on received data to check for data consistency and missing data.

[0382] If an error is detected, an error log is generated and the query is executed again or the user is notified as necessary.

[0383] 8. Convert to CSV format

[0384] Convert data that passes the error check into CSV format.

[0385] For example, it will be saved with the file name "Sales Data_2023-01_to_2023-06.csv".

[0386] 9. Providing CSV files

[0387] Create a download link for the generated CSV file and provide it to the user via the chat interface.

[0388] The user can click on this link to download the file.

[0389] Use of concrete examples and prompts

[0390] Specific examples

[0391] For example, if a user enters "I would like to get sales data for January to June 2023," you would use a prompt statement like this:

[0392] Parsing data extraction requests

[0393] The user has entered "I want to retrieve sales data from January to June 2023." Please analyze the data extraction request using natural language processing.

[0394] emotion recognition

[0395] Recognize emotions like "hurry" or "troubled" based on user input.

[0396] SQL Query Generation

[0397] Generate appropriate SQL queries based on requirements elicitation results.

[0398] CSV conversion

[0399] Convert the following data into CSV format. Save it as "Sales Data_2023-01_to_2023-06.csv".

[0400] This allows users to easily obtain the data they need while taking their emotions into consideration and download it in CSV format.

[0401] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0402] Step 1:

[0403] User input of data extraction request

[0404] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0405] Input: User's data extraction request

[0406] Output: Text data of data extraction request

[0407] Step 2:

[0408] Data extraction request and emotion data transmission by terminal

[0409] The device sends the input data extraction request to the server. At the same time, the device uses an emotion engine to analyze the user's current emotion. For example, the emotion "I'm in a hurry" is recognized.

[0410] Input: Text data of data extraction request, user emotion data

[0411] Output: Data extraction request and emotion data sent to the server

[0412] Step 3:

[0413] Server parsing of data extraction requests

[0414] The server uses a natural language processing engine (e.g., GPT-4) to analyze the received data extraction request. As a result of the analysis, specific data extraction requirements (e.g., period "January to June 2023", data type "sales data") are identified.

[0415] Input: Text data of data extraction request

[0416] Output: Identified data extraction requirements

[0417] Step 4:

[0418] Device-based user emotion recognition

[0419] The device uses the emotion engine to analyze and recognize the emotion of the user when making a data extraction request. For example, if the user expresses an emotion of "distress," it will recognize this.

[0420] Input: User emotion data

[0421] Output: Recognized emotion information

[0422] Step 5:

[0423] Server-driven data extraction requirements adjustment

[0424] The server adjusts the data extraction requirements based on the recognized emotion information. For example, if the user expresses the emotion "I'm in trouble," it sets up additional explanations or a confirmation process.

[0425] Input: Identified data extraction requirements, recognized emotion information

[0426] Output: Adjusted data extraction requirements

[0427] Step 6:

[0428] Server-generated SQL queries

[0429] The server generates SQL queries based on the adjusted data extraction requirements, for example, the following SQL queries:

[0430] sql

[0431] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0432] Input: Tailored data extraction requirements

[0433] Output: Generated SQL query

[0434] Step 7:

[0435] Server executes query and receives data

[0436] The server sends the generated SQL query to the data storage, executes the query, and receives the returned data from the data storage.

[0437] Input: Generated SQL query

[0438] Output: Data returned from data storage

[0439] Step 8:

[0440] Server checks data for errors

[0441] The server performs an error check on the data it receives. Specifically, it checks for data consistency and missing data, and if necessary, requests the erroneous data again. It also generates an error log.

[0442] Input: Data returned from data storage

[0443] Output: Error check results, error log (if necessary)

[0444] Step 9:

[0445] Conversion to CSV format by the server

[0446] The server converts the data that passes the error check into CSV format. This CSV file is given a file name such as "Sales Data_2023-01_to_2023-06.csv."

[0447] Input: Data that passes error checks

[0448] Output: CSV format file

[0449] Step 10:

[0450] Server provides CSV file

[0451] The server creates a download link for the generated CSV file and provides it to the user through the chat interface. The user clicks on this link to download the CSV file to their device.

[0452] Input: CSV format file

[0453] Output: Download link for CSV file, user can download CSV file

[0454] (Application example 2)

[0455] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0456] In today's data-driven business environment, users need to quickly and accurately extract diverse data and perform information analysis. However, existing systems face challenges in ensuring users can accurately input data extraction requests and respond appropriately to the extracted data. Furthermore, no systems exist that provide responses that take into account fluctuations due to user emotions, which can degrade the quality of the user experience. Therefore, there is a need for the development of a system that can extract data using natural language, recognize user emotions, and provide appropriate responses.

[0457] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0458] In this invention, the server includes: means for receiving a data extraction request in natural language; means for analyzing the received data extraction request and identifying specific data extraction requirements; means for generating an SQL query based on the identified data extraction requirements; means for transmitting the generated SQL query to a data warehouse and executing it; means for receiving data returned from the data warehouse; means for converting the received data into CSV format; means for providing the converted CSV file; means for providing a chat interface that allows a user to input a data extraction request in natural language; and means for recognizing the user's emotions using an emotion recognition engine and adjusting a response as necessary. This allows a user to easily make a data extraction request in natural language and receive a highly compatible response from the emotion recognition engine.

[0459] A "natural language" is a language that is used by humans on a daily basis and is expressed in writing or speech.

[0460] A "data extraction request" is a user-entered request for extracting specific data.

[0461] A "chat interface" is a user interface that allows users to communicate in a text-based conversational format.

[0462] An "emotion recognition engine" is a system that identifies the emotional state of a user from their input and behavior and provides an appropriate response.

[0463] A "natural language processing engine" is a technology for analyzing natural language text and understanding its meaning and structure.

[0464] A "generative AI model" is an artificial intelligence model that automatically generates text and data.

[0465] A "prompt sentence" is an input sentence given to a generative AI model, which instructs the output content to be generated.

[0466] A "data warehouse" is a system for collecting, storing, and managing large amounts of data.

[0467] An "SQL query" is a command statement for performing operations on a database.

[0468] The present invention is a system that allows users to input data extraction requests in natural language, and efficiently extracts and provides the necessary data from a data warehouse based on the requests. Furthermore, it can improve the user experience by recognizing the user's emotions and adjusting the response.

[0469] System Configuration

[0470] The system includes the following major components:

[0471] 1. User terminal: Provides a chat interface for users to input data extraction requests. The terminal runs on a smartphone, computer, or other internet-connected device.

[0472] 2. Emotion Recognition Engine: Analyzes user input and recognizes the user's emotional state. This engine utilizes, for example, the OpenAI (registered trademark) API.

[0473] 3. Natural Language Processing Engine: Used to analyze the user's natural language input and identify specific data extraction requirements. For example, a natural language processing library such as spaCy or NLTK can be used.

[0474] 4. Server: This is the back-end system that analyzes data extraction requests, recognizes emotions, extracts data, converts data, and provides files.

[0475] 5. Data Warehouse: A system for storing data and running SQL queries. For example, you could use Amazon Redshift.

[0476] System Operation

[0477] When a user inputs a data extraction request in natural language using the chat interface, the user terminal transmits the request to the server, which then performs the following process.

[0478] 1. Parsing the data extraction request: The server uses a natural language processing engine to parse the user's request and identify the specific data extraction requirements.

[0479] 2. Emotion Recognition: At the same time, an emotion recognition engine is used to recognize the user's emotions, which can provide more detailed information or additional help if the user is in a difficult situation, for example.

[0480] 3. SQL Query Generation: Based on the identified data extraction requirements, the server generates the SQL queries.

[0481] 4. Data extraction: The generated SQL queries are sent to the data warehouse to extract the required data.

[0482] 5. Data error check: Check the extracted data for consistency and missing data.

[0483] 6. Convert to CSV format: Convert the checked data to CSV format and generate a download link.

[0484] 7. Provide file: The server provides the user with a download link for the generated CSV file.

[0485] Specific examples

[0486] For example, if a user inputs a request such as "Show me my order history for 2022," this request is sent to the server. The server analyzes this request and performs the following processes:

[0487] Analyzing user requirements: A natural language processing engine is used to identify extracted requirements ("2022" and "order history").

[0488] Emotion recognition: The emotion recognition engine recognizes the user's emotional state as "normal."

[0489] Generate SQL queries: For example, generate the following SQL query: SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

[0490] Data extraction and error checking: The generated SQL queries are sent to the data warehouse to extract data and perform error checking.

[0491] Convert to CSV format: Convert the extracted data to CSV format and save it as "Order History_2022.csv".

[0492] Generate and provide a download link: Provide a download link for the generated CSV file via the chat interface.

[0493] Prompt Sentence Examples

[0494] It receives user input such as "Show me my order history for 2022," extracts the required data from the data warehouse, and tailors the response based on the user's emotions using an emotion recognition engine. Finally, it provides the data in CSV format.

[0495] This allows users to receive fast, accurate, and emotionally sensitive data extraction and provision.

[0496] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0497] Step 1:

[0498] The user opens a chat interface and enters a data extraction request in natural language.

[0499] Enter: "Show me my order history for 2022"

[0500] Output: Data extraction request text

[0501] Specific operation: A user launches an application on a device such as a smartphone or computer and enters text on the chat interface.

[0502] Step 2:

[0503] The device sends a data extraction request text to the server, along with emotion recognition data.

[0504] Input: Data extraction request text

[0505] Output: Data extraction request text sent to the server

[0506] Specific operation: The device sends the text entered in the chat interface and information for recognizing the user's emotions (e.g., typing speed, word choice, etc.) to the server.

[0507] Step 3:

[0508] The server uses a natural language processing engine to analyze the received data extraction request text.

[0509] Input: Data extraction request text

[0510] Output: Identified data extraction requirements (e.g., "2022" and "Order History")

[0511] Specific operation: The server calls a natural language processing engine (e.g., spaCy or NLTK) to analyze the text of the data extraction request and extract specific requirements such as the period and data type.

[0512] Step 4:

[0513] The server uses an emotion recognition engine to recognize the user's emotions and adjusts the response based on the recognition results.

[0514] Input: User input data, emotional information

[0515] Output: User's emotional state (e.g., "normal" or "troubled")

[0516] Specific behavior: The server uses an emotion recognition engine (e.g., OpenAI API) to analyze the user's input data and emotional information to identify the user's emotional state. Based on this result, the server configures itself to provide additional information or help if necessary.

[0517] Step 5:

[0518] The server generates SQL queries based on the specified data extraction requirements.

[0519] Input: Identified data extraction requirements

[0520] Output: SQL query (e.g. "SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';")

[0521] Specific operation: The server automatically generates an SQL query based on the specified data extraction requirements (time period, data type, etc.). For example, it generates a query to extract order data for "2022" from the database table "orders."

[0522] Step 6:

[0523] The server sends the generated SQL query to the data warehouse to extract the data.

[0524] Input: SQL query

[0525] Output: Extracted data (e.g., records such as "Order ID," "Product Name," "Quantity," and "Order Date")

[0526] Specific operation: The server sends the generated SQL query to a data warehouse (e.g., Amazon Redshift) and extracts data that matches the specified conditions.

[0527] Step 7:

[0528] The server performs error checking on the data it receives.

[0529] Input: Extracted data

[0530] Output: Error-checked data

[0531] How it works: The server performs consistency checks on the data it receives, checking for missing data or outliers, and applies automatic correction measures if inconsistencies are found.

[0532] Step 8:

[0533] The server converts the error-checked data into CSV format.

[0534] Input: Error-checked data

[0535] Output: CSV file

[0536] Specific operation: The server formats the error-checked data into CSV format and saves it with a file name such as "Order History_2022.csv", accurately generating the CSV file according to the column structure and type of the data.

[0537] Step 9:

[0538] The server provides a download link for the generated CSV file to the user's device, and the user downloads the file using the link.

[0539] Input: CSV file

[0540] Output: Download link

[0541] Specific operation: The server uploads the generated CSV file to the hosting service and generates a download link, which is provided to the user through the chat interface, allowing the user to click on the link to download the file.

[0542] In this way, each step has specific inputs and outputs, and the steps work together to enable the user to extract data quickly and efficiently.

[0543] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0544] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0545] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0546] [Second embodiment]

[0547] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0548] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0549] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0550] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0551] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0552] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0553] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0554] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0555] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0556] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0557] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0558] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0559] The system of the present invention automates the entire process from a user without SQL skills entering a data extraction request in natural language, to extracting the data from a data warehouse and providing it in CSV format. A specific embodiment of this system is described below.

[0560] System Configuration

[0561] 1. User Device:

[0562] Provide a chat interface to allow users to enter data extraction requests in natural language.

[0563] 2. Server:

[0564] A data extraction request is received from a user terminal.

[0565] A natural language processing engine is used to analyze incoming data extraction requests and identify specific data extraction requirements.

[0566] Generate SQL queries based on identified data extraction requirements.

[0567] The generated SQL query is sent to the data warehouse and executed.

[0568] Receives data returned from the data warehouse.

[0569] Convert the received data into CSV format.

[0570] The converted CSV file is provided to the user terminal.

[0571] Program processing

[0572] User request for data extraction

[0573] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0574] Server parsing of data definitions

[0575] The server receives natural language input from the user and analyzes its content. It uses a natural language processing engine to analyze the input sentence and identify specific data extraction requirements (e.g., period "January to June 2023", data type "sales data").

[0576] SQL query generation by the server

[0577] Based on the specified requirements, the server generates the appropriate SQL query using an internal template engine and rule base, for example generating the following SQL query:

[0578] sql

[0579] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0580] Server executes query and receives data

[0581] The server sends the generated SQL query to the data warehouse and executes it. The server receives the data returned from the data warehouse. It performs error checks on the received data to ensure there are no problems.

[0582] Server-based CSV file generation

[0583] The server converts the received data into CSV format and generates the converted data with the file name "Sales Data_2023-01_to_2023-06.csv".

[0584] CSV file provided by the server

[0585] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[0586] Specific examples

[0587] Sales data extraction

[0588] 1. User: "I want to get sales data from January to June 2023."

[0589] 2. The server receives the input and analyzes it using a natural language processing engine.

[0590] 3. The server generates an SQL query based on the parsed results:

[0591] sql

[0592] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0593] 4. The server runs this query on the data warehouse and receives the data.

[0594] 5. The data received by the server is converted into CSV format as "Sales Data_2023-01_to_2023-06.csv".

[0595] 6. The server provides a download link via the chat interface, and the user downloads the CSV file.

[0596] Such a system allows users to easily extract and retrieve the necessary data from the data warehouse without any SQL skills.

[0597] The processing flow will be explained below.

[0598] Step 1:

[0599] The user opens the chat interface on their device and enters a data extraction request in natural language. For example, they might enter, "I would like to retrieve sales data from January to June 2023."

[0600] Step 2:

[0601] The terminal transmits the input data extraction request to the server, and the input content is transmitted to the server via the chat interface.

[0602] Step 3:

[0603] The server uses a natural language processing engine to analyze the natural language data extraction request received from the user, thereby identifying the necessary data extraction requirements from the input sentence.

[0604] Step 4:

[0605] Based on the analysis results, the server interprets the data extraction requirements (e.g., time period and type of data) and generates an appropriate SQL query based on them.

[0606] Step 5:

[0607] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[0608] Step 6:

[0609] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[0610] Step 7:

[0611] The server performs error checking on the data it receives, checking for data consistency and missing data.

[0612] Step 8:

[0613] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[0614] Step 9:

[0615] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface.

[0616] Step 10:

[0617] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[0618] By following these steps, users can extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills.

[0619] Example 1

[0620] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0621] Traditionally, extracting data from a data warehouse required advanced expertise, making it difficult for general users to easily obtain business data. Manual data extraction was also time-consuming and prone to human error. Furthermore, writing complex SQL queries and converting the format of extracted data were cumbersome.

[0622] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0623] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating a query in an inquiry language based on the identified data extraction requirements, means for transmitting the generated query to a data storage and executing it, means for receiving data returned from the data storage, means for converting the received data into a data format, and means for providing the converted data file. This allows general users, even those without specialized knowledge, to automatically obtain the required data and use it in the specified format simply by inputting a data extraction request in natural language.

[0624] A "data extraction request in natural language" is a request made by a user using everyday language to obtain specific data.

[0625] "Analysis" refers to a series of processes that interpret received natural language requests and extract the request contents into specific data extraction requirements.

[0626] "Data extraction requirements" indicate the specific conditions and range of data that a user desires.

[0627] A "query language query" is a command statement that retrieves or manipulates data in a particular database management system.

[0628] "Data storage" is a general term for systems and devices used to retain data for long periods of time.

[0629] "Receiving" is the act of obtaining data returned from data storage.

[0630] A "data format" indicates the structure and rules by which data is organized. Examples include CSV, JSON, and XML.

[0631] "Conversion" is the process of changing data from one data format to another.

[0632] A "data file" refers to a file stored in a particular data format.

[0633] This invention is a system that allows general users, even those without specialized knowledge, to input data extraction requests in natural language, automatically extracting necessary data from a data warehouse and providing it in an easy-to-use format. Specific embodiments of this system are described below.

[0634] System Configuration

[0635] 1. User Device

[0636] The system provides a chat interface for users to input data extraction requests in natural language. For example, it can be configured as a web application.

[0637] 2. Server

[0638] A data extraction request is received from a user terminal.

[0639] Natural language processing technology (e.g., a language processing engine) is used to analyze the received data extraction request and identify specific data extraction requirements.

[0640] Generate a query language query based on the identified data extraction requirements.

[0641] The generated query is sent to a data storage and executed. Here, a data warehouse (e.g., a general-purpose data management system) is used as the data storage.

[0642] Receives the data returned from the data storage and performs error checking.

[0643] Convert the received data into an appropriate data format (e.g., CSV format). Specifically, use the Python pandas library to perform the data conversion.

[0644] The converted data file is provided through a chat interface accessible to the user.

[0645] Specific examples

[0646] A user submits a data extraction request through the chat interface, saying, "I want to get sales data from January to June 2023." The server receives this request and uses natural language processing techniques to identify the specific data extraction requirements, such as:

[0647] Period: January to June 2023

[0648] Data type: "Sales data"

[0649] The server then uses a template engine to generate a SQL query like this:

[0650] sql

[0651] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0652] The generated SQL query is sent to the data warehouse, and the query execution results are returned to the server. The server receives this data and performs error checks. If there are no problems, the received data is converted to CSV format using the Python pandas library. The generated CSV file is saved as "Sales Data_2023-01_to_2023-06.csv".

[0653] Finally, the server provides a download link for this CSV file to the user through the chat interface, and the user can click the link to download the CSV file and obtain the data they need.

[0654] Prompt Sentence Examples

[0655] Below is an example of a prompt sentence to input to the generative AI model.

[0656] "I want to get sales data from January to June 2023." Parse this request as an SQL query.

[0657] In this way, the system is designed to automate everything from analyzing data extraction requests in natural language to generating and providing data, allowing users to easily obtain the data they need.

[0658] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0659] Step 1:

[0660] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0661] Specific behavior: The user types input into a text box in the chat interface and clicks the send button.

[0662] Input: A natural language data extraction request.

[0663] Output: The user terminal sends a request to the server.

[0664] Step 2:

[0665] The server receives a natural language request from a user and parses the received data extraction request using a natural language processing engine (e.g., a general-purpose language analysis system).

[0666] Specific operation: The server generates an API request and sends it to the language processing engine. The server receives the API response and extracts the data extraction requirements.

[0667] Input: A natural language data extraction request.

[0668] Output: Specific data extraction requirements (e.g., period "January to June 2023", data type "Sales data").

[0669] Step 3:

[0670] The server generates a query language query based on the specified requirements. It uses a template engine (e.g., a template generation library) to generate SQL queries.

[0671] Specific operation: The server inputs extraction requirements to the template engine, generates SQL queries from the templates, and logs the generated SQL queries.

[0672] Input: Specific data extraction requirements.

[0673] Output: SQL query. Example: SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0674] Step 4:

[0675] The server sends the generated SQL query to a data storage (e.g., a general-purpose database system), executes the query, and receives the returned data from the data storage.

[0676] Specific operation: The server sends a query using the data storage client library. The server performs error checks on the received data to ensure data integrity.

[0677] Input: SQL query.

[0678] Output: The received data.

[0679] Step 5:

[0680] The server converts the received data into a data format (e.g., CSV format). Data conversion is performed using the Python pandas library.

[0681] Specific operation: The server converts the data into a data frame using the pandas library, exports the data frame to a CSV file, and saves it to the file system.

[0682] Input: Received data.

[0683] Output: Converted CSV file. Example: "Sales Data_2023-01_to_2023-06.csv"

[0684] Step 6:

[0685] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[0686] Specific operation: The server generates a download link based on the path of the CSV file and sends it to the chat interface. The device displays the received link to the user. The user clicks the link to download the CSV file locally.

[0687] Input: The converted CSV file.

[0688] Output: A downloadable link for the user.

[0689] (Application example 1)

[0690] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0691] Conventional data extraction systems have the problem that data extraction is difficult for users without SQL skills and requires specialized knowledge, resulting in reduced work efficiency.In addition, to quickly and accurately obtain the necessary data at the site, such as a logistics center, an intuitive interface using natural language is required, but there was no appropriate means to achieve this.

[0692] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0693] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating an SQL query based on the identified data extraction requirements, means for transmitting the generated SQL query to a database management system and executing it, means for receiving data returned from the database management system, means for converting the received data into a data frame format, means for providing the converted data frame file, means for a user to input a data extraction request in natural language using a smart device, and means for providing a download link for the generated data frame file. This enables even users without SQL skills to quickly and accurately obtain required data through an intuitive natural language interface.

[0694] "Natural language" refers to the language that users use in normal conversation and writing.

[0695] "Data Extraction Request" means a request submitted by a User to retrieve specific data.

[0696] A "smart device" refers to a portable information terminal that can connect to the Internet and has advanced computing capabilities.

[0697] A "natural language processing engine" refers to software that analyzes natural language input and converts it into structured information.

[0698] A "database management system" refers to a software system for efficiently managing, manipulating, and retrieving large amounts of data.

[0699] An "SQL query" refers to a query statement that instructs a database to perform a specific data operation (retrieve, insert, update, delete).

[0700] A "data frame format" refers to a format that represents a set of structured data in a two-dimensional table format (columns and rows).

[0701] "User interface" refers to the means by which a user interacts with a system.

[0702] "CSV format" refers to a comma-separated text file format, a standard format for saving data in a tabular format.

[0703] A "download link" refers to a URL that allows a user to obtain a specific file over a network.

[0704] The system for implementing this invention mainly consists of a smart device, a server, and a database management system. This system realizes a series of processes in which a user inputs a data extraction request in natural language, the required data is automatically extracted from a data warehouse, and the data is provided in CSV format. A detailed description of this system is provided below.

[0705] Hardware and software used

[0706] Smart devices: Used by users to input data extraction requests in natural language, for example, smartphones or robots.

[0707] server:

[0708] Natural language processing engine: For example, using the Google Cloud Natural Language API to parse natural language input and identify specific data extraction requirements.

[0709] Database management system: For example, Amazon Redshift or Google BigQuery are used to manage data.

[0710] Communication method: The internet is used for communication between smart devices and the server.

[0711] Data processing and calculation flow

[0712] 1. Input of data extraction request: A user can input a data extraction request in natural language using a smart device. For example, a request could be, "Please get this week's shipping data."

[0713] 2. Natural Language Processing: The server receives this input and uses a natural language processing engine to analyze its content, specifically extracting specific data extraction requirements (e.g., specific time periods and data types) from natural language such as "shipping data for this week."

[0714] 3. SQL Query Generation: Based on the specified requirements, the server generates an appropriate SQL query, e.g.

[0715] sql

[0716] SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';

[0717] A query like this is generated.

[0718] 4. Query execution: The server sends the generated SQL query to the database management system for execution.

[0719] 5. Receiving data and checking for errors: The server receives the data returned from the database management system and performs error checking on the data.

[0720] 6. Converting data to CSV format: The received data is converted to a data frame format and then saved in CSV format, for example, as a file named "Shipping data_2023-10-01_to_2023-10-07.csv."

[0721] 7. Provide to user: The server provides the user with a download link for the generated CSV file, which the user can click to download the data.

[0722] Specific examples

[0723] For example, if a user makes a request such as "Please tell me the stock status of a particular product this month," the server performs the following process.

[0724] User request: "What is the current availability of a particular product?"

[0725] Natural Language Processing: The server parses this request and generates the following SQL query:

[0726] sql

[0727] SELECT FROM inventory WHERE product_id = 'PRODUCT_ID' AND inventory_date BETWEEN '2023-10-01' AND '2023-10-31';

[0728] Execute query and receive data: The server executes this query and receives the returned data from the database management system.

[0729] Data conversion: Convert the received data into CSV format as "Stock status_PRODUCT_ID_2023-10.csv".

[0730] Provide to user: The server provides the user with a download link for the generated CSV file, and the user clicks on this link to download the data.

[0731] Prompt Sentence Examples

[0732] Based on the user's natural language input "I want to get sales data from January to June 2023," generate the following SQL query:

[0733] sql

[0734] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0735] In this way, the system can parse the user's natural language input, generate SQL queries based on specific data requirements, and quickly deliver the right data.

[0736] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0737] Step 1:

[0738] A user inputs a data extraction request in natural language using a smart device.

[0739] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[0740] Output: Data extraction request transferred from user terminal to server.

[0741] Specific operation: A natural language request entered as voice or text on an input device such as a smartphone is sent to a server through an interface application.

[0742] Step 2:

[0743] A server receives natural language input from a user.

[0744] Input: A data extraction request in natural language sent from a user terminal.

[0745] Output: Data extraction requests written in natural language are stored internally on the server.

[0746] Specific operation: The server's receiving module receives the request sent from the user terminal and passes it to the analysis part of the natural language processing engine.

[0747] Step 3:

[0748] The server uses a natural language processing engine to analyze the input text and identify specific data extraction requirements.

[0749] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[0750] Output: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[0751] What happens: A natural language processing engine (e.g., Google Cloud Natural Language API) analyzes the text and extracts requirements such as specific date ranges and data types.

[0752] Step 4:

[0753] The server generates the appropriate SQL queries based on the specified requirements.

[0754] Input: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[0755] Output: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[0756] Specific operation: Using a template engine or rule base, an SQL statement is constructed that matches the conditions of the extracted data.

[0757] Step 5:

[0758] The server sends the generated SQL query to the database management system for execution.

[0759] Input: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[0760] Output: The dataset returned from the database management system.

[0761] Specific operation: The server's query execution module sends the SQL statement to the database management system (e.g., Amazon Redshift), and the query is executed.

[0762] Step 6:

[0763] The server receives the data returned from the database management system and performs error checking on the data.

[0764] Input: Dataset received from database management system.

[0765] Output: An error-checked dataset.

[0766] Specific operation: The data receiving module of the server receives the data set and performs consistency checks and error checks.

[0767] Step 7:

[0768] The server converts the received data into a data frame format, which is then converted into a CSV format.

[0769] Input: An error-checked dataset.

[0770] Output: CSV file (e.g. "Shipping data_2023-10-01_to_2023-10-07.csv").

[0771] Specific operation: The server's data conversion module converts the data into a data frame format, and then exports it to CSV format.

[0772] Step 8:

[0773] The server returns a download link for the generated CSV file to the user's terminal interface, and the user uses the link to download the data.

[0774] Input: The generated CSV file.

[0775] Output: Download link and user gets CSV file.

[0776] Specific operation: The server's file serving module hosts the CSV file, generates a download link, and returns it to the user interface. The user clicks the link to download the file.

[0777] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0778] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from a data warehouse, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses accordingly, providing a more user-friendly experience. Specific embodiments of the present invention are described below.

[0779] System Configuration

[0780] 1. User Device:

[0781] A chat interface is provided to allow users to enter data extraction requests in natural language.

[0782] An emotion engine is used to recognize the emotion of the user when typing.

[0783] 2. Server:

[0784] A data extraction request is received from the user terminal, and emotion data of the user is also acquired using an emotion engine.

[0785] A natural language processing engine is used to analyze data extraction requests and identify specific data extraction requirements.

[0786] Adjust data extraction requirements as needed depending on the emotions recognized by the emotion engine.

[0787] Generate SQL queries based on identified data extraction requirements.

[0788] The generated SQL query is sent to the data warehouse and executed.

[0789] Receives data returned from the data warehouse.

[0790] Checks the received data for errors.

[0791] Convert the data into CSV format.

[0792] The converted CSV file is provided to the user terminal.

[0793] Program processing

[0794] User request for data extraction

[0795] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0796] Server parsing of data definitions

[0797] The terminal sends the input data extraction request to the server, which then uses a natural language processing engine to analyze the input sentence, thereby identifying the specific data extraction requirements desired by the user (e.g., period "January to June 2023", data type "sales data").

[0798] Emotion recognition by emotion engine

[0799] The device uses an emotion engine to recognize the emotion of the user when inputting a data extraction request, such as "I'm in a hurry" or "I'm in trouble."

[0800] Tailoring data extraction requirements

[0801] The server adjusts the data extraction requirements as needed based on the recognition results of the emotion engine. For example, if the user is having trouble, it can be configured to provide additional explanation or confirmation.

[0802] SQL query generation by the server

[0803] Based on the identified requirements, the server generates the appropriate SQL query, for example:

[0804] sql

[0805] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0806] Server executes query and receives data

[0807] Using the generated SQL query, the server connects to the data warehouse, executes the query, and receives the data.

[0808] Server checks data for errors

[0809] The server performs an error check on the received data to check for data consistency and missing data.

[0810] Server-based CSV file generation

[0811] The server converts data that passes the error check into CSV format. The converted data is given the file name "Sales Data_2023-01_to_2023-06.csv".

[0812] CSV file provided by the server

[0813] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface. The user clicks the download link to download the CSV file to their device.

[0814] Specific examples

[0815] Sales data extraction

[0816] 1. User: "I want to get sales data from January to June 2023."

[0817] 2. The device sends a data extraction request to the server, and at the same time, the emotion engine recognizes the user's emotions.

[0818] 3. The server receives the input and analyzes it using a natural language processing engine.

[0819] 4. The server generates an SQL query based on the analysis results.

[0820] 5. The server runs the query on the data warehouse and receives the data.

[0821] 6. The server converts the received data into CSV format and generates it as "Sales Data_2023-01_to_2023-06.csv".

[0822] 7. The server provides a download link via the chat interface, and the user downloads the CSV file.

[0823] In this way, the present invention allows users to easily extract the required data from the data warehouse and obtain it in CSV format while receiving emotional consideration.

[0824] The processing flow will be explained below.

[0825] Step 1:

[0826] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0827] Step 2:

[0828] The device detects user input and uses an emotion engine to recognize the user's emotions, such as "I'm in a hurry" or "I'm in trouble."

[0829] Step 3:

[0830] The terminal sends a data extraction request and emotion data to the server.

[0831] Step 4:

[0832] The server uses a natural language processing engine to analyze data extraction requests received from users. This converts the user's request into specific data extraction requirements. If a user requests "sales data from January to June 2023," the data extraction requirements will be specified as "period: January 1, 2023 to June 30, 2023, data type: sales data."

[0833] Step 5:

[0834] The server analyzes the user's emotional data obtained from the emotion engine. For example, if the server detects that the user is in a hurry, it prioritizes immediate response and expedites the entire process.

[0835] Step 6:

[0836] The server generates a SQL query based on the specified data extraction requirements, for example, the following SQL query:

[0837] sql

[0838] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0839] Step 7:

[0840] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[0841] Step 8:

[0842] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[0843] Step 9:

[0844] The server performs error checking on the data it receives, checking for data consistency and missing data.

[0845] Step 10:

[0846] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[0847] Step 11:

[0848] The server creates a download link for the generated CSV file and provides that link to the user via the chat interface.

[0849] Step 12:

[0850] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[0851] By following these steps, users can easily extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills. Furthermore, by recognizing and responding to user emotions, a more user-friendly user experience can be provided.

[0852] Example 2

[0853] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0854] Conventional data extraction systems have the problem that it is difficult for users to clearly identify their specific requirements when entering data extraction requests. Furthermore, because they do not take the user's emotions into consideration, they are unable to respond appropriately even in difficult situations or when in a hurry, which can result in a poor user experience. Furthermore, error checking of extracted data was not automated, requiring manual confirmation work, resulting in low work efficiency.

[0855] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0856] In this invention, the server includes means for analyzing a data extraction request and identifying specific data extraction requirements, means for recognizing a user's emotion using an emotion engine, means for adjusting the data extraction requirements based on the recognized emotion, and means for performing error checks on the data, thereby enabling specific and accurate data extraction and automated error checks while taking the user's emotion into consideration.

[0857] A "data extraction request in natural language" refers to a data extraction request made to the system by a user using everyday language.

[0858] The "means for receiving a data extraction request" refers to a device or program having the function of receiving a data extraction request from a user on the system side and processing the content of the request.

[0859] The "means for analyzing a data extraction request" refers to a device or program that performs processing to understand a received data extraction request and break it down into specific requirements.

[0860] "Data Extraction Requirements" means the specific conditions or requirements contained in a data extraction request.

[0861] "Means for generating SQL queries" refers to a device or program that automatically generates appropriate database queries based on specified data extraction requirements.

[0862] "Data storage" refers to databases and data warehouses that store large amounts of data and allow data to be retrieved as needed.

[0863] "Means for sending to data storage and executing" refers to a device or program that has the functionality to send the generated SQL query to data storage and execute the query.

[0864] "Means for receiving data" refers to a device or program for receiving data returned as a result of executing a query.

[0865] "Means for performing error checking" refers to a device or program for checking whether received data contains errors and detecting erroneous data.

[0866] "Means for recognizing a user's emotions using an emotion engine" refers to a device or program that has the function of analyzing emotions from the user's input and grasping their emotional state.

[0867] "Means for adjusting data extraction requirements based on recognized emotions" refers to a device or program for optimizing the data extraction process and / or delivery method depending on the emotional state of the user.

[0868] "Means for converting to CSV format" means a device or program for converting received data into comma-separated value (CSV) format.

[0869] "Means for providing a CSV file" refers to a device or program for providing the generated CSV file to the user in a downloadable format.

[0870] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from data storage, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses based on those emotions, thereby achieving a more user-friendly experience. The system of the present invention will now be described in detail.

[0871] System Configuration

[0872] User terminal

[0873] The user device provides a chat interface to create an environment where users can input data extraction requests in natural language. It also has a function to recognize the emotions expressed by users when they input data using an emotion engine. For this reason, the user device is equipped with an emotion recognition API and a natural language processing API.

[0874] server

[0875] The server has the following features:

[0876] 1. Receiving data extraction requests and emotion data

[0877] A data extraction request and emotion data transmitted from a user terminal are received.

[0878] For example, a user requests "I want to get sales data from January to June 2023," and emotional data indicating a sense of urgency is sent.

[0879] 2. Analysis using natural language processing

[0880] Use a natural language processing engine (e.g., GPT-4) to analyze the input sentence and identify specific data extraction requirements.

[0881] For example, identify "sales data for the period January to June 2023."

[0882] 3. Emotion Recognition by Emotion Engine

[0883] An emotion engine is used to analyze and recognize the user's emotion data.

[0884] For example, if a user indicates an emotion of "being in a hurry," that data is utilized.

[0885] 4. Adjusting Data Extraction Requirements

[0886] The server adjusts data extraction requirements based on the perceived sentiment.

[0887] For example, a user in a hurry can be given detailed progress reports.

[0888] 5. Generating SQL Queries

[0889] Generate appropriate SQL queries based on identified data extraction requirements.

[0890] For example, the following SQL query is generated:

[0891] sql

[0892] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0893] 6. Executing queries and receiving data

[0894] The generated SQL query is sent to the data storage and executed.

[0895] The data returned from the data storage is received and stored on the server.

[0896] 7. Error Checking

[0897] Performs error checks on received data to check for data consistency and missing data.

[0898] If an error is detected, an error log is generated and the query is executed again or the user is notified as necessary.

[0899] 8. Convert to CSV format

[0900] Convert data that passes the error check into CSV format.

[0901] For example, it will be saved with the file name "Sales Data_2023-01_to_2023-06.csv".

[0902] 9. Providing CSV files

[0903] Create a download link for the generated CSV file and provide it to the user via the chat interface.

[0904] The user can click on this link to download the file.

[0905] Use of concrete examples and prompts

[0906] Specific examples

[0907] For example, if a user enters "I would like to get sales data for January to June 2023," you would use a prompt statement like this:

[0908] Parsing data extraction requests

[0909] The user has entered "I want to retrieve sales data from January to June 2023." Please analyze the data extraction request using natural language processing.

[0910] emotion recognition

[0911] Recognize emotions like "hurry" or "troubled" based on user input.

[0912] SQL Query Generation

[0913] Generate appropriate SQL queries based on requirements elicitation results.

[0914] CSV conversion

[0915] Convert the following data into CSV format. Save it as "Sales Data_2023-01_to_2023-06.csv".

[0916] This allows users to easily obtain the data they need while taking their emotions into consideration and download it in CSV format.

[0917] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0918] Step 1:

[0919] User input of data extraction request

[0920] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[0921] Input: User's data extraction request

[0922] Output: Text data of data extraction request

[0923] Step 2:

[0924] Data extraction request and emotion data transmission by terminal

[0925] The device sends the input data extraction request to the server. At the same time, the device uses an emotion engine to analyze the user's current emotion. For example, the emotion "I'm in a hurry" is recognized.

[0926] Input: Text data of data extraction request, user emotion data

[0927] Output: Data extraction request and emotion data sent to the server

[0928] Step 3:

[0929] Server parsing of data extraction requests

[0930] The server uses a natural language processing engine (e.g., GPT-4) to analyze the received data extraction request. As a result of the analysis, specific data extraction requirements (e.g., period "January to June 2023", data type "sales data") are identified.

[0931] Input: Text data of data extraction request

[0932] Output: Identified data extraction requirements

[0933] Step 4:

[0934] Device-based user emotion recognition

[0935] The device uses the emotion engine to analyze and recognize the emotion of the user when making a data extraction request. For example, if the user expresses an emotion of "distress," it will recognize this.

[0936] Input: User emotion data

[0937] Output: Recognized emotion information

[0938] Step 5:

[0939] Server-driven data extraction requirements adjustment

[0940] The server adjusts the data extraction requirements based on the recognized emotion information. For example, if the user expresses the emotion "I'm in trouble," it sets up additional explanations or a confirmation process.

[0941] Input: Identified data extraction requirements, recognized emotion information

[0942] Output: Adjusted data extraction requirements

[0943] Step 6:

[0944] Server-generated SQL queries

[0945] The server generates SQL queries based on the adjusted data extraction requirements, for example, the following SQL queries:

[0946] sql

[0947] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[0948] Input: Tailored data extraction requirements

[0949] Output: Generated SQL query

[0950] Step 7:

[0951] Server executes query and receives data

[0952] The server sends the generated SQL query to the data storage, executes the query, and receives the returned data from the data storage.

[0953] Input: Generated SQL query

[0954] Output: Data returned from data storage

[0955] Step 8:

[0956] Server checks data for errors

[0957] The server performs an error check on the data it receives. Specifically, it checks for data consistency and missing data, and if necessary, requests the erroneous data again. It also generates an error log.

[0958] Input: Data returned from data storage

[0959] Output: Error check results, error log (if necessary)

[0960] Step 9:

[0961] Conversion to CSV format by the server

[0962] The server converts the data that passes the error check into CSV format. This CSV file is given a file name such as "Sales Data_2023-01_to_2023-06.csv."

[0963] Input: Data that passes error checks

[0964] Output: CSV format file

[0965] Step 10:

[0966] Server provides CSV file

[0967] The server creates a download link for the generated CSV file and provides it to the user through the chat interface. The user clicks on this link to download the CSV file to their device.

[0968] Input: CSV format file

[0969] Output: Download link for CSV file, user can download CSV file

[0970] (Application example 2)

[0971] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0972] In today's data-driven business environment, users need to quickly and accurately extract diverse data and perform information analysis. However, existing systems face challenges in ensuring users can accurately input data extraction requests and respond appropriately to the extracted data. Furthermore, no systems exist that provide responses that take into account fluctuations due to user emotions, which can degrade the quality of the user experience. Therefore, there is a need for the development of a system that can extract data using natural language, recognize user emotions, and provide appropriate responses.

[0973] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0974] In this invention, the server includes: means for receiving a data extraction request in natural language; means for analyzing the received data extraction request and identifying specific data extraction requirements; means for generating an SQL query based on the identified data extraction requirements; means for transmitting the generated SQL query to a data warehouse and executing it; means for receiving data returned from the data warehouse; means for converting the received data into CSV format; means for providing the converted CSV file; means for providing a chat interface that allows a user to input a data extraction request in natural language; and means for recognizing the user's emotions using an emotion recognition engine and adjusting a response as necessary. This allows a user to easily make a data extraction request in natural language and receive a highly compatible response from the emotion recognition engine.

[0975] A "natural language" is a language that is used by humans on a daily basis and is expressed in writing or speech.

[0976] A "data extraction request" is a user-entered request for extracting specific data.

[0977] A "chat interface" is a user interface that allows users to communicate in a text-based conversational format.

[0978] An "emotion recognition engine" is a system that identifies the emotional state of a user from their input and behavior and provides an appropriate response.

[0979] A "natural language processing engine" is a technology for analyzing natural language text and understanding its meaning and structure.

[0980] A "generative AI model" is an artificial intelligence model that automatically generates text and data.

[0981] A "prompt sentence" is an input sentence given to a generative AI model, which instructs the output content to be generated.

[0982] A "data warehouse" is a system for collecting, storing, and managing large amounts of data.

[0983] An "SQL query" is a command statement for performing operations on a database.

[0984] The present invention is a system that allows users to input data extraction requests in natural language, and efficiently extracts and provides the necessary data from a data warehouse based on the requests. Furthermore, it can improve the user experience by recognizing the user's emotions and adjusting the response.

[0985] System Configuration

[0986] The system includes the following major components:

[0987] 1. User terminal: Provides a chat interface for users to input data extraction requests. The terminal runs on a smartphone, computer, or other internet-connected device.

[0988] 2. Emotion Recognition Engine: Analyzes user input and recognizes the user's emotional state. This engine utilizes, for example, the OpenAI API.

[0989] 3. Natural Language Processing Engine: Used to analyze the user's natural language input and identify specific data extraction requirements. For example, a natural language processing library such as spaCy or NLTK can be used.

[0990] 4. Server: This is the back-end system that analyzes data extraction requests, recognizes emotions, extracts data, converts data, and provides files.

[0991] 5. Data Warehouse: A system for storing data and running SQL queries. For example, you could use Amazon Redshift.

[0992] System Operation

[0993] When a user inputs a data extraction request in natural language using the chat interface, the user terminal transmits the request to the server, which then performs the following process.

[0994] 1. Parsing the data extraction request: The server uses a natural language processing engine to parse the user's request and identify the specific data extraction requirements.

[0995] 2. Emotion Recognition: At the same time, an emotion recognition engine is used to recognize the user's emotions, which can provide more detailed information or additional help if the user is in a difficult situation, for example.

[0996] 3. SQL Query Generation: Based on the identified data extraction requirements, the server generates the SQL queries.

[0997] 4. Data extraction: The generated SQL queries are sent to the data warehouse to extract the required data.

[0998] 5. Data error check: Check the extracted data for consistency and missing data.

[0999] 6. Convert to CSV format: Convert the checked data to CSV format and generate a download link.

[1000] 7. Provide file: The server provides the user with a download link for the generated CSV file.

[1001] Specific examples

[1002] For example, if a user inputs a request such as "Show me my order history for 2022," this request is sent to the server. The server analyzes this request and performs the following processes:

[1003] Analyzing user requirements: A natural language processing engine is used to identify extracted requirements ("2022" and "order history").

[1004] Emotion recognition: The emotion recognition engine recognizes the user's emotional state as "normal."

[1005] Generate SQL queries: For example, generate the following SQL query: SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

[1006] Data extraction and error checking: The generated SQL queries are sent to the data warehouse to extract data and perform error checking.

[1007] Convert to CSV format: Convert the extracted data to CSV format and save it as "Order History_2022.csv".

[1008] Generate and provide a download link: Provide a download link for the generated CSV file via the chat interface.

[1009] Prompt Sentence Examples

[1010] It receives user input such as "Show me my order history for 2022," extracts the required data from the data warehouse, and tailors the response based on the user's emotions using an emotion recognition engine. Finally, it provides the data in CSV format.

[1011] This allows users to receive fast, accurate, and emotionally sensitive data extraction and provision.

[1012] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1013] Step 1:

[1014] The user opens a chat interface and enters a data extraction request in natural language.

[1015] Enter: "Show me my order history for 2022"

[1016] Output: Data extraction request text

[1017] Specific operation: A user launches an application on a device such as a smartphone or computer and enters text on the chat interface.

[1018] Step 2:

[1019] The device sends a data extraction request text to the server, along with emotion recognition data.

[1020] Input: Data extraction request text

[1021] Output: Data extraction request text sent to the server

[1022] Specific operation: The device sends the text entered in the chat interface and information for recognizing the user's emotions (e.g., typing speed, word choice, etc.) to the server.

[1023] Step 3:

[1024] The server uses a natural language processing engine to analyze the received data extraction request text.

[1025] Input: Data extraction request text

[1026] Output: Identified data extraction requirements (e.g., "2022" and "Order History")

[1027] Specific operation: The server calls a natural language processing engine (e.g., spaCy or NLTK) to analyze the text of the data extraction request and extract specific requirements such as the period and data type.

[1028] Step 4:

[1029] The server uses an emotion recognition engine to recognize the user's emotions and adjusts the response based on the recognition results.

[1030] Input: User input data, emotional information

[1031] Output: User's emotional state (e.g., "normal" or "troubled")

[1032] Specific behavior: The server uses an emotion recognition engine (e.g., OpenAI API) to analyze the user's input data and emotional information to identify the user's emotional state. Based on this result, the server configures itself to provide additional information or help if necessary.

[1033] Step 5:

[1034] The server generates SQL queries based on the specified data extraction requirements.

[1035] Input: Identified data extraction requirements

[1036] Output: SQL query (e.g. "SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';")

[1037] Specific operation: The server automatically generates an SQL query based on the specified data extraction requirements (time period, data type, etc.). For example, it generates a query to extract order data for "2022" from the database table "orders."

[1038] Step 6:

[1039] The server sends the generated SQL query to the data warehouse to extract the data.

[1040] Input: SQL query

[1041] Output: Extracted data (e.g., records such as "Order ID," "Product Name," "Quantity," and "Order Date")

[1042] Specific operation: The server sends the generated SQL query to a data warehouse (e.g., Amazon Redshift) and extracts data that matches the specified conditions.

[1043] Step 7:

[1044] The server performs error checking on the data it receives.

[1045] Input: Extracted data

[1046] Output: Error-checked data

[1047] How it works: The server performs consistency checks on the data it receives, checking for missing data or outliers, and applies automatic correction measures if inconsistencies are found.

[1048] Step 8:

[1049] The server converts the error-checked data into CSV format.

[1050] Input: Error-checked data

[1051] Output: CSV file

[1052] Specific operation: The server formats the error-checked data into CSV format and saves it with a file name such as "Order History_2022.csv", accurately generating the CSV file according to the column structure and type of the data.

[1053] Step 9:

[1054] The server provides a download link for the generated CSV file to the user's device, and the user downloads the file using the link.

[1055] Input: CSV file

[1056] Output: Download link

[1057] Specific operation: The server uploads the generated CSV file to the hosting service and generates a download link, which is provided to the user through the chat interface, allowing the user to click on the link to download the file.

[1058] In this way, each step has specific inputs and outputs, and the steps work together to enable the user to extract data quickly and efficiently.

[1059] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1060] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1061] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[1062] [Third embodiment]

[1063] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[1064] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[1065] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1066] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[1067] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1068] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1069] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1070] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1071] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1072] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1073] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1074] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[1075] The system of the present invention automates the entire process from a user without SQL skills entering a data extraction request in natural language, to extracting the data from a data warehouse and providing it in CSV format. A specific embodiment of this system is described below.

[1076] System Configuration

[1077] 1. User Device:

[1078] Provide a chat interface to allow users to enter data extraction requests in natural language.

[1079] 2. Server:

[1080] A data extraction request is received from a user terminal.

[1081] A natural language processing engine is used to analyze incoming data extraction requests and identify specific data extraction requirements.

[1082] Generate SQL queries based on identified data extraction requirements.

[1083] The generated SQL query is sent to the data warehouse and executed.

[1084] Receives data returned from the data warehouse.

[1085] Convert the received data into CSV format.

[1086] The converted CSV file is provided to the user terminal.

[1087] Program processing

[1088] User request for data extraction

[1089] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1090] Server parsing of data definitions

[1091] The server receives natural language input from the user and analyzes its content. It uses a natural language processing engine to analyze the input sentence and identify specific data extraction requirements (e.g., period "January to June 2023", data type "sales data").

[1092] SQL query generation by the server

[1093] Based on the specified requirements, the server generates the appropriate SQL query using an internal template engine and rule base, for example generating the following SQL query:

[1094] sql

[1095] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1096] Server executes query and receives data

[1097] The server sends the generated SQL query to the data warehouse and executes it. The server receives the data returned from the data warehouse. It performs error checks on the received data to ensure there are no problems.

[1098] Server-based CSV file generation

[1099] The server converts the received data into CSV format and generates the converted data with the file name "Sales Data_2023-01_to_2023-06.csv".

[1100] CSV file provided by the server

[1101] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[1102] Specific examples

[1103] Sales data extraction

[1104] 1. User: "I want to get sales data from January to June 2023."

[1105] 2. The server receives the input and analyzes it using a natural language processing engine.

[1106] 3. The server generates an SQL query based on the parsed results:

[1107] sql

[1108] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1109] 4. The server runs this query on the data warehouse and receives the data.

[1110] 5. The data received by the server is converted into CSV format as "Sales Data_2023-01_to_2023-06.csv".

[1111] 6. The server provides a download link via the chat interface, and the user downloads the CSV file.

[1112] Such a system allows users to easily extract and retrieve the necessary data from the data warehouse without any SQL skills.

[1113] The processing flow will be explained below.

[1114] Step 1:

[1115] The user opens the chat interface on their device and enters a data extraction request in natural language. For example, they might enter, "I would like to retrieve sales data from January to June 2023."

[1116] Step 2:

[1117] The terminal transmits the input data extraction request to the server, and the input content is transmitted to the server via the chat interface.

[1118] Step 3:

[1119] The server uses a natural language processing engine to analyze the natural language data extraction request received from the user, thereby identifying the necessary data extraction requirements from the input sentence.

[1120] Step 4:

[1121] Based on the analysis results, the server interprets the data extraction requirements (e.g., time period and type of data) and generates an appropriate SQL query based on them.

[1122] Step 5:

[1123] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[1124] Step 6:

[1125] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[1126] Step 7:

[1127] The server performs error checking on the data it receives, checking for data consistency and missing data.

[1128] Step 8:

[1129] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[1130] Step 9:

[1131] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface.

[1132] Step 10:

[1133] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[1134] By following these steps, users can extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills.

[1135] Example 1

[1136] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1137] Traditionally, extracting data from a data warehouse required advanced expertise, making it difficult for general users to easily obtain business data. Manual data extraction was also time-consuming and prone to human error. Furthermore, writing complex SQL queries and converting the format of extracted data were cumbersome.

[1138] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1139] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating a query in an inquiry language based on the identified data extraction requirements, means for transmitting the generated query to a data storage and executing it, means for receiving data returned from the data storage, means for converting the received data into a data format, and means for providing the converted data file. This allows general users, even those without specialized knowledge, to automatically obtain the required data and use it in the specified format simply by inputting a data extraction request in natural language.

[1140] A "data extraction request in natural language" is a request made by a user using everyday language to obtain specific data.

[1141] "Analysis" refers to a series of processes that interpret received natural language requests and extract the request contents into specific data extraction requirements.

[1142] "Data extraction requirements" indicate the specific conditions and range of data that a user desires.

[1143] A "query language query" is a command statement that retrieves or manipulates data in a particular database management system.

[1144] "Data storage" is a general term for systems and devices used to retain data for long periods of time.

[1145] "Receiving" is the act of obtaining data returned from data storage.

[1146] A "data format" indicates the structure and rules by which data is organized. Examples include CSV, JSON, and XML.

[1147] "Conversion" is the process of changing data from one data format to another.

[1148] A "data file" refers to a file stored in a particular data format.

[1149] This invention is a system that allows general users, even those without specialized knowledge, to input data extraction requests in natural language, automatically extracting necessary data from a data warehouse and providing it in an easy-to-use format. Specific embodiments of this system are described below.

[1150] System Configuration

[1151] 1. User Device

[1152] The system provides a chat interface for users to input data extraction requests in natural language. For example, it can be configured as a web application.

[1153] 2. Server

[1154] A data extraction request is received from a user terminal.

[1155] Natural language processing technology (e.g., a language processing engine) is used to analyze the received data extraction request and identify specific data extraction requirements.

[1156] Generate a query language query based on the identified data extraction requirements.

[1157] The generated query is sent to a data storage and executed. Here, a data warehouse (e.g., a general-purpose data management system) is used as the data storage.

[1158] Receives the data returned from the data storage and performs error checking.

[1159] Convert the received data into an appropriate data format (e.g., CSV format). Specifically, use the Python pandas library to perform the data conversion.

[1160] The converted data file is provided through a chat interface accessible to the user.

[1161] Specific examples

[1162] A user submits a data extraction request through the chat interface, saying, "I want to get sales data from January to June 2023." The server receives this request and uses natural language processing techniques to identify the specific data extraction requirements, such as:

[1163] Period: January to June 2023

[1164] Data type: "Sales data"

[1165] The server then uses a template engine to generate a SQL query like this:

[1166] sql

[1167] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1168] The generated SQL query is sent to the data warehouse, and the query execution results are returned to the server. The server receives this data and performs error checks. If there are no problems, the received data is converted to CSV format using the Python pandas library. The generated CSV file is saved as "Sales Data_2023-01_to_2023-06.csv".

[1169] Finally, the server provides a download link for this CSV file to the user through the chat interface, and the user can click the link to download the CSV file and obtain the data they need.

[1170] Prompt Sentence Examples

[1171] Below is an example of a prompt sentence to input to the generative AI model.

[1172] "I want to get sales data from January to June 2023." Parse this request as an SQL query.

[1173] In this way, the system is designed to automate everything from analyzing data extraction requests in natural language to generating and providing data, allowing users to easily obtain the data they need.

[1174] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1175] Step 1:

[1176] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1177] Specific behavior: The user types input into a text box in the chat interface and clicks the send button.

[1178] Input: A natural language data extraction request.

[1179] Output: The user terminal sends a request to the server.

[1180] Step 2:

[1181] The server receives a natural language request from a user and parses the received data extraction request using a natural language processing engine (e.g., a general-purpose language analysis system).

[1182] Specific operation: The server generates an API request and sends it to the language processing engine. The server receives the API response and extracts the data extraction requirements.

[1183] Input: A natural language data extraction request.

[1184] Output: Specific data extraction requirements (e.g., period "January to June 2023", data type "Sales data").

[1185] Step 3:

[1186] The server generates a query language query based on the specified requirements. It uses a template engine (e.g., a template generation library) to generate SQL queries.

[1187] Specific operation: The server inputs extraction requirements to the template engine, generates SQL queries from the templates, and logs the generated SQL queries.

[1188] Input: Specific data extraction requirements.

[1189] Output: SQL query. Example: SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1190] Step 4:

[1191] The server sends the generated SQL query to a data storage (e.g., a general-purpose database system), executes the query, and receives the returned data from the data storage.

[1192] Specific operation: The server sends a query using the data storage client library. The server performs error checks on the received data to ensure data integrity.

[1193] Input: SQL query.

[1194] Output: The received data.

[1195] Step 5:

[1196] The server converts the received data into a data format (e.g., CSV format). Data conversion is performed using the Python pandas library.

[1197] Specific operation: The server converts the data into a data frame using the pandas library, exports the data frame to a CSV file, and saves it to the file system.

[1198] Input: Received data.

[1199] Output: Converted CSV file. Example: "Sales Data_2023-01_to_2023-06.csv"

[1200] Step 6:

[1201] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[1202] Specific operation: The server generates a download link based on the path of the CSV file and sends it to the chat interface. The device displays the received link to the user. The user clicks the link to download the CSV file locally.

[1203] Input: The converted CSV file.

[1204] Output: A downloadable link for the user.

[1205] (Application example 1)

[1206] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1207] Conventional data extraction systems have the problem that data extraction is difficult for users without SQL skills and requires specialized knowledge, resulting in reduced work efficiency.In addition, to quickly and accurately obtain the necessary data at the site, such as a logistics center, an intuitive interface using natural language is required, but there was no appropriate means to achieve this.

[1208] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1209] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating an SQL query based on the identified data extraction requirements, means for transmitting the generated SQL query to a database management system and executing it, means for receiving data returned from the database management system, means for converting the received data into a data frame format, means for providing the converted data frame file, means for a user to input a data extraction request in natural language using a smart device, and means for providing a download link for the generated data frame file. This enables even users without SQL skills to quickly and accurately obtain required data through an intuitive natural language interface.

[1210] "Natural language" refers to the language that users use in normal conversation and writing.

[1211] "Data Extraction Request" means a request submitted by a User to retrieve specific data.

[1212] A "smart device" refers to a portable information terminal that can connect to the Internet and has advanced computing capabilities.

[1213] A "natural language processing engine" refers to software that analyzes natural language input and converts it into structured information.

[1214] A "database management system" refers to a software system for efficiently managing, manipulating, and retrieving large amounts of data.

[1215] An "SQL query" refers to a query statement that instructs a database to perform a specific data operation (retrieve, insert, update, delete).

[1216] A "data frame format" refers to a format that represents a set of structured data in a two-dimensional table format (columns and rows).

[1217] "User interface" refers to the means by which a user interacts with a system.

[1218] "CSV format" refers to a comma-separated text file format, a standard format for saving data in a tabular format.

[1219] A "download link" refers to a URL that allows a user to obtain a specific file over a network.

[1220] The system for implementing this invention mainly consists of a smart device, a server, and a database management system. This system realizes a series of processes in which a user inputs a data extraction request in natural language, the required data is automatically extracted from a data warehouse, and the data is provided in CSV format. A detailed description of this system is provided below.

[1221] Hardware and software used

[1222] Smart devices: Used by users to input data extraction requests in natural language, for example, smartphones or robots.

[1223] server:

[1224] Natural language processing engine: For example, using the Google Cloud Natural Language API to parse natural language input and identify specific data extraction requirements.

[1225] Database management system: For example, Amazon Redshift or Google BigQuery are used to manage data.

[1226] Communication method: The internet is used for communication between smart devices and the server.

[1227] Data processing and calculation flow

[1228] 1. Input of data extraction request: A user can input a data extraction request in natural language using a smart device. For example, a request could be, "Please get this week's shipping data."

[1229] 2. Natural Language Processing: The server receives this input and uses a natural language processing engine to analyze its content, specifically extracting specific data extraction requirements (e.g., specific time periods and data types) from natural language such as "shipping data for this week."

[1230] 3. SQL Query Generation: Based on the specified requirements, the server generates an appropriate SQL query, e.g.

[1231] sql

[1232] SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';

[1233] A query like this is generated.

[1234] 4. Query execution: The server sends the generated SQL query to the database management system for execution.

[1235] 5. Receiving data and checking for errors: The server receives the data returned from the database management system and performs error checking on the data.

[1236] 6. Converting data to CSV format: The received data is converted to a data frame format and then saved in CSV format, for example, as a file named "Shipping data_2023-10-01_to_2023-10-07.csv."

[1237] 7. Provide to user: The server provides the user with a download link for the generated CSV file, which the user can click to download the data.

[1238] Specific examples

[1239] For example, if a user makes a request such as "Please tell me the stock status of a particular product this month," the server performs the following process.

[1240] User request: "What is the current availability of a particular product?"

[1241] Natural Language Processing: The server parses this request and generates the following SQL query:

[1242] sql

[1243] SELECT FROM inventory WHERE product_id = 'PRODUCT_ID' AND inventory_date BETWEEN '2023-10-01' AND '2023-10-31';

[1244] Execute query and receive data: The server executes this query and receives the returned data from the database management system.

[1245] Data conversion: Convert the received data into CSV format as "Stock status_PRODUCT_ID_2023-10.csv".

[1246] Provide to user: The server provides the user with a download link for the generated CSV file, and the user clicks on this link to download the data.

[1247] Prompt Sentence Examples

[1248] Based on the user's natural language input "I want to get sales data from January to June 2023," generate the following SQL query:

[1249] sql

[1250] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1251] In this way, the system can parse the user's natural language input, generate SQL queries based on specific data requirements, and quickly deliver the right data.

[1252] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1253] Step 1:

[1254] A user inputs a data extraction request in natural language using a smart device.

[1255] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[1256] Output: Data extraction request transferred from user terminal to server.

[1257] Specific operation: A natural language request entered as voice or text on an input device such as a smartphone is sent to a server through an interface application.

[1258] Step 2:

[1259] A server receives natural language input from a user.

[1260] Input: A data extraction request in natural language sent from a user terminal.

[1261] Output: Data extraction requests written in natural language are stored internally on the server.

[1262] Specific operation: The server's receiving module receives the request sent from the user terminal and passes it to the analysis part of the natural language processing engine.

[1263] Step 3:

[1264] The server uses a natural language processing engine to analyze the input text and identify specific data extraction requirements.

[1265] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[1266] Output: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[1267] What happens: A natural language processing engine (e.g., Google Cloud Natural Language API) analyzes the text and extracts requirements such as specific date ranges and data types.

[1268] Step 4:

[1269] The server generates the appropriate SQL queries based on the specified requirements.

[1270] Input: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[1271] Output: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[1272] Specific operation: Using a template engine or rule base, an SQL statement is constructed that matches the conditions of the extracted data.

[1273] Step 5:

[1274] The server sends the generated SQL query to the database management system for execution.

[1275] Input: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[1276] Output: The dataset returned from the database management system.

[1277] Specific operation: The server's query execution module sends the SQL statement to the database management system (e.g., Amazon Redshift), and the query is executed.

[1278] Step 6:

[1279] The server receives the data returned from the database management system and performs error checking on the data.

[1280] Input: Dataset received from database management system.

[1281] Output: An error-checked dataset.

[1282] Specific operation: The data receiving module of the server receives the data set and performs consistency checks and error checks.

[1283] Step 7:

[1284] The server converts the received data into a data frame format, which is then converted into a CSV format.

[1285] Input: An error-checked dataset.

[1286] Output: CSV file (e.g. "Shipping data_2023-10-01_to_2023-10-07.csv").

[1287] Specific operation: The server's data conversion module converts the data into a data frame format, and then exports it to CSV format.

[1288] Step 8:

[1289] The server returns a download link for the generated CSV file to the user's terminal interface, and the user uses the link to download the data.

[1290] Input: The generated CSV file.

[1291] Output: Download link and user gets CSV file.

[1292] Specific operation: The server's file serving module hosts the CSV file, generates a download link, and returns it to the user interface. The user clicks the link to download the file.

[1293] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1294] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from a data warehouse, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses accordingly, providing a more user-friendly experience. Specific embodiments of the present invention are described below.

[1295] System Configuration

[1296] 1. User Device:

[1297] A chat interface is provided to allow users to enter data extraction requests in natural language.

[1298] An emotion engine is used to recognize the emotion of the user when typing.

[1299] 2. Server:

[1300] A data extraction request is received from the user terminal, and emotion data of the user is also acquired using an emotion engine.

[1301] A natural language processing engine is used to analyze data extraction requests and identify specific data extraction requirements.

[1302] Adjust data extraction requirements as needed depending on the emotions recognized by the emotion engine.

[1303] Generate SQL queries based on identified data extraction requirements.

[1304] The generated SQL query is sent to the data warehouse and executed.

[1305] Receives data returned from the data warehouse.

[1306] Checks the received data for errors.

[1307] Convert the data into CSV format.

[1308] The converted CSV file is provided to the user terminal.

[1309] Program processing

[1310] User request for data extraction

[1311] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1312] Server parsing of data definitions

[1313] The terminal sends the input data extraction request to the server, which then uses a natural language processing engine to analyze the input sentence, thereby identifying the specific data extraction requirements desired by the user (e.g., period "January to June 2023", data type "sales data").

[1314] Emotion recognition by emotion engine

[1315] The device uses an emotion engine to recognize the emotion of the user when inputting a data extraction request, such as "I'm in a hurry" or "I'm in trouble."

[1316] Tailoring data extraction requirements

[1317] The server adjusts the data extraction requirements as needed based on the recognition results of the emotion engine. For example, if the user is having trouble, it can be configured to provide additional explanation or confirmation.

[1318] SQL query generation by the server

[1319] Based on the identified requirements, the server generates the appropriate SQL query, for example:

[1320] sql

[1321] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1322] Server executes query and receives data

[1323] Using the generated SQL query, the server connects to the data warehouse, executes the query, and receives the data.

[1324] Server checks data for errors

[1325] The server performs an error check on the received data to check for data consistency and missing data.

[1326] Server-based CSV file generation

[1327] The server converts data that passes the error check into CSV format. The converted data is given the file name "Sales Data_2023-01_to_2023-06.csv".

[1328] CSV file provided by the server

[1329] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface. The user clicks the download link to download the CSV file to their device.

[1330] Specific examples

[1331] Sales data extraction

[1332] 1. User: "I want to get sales data from January to June 2023."

[1333] 2. The device sends a data extraction request to the server, and at the same time, the emotion engine recognizes the user's emotions.

[1334] 3. The server receives the input and analyzes it using a natural language processing engine.

[1335] 4. The server generates an SQL query based on the analysis results.

[1336] 5. The server runs the query on the data warehouse and receives the data.

[1337] 6. The server converts the received data into CSV format and generates it as "Sales Data_2023-01_to_2023-06.csv".

[1338] 7. The server provides a download link via the chat interface, and the user downloads the CSV file.

[1339] In this way, the present invention allows users to easily extract the required data from the data warehouse and obtain it in CSV format while receiving emotional consideration.

[1340] The processing flow will be explained below.

[1341] Step 1:

[1342] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1343] Step 2:

[1344] The device detects user input and uses an emotion engine to recognize the user's emotions, such as "I'm in a hurry" or "I'm in trouble."

[1345] Step 3:

[1346] The terminal sends a data extraction request and emotion data to the server.

[1347] Step 4:

[1348] The server uses a natural language processing engine to analyze data extraction requests received from users. This converts the user's request into specific data extraction requirements. If a user requests "sales data from January to June 2023," the data extraction requirements will be specified as "period: January 1, 2023 to June 30, 2023, data type: sales data."

[1349] Step 5:

[1350] The server analyzes the user's emotional data obtained from the emotion engine. For example, if the server detects that the user is in a hurry, it prioritizes immediate response and expedites the entire process.

[1351] Step 6:

[1352] The server generates a SQL query based on the specified data extraction requirements, for example, the following SQL query:

[1353] sql

[1354] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1355] Step 7:

[1356] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[1357] Step 8:

[1358] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[1359] Step 9:

[1360] The server performs error checking on the data it receives, checking for data consistency and missing data.

[1361] Step 10:

[1362] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[1363] Step 11:

[1364] The server creates a download link for the generated CSV file and provides that link to the user via the chat interface.

[1365] Step 12:

[1366] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[1367] By following these steps, users can easily extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills. Furthermore, by recognizing and responding to user emotions, a more user-friendly user experience can be provided.

[1368] Example 2

[1369] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1370] Conventional data extraction systems have the problem that it is difficult for users to clearly identify their specific requirements when entering data extraction requests. Furthermore, because they do not take the user's emotions into consideration, they are unable to respond appropriately even in difficult situations or when in a hurry, which can result in a poor user experience. Furthermore, error checking of extracted data was not automated, requiring manual confirmation work, resulting in low work efficiency.

[1371] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1372] In this invention, the server includes means for analyzing a data extraction request and identifying specific data extraction requirements, means for recognizing a user's emotion using an emotion engine, means for adjusting the data extraction requirements based on the recognized emotion, and means for performing error checks on the data, thereby enabling specific and accurate data extraction and automated error checks while taking the user's emotion into consideration.

[1373] A "data extraction request in natural language" refers to a data extraction request made to the system by a user using everyday language.

[1374] The "means for receiving a data extraction request" refers to a device or program having the function of receiving a data extraction request from a user on the system side and processing the content of the request.

[1375] The "means for analyzing a data extraction request" refers to a device or program that performs processing to understand a received data extraction request and break it down into specific requirements.

[1376] "Data Extraction Requirements" means the specific conditions or requirements contained in a data extraction request.

[1377] "Means for generating SQL queries" refers to a device or program that automatically generates appropriate database queries based on specified data extraction requirements.

[1378] "Data storage" refers to databases and data warehouses that store large amounts of data and allow data to be retrieved as needed.

[1379] "Means for sending to data storage and executing" refers to a device or program that has the functionality to send the generated SQL query to data storage and execute the query.

[1380] "Means for receiving data" refers to a device or program for receiving data returned as a result of executing a query.

[1381] "Means for performing error checking" refers to a device or program for checking whether received data contains errors and detecting erroneous data.

[1382] "Means for recognizing a user's emotions using an emotion engine" refers to a device or program that has the function of analyzing emotions from the user's input and grasping their emotional state.

[1383] "Means for adjusting data extraction requirements based on recognized emotions" refers to a device or program for optimizing the data extraction process and / or delivery method depending on the emotional state of the user.

[1384] "Means for converting to CSV format" means a device or program for converting received data into comma-separated value (CSV) format.

[1385] "Means for providing a CSV file" refers to a device or program for providing the generated CSV file to the user in a downloadable format.

[1386] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from data storage, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses based on those emotions, thereby achieving a more user-friendly experience. The system of the present invention will now be described in detail.

[1387] System Configuration

[1388] User terminal

[1389] The user device provides a chat interface to create an environment where users can input data extraction requests in natural language. It also has a function to recognize the emotions expressed by users when they input data using an emotion engine. For this reason, the user device is equipped with an emotion recognition API and a natural language processing API.

[1390] server

[1391] The server has the following features:

[1392] 1. Receiving data extraction requests and emotion data

[1393] A data extraction request and emotion data transmitted from a user terminal are received.

[1394] For example, a user requests "I want to get sales data from January to June 2023," and emotional data indicating a sense of urgency is sent.

[1395] 2. Analysis using natural language processing

[1396] Use a natural language processing engine (e.g., GPT-4) to analyze the input sentence and identify specific data extraction requirements.

[1397] For example, identify "sales data for the period January to June 2023."

[1398] 3. Emotion Recognition by Emotion Engine

[1399] An emotion engine is used to analyze and recognize the user's emotion data.

[1400] For example, if a user indicates an emotion of "being in a hurry," that data is utilized.

[1401] 4. Adjusting Data Extraction Requirements

[1402] The server adjusts data extraction requirements based on the perceived sentiment.

[1403] For example, a user in a hurry can be given detailed progress reports.

[1404] 5. Generating SQL Queries

[1405] Generate appropriate SQL queries based on identified data extraction requirements.

[1406] For example, the following SQL query is generated:

[1407] sql

[1408] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1409] 6. Executing queries and receiving data

[1410] The generated SQL query is sent to the data storage and executed.

[1411] The data returned from the data storage is received and stored on the server.

[1412] 7. Error Checking

[1413] Performs error checks on received data to check for data consistency and missing data.

[1414] If an error is detected, an error log is generated and the query is executed again or the user is notified as necessary.

[1415] 8. Convert to CSV format

[1416] Convert data that passes the error check into CSV format.

[1417] For example, it will be saved with the file name "Sales Data_2023-01_to_2023-06.csv".

[1418] 9. Providing CSV files

[1419] Create a download link for the generated CSV file and provide it to the user via the chat interface.

[1420] The user can click on this link to download the file.

[1421] Use of concrete examples and prompts

[1422] Specific examples

[1423] For example, if a user enters "I would like to get sales data for January to June 2023," you would use a prompt statement like this:

[1424] Parsing data extraction requests

[1425] The user has entered "I want to retrieve sales data from January to June 2023." Please analyze the data extraction request using natural language processing.

[1426] emotion recognition

[1427] Recognize emotions like "hurry" or "troubled" based on user input.

[1428] SQL Query Generation

[1429] Generate appropriate SQL queries based on requirements elicitation results.

[1430] CSV conversion

[1431] Convert the following data into CSV format. Save it as "Sales Data_2023-01_to_2023-06.csv".

[1432] This allows users to easily obtain the data they need while taking their emotions into consideration and download it in CSV format.

[1433] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1434] Step 1:

[1435] User input of data extraction request

[1436] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1437] Input: User's data extraction request

[1438] Output: Text data of data extraction request

[1439] Step 2:

[1440] Data extraction request and emotion data transmission by terminal

[1441] The device sends the input data extraction request to the server. At the same time, the device uses an emotion engine to analyze the user's current emotion. For example, the emotion "I'm in a hurry" is recognized.

[1442] Input: Text data of data extraction request, user emotion data

[1443] Output: Data extraction request and emotion data sent to the server

[1444] Step 3:

[1445] Server parsing of data extraction requests

[1446] The server uses a natural language processing engine (e.g., GPT-4) to analyze the received data extraction request. As a result of the analysis, specific data extraction requirements (e.g., period "January to June 2023", data type "sales data") are identified.

[1447] Input: Text data of data extraction request

[1448] Output: Identified data extraction requirements

[1449] Step 4:

[1450] Device-based user emotion recognition

[1451] The device uses the emotion engine to analyze and recognize the emotion of the user when making a data extraction request. For example, if the user expresses an emotion of "distress," it will recognize this.

[1452] Input: User emotion data

[1453] Output: Recognized emotion information

[1454] Step 5:

[1455] Server-driven data extraction requirements adjustment

[1456] The server adjusts the data extraction requirements based on the recognized emotion information. For example, if the user expresses the emotion "I'm in trouble," it sets up additional explanations or a confirmation process.

[1457] Input: Identified data extraction requirements, recognized emotion information

[1458] Output: Adjusted data extraction requirements

[1459] Step 6:

[1460] Server-generated SQL queries

[1461] The server generates SQL queries based on the adjusted data extraction requirements, for example, the following SQL queries:

[1462] sql

[1463] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1464] Input: Tailored data extraction requirements

[1465] Output: Generated SQL query

[1466] Step 7:

[1467] Server executes query and receives data

[1468] The server sends the generated SQL query to the data storage, executes the query, and receives the returned data from the data storage.

[1469] Input: Generated SQL query

[1470] Output: Data returned from data storage

[1471] Step 8:

[1472] Server checks data for errors

[1473] The server performs an error check on the data it receives. Specifically, it checks for data consistency and missing data, and if necessary, requests the erroneous data again. It also generates an error log.

[1474] Input: Data returned from data storage

[1475] Output: Error check results, error log (if necessary)

[1476] Step 9:

[1477] Conversion to CSV format by the server

[1478] The server converts the data that passes the error check into CSV format. This CSV file is given a file name such as "Sales Data_2023-01_to_2023-06.csv."

[1479] Input: Data that passes error checks

[1480] Output: CSV format file

[1481] Step 10:

[1482] Server provides CSV file

[1483] The server creates a download link for the generated CSV file and provides it to the user through the chat interface. The user clicks on this link to download the CSV file to their device.

[1484] Input: CSV format file

[1485] Output: Download link for CSV file, user can download CSV file

[1486] (Application example 2)

[1487] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1488] In today's data-driven business environment, users need to quickly and accurately extract diverse data and perform information analysis. However, existing systems face challenges in ensuring users can accurately input data extraction requests and respond appropriately to the extracted data. Furthermore, no systems exist that provide responses that take into account fluctuations due to user emotions, which can degrade the quality of the user experience. Therefore, there is a need for the development of a system that can extract data using natural language, recognize user emotions, and provide appropriate responses.

[1489] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1490] In this invention, the server includes: means for receiving a data extraction request in natural language; means for analyzing the received data extraction request and identifying specific data extraction requirements; means for generating an SQL query based on the identified data extraction requirements; means for transmitting the generated SQL query to a data warehouse and executing it; means for receiving data returned from the data warehouse; means for converting the received data into CSV format; means for providing the converted CSV file; means for providing a chat interface that allows a user to input a data extraction request in natural language; and means for recognizing the user's emotions using an emotion recognition engine and adjusting a response as necessary. This allows a user to easily make a data extraction request in natural language and receive a highly compatible response from the emotion recognition engine.

[1491] A "natural language" is a language that is used by humans on a daily basis and is expressed in writing or speech.

[1492] A "data extraction request" is a user-entered request for extracting specific data.

[1493] A "chat interface" is a user interface that allows users to communicate in a text-based conversational format.

[1494] An "emotion recognition engine" is a system that identifies the emotional state of a user from their input and behavior and provides an appropriate response.

[1495] A "natural language processing engine" is a technology for analyzing natural language text and understanding its meaning and structure.

[1496] A "generative AI model" is an artificial intelligence model that automatically generates text and data.

[1497] A "prompt sentence" is an input sentence given to a generative AI model, which instructs the output content to be generated.

[1498] A "data warehouse" is a system for collecting, storing, and managing large amounts of data.

[1499] An "SQL query" is a command statement for performing operations on a database.

[1500] The present invention is a system that allows users to input data extraction requests in natural language, and efficiently extracts and provides the necessary data from a data warehouse based on the requests. Furthermore, it can improve the user experience by recognizing the user's emotions and adjusting the response.

[1501] System Configuration

[1502] The system includes the following major components:

[1503] 1. User terminal: Provides a chat interface for users to input data extraction requests. The terminal runs on a smartphone, computer, or other internet-connected device.

[1504] 2. Emotion Recognition Engine: Analyzes user input and recognizes the user's emotional state. This engine utilizes, for example, the OpenAI API.

[1505] 3. Natural Language Processing Engine: Used to analyze the user's natural language input and identify specific data extraction requirements. For example, a natural language processing library such as spaCy or NLTK can be used.

[1506] 4. Server: This is the back-end system that analyzes data extraction requests, recognizes emotions, extracts data, converts data, and provides files.

[1507] 5. Data Warehouse: A system for storing data and running SQL queries. For example, you could use Amazon Redshift.

[1508] System Operation

[1509] When a user inputs a data extraction request in natural language using the chat interface, the user terminal transmits the request to the server, which then performs the following process.

[1510] 1. Parsing the data extraction request: The server uses a natural language processing engine to parse the user's request and identify the specific data extraction requirements.

[1511] 2. Emotion Recognition: At the same time, an emotion recognition engine is used to recognize the user's emotions, which can provide more detailed information or additional help if the user is in a difficult situation, for example.

[1512] 3. SQL Query Generation: Based on the identified data extraction requirements, the server generates the SQL queries.

[1513] 4. Data extraction: The generated SQL queries are sent to the data warehouse to extract the required data.

[1514] 5. Data error check: Check the extracted data for consistency and missing data.

[1515] 6. Convert to CSV format: Convert the checked data to CSV format and generate a download link.

[1516] 7. Provide file: The server provides the user with a download link for the generated CSV file.

[1517] Specific examples

[1518] For example, if a user inputs a request such as "Show me my order history for 2022," this request is sent to the server. The server analyzes this request and performs the following processes:

[1519] Analyzing user requirements: A natural language processing engine is used to identify extracted requirements ("2022" and "order history").

[1520] Emotion recognition: The emotion recognition engine recognizes the user's emotional state as "normal."

[1521] Generate SQL queries: For example, generate the following SQL query: SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

[1522] Data extraction and error checking: The generated SQL queries are sent to the data warehouse to extract data and perform error checking.

[1523] Convert to CSV format: Convert the extracted data to CSV format and save it as "Order History_2022.csv".

[1524] Generate and provide a download link: Provide a download link for the generated CSV file via the chat interface.

[1525] Prompt Sentence Examples

[1526] It receives user input such as "Show me my order history for 2022," extracts the required data from the data warehouse, and tailors the response based on the user's emotions using an emotion recognition engine. Finally, it provides the data in CSV format.

[1527] This allows users to receive fast, accurate, and emotionally sensitive data extraction and provision.

[1528] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1529] Step 1:

[1530] The user opens a chat interface and enters a data extraction request in natural language.

[1531] Enter: "Show me my order history for 2022"

[1532] Output: Data extraction request text

[1533] Specific operation: A user launches an application on a device such as a smartphone or computer and enters text on the chat interface.

[1534] Step 2:

[1535] The device sends a data extraction request text to the server, along with emotion recognition data.

[1536] Input: Data extraction request text

[1537] Output: Data extraction request text sent to the server

[1538] Specific operation: The device sends the text entered in the chat interface and information for recognizing the user's emotions (e.g., typing speed, word choice, etc.) to the server.

[1539] Step 3:

[1540] The server uses a natural language processing engine to analyze the received data extraction request text.

[1541] Input: Data extraction request text

[1542] Output: Identified data extraction requirements (e.g., "2022" and "Order History")

[1543] Specific operation: The server calls a natural language processing engine (e.g., spaCy or NLTK) to analyze the text of the data extraction request and extract specific requirements such as the period and data type.

[1544] Step 4:

[1545] The server uses an emotion recognition engine to recognize the user's emotions and adjusts the response based on the recognition results.

[1546] Input: User input data, emotional information

[1547] Output: User's emotional state (e.g., "normal" or "troubled")

[1548] Specific behavior: The server uses an emotion recognition engine (e.g., OpenAI API) to analyze the user's input data and emotional information to identify the user's emotional state. Based on this result, the server configures itself to provide additional information or help if necessary.

[1549] Step 5:

[1550] The server generates SQL queries based on the specified data extraction requirements.

[1551] Input: Identified data extraction requirements

[1552] Output: SQL query (e.g. "SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';")

[1553] Specific operation: The server automatically generates an SQL query based on the specified data extraction requirements (time period, data type, etc.). For example, it generates a query to extract order data for "2022" from the database table "orders."

[1554] Step 6:

[1555] The server sends the generated SQL query to the data warehouse to extract the data.

[1556] Input: SQL query

[1557] Output: Extracted data (e.g., records such as "Order ID," "Product Name," "Quantity," and "Order Date")

[1558] Specific operation: The server sends the generated SQL query to a data warehouse (e.g., Amazon Redshift) and extracts data that matches the specified conditions.

[1559] Step 7:

[1560] The server performs error checking on the data it receives.

[1561] Input: Extracted data

[1562] Output: Error-checked data

[1563] How it works: The server performs consistency checks on the data it receives, checking for missing data or outliers, and applies automatic correction measures if inconsistencies are found.

[1564] Step 8:

[1565] The server converts the error-checked data into CSV format.

[1566] Input: Error-checked data

[1567] Output: CSV file

[1568] Specific operation: The server formats the error-checked data into CSV format and saves it with a file name such as "Order History_2022.csv", accurately generating the CSV file according to the column structure and type of the data.

[1569] Step 9:

[1570] The server provides a download link for the generated CSV file to the user's device, and the user downloads the file using the link.

[1571] Input: CSV file

[1572] Output: Download link

[1573] Specific operation: The server uploads the generated CSV file to the hosting service and generates a download link, which is provided to the user through the chat interface, allowing the user to click on the link to download the file.

[1574] In this way, each step has specific inputs and outputs, and the steps work together to enable the user to extract data quickly and efficiently.

[1575] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1576] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1577] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[1578] [Fourth embodiment]

[1579] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1580] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1581] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1582] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1583] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1584] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1585] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1586] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1587] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1588] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1589] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1590] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1591] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1592] The system of the present invention automates the entire process from a user without SQL skills entering a data extraction request in natural language, to extracting the data from a data warehouse and providing it in CSV format. A specific embodiment of this system is described below.

[1593] System Configuration

[1594] 1. User Device:

[1595] Provide a chat interface to allow users to enter data extraction requests in natural language.

[1596] 2. Server:

[1597] A data extraction request is received from a user terminal.

[1598] A natural language processing engine is used to analyze incoming data extraction requests and identify specific data extraction requirements.

[1599] Generate SQL queries based on identified data extraction requirements.

[1600] The generated SQL query is sent to the data warehouse and executed.

[1601] Receives data returned from the data warehouse.

[1602] Convert the received data into CSV format.

[1603] The converted CSV file is provided to the user terminal.

[1604] Program processing

[1605] User request for data extraction

[1606] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1607] Server parsing of data definitions

[1608] The server receives natural language input from the user and analyzes its content. It uses a natural language processing engine to analyze the input sentence and identify specific data extraction requirements (e.g., period "January to June 2023", data type "sales data").

[1609] SQL query generation by the server

[1610] Based on the specified requirements, the server generates the appropriate SQL query using an internal template engine and rule base, for example generating the following SQL query:

[1611] sql

[1612] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1613] Server executes query and receives data

[1614] The server sends the generated SQL query to the data warehouse and executes it. The server receives the data returned from the data warehouse. It performs error checks on the received data to ensure there are no problems.

[1615] Server-based CSV file generation

[1616] The server converts the received data into CSV format and generates the converted data with the file name "Sales Data_2023-01_to_2023-06.csv".

[1617] CSV file provided by the server

[1618] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[1619] Specific examples

[1620] Sales data extraction

[1621] 1. User: "I want to get sales data from January to June 2023."

[1622] 2. The server receives the input and analyzes it using a natural language processing engine.

[1623] 3. The server generates an SQL query based on the parsed results:

[1624] sql

[1625] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1626] 4. The server runs this query on the data warehouse and receives the data.

[1627] 5. The data received by the server is converted into CSV format as "Sales Data_2023-01_to_2023-06.csv".

[1628] 6. The server provides a download link via the chat interface, and the user downloads the CSV file.

[1629] Such a system allows users to easily extract and retrieve the necessary data from the data warehouse without any SQL skills.

[1630] The processing flow will be explained below.

[1631] Step 1:

[1632] The user opens the chat interface on their device and enters a data extraction request in natural language. For example, they might enter, "I would like to retrieve sales data from January to June 2023."

[1633] Step 2:

[1634] The terminal transmits the input data extraction request to the server, and the input content is transmitted to the server via the chat interface.

[1635] Step 3:

[1636] The server uses a natural language processing engine to analyze the natural language data extraction request received from the user, thereby identifying the necessary data extraction requirements from the input sentence.

[1637] Step 4:

[1638] Based on the analysis results, the server interprets the data extraction requirements (e.g., time period and type of data) and generates an appropriate SQL query based on them.

[1639] Step 5:

[1640] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[1641] Step 6:

[1642] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[1643] Step 7:

[1644] The server performs error checking on the data it receives, checking for data consistency and missing data.

[1645] Step 8:

[1646] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[1647] Step 9:

[1648] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface.

[1649] Step 10:

[1650] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[1651] By following these steps, users can extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills.

[1652] Example 1

[1653] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1654] Traditionally, extracting data from a data warehouse required advanced expertise, making it difficult for general users to easily obtain business data. Manual data extraction was also time-consuming and prone to human error. Furthermore, writing complex SQL queries and converting the format of extracted data were cumbersome.

[1655] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1656] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating a query in an inquiry language based on the identified data extraction requirements, means for transmitting the generated query to a data storage and executing it, means for receiving data returned from the data storage, means for converting the received data into a data format, and means for providing the converted data file. This allows general users, even those without specialized knowledge, to automatically obtain the required data and use it in the specified format simply by inputting a data extraction request in natural language.

[1657] A "data extraction request in natural language" is a request made by a user using everyday language to obtain specific data.

[1658] "Analysis" refers to a series of processes that interpret received natural language requests and extract the request contents into specific data extraction requirements.

[1659] "Data extraction requirements" indicate the specific conditions and range of data that a user desires.

[1660] A "query language query" is a command statement that retrieves or manipulates data in a particular database management system.

[1661] "Data storage" is a general term for systems and devices used to retain data for long periods of time.

[1662] "Receiving" is the act of obtaining data returned from data storage.

[1663] A "data format" indicates the structure and rules by which data is organized. Examples include CSV, JSON, and XML.

[1664] "Conversion" is the process of changing data from one data format to another.

[1665] A "data file" refers to a file stored in a particular data format.

[1666] This invention is a system that allows general users, even those without specialized knowledge, to input data extraction requests in natural language, automatically extracting necessary data from a data warehouse and providing it in an easy-to-use format. Specific embodiments of this system are described below.

[1667] System Configuration

[1668] 1. User Device

[1669] The system provides a chat interface for users to input data extraction requests in natural language. For example, it can be configured as a web application.

[1670] 2. Server

[1671] A data extraction request is received from a user terminal.

[1672] Natural language processing technology (e.g., a language processing engine) is used to analyze the received data extraction request and identify specific data extraction requirements.

[1673] Generate a query language query based on the identified data extraction requirements.

[1674] The generated query is sent to a data storage and executed. Here, a data warehouse (e.g., a general-purpose data management system) is used as the data storage.

[1675] Receives the data returned from the data storage and performs error checking.

[1676] Convert the received data into an appropriate data format (e.g., CSV format). Specifically, use the Python pandas library to perform the data conversion.

[1677] The converted data file is provided through a chat interface accessible to the user.

[1678] Specific examples

[1679] A user submits a data extraction request through the chat interface, saying, "I want to get sales data from January to June 2023." The server receives this request and uses natural language processing techniques to identify the specific data extraction requirements, such as:

[1680] Period: January to June 2023

[1681] Data type: "Sales data"

[1682] The server then uses a template engine to generate a SQL query like this:

[1683] sql

[1684] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1685] The generated SQL query is sent to the data warehouse, and the query execution results are returned to the server. The server receives this data and performs error checks. If there are no problems, the received data is converted to CSV format using the Python pandas library. The generated CSV file is saved as "Sales Data_2023-01_to_2023-06.csv".

[1686] Finally, the server provides a download link for this CSV file to the user through the chat interface, and the user can click the link to download the CSV file and obtain the data they need.

[1687] Prompt Sentence Examples

[1688] Below is an example of a prompt sentence to input to the generative AI model.

[1689] "I want to get sales data from January to June 2023." Parse this request as an SQL query.

[1690] In this way, the system is designed to automate everything from analyzing data extraction requests in natural language to generating and providing data, allowing users to easily obtain the data they need.

[1691] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1692] Step 1:

[1693] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1694] Specific behavior: The user types input into a text box in the chat interface and clicks the send button.

[1695] Input: A natural language data extraction request.

[1696] Output: The user terminal sends a request to the server.

[1697] Step 2:

[1698] The server receives a natural language request from a user and parses the received data extraction request using a natural language processing engine (e.g., a general-purpose language analysis system).

[1699] Specific operation: The server generates an API request and sends it to the language processing engine. The server receives the API response and extracts the data extraction requirements.

[1700] Input: A natural language data extraction request.

[1701] Output: Specific data extraction requirements (e.g., period "January to June 2023", data type "Sales data").

[1702] Step 3:

[1703] The server generates a query language query based on the specified requirements. It uses a template engine (e.g., a template generation library) to generate SQL queries.

[1704] Specific operation: The server inputs extraction requirements to the template engine, generates SQL queries from the templates, and logs the generated SQL queries.

[1705] Input: Specific data extraction requirements.

[1706] Output: SQL query. Example: SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1707] Step 4:

[1708] The server sends the generated SQL query to a data storage (e.g., a general-purpose database system), executes the query, and receives the returned data from the data storage.

[1709] Specific operation: The server sends a query using the data storage client library. The server performs error checks on the received data to ensure data integrity.

[1710] Input: SQL query.

[1711] Output: The received data.

[1712] Step 5:

[1713] The server converts the received data into a data format (e.g., CSV format). Data conversion is performed using the Python pandas library.

[1714] Specific operation: The server converts the data into a data frame using the pandas library, exports the data frame to a CSV file, and saves it to the file system.

[1715] Input: Received data.

[1716] Output: Converted CSV file. Example: "Sales Data_2023-01_to_2023-06.csv"

[1717] Step 6:

[1718] The server provides the user with a download link for the generated CSV file through the chat interface, and the user clicks the download link to download the CSV file.

[1719] Specific operation: The server generates a download link based on the path of the CSV file and sends it to the chat interface. The device displays the received link to the user. The user clicks the link to download the CSV file locally.

[1720] Input: The converted CSV file.

[1721] Output: A downloadable link for the user.

[1722] (Application example 1)

[1723] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1724] Conventional data extraction systems have the problem that data extraction is difficult for users without SQL skills and requires specialized knowledge, resulting in reduced work efficiency.In addition, to quickly and accurately obtain the necessary data at the site, such as a logistics center, an intuitive interface using natural language is required, but there was no appropriate means to achieve this.

[1725] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1726] In this invention, the server includes means for receiving a data extraction request in natural language, means for analyzing the received data extraction request and identifying specific data extraction requirements, means for generating an SQL query based on the identified data extraction requirements, means for transmitting the generated SQL query to a database management system and executing it, means for receiving data returned from the database management system, means for converting the received data into a data frame format, means for providing the converted data frame file, means for a user to input a data extraction request in natural language using a smart device, and means for providing a download link for the generated data frame file. This enables even users without SQL skills to quickly and accurately obtain required data through an intuitive natural language interface.

[1727] "Natural language" refers to the language that users use in normal conversation and writing.

[1728] "Data Extraction Request" means a request submitted by a User to retrieve specific data.

[1729] A "smart device" refers to a portable information terminal that can connect to the Internet and has advanced computing capabilities.

[1730] A "natural language processing engine" refers to software that analyzes natural language input and converts it into structured information.

[1731] A "database management system" refers to a software system for efficiently managing, manipulating, and retrieving large amounts of data.

[1732] An "SQL query" refers to a query statement that instructs a database to perform a specific data operation (retrieve, insert, update, delete).

[1733] A "data frame format" refers to a format that represents a set of structured data in a two-dimensional table format (columns and rows).

[1734] "User interface" refers to the means by which a user interacts with a system.

[1735] "CSV format" refers to a comma-separated text file format, a standard format for saving data in a tabular format.

[1736] A "download link" refers to a URL that allows a user to obtain a specific file over a network.

[1737] The system for implementing this invention mainly consists of a smart device, a server, and a database management system. This system realizes a series of processes in which a user inputs a data extraction request in natural language, the required data is automatically extracted from a data warehouse, and the data is provided in CSV format. A detailed description of this system is provided below.

[1738] Hardware and software used

[1739] Smart devices: Used by users to input data extraction requests in natural language, for example, smartphones or robots.

[1740] server:

[1741] Natural language processing engine: For example, using the Google Cloud Natural Language API to parse natural language input and identify specific data extraction requirements.

[1742] Database management system: For example, Amazon Redshift or Google BigQuery are used to manage data.

[1743] Communication method: The internet is used for communication between smart devices and the server.

[1744] Data processing and calculation flow

[1745] 1. Input of data extraction request: A user can input a data extraction request in natural language using a smart device. For example, a request could be, "Please get this week's shipping data."

[1746] 2. Natural Language Processing: The server receives this input and uses a natural language processing engine to analyze its content, specifically extracting specific data extraction requirements (e.g., specific time periods and data types) from natural language such as "shipping data for this week."

[1747] 3. SQL Query Generation: Based on the specified requirements, the server generates an appropriate SQL query, e.g.

[1748] sql

[1749] SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';

[1750] A query like this is generated.

[1751] 4. Query execution: The server sends the generated SQL query to the database management system for execution.

[1752] 5. Receiving data and checking for errors: The server receives the data returned from the database management system and performs error checking on the data.

[1753] 6. Converting data to CSV format: The received data is converted to a data frame format and then saved in CSV format, for example, as a file named "Shipping data_2023-10-01_to_2023-10-07.csv."

[1754] 7. Provide to user: The server provides the user with a download link for the generated CSV file, which the user can click to download the data.

[1755] Specific examples

[1756] For example, if a user makes a request such as "Please tell me the stock status of a particular product this month," the server performs the following process.

[1757] User request: "What is the current availability of a particular product?"

[1758] Natural Language Processing: The server parses this request and generates the following SQL query:

[1759] sql

[1760] SELECT FROM inventory WHERE product_id = 'PRODUCT_ID' AND inventory_date BETWEEN '2023-10-01' AND '2023-10-31';

[1761] Execute query and receive data: The server executes this query and receives the returned data from the database management system.

[1762] Data conversion: Convert the received data into CSV format as "Stock status_PRODUCT_ID_2023-10.csv".

[1763] Provide to user: The server provides the user with a download link for the generated CSV file, and the user clicks on this link to download the data.

[1764] Prompt Sentence Examples

[1765] Based on the user's natural language input "I want to get sales data from January to June 2023," generate the following SQL query:

[1766] sql

[1767] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1768] In this way, the system can parse the user's natural language input, generate SQL queries based on specific data requirements, and quickly deliver the right data.

[1769] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1770] Step 1:

[1771] A user inputs a data extraction request in natural language using a smart device.

[1772] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[1773] Output: Data extraction request transferred from user terminal to server.

[1774] Specific operation: A natural language request entered as voice or text on an input device such as a smartphone is sent to a server through an interface application.

[1775] Step 2:

[1776] A server receives natural language input from a user.

[1777] Input: A data extraction request in natural language sent from a user terminal.

[1778] Output: Data extraction requests written in natural language are stored internally on the server.

[1779] Specific operation: The server's receiving module receives the request sent from the user terminal and passes it to the analysis part of the natural language processing engine.

[1780] Step 3:

[1781] The server uses a natural language processing engine to analyze the input text and identify specific data extraction requirements.

[1782] Input: A natural language data extraction request (e.g., "Please give me this week's shipping data").

[1783] Output: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[1784] What happens: A natural language processing engine (e.g., Google Cloud Natural Language API) analyzes the text and extracts requirements such as specific date ranges and data types.

[1785] Step 4:

[1786] The server generates the appropriate SQL queries based on the specified requirements.

[1787] Input: Data extraction requirements (e.g., period "2023-10-01 to 2023-10-07", data type "Shipping data").

[1788] Output: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[1789] Specific operation: Using a template engine or rule base, an SQL statement is constructed that matches the conditions of the extracted data.

[1790] Step 5:

[1791] The server sends the generated SQL query to the database management system for execution.

[1792] Input: The generated SQL query (e.g., "SELECT FROM shipments WHERE shipment_date >= '2023-10-01' AND shipment_date <= '2023-10-07';").

[1793] Output: The dataset returned from the database management system.

[1794] Specific operation: The server's query execution module sends the SQL statement to the database management system (e.g., Amazon Redshift), and the query is executed.

[1795] Step 6:

[1796] The server receives the data returned from the database management system and performs error checking on the data.

[1797] Input: Dataset received from database management system.

[1798] Output: An error-checked dataset.

[1799] Specific operation: The data receiving module of the server receives the data set and performs consistency checks and error checks.

[1800] Step 7:

[1801] The server converts the received data into a data frame format, which is then converted into a CSV format.

[1802] Input: An error-checked dataset.

[1803] Output: CSV file (e.g. "Shipping data_2023-10-01_to_2023-10-07.csv").

[1804] Specific operation: The server's data conversion module converts the data into a data frame format, and then exports it to CSV format.

[1805] Step 8:

[1806] The server returns a download link for the generated CSV file to the user's terminal interface, and the user uses the link to download the data.

[1807] Input: The generated CSV file.

[1808] Output: Download link and user gets CSV file.

[1809] Specific operation: The server's file serving module hosts the CSV file, generates a download link, and returns it to the user interface. The user clicks the link to download the file.

[1810] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1811] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from a data warehouse, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses accordingly, providing a more user-friendly experience. Specific embodiments of the present invention are described below.

[1812] System Configuration

[1813] 1. User Device:

[1814] A chat interface is provided to allow users to enter data extraction requests in natural language.

[1815] An emotion engine is used to recognize the emotion of the user when typing.

[1816] 2. Server:

[1817] A data extraction request is received from the user terminal, and emotion data of the user is also acquired using an emotion engine.

[1818] A natural language processing engine is used to analyze data extraction requests and identify specific data extraction requirements.

[1819] Adjust data extraction requirements as needed depending on the emotions recognized by the emotion engine.

[1820] Generate SQL queries based on identified data extraction requirements.

[1821] The generated SQL query is sent to the data warehouse and executed.

[1822] Receives data returned from the data warehouse.

[1823] Checks the received data for errors.

[1824] Convert the data into CSV format.

[1825] The converted CSV file is provided to the user terminal.

[1826] Program processing

[1827] User request for data extraction

[1828] A user opens a chat interface and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1829] Server parsing of data definitions

[1830] The terminal sends the input data extraction request to the server, which then uses a natural language processing engine to analyze the input sentence, thereby identifying the specific data extraction requirements desired by the user (e.g., period "January to June 2023", data type "sales data").

[1831] Emotion recognition by emotion engine

[1832] The device uses an emotion engine to recognize the emotion of the user when inputting a data extraction request, such as "I'm in a hurry" or "I'm in trouble."

[1833] Tailoring data extraction requirements

[1834] The server adjusts the data extraction requirements as needed based on the recognition results of the emotion engine. For example, if the user is having trouble, it can be configured to provide additional explanation or confirmation.

[1835] SQL query generation by the server

[1836] Based on the identified requirements, the server generates the appropriate SQL query, for example:

[1837] sql

[1838] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1839] Server executes query and receives data

[1840] Using the generated SQL query, the server connects to the data warehouse, executes the query, and receives the data.

[1841] Server checks data for errors

[1842] The server performs an error check on the received data to check for data consistency and missing data.

[1843] Server-based CSV file generation

[1844] The server converts data that passes the error check into CSV format. The converted data is given the file name "Sales Data_2023-01_to_2023-06.csv".

[1845] CSV file provided by the server

[1846] The server creates a download link for the generated CSV file and provides the link to the user via the chat interface. The user clicks the download link to download the CSV file to their device.

[1847] Specific examples

[1848] Sales data extraction

[1849] 1. User: "I want to get sales data from January to June 2023."

[1850] 2. The device sends a data extraction request to the server, and at the same time, the emotion engine recognizes the user's emotions.

[1851] 3. The server receives the input and analyzes it using a natural language processing engine.

[1852] 4. The server generates an SQL query based on the analysis results.

[1853] 5. The server runs the query on the data warehouse and receives the data.

[1854] 6. The server converts the received data into CSV format and generates it as "Sales Data_2023-01_to_2023-06.csv".

[1855] 7. The server provides a download link via the chat interface, and the user downloads the CSV file.

[1856] In this way, the present invention allows users to easily extract the required data from the data warehouse and obtain it in CSV format while receiving emotional consideration.

[1857] The processing flow will be explained below.

[1858] Step 1:

[1859] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1860] Step 2:

[1861] The device detects user input and uses an emotion engine to recognize the user's emotions, such as "I'm in a hurry" or "I'm in trouble."

[1862] Step 3:

[1863] The terminal sends a data extraction request and emotion data to the server.

[1864] Step 4:

[1865] The server uses a natural language processing engine to analyze data extraction requests received from users. This converts the user's request into specific data extraction requirements. If a user requests "sales data from January to June 2023," the data extraction requirements will be specified as "period: January 1, 2023 to June 30, 2023, data type: sales data."

[1866] Step 5:

[1867] The server analyzes the user's emotional data obtained from the emotion engine. For example, if the server detects that the user is in a hurry, it prioritizes immediate response and expedites the entire process.

[1868] Step 6:

[1869] The server generates a SQL query based on the specified data extraction requirements, for example, the following SQL query:

[1870] sql

[1871] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1872] Step 7:

[1873] The server establishes a connection to send the generated SQL query to the data warehouse, which uses it to extract data.

[1874] Step 8:

[1875] The server receives the data returned from the data warehouse as a result of executing an SQL query.

[1876] Step 9:

[1877] The server performs error checking on the data it receives, checking for data consistency and missing data.

[1878] Step 10:

[1879] The server converts data that passes the error check into CSV format, and assigns the converted data an appropriate file name (for example, "Sales Data_2023-01_to_2023-06.csv").

[1880] Step 11:

[1881] The server creates a download link for the generated CSV file and provides that link to the user via the chat interface.

[1882] Step 12:

[1883] The user clicks the download link displayed in the chat interface to download the CSV file to their device.

[1884] By following these steps, users can easily extract the necessary data from the data warehouse and obtain it in CSV format simply by entering a data extraction request in natural language, even if they have no SQL skills. Furthermore, by recognizing and responding to user emotions, a more user-friendly user experience can be provided.

[1885] Example 2

[1886] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1887] Conventional data extraction systems have the problem that it is difficult for users to clearly identify their specific requirements when entering data extraction requests. Furthermore, because they do not take the user's emotions into consideration, they are unable to respond appropriately even in difficult situations or when in a hurry, which can result in a poor user experience. Furthermore, error checking of extracted data was not automated, requiring manual confirmation work, resulting in low work efficiency.

[1888] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1889] In this invention, the server includes means for analyzing a data extraction request and identifying specific data extraction requirements, means for recognizing a user's emotion using an emotion engine, means for adjusting the data extraction requirements based on the recognized emotion, and means for performing error checks on the data, thereby enabling specific and accurate data extraction and automated error checks while taking the user's emotion into consideration.

[1890] A "data extraction request in natural language" refers to a data extraction request made to the system by a user using everyday language.

[1891] The "means for receiving a data extraction request" refers to a device or program having the function of receiving a data extraction request from a user on the system side and processing the content of the request.

[1892] The "means for analyzing a data extraction request" refers to a device or program that performs processing to understand a received data extraction request and break it down into specific requirements.

[1893] "Data Extraction Requirements" means the specific conditions or requirements contained in a data extraction request.

[1894] "Means for generating SQL queries" refers to a device or program that automatically generates appropriate database queries based on specified data extraction requirements.

[1895] "Data storage" refers to databases and data warehouses that store large amounts of data and allow data to be retrieved as needed.

[1896] "Means for sending to data storage and executing" refers to a device or program that has the functionality to send the generated SQL query to data storage and execute the query.

[1897] "Means for receiving data" refers to a device or program for receiving data returned as a result of executing a query.

[1898] "Means for performing error checking" refers to a device or program for checking whether received data contains errors and detecting erroneous data.

[1899] "Means for recognizing a user's emotions using an emotion engine" refers to a device or program that has the function of analyzing emotions from the user's input and grasping their emotional state.

[1900] "Means for adjusting data extraction requirements based on recognized emotions" refers to a device or program for optimizing the data extraction process and / or delivery method depending on the emotional state of the user.

[1901] "Means for converting to CSV format" means a device or program for converting received data into comma-separated value (CSV) format.

[1902] "Means for providing a CSV file" refers to a device or program for providing the generated CSV file to the user in a downloadable format.

[1903] The system of the present invention automates the process of analyzing data extraction requests entered by users in natural language, extracting the necessary data from data storage, and providing it in CSV format. It also incorporates an emotion engine that recognizes the user's emotions and adjusts responses based on those emotions, thereby achieving a more user-friendly experience. The system of the present invention will now be described in detail.

[1904] System Configuration

[1905] User terminal

[1906] The user device provides a chat interface to create an environment where users can input data extraction requests in natural language. It also has a function to recognize the emotions expressed by users when they input data using an emotion engine. For this reason, the user device is equipped with an emotion recognition API and a natural language processing API.

[1907] server

[1908] The server has the following features:

[1909] 1. Receiving data extraction requests and emotion data

[1910] A data extraction request and emotion data transmitted from a user terminal are received.

[1911] For example, a user requests "I want to get sales data from January to June 2023," and emotional data indicating a sense of urgency is sent.

[1912] 2. Analysis using natural language processing

[1913] Use a natural language processing engine (e.g., GPT-4) to analyze the input sentence and identify specific data extraction requirements.

[1914] For example, identify "sales data for the period January to June 2023."

[1915] 3. Emotion Recognition by Emotion Engine

[1916] An emotion engine is used to analyze and recognize the user's emotion data.

[1917] For example, if a user indicates an emotion of "being in a hurry," that data is utilized.

[1918] 4. Adjusting Data Extraction Requirements

[1919] The server adjusts data extraction requirements based on the perceived sentiment.

[1920] For example, a user in a hurry can be given detailed progress reports.

[1921] 5. Generating SQL Queries

[1922] Generate appropriate SQL queries based on identified data extraction requirements.

[1923] For example, the following SQL query is generated:

[1924] sql

[1925] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1926] 6. Executing queries and receiving data

[1927] The generated SQL query is sent to the data storage and executed.

[1928] The data returned from the data storage is received and stored on the server.

[1929] 7. Error Checking

[1930] Performs error checks on received data to check for data consistency and missing data.

[1931] If an error is detected, an error log is generated and the query is executed again or the user is notified as necessary.

[1932] 8. Convert to CSV format

[1933] Convert data that passes the error check into CSV format.

[1934] For example, it will be saved with the file name "Sales Data_2023-01_to_2023-06.csv".

[1935] 9. Providing CSV files

[1936] Create a download link for the generated CSV file and provide it to the user via the chat interface.

[1937] The user can click on this link to download the file.

[1938] Use of concrete examples and prompts

[1939] Specific examples

[1940] For example, if a user enters "I would like to get sales data for January to June 2023," you would use a prompt statement like this:

[1941] Parsing data extraction requests

[1942] The user has entered "I want to retrieve sales data from January to June 2023." Please analyze the data extraction request using natural language processing.

[1943] emotion recognition

[1944] Recognize emotions like "hurry" or "troubled" based on user input.

[1945] SQL Query Generation

[1946] Generate appropriate SQL queries based on requirements elicitation results.

[1947] CSV conversion

[1948] Convert the following data into CSV format. Save it as "Sales Data_2023-01_to_2023-06.csv".

[1949] This allows users to easily obtain the data they need while taking their emotions into consideration and download it in CSV format.

[1950] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1951] Step 1:

[1952] User input of data extraction request

[1953] The user opens the chat interface on their device and enters a data extraction request in natural language, for example, "I would like to retrieve sales data from January to June 2023."

[1954] Input: User's data extraction request

[1955] Output: Text data of data extraction request

[1956] Step 2:

[1957] Data extraction request and emotion data transmission by terminal

[1958] The device sends the input data extraction request to the server. At the same time, the device uses an emotion engine to analyze the user's current emotion. For example, the emotion "I'm in a hurry" is recognized.

[1959] Input: Text data of data extraction request, user emotion data

[1960] Output: Data extraction request and emotion data sent to the server

[1961] Step 3:

[1962] Server parsing of data extraction requests

[1963] The server uses a natural language processing engine (e.g., GPT-4) to analyze the received data extraction request. As a result of the analysis, specific data extraction requirements (e.g., period "January to June 2023", data type "sales data") are identified.

[1964] Input: Text data of data extraction request

[1965] Output: Identified data extraction requirements

[1966] Step 4:

[1967] Device-based user emotion recognition

[1968] The device uses the emotion engine to analyze and recognize the emotion of the user when making a data extraction request. For example, if the user expresses an emotion of "distress," it will recognize this.

[1969] Input: User emotion data

[1970] Output: Recognized emotion information

[1971] Step 5:

[1972] Server-driven data extraction requirements adjustment

[1973] The server adjusts the data extraction requirements based on the recognized emotion information. For example, if the user expresses the emotion "I'm in trouble," it sets up additional explanations or a confirmation process.

[1974] Input: Identified data extraction requirements, recognized emotion information

[1975] Output: Adjusted data extraction requirements

[1976] Step 6:

[1977] Server-generated SQL queries

[1978] The server generates SQL queries based on the adjusted data extraction requirements, for example, the following SQL queries:

[1979] sql

[1980] SELECT FROM sales WHERE sale_date BETWEEN '2023-01-01' AND '2023-06-30';

[1981] Input: Tailored data extraction requirements

[1982] Output: Generated SQL query

[1983] Step 7:

[1984] Server executes query and receives data

[1985] The server sends the generated SQL query to the data storage, executes the query, and receives the returned data from the data storage.

[1986] Input: Generated SQL query

[1987] Output: Data returned from data storage

[1988] Step 8:

[1989] Server checks data for errors

[1990] The server performs an error check on the data it receives. Specifically, it checks for data consistency and missing data, and if necessary, requests the erroneous data again. It also generates an error log.

[1991] Input: Data returned from data storage

[1992] Output: Error check results, error log (if necessary)

[1993] Step 9:

[1994] Conversion to CSV format by the server

[1995] The server converts the data that passes the error check into CSV format. This CSV file is given a file name such as "Sales Data_2023-01_to_2023-06.csv."

[1996] Input: Data that passes error checks

[1997] Output: CSV format file

[1998] Step 10:

[1999] Server provides CSV file

[2000] The server creates a download link for the generated CSV file and provides it to the user through the chat interface. The user clicks on this link to download the CSV file to their device.

[2001] Input: CSV format file

[2002] Output: Download link for CSV file, user can download CSV file

[2003] (Application example 2)

[2004] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2005] In today's data-driven business environment, users need to quickly and accurately extract diverse data and perform information analysis. However, existing systems face challenges in ensuring users can accurately input data extraction requests and respond appropriately to the extracted data. Furthermore, no systems exist that provide responses that take into account fluctuations due to user emotions, which can degrade the quality of the user experience. Therefore, there is a need for the development of a system that can extract data using natural language, recognize user emotions, and provide appropriate responses.

[2006] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[2007] In this invention, the server includes: means for receiving a data extraction request in natural language; means for analyzing the received data extraction request and identifying specific data extraction requirements; means for generating an SQL query based on the identified data extraction requirements; means for transmitting the generated SQL query to a data warehouse and executing it; means for receiving data returned from the data warehouse; means for converting the received data into CSV format; means for providing the converted CSV file; means for providing a chat interface that allows a user to input a data extraction request in natural language; and means for recognizing the user's emotions using an emotion recognition engine and adjusting a response as necessary. This allows a user to easily make a data extraction request in natural language and receive a highly compatible response from the emotion recognition engine.

[2008] A "natural language" is a language that is used by humans on a daily basis and is expressed in writing or speech.

[2009] A "data extraction request" is a user-entered request for extracting specific data.

[2010] A "chat interface" is a user interface that allows users to communicate in a text-based conversational format.

[2011] An "emotion recognition engine" is a system that identifies the emotional state of a user from their input and behavior and provides an appropriate response.

[2012] A "natural language processing engine" is a technology for analyzing natural language text and understanding its meaning and structure.

[2013] A "generative AI model" is an artificial intelligence model that automatically generates text and data.

[2014] A "prompt sentence" is an input sentence given to a generative AI model, which instructs the output content to be generated.

[2015] A "data warehouse" is a system for collecting, storing, and managing large amounts of data.

[2016] An "SQL query" is a command statement for performing operations on a database.

[2017] The present invention is a system that allows users to input data extraction requests in natural language, and efficiently extracts and provides the necessary data from a data warehouse based on the requests. Furthermore, it can improve the user experience by recognizing the user's emotions and adjusting the response.

[2018] System Configuration

[2019] The system includes the following major components:

[2020] 1. User terminal: Provides a chat interface for users to input data extraction requests. The terminal runs on a smartphone, computer, or other internet-connected device.

[2021] 2. Emotion Recognition Engine: Analyzes user input and recognizes the user's emotional state. This engine utilizes, for example, the OpenAI API.

[2022] 3. Natural Language Processing Engine: Used to analyze the user's natural language input and identify specific data extraction requirements. For example, a natural language processing library such as spaCy or NLTK can be used.

[2023] 4. Server: This is the back-end system that analyzes data extraction requests, recognizes emotions, extracts data, converts data, and provides files.

[2024] 5. Data Warehouse: A system for storing data and running SQL queries. For example, you could use Amazon Redshift.

[2025] System Operation

[2026] When a user inputs a data extraction request in natural language using the chat interface, the user terminal transmits the request to the server, which then performs the following process.

[2027] 1. Parsing the data extraction request: The server uses a natural language processing engine to parse the user's request and identify the specific data extraction requirements.

[2028] 2. Emotion Recognition: At the same time, an emotion recognition engine is used to recognize the user's emotions, which can provide more detailed information or additional help if the user is in a difficult situation, for example.

[2029] 3. SQL Query Generation: Based on the identified data extraction requirements, the server generates the SQL queries.

[2030] 4. Data extraction: The generated SQL queries are sent to the data warehouse to extract the required data.

[2031] 5. Data error check: Check the extracted data for consistency and missing data.

[2032] 6. Convert to CSV format: Convert the checked data to CSV format and generate a download link.

[2033] 7. Provide file: The server provides the user with a download link for the generated CSV file.

[2034] Specific examples

[2035] For example, if a user inputs a request such as "Show me my order history for 2022," this request is sent to the server. The server analyzes this request and performs the following processes:

[2036] Analyzing user requirements: A natural language processing engine is used to identify extracted requirements ("2022" and "order history").

[2037] Emotion recognition: The emotion recognition engine recognizes the user's emotional state as "normal."

[2038] Generate SQL queries: For example, generate the following SQL query: SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

[2039] Data extraction and error checking: The generated SQL queries are sent to the data warehouse to extract data and perform error checking.

[2040] Convert to CSV format: Convert the extracted data to CSV format and save it as "Order History_2022.csv".

[2041] Generate and provide a download link: Provide a download link for the generated CSV file via the chat interface.

[2042] Prompt Sentence Examples

[2043] It receives user input such as "Show me my order history for 2022," extracts the required data from the data warehouse, and tailors the response based on the user's emotions using an emotion recognition engine. Finally, it provides the data in CSV format.

[2044] This allows users to receive fast, accurate, and emotionally sensitive data extraction and provision.

[2045] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[2046] Step 1:

[2047] The user opens a chat interface and enters a data extraction request in natural language.

[2048] Enter: "Show me my order history for 2022"

[2049] Output: Data extraction request text

[2050] Specific operation: A user launches an application on a device such as a smartphone or computer and enters text on the chat interface.

[2051] Step 2:

[2052] The device sends a data extraction request text to the server, along with emotion recognition data.

[2053] Input: Data extraction request text

[2054] Output: Data extraction request text sent to the server

[2055] Specific operation: The device sends the text entered in the chat interface and information for recognizing the user's emotions (e.g., typing speed, word choice, etc.) to the server.

[2056] Step 3:

[2057] The server uses a natural language processing engine to analyze the received data extraction request text.

[2058] Input: Data extraction request text

[2059] Output: Identified data extraction requirements (e.g., "2022" and "Order History")

[2060] Specific operation: The server calls a natural language processing engine (e.g., spaCy or NLTK) to analyze the text of the data extraction request and extract specific requirements such as the period and data type.

[2061] Step 4:

[2062] The server uses an emotion recognition engine to recognize the user's emotions and adjusts the response based on the recognition results.

[2063] Input: User input data, emotional information

[2064] Output: User's emotional state (e.g., "normal" or "troubled")

[2065] Specific behavior: The server uses an emotion recognition engine (e.g., OpenAI API) to analyze the user's input data and emotional information to identify the user's emotional state. Based on this result, the server configures itself to provide additional information or help if necessary.

[2066] Step 5:

[2067] The server generates SQL queries based on the specified data extraction requirements.

[2068] Input: Identified data extraction requirements

[2069] Output: SQL query (e.g. "SELECT FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';")

[2070] Specific operation: The server automatically generates an SQL query based on the specified data extraction requirements (time period, data type, etc.). For example, it generates a query to extract order data for "2022" from the database table "orders."

[2071] Step 6:

[2072] The server sends the generated SQL query to the data warehouse to extract the data.

[2073] Input: SQL query

[2074] Output: Extracted data (e.g., records such as "Order ID," "Product Name," "Quantity," and "Order Date")

[2075] Specific operation: The server sends the generated SQL query to a data warehouse (e.g., Amazon Redshift) and extracts data that matches the specified conditions.

[2076] Step 7:

[2077] The server performs error checking on the data it receives.

[2078] Input: Extracted data

[2079] Output: Error-checked data

[2080] How it works: The server performs consistency checks on the data it receives, checking for missing data or outliers, and applies automatic correction measures if inconsistencies are found.

[2081] Step 8:

[2082] The server converts the error-checked data into CSV format.

[2083] Input: Error-checked data

[2084] Output: CSV file

[2085] Specific operation: The server formats the error-checked data into CSV format and saves it with a file name such as "Order History_2022.csv", accurately generating the CSV file according to the column structure and type of the data.

[2086] Step 9:

[2087] The server provides a download link for the generated CSV file to the user's device, and the user downloads the file using the link.

[2088] Input: CSV file

[2089] Output: Download link

[2090] Specific operation: The server uploads the generated CSV file to the hosting service and generates a download link, which is provided to the user through the chat interface, allowing the user to click on the link to download the file.

[2091] In this way, each step has specific inputs and outputs, and the steps work together to enable the user to extract data quickly and efficiently.

[2092] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[2093] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[2094] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[2095] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[2096] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[2097] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[2098] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[2099] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[2100] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[2101] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[2102] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[2103] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[2104] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[2105] 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.

[2106] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[2107] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[2108] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[2109] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[2110] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[2111] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[2112] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[2113] The following is further disclosed regarding the above embodiment.

[2114] (Claim 1)

[2115] means for receiving a data extraction request in natural language;

[2116] means for analyzing received data extraction requests to identify specific data extraction requirements;

[2117] means for generating SQL queries based on the identified data extraction requirements;

[2118] a means for submitting the generated SQL queries to a data warehouse for execution;

[2119] means for receiving data returned from the data warehouse;

[2120] A means of converting received data into CSV format,

[2121] A system including a means for providing a converted CSV file.

[2122] (Claim 2)

[2123] 2. The system according to claim 1, wherein the data extraction request in natural language is analyzed using a natural language processing engine.

[2124] (Claim 3)

[2125] 10. The system of claim 1, further comprising: performing error checking on the data returned from the data warehouse.

[2126] "Example 1"

[2127] (Claim 1)

[2128] means for receiving a data extraction request in natural language;

[2129] means for analyzing received data extraction requests to identify specific data extraction requirements;

[2130] means for generating a query language query based on the identified data extraction requirements;

[2131] means for transmitting the generated query to a data storage and executing the query;

[2132] means for receiving data returned from the data storage;

[2133] means for converting the received data into a data format;

[2134] A system including means for providing a converted data file.

[2135] (Claim 2)

[2136] 2. The system of claim 1, wherein the data extraction request in natural language is analyzed using language processing technology.

[2137] (Claim 3)

[2138] 10. The system of claim 1, further comprising: a data storage device configured to perform error checking on data returned from the data storage device;

[2139] "Application Example 1"

[2140] (Claim 1)

[2141] means for receiving a data extraction request in natural language;

[2142] means for analyzing received data extraction requests to identify specific data extraction requirements;

[2143] means for generating SQL queries based on the identified data extraction requirements;

[2144] means for transmitting the generated SQL query to a database management system for execution;

[2145] means for receiving data returned from the database management system;

[2146] means for converting received data into a data frame format;

[2147] 1. A system including a means for providing a converted data frame file,

[2148] A means for a user to input a data extraction request in natural language using a smart device;

[2149] The system includes a means for providing a download link for the generated data frame file.

[2150] (Claim 2)

[2151] 2. The system according to claim 1, wherein the data extraction request in natural language is analyzed using a natural language processing engine.

[2152] (Claim 3)

[2153] 10. The system of claim 1, wherein the system performs error checking on data returned from the database management system.

[2154] "Example 2: Combining Emotion Engines"

[2155] (Claim 1)

[2156] means for receiving a data extraction request in natural language;

[2157] means for analyzing received data extraction requests to identify specific data extraction requirements;

[2158] means for generating SQL queries based on the identified data extraction requirements;

[2159] means for transmitting the generated SQL query to a data storage and executing the query;

[2160] means for receiving data returned from the data storage;

[2161] means for performing error checking on the received data;

[2162] means for recognizing a user's emotion using an emotion engine;

[2163] a means for adjusting data extraction requirements based on the recognized sentiment;

[2164] A means of converting received data into CSV format,

[2165] A system including a means for providing a converted CSV file.

[2166] (Claim 2)

[2167] 2. The system according to claim 1, wherein the data extraction request in natural language is analyzed using a natural language processing engine.

[2168] (Claim 3)

[2169] 10. The system of claim 1, wherein the system utilizes an emotion engine to recognize a user's emotion and adjust data extraction requirements based on the recognized emotion.

[2170] "Application example 2 when combining emotion engines"

[2171] (Claim 1)

[2172] means for receiving a data extraction request in natural language;

[2173] means for analyzing received data extraction requests to identify specific data extraction requirements;

[2174] means for generating SQL queries based on the identified data extraction requirements;

[2175] a means for submitting the generated SQL queries to a data warehouse for execution;

[2176] means for receiving data returned from the data warehouse;

[2177] A means of converting received data into CSV format,

[2178] A means for providing the converted CSV file;

[2179] means for providing a chat interface to allow users to input data extraction requests in natural language;

[2180] means for recognizing a user's emotions using an emotion recognition engine and adjusting a response as needed;

[2181] A system including:

[2182] (Claim 2)

[2183] means for analyzing a data extraction request in natural language using a natural language processing engine;

[2184] a means for analyzing a data extraction request using a generative AI model and generating a prompt sentence;

[2185] 10. The system of claim 1, comprising:

[2186] (Claim 3)

[2187] a means for error checking data returned from the data warehouse; and

[2188] A means to detect errors in the extracted data and automatically correct them if necessary;

[2189] 10. The system of claim 1, comprising: [Explanation of symbols]

[2190] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for receiving a data extraction request in natural language; means for analyzing received data extraction requests to identify specific data extraction requirements; means for generating SQL queries based on the identified data extraction requirements; a means for submitting the generated SQL queries to a data warehouse for execution; means for receiving data returned from the data warehouse; A means of converting received data into CSV format, A system including a means for providing a converted CSV file.

2. 2. The system of claim 1, wherein the data extraction request in natural language is analyzed using a natural language processing engine.

3. The system of claim 1 , further comprising: error checking the data returned from the data warehouse.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A