system

The system addresses the challenge of generating database queries and extracting data efficiently by allowing users to input conditions via chat, using AI to generate optimal SQL queries and execute them, ensuring accurate and timely data extraction tailored to each company's unique definitions.

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

Patent Information

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

AI Technical Summary

Technical Problem

Generating database queries and extracting data requires specialized knowledge and is difficult to do efficiently.

Method used

A system comprising a reception unit, generation unit, execution unit, and customization unit that allows users to input data extraction conditions via chat, with AI generating optimal SQL queries and executing them against a database, while accommodating unique data definitions and reflecting the latest data definitions.

Benefits of technology

Enables efficient and accurate data extraction without specialized knowledge, supporting customization for each company and immediate response to new data fields.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026044990000001_ABST
    Figure 2026044990000001_ABST
Patent Text Reader

Abstract

The system according to the embodiment aims to generate database queries efficiently and accurately and extract data without requiring specialized knowledge. [Solution] A system according to an embodiment includes a reception unit, a generation unit, an execution unit, a linking unit, and a customization unit. The reception unit receives data extraction conditions from a user. The generation unit analyzes the conditions received by the reception unit and generates an efficient SQL query. The execution unit executes the SQL query generated by the generation unit and extracts data. The linking unit updates the data extracted by the execution unit based on the latest data definition. The customization unit supports customization for each company.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

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

[0004] Conventional technologies have had the problem that generating database queries and extracting data requires specialized knowledge and is difficult to do efficiently.

[0005] The system according to the embodiment aims to generate database queries efficiently and accurately and extract data without requiring specialized knowledge. [Means for solving the problem]

[0006] The system according to the embodiment includes a reception unit, a generation unit, an execution unit, a collaboration unit, and a customization unit. The reception unit receives data extraction conditions from a user. The generation unit analyzes the conditions received by the reception unit and generates an efficient SQL query. The execution unit executes the SQL query generated by the generation unit and extracts data. The collaboration unit updates the data extracted by the execution unit based on the latest data definition. The customization unit supports customization for each company. [Effects of the Invention]

[0007] The system according to the embodiment can efficiently and accurately generate database queries and extract data without requiring specialized knowledge. [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) In an embodiment of the present invention, an SQL query automatic generation system allows a user to input data extraction conditions via chat, and AI generates an optimal SQL query, enabling efficient and accurate data extraction. In this system, a user inputs data extraction conditions via chat, and AI analyzes the conditions and generates an optimal SQL query. The generated SQL query is executed against a database to extract the required data. Furthermore, by linking with mart definitions, the latest data definitions are always reflected. This allows for immediate response to newly created fields and improved data extraction accuracy. The system can also be customized for each company and accommodate unique data definitions. For example, in an SQL query automatic generation system, a user inputs data extraction conditions via chat. For example, if a user inputs "I want to extract sales data," the AI ​​analyzes the conditions and generates an optimal SQL query. The generated SQL query is then executed against a database to extract the required data. For example, sales data is extracted and provided to the user. Furthermore, by linking with mart definitions, the SQL query automatic generation system always reflects the latest data definitions. For example, if a new product is added, data related to that product can also be immediately extracted. The system can also be customized for each company and accommodate unique data definitions. For example, if a specific company uses a unique data format, it can generate SQL queries to match that format. This allows the SQL query automatic generation system to have the AI ​​generate the optimal SQL query, achieving efficient and accurate data extraction, simply by having the user enter data extraction conditions in chat format. In addition, by linking with mart definitions and customizing for each company, it can always support the latest data definitions and can also support unique data definitions. This allows the SQL query automatic generation system to have the AI ​​generate the optimal SQL query, achieving efficient and accurate data extraction, simply by having the user enter data extraction conditions in chat format.

[0029] An SQL query automatic generation system according to an embodiment includes a reception unit, a generation unit, an execution unit, a linking unit, and a customization unit. The reception unit receives data extraction conditions from a user. The data extraction conditions from the user include, but are not limited to, filter conditions, sort conditions, and aggregation conditions. The reception unit receives data extraction conditions, for example, in a chat format. For example, if a user inputs, "I want to extract sales data," the reception unit receives the conditions. The generation unit analyzes the conditions received by the reception unit and generates an optimal SQL query. For example, the generation unit analyzes the received conditions using AI and generates an efficient SQL query. For example, the generation unit generates an efficient SQL query using an index or a query optimization technique. The execution unit executes the SQL query generated by the generation unit to extract data. For example, the execution unit executes the generated SQL query against a database to extract required data. For example, the execution unit extracts sales data and provides it to the user. The linking unit updates the data extracted by the execution unit based on the latest data definition. The linking unit reflects the latest data definitions, for example, by linking with mart definitions. For example, when a new product is added, the linking unit can immediately extract data related to that product. The customization unit supports customization for each company. For example, if a specific company uses a unique data format, the customization unit generates an SQL query to match that format. For example, the customization unit performs customization to accommodate a specific business process or a specific data format. As a result, the SQL query automatic generation system according to the embodiment allows the AI ​​to generate the optimal SQL query, thereby achieving efficient and accurate data extraction, simply by the user entering data extraction conditions in a chat format. Furthermore, by linking with mart definitions and customization for each company, the system is always compatible with the latest data definitions and can also accommodate unique data definitions.

[0030] The reception unit can accept data extraction conditions in a chat format. For example, the reception unit accepts data extraction conditions input by a user in a chat format. For example, when a user inputs "I want to extract sales data," the reception unit accepts the conditions. The reception unit can also accept data extraction conditions using voice input or an interactive guide. For example, when a user says "I want to extract sales data" by voice, the reception unit accepts the conditions. Furthermore, the reception unit can use an interactive guide to help the user input data extraction conditions. For example, the reception unit asks the user, "For which period do you want to extract sales data?" and when the user answers, "From January to March 2022," the conditions are accepted. This allows the user to input data extraction conditions in a chat format.

[0031] The generation unit can analyze the accepted conditions and generate an efficient SQL query. The generation unit can analyze the accepted conditions using, for example, AI and generate an efficient SQL query. For example, the generation unit can generate an efficient SQL query by using an index or a query optimization technique. The generation unit can select an optimal index based on the accepted conditions, for example, to improve the query execution speed. The generation unit can also optimize the query execution plan using a query optimization technique. For example, the generation unit can analyze the query execution plan and determine the optimal execution order. Furthermore, the generation unit can use AI to develop an algorithm for generating an efficient SQL query based on the accepted conditions. For example, the generation unit can use AI to learn how to generate an optimal query based on the accepted conditions and generate an SQL query based on the results. In this way, efficient and accurate data extraction is possible by analyzing the accepted conditions and generating an optimal SQL query.

[0032] The execution unit can execute the generated SQL query and extract data. For example, the execution unit executes the generated SQL query against a database to extract required data. For example, the execution unit extracts sales data and provides it to a user. The execution unit can also use a database index to optimize the execution results of the SQL query. For example, the execution unit uses the index to improve the execution speed of the query. Furthermore, the execution unit can cache the execution results of the SQL query. For example, the execution unit caches the execution results of a frequently used query and retrieves the results from the cache the next time it is executed, thereby improving the execution speed. In this way, required data can be efficiently obtained by executing the generated SQL query and extracting data.

[0033] The linking unit can reflect the latest data definitions by linking with the data mart definition (for example, data aggregation method and schema). The linking unit, for example, reflects the latest data definitions by linking with the mart definition. For example, when a new product is added, the linking unit can immediately extract data related to that product. The linking unit can also automatically reflect changes to the data mart schema and updates to the table structure. For example, when the data mart schema is changed, the linking unit immediately reflects the changes and extracts data based on the latest data definitions. Furthermore, the linking unit can periodically check the data mart definitions and maintain the latest data definitions. For example, the linking unit periodically checks the data mart definitions and updates them as necessary. This allows the system to immediately respond to newly created items by reflecting the latest data definitions.

[0034] The customization unit can accommodate customization for each company. For example, if a specific company uses a unique data format, the customization unit generates an SQL query to match that format. For example, the customization unit performs customization to accommodate a specific business process or a specific data format. The customization unit can also adjust the SQL query generation method based on the specific requirements of each company. For example, the customization unit generates the optimal SQL query based on the type and structure of the database used by the specific company. Furthermore, the customization unit can learn the customization requirements of each company and optimize the SQL query generation method based on the results. For example, the customization unit analyzes the customization history of each company and proposes the optimal customization method. This allows for customization for each company, making it possible to accommodate unique data definitions.

[0035] The reception unit can analyze the user's past data extraction condition input history and suggest the optimal input method. For example, the reception unit automatically displays data extraction conditions frequently input by the user in the past as candidates. For example, if the user frequently inputs "I want to extract sales data" in the past, the reception unit automatically displays the conditions as candidates. The reception unit can also prioritize suggestions of input methods (voice, text, etc.) that the user has used in the past. For example, if the user frequently used voice input in the past, the reception unit prioritizes voice input. Furthermore, the reception unit can predict and suggest data extraction conditions to be used in a specific time period based on the user's past input history. For example, if the user previously inputs "I want to extract sales data" during a specific time period, the reception unit suggests similar conditions for that time period. By analyzing the past input history, the reception unit can suggest the optimal input method for the user. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input the user's past input history data into a generation AI and have the generation AI suggest the optimal input method.

[0036] When inputting data extraction conditions, the reception unit can filter the data based on the user's current business situation and areas of interest. For example, the reception unit prioritizes displaying data extraction conditions related to a project currently underway. For example, when a user inputs "I want to extract sales data," the reception unit prioritizes displaying sales data related to the project currently underway. The reception unit can also suggest related data extraction conditions based on the user's areas of interest. For example, when a user inputs "I want to extract customer data," the reception unit suggests related customer data based on the user's areas of interest. Furthermore, the reception unit can filter and display optimal data extraction conditions based on the user's business situation. For example, when a user inputs "I want to extract inventory data," the reception unit filters and displays optimal inventory data based on the user's current business situation. By filtering based on the user's business situation and areas of interest, more relevant data extraction conditions can be provided. Some or all of the above-described processing performed by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input the user's business status data into the generation AI and have the generation AI perform filtering of optimal data extraction conditions.

[0037] When inputting data extraction conditions, the reception unit can prioritize accepting highly relevant conditions by taking into account the user's geographical location information. For example, if the user is in a specific region, the reception unit prioritizes displaying data extraction conditions related to that region. For example, if the user inputs "I want to extract sales data" and is in a specific region, the reception unit prioritizes displaying sales data related to that region. The reception unit can also suggest relevant data extraction conditions based on the user's geographical location information. For example, if the user inputs "I want to extract customer data" and is in a specific region, the reception unit suggests customer data related to that region. Furthermore, if the user is traveling, the reception unit can prioritize accepting optimal data extraction conditions based on the user's current location. For example, if the user inputs "I want to extract inventory data" and is traveling, the reception unit prioritizes accepting optimal inventory data based on the user's current location. This makes it possible to provide highly relevant data extraction conditions by taking into account the user's geographical location information. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's geographical location information data into the generation AI and cause the generation AI to propose highly relevant data extraction conditions.

[0038] The reception unit can analyze the user's social media activity when entering data extraction conditions and suggest related conditions. For example, the reception unit can suggest data extraction conditions related to topics mentioned by the user on social media. For example, if a user enters "I want to extract sales data" and mentions a topic related to sales on social media, the reception unit can suggest sales data related to that topic. The reception unit can also predict and suggest data extraction conditions of interest from the user's social media activity. For example, if a user enters "I want to extract customer data" and engages in customer-related activities on social media, the reception unit can suggest customer data related to those activities. Furthermore, the reception unit can suggest related data extraction conditions based on accounts the user follows on social media. For example, if a user enters "I want to extract inventory data" and follows an inventory-related account on social media, the reception unit can suggest inventory data related to that account. This allows relevant data extraction conditions to be suggested by analyzing the user's social media activity. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input a user's social media activity data into the generation AI and have the generation AI propose related data extraction conditions.

[0039] When generating an SQL query, the generation unit can adjust the level of detail based on the importance of the data extraction condition. For example, the generation unit generates a detailed SQL query for a data extraction condition with high importance. For example, if a user inputs "I want to extract sales data" and the condition is important, the generation unit generates an SQL query including detailed filter conditions and sort conditions. The generation unit can also generate a concise SQL query for a data extraction condition with low importance. For example, if a user inputs "I want to extract customer data" and the condition is not important, the generation unit generates a concise SQL query. Furthermore, the generation unit can adjust the complexity of the SQL query to be generated depending on the importance of the data extraction condition. For example, if a user inputs "I want to extract inventory data" and the condition is of medium importance, the generation unit generates an SQL query with moderate detail. This enables efficient data extraction by adjusting the level of detail of the SQL query based on the importance of the data extraction condition. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input importance data of data extraction conditions into the generation AI and cause the generation AI to adjust the level of detail of the SQL query.

[0040] When generating an SQL query, the generation unit can apply different generation algorithms depending on the category of the data extraction condition. For example, if the data extraction condition relates to sales data, the generation unit applies a generation algorithm specialized for sales data. For example, if a user inputs "I want to extract sales data," the generation unit generates an SQL query using an algorithm specialized for sales data. Furthermore, if the data extraction condition relates to customer data, the generation unit can also apply a generation algorithm specialized for customer data. For example, if a user inputs "I want to extract customer data," the generation unit generates an SQL query using an algorithm specialized for customer data. Furthermore, if the data extraction condition relates to inventory data, the generation unit can also apply a generation algorithm specialized for inventory data. For example, if a user inputs "I want to extract inventory data," the generation unit generates an SQL query using an algorithm specialized for inventory data. This allows for the generation of a more appropriate SQL query by applying a generation algorithm depending on the category of the data extraction condition. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input category data of the data extraction condition into a generation AI and cause the generation AI to apply the optimal generation algorithm.

[0041] When generating SQL queries, the generation unit can determine the priority of generation based on the submission time of the data extraction conditions. For example, the generation unit prioritizes data extraction conditions submitted earlier. For example, if a user inputs "I want to extract sales data" and the conditions are submitted early, the generation unit processes the conditions preferentially. The generation unit can also postpone data extraction conditions submitted later. For example, if a user inputs "I want to extract customer data" and the conditions are submitted late, the generation unit postpones the conditions. Furthermore, the generation unit can adjust the order of SQL query generation based on the submission time. For example, if a user inputs "I want to extract inventory data" and the conditions are submitted at a medium time, the generation unit processes the conditions with moderate priority. This enables efficient data extraction by adjusting the order of SQL query generation based on the submission time of the data extraction conditions. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input data on the submission time of data extraction conditions into the generation AI and have the generation AI adjust the order in which SQL queries are generated.

[0042] When generating SQL queries, the generation unit can adjust the order of generation based on the relevance of the data extraction conditions. For example, the generation unit prioritizes highly relevant data extraction conditions. For example, if a user inputs "I want to extract sales data" and the condition is highly relevant to other conditions, the generation unit processes the data extraction conditions with priority. The generation unit can also postpone less relevant data extraction conditions. For example, if a user inputs "I want to extract customer data" and the condition is lowly relevant to other conditions, the generation unit postpones the data extraction conditions. Furthermore, the generation unit can adjust the order of generation of SQL queries based on the relevance of the data extraction conditions. For example, if a user inputs "I want to extract inventory data" and the condition is moderately relevant, the generation unit processes the data extraction conditions with moderate priority. This enables efficient data extraction by adjusting the order of generation of SQL queries based on the relevance of the data extraction conditions. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input relevance data of data extraction conditions into the generation AI and cause the generation AI to adjust the order in which SQL queries are generated.

[0043] When executing an SQL query, the execution unit can adjust the execution timing taking into account the database load status. For example, the execution unit delays the execution timing when the database load is high. For example, the execution unit delays the execution of an SQL query when the database CPU usage rate is high. The execution unit can also quickly execute an SQL query when the database load is low. For example, the execution unit quickly executes an SQL query when the database memory usage rate is low. Furthermore, the execution unit can determine the optimal execution timing depending on the database load status. For example, the execution unit monitors the database load status in real time and determines the optimal execution timing. This enables efficient data extraction by adjusting the execution timing depending on the database load status. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input database load status data to the generation AI and have the generation AI adjust the execution timing.

[0044] When executing an SQL query, the execution unit can determine the execution priority based on the importance of the data extraction conditions. For example, the execution unit prioritizes execution of data extraction conditions with high importance. For example, if a user inputs "I want to extract sales data" and the condition is important, the execution unit executes the condition with high priority. The execution unit can also postpone data extraction conditions with low importance. For example, if a user inputs "I want to extract customer data" and the condition is not important, the execution unit postpones the execution of the condition. Furthermore, the execution unit can adjust the execution order of SQL queries based on the importance of the data extraction conditions. For example, if a user inputs "I want to extract inventory data" and the condition is of medium importance, the execution unit executes the query with moderate priority. In this way, by determining the execution priority based on the importance of the data extraction conditions, important data can be preferentially extracted. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without AI. For example, the execution unit can input importance data of data extraction conditions to the generation AI and have the generation AI determine the execution priority.

[0045] When executing an SQL query, the execution unit can select the optimal database by taking into account the geographic distribution of the databases. For example, the execution unit selects the database closest to the user's geographic location. For example, the execution unit may input a user request such as "I want to extract sales data," and select the database closest to the user's geographic location. The execution unit may also select the optimal database based on the geographic distribution of the databases. For example, the execution unit may input a user request such as "I want to extract customer data," and select the optimal database based on the geographic distribution of the databases. The execution unit may also select the optimal database by taking into account the geographic distribution of the databases. For example, the execution unit may input a user request such as "I want to extract inventory data," and select the optimal database by taking into account the geographic distribution of the databases. This enables the optimal database to be selected by taking into account the geographic distribution of the databases, enabling efficient data extraction. Some or all of the above-described processing in the execution unit may be performed using, or without, AI. For example, the execution unit may input geographic distribution data of the databases to a generation AI and cause the generation AI to select the optimal database.

[0046] When executing an SQL query, the execution unit can improve the accuracy of execution by referring to metadata of related databases. For example, the execution unit improves the accuracy of execution of the SQL query by referring to metadata of related databases. For example, the execution unit may input a user request such as "I want to extract sales data" and refer to metadata of related databases to improve the accuracy of extraction of the sales data. The execution unit may also select an optimal execution method based on the database metadata. For example, the execution unit may input a user request such as "I want to extract customer data" and select an optimal execution method based on the database metadata. The execution unit may also improve the accuracy of the execution results by referring to metadata of the databases. For example, the execution unit may input a user request such as "I want to extract inventory data" and refer to metadata of the databases to improve the accuracy of extraction of the inventory data. In this way, the accuracy of execution can be improved by referring to metadata of related databases. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit may input database metadata to a generation AI and cause the generation AI to improve the execution accuracy.

[0047] When updating a data definition, the linking unit can select the optimal update method by referring to past update history. For example, the linking unit selects the most effective update method based on the past update history. For example, the linking unit receives a user request to update the sales data definition and selects the optimal update method based on the past update history. The linking unit can also prioritize frequently used update methods based on the past update history. For example, the linking unit receives a user request to update the customer data definition and selects a frequently used update method based on the past update history. Furthermore, the linking unit can analyze the past update history and suggest the optimal update method. For example, the linking unit receives a user request to update the inventory data definition and analyzes the past update history to suggest the optimal update method. This allows the optimal data definition update method to be selected by referring to the past update history. Some or all of the above-described processing in the linking unit may be performed using, or without, AI. For example, the linking unit may input past update history data into a generation AI and have the generation AI select the optimal update method.

[0048] When updating a data definition, the linking unit can apply different update algorithms depending on the category of the data extraction condition. For example, if the data extraction condition relates to sales data, the linking unit applies an update algorithm specialized for sales data. For example, if a user inputs, "I want to update the sales data definition," the linking unit updates the data definition using an algorithm specialized for sales data. Furthermore, if the data extraction condition relates to customer data, the linking unit can also apply an update algorithm specialized for customer data. For example, if a user inputs, "I want to update the customer data definition," the linking unit updates the data definition using an algorithm specialized for customer data. Furthermore, if the data extraction condition relates to inventory data, the linking unit can also apply an update algorithm specialized for inventory data. For example, if a user inputs, "I want to update the inventory data definition," the linking unit updates the data definition using an algorithm specialized for inventory data. This allows for more appropriate data definition updates by applying different update algorithms depending on the category of the data extraction condition. Some or all of the above-described processing in the linking unit may be performed using, for example, AI, or may be performed without AI. For example, the collaboration unit can input category data of data extraction conditions into the generation AI and cause the generation AI to apply the optimal update algorithm.

[0049] When updating a data definition, the linking unit can select an optimal update method taking into account the geographic distribution of the database. The linking unit selects the optimal update method, for example, based on the geographic distribution of the database. For example, the linking unit receives a user input request such as "I want to update the sales data definition," and selects the optimal update method based on the geographic distribution of the database. The linking unit can also prioritize updating the database closest to the user's geographic location. For example, the linking unit receives a user input request such as "I want to update the customer data definition," and prioritizes updating the database closest to the user's geographic location. The linking unit can also select an optimal update method taking into account the geographic distribution of the database. For example, the linking unit receives a user input request such as "I want to update the inventory data definition," and selects the optimal update method taking into account the geographic distribution of the database. This allows the optimal data definition update method to be selected by taking into account the geographic distribution of the database. Some or all of the above-described processing in the linking unit may be performed using, for example, AI, or may be performed without AI. For example, the linking unit can input geographic distribution data of the database to the generation AI and cause the generation AI to select the optimal update method.

[0050] When updating a data definition, the linking unit can improve the accuracy of the update by referring to the metadata of the associated database. For example, the linking unit improves the accuracy of the data definition update by referring to the metadata of the associated database. For example, the linking unit receives a user input such as "I want to update the sales data definition," and then refers to the metadata of the associated database to improve the accuracy of the sales data definition update. The linking unit can also select an optimal update method based on the database metadata. For example, the linking unit receives a user input such as "I want to update the customer data definition," and then selects an optimal update method based on the database metadata. The linking unit can also improve the accuracy of the update results by referring to the database metadata. For example, the linking unit receives a user input such as "I want to update the inventory data definition," and then refers to the database metadata to improve the accuracy of the inventory data definition update. This allows the accuracy of the update to be improved by referring to the metadata of the associated database. Some or all of the above-described processing in the linking unit may be performed using, or without, AI. For example, the linking unit may input database metadata to a generation AI and cause the generation AI to improve the update accuracy.

[0051] During customization, the customization unit can select the optimal customization method by referring to the company's past customization history. For example, the customization unit selects the most effective customization method based on the company's past customization history. For example, the customization unit may input a request from the company to "customize sales data" and select the optimal customization method based on the past customization history. The customization unit may also prioritize frequently used customization methods from the past customization history. For example, the customization unit may input a request from the company to "customize customer data" and select the frequently used customization method from the past customization history. Furthermore, the customization unit may analyze the past customization history and suggest the optimal customization method. For example, the customization unit may input a request from the company to "customize inventory data," analyze the past customization history, and suggest the optimal customization method. This allows the optimal customization method to be selected by referring to the company's past customization history. Some or all of the above-described processing in the customization unit may be performed using, or without, AI. For example, the customization unit may input past customization history data into a generation AI and have the generation AI select the optimal customization method.

[0052] During customization, the customization unit can customize the customization means based on the company's business situation. The customization unit provides the optimal customization means based on, for example, the company's current business situation. For example, the customization unit inputs that the company "wants to customize sales data" and provides the optimal customization means based on the current business situation. The customization unit can also adjust the customization means according to the company's business situation. For example, the customization unit inputs that the company "wants to customize customer data" and adjusts the customization means according to the business situation. The customization unit can also propose the optimal customization means taking into account the company's business situation. For example, the customization unit inputs that the company "wants to customize inventory data" and proposes the optimal customization means taking into account the business situation. This enables more appropriate customization by adjusting the customization means based on the company's business situation. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without AI. For example, the customization unit can input the company's business situation data into the generation AI and have the generation AI propose the optimal customization means.

[0053] During customization, the customization unit can select the optimal customization method taking into account the geographic distribution of companies. The customization unit selects the optimal customization method based on, for example, the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize sales data" and selects the optimal customization method based on the geographic distribution of companies. The customization unit can also provide the optimal customization means taking into account the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize customer data" and provides the optimal customization means taking into account the geographic distribution of companies. The customization unit can also adjust the customization means according to the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize inventory data" and adjusts the customization means according to the geographic distribution of companies. This allows the optimal customization method to be selected by taking into account the geographic distribution of companies. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without using AI. For example, the customization unit may input data on the geographic distribution of companies to a generation AI and cause the generation AI to select the optimal customization method.

[0054] During customization, the customization unit can analyze the company's social media activity and suggest customization methods. The customization unit, for example, suggests optimal customization methods based on the company's social media activity. For example, the customization unit inputs that the company "wants to customize sales data," analyzes the company's social media activity, and suggests optimal customization methods. The customization unit can also analyze the company's social media activity and provide effective customization methods. For example, the customization unit inputs that the company "wants to customize customer data," analyzes the company's social media activity, and suggests effective customization methods. The customization unit can also adjust the customization methods based on the company's social media activity. For example, the customization unit inputs that the company "wants to customize inventory data," and adjusts the customization methods based on the company's social media activity. In this way, the optimal customization methods can be suggested by analyzing the company's social media activity. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without AI. For example, the customization unit can input the company's social media activity data into a generation AI and have the generation AI suggest optimal customization methods.

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

[0056] The reception unit can analyze the user's past search history and automatically suggest frequently used data extraction conditions. For example, if the user has frequently input "I want to extract sales data" in the past, that condition will automatically be displayed as a candidate. The reception unit can also predict and suggest data extraction conditions to be used in a specific time period based on the user's past search history. For example, if the user has input "I want to extract sales data" in a specific time period in the past, similar conditions will be suggested for that time period. Furthermore, the reception unit can suggest the optimal input method (voice, text, etc.) based on the user's past search history. For example, if the user has frequently used voice input in the past, voice input will be suggested preferentially. In this way, the optimal input method can be suggested to the user by analyzing the user's past search history.

[0057] The execution unit can use a database index to optimize the execution results of an SQL query. For example, the execution unit uses the index to improve the execution speed of a query. The execution unit can also cache the execution results of an SQL query. For example, the execution unit caches the execution results of a frequently used query and retrieves the results from the cache the next time the query is executed, thereby improving the execution speed. Furthermore, the execution unit can monitor the execution results of an SQL query in real time and perform optimization as necessary. For example, the execution unit monitors the load on the database while a query is being executed, and pauses the execution of the query if the load is high and resumes it when the load decreases. This optimizes the execution results of an SQL query and enables efficient data extraction.

[0058] The linking unit can reflect the latest data definitions by linking with the data mart definitions (for example, data aggregation methods and schemas). For example, when a new product is added, the linking unit can immediately extract data related to that product. The linking unit can also automatically reflect changes to the data mart schema and updates to the table structure. For example, when the data mart schema is changed, the linking unit immediately reflects the changes and extracts data based on the latest data definitions. Furthermore, the linking unit can periodically check the data mart definitions and maintain the latest data definitions. For example, the linking unit periodically checks the data mart definitions and updates them as necessary. This allows the latest data definitions to be reflected, making it possible to immediately respond to newly created items.

[0059] The customization unit can accommodate customization for each company. For example, if a specific company uses a unique data format, it generates SQL queries to match that format. For example, the customization unit performs customization to accommodate specific business processes or specific data formats. The customization unit can also adjust the method of generating SQL queries based on the specific requirements of each company. For example, the customization unit generates optimal SQL queries based on the type and structure of the database used by a specific company. Furthermore, the customization unit can learn the customization requirements of each company and optimize the method of generating SQL queries based on the results. For example, the customization unit analyzes the customization history of each company and proposes the optimal customization method. This allows for customization for each company, making it possible to accommodate unique data definitions as well.

[0060] The reception unit can analyze the user's past data extraction condition input history and suggest the optimal input method. For example, the reception unit can automatically display data extraction conditions that the user frequently input in the past as candidates. For example, if the user frequently inputs "I want to extract sales data" in the past, the reception unit can automatically display that condition as a candidate. The reception unit can also preferentially suggest input methods (voice, text, etc.) that the user has used in the past. For example, if the user frequently used voice input in the past, the reception unit can preferentially suggest voice input. Furthermore, the reception unit can predict and suggest data extraction conditions to be used in a specific time period based on the user's past input history. For example, if the user previously inputs "I want to extract sales data" during a specific time period, the reception unit can suggest similar conditions for that time period. In this way, the optimal input method can be suggested to the user by analyzing the past input history.

[0061] When the data extraction conditions are input, the reception unit can perform filtering based on the user's current business situation and areas of interest. For example, the reception unit prioritizes displaying data extraction conditions related to the user's ongoing project. For example, when the user inputs "I want to extract sales data," the reception unit prioritizes displaying sales data related to the ongoing project. The reception unit can also suggest related data extraction conditions based on the user's areas of interest. For example, when the user inputs "I want to extract customer data," the reception unit suggests related customer data based on the user's areas of interest. Furthermore, the reception unit can filter and display optimal data extraction conditions according to the user's business situation. For example, when the user inputs "I want to extract inventory data," the reception unit filters and displays optimal inventory data based on the current business situation. This makes it possible to provide more relevant data extraction conditions by filtering based on the user's business situation and areas of interest.

[0062] When a user inputs data extraction conditions, the reception unit can prioritize accepting highly relevant conditions by taking into account the user's geographical location information. For example, if the user is in a specific region, the reception unit prioritizes displaying data extraction conditions related to that region. For example, if the user inputs "I want to extract sales data" and is in a specific region, the reception unit prioritizes displaying sales data related to that region. The reception unit can also suggest relevant data extraction conditions based on the user's geographical location information. For example, if the user inputs "I want to extract customer data" and is in a specific region, the reception unit suggests customer data related to that region. Furthermore, if the user is traveling, the reception unit can prioritize accepting optimal data extraction conditions based on the user's current location. For example, if the user inputs "I want to extract inventory data" and is traveling, the reception unit prioritizes accepting optimal inventory data based on the user's current location. This makes it possible to provide highly relevant data extraction conditions by taking into account the user's geographical location information.

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

[0064] Step 1: The reception unit receives data extraction conditions from the user. Data extraction conditions from the user include filter conditions, sort conditions, and aggregation conditions. For example, if the user inputs "I want to extract sales data," the reception unit will receive the conditions. Step 2: The generator analyzes the conditions received by the receiver and generates an optimal SQL query. The generator uses AI to analyze the conditions received and generates an efficient SQL query using indexes and query optimization techniques. Step 3: The execution unit executes the SQL query generated by the generation unit and extracts data. The execution unit executes the generated SQL query against the database and extracts the necessary data. For example, sales data is extracted and provided to the user. Step 4: The linking unit updates the data extracted by the execution unit based on the latest data definition. The linking unit reflects the latest data definition by linking with the mart definition. For example, if a new product is added, data related to that product can be extracted immediately. Step 5: The customization department handles customization for each company. If a specific company uses a unique data format, the customization department generates SQL queries to match that format. For example, customization is performed to accommodate specific business processes or specific data formats.

[0065] (Example 2) In an embodiment of the present invention, an SQL query automatic generation system allows a user to input data extraction conditions via chat, and AI generates an optimal SQL query, enabling efficient and accurate data extraction. In this system, a user inputs data extraction conditions via chat, and AI analyzes the conditions and generates an optimal SQL query. The generated SQL query is executed against a database to extract the required data. Furthermore, by linking with mart definitions, the latest data definitions are always reflected. This allows for immediate response to newly created fields and improved data extraction accuracy. The system can also be customized for each company and accommodate unique data definitions. For example, in an SQL query automatic generation system, a user inputs data extraction conditions via chat. For example, if a user inputs "I want to extract sales data," the AI ​​analyzes the conditions and generates an optimal SQL query. The generated SQL query is then executed against a database to extract the required data. For example, sales data is extracted and provided to the user. Furthermore, by linking with mart definitions, the SQL query automatic generation system always reflects the latest data definitions. For example, if a new product is added, data related to that product can also be immediately extracted. The system can also be customized for each company and accommodate unique data definitions. For example, if a specific company uses a unique data format, it can generate SQL queries to match that format. This allows the SQL query automatic generation system to have the AI ​​generate the optimal SQL query, achieving efficient and accurate data extraction, simply by having the user enter data extraction conditions in chat format. In addition, by linking with mart definitions and customizing for each company, it can always support the latest data definitions and can also support unique data definitions. This allows the SQL query automatic generation system to have the AI ​​generate the optimal SQL query, achieving efficient and accurate data extraction, simply by having the user enter data extraction conditions in chat format.

[0066] An SQL query automatic generation system according to an embodiment includes a reception unit, a generation unit, an execution unit, a linking unit, and a customization unit. The reception unit receives data extraction conditions from a user. The data extraction conditions from the user include, but are not limited to, filter conditions, sort conditions, and aggregation conditions. The reception unit receives data extraction conditions, for example, in a chat format. For example, if a user inputs, "I want to extract sales data," the reception unit receives the conditions. The generation unit analyzes the conditions received by the reception unit and generates an optimal SQL query. For example, the generation unit analyzes the received conditions using AI and generates an efficient SQL query. For example, the generation unit generates an efficient SQL query using an index or a query optimization technique. The execution unit executes the SQL query generated by the generation unit to extract data. For example, the execution unit executes the generated SQL query against a database to extract required data. For example, the execution unit extracts sales data and provides it to the user. The linking unit updates the data extracted by the execution unit based on the latest data definition. The linking unit reflects the latest data definitions, for example, by linking with mart definitions. For example, when a new product is added, the linking unit can immediately extract data related to that product. The customization unit supports customization for each company. For example, if a specific company uses a unique data format, the customization unit generates an SQL query to match that format. For example, the customization unit performs customization to accommodate a specific business process or a specific data format. As a result, the SQL query automatic generation system according to the embodiment allows the AI ​​to generate the optimal SQL query, thereby achieving efficient and accurate data extraction, simply by the user entering data extraction conditions in a chat format. Furthermore, by linking with mart definitions and customization for each company, the system is always compatible with the latest data definitions and can also accommodate unique data definitions.

[0067] The reception unit can accept data extraction conditions in a chat format. For example, the reception unit accepts data extraction conditions input by a user in a chat format. For example, when a user inputs "I want to extract sales data," the reception unit accepts the conditions. The reception unit can also accept data extraction conditions using voice input or an interactive guide. For example, when a user says "I want to extract sales data" by voice, the reception unit accepts the conditions. Furthermore, the reception unit can use an interactive guide to help the user input data extraction conditions. For example, the reception unit asks the user, "For which period do you want to extract sales data?" and when the user answers, "From January to March 2022," the conditions are accepted. This allows the user to input data extraction conditions in a chat format.

[0068] The generation unit can analyze the accepted conditions and generate an efficient SQL query. The generation unit can analyze the accepted conditions using, for example, AI and generate an efficient SQL query. For example, the generation unit can generate an efficient SQL query by using an index or a query optimization technique. The generation unit can select an optimal index based on the accepted conditions, for example, to improve the query execution speed. The generation unit can also optimize the query execution plan using a query optimization technique. For example, the generation unit can analyze the query execution plan and determine the optimal execution order. Furthermore, the generation unit can use AI to develop an algorithm for generating an efficient SQL query based on the accepted conditions. For example, the generation unit can use AI to learn how to generate an optimal query based on the accepted conditions and generate an SQL query based on the results. In this way, efficient and accurate data extraction is possible by analyzing the accepted conditions and generating an optimal SQL query.

[0069] The execution unit can execute the generated SQL query and extract data. For example, the execution unit executes the generated SQL query against a database to extract required data. For example, the execution unit extracts sales data and provides it to a user. The execution unit can also use a database index to optimize the execution results of the SQL query. For example, the execution unit uses the index to improve the execution speed of the query. Furthermore, the execution unit can cache the execution results of the SQL query. For example, the execution unit caches the execution results of a frequently used query and retrieves the results from the cache the next time it is executed, thereby improving the execution speed. In this way, required data can be efficiently obtained by executing the generated SQL query and extracting data.

[0070] The linking unit can reflect the latest data definitions by linking with the data mart definition (for example, data aggregation method and schema). The linking unit, for example, reflects the latest data definitions by linking with the mart definition. For example, when a new product is added, the linking unit can immediately extract data related to that product. The linking unit can also automatically reflect changes to the data mart schema and updates to the table structure. For example, when the data mart schema is changed, the linking unit immediately reflects the changes and extracts data based on the latest data definitions. Furthermore, the linking unit can periodically check the data mart definitions and maintain the latest data definitions. For example, the linking unit periodically checks the data mart definitions and updates them as necessary. This allows the system to immediately respond to newly created items by reflecting the latest data definitions.

[0071] The customization unit can accommodate customization for each company. For example, if a specific company uses a unique data format, the customization unit generates an SQL query to match that format. For example, the customization unit performs customization to accommodate a specific business process or a specific data format. The customization unit can also adjust the SQL query generation method based on the specific requirements of each company. For example, the customization unit generates the optimal SQL query based on the type and structure of the database used by the specific company. Furthermore, the customization unit can learn the customization requirements of each company and optimize the SQL query generation method based on the results. For example, the customization unit analyzes the customization history of each company and proposes the optimal customization method. This allows for customization for each company, making it possible to accommodate unique data definitions.

[0072] The reception unit can estimate the user's emotions and adjust the input interface for data extraction conditions based on the estimated user emotions. For example, if the user is feeling stressed, the reception unit can provide a simple interface and minimize input steps. For example, if the user inputs "I want to extract sales data," the reception unit can provide a simple interface and prompt the user to enter only the necessary information. Furthermore, if the user is relaxed, the reception unit can provide detailed input options and suggest customizable input methods. For example, if the user inputs "I want to extract sales data," the reception unit can prompt the user to enter detailed filter and sort conditions. Furthermore, if the user is in a hurry, the reception unit can prioritize voice input to allow the user to quickly enter data extraction conditions. For example, if the user inputs "I want to extract sales data" by voice, the reception unit can prioritize voice input to promptly enter data extraction conditions. This allows the input interface to be adjusted according to the user's emotions, enabling the user to enter more appropriate data extraction conditions. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or generative AI. The generation AI may be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the reception unit may be performed using AI, or may be performed without using AI. For example, the reception unit may input the user's facial expression data to the generation AI and cause the generation AI to estimate emotions.

[0073] The reception unit can analyze the user's past data extraction condition input history and suggest the optimal input method. For example, the reception unit automatically displays data extraction conditions frequently input by the user in the past as candidates. For example, if the user frequently inputs "I want to extract sales data" in the past, the reception unit automatically displays the conditions as candidates. The reception unit can also prioritize suggestions of input methods (voice, text, etc.) that the user has used in the past. For example, if the user frequently used voice input in the past, the reception unit prioritizes voice input. Furthermore, the reception unit can predict and suggest data extraction conditions to be used in a specific time period based on the user's past input history. For example, if the user previously inputs "I want to extract sales data" during a specific time period, the reception unit suggests similar conditions for that time period. By analyzing the past input history, the reception unit can suggest the optimal input method for the user. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input the user's past input history data into a generation AI and have the generation AI suggest the optimal input method.

[0074] When inputting data extraction conditions, the reception unit can filter the data based on the user's current business situation and areas of interest. For example, the reception unit prioritizes displaying data extraction conditions related to a project currently underway. For example, when a user inputs "I want to extract sales data," the reception unit prioritizes displaying sales data related to the project currently underway. The reception unit can also suggest related data extraction conditions based on the user's areas of interest. For example, when a user inputs "I want to extract customer data," the reception unit suggests related customer data based on the user's areas of interest. Furthermore, the reception unit can filter and display optimal data extraction conditions based on the user's business situation. For example, when a user inputs "I want to extract inventory data," the reception unit filters and displays optimal inventory data based on the user's current business situation. By filtering based on the user's business situation and areas of interest, more relevant data extraction conditions can be provided. Some or all of the above-described processing performed by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input the user's business status data into the generation AI and have the generation AI perform filtering of optimal data extraction conditions.

[0075] The reception unit can estimate the user's emotions and prioritize the input data extraction conditions based on the estimated user emotions. For example, if the user is stressed, the reception unit prioritizes important data extraction conditions. For example, if the user inputs "I want to extract sales data" and is stressed, the reception unit prioritizes important sales data. The reception unit can also prioritize detailed data extraction conditions if the user is relaxed. For example, if the user inputs "I want to extract customer data" and is relaxed, the reception unit prioritizes detailed customer data. Furthermore, if the user is in a hurry, the reception unit can prioritize data extraction conditions that can be processed quickly. For example, if the user inputs "I want to extract inventory data" and is in a hurry, the reception unit prioritizes inventory data that can be processed quickly. This enables more appropriate data extraction by prioritizing data extraction conditions according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. The generation AI may be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the reception unit may be performed using AI, or may be performed without using AI. For example, the reception unit may input the user's facial expression data to the generation AI and cause the generation AI to estimate emotions.

[0076] When inputting data extraction conditions, the reception unit can prioritize accepting highly relevant conditions by taking into account the user's geographical location information. For example, if the user is in a specific region, the reception unit prioritizes displaying data extraction conditions related to that region. For example, if the user inputs "I want to extract sales data" and is in a specific region, the reception unit prioritizes displaying sales data related to that region. The reception unit can also suggest relevant data extraction conditions based on the user's geographical location information. For example, if the user inputs "I want to extract customer data" and is in a specific region, the reception unit suggests customer data related to that region. Furthermore, if the user is traveling, the reception unit can prioritize accepting optimal data extraction conditions based on the user's current location. For example, if the user inputs "I want to extract inventory data" and is traveling, the reception unit prioritizes accepting optimal inventory data based on the user's current location. This makes it possible to provide highly relevant data extraction conditions by taking into account the user's geographical location information. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without using AI. For example, the reception unit can input the user's geographical location information data into the generation AI and cause the generation AI to propose highly relevant data extraction conditions.

[0077] The reception unit can analyze the user's social media activity when entering data extraction conditions and suggest related conditions. For example, the reception unit can suggest data extraction conditions related to topics mentioned by the user on social media. For example, if a user enters "I want to extract sales data" and mentions a topic related to sales on social media, the reception unit can suggest sales data related to that topic. The reception unit can also predict and suggest data extraction conditions of interest from the user's social media activity. For example, if a user enters "I want to extract customer data" and engages in customer-related activities on social media, the reception unit can suggest customer data related to those activities. Furthermore, the reception unit can suggest related data extraction conditions based on accounts the user follows on social media. For example, if a user enters "I want to extract inventory data" and follows an inventory-related account on social media, the reception unit can suggest inventory data related to that account. This allows relevant data extraction conditions to be suggested by analyzing the user's social media activity. Some or all of the above-described processing by the reception unit may be performed using, for example, AI, or may be performed without AI. For example, the reception unit can input a user's social media activity data into the generation AI and have the generation AI propose related data extraction conditions.

[0078] The generation unit can estimate the user's emotions and adjust the SQL query generation method based on the estimated user emotions. For example, if the user is relaxed, the generation unit generates a detailed SQL query. For example, if the user inputs "I want to extract sales data" and is relaxed, the generation unit generates an SQL query including detailed filter conditions and sort conditions. The generation unit can also generate a concise and efficient SQL query if the user is in a hurry. For example, if the user inputs "I want to extract customer data" and is in a hurry, the generation unit generates a concise and efficient SQL query. Furthermore, the generation unit can also generate a simple and easy-to-understand SQL query if the user is stressed. For example, if the user inputs "I want to extract inventory data" and is stressed, the generation unit generates a simple and easy-to-understand SQL query. This allows the generation of a more appropriate SQL query by adjusting the SQL query generation method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generation AI. The generation AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without using AI. For example, the generation unit may input the user's facial expression data into the generation AI and have the generation AI estimate the emotion.

[0079] When generating an SQL query, the generation unit can adjust the level of detail based on the importance of the data extraction condition. For example, the generation unit generates a detailed SQL query for a data extraction condition with high importance. For example, if a user inputs "I want to extract sales data" and the condition is important, the generation unit generates an SQL query including detailed filter conditions and sort conditions. The generation unit can also generate a concise SQL query for a data extraction condition with low importance. For example, if a user inputs "I want to extract customer data" and the condition is not important, the generation unit generates a concise SQL query. Furthermore, the generation unit can adjust the complexity of the SQL query to be generated depending on the importance of the data extraction condition. For example, if a user inputs "I want to extract inventory data" and the condition is of medium importance, the generation unit generates an SQL query with moderate detail. This enables efficient data extraction by adjusting the level of detail of the SQL query based on the importance of the data extraction condition. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input importance data of data extraction conditions into the generation AI and cause the generation AI to adjust the level of detail of the SQL query.

[0080] When generating an SQL query, the generation unit can apply different generation algorithms depending on the category of the data extraction condition. For example, if the data extraction condition relates to sales data, the generation unit applies a generation algorithm specialized for sales data. For example, if a user inputs "I want to extract sales data," the generation unit generates an SQL query using an algorithm specialized for sales data. Furthermore, if the data extraction condition relates to customer data, the generation unit can also apply a generation algorithm specialized for customer data. For example, if a user inputs "I want to extract customer data," the generation unit generates an SQL query using an algorithm specialized for customer data. Furthermore, if the data extraction condition relates to inventory data, the generation unit can also apply a generation algorithm specialized for inventory data. For example, if a user inputs "I want to extract inventory data," the generation unit generates an SQL query using an algorithm specialized for inventory data. This allows for the generation of a more appropriate SQL query by applying a generation algorithm depending on the category of the data extraction condition. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input category data of the data extraction condition into a generation AI and cause the generation AI to apply the optimal generation algorithm.

[0081] The generation unit can estimate the user's emotions and adjust the length of the SQL query to be generated based on the estimated user emotions. For example, if the user is in a hurry, the generation unit generates a short and to-the-point SQL query. For example, if the user inputs "I want to extract sales data," the generation unit generates a short and to-the-point SQL query if the user is in a hurry. The generation unit can also generate a longer SQL query with detailed explanations if the user is relaxed. For example, if the user inputs "I want to extract customer data," the generation unit generates a longer SQL query with detailed explanations if the user is relaxed. Furthermore, the generation unit can generate a simple and easy-to-understand SQL query if the user is stressed. For example, if the user inputs "I want to extract inventory data," the generation unit generates a simple and easy-to-understand SQL query if the user is stressed. This allows the length of the SQL query to be adjusted according to the user's emotions, thereby generating a more appropriate SQL query. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or generative AI. The generation AI may be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the generation unit may be performed using AI, or may be performed without using AI. For example, the generation unit may input user facial expression data into the generation AI and cause the generation AI to estimate emotions.

[0082] When generating SQL queries, the generation unit can determine the priority of generation based on the submission time of the data extraction conditions. For example, the generation unit prioritizes data extraction conditions submitted earlier. For example, if a user inputs "I want to extract sales data" and the conditions are submitted early, the generation unit processes the conditions preferentially. The generation unit can also postpone data extraction conditions submitted later. For example, if a user inputs "I want to extract customer data" and the conditions are submitted late, the generation unit postpones the conditions. Furthermore, the generation unit can adjust the order of SQL query generation based on the submission time. For example, if a user inputs "I want to extract inventory data" and the conditions are submitted at a medium time, the generation unit processes the conditions with moderate priority. This enables efficient data extraction by adjusting the order of SQL query generation based on the submission time of the data extraction conditions. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input data on the submission time of data extraction conditions into the generation AI and have the generation AI adjust the order in which SQL queries are generated.

[0083] When generating SQL queries, the generation unit can adjust the order of generation based on the relevance of the data extraction conditions. For example, the generation unit prioritizes highly relevant data extraction conditions. For example, if a user inputs "I want to extract sales data" and the condition is highly relevant to other conditions, the generation unit processes the data extraction conditions with priority. The generation unit can also postpone less relevant data extraction conditions. For example, if a user inputs "I want to extract customer data" and the condition is lowly relevant to other conditions, the generation unit postpones the data extraction conditions. Furthermore, the generation unit can adjust the order of generation of SQL queries based on the relevance of the data extraction conditions. For example, if a user inputs "I want to extract inventory data" and the condition is moderately relevant, the generation unit processes the data extraction conditions with moderate priority. This enables efficient data extraction by adjusting the order of generation of SQL queries based on the relevance of the data extraction conditions. Some or all of the above-described processing in the generation unit may be performed using, for example, AI, or may be performed without AI. For example, the generation unit can input relevance data of data extraction conditions into the generation AI and cause the generation AI to adjust the order in which SQL queries are generated.

[0084] The execution unit can estimate the user's emotions and adjust the execution method of the SQL query based on the estimated user emotions. For example, if the user is relaxed, the execution unit provides detailed execution results. For example, if the user inputs "I want to extract sales data," and the execution unit is relaxed, the execution unit provides detailed sales data. Furthermore, if the user is in a hurry, the execution unit can quickly provide execution results. For example, if the user inputs "I want to extract customer data," and the execution unit is in a hurry, the execution unit can quickly provide customer data. Furthermore, if the user is stressed, the execution unit can provide simple and easy-to-understand execution results. For example, if the user inputs "I want to extract inventory data," and the execution unit is stressed, the execution unit can provide simple and easy-to-understand inventory data. This allows the execution method of the SQL query to be adjusted according to the user's emotions, thereby providing more appropriate execution results. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit may input the user's facial expression data into the generation AI and have the generation AI estimate the emotion.

[0085] When executing an SQL query, the execution unit can adjust the execution timing taking into account the database load status. For example, the execution unit delays the execution timing when the database load is high. For example, the execution unit delays the execution of an SQL query when the database CPU usage rate is high. The execution unit can also quickly execute an SQL query when the database load is low. For example, the execution unit quickly executes an SQL query when the database memory usage rate is low. Furthermore, the execution unit can determine the optimal execution timing depending on the database load status. For example, the execution unit monitors the database load status in real time and determines the optimal execution timing. This enables efficient data extraction by adjusting the execution timing depending on the database load status. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit can input database load status data to the generation AI and have the generation AI adjust the execution timing.

[0086] When executing an SQL query, the execution unit can determine the execution priority based on the importance of the data extraction conditions. For example, the execution unit prioritizes execution of data extraction conditions with high importance. For example, if a user inputs "I want to extract sales data" and the condition is important, the execution unit executes the condition with high priority. The execution unit can also postpone data extraction conditions with low importance. For example, if a user inputs "I want to extract customer data" and the condition is not important, the execution unit postpones the execution of the condition. Furthermore, the execution unit can adjust the execution order of SQL queries based on the importance of the data extraction conditions. For example, if a user inputs "I want to extract inventory data" and the condition is of medium importance, the execution unit executes the query with moderate priority. In this way, by determining the execution priority based on the importance of the data extraction conditions, important data can be preferentially extracted. Some or all of the above-mentioned processing in the execution unit may be performed using, for example, AI, or may be performed without AI. For example, the execution unit can input importance data of data extraction conditions to the generation AI and have the generation AI determine the execution priority.

[0087] The execution unit can estimate the user's emotions and adjust the display method of the execution results based on the estimated user emotions. For example, if the user is nervous, the execution unit provides a simple, highly visible display method. For example, if the user inputs "I want to extract sales data," and the execution unit is nervous, the execution unit displays simple, highly visible sales data. The execution unit can also provide a display method including detailed information if the user is relaxed. For example, if the user inputs "I want to extract customer data," and the execution unit is relaxed, the execution unit displays detailed customer data. Furthermore, if the user is in a hurry, the execution unit can provide a display method that focuses on the main points. For example, if the user inputs "I want to extract inventory data," and the execution unit is in a hurry, the execution unit displays inventory data that focuses on the main points. This allows the display method of the execution results to be adjusted according to the user's emotions, thereby providing more appropriate execution results. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generative AI. The generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit may input the user's facial expression data into the generation AI and have the generation AI estimate the emotion.

[0088] When executing an SQL query, the execution unit can select the optimal database by taking into account the geographic distribution of the databases. For example, the execution unit selects the database closest to the user's geographic location. For example, the execution unit may input a user request such as "I want to extract sales data," and select the database closest to the user's geographic location. The execution unit may also select the optimal database based on the geographic distribution of the databases. For example, the execution unit may input a user request such as "I want to extract customer data," and select the optimal database based on the geographic distribution of the databases. The execution unit may also select the optimal database by taking into account the geographic distribution of the databases. For example, the execution unit may input a user request such as "I want to extract inventory data," and select the optimal database by taking into account the geographic distribution of the databases. This enables the optimal database to be selected by taking into account the geographic distribution of the databases, enabling efficient data extraction. Some or all of the above-described processing in the execution unit may be performed using, or without, AI. For example, the execution unit may input geographic distribution data of the databases to a generation AI and cause the generation AI to select the optimal database.

[0089] When executing an SQL query, the execution unit can improve the accuracy of execution by referring to metadata of related databases. For example, the execution unit improves the accuracy of execution of the SQL query by referring to metadata of related databases. For example, the execution unit may input a user request such as "I want to extract sales data" and refer to metadata of related databases to improve the accuracy of extraction of the sales data. The execution unit may also select an optimal execution method based on the database metadata. For example, the execution unit may input a user request such as "I want to extract customer data" and select an optimal execution method based on the database metadata. The execution unit may also improve the accuracy of the execution results by referring to metadata of the databases. For example, the execution unit may input a user request such as "I want to extract inventory data" and refer to metadata of the databases to improve the accuracy of extraction of the inventory data. In this way, the accuracy of execution can be improved by referring to metadata of related databases. Some or all of the above-described processing in the execution unit may be performed using, for example, AI, or may be performed without using AI. For example, the execution unit may input database metadata to a generation AI and cause the generation AI to improve the execution accuracy.

[0090] The linking unit can estimate the user's emotions and adjust the data definition update method based on the estimated user emotions. For example, if the user is relaxed, the linking unit provides a detailed data definition update method. For example, if the user inputs "I want to update the sales data definition," the linking unit provides detailed update procedures if the user is relaxed. The linking unit can also provide a method for quickly updating the data definition if the user is in a hurry. For example, if the user inputs "I want to update the customer data definition," the linking unit provides quick update procedures if the user is in a hurry. Furthermore, the linking unit can also provide a simple and easy-to-understand data definition update method if the user is stressed. For example, if the user inputs "I want to update the inventory data definition," the linking unit provides simple and easy-to-understand update procedures if the user is stressed. This enables more appropriate data definition updates by adjusting the data definition update method according to the user's emotions. Emotion estimation is realized using an emotion estimation function, for example, 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. Some or all of the above-described processing in the collaboration unit may be performed using, for example, AI, or may be performed without using AI. For example, the collaboration unit may input the user's facial expression data to the generation AI and cause the generation AI to estimate the emotion.

[0091] When updating a data definition, the linking unit can select the optimal update method by referring to past update history. For example, the linking unit selects the most effective update method based on the past update history. For example, the linking unit receives a user request to update the sales data definition and selects the optimal update method based on the past update history. The linking unit can also prioritize frequently used update methods based on the past update history. For example, the linking unit receives a user request to update the customer data definition and selects a frequently used update method based on the past update history. Furthermore, the linking unit can analyze the past update history and suggest the optimal update method. For example, the linking unit receives a user request to update the inventory data definition and analyzes the past update history to suggest the optimal update method. This allows the optimal data definition update method to be selected by referring to the past update history. Some or all of the above-described processing in the linking unit may be performed using, or without, AI. For example, the linking unit may input past update history data into a generation AI and have the generation AI select the optimal update method.

[0092] When updating a data definition, the linking unit can apply different update algorithms depending on the category of the data extraction condition. For example, if the data extraction condition relates to sales data, the linking unit applies an update algorithm specialized for sales data. For example, if a user inputs, "I want to update the sales data definition," the linking unit updates the data definition using an algorithm specialized for sales data. Furthermore, if the data extraction condition relates to customer data, the linking unit can also apply an update algorithm specialized for customer data. For example, if a user inputs, "I want to update the customer data definition," the linking unit updates the data definition using an algorithm specialized for customer data. Furthermore, if the data extraction condition relates to inventory data, the linking unit can also apply an update algorithm specialized for inventory data. For example, if a user inputs, "I want to update the inventory data definition," the linking unit updates the data definition using an algorithm specialized for inventory data. This allows for more appropriate data definition updates by applying different update algorithms depending on the category of the data extraction condition. Some or all of the above-described processing in the linking unit may be performed using, for example, AI, or may be performed without AI. For example, the collaboration unit can input category data of data extraction conditions into the generation AI and cause the generation AI to apply the optimal update algorithm.

[0093] The linking unit can estimate the user's emotions and adjust the update frequency of the data definition based on the estimated user's emotions. For example, if the user is relaxed, the linking unit updates the data definition frequently. For example, if the user inputs "I want to update the sales data definition" and is relaxed, the linking unit updates the data frequently. Furthermore, if the user is in a hurry, the linking unit can reduce the update frequency and respond quickly. For example, if the user inputs "I want to update the customer data definition" and is in a hurry, the linking unit can reduce the update frequency and respond quickly. Furthermore, if the user is stressed, the linking unit can update the data definition at an appropriate update frequency. For example, if the user inputs "I want to update the inventory data definition" and is stressed, the linking unit can update the data definition at an appropriate update frequency. This allows for more appropriate data definition updates by adjusting the update frequency according to the user's emotions. Emotion estimation is realized using an emotion estimation function, for example, an emotion engine or a generative AI. The generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the collaboration unit may be performed using, for example, AI, or may be performed without using AI. For example, the collaboration unit may input the user's facial expression data to the generation AI and cause the generation AI to estimate the emotion.

[0094] When updating a data definition, the linking unit can select an optimal update method taking into account the geographic distribution of the database. The linking unit selects the optimal update method, for example, based on the geographic distribution of the database. For example, the linking unit receives a user input request such as "I want to update the sales data definition," and selects the optimal update method based on the geographic distribution of the database. The linking unit can also prioritize updating the database closest to the user's geographic location. For example, the linking unit receives a user input request such as "I want to update the customer data definition," and prioritizes updating the database closest to the user's geographic location. The linking unit can also select an optimal update method taking into account the geographic distribution of the database. For example, the linking unit receives a user input request such as "I want to update the inventory data definition," and selects the optimal update method taking into account the geographic distribution of the database. This allows the optimal data definition update method to be selected by taking into account the geographic distribution of the database. Some or all of the above-described processing in the linking unit may be performed using, for example, AI, or may be performed without AI. For example, the linking unit can input geographic distribution data of the database to the generation AI and cause the generation AI to select the optimal update method.

[0095] When updating a data definition, the linking unit can improve the accuracy of the update by referring to the metadata of the associated database. For example, the linking unit improves the accuracy of the data definition update by referring to the metadata of the associated database. For example, the linking unit receives a user input such as "I want to update the sales data definition," and then refers to the metadata of the associated database to improve the accuracy of the sales data definition update. The linking unit can also select an optimal update method based on the database metadata. For example, the linking unit receives a user input such as "I want to update the customer data definition," and then selects an optimal update method based on the database metadata. The linking unit can also improve the accuracy of the update results by referring to the database metadata. For example, the linking unit receives a user input such as "I want to update the inventory data definition," and then refers to the database metadata to improve the accuracy of the inventory data definition update. This allows the accuracy of the update to be improved by referring to the metadata of the associated database. Some or all of the above-described processing in the linking unit may be performed using, or without, AI. For example, the linking unit may input database metadata to a generation AI and cause the generation AI to improve the update accuracy.

[0096] The customization unit can estimate the user's emotions and adjust the customization method based on the estimated user emotions. For example, if the user is relaxed, the customization unit provides detailed customization options. For example, if the user inputs "I want to customize sales data" and is relaxed, the customization unit provides detailed customization options. The customization unit can also provide a quick customization method if the user is in a hurry. For example, if the user inputs "I want to customize customer data" and is in a hurry, the customization unit provides a quick customization method. Furthermore, the customization unit can also provide a simple and easy-to-understand customization method if the user is stressed. For example, if the user inputs "I want to customize inventory data" and is stressed, the customization unit provides a simple and easy-to-understand customization method. This enables more appropriate customization by adjusting the customization method according to the user's emotions. Emotion estimation is realized using an emotion estimation function, for example, an emotion engine or a generative AI. The generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without using AI. For example, the customization unit may input the user's facial expression data into the generation AI and cause the generation AI to estimate the emotion.

[0097] During customization, the customization unit can select the optimal customization method by referring to the company's past customization history. For example, the customization unit selects the most effective customization method based on the company's past customization history. For example, the customization unit may input a request from the company to "customize sales data" and select the optimal customization method based on the past customization history. The customization unit may also prioritize frequently used customization methods from the past customization history. For example, the customization unit may input a request from the company to "customize customer data" and select the frequently used customization method from the past customization history. Furthermore, the customization unit may analyze the past customization history and suggest the optimal customization method. For example, the customization unit may input a request from the company to "customize inventory data," analyze the past customization history, and suggest the optimal customization method. This allows the optimal customization method to be selected by referring to the company's past customization history. Some or all of the above-described processing in the customization unit may be performed using, or without, AI. For example, the customization unit may input past customization history data into a generation AI and have the generation AI select the optimal customization method.

[0098] During customization, the customization unit can customize the customization means based on the company's business situation. The customization unit provides the optimal customization means based on, for example, the company's current business situation. For example, the customization unit inputs that the company "wants to customize sales data" and provides the optimal customization means based on the current business situation. The customization unit can also adjust the customization means according to the company's business situation. For example, the customization unit inputs that the company "wants to customize customer data" and adjusts the customization means according to the business situation. The customization unit can also propose the optimal customization means taking into account the company's business situation. For example, the customization unit inputs that the company "wants to customize inventory data" and proposes the optimal customization means taking into account the business situation. This enables more appropriate customization by adjusting the customization means based on the company's business situation. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without AI. For example, the customization unit can input the company's business situation data into the generation AI and have the generation AI propose the optimal customization means.

[0099] The customization unit can estimate the user's emotions and determine customization priorities based on the estimated user emotions. For example, if the user is relaxed, the customization unit prioritizes detailed customization. For example, if the user inputs "I want to customize sales data" and is relaxed, the customization unit prioritizes detailed customization. Furthermore, if the user is in a hurry, the customization unit can prioritize items that can be quickly customized. For example, if the user inputs "I want to customize customer data" and is in a hurry, the customization unit prioritizes items that can be quickly customized. Furthermore, if the user is stressed, the customization unit can prioritize simple and easy-to-understand customization. For example, if the user inputs "I want to customize inventory data" and is stressed, the customization unit prioritizes simple and easy-to-understand customization. This enables more appropriate customization by determining the customization priorities according to the user's emotions. Emotion estimation is realized using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI can be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without using AI. For example, the customization unit may input the user's facial expression data into the generation AI and cause the generation AI to estimate the emotion.

[0100] During customization, the customization unit can select the optimal customization method taking into account the geographic distribution of companies. The customization unit selects the optimal customization method based on, for example, the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize sales data" and selects the optimal customization method based on the geographic distribution of companies. The customization unit can also provide the optimal customization means taking into account the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize customer data" and provides the optimal customization means taking into account the geographic distribution of companies. The customization unit can also adjust the customization means according to the geographic distribution of companies. For example, the customization unit receives input from a company that the company "wants to customize inventory data" and adjusts the customization means according to the geographic distribution of companies. This allows the optimal customization method to be selected by taking into account the geographic distribution of companies. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without using AI. For example, the customization unit may input data on the geographic distribution of companies to a generation AI and cause the generation AI to select the optimal customization method.

[0101] During customization, the customization unit can analyze the company's social media activity and suggest customization methods. The customization unit, for example, suggests optimal customization methods based on the company's social media activity. For example, the customization unit inputs that the company "wants to customize sales data," analyzes the company's social media activity, and suggests optimal customization methods. The customization unit can also analyze the company's social media activity and provide effective customization methods. For example, the customization unit inputs that the company "wants to customize customer data," analyzes the company's social media activity, and suggests effective customization methods. The customization unit can also adjust the customization methods based on the company's social media activity. For example, the customization unit inputs that the company "wants to customize inventory data," and adjusts the customization methods based on the company's social media activity. In this way, the optimal customization methods can be suggested by analyzing the company's social media activity. Some or all of the above-described processing in the customization unit may be performed using, for example, AI, or may be performed without AI. For example, the customization unit can input the company's social media activity data into a generation AI and have the generation AI suggest optimal customization methods. === Hard Collateral 1-1 === Each of the multiple elements, including the above-described reception unit, generation unit, execution unit, linkage unit, and customization unit, is realized, for example, by at least one of the smart device 14 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the smart device 14 and receives data extraction conditions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the received conditions and generates an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query to extract data. The linkage unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and updates the extracted data based on the latest data definition. The customization unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and supports customization for each company. === Hard Collateral 1-2 === Each of the multiple elements, including the above-described reception unit, generation unit, execution unit, collaboration unit, and customization unit, is realized, for example, by at least one of the smart glasses 214 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the smart glasses 214 and receives data extraction conditions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the received conditions and generates an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query to extract data. The collaboration unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and updates the extracted data based on the latest data definition. The customization unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and supports customization for each company. === Hard Collateral 1-3 === Each of the multiple elements, including the above-mentioned reception unit, generation unit, execution unit, linkage unit, and customization unit, is realized, for example, by at least one of the headset-type terminal 314 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the headset-type terminal 314 and receives data extraction conditions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the received conditions and generates an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query to extract data. The linkage unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and updates the extracted data based on the latest data definition. The customization unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and supports customization for each company. === Hard Collateral 1-4 === Each of the multiple elements, including the above-mentioned reception unit, generation unit, execution unit, collaboration unit, and customization unit, is realized, for example, by at least one of the robot 414 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the robot 414 and receives data extraction conditions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the received conditions and generates an optimal SQL query. The execution unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and executes the generated SQL query to extract data. The collaboration unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and updates the extracted data based on the latest data definition. The customization unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and supports customization for each company.

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

[0103] The reception unit can analyze the user's past search history and automatically suggest frequently used data extraction conditions. For example, if the user has frequently input "I want to extract sales data" in the past, that condition will automatically be displayed as a candidate. The reception unit can also predict and suggest data extraction conditions to be used in a specific time period based on the user's past search history. For example, if the user has input "I want to extract sales data" in a specific time period in the past, similar conditions will be suggested for that time period. Furthermore, the reception unit can suggest the optimal input method (voice, text, etc.) based on the user's past search history. For example, if the user has frequently used voice input in the past, voice input will be suggested preferentially. In this way, the optimal input method can be suggested to the user by analyzing the user's past search history.

[0104] The generation unit can estimate the user's emotions and adjust the SQL query generation method based on the estimated user's emotions. For example, if the user is relaxed, the generation unit generates a detailed SQL query. For example, if the user inputs "I want to extract sales data" and is relaxed, the generation unit generates an SQL query including detailed filter conditions and sort conditions. The generation unit can also generate a concise and efficient SQL query if the user is in a hurry. For example, if the user inputs "I want to extract customer data" and is in a hurry, the generation unit generates a concise and efficient SQL query. Furthermore, the generation unit can also generate a simple and easy-to-understand SQL query if the user is stressed. For example, if the user inputs "I want to extract inventory data" and is stressed, the generation unit generates a simple and easy-to-understand SQL query. This allows the generation of a more appropriate SQL query by adjusting the SQL query generation method according to the user's emotions.

[0105] The execution unit can use a database index to optimize the execution results of an SQL query. For example, the execution unit uses the index to improve the execution speed of a query. The execution unit can also cache the execution results of an SQL query. For example, the execution unit caches the execution results of a frequently used query and retrieves the results from the cache the next time the query is executed, thereby improving the execution speed. Furthermore, the execution unit can monitor the execution results of an SQL query in real time and perform optimization as necessary. For example, the execution unit monitors the load on the database while a query is being executed, and pauses the execution of the query if the load is high and resumes it when the load decreases. This optimizes the execution results of an SQL query and enables efficient data extraction.

[0106] The linking unit can reflect the latest data definitions by linking with the data mart definitions (for example, data aggregation methods and schemas). For example, when a new product is added, the linking unit can immediately extract data related to that product. The linking unit can also automatically reflect changes to the data mart schema and updates to the table structure. For example, when the data mart schema is changed, the linking unit immediately reflects the changes and extracts data based on the latest data definitions. Furthermore, the linking unit can periodically check the data mart definitions and maintain the latest data definitions. For example, the linking unit periodically checks the data mart definitions and updates them as necessary. This allows the latest data definitions to be reflected, making it possible to immediately respond to newly created items.

[0107] The customization unit can accommodate customization for each company. For example, if a specific company uses a unique data format, it generates SQL queries to match that format. For example, the customization unit performs customization to accommodate specific business processes or specific data formats. The customization unit can also adjust the method of generating SQL queries based on the specific requirements of each company. For example, the customization unit generates optimal SQL queries based on the type and structure of the database used by a specific company. Furthermore, the customization unit can learn the customization requirements of each company and optimize the method of generating SQL queries based on the results. For example, the customization unit analyzes the customization history of each company and proposes the optimal customization method. This allows for customization for each company, making it possible to accommodate unique data definitions as well.

[0108] The reception unit can estimate the user's emotions and adjust the input interface for data extraction conditions based on the estimated user emotions. For example, if the user is feeling stressed, the reception unit can provide a simple interface and minimize input steps. For example, when the user inputs "I want to extract sales data," the reception unit can provide a simple interface and prompt the user to input only the necessary information. Furthermore, if the user is relaxed, the reception unit can provide detailed input options and suggest a customizable input method. For example, when the user inputs "I want to extract sales data," the reception unit prompts the user to input detailed filter conditions and sort conditions. Furthermore, if the user is in a hurry, the reception unit can prioritize voice input to enable the user to quickly input data extraction conditions. For example, when the user inputs "I want to extract sales data" by voice, the reception unit prioritizes voice input to enable the user to quickly input data extraction conditions. This allows the input interface to be adjusted according to the user's emotions, enabling the user to input more appropriate data extraction conditions.

[0109] The reception unit can analyze the user's past data extraction condition input history and suggest the optimal input method. For example, the reception unit can automatically display data extraction conditions that the user frequently input in the past as candidates. For example, if the user frequently inputs "I want to extract sales data" in the past, the reception unit can automatically display that condition as a candidate. The reception unit can also preferentially suggest input methods (voice, text, etc.) that the user has used in the past. For example, if the user frequently used voice input in the past, the reception unit can preferentially suggest voice input. Furthermore, the reception unit can predict and suggest data extraction conditions to be used in a specific time period based on the user's past input history. For example, if the user previously inputs "I want to extract sales data" during a specific time period, the reception unit can suggest similar conditions for that time period. In this way, the optimal input method can be suggested to the user by analyzing the past input history.

[0110] When the data extraction conditions are input, the reception unit can perform filtering based on the user's current business situation and areas of interest. For example, the reception unit prioritizes displaying data extraction conditions related to the user's ongoing project. For example, when the user inputs "I want to extract sales data," the reception unit prioritizes displaying sales data related to the ongoing project. The reception unit can also suggest related data extraction conditions based on the user's areas of interest. For example, when the user inputs "I want to extract customer data," the reception unit suggests related customer data based on the user's areas of interest. Furthermore, the reception unit can filter and display optimal data extraction conditions according to the user's business situation. For example, when the user inputs "I want to extract inventory data," the reception unit filters and displays optimal inventory data based on the current business situation. This makes it possible to provide more relevant data extraction conditions by filtering based on the user's business situation and areas of interest.

[0111] The reception unit can estimate the user's emotions and determine the priority of the input data extraction conditions based on the estimated user emotions. For example, if the user is feeling stressed, the reception unit prioritizes processing of important data extraction conditions. For example, if the user inputs "I want to extract sales data" and is feeling stressed, the reception unit prioritizes processing of important sales data. The reception unit can also prioritize processing of detailed data extraction conditions when the user is relaxed. For example, if the user inputs "I want to extract customer data" and is relaxed, the reception unit prioritizes processing of detailed customer data. Furthermore, if the user is in a hurry, the reception unit can prioritize processing of data extraction conditions that can be processed quickly. For example, if the user inputs "I want to extract inventory data" and is in a hurry, the reception unit prioritizes processing of inventory data that can be processed quickly. This enables more appropriate data extraction by determining the priority of data extraction conditions according to the user's emotions.

[0112] When a user inputs data extraction conditions, the reception unit can prioritize accepting highly relevant conditions by taking into account the user's geographical location information. For example, if the user is in a specific region, the reception unit prioritizes displaying data extraction conditions related to that region. For example, if the user inputs "I want to extract sales data" and is in a specific region, the reception unit prioritizes displaying sales data related to that region. The reception unit can also suggest relevant data extraction conditions based on the user's geographical location information. For example, if the user inputs "I want to extract customer data" and is in a specific region, the reception unit suggests customer data related to that region. Furthermore, if the user is traveling, the reception unit can prioritize accepting optimal data extraction conditions based on the user's current location. For example, if the user inputs "I want to extract inventory data" and is traveling, the reception unit prioritizes accepting optimal inventory data based on the user's current location. This makes it possible to provide highly relevant data extraction conditions by taking into account the user's geographical location information.

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

[0114] Step 1: The reception unit receives data extraction conditions from the user. Data extraction conditions from the user include filter conditions, sort conditions, and aggregation conditions. For example, if the user inputs "I want to extract sales data," the reception unit will receive the conditions. Step 2: The generator analyzes the conditions received by the receiver and generates an optimal SQL query. The generator uses AI to analyze the conditions received and generates an efficient SQL query using indexes and query optimization techniques. Step 3: The execution unit executes the SQL query generated by the generation unit and extracts data. The execution unit executes the generated SQL query against the database and extracts the necessary data. For example, sales data is extracted and provided to the user. Step 4: The linking unit updates the data extracted by the execution unit based on the latest data definition. The linking unit reflects the latest data definition by linking with the mart definition. For example, if a new product is added, data related to that product can be extracted immediately. Step 5: The customization department handles customization for each company. If a specific company uses a unique data format, the customization department generates SQL queries to match that format. For example, customization is performed to accommodate specific business processes or specific data formats.

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

[0116] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> Examples of the generative AI include a neural network (NN) and a neural network (NN). 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 (e.g., still image data or video data). 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 one or more data formats of voice data, text data, image data, etc. 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 may perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processing of each of the above-mentioned parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. The processing performed by an AI including the generative AI may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI including the generative AI.

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

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

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

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

[0121] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

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

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

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

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

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

[0127] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0128] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

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

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

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

[0132] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). 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 one or more data formats, such as audio data, text data, and image 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 models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI ​​may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.

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

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

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

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

[0137] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

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

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

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

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

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

[0143] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0144] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

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

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

[0147] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0148] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). 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 one or more data formats, such as audio data, text data, and image 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 models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI ​​may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.

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

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

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

[0152] 7, 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.

[0153] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

[0154] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

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

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

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

[0158] The control object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[0159] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0160] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0161] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

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

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

[0164] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0165] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). 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 one or more data formats, such as audio data, text data, and image 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 models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI ​​may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.

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

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

[0168] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[0169] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[0170] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[0171] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[0172] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. Emotions can also be created for robots, cars, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.

[0173] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[0174] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

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

[0176] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[0177] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[0178] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[0179] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A processor also includes a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[0180] The hardware resource that executes the specific process may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific process may be a single processor.

[0181] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[0182] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

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

[0184] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[0185] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[0186] [Explanation of symbols]

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

Claims

1. a reception unit that receives data extraction conditions from a user; a generation unit that analyzes the conditions received by the reception unit and generates an efficient SQL query; an execution unit that executes the SQL query generated by the generation unit and extracts data; a linking unit that updates the data extracted by the execution unit based on the latest data definition; A customization department that handles customization for each company is provided. A system characterized by:

2. The reception unit Accept data extraction conditions in chat format The system of claim 1 .

3. The generation unit Parse the accepted conditions and generate efficient SQL queries The system of claim 1 .

4. The execution unit: Run the generated SQL query to extract the data The system of claim 1 .

5. The linking unit is Reflects the latest data definitions by aligning with data mart definitions The system of claim 1 .

6. The customization unit Supports customization for each company The system of claim 1 .

7. The reception unit Estimates user emotions and adjusts the input interface for data extraction conditions based on the estimated user emotions. The system of claim 1 .

8. The reception unit Analyze the user's past data extraction condition input history and suggest the optimal input method The system of claim 1 .

9. The reception unit When entering data extraction criteria, filter based on the user's current work situation or area of ​​interest. The system of claim 1 .

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A