system

The system facilitates efficient SQL query generation and execution through natural language input, enabling users to perform database operations accurately and quickly, even without SQL knowledge.

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

Patent Information

Application Number
JP2024142121
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Conventional techniques make it difficult for users to create efficient SQL queries against databases.

Method used

A system that allows users to input commands in natural language, using a generation AI to analyze and generate optimal SQL queries, which are then executed against a database, with results provided to the user.

Benefits of technology

Enables users to efficiently perform database operations without knowledge of SQL, reducing the burden of database management and improving work efficiency by allowing quick and accurate data retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026038598000001_ABST
    Figure 2026038598000001_ABST
Patent Text Reader

Abstract

The system according to the embodiment aims to generate and execute efficient SQL queries simply by inputting commands in natural language by the user. [Solution] A system according to an embodiment includes a reception unit, a generation unit, an execution unit, and a provision unit. The reception unit receives natural language commands from a user. The generation unit analyzes the natural language commands received by the reception unit and generates an SQL query. The execution unit executes the SQL query generated by the generation unit on a database. The provision unit provides the results obtained by the execution unit.
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] Conventional techniques have the drawback of making it difficult for users to create efficient SQL queries against databases.

[0005] The system according to the embodiment aims to generate and execute efficient SQL queries simply by inputting commands in natural language by the user. [Means for solving the problem]

[0006] The system according to the embodiment includes a reception unit, a generation unit, an execution unit, and a provision unit. The reception unit receives a natural language command from a user. The generation unit analyzes the natural language command received by the reception unit and generates an SQL query. The execution unit executes the SQL query generated by the generation unit on a database. The provision unit provides the results obtained by the execution unit. [Effects of the Invention]

[0007] The system according to the embodiment allows a user to generate and execute efficient SQL queries simply by inputting commands in natural language. [Brief explanation of the drawings]

[0008] [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. DETAILED DESCRIPTION OF THE INVENTION

[0009] 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.

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

[0011] 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, the 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), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).

[0012] 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.

[0013] 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.

[0014] 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), and Bluetooth (registered trademark).

[0015] 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."

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

[0017] 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.

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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).

[0019] 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.

[0020] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (for example, a pen or a finger) to receive user input by the touch of the pointer. 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 (see FIG. 2) acquires the data indicating the user input.

[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., audio and / or text). Display 40A displays visible information such as text and images in accordance with instructions from processor 46. Speaker 40B outputs audio in accordance with instructions from processor 46. 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.

[0022] 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.

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

[0024] 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.

[0025] 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. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0026] In the smart device 14, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart device 14 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.

[0027] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (prediction result, etc.) using the data generation model 58 by communicating with the server device having the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device owned by a user (e.g., a mobile phone, a robot, a home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.

[0028] (Example 1) An automatic SQL generation system according to an embodiment of the present invention analyzes instructions entered by a user in natural language, generates an optimal SQL query, and executes it against a database. In the automatic SQL generation system, a user inputs an operation they wish to perform on a database in natural language. A generation AI analyzes the natural language input and generates an optimal SQL query. The generated SQL query is executed against the database, and the results are provided to the user. For example, in the automatic SQL generation system, a user inputs an instruction such as "I want to get all customer names from the customer table." This instruction is input to the generation AI. The generation AI then analyzes the input instruction and generates an optimal SQL query. For example, based on the instruction "I want to get all customer names from the customer table," the system generates the SQL query "SELECT name FROM customers;." The generated SQL query is then executed against the database. For example, the generated SQL query "SELECT name FROM customers;" is executed against the database to retrieve all customer names. Finally, the retrieved results are provided to the user. For example, the names of all customers are displayed to the user in a list format. This allows users to efficiently perform database operations without any knowledge of SQL. This allows the automatic SQL generation system to efficiently perform database operations even if the user does not have knowledge of SQL. For example, users can perform database operations quickly and accurately, reducing the burden of database management. In addition, users can easily obtain data that meets their requirements, improving work efficiency.

[0029] An automatic SQL generation system according to an embodiment includes a reception unit, a generation unit, an execution unit, and a provision unit. The reception unit receives natural language commands from a user. Natural language commands from a user include, but are not limited to, question, command, and dialogue formats. The reception unit can receive commands by, for example, voice input, text input, or image input. The generation unit uses a generation AI to analyze the natural language commands received by the reception unit and generate an SQL query. The generation AI analyzes the natural language commands using, for example, a neural network or a transformer model, and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the command "I want to retrieve all customer names from the customer table." The execution unit executes the SQL query generated by the generation unit against a database. The execution unit can optimize the query to, for example, shorten the execution time of the SQL query. The execution unit can also customize the execution means based on the load status of the database. The provision unit provides the results obtained by the execution unit to a user. The providing unit can provide the results in, for example, a text format, a graph format, a table format, or the like. As a result, the automatic SQL generation system according to the embodiment allows a user to efficiently perform database operations even if the user does not have knowledge of SQL. For example, the user can perform database operations quickly and accurately, reducing the burden of database management. Furthermore, the user can easily obtain data according to his or her request, improving work efficiency.

[0030] The generation unit can analyze natural language instructions using a generation AI and generate an appropriate SQL query. The generation unit, for example, analyzes natural language instructions using a generation AI and generates an optimal SQL query. The generation AI analyzes natural language instructions using technologies such as neural networks and transformer models and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the instruction "I want to get all customer names from the customer table." The generation unit can also include an algorithm that uses the generation AI to analyze natural language instructions and generate an SQL query. For example, the generation AI analyzes natural language instructions using methods such as morphological analysis, grammatical analysis, and semantic analysis to generate an optimal SQL query. This allows the generation AI to generate an optimal SQL query from natural language instructions. Some or all of the above-described processing in the generation unit may be performed using, for example, the generation AI, or may be performed without using the generation AI. For example, the generation unit can input natural language instructions to the generation AI and have the generation AI generate an SQL query.

[0031] The execution unit can efficiently execute the generated SQL query against the database. For example, the execution unit can efficiently execute the generated SQL query against the database. For example, the execution unit can optimize the query to shorten the execution time of the SQL query. The execution unit can also customize the execution means based on the load status of the database. For example, the execution unit monitors the load status of the database in real time, and if the load is high, adjusts the execution means to distribute the load. The execution unit can also customize the execution means based on the usage status of the database. For example, the execution unit analyzes the usage status of the database and selects the optimal execution means. This optimizes the SQL query, thereby improving the efficiency of database operations. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input the generated SQL query to AI and have the AI ​​select the optimal execution means.

[0032] The providing unit can provide the results obtained from the database to the user. The providing unit can provide the results obtained from the database to the user, for example. The providing unit can provide the results in a format such as text, graph, or table. The providing unit can also provide the results in real time or batch format. For example, the providing unit can provide the results obtained from the database to the user in real time. The providing unit can also provide the results in batches at regular intervals using batch processing. This allows the user to easily check the results obtained from the database. Some or all of the above-described processing in the providing unit can be performed using, for example, AI, or can be performed without using AI. For example, the providing unit can input the results obtained from the database into AI and have the AI ​​select the optimal method of providing the results.

[0033] The reception unit can analyze the user's past command history and select an appropriate reception method. The reception unit, for example, analyzes the user's past command history and selects the optimal reception method. The reception unit, for example, prioritizes reception of commands that the user has used frequently in the past. The reception unit can also select the most efficient reception method from the user's past command history. The reception unit can also analyze the user's past command history and suggest the optimal reception method for a specific time period. This makes it possible to select an efficient reception method based on the past command history. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's past command history data into a generation AI and cause the generation AI to select the optimal reception method.

[0034] The reception unit may perform filtering based on the user's current project or area of ​​interest when receiving a natural language command. For example, the reception unit may perform filtering based on the user's current project or area of ​​interest when receiving a natural language command. For example, the reception unit may preferentially receive commands related to a project currently in progress by the user. The reception unit may also filter related commands based on the user's area of ​​interest. The reception unit may also suggest optimal commands depending on the progress of the user's current project. This allows commands related to the user's current project or area of ​​interest to be preferentially received. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit may input the user's project data and area of ​​interest data into a generation AI and cause the generation AI to perform filtering.

[0035] The reception unit can select an appropriate reception means depending on the user's input method when receiving a natural language command. For example, when receiving a natural language command, the reception unit selects the optimal reception means depending on the user's input method (voice, text, image, etc.). For example, when the user uses voice input, the reception unit can receive the command using voice recognition technology. Furthermore, when the user uses text input, the reception unit can also receive the command using text analysis technology. Furthermore, when the user uses image input, the reception unit can also receive the command using image recognition technology. This makes it possible to receive the command using the optimal means depending on the user's input method. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's input data to a generation AI and have the generation AI select the optimal reception means.

[0036] The reception unit, when receiving a natural language command, can prioritize receiving highly relevant commands taking into account the user's geographical location information. For example, when receiving a natural language command, the reception unit prioritizes receiving highly relevant commands taking into account the user's geographical location information. For example, when the user is in a specific area, the reception unit prioritizes receiving commands related to that area. The reception unit can also suggest optimal commands based on the user's current location. Furthermore, when the user is moving, the reception unit can adjust the priority of commands according to the user's current location. This makes it possible to prioritize receiving highly relevant commands based on the user's geographical location information. Some or all of the above-described processing in the reception unit may be performed using, or without, AI. For example, the reception unit can input the user's geographical location information to a generation AI and cause the generation AI to select highly relevant commands.

[0037] The reception unit can analyze the user's social media activity and receive related commands when receiving a natural language command. For example, the reception unit can analyze the user's social media activity and receive related commands when receiving a natural language command. For example, the reception unit can receive related commands based on content mentioned by the user on social media. The reception unit can also analyze the user's social media activity history and suggest optimal commands. The reception unit can also receive related commands by referring to the activities of the user's friends on social media. In this way, related commands can be received based on the user's social media activity. Some or all of the above-described processing by the reception unit can be performed using, for example, AI, or can be performed without using AI. For example, the reception unit can input the user's social media data into a generation AI and cause the generation AI to select related commands.

[0038] The reception unit can customize the reception method by reflecting the user's past feedback when receiving a natural language command. For example, the reception unit customizes the reception method by reflecting the user's past feedback when receiving a natural language command. The reception unit selects the optimal reception method, for example, based on feedback provided by the user in the past. The reception unit can also analyze the user's past feedback and improve the reception method. The reception unit can also reflect the user's feedback in real time and adjust the reception method. This makes it possible to select the optimal reception method based on the user's past feedback. Some or all of the above-described processing in the reception unit may be performed using AI, for example, or may be performed without using AI. For example, the reception unit can input the user's feedback data into a generation AI and cause the generation AI to customize the reception method.

[0039] The generation unit can adjust the specificity of the generated SQL query based on the importance of the command when generating the SQL query. For example, the generation unit adjusts the level of detail of the generated SQL query based on the importance of the command when generating the SQL query. For example, the generation unit generates a detailed SQL query for a command with high importance. The generation unit can also generate a concise SQL query for a command with low importance. The generation unit can also dynamically adjust the level of detail of the SQL query to be generated according to the importance of the command. This makes it possible to generate an SQL query with an appropriate level of detail according to the importance of the command. Some or all of the above-described processing in the generation unit may be performed using, or without, a generation AI. For example, the generation unit can input instruction importance data to the generation AI and cause the generation AI to adjust the level of detail of the SQL query.

[0040] The generation unit can apply an appropriate generation algorithm depending on the category of the command when generating an SQL query. For example, the generation unit applies different generation algorithms depending on the category of the command when generating an SQL query. For example, the generation unit applies an optimal data retrieval algorithm to a data retrieval command. The generation unit can also apply an optimal data update algorithm to a data update command. The generation unit can also apply an optimal data deletion algorithm to a data deletion command. This makes it possible to apply an optimal generation algorithm depending on the category of the command. Some or all of the above-mentioned processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input command category data to the generation AI and cause the generation AI to apply an appropriate generation algorithm.

[0041] The generation unit can improve the accuracy of generation when generating an SQL query by referring to the user's past generation results. For example, when generating an SQL query, the generation unit improves the accuracy of generation by referring to the user's past generation results. For example, the generation unit generates an optimal query by referring to SQL queries generated by the user in the past. The generation unit can also analyze the user's past generation results and improve the generation algorithm. The generation unit can also improve the accuracy of generation based on the user's past generation results. In this way, the accuracy of generation is improved by referring to the user's past generation results. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input the user's past generation result data into the generation AI and cause the generation AI to improve the accuracy of generation.

[0042] The generation unit can determine the generation priority based on the time of command submission when generating SQL queries. The generation unit, for example, determines the generation priority based on the time of command submission when generating SQL queries. The generation unit, for example, prioritizes generating SQL queries for commands with high urgency. The generation unit can also prioritize generating SQL queries for commands submitted early. The generation unit can also dynamically adjust the generation priority based on the submission time. This allows SQL queries to be generated with appropriate priority based on the time of command submission. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input command submission time data to the generation AI and have the generation AI determine the generation priority.

[0043] The generation unit can adjust the order of generation based on the relevance of instructions when generating SQL queries. The generation unit, for example, adjusts the order of generation based on the relevance of instructions when generating SQL queries. For example, the generation unit prioritizes generating SQL queries for highly relevant instructions. The generation unit can also postpone generating SQL queries for less relevant instructions. The generation unit can also dynamically adjust the order of generation based on the relevance of instructions. This makes it possible to generate SQL queries in an appropriate order based on the relevance of instructions. Some or all of the above-described processing in the generation unit may be performed using, or without, a generation AI. For example, the generation unit can input instruction relevance data to the generation AI and cause the generation AI to adjust the order of generation.

[0044] The generation unit can appropriately use technical terminology when generating an SQL query according to the user's level of expertise. For example, the generation unit adjusts the use of technical terminology when generating an SQL query according to the user's level of expertise. For example, if the user is a beginner, the generation unit can generate an SQL query using simple technical terminology. If the user is an intermediate user, the generation unit can also generate an SQL query using appropriate technical terminology. If the user is an advanced user, the generation unit can also generate an SQL query using detailed technical terminology. This makes it possible to generate an SQL query using appropriate technical terminology according to the user's level of expertise. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input the user's level of expertise data into the generation AI and cause the generation AI to use technical terminology.

[0045] The execution unit can analyze the query optimization process and select an appropriate execution method when executing an SQL query. For example, the execution unit analyzes the query optimization process and selects an optimal execution method when executing an SQL query. For example, the execution unit analyzes the query optimization process and selects an optimal execution method. The execution unit can also select an optimal execution method to shorten the query execution time. The execution unit can also select an optimal execution method to improve query execution efficiency. In this way, the optimal execution method can be selected by analyzing the query optimization process. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input query optimization process data to a generation AI and cause the generation AI to select an optimal execution method.

[0046] The execution unit can customize the execution means based on the current state of the database when executing an SQL query. For example, the execution unit customizes the execution means based on the current state of the database when executing an SQL query. For example, the execution unit customizes the execution means based on the load status of the database. The execution unit can also customize the execution means based on the usage status of the database. The execution unit can also monitor the current state of the database in real time and customize the execution means. This makes it possible to select an appropriate execution means based on the current state of the database. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input current state data of the database to a generation AI and have the generation AI customize the execution means.

[0047] The execution unit can improve the execution method by reflecting user feedback when executing an SQL query. For example, the execution unit improves the execution method by reflecting user feedback when executing an SQL query. The execution unit improves the execution method based on user feedback, for example. The execution unit can also analyze past user feedback and optimize the execution method. The execution unit can also reflect user feedback in real time and adjust the execution method. This makes it possible to optimize the execution method based on user feedback. Some or all of the above-mentioned processing in the execution unit may be performed using AI, for example, or may be performed without using AI. For example, the execution unit can input user feedback data into a generation AI and have the generation AI improve the execution method.

[0048] The execution unit can select an appropriate execution method taking into account the geographic distribution of the databases when executing an SQL query. For example, the execution unit selects an appropriate execution method taking into account the geographic distribution of the databases when executing an SQL query. For example, when databases are distributed across multiple geographic locations, the execution unit selects the optimal execution method. The execution unit can also execute queries by preferentially using geographically close databases. The execution unit can also select a method that improves query execution efficiency based on the geographic distribution. This makes it possible to select an appropriate execution method based on the geographic distribution of the databases. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input geographic distribution data of the databases to a generation AI and cause the generation AI to select an optimal execution method.

[0049] The execution unit can improve the accuracy of execution by referring to related literature in the database when executing an SQL query. For example, the execution unit improves the accuracy of execution by referring to related literature in the database when executing an SQL query. For example, the execution unit refers to related literature in the database and selects an optimal execution method. The execution unit can also improve the accuracy of query execution based on knowledge obtained from the related literature. The execution unit can also analyze related literature in the database and improve the execution method. In this way, the accuracy of execution is improved by referring to related literature in the database. Some or all of the above-mentioned processing in the execution unit can be performed using, for example, AI, or can be performed without using AI. For example, the execution unit can input related literature data in the database to a generation AI and have the generation AI select an execution method.

[0050] The execution unit can take the market value of the database into consideration when executing an SQL query. For example, the execution unit can take the market value of the database into consideration when executing an SQL query. For example, if the market value of the database is high, the execution unit executes the query carefully. The execution unit can also execute queries quickly for databases with low market value. The execution unit can also adjust the execution method based on the market value of the database. This makes it possible to select an appropriate execution method based on the market value of the database. Some or all of the above-mentioned processing in the execution unit can be performed using, for example, AI, or can be performed without using AI. For example, the execution unit can input market value data of the database to the generation AI and have the generation AI select the execution method.

[0051] The providing unit can select the optimal providing method by referring to the user's past operation history when providing the results. For example, the providing unit selects the optimal providing method by referring to the user's past operation history when providing the results. The providing unit selects the optimal result providing method based on the user's past operation history, for example. The providing unit can also provide the results in a format that the user previously preferred. The providing unit can also analyze the user's operation history and improve the providing method. This makes it possible to provide the results in the optimal method based on the user's past operation history. Some or all of the above-mentioned processing in the providing unit may be performed using, for example, AI, or may be performed without using AI. For example, the providing unit can input the user's operation history data to the generation AI and cause the generation AI to select the optimal providing method.

[0052] The providing unit can customize the content to be provided according to the user's current task when providing the results. For example, the providing unit customizes the content to be provided according to the user's current task when providing the results. For example, the providing unit prioritizes providing results related to the task the user is currently performing. The providing unit can also customize the optimal result based on the user's current task. The providing unit can also adjust the content to be provided according to the progress of the user's task. This makes it possible to provide results with content appropriate for the user's current task. Some or all of the above-described processing in the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input the user's task data into a generation AI and cause the generation AI to customize the content to be provided.

[0053] The providing unit can improve the providing method by reflecting user feedback when providing results. For example, the providing unit improves the providing method by reflecting user feedback when providing results. The providing unit improves the providing method based on user feedback, for example. The providing unit can also analyze past user feedback and optimize the providing method. The providing unit can also reflect user feedback in real time and adjust the providing method. This makes it possible to optimize the providing method based on user feedback. Some or all of the above-mentioned processing in the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input user feedback data into the generation AI and cause the generation AI to improve the providing method.

[0054] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing results. For example, the providing unit selects the optimal delivery method by taking into consideration the user's device information when providing results. For example, if the user is using a smartphone, the providing unit selects a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can select a delivery method optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can select a delivery method that includes detailed information. This allows results to be provided in the optimal method based on the user's device information. Some or all of the above-described processing by the providing unit may be performed using, for example, AI, or may be performed without using AI. For example, the providing unit can input the user's device information into the generation AI and cause the generation AI to select the optimal delivery method.

[0055] The providing unit can provide the content in multiple languages ​​according to the user's language setting when providing the results. The providing unit can provide the content in multiple languages ​​according to the user's language setting when providing the results. The providing unit can automatically translate the results based on the language setting of the user's device, for example. The providing unit can also provide a language switching function when the user uses multiple languages. The providing unit can also provide the results in a specific language when the user selects that language. This allows the results to be provided in an appropriate language based on the user's language setting. Some or all of the above-described processing by the providing unit can be performed using, for example, AI, or can be performed without using AI. For example, the providing unit can input the user's language setting data into the generation AI and cause the generation AI to provide the results in multiple languages.

[0056] The providing unit can adjust the content to be provided according to the user's level of expertise when providing results. For example, the providing unit adjusts the content to be provided according to the user's level of expertise when providing results. For example, if the user is a beginner, the providing unit can provide results including simple explanations. Furthermore, if the user is an intermediate user, the providing unit can also provide results with an appropriate level of detail. Furthermore, if the user is an advanced user, the providing unit can also provide results including detailed technical information. This makes it possible to provide results with appropriate content according to the user's level of expertise. Some or all of the above-described processing by the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input the user's level of expertise data into the generation AI and cause the generation AI to adjust the content to be provided.

[0057] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0058] The reception unit can analyze the user's input content and infer the user's intention. For example, if the user inputs an ambiguous command, the reception unit can analyze the command, infer the user's intention, and convert it into an appropriate command. The reception unit can also generate a more specific command by taking into account the context of the command input by the user. Furthermore, the reception unit can refer to the user's past command history and automatically complete similar commands. This allows for smooth database operations by generating appropriate commands even when the user's input content is unclear.

[0059] The generator can visualize the SQL query generation process based on the user's input. For example, the generator can analyze the natural language commands entered by the user and display the analysis process in the form of a graph or flowchart. The generator can also provide a detailed explanation of how each part of the generated SQL query was generated. Furthermore, the generator can provide an interactive explanation to help the user understand the generation process. This makes it easier for the user to visually understand the SQL query generation process, improving the reliability of the system.

[0060] The execution unit can monitor the execution results of SQL queries in real time and detect abnormalities. For example, the execution unit can detect errors and warnings that occur during SQL query execution in real time and notify the user. The execution unit can also monitor the amount of data and execution time of the execution results and detect abnormal patterns. Furthermore, the execution unit can automatically take measures when an abnormality is detected. This makes it possible to quickly resolve problems that occur during SQL query execution and improve system stability.

[0061] The execution unit can analyze the execution results of the SQL query and make additional suggestions to the user. For example, the execution unit can suggest how to retrieve related data based on the execution results of the SQL query. The execution unit can also suggest how to update or delete data based on the execution results. Furthermore, the execution unit can suggest how to optimize the database based on the execution results. This allows the user to use the execution results of the SQL query to perform database operations more efficiently.

[0062] The reception unit can analyze the user's input content in real time and automatically correct input errors. For example, if a natural language command entered by the user contains a typographical error or omission, the reception unit can automatically correct it and convert it into a correct command. The reception unit can also detect grammatical errors in the command entered by the user and automatically correct them. Furthermore, the reception unit can detect semantic errors in the command entered by the user and convert it into an appropriate command. This reduces user input errors and improves the accuracy of database operations.

[0063] The processing flow of the first embodiment will be briefly explained below.

[0064] Step 1: The reception unit receives a command in natural language from a user. The command in natural language from a user may be in the form of a question, an instruction, a dialogue, or the like, but is not limited to these examples. The reception unit can receive the command by, for example, voice input, text input, image input, or the like. Step 2: The generation unit uses a generation AI to analyze the natural language command received by the reception unit and generate an SQL query. The generation AI analyzes the natural language command using technologies such as neural networks and transformer models, and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the command "I want to get the names of all customers from the customer table." Step 3: The execution unit executes the SQL query generated by the generation unit against the database. The execution unit can, for example, optimize the SQL query to shorten its execution time. The execution unit can also customize the execution means based on the load status of the database. Step 4: The providing unit provides the results obtained by the execution unit to the user. The providing unit can provide the results in a format such as text, graph, or table.

[0065] (Example 2) An automatic SQL generation system according to an embodiment of the present invention analyzes instructions entered by a user in natural language, generates an optimal SQL query, and executes it against a database. In the automatic SQL generation system, a user inputs an operation they wish to perform on a database in natural language. A generation AI analyzes the natural language input and generates an optimal SQL query. The generated SQL query is executed against the database, and the results are provided to the user. For example, in the automatic SQL generation system, a user inputs an instruction such as "I want to get all customer names from the customer table." This instruction is input to the generation AI. The generation AI then analyzes the input instruction and generates an optimal SQL query. For example, based on the instruction "I want to get all customer names from the customer table," the system generates the SQL query "SELECT name FROM customers;." The generated SQL query is then executed against the database. For example, the generated SQL query "SELECT name FROM customers;" is executed against the database to retrieve all customer names. Finally, the retrieved results are provided to the user. For example, the names of all customers are displayed to the user in a list format. This allows users to efficiently perform database operations without any knowledge of SQL. This allows the automatic SQL generation system to efficiently perform database operations even if the user does not have knowledge of SQL. For example, users can perform database operations quickly and accurately, reducing the burden of database management. In addition, users can easily obtain data that meets their requirements, improving work efficiency.

[0066] An automatic SQL generation system according to an embodiment includes a reception unit, a generation unit, an execution unit, and a provision unit. The reception unit receives natural language commands from a user. Natural language commands from a user include, but are not limited to, question, command, and dialogue formats. The reception unit can receive commands by, for example, voice input, text input, or image input. The generation unit uses a generation AI to analyze the natural language commands received by the reception unit and generate an SQL query. The generation AI analyzes the natural language commands using, for example, a neural network or a transformer model, and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the command "I want to retrieve all customer names from the customer table." The execution unit executes the SQL query generated by the generation unit against a database. The execution unit can optimize the query to, for example, shorten the execution time of the SQL query. The execution unit can also customize the execution means based on the load status of the database. The provision unit provides the results obtained by the execution unit to a user. The providing unit can provide the results in, for example, a text format, a graph format, a table format, or the like. As a result, the automatic SQL generation system according to the embodiment allows a user to efficiently perform database operations even if the user does not have knowledge of SQL. For example, the user can perform database operations quickly and accurately, reducing the burden of database management. Furthermore, the user can easily obtain data according to his or her request, improving work efficiency.

[0067] The generation unit can analyze natural language instructions using a generation AI and generate an appropriate SQL query. The generation unit, for example, analyzes natural language instructions using a generation AI and generates an optimal SQL query. The generation AI analyzes natural language instructions using technologies such as neural networks and transformer models and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the instruction "I want to get all customer names from the customer table." The generation unit can also include an algorithm that uses the generation AI to analyze natural language instructions and generate an SQL query. For example, the generation AI analyzes natural language instructions using methods such as morphological analysis, grammatical analysis, and semantic analysis to generate an optimal SQL query. This allows the generation AI to generate an optimal SQL query from natural language instructions. Some or all of the above-described processing in the generation unit may be performed using, for example, the generation AI, or may be performed without using the generation AI. For example, the generation unit can input natural language instructions to the generation AI and have the generation AI generate an SQL query.

[0068] The execution unit can efficiently execute the generated SQL query against the database. For example, the execution unit can efficiently execute the generated SQL query against the database. For example, the execution unit can optimize the query to shorten the execution time of the SQL query. The execution unit can also customize the execution means based on the load status of the database. For example, the execution unit monitors the load status of the database in real time, and if the load is high, adjusts the execution means to distribute the load. The execution unit can also customize the execution means based on the usage status of the database. For example, the execution unit analyzes the usage status of the database and selects the optimal execution means. This optimizes the SQL query, thereby improving the efficiency of database operations. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input the generated SQL query to AI and have the AI ​​select the optimal execution means.

[0069] The providing unit can provide the results obtained from the database to the user. The providing unit can provide the results obtained from the database to the user, for example. The providing unit can provide the results in a format such as text, graph, or table. The providing unit can also provide the results in real time or batch format. For example, the providing unit can provide the results obtained from the database to the user in real time. The providing unit can also provide the results in batches at regular intervals using batch processing. This allows the user to easily check the results obtained from the database. Some or all of the above-described processing in the providing unit can be performed using, for example, AI, or can be performed without using AI. For example, the providing unit can input the results obtained from the database into AI and have the AI ​​select the optimal method of providing the results.

[0070] The reception unit can estimate the user's emotion and adjust the timing of receiving a natural language command based on the estimated user emotion. For example, the reception unit can estimate the user's emotion and adjust the timing of receiving a natural language command based on the estimated user emotion. For example, if the user is feeling stressed, the reception unit can delay the timing of receiving a command and wait until the user is relaxed. Furthermore, if the user is relaxed, the reception unit can immediately receive a natural language command. Furthermore, if the user is in a hurry, the reception unit can advance the timing of receiving a command and quickly receive a command. This allows commands to be received at an appropriate timing depending on the user's emotion. The emotion estimation is realized using an emotion estimation function, for example, an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above-described processing in the reception unit may be performed using an AI, for example, or without an AI. For example, the reception unit can input the user's emotion data into the generation AI and cause the generation AI to estimate the emotion.

[0071] The reception unit can analyze the user's past command history and select an appropriate reception method. The reception unit, for example, analyzes the user's past command history and selects the optimal reception method. The reception unit, for example, prioritizes reception of commands that the user has used frequently in the past. The reception unit can also select the most efficient reception method from the user's past command history. The reception unit can also analyze the user's past command history and suggest the optimal reception method for a specific time period. This makes it possible to select an efficient reception method based on the past command history. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's past command history data into a generation AI and cause the generation AI to select the optimal reception method.

[0072] The reception unit may perform filtering based on the user's current project or area of ​​interest when receiving a natural language command. For example, the reception unit may perform filtering based on the user's current project or area of ​​interest when receiving a natural language command. For example, the reception unit may preferentially receive commands related to a project currently in progress by the user. The reception unit may also filter related commands based on the user's area of ​​interest. The reception unit may also suggest optimal commands depending on the progress of the user's current project. This allows commands related to the user's current project or area of ​​interest to be preferentially received. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit may input the user's project data and area of ​​interest data into a generation AI and cause the generation AI to perform filtering.

[0073] The reception unit can select an appropriate reception means depending on the user's input method when receiving a natural language command. For example, when receiving a natural language command, the reception unit selects the optimal reception means depending on the user's input method (voice, text, image, etc.). For example, when the user uses voice input, the reception unit can receive the command using voice recognition technology. Furthermore, when the user uses text input, the reception unit can also receive the command using text analysis technology. Furthermore, when the user uses image input, the reception unit can also receive the command using image recognition technology. This makes it possible to receive the command using the optimal means depending on the user's input method. Some or all of the above-described processing in the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's input data to a generation AI and have the generation AI select the optimal reception means.

[0074] The reception unit can estimate the user's emotion and determine the priority of commands to be received based on the estimated user's emotion. For example, the reception unit can estimate the user's emotion and determine the priority of commands to be received based on the estimated user's emotion. For example, when the user is stressed, the reception unit postpones commands with lower importance. Furthermore, when the user is relaxed, the reception unit can prioritize commands with higher importance. Furthermore, when the user is in a hurry, the reception unit can prioritize commands with higher urgency. This allows the priority of commands to be appropriately determined according to the user's emotion. Emotion estimation is realized using an emotion estimation function, for example, an emotion engine or a generation AI. The generation AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the reception unit may be performed using an AI, for example, or without an AI. For example, the reception unit can input the user's emotion data into the generation AI and cause the generation AI to estimate the emotion.

[0075] The reception unit, when receiving a natural language command, can prioritize receiving highly relevant commands taking into account the user's geographical location information. For example, when receiving a natural language command, the reception unit prioritizes receiving highly relevant commands taking into account the user's geographical location information. For example, when the user is in a specific area, the reception unit prioritizes receiving commands related to that area. The reception unit can also suggest optimal commands based on the user's current location. Furthermore, when the user is moving, the reception unit can adjust the priority of commands according to the user's current location. This makes it possible to prioritize receiving highly relevant commands based on the user's geographical location information. Some or all of the above-described processing in the reception unit may be performed using, or without, AI. For example, the reception unit can input the user's geographical location information to a generation AI and cause the generation AI to select highly relevant commands.

[0076] The reception unit can analyze the user's social media activity and receive related commands when receiving a natural language command. For example, the reception unit can analyze the user's social media activity and receive related commands when receiving a natural language command. For example, the reception unit can receive related commands based on content mentioned by the user on social media. The reception unit can also analyze the user's social media activity history and suggest optimal commands. The reception unit can also receive related commands by referring to the activities of the user's friends on social media. In this way, related commands can be received based on the user's social media activity. Some or all of the above-described processing by the reception unit can be performed using, for example, AI, or can be performed without using AI. For example, the reception unit can input the user's social media data into a generation AI and cause the generation AI to select related commands.

[0077] The reception unit can customize the reception method by reflecting the user's past feedback when receiving a natural language command. For example, the reception unit customizes the reception method by reflecting the user's past feedback when receiving a natural language command. The reception unit selects the optimal reception method, for example, based on feedback provided by the user in the past. The reception unit can also analyze the user's past feedback and improve the reception method. The reception unit can also reflect the user's feedback in real time and adjust the reception method. This makes it possible to select the optimal reception method based on the user's past feedback. Some or all of the above-described processing in the reception unit may be performed using AI, for example, or may be performed without using AI. For example, the reception unit can input the user's feedback data into a generation AI and cause the generation AI to customize the reception method.

[0078] The generation unit can estimate the user's emotion and adjust the expression method of the SQL query to be generated based on the estimated user's emotion. For example, the generation unit can estimate the user's emotion and adjust the expression method of the SQL query to be generated based on the estimated user's emotion. For example, the generation unit can generate a detailed SQL query when the user is relaxed. The generation unit can also generate a concise SQL query when the user is in a hurry. The generation unit can also generate an easy-to-understand SQL query when the user is stressed. This makes it possible to generate an SQL query using an appropriate expression method depending on the user's emotion. Emotion estimation is realized using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above-mentioned processing in the generation unit can be performed using an AI, for example, or without an AI. For example, the generation unit can input user's emotion data into the generation AI and cause the generation AI to adjust the expression method of the SQL query.

[0079] The generation unit can adjust the specificity of the generated SQL query based on the importance of the command when generating the SQL query. For example, the generation unit adjusts the level of detail of the generated SQL query based on the importance of the command when generating the SQL query. For example, the generation unit generates a detailed SQL query for a command with high importance. The generation unit can also generate a concise SQL query for a command with low importance. The generation unit can also dynamically adjust the level of detail of the SQL query to be generated according to the importance of the command. This makes it possible to generate an SQL query with an appropriate level of detail according to the importance of the command. Some or all of the above-described processing in the generation unit may be performed using, or without, a generation AI. For example, the generation unit can input instruction importance data to the generation AI and cause the generation AI to adjust the level of detail of the SQL query.

[0080] The generation unit can apply an appropriate generation algorithm depending on the category of the command when generating an SQL query. For example, the generation unit applies different generation algorithms depending on the category of the command when generating an SQL query. For example, the generation unit applies an optimal data retrieval algorithm to a data retrieval command. The generation unit can also apply an optimal data update algorithm to a data update command. The generation unit can also apply an optimal data deletion algorithm to a data deletion command. This makes it possible to apply an optimal generation algorithm depending on the category of the command. Some or all of the above-mentioned processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input command category data to the generation AI and cause the generation AI to apply an appropriate generation algorithm.

[0081] The generation unit can improve the accuracy of generation when generating an SQL query by referring to the user's past generation results. For example, when generating an SQL query, the generation unit improves the accuracy of generation by referring to the user's past generation results. For example, the generation unit generates an optimal query by referring to SQL queries generated by the user in the past. The generation unit can also analyze the user's past generation results and improve the generation algorithm. The generation unit can also improve the accuracy of generation based on the user's past generation results. In this way, the accuracy of generation is improved by referring to the user's past generation results. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input the user's past generation result data into the generation AI and cause the generation AI to improve the accuracy of generation.

[0082] The generation unit can estimate the user's emotion and adjust the length of the SQL query to be generated based on the estimated user's emotion. For example, the generation unit can estimate the user's emotion and adjust the length of the SQL query to be generated based on the estimated user's emotion. For example, the generation unit can generate a detailed SQL query when the user is relaxed. The generation unit can also generate a concise SQL query when the user is in a hurry. The generation unit can also generate an easy-to-understand SQL query when the user is stressed. This allows SQL queries to be generated with an appropriate length depending on the user's emotion. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to these examples. Some or all of the above-mentioned processing in the generation unit can be performed using an AI, for example, or without an AI. For example, the generation unit can input user's emotion data to the generation AI and cause the generation AI to adjust the length of the SQL query.

[0083] The generation unit can determine the generation priority based on the time of command submission when generating SQL queries. The generation unit, for example, determines the generation priority based on the time of command submission when generating SQL queries. The generation unit, for example, prioritizes generating SQL queries for commands with high urgency. The generation unit can also prioritize generating SQL queries for commands submitted early. The generation unit can also dynamically adjust the generation priority based on the submission time. This allows SQL queries to be generated with appropriate priority based on the time of command submission. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input command submission time data to the generation AI and have the generation AI determine the generation priority.

[0084] The generation unit can adjust the order of generation based on the relevance of instructions when generating SQL queries. The generation unit, for example, adjusts the order of generation based on the relevance of instructions when generating SQL queries. For example, the generation unit prioritizes generating SQL queries for highly relevant instructions. The generation unit can also postpone generating SQL queries for less relevant instructions. The generation unit can also dynamically adjust the order of generation based on the relevance of instructions. This makes it possible to generate SQL queries in an appropriate order based on the relevance of instructions. Some or all of the above-described processing in the generation unit may be performed using, or without, a generation AI. For example, the generation unit can input instruction relevance data to the generation AI and cause the generation AI to adjust the order of generation.

[0085] The generation unit can appropriately use technical terminology when generating an SQL query according to the user's level of expertise. For example, the generation unit adjusts the use of technical terminology when generating an SQL query according to the user's level of expertise. For example, if the user is a beginner, the generation unit can generate an SQL query using simple technical terminology. If the user is an intermediate user, the generation unit can also generate an SQL query using appropriate technical terminology. If the user is an advanced user, the generation unit can also generate an SQL query using detailed technical terminology. This makes it possible to generate an SQL query using appropriate technical terminology according to the user's level of expertise. Some or all of the above-described processing in the generation unit may be performed using, for example, a generation AI, or may be performed without using a generation AI. For example, the generation unit can input the user's level of expertise data into the generation AI and cause the generation AI to use technical terminology.

[0086] The execution unit can estimate the user's emotion and adjust the execution method of the SQL query based on the estimated user's emotion. For example, the execution unit estimates the user's emotion and adjusts the execution method of the SQL query based on the estimated user's emotion. For example, the execution unit uses a normal execution method when the user is relaxed. The execution unit can also use a quick execution method when the user is in a hurry. The execution unit can also use a stable execution method when the user is stressed. This allows the SQL query to be executed using an appropriate execution method depending on the user's emotion. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above-mentioned processing in the execution unit may be performed using an AI, for example, or without an AI. For example, the execution unit can input user's emotion data into the generation AI and cause the generation AI to adjust the execution method of the SQL query.

[0087] The execution unit can analyze the query optimization process and select an appropriate execution method when executing an SQL query. For example, the execution unit analyzes the query optimization process and selects an optimal execution method when executing an SQL query. For example, the execution unit analyzes the query optimization process and selects an optimal execution method. The execution unit can also select an optimal execution method to shorten the query execution time. The execution unit can also select an optimal execution method to improve query execution efficiency. In this way, the optimal execution method can be selected by analyzing the query optimization process. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input query optimization process data to a generation AI and cause the generation AI to select an optimal execution method.

[0088] The execution unit can customize the execution means based on the current state of the database when executing an SQL query. For example, the execution unit customizes the execution means based on the current state of the database when executing an SQL query. For example, the execution unit customizes the execution means based on the load status of the database. The execution unit can also customize the execution means based on the usage status of the database. The execution unit can also monitor the current state of the database in real time and customize the execution means. This makes it possible to select an appropriate execution means based on the current state of the database. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input current state data of the database to a generation AI and have the generation AI customize the execution means.

[0089] The execution unit can improve the execution method by reflecting user feedback when executing an SQL query. For example, the execution unit improves the execution method by reflecting user feedback when executing an SQL query. The execution unit improves the execution method based on user feedback, for example. The execution unit can also analyze past user feedback and optimize the execution method. The execution unit can also reflect user feedback in real time and adjust the execution method. This makes it possible to optimize the execution method based on user feedback. Some or all of the above-mentioned processing in the execution unit may be performed using AI, for example, or may be performed without using AI. For example, the execution unit can input user feedback data into a generation AI and have the generation AI improve the execution method.

[0090] The execution unit can estimate the user's emotions and determine the execution priority of SQL queries based on the estimated user emotions. For example, the execution unit can estimate the user's emotions and determine the execution priority of SQL queries based on the estimated user emotions. For example, if the user is in a hurry, the execution unit can prioritize urgent queries. If the user is relaxed, the execution unit can also execute queries with normal priority. If the user is stressed, the execution unit can also prioritize query execution with stability in mind. This allows SQL queries to be executed with appropriate priority according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to these examples. Some or all of the above-mentioned processing in the execution unit can be performed using an AI, for example, or without an AI. For example, the execution unit can input user emotion data to the generation AI and have the generation AI determine the execution priority of SQL queries.

[0091] The execution unit can select an appropriate execution method taking into account the geographic distribution of the databases when executing an SQL query. For example, the execution unit selects an appropriate execution method taking into account the geographic distribution of the databases when executing an SQL query. For example, when databases are distributed across multiple geographic locations, the execution unit selects the optimal execution method. The execution unit can also execute queries by preferentially using geographically close databases. The execution unit can also select a method that improves query execution efficiency based on the geographic distribution. This makes it possible to select an appropriate execution method based on the geographic distribution of the databases. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input geographic distribution data of the databases to a generation AI and cause the generation AI to select an optimal execution method.

[0092] The execution unit can improve the accuracy of execution by referring to related literature in the database when executing an SQL query. For example, the execution unit improves the accuracy of execution by referring to related literature in the database when executing an SQL query. For example, the execution unit refers to related literature in the database and selects an optimal execution method. The execution unit can also improve the accuracy of query execution based on knowledge obtained from the related literature. The execution unit can also analyze related literature in the database and improve the execution method. In this way, the accuracy of execution is improved by referring to related literature in the database. Some or all of the above-mentioned processing in the execution unit can be performed using, for example, AI, or can be performed without using AI. For example, the execution unit can input related literature data in the database to a generation AI and have the generation AI select an execution method.

[0093] The execution unit can take the market value of the database into consideration when executing an SQL query. For example, the execution unit can take the market value of the database into consideration when executing an SQL query. For example, if the market value of the database is high, the execution unit executes the query carefully. The execution unit can also execute queries quickly for databases with low market value. The execution unit can also adjust the execution method based on the market value of the database. This makes it possible to select an appropriate execution method based on the market value of the database. Some or all of the above-mentioned processing in the execution unit can be performed using, for example, AI, or can be performed without using AI. For example, the execution unit can input market value data of the database to the generation AI and have the generation AI select the execution method.

[0094] The providing unit can estimate the user's emotions and adjust the result presentation method based on the estimated user emotions. For example, the providing unit can estimate the user's emotions and adjust the result presentation method based on the estimated user emotions. For example, the providing unit can provide detailed results when the user is relaxed. The providing unit can also provide concise results when the user is in a hurry. The providing unit can also provide results in an easy-to-understand format when the user is stressed. This allows results to be provided in an appropriate manner depending on the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above-mentioned processing in the providing unit can be performed using an AI, for example, or without an AI. For example, the providing unit can input the user's emotion data into the generation AI and cause the generation AI to adjust the result presentation method.

[0095] The providing unit can select the optimal providing method by referring to the user's past operation history when providing the results. For example, the providing unit selects the optimal providing method by referring to the user's past operation history when providing the results. The providing unit selects the optimal result providing method based on the user's past operation history, for example. The providing unit can also provide the results in a format that the user previously preferred. The providing unit can also analyze the user's operation history and improve the providing method. This makes it possible to provide the results in the optimal method based on the user's past operation history. Some or all of the above-mentioned processing in the providing unit may be performed using, for example, AI, or may be performed without using AI. For example, the providing unit can input the user's operation history data to the generation AI and cause the generation AI to select the optimal providing method.

[0096] The providing unit can customize the content to be provided according to the user's current task when providing the results. For example, the providing unit customizes the content to be provided according to the user's current task when providing the results. For example, the providing unit prioritizes providing results related to the task the user is currently performing. The providing unit can also customize the optimal result based on the user's current task. The providing unit can also adjust the content to be provided according to the progress of the user's task. This makes it possible to provide results with content appropriate for the user's current task. Some or all of the above-described processing in the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input the user's task data into a generation AI and cause the generation AI to customize the content to be provided.

[0097] The providing unit can improve the providing method by reflecting user feedback when providing results. For example, the providing unit improves the providing method by reflecting user feedback when providing results. The providing unit improves the providing method based on user feedback, for example. The providing unit can also analyze past user feedback and optimize the providing method. The providing unit can also reflect user feedback in real time and adjust the providing method. This makes it possible to optimize the providing method based on user feedback. Some or all of the above-mentioned processing in the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input user feedback data into the generation AI and cause the generation AI to improve the providing method.

[0098] The providing unit can estimate the user's emotion and adjust the display method of the results based on the estimated user's emotion. For example, the providing unit can estimate the user's emotion and adjust the display method of the results based on the estimated user's emotion. For example, the providing unit can provide a detailed display method when the user is relaxed. The providing unit can also provide a concise display method when the user is in a hurry. The providing unit can also provide a highly visible display method when the user is stressed. This allows the results to be displayed in an appropriate manner depending on the user's emotion. The emotion estimation is realized using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI can be a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above-mentioned processing in the providing unit can be performed using an AI, for example, or without an AI. For example, the providing unit can input the user's emotion data into the generation AI and cause the generation AI to adjust the display method of the results.

[0099] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing results. For example, the providing unit selects the optimal delivery method by taking into consideration the user's device information when providing results. For example, if the user is using a smartphone, the providing unit selects a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can select a delivery method optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can select a delivery method that includes detailed information. This allows results to be provided in the optimal method based on the user's device information. Some or all of the above-described processing by the providing unit may be performed using, for example, AI, or may be performed without using AI. For example, the providing unit can input the user's device information into the generation AI and cause the generation AI to select the optimal delivery method.

[0100] The providing unit can provide the content in multiple languages ​​according to the user's language setting when providing the results. The providing unit can provide the content in multiple languages ​​according to the user's language setting when providing the results. The providing unit can automatically translate the results based on the language setting of the user's device, for example. The providing unit can also provide a language switching function when the user uses multiple languages. The providing unit can also provide the results in a specific language when the user selects that language. This allows the results to be provided in an appropriate language based on the user's language setting. Some or all of the above-described processing by the providing unit can be performed using, for example, AI, or can be performed without using AI. For example, the providing unit can input the user's language setting data into the generation AI and cause the generation AI to provide the results in multiple languages.

[0101] The providing unit can adjust the content to be provided according to the user's level of expertise when providing results. For example, the providing unit adjusts the content to be provided according to the user's level of expertise when providing results. For example, if the user is a beginner, the providing unit can provide results including simple explanations. Furthermore, if the user is an intermediate user, the providing unit can also provide results with an appropriate level of detail. Furthermore, if the user is an advanced user, the providing unit can also provide results including detailed technical information. This makes it possible to provide results with appropriate content according to the user's level of expertise. Some or all of the above-described processing by the providing unit may be performed using AI, for example, or may be performed without using AI. For example, the providing unit can input the user's level of expertise data into the generation AI and cause the generation AI to adjust the content to be provided. === Hard Collateral 1-1 === Each of the multiple elements including the above-mentioned reception unit, generation unit, execution unit, and provision unit is realized, for example, by at least one of the smart device 14 and the data processing device 12. For example, the reception unit is realized by the reception device 38 of the smart device 14 and receives natural language commands from a user via voice input or text input. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language commands using a generation AI to generate an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query on a database. The provision unit is realized, for example, by the output device 40 of the smart device 14 and provides the execution result to the user in text format or graph format. === Hard Collateral 1-2 === Each of the multiple elements including the above-mentioned reception unit, generation unit, execution unit, and provision unit is realized, for example, by at least one of the smart glasses 214 and the data processing device 12. For example, the reception unit is realized by the microphone 238 of the smart glasses 214 and receives natural language commands from the user via voice input. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language commands using a generation AI to generate an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query on a database. The provision unit is realized, for example, by the speaker 240 of the smart glasses 214 and provides the execution result to the user in audio format. === Hard Collateral 1-3 === Each of the multiple elements including the above-mentioned reception unit, generation unit, execution unit, and provision unit is realized, for example, by at least one of the headset-type terminal 314 and the data processing device 12. For example, the reception unit is realized by the microphone 238 of the headset-type terminal 314 and receives natural language commands from the user via voice input. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language commands using a generation AI to generate an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query on a database. The provision unit is realized, for example, by the display 343 of the headset-type terminal 314 and visually provides the execution results to the user. === Hard Collateral 1-4 === Each of the multiple elements including the above-mentioned reception unit, generation unit, execution unit, and provision unit is realized, for example, by at least one of the robot 414 and the data processing device 12. For example, the reception unit is realized by the microphone 238 of the robot 414 and receives natural language commands from a user via voice input. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language commands using a generation AI to generate an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query on a database. The provision unit is realized, for example, by the speaker 240 of the robot 414 and provides the execution result to the user in audio format.

[0102] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0103] The reception unit can analyze the user's input content and infer the user's intention. For example, if the user inputs an ambiguous command, the reception unit can analyze the command, infer the user's intention, and convert it into an appropriate command. The reception unit can also generate a more specific command by taking into account the context of the command input by the user. Furthermore, the reception unit can refer to the user's past command history and automatically complete similar commands. This allows for smooth database operations by generating appropriate commands even when the user's input content is unclear.

[0104] The generator can visualize the SQL query generation process based on the user's input. For example, the generator can analyze the natural language commands entered by the user and display the analysis process in the form of a graph or flowchart. The generator can also provide a detailed explanation of how each part of the generated SQL query was generated. Furthermore, the generator can provide an interactive explanation to help the user understand the generation process. This makes it easier for the user to visually understand the SQL query generation process, improving the reliability of the system.

[0105] The execution unit can monitor the execution results of SQL queries in real time and detect abnormalities. For example, the execution unit can detect errors and warnings that occur during SQL query execution in real time and notify the user. The execution unit can also monitor the amount of data and execution time of the execution results and detect abnormal patterns. Furthermore, the execution unit can automatically take measures when an abnormality is detected. This makes it possible to quickly resolve problems that occur during SQL query execution and improve system stability.

[0106] The providing unit can estimate the user's emotions and adjust the display format of the results based on the estimated user's emotions. For example, if the user is feeling stressed, the providing unit can select a simple, highly visible display format. If the user is feeling relaxed, the providing unit can also select a display format including detailed information. Furthermore, if the user is in a hurry, the providing unit can also prioritize displaying important information. This makes it possible to provide results in an optimal display format according to the user's emotions and improve user satisfaction.

[0107] The reception unit can estimate the user's emotions and adjust the method of receiving natural language commands based on the estimated user emotions. For example, the reception unit can provide a simple and easy-to-understand interface when the user is stressed. Alternatively, the reception unit can provide an interface including detailed explanations when the user is relaxed. Furthermore, the reception unit can provide a shortcut function for quickly receiving commands when the user is in a hurry. This allows commands to be received in an optimal manner depending on the user's emotions, improving user convenience.

[0108] The generator can estimate the user's emotion and adjust the complexity of the SQL query to be generated based on the estimated user's emotion. For example, the generator can generate a detailed SQL query when the user is relaxed. The generator can also generate a concise SQL query when the user is in a hurry. Furthermore, the generator can generate an easy-to-understand SQL query when the user is stressed. This allows the generator to generate an SQL query with appropriate complexity according to the user's emotion, reducing the burden on the user.

[0109] The execution unit can analyze the execution results of the SQL query and make additional suggestions to the user. For example, the execution unit can suggest how to retrieve related data based on the execution results of the SQL query. The execution unit can also suggest how to update or delete data based on the execution results. Furthermore, the execution unit can suggest how to optimize the database based on the execution results. This allows the user to use the execution results of the SQL query to perform database operations more efficiently.

[0110] The providing unit can estimate the user's emotions and adjust the timing of providing the results based on the estimated user's emotions. For example, if the user is feeling stressed, the providing unit can delay providing the results and wait until the user is relaxed. Also, if the user is relaxed, the providing unit can provide the results immediately. Furthermore, if the user is in a hurry, the providing unit can provide the results quickly. This makes it possible to provide the results at the optimal timing according to the user's emotions and improve user satisfaction.

[0111] The reception unit can analyze the user's input content in real time and automatically correct input errors. For example, if a natural language command entered by the user contains a typographical error or omission, the reception unit can automatically correct it and convert it into a correct command. The reception unit can also detect grammatical errors in the command entered by the user and automatically correct them. Furthermore, the reception unit can detect semantic errors in the command entered by the user and convert it into an appropriate command. This reduces user input errors and improves the accuracy of database operations.

[0112] The providing unit can estimate the user's emotions and customize the method of providing results based on the estimated user's emotions. For example, the providing unit can provide detailed results when the user is relaxed. The providing unit can also provide concise results when the user is in a hurry. Furthermore, the providing unit can provide results in a visually easy-to-understand format when the user is stressed. This allows the results to be provided in an optimal manner according to the user's emotions, thereby improving user satisfaction.

[0113] The processing flow of the second embodiment will be briefly explained below.

[0114] Step 1: The reception unit receives a command in natural language from a user. The command in natural language from a user may be in the form of a question, an instruction, a dialogue, or the like, but is not limited to these examples. The reception unit can receive the command by, for example, voice input, text input, image input, or the like. Step 2: The generation unit uses a generation AI to analyze the natural language command received by the reception unit and generate an SQL query. The generation AI analyzes the natural language command using technologies such as neural networks and transformer models, and generates an optimal SQL query. For example, the generation AI generates the SQL query "SELECT name FROM customers;" based on the command "I want to get the names of all customers from the customer table." Step 3: The execution unit executes the SQL query generated by the generation unit against the database. The execution unit can, for example, optimize the SQL query to shorten its execution time. The execution unit can also customize the execution means based on the load status of the database. Step 4: The providing unit provides the results obtained by the execution unit to the user. The providing unit can provide the results in a format such as text, graph, or table.

[0115] 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.

[0116] 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> Examples of generative AIs include the data generation model 58, such as a neural network model (e.g., a neural network model), and a neural network model (e.g., a neural network model). 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 speech, text data indicating text, and image data indicating an image is also input to the data generation model 58. 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. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0117] Furthermore, the processing by the data processing system 10 described above is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0118] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.

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

[0120] 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.

[0121] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0122] 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.

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

[0124] 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 user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0125] 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.

[0126] 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.

[0127] 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.

[0128] 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. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0129] In the smart glasses 214, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0130] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0131] 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.

[0132] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0133] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart glasses 214 or an external device, etc., and the smart glasses 214 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0134] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.

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

[0136] 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.

[0137] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0138] 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.

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

[0140] 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 user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0141] 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.

[0142] 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.

[0143] 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.

[0144] 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. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0145] In the headset type terminal 314, the identification process is performed by the processor 46. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. Note that the headset type terminal 314 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the identification processing unit 290 using these models.

[0146] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0147] 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.

[0148] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0149] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset type terminal 314, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset type terminal 314. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the headset type terminal 314 or an external device, etc., and the headset type terminal 314 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0150] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.

[0151] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[0152] 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0153] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0154] 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.

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

[0156] 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 image sensor or a CCD image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0157] 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.

[0158] The control object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the 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.

[0159] 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.

[0160] 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.

[0161] 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. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0162] In the robot 414, the processor 46 performs the identification process. The storage 50 stores the identification program 60. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as the control unit 46A in accordance with the identification program 60 executed on the RAM 48. The robot 414 also has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can perform the same process as the identification processing unit 290 using these models.

[0163] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0164] 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.

[0165] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0166] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the robot 414 or an external device, etc., and the robot 414 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0167] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.

[0168] 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.

[0169] FIG. 9 illustrates 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 behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions 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.

[0170] 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.

[0171] 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).

[0172] 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 expressed, and when they approach the ideal, a state of pleasure is expressed. Emotions can also be created for robots, cars, 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 expressed, and when they approach the ideal, a state of pleasure is expressed. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.

[0173] 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."

[0174] 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.

[0175] In the above embodiment, an example was given in which a specific process is performed by one computer 22, but the technology disclosed herein is not limited to this, and distributed processing of the specific process may be performed by multiple computers including computer 22.

[0176] 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.

[0177] 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.

[0178] 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.

[0179] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, 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. A processor also includes 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.

[0180] The hardware resource that executes the specific process 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 process may be a single processor.

[0181] 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.

[0182] 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.

[0183] In the above example, the first to fourth embodiments have been described separately, but some or all of these embodiments may be combined. The smart device 14, smart glasses 214, headset terminal 314, and robot 414 are merely examples, and they may be combined, or other devices may be used. In the above example, the first and second embodiments have been described separately, but they may be combined.

[0184] 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.

[0185] 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.

[0186] [Explanation of symbols]

[0187] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot

Claims

1. a reception unit that receives commands in natural language from a user; a generation unit that analyzes the natural language command received by the reception unit and generates an SQL query; an execution unit that executes the SQL query generated by the generation unit on a database; a providing unit that provides the results obtained by the execution unit. A system characterized by:

2. The generation unit Generative AI parses natural language instructions and generates appropriate SQL queries 2. The system of claim 1.

3. The execution unit: Efficiently execute the generated SQL queries against the database 2. The system of claim 1.

4. The providing unit Presents the results retrieved from the database to the user 2. The system of claim 1.

5. The reception unit Estimates the user's emotions and adjusts the timing of accepting natural language commands based on the estimated user emotions.

2. The system of claim 1.

6. The reception unit Analyze the user's past command history and select the appropriate reception method 2. The system of claim 1.

7. The reception unit Accepting natural language commands and filtering based on the user's current projects and interests 2. The system of claim 1.

8. The reception unit When accepting natural language commands, select the appropriate acceptance method depending on the user's input method.

2. The system of claim 1.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A