system
The system addresses inefficiencies in manual SQL generation by automating the process through a data processing system, enabling efficient SQL generation, learning, and recommendation with natural language objectives.
Patent Information
- Application Number
- JP2024135910
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2026-02-27
AI Technical Summary
Conventional technologies are inefficient in generating, learning, and recommending appropriate SQL for database tables, as the process is done manually.
A system comprising a generation unit, a learning unit, and a recommendation unit that automatically generates, learns, and recommends appropriate SQL for database tables, utilizing a data processing system with processors, RAM, storage, and communication interfaces to execute and analyze SQL queries, and generates objectives in natural language.
The system can efficiently generate, learn, and recommend optimal SQL for database tables, reducing user burden by providing understandable objectives and improving database management and query creation.
Smart Images

Figure 2026032869000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional technologies have the drawback of being inefficient because the process of generating, learning, and recommending appropriate SQL for database tables is done manually.
[0005] The system according to the embodiment aims to automatically generate, learn, and recommend appropriate SQL for database tables. [Means for solving the problem]
[0006] The system according to the embodiment includes a generation unit, a learning unit, a recommendation unit, and a goal generation unit. The generation unit generates SQL for a database table. The learning unit executes the SQL generated by the generation unit and learns the results. The recommendation unit recommends new SQL based on the results learned by the learning unit. The goal generation unit generates a goal in natural language from the sample SQL generated by the generation unit. [Effects of the Invention]
[0007] The system according to the embodiment can automatically generate, learn, and recommend appropriate SQL for database tables. [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 AI system according to an embodiment of the present invention generates SQL for each database table, learns from the results, recommends new SQL, and generates objectives in natural language from the generated sample SQL. By generating SQL for each database table and learning from the results, the AI system can provide recommendations for new SQL and mass-produce sample SQL. Furthermore, it can generate objectives in natural language from the generated sample SQL. For example, the AI system generates optimal SQL based on the table structure and data types. It then executes the generated SQL and learns from the results. The AI analyzes the results of the executed SQL and learns which queries are effective. This allows the AI to generate optimal queries by referring to past execution results when creating new SQL. Furthermore, the AI can generate objectives in natural language from the generated sample SQL. For example, if the generated SQL is a query to extract specific data, the objective can be explained in natural language, making it easier for users to understand the intent of the generated SQL. This allows the AI system to streamline database management and query creation, reducing the burden on users. For example, database administrators can efficiently extract data using SQL generated by the AI. In addition, creating new queries becomes easier by referring to sample SQL generated by AI.
[0029] The AI system according to the embodiment includes a generation unit, a learning unit, a recommendation unit, and a goal generation unit. The generation unit generates SQL for a database table. The generation unit generates optimal SQL based on, for example, the structure and data type of the table. The generation unit can create an appropriate query based on the data type of a column included in the table. The learning unit executes the SQL generated by the generation unit and learns the results. The learning unit, for example, analyzes the results of the executed SQL and learns what queries are effective. The learning unit can generate optimal queries by referring to past execution results. The recommendation unit recommends new SQL based on the results learned by the learning unit. The recommendation unit can propose new SQL based on, for example, effective queries learned by the learning unit. The goal generation unit generates a goal in natural language from the sample SQL generated by the generation unit. For example, if the generated SQL is a query to extract specific data, the goal generation unit can explain the goal in natural language. As a result, the AI system according to the embodiment can generate SQL for database tables, learn the results, recommend new SQL, and generate objectives in natural language from the generated sample SQL.
[0030] The generator can generate appropriate SQL based on the table structure or data type. For example, the generator generates SQL based on the table structure. The generator can create an optimal query taking into account the column type of the table and the presence or absence of an index. The generator can also generate SQL based on the data type. For example, the generator can create an appropriate query based on data types such as integer type, string type, and date type. This allows the generator to generate optimal SQL based on the table structure and data type.
[0031] The learning unit can analyze the execution results of the generated SQL and learn what kind of queries are effective. The learning unit, for example, analyzes the execution results of the generated SQL. The learning unit can learn what kind of queries are effective based on criteria such as execution time and accuracy of results. The learning unit can also analyze the execution results of the SQL in detail using an analysis technique. For example, the learning unit can analyze the data distribution and error information of the execution results and learn the optimal query pattern. In this way, the learning unit can analyze the execution results of the generated SQL and learn what kind of queries are effective.
[0032] The recommendation unit can recommend new SQL based on the results learned by the learning unit. The recommendation unit proposes new SQL based on, for example, effective queries learned by the learning unit. The recommendation unit can recommend optimal SQL by taking into consideration the performance and error information of the queries learned by the learning unit. The recommendation unit can also propose appropriate SQL in response to user requests. For example, the recommendation unit can recommend optimal SQL based on the type of data and conditions required by the user. This allows the recommendation unit to recommend new SQL based on the results learned by the learning unit.
[0033] The goal generation unit can explain the purpose of the generated sample SQL in natural language. For example, the goal generation unit explains the purpose of the generated sample SQL in natural language. The goal generation unit can use natural language processing technology to explain the intent of the generated SQL to the user in an easy-to-understand manner. For example, if the generated SQL is a query to extract specific data, the goal generation unit can explain the purpose in natural language. Furthermore, if the generated SQL is a query to update or delete data, the goal generation unit can also explain the purpose in natural language. This allows the goal generation unit to explain the purpose of the generated sample SQL in natural language.
[0034] The generator can generate appropriate SQL based on the update frequency of the table. The generator generates SQL based on, for example, the update frequency of the table. For a table that is updated frequently, the generator can generate SQL that acquires the latest data. Furthermore, for a table that is updated infrequently, the generator can also generate SQL that references past data. Furthermore, for a table that is updated at a medium frequency, the generator can also generate SQL that acquires reasonably recent data. This allows the generator to generate optimal SQL based on the update frequency of the table.
[0035] The generator can improve SQL performance according to the amount of data in the table. For example, the generator optimizes SQL performance according to the amount of data in the table. The generator can generate efficient SQL that utilizes indexes for tables with a large amount of data. The generator can also generate simple SQL for tables with a small amount of data. Furthermore, the generator can generate moderately efficient SQL for tables with a medium amount of data. This allows the generator to optimize SQL performance according to the amount of data in the table.
[0036] The generation unit can generate SQL that spans multiple tables, taking into account the relationships between the tables. For example, the generation unit generates SQL by taking into account the relationships between the tables. The generation unit can generate a join query by utilizing foreign keys between tables. The generation unit can also generate a join query by utilizing common columns between tables. Furthermore, the generation unit can analyze the relationships between tables and generate an optimal join query. This allows the generation unit to generate SQL that spans multiple tables, taking into account the relationships between the tables.
[0037] The generator can improve SQL generation by utilizing table metadata. For example, the generator generates SQL by utilizing table metadata. The generator can generate an optimal query based on column information of the table. The generator can also generate an efficient query based on index information of the table. Furthermore, the generator can generate an accurate query based on constraint information of the table. This allows the generator to optimize SQL generation by utilizing table metadata.
[0038] The generation unit can limit the SQL to be generated based on the access privileges of the table. The generation unit generates SQL based on, for example, the access privileges of the table. The generation unit can generate SQL that retrieves only viewable data based on the user's access privileges. The generation unit can also generate SQL that manipulates only updatable data based on the user's access privileges. Furthermore, the generation unit can generate SQL that manipulates only deletable data based on the user's access privileges. This allows the generation unit to limit the SQL to be generated based on the access privileges of the table.
[0039] The generation unit can generate SQL based on past trends by referring to the historical data of the table. The generation unit generates SQL by referring to, for example, the historical data of the table. The generation unit can generate an optimal query based on past data trends. The generation unit can also generate an efficient query based on past data trends. Furthermore, the generation unit can generate an accurate query based on past data trends. This allows the generation unit to generate SQL based on past trends by referring to the historical data of the table.
[0040] The learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern. The learning unit, for example, analyzes the performance of the SQL execution results. The learning unit can learn an optimal query pattern based on criteria such as execution time and resource usage. The learning unit can also analyze the SQL execution results in detail using an analysis method. For example, the learning unit can analyze the data distribution and error information of the execution results and learn an optimal query pattern. In this way, the learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern.
[0041] The learning unit can analyze error information from the execution results of SQL and learn to avoid errors. The learning unit, for example, analyzes error information from the execution results of SQL. The learning unit can learn to avoid errors based on criteria such as error messages and error codes. The learning unit can also analyze error information from the execution results of SQL in detail using an analysis technique. For example, the learning unit can learn query patterns that are prone to errors and learn ways to avoid them. This allows the learning unit to analyze error information from the execution results of SQL and learn to avoid errors.
[0042] The learning unit can analyze the data distribution of the SQL execution results and perform learning that takes data bias into consideration. The learning unit, for example, analyzes the data distribution of the SQL execution results. The learning unit can perform learning that takes data bias into consideration based on criteria such as data bias and data dispersion. The learning unit can also analyze the data distribution of the SQL execution results in detail using an analysis method. For example, the learning unit can analyze data bias and learn a balanced query pattern. This allows the learning unit to analyze the data distribution of the SQL execution results and perform learning that takes data bias into consideration.
[0043] The learning unit can improve the accuracy of learning by utilizing metadata of the SQL execution results. The learning unit performs learning by utilizing, for example, metadata of the SQL execution results. The learning unit can learn an optimal query pattern based on the metadata of the execution results. The learning unit can also perform efficient learning based on the metadata of the execution results. Furthermore, the learning unit can perform accurate learning based on the metadata of the execution results. This allows the learning unit to improve the accuracy of learning by utilizing metadata of the SQL execution results.
[0044] The learning unit can analyze data on SQL execution results by time period and perform learning according to the time period. The learning unit, for example, analyzes data on SQL execution results by time period. The learning unit can learn the results of queries executed in specific time periods. The learning unit can also analyze data distribution by time period and reflect this in learning. Furthermore, the learning unit can learn query patterns by time period and generate optimal queries. This allows the learning unit to analyze data on SQL execution results by time period and perform learning according to the time period.
[0045] The learning unit can adjust the learning algorithm by reflecting user feedback on the SQL execution results. The learning unit performs learning by, for example, reflecting user feedback on the SQL execution results. The learning unit can adjust the learning algorithm based on user feedback. The learning unit can also perform efficient learning based on user feedback. Furthermore, the learning unit can perform accurate learning based on user feedback. This allows the learning unit to adjust the learning algorithm by reflecting user feedback on the SQL execution results.
[0046] When making a recommendation, the recommendation unit can propose appropriate SQL by taking into consideration the performance of the SQL execution results. The recommendation unit proposes SQL by taking into consideration, for example, the performance of the SQL execution results. The recommendation unit can propose optimal SQL based on criteria such as execution time and resource usage. The recommendation unit can also prioritize and propose SQL that will produce highly accurate results. Furthermore, the recommendation unit can also propose SQL that will avoid errors by taking into consideration error information. This allows the recommendation unit to propose optimal SQL by taking into consideration the performance of the SQL execution results.
[0047] When making a recommendation, the recommendation unit can propose SQL to avoid errors by taking into account error information in the execution results of SQL. The recommendation unit can propose SQL by taking into account error information in the execution results of SQL, for example. The recommendation unit can propose SQL to avoid errors based on criteria such as an error message or an error code. The recommendation unit can also analyze the cause of the error and propose corrected SQL. Furthermore, the recommendation unit can propose SQL to reduce the frequency of errors. This allows the recommendation unit to propose SQL to avoid errors by taking into account error information in the execution results of SQL.
[0048] When making a recommendation, the recommendation unit can propose SQL that avoids data bias by taking into account the data distribution of the SQL execution results. The recommendation unit proposes SQL by taking into account, for example, the data distribution of the SQL execution results. The recommendation unit can propose SQL that avoids data bias based on criteria such as data bias and data dispersion. The recommendation unit can also analyze data bias and propose balanced SQL. Furthermore, the recommendation unit can propose SQL that is not biased toward specific data. This allows the recommendation unit to propose SQL that avoids data bias by taking into account the data distribution of the SQL execution results.
[0049] When making a recommendation, the recommendation unit can suggest appropriate SQL by using metadata of the SQL execution results. The recommendation unit, for example, suggests SQL by using metadata of the SQL execution results. The recommendation unit can suggest optimal SQL based on the metadata of the execution results. The recommendation unit can also suggest efficient SQL based on the metadata of the execution results. Furthermore, the recommendation unit can suggest accurate SQL based on the metadata of the execution results. This allows the recommendation unit to suggest optimal SQL by using metadata of the SQL execution results.
[0050] When making a recommendation, the recommendation unit can propose SQL appropriate for a time period by taking into consideration data on the execution results of SQL by time period. For example, the recommendation unit proposes SQL by taking into consideration data on the execution results of SQL by time period. The recommendation unit can propose the optimal SQL based on SQL executed in a specific time period. The recommendation unit can also analyze data distribution by time period and propose the optimal SQL. Furthermore, the recommendation unit can learn query patterns by time period and propose the optimal SQL. This allows the recommendation unit to propose SQL appropriate for a time period by taking into consideration data on the execution results of SQL by time period.
[0051] When making a recommendation, the recommendation unit can propose optimal SQL by reflecting user feedback on the execution results of the SQL. For example, the recommendation unit proposes SQL by reflecting user feedback on the execution results of the SQL. The recommendation unit can propose optimal SQL based on user feedback. The recommendation unit can also propose efficient SQL based on user feedback. Furthermore, the recommendation unit can also propose accurate SQL based on user feedback. This allows the recommendation unit to propose optimal SQL by reflecting user feedback on the execution results of the SQL.
[0052] The goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal. The goal generator, for example, analyzes the execution results of the generated sample SQL. If the execution results are detailed, the goal generator can set the level of detail of the goal to be high. Also, if the execution results are concise, the goal generator can set the level of detail of the goal to be low. Furthermore, if the execution results are medium, the goal generator can set the level of detail of the goal to be medium. In this way, the goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal.
[0053] The goal generation unit can apply different goal generation algorithms depending on the category of the generated sample SQL. For example, the goal generation unit applies a goal generation algorithm depending on the category of the generated sample SQL. In the case of a data extraction query, the goal generation unit can apply an algorithm that clarifies the purpose of data extraction. In addition, in the case of a data update query, the goal generation unit can also apply an algorithm that clarifies the purpose of data update. Furthermore, in the case of a data deletion query, the goal generation unit can apply an algorithm that clarifies the purpose of data deletion. This allows the goal generation unit to apply different goal generation algorithms depending on the category of the generated sample SQL.
[0054] The goal generation unit can improve the accuracy of goal generation by referring to past execution results of the generated sample SQL. The goal generation unit generates a goal by referring to, for example, past execution results of the generated sample SQL. The goal generation unit can improve the accuracy of goal generation based on past execution results. The goal generation unit can also generate efficient goals based on past execution results. Furthermore, the goal generation unit can generate accurate goals based on past execution results. In this way, the goal generation unit can improve the accuracy of goal generation by referring to past execution results of the generated sample SQL.
[0055] The goal generation unit can determine the priority of goals based on the submission time of the generated sample SQL. The goal generation unit can determine the priority of goals based on, for example, the submission time of the generated sample SQL. The goal generation unit can generate goals by giving priority to sample SQL that is submitted early. Also, the goal generation unit can postpone goals for sample SQL that is submitted late. Furthermore, the goal generation unit can generate goals by giving medium priority to sample SQL that is submitted at a medium time. This allows the goal generation unit to determine the priority of goals based on the submission time of the generated sample SQL.
[0056] The goal generation unit can adjust the order of goals based on the relevance of the generated sample SQL. The goal generation unit adjusts the order of goals based on, for example, the relevance of the generated sample SQL. The goal generation unit can generate goals for sample SQL with high relevance with priority. Furthermore, the goal generation unit can postpone generating goals for sample SQL with low relevance. Furthermore, the goal generation unit can generate goals for sample SQL with medium relevance with medium priority. This allows the goal generation unit to adjust the order of goals based on the relevance of the generated sample SQL.
[0057] The goal generator can adjust the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL. For example, the goal generator adjusts the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL. If the user's expertise level is high, the goal generator can generate a goal that uses a lot of technical terminology. If the user's expertise level is low, the goal generator can also generate a goal that avoids technical terminology. Furthermore, if the user's expertise level is medium, the goal generator can generate a goal that uses technical terminology moderately. In this way, the goal generator can adjust the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL.
[0058] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0059] The generation unit can refer to the user's past query history and generate similar queries. For example, the generation unit can analyze the patterns of queries executed by the user in the past and generate queries that extract similar data. The generation unit can also generate queries that include columns and conditions frequently used by the user based on the past query history. Furthermore, the generation unit can reproduce queries executed by the user during a specific period based on the past query history. This allows the generation unit to generate similar queries by referring to the user's past query history.
[0060] The learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern. For example, the learning unit can learn an optimal query pattern based on criteria such as execution time and resource usage. The learning unit can also analyze the SQL execution results in detail using an analysis technique. For example, the learning unit can analyze the data distribution and error information of the execution results and learn an optimal query pattern. In this way, the learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern.
[0061] The goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal. For example, if the execution results are detailed, the goal generator can set the level of detail of the goal to be high. Also, if the execution results are concise, the goal generator can set the level of detail of the goal to be low. Furthermore, if the execution results are medium, the goal generator can set the level of detail of the goal to be medium. In this way, the goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal.
[0062] The generator can improve SQL generation by utilizing table metadata. For example, the generator can generate an optimal query based on table column information. The generator can also generate an efficient query based on table index information. Furthermore, the generator can generate an accurate query based on table constraint information. This allows the generator to optimize SQL generation by utilizing table metadata.
[0063] The recommendation unit can propose appropriate SQL by taking into account the performance of the SQL execution results. For example, the recommendation unit can propose optimal SQL based on criteria such as execution time and resource usage. The recommendation unit can also prioritize and propose SQL that will produce highly accurate results. Furthermore, the recommendation unit can also propose SQL that will avoid errors by taking into account error information. This allows the recommendation unit to propose optimal SQL by taking into account the performance of the SQL execution results.
[0064] The generator can refer to the historical data of the table to generate SQL based on past trends. For example, the generator can generate an optimal query based on past data trends. The generator can also generate an efficient query based on past data trends. Furthermore, the generator can generate an accurate query based on past data trends. This allows the generator to generate SQL based on past trends by referring to the historical data of the table.
[0065] The learning unit can analyze error information from the execution results of SQL and learn how to avoid errors. For example, the learning unit can learn how to avoid errors based on criteria such as error messages and error codes. The learning unit can also use analysis techniques to analyze error information from the execution results of SQL in detail. For example, the learning unit can learn query patterns that are prone to errors and learn how to avoid them. This allows the learning unit to analyze error information from the execution results of SQL and learn how to avoid errors.
[0066] The processing flow of the first embodiment will be briefly explained below.
[0067] Step 1: The generator generates SQL for the database table. The generator generates optimal SQL based on the table structure and data types, and creates an appropriate query based on the data types of the columns contained in the table. Step 2: The learning unit executes the SQL generated by the generation unit and learns the results. The learning unit analyzes the results of the executed SQL and learns what queries are effective. It can generate optimal queries by referring to past execution results. Step 3: The recommendation unit recommends new SQL based on the results learned by the learning unit. The recommendation unit can propose new SQL based on the effective queries learned by the learning unit. Step 4: The purpose generator generates a purpose in natural language from the sample SQL generated by the generator. If the generated SQL is a query to extract specific data, the purpose can be explained in natural language.
[0068] (Example 2) An AI system according to an embodiment of the present invention generates SQL for each database table, learns from the results, recommends new SQL, and generates objectives in natural language from the generated sample SQL. By generating SQL for each database table and learning from the results, the AI system can provide recommendations for new SQL and mass-produce sample SQL. Furthermore, it can generate objectives in natural language from the generated sample SQL. For example, the AI system generates optimal SQL based on the table structure and data types. It then executes the generated SQL and learns from the results. The AI analyzes the results of the executed SQL and learns which queries are effective. This allows the AI to generate optimal queries by referring to past execution results when creating new SQL. Furthermore, the AI can generate objectives in natural language from the generated sample SQL. For example, if the generated SQL is a query to extract specific data, the objective can be explained in natural language, making it easier for users to understand the intent of the generated SQL. This allows the AI system to streamline database management and query creation, reducing the burden on users. For example, database administrators can efficiently extract data using SQL generated by the AI. In addition, creating new queries becomes easier by referring to sample SQL generated by AI.
[0069] The AI system according to the embodiment includes a generation unit, a learning unit, a recommendation unit, and a goal generation unit. The generation unit generates SQL for a database table. The generation unit generates optimal SQL based on, for example, the structure and data type of the table. The generation unit can create an appropriate query based on the data type of a column included in the table. The learning unit executes the SQL generated by the generation unit and learns the results. The learning unit, for example, analyzes the results of the executed SQL and learns what queries are effective. The learning unit can generate optimal queries by referring to past execution results. The recommendation unit recommends new SQL based on the results learned by the learning unit. The recommendation unit can propose new SQL based on, for example, effective queries learned by the learning unit. The goal generation unit generates a goal in natural language from the sample SQL generated by the generation unit. For example, if the generated SQL is a query to extract specific data, the goal generation unit can explain the goal in natural language. As a result, the AI system according to the embodiment can generate SQL for database tables, learn the results, recommend new SQL, and generate objectives in natural language from the generated sample SQL.
[0070] The generator can generate appropriate SQL based on the table structure or data type. For example, the generator generates SQL based on the table structure. The generator can create an optimal query taking into account the column type of the table and the presence or absence of an index. The generator can also generate SQL based on the data type. For example, the generator can create an appropriate query based on data types such as integer type, string type, and date type. This allows the generator to generate optimal SQL based on the table structure and data type.
[0071] The learning unit can analyze the execution results of the generated SQL and learn what kind of queries are effective. The learning unit, for example, analyzes the execution results of the generated SQL. The learning unit can learn what kind of queries are effective based on criteria such as execution time and accuracy of results. The learning unit can also analyze the execution results of the SQL in detail using an analysis technique. For example, the learning unit can analyze the data distribution and error information of the execution results and learn the optimal query pattern. In this way, the learning unit can analyze the execution results of the generated SQL and learn what kind of queries are effective.
[0072] The recommendation unit can recommend new SQL based on the results learned by the learning unit. The recommendation unit proposes new SQL based on, for example, effective queries learned by the learning unit. The recommendation unit can recommend optimal SQL by taking into consideration the performance and error information of the queries learned by the learning unit. The recommendation unit can also propose appropriate SQL in response to user requests. For example, the recommendation unit can recommend optimal SQL based on the type of data and conditions required by the user. This allows the recommendation unit to recommend new SQL based on the results learned by the learning unit.
[0073] The goal generation unit can explain the purpose of the generated sample SQL in natural language. For example, the goal generation unit explains the purpose of the generated sample SQL in natural language. The goal generation unit can use natural language processing technology to explain the intent of the generated SQL to the user in an easy-to-understand manner. For example, if the generated SQL is a query to extract specific data, the goal generation unit can explain the purpose in natural language. Furthermore, if the generated SQL is a query to update or delete data, the goal generation unit can also explain the purpose in natural language. This allows the goal generation unit to explain the purpose of the generated sample SQL in natural language.
[0074] The generation unit can estimate the user's emotion and adjust the complexity of the SQL to be generated based on the estimated emotion. For example, the generation unit can estimate the user's emotion and adjust the complexity of the SQL to be generated based on the estimated emotion. The generation unit can analyze the user's emotion using a sentiment analysis algorithm. For example, if the user is stressed, the generation unit can generate simple and intuitive SQL. If the user is relaxed, the generation unit can generate complex SQL including detailed conditions. Furthermore, if the user is in a hurry, the generation unit can generate concise SQL that can be executed quickly. This allows the generation unit to adjust the complexity of the SQL to be generated depending on the user's emotion. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generation AI. The generation AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0075] The generator can generate appropriate SQL based on the update frequency of the table. The generator generates SQL based on, for example, the update frequency of the table. For a table that is updated frequently, the generator can generate SQL that acquires the latest data. Furthermore, for a table that is updated infrequently, the generator can also generate SQL that references past data. Furthermore, for a table that is updated at a medium frequency, the generator can also generate SQL that acquires reasonably recent data. This allows the generator to generate optimal SQL based on the update frequency of the table.
[0076] The generator can improve SQL performance according to the amount of data in the table. For example, the generator optimizes SQL performance according to the amount of data in the table. The generator can generate efficient SQL that utilizes indexes for tables with a large amount of data. The generator can also generate simple SQL for tables with a small amount of data. Furthermore, the generator can generate moderately efficient SQL for tables with a medium amount of data. This allows the generator to optimize SQL performance according to the amount of data in the table.
[0077] The generation unit can generate SQL that spans multiple tables, taking into account the relationships between the tables. For example, the generation unit generates SQL by taking into account the relationships between the tables. The generation unit can generate a join query by utilizing foreign keys between tables. The generation unit can also generate a join query by utilizing common columns between tables. Furthermore, the generation unit can analyze the relationships between tables and generate an optimal join query. This allows the generation unit to generate SQL that spans multiple tables, taking into account the relationships between the tables.
[0078] The generation unit can estimate the user's emotion and determine the priority of SQL to be generated based on the estimated emotion. For example, the generation unit can estimate the user's emotion and determine the priority of SQL to be generated based on the estimated emotion. The generation unit can analyze the user's emotion using an emotion analysis algorithm. For example, if the user is stressed, the generation unit can prioritize generating important queries. Also, if the user is relaxed, the generation unit can prioritize generating detailed queries. Furthermore, if the user is in a hurry, the generation unit can prioritize generating queries that can be executed quickly. In this way, the generation unit can prioritize generating SQL to be generated according to the user's emotion. Emotion estimation is realized using an emotion estimation function using, 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.
[0079] The generator can improve SQL generation by utilizing table metadata. For example, the generator generates SQL by utilizing table metadata. The generator can generate an optimal query based on column information of the table. The generator can also generate an efficient query based on index information of the table. Furthermore, the generator can generate an accurate query based on constraint information of the table. This allows the generator to optimize SQL generation by utilizing table metadata.
[0080] The generation unit can limit the SQL to be generated based on the access privileges of the table. The generation unit generates SQL based on, for example, the access privileges of the table. The generation unit can generate SQL that retrieves only viewable data based on the user's access privileges. The generation unit can also generate SQL that manipulates only updatable data based on the user's access privileges. Furthermore, the generation unit can generate SQL that manipulates only deletable data based on the user's access privileges. This allows the generation unit to limit the SQL to be generated based on the access privileges of the table.
[0081] The generation unit can generate SQL based on past trends by referring to the historical data of the table. The generation unit generates SQL by referring to, for example, the historical data of the table. The generation unit can generate an optimal query based on past data trends. The generation unit can also generate an efficient query based on past data trends. Furthermore, the generation unit can generate an accurate query based on past data trends. This allows the generation unit to generate SQL based on past trends by referring to the historical data of the table.
[0082] The learning unit can estimate the user's emotions and select training data based on the estimated emotions. For example, the learning unit can estimate the user's emotions and select training data based on the estimated emotions. The learning unit can analyze the user's emotions using an emotion analysis algorithm. For example, if the user is stressed, the learning unit can prioritize learning results from simple queries. Also, if the user is relaxed, the learning unit can prioritize learning results from detailed queries. Furthermore, if the user is in a hurry, the learning unit can prioritize learning results from queries that can be executed quickly. This allows the learning unit to select training data according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. The generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0083] The learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern. The learning unit, for example, analyzes the performance of the SQL execution results. The learning unit can learn an optimal query pattern based on criteria such as execution time and resource usage. The learning unit can also analyze the SQL execution results in detail using an analysis method. For example, the learning unit can analyze the data distribution and error information of the execution results and learn an optimal query pattern. In this way, the learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern.
[0084] The learning unit can analyze error information from the execution results of SQL and learn to avoid errors. The learning unit, for example, analyzes error information from the execution results of SQL. The learning unit can learn to avoid errors based on criteria such as error messages and error codes. The learning unit can also analyze error information from the execution results of SQL in detail using an analysis technique. For example, the learning unit can learn query patterns that are prone to errors and learn ways to avoid them. This allows the learning unit to analyze error information from the execution results of SQL and learn to avoid errors.
[0085] The learning unit can analyze the data distribution of the SQL execution results and perform learning that takes data bias into consideration. The learning unit, for example, analyzes the data distribution of the SQL execution results. The learning unit can perform learning that takes data bias into consideration based on criteria such as data bias and data dispersion. The learning unit can also analyze the data distribution of the SQL execution results in detail using an analysis method. For example, the learning unit can analyze data bias and learn a balanced query pattern. This allows the learning unit to analyze the data distribution of the SQL execution results and perform learning that takes data bias into consideration.
[0086] The learning unit can estimate the user's emotions and adjust the frequency of learning based on the estimated emotions. For example, the learning unit can estimate the user's emotions and adjust the frequency of learning based on the estimated emotions. The learning unit can analyze the user's emotions using an emotion analysis algorithm. For example, the learning unit can set the learning frequency low when the user is stressed. The learning unit can also set the learning frequency high when the user is relaxed. Furthermore, the learning unit can set the learning frequency to medium when the user is in a hurry. This allows the learning unit to adjust the learning frequency according to 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, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0087] The learning unit can improve the accuracy of learning by utilizing metadata of the SQL execution results. The learning unit performs learning by utilizing, for example, metadata of the SQL execution results. The learning unit can learn an optimal query pattern based on the metadata of the execution results. The learning unit can also perform efficient learning based on the metadata of the execution results. Furthermore, the learning unit can perform accurate learning based on the metadata of the execution results. This allows the learning unit to improve the accuracy of learning by utilizing metadata of the SQL execution results.
[0088] The learning unit can analyze data on SQL execution results by time period and perform learning according to the time period. The learning unit, for example, analyzes data on SQL execution results by time period. The learning unit can learn the results of queries executed in specific time periods. The learning unit can also analyze data distribution by time period and reflect this in learning. Furthermore, the learning unit can learn query patterns by time period and generate optimal queries. This allows the learning unit to analyze data on SQL execution results by time period and perform learning according to the time period.
[0089] The learning unit can adjust the learning algorithm by reflecting user feedback on the SQL execution results. The learning unit performs learning by, for example, reflecting user feedback on the SQL execution results. The learning unit can adjust the learning algorithm based on user feedback. The learning unit can also perform efficient learning based on user feedback. Furthermore, the learning unit can perform accurate learning based on user feedback. This allows the learning unit to adjust the learning algorithm by reflecting user feedback on the SQL execution results.
[0090] The recommendation unit can estimate the user's emotions and adjust the way the recommendation is presented based on the estimated emotions. For example, the recommendation unit can estimate the user's emotions and adjust the way the recommendation is presented based on the estimated emotions. The recommendation unit can analyze the user's emotions using an emotion analysis algorithm. For example, if the user is feeling stressed, the recommendation unit can provide a simple and intuitive recommendation. Also, if the user is relaxed, the recommendation unit can provide a recommendation that includes detailed information. Furthermore, if the user is in a hurry, the recommendation unit can provide a recommendation that can be quickly implemented. This allows the recommendation unit to adjust the way the recommendation is presented based 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, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0091] When making a recommendation, the recommendation unit can propose appropriate SQL by taking into consideration the performance of the SQL execution results. The recommendation unit proposes SQL by taking into consideration, for example, the performance of the SQL execution results. The recommendation unit can propose optimal SQL based on criteria such as execution time and resource usage. The recommendation unit can also prioritize and propose SQL that will produce highly accurate results. Furthermore, the recommendation unit can also propose SQL that will avoid errors by taking into consideration error information. This allows the recommendation unit to propose optimal SQL by taking into consideration the performance of the SQL execution results.
[0092] When making a recommendation, the recommendation unit can propose SQL to avoid errors by taking into account error information in the execution results of SQL. The recommendation unit can propose SQL by taking into account error information in the execution results of SQL, for example. The recommendation unit can propose SQL to avoid errors based on criteria such as an error message or an error code. The recommendation unit can also analyze the cause of the error and propose corrected SQL. Furthermore, the recommendation unit can propose SQL to reduce the frequency of errors. This allows the recommendation unit to propose SQL to avoid errors by taking into account error information in the execution results of SQL.
[0093] When making a recommendation, the recommendation unit can propose SQL that avoids data bias by taking into account the data distribution of the SQL execution results. The recommendation unit proposes SQL by taking into account, for example, the data distribution of the SQL execution results. The recommendation unit can propose SQL that avoids data bias based on criteria such as data bias and data dispersion. The recommendation unit can also analyze data bias and propose balanced SQL. Furthermore, the recommendation unit can propose SQL that is not biased toward specific data. This allows the recommendation unit to propose SQL that avoids data bias by taking into account the data distribution of the SQL execution results.
[0094] The recommendation unit can estimate the user's emotions and determine the priority of recommendations based on the estimated emotions. The recommendation unit can, for example, estimate the user's emotions and determine the priority of recommendations based on the estimated emotions. The recommendation unit can analyze the user's emotions using an emotion analysis algorithm. For example, if the user is feeling stressed, the recommendation unit can prioritize recommending important SQL. Also, if the user is relaxed, the recommendation unit can prioritize recommending detailed SQL. Furthermore, if the user is in a hurry, the recommendation unit can prioritize recommending SQL that can be executed quickly. This allows the recommendation unit to prioritize recommendations according to the user's emotions. Emotion estimation is realized using an emotion estimation function using, 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.
[0095] When making a recommendation, the recommendation unit can suggest appropriate SQL by using metadata of the SQL execution results. The recommendation unit, for example, suggests SQL by using metadata of the SQL execution results. The recommendation unit can suggest optimal SQL based on the metadata of the execution results. The recommendation unit can also suggest efficient SQL based on the metadata of the execution results. Furthermore, the recommendation unit can suggest accurate SQL based on the metadata of the execution results. This allows the recommendation unit to suggest optimal SQL by using metadata of the SQL execution results.
[0096] When making a recommendation, the recommendation unit can propose SQL appropriate for a time period by taking into consideration data on the execution results of SQL by time period. For example, the recommendation unit proposes SQL by taking into consideration data on the execution results of SQL by time period. The recommendation unit can propose the optimal SQL based on SQL executed in a specific time period. The recommendation unit can also analyze data distribution by time period and propose the optimal SQL. Furthermore, the recommendation unit can learn query patterns by time period and propose the optimal SQL. This allows the recommendation unit to propose SQL appropriate for a time period by taking into consideration data on the execution results of SQL by time period.
[0097] When making a recommendation, the recommendation unit can propose optimal SQL by reflecting user feedback on the execution results of the SQL. For example, the recommendation unit proposes SQL by reflecting user feedback on the execution results of the SQL. The recommendation unit can propose optimal SQL based on user feedback. The recommendation unit can also propose efficient SQL based on user feedback. Furthermore, the recommendation unit can also propose accurate SQL based on user feedback. This allows the recommendation unit to propose optimal SQL by reflecting user feedback on the execution results of the SQL.
[0098] The goal generator can estimate the user's emotion and adjust the goal expression method based on the estimated emotion. For example, the goal generator can estimate the user's emotion and adjust the goal expression method based on the estimated emotion. The goal generator can analyze the user's emotion using an emotion analysis algorithm. For example, if the user is stressed, the goal generator can provide a simple and intuitive expression method. If the user is relaxed, the goal generator can also provide an expression method that includes detailed information. Furthermore, if the user is in a hurry, the goal generator can also provide an expression method that can be quickly understood. This allows the goal generator to adjust the goal expression method according to the user's emotion. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generation AI. The generation AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0099] The goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal. The goal generator, for example, analyzes the execution results of the generated sample SQL. If the execution results are detailed, the goal generator can set the level of detail of the goal to be high. Also, if the execution results are concise, the goal generator can set the level of detail of the goal to be low. Furthermore, if the execution results are medium, the goal generator can set the level of detail of the goal to be medium. In this way, the goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal.
[0100] The goal generation unit can apply different goal generation algorithms depending on the category of the generated sample SQL. For example, the goal generation unit applies a goal generation algorithm depending on the category of the generated sample SQL. In the case of a data extraction query, the goal generation unit can apply an algorithm that clarifies the purpose of data extraction. In addition, in the case of a data update query, the goal generation unit can also apply an algorithm that clarifies the purpose of data update. Furthermore, in the case of a data deletion query, the goal generation unit can apply an algorithm that clarifies the purpose of data deletion. This allows the goal generation unit to apply different goal generation algorithms depending on the category of the generated sample SQL.
[0101] The goal generation unit can improve the accuracy of goal generation by referring to past execution results of the generated sample SQL. The goal generation unit generates a goal by referring to, for example, past execution results of the generated sample SQL. The goal generation unit can improve the accuracy of goal generation based on past execution results. The goal generation unit can also generate efficient goals based on past execution results. Furthermore, the goal generation unit can generate accurate goals based on past execution results. In this way, the goal generation unit can improve the accuracy of goal generation by referring to past execution results of the generated sample SQL.
[0102] The goal generator can estimate the user's emotion and adjust the length of the goal based on the estimated emotion. For example, the goal generator can estimate the user's emotion and adjust the length of the goal based on the estimated emotion. The goal generator can analyze the user's emotion using an emotion analysis algorithm. For example, if the user is stressed, the goal generator can generate a short, to-the-point goal. If the user is relaxed, the goal generator can generate a longer goal with detailed explanations. Furthermore, if the user is in a hurry, the goal generator can generate a short goal that can be quickly understood. This allows the goal generator to adjust the length of the goal according to the user's emotion. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generation AI. The generation AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI.
[0103] The goal generation unit can determine the priority of goals based on the submission time of the generated sample SQL. The goal generation unit can determine the priority of goals based on, for example, the submission time of the generated sample SQL. The goal generation unit can generate goals by giving priority to sample SQL that is submitted early. Also, the goal generation unit can postpone goals for sample SQL that is submitted late. Furthermore, the goal generation unit can generate goals by giving medium priority to sample SQL that is submitted at a medium time. This allows the goal generation unit to determine the priority of goals based on the submission time of the generated sample SQL.
[0104] The goal generation unit can adjust the order of goals based on the relevance of the generated sample SQL. The goal generation unit adjusts the order of goals based on, for example, the relevance of the generated sample SQL. The goal generation unit can generate goals for sample SQL with high relevance with priority. Furthermore, the goal generation unit can postpone generating goals for sample SQL with low relevance. Furthermore, the goal generation unit can generate goals for sample SQL with medium relevance with medium priority. This allows the goal generation unit to adjust the order of goals based on the relevance of the generated sample SQL.
[0105] The goal generator can adjust the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL. For example, the goal generator adjusts the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL. If the user's expertise level is high, the goal generator can generate a goal that uses a lot of technical terminology. If the user's expertise level is low, the goal generator can also generate a goal that avoids technical terminology. Furthermore, if the user's expertise level is medium, the goal generator can generate a goal that uses technical terminology moderately. In this way, the goal generator can adjust the use of technical terminology in the goal according to the expertise level of the user of the generated sample SQL. === Hard Collateral 1-1 === Each of the multiple elements, including the above-mentioned generation unit, learning unit, recommendation unit, and goal generation unit, is realized, for example, by at least one of the smart device 14 and the data processing device 12. For example, the generation unit is realized by either the smart device 14 or the data processing device 12. For example, the generation unit is realized by the specific processing unit 290 of the data processing device 12 and generates optimal SQL based on the table structure and data type. The learning unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL and learns the results. The recommendation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and recommends new SQL based on the learned results. The goal generation unit is realized, for example, by the control unit 46A of the smart device 14 and generates a goal in natural language from the generated sample SQL. === Hard Collateral 1-2 === Each of the multiple elements, including the above-mentioned generation unit, learning unit, recommendation unit, and goal generation unit, is realized, for example, by at least one of the smart glasses 214 and the data processing device 12. For example, the generation unit is realized by either the smart glasses 214 or the data processing device 12. For example, the generation unit is realized by the specific processing unit 290 of the data processing device 12 and generates optimal SQL based on the table structure and data type. The learning unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL and learns the results. The recommendation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and recommends new SQL based on the learned results. The goal generation unit is realized, for example, by the control unit 46A of the smart glasses 214 and generates a goal in natural language from the generated sample SQL. === Hard Collateral 1-3 === Each of the multiple elements including the above-mentioned generation unit, learning unit, recommendation unit, and goal generation unit is realized, for example, by at least one of the headset terminal 314 and the data processing device 12. For example, the generation unit is realized by either the headset terminal 314 or the data processing device 12. For example, the generation unit is realized by the specific processing unit 290 of the data processing device 12 and generates optimal SQL based on the table structure and data type. The learning unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL and learns the results. The recommendation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and recommends new SQL based on the learned results. The goal generation unit is realized, for example, by the control unit 46A of the headset terminal 314 and generates a goal in natural language from the generated sample SQL. === Hard Collateral 1-4 === Each of the multiple elements including the above-mentioned generation unit, learning unit, recommendation unit, and goal generation unit is realized, for example, by at least one of the robot 414 and the data processing device 12. For example, the generation unit is realized by either the robot 414 or the data processing device 12. For example, the generation unit is realized by the specific processing unit 290 of the data processing device 12 and generates optimal SQL based on the table structure and data type. The learning unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL and learns the results. The recommendation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and recommends new SQL based on the learned results. The goal generation unit is realized, for example, by the control unit 46A of the robot 414 and generates a goal in natural language from the generated sample SQL.
[0106] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0107] The generation unit can refer to the user's past query history and generate similar queries. For example, the generation unit can analyze the patterns of queries executed by the user in the past and generate queries that extract similar data. The generation unit can also generate queries that include columns and conditions frequently used by the user based on the past query history. Furthermore, the generation unit can reproduce queries executed by the user during a specific period based on the past query history. This allows the generation unit to generate similar queries by referring to the user's past query history.
[0108] The learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern. For example, the learning unit can learn an optimal query pattern based on criteria such as execution time and resource usage. The learning unit can also analyze the SQL execution results in detail using an analysis technique. For example, the learning unit can analyze the data distribution and error information of the execution results and learn an optimal query pattern. In this way, the learning unit can analyze the performance of the SQL execution results and learn an appropriate query pattern.
[0109] The recommendation unit can estimate the user's emotions and adjust the way recommendations are expressed based on the estimated emotions. For example, if the user is feeling stressed, the recommendation unit can make a simple and intuitive recommendation. If the user is relaxed, the recommendation unit can also make a recommendation that includes detailed information. Furthermore, if the user is in a hurry, the recommendation unit can also make a recommendation that can be implemented quickly. This allows the recommendation unit to adjust the way recommendations are expressed depending on the user's emotions.
[0110] The goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal. For example, if the execution results are detailed, the goal generator can set the level of detail of the goal to be high. Also, if the execution results are concise, the goal generator can set the level of detail of the goal to be low. Furthermore, if the execution results are medium, the goal generator can set the level of detail of the goal to be medium. In this way, the goal generator can analyze the execution results of the generated sample SQL and adjust the level of detail of the goal.
[0111] The generator can improve SQL generation by utilizing table metadata. For example, the generator can generate an optimal query based on table column information. The generator can also generate an efficient query based on table index information. Furthermore, the generator can generate an accurate query based on table constraint information. This allows the generator to optimize SQL generation by utilizing table metadata.
[0112] The learning unit can estimate the user's emotions and select learning data based on the estimated emotions. For example, if the user is feeling stressed, the learning unit can prioritize learning the execution results of simple queries. Also, if the user is relaxed, the learning unit can prioritize learning the execution results of detailed queries. Furthermore, if the user is in a hurry, the learning unit can prioritize learning the execution results of queries that can be executed quickly. This allows the learning unit to select learning data according to the user's emotions.
[0113] The recommendation unit can propose appropriate SQL by taking into account the performance of the SQL execution results. For example, the recommendation unit can propose optimal SQL based on criteria such as execution time and resource usage. The recommendation unit can also prioritize and propose SQL that will produce highly accurate results. Furthermore, the recommendation unit can also propose SQL that will avoid errors by taking into account error information. This allows the recommendation unit to propose optimal SQL by taking into account the performance of the SQL execution results.
[0114] The goal generator can estimate the user's emotions and adjust the way the goal is expressed based on the estimated emotions. For example, if the user is feeling stressed, the goal generator can provide a simple and intuitive way of expression. If the user is feeling relaxed, the goal generator can also provide a way of expression that includes detailed information. Furthermore, if the user is in a hurry, the goal generator can also provide a way of expression that can be quickly understood. In this way, the goal generator can adjust the way the goal is expressed according to the user's emotions.
[0115] The generator can refer to the historical data of the table to generate SQL based on past trends. For example, the generator can generate an optimal query based on past data trends. The generator can also generate an efficient query based on past data trends. Furthermore, the generator can generate an accurate query based on past data trends. This allows the generator to generate SQL based on past trends by referring to the historical data of the table.
[0116] The learning unit can analyze error information from the execution results of SQL and learn how to avoid errors. For example, the learning unit can learn how to avoid errors based on criteria such as error messages and error codes. The learning unit can also use analysis techniques to analyze error information from the execution results of SQL in detail. For example, the learning unit can learn query patterns that are prone to errors and learn how to avoid them. This allows the learning unit to analyze error information from the execution results of SQL and learn how to avoid errors.
[0117] The processing flow of the second embodiment will be briefly explained below.
[0118] Step 1: The generator generates SQL for the database table. The generator generates optimal SQL based on the table structure and data types, and creates an appropriate query based on the data types of the columns contained in the table. Step 2: The learning unit executes the SQL generated by the generation unit and learns the results. The learning unit analyzes the results of the executed SQL and learns what queries are effective. It can generate optimal queries by referring to past execution results. Step 3: The recommendation unit recommends new SQL based on the results learned by the learning unit. The recommendation unit can propose new SQL based on the effective queries learned by the learning unit. Step 4: The purpose generator generates a purpose in natural language from the sample SQL generated by the generator. If the generated SQL is a query to extract specific data, the purpose can be explained in natural language.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] The correspondence between each part and the device or control part is not limited to the above example, and various modifications are possible.
[0123] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0124] 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0125] 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.
[0126] 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.
[0127] 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.
[0128] 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).
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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 AI 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.
[0137] 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.
[0138] The correspondence between each part and the device or control part is not limited to the above example, and various modifications are possible.
[0139] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0140] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0141] 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.
[0142] 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.
[0143] 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.
[0144] 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).
[0145] 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.
[0146] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset 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.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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 AI 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.
[0153] 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.
[0154] The correspondence between each part and the device or control part is not limited to the above example, and various modifications are possible.
[0155] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0156] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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).
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] 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.
[0168] 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.
[0169] 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 AI 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.
[0170] 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.
[0171] The correspondence between each part and the device or control part is not limited to the above example, and various modifications are possible.
[0172] 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.
[0173] 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.
[0174] 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.
[0175] 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).
[0176] 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.
[0177] 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."
[0178] 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.
[0179] 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.
[0180] 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.
[0181] 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.
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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.
[0186] 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.
[0187] 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.
[0188] 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, in order to avoid confusion and to 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.
[0189] 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.
[0190] [Explanation of symbols]
[0191] 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 generator that generates SQL for a database table; a learning unit that executes the SQL generated by the generation unit and learns the results; a recommendation unit that recommends new SQL based on the results learned by the learning unit; a goal generation unit that generates a goal in natural language from the sample SQL generated by the generation unit; A system characterized by:
2. The generation unit Generate appropriate SQL based on table structure or data types 2. The system of claim 1.
3. The learning unit Analyze the results of the generated SQL execution to learn what queries are valid.
2. The system of claim 1.
4. The recommendation unit Recommend new SQL based on the results learned by the learning unit 2. The system of claim 1.
5. The goal generator Explain in natural language the purpose of the generated sample SQL 2. The system of claim 1.
6. The generation unit Inferring user emotions and adjusting the complexity of the generated SQL based on the inferred emotions 2. The system of claim 1.
7. The generation unit Generates appropriate SQL based on table update frequency 2. The system of claim 1.
8. The generation unit Improve SQL performance depending on the amount of data in the table 2. The system of claim 1.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A