system
The system facilitates efficient and accurate data extraction by allowing users to input conditions in a chat format, using AI to generate optimal SQL queries that adapt to the latest definitions and customize for each company, addressing the challenge of user expertise requirements.
Patent Information
- Application Number
- JP2024132176
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Conventional techniques face challenges in enabling users without specialized knowledge to efficiently and accurately extract data.
A system incorporating a data extraction condition input unit, an SQL generation unit, a mart definition linkage unit, and a customization unit, allowing users to input data extraction conditions in a chat format, with a generation AI generating optimal SQL queries that reflect the latest definitions and customize for each company.
Enables efficient and accurate data extraction without requiring specialized knowledge, supporting voice input, interactive question-asking, and real-time customization and security checks.
Smart Images

Figure 2026029327000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional techniques have had the problem that it is difficult for users without specialized knowledge to extract data efficiently and accurately.
[0005] The system according to the embodiment aims to extract data efficiently and accurately without requiring specialized knowledge. [Means for solving the problem]
[0006] The system according to the embodiment includes a data extraction condition input unit, an SQL generation unit, a mart definition linkage unit, and a customization unit. The data extraction condition input unit allows a user to input data extraction conditions in a chat format. The SQL generation unit generates an optimal SQL query based on the extraction conditions input by the data extraction condition input unit. The mart definition linkage unit links the SQL query generated by the SQL generation unit with the mart definition to reflect the latest definition. The customization unit performs customization for each company. [Effects of the Invention]
[0007] The system according to the embodiment can extract data efficiently and accurately 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 the SQL Boost system according to an embodiment of the present invention, when a user inputs data extraction conditions in a chat format, a generation AI generates an optimal SQL query, which then works in conjunction with mart definitions to reflect the latest definitions and customizes the query for each company. This allows the SQL Boost system to achieve efficient and accurate data extraction without requiring specialized knowledge.
[0029] The SQL Boost system according to the embodiment includes a data extraction condition input unit, an SQL generation unit, a mart definition linking unit, and a customization unit. The data extraction condition input unit allows a user to input data extraction conditions in a chat format. For example, if a user inputs "I want to extract sales data for 2023," the data extraction condition input unit receives the input. The SQL generation unit generates an optimal SQL query based on the extraction conditions input by the data extraction condition input unit. For example, the generation AI analyzes the user's input and generates an appropriate SQL query. The generation AI can generate an optimal query using a text generation AI (e.g., LLM) or a multimodal generation AI. The mart definition linking unit links the SQL query generated by the SQL generation unit with the mart definition to reflect the latest definition. For example, even if a new data item is added, the mart definition linking unit can immediately reflect the definition and generate an appropriate query. The customization unit performs customization for each company. For example, even if a specific company has unique data items or table structures, the customization unit can generate an optimal query based on those definitions. This allows the SQL Boost system according to the embodiment to achieve efficient and accurate data extraction without specialized knowledge.
[0030] In the data extraction condition input section, the generation AI automatically suggests related data items based on the user's input, allowing the user to set the conditions simply by selecting them. For example, if a user inputs, "I want to extract sales data for 2023," the generation AI automatically suggests related data items (e.g., sales amount, sales date, product category, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific region," the generation AI automatically suggests data items related to the region (e.g., region name, zip code, state, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific period," the generation AI automatically suggests data items related to the period (e.g., start date, end date, month, etc.), allowing the user to set the conditions simply by selecting them. This makes it easy for users to set data extraction conditions.
[0031] The data extraction condition input unit can learn the user's past input history and automatically suggest frequently used extraction conditions. For example, if the user has frequently extracted "sales data for 2023" in the past, the generation AI will automatically suggest "sales data for 2023" the next time the data is input. Also, if the user has frequently extracted "sales data for a specific region" in the past, the generation AI will automatically suggest "sales data for a specific region" the next time the data is input. Also, if the user has frequently extracted "sales data for a specific period" in the past, the generation AI will automatically suggest "sales data for a specific period" the next time the data is input. This allows extraction conditions to be set efficiently based on the user's past input history.
[0032] The data extraction condition input unit supports voice input, allowing the user to input extraction conditions by voice. For example, when the user voice-inputs, "I want to extract sales data for 2023," the generation AI analyzes the voice and generates an appropriate SQL query. Also, when the user voice-inputs, "I want to extract sales data for a specific region," the generation AI analyzes the voice and generates an appropriate SQL query. Also, when the user voice-inputs, "I want to extract sales data for a specific period," the generation AI analyzes the voice and generates an appropriate SQL query. This allows the user to input extraction conditions by voice.
[0033] The data extraction condition input unit allows the chatbot to interactively ask questions to the user, automatically assembling the necessary data extraction conditions. For example, if the chatbot asks, "For which year do you want to extract sales data?" and the user answers, "2023," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which region do you want to extract sales data?" and the user answers, "Tokyo," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which period do you want to extract sales data?" and the user answers, "January to March," the generation AI will generate an appropriate SQL query. This allows users to interactively set data extraction conditions.
[0034] The SQL generation unit can automatically evaluate the performance of the generated SQL queries and make optimization suggestions. For example, the SQL generation unit measures the execution time of SQL queries generated by the generation AI and suggests adding indexes or refactoring the query if performance is poor. It also analyzes the execution plan of the SQL queries generated by the generation AI and suggests optimizing join conditions or using subqueries if performance is poor. It also regularly monitors the performance of SQL queries generated by the generation AI and makes optimization suggestions if performance deteriorates. This allows the performance of SQL queries to be automatically evaluated and optimization suggestions made.
[0035] The SQL generation unit can automatically perform security checks on the generated SQL queries and detect potential vulnerabilities. For example, the SQL generation unit automatically detects SQL injection vulnerabilities in SQL queries generated by the generation AI and suggests fixes. It also automatically evaluates the risk of data leakage for SQL queries generated by the generation AI and suggests necessary security measures. It also automatically checks the application status of access control for SQL queries generated by the generation AI to confirm that there is no inappropriate access. This automatically performs security checks on SQL queries and detects potential vulnerabilities.
[0036] The SQL generation unit can automatically convert the generated SQL query into another programming language. For example, the SQL generation unit automatically converts the SQL query generated by the generation AI into Python code, allowing the user to execute the query in a Python environment. Also, the SQL generation unit automatically converts the SQL query generated by the generation AI into R code, allowing the user to execute the query in an R environment. Also, the SQL generation unit automatically converts the SQL query generated by the generation AI into JavaScript code, allowing the user to execute the query in a JavaScript environment. In this way, the SQL query is automatically converted into another programming language.
[0037] The SQL generation unit can visually display the generated SQL query, allowing the user to intuitively understand the structure of the query. For example, the SQL generation unit visually displays the SQL query generated by the generation AI, allowing the user to click on each part of the query to check details. The SQL generation unit also displays the SQL query generated by the generation AI in a flowchart format, allowing the user to intuitively understand the flow of the query. The SQL generation unit also displays the SQL query generated by the generation AI in a graph format, allowing the user to visually grasp the relationships between the queries. In this way, the SQL query is visually displayed, allowing the user to intuitively understand the structure of the query.
[0038] The mart definition linking unit can automatically track the change history of the mart definition, compare it with past definitions, and notify the user of any changes. The mart definition linking unit, for example, automatically tracks the change history of the mart definition, compares it with past definitions, and notifies the user of any changes. It also displays the change history of the mart definition in graph form, allowing the user to intuitively understand the changes. It also displays the change history of the mart definition in list form, allowing the user to check the changes in detail. In this way, the change history of the mart definition is automatically tracked, and the user is notified of any changes.
[0039] The mart definition linkage unit can automatically analyze the scope of impact caused by a change to a mart definition and list the queries and data items that will be affected. The mart definition linkage unit, for example, automatically analyzes the scope of impact caused by a change to a mart definition and lists the queries and data items that will be affected. It also displays the scope of impact caused by a change to a mart definition in graph form, allowing the user to intuitively understand the scope of impact. It also displays the scope of impact caused by a change to a mart definition in list form, allowing the user to check the scope of impact in detail. In this way, it automatically analyzes the scope of impact caused by a change to a mart definition and lists the queries and data items that will be affected.
[0040] The mart definition linking unit can reflect changes to the mart definition in real time, allowing users to always generate queries based on the latest definition. The mart definition linking unit, for example, reflects changes to the mart definition in real time, allowing users to always generate queries based on the latest definition. It also notifies users of changes to the mart definition in real time, allowing users to immediately check the changes. It also reflects changes to the mart definition in real time, allowing users to generate queries while checking the changes. This allows changes to the mart definition to be reflected in real time, allowing users to always generate queries based on the latest definition.
[0041] The mart definition linking unit can make the mart definition applicable to other database systems. For example, the mart definition linking unit applies the mart definition to a NoSQL database, allowing users to generate queries based on the same definition in a NoSQL environment. The mart definition linking unit also applies the mart definition to multiple database systems, allowing users to generate queries based on the same definition in different database environments. The mart definition is also reflected in other database systems in real time, allowing users to always generate queries based on the latest definition. This allows the mart definition to be applied to other database systems.
[0042] The customization unit can automatically learn each company's unique definitions and build a customization model for generating optimal queries. For example, the customization unit automatically learns each company's unique definitions, and the generation AI generates optimal queries based on those definitions. The customization unit also builds a customization model for learning each company's unique definitions, and the generation AI generates queries based on that model. The customization unit also learns each company's unique definitions in real time, and the generation AI always generates queries based on the latest definitions. In this way, the customization unit automatically learns each company's unique definitions and builds a customization model for generating optimal queries.
[0043] The customization unit can manage customization settings for each company on the cloud, allowing multiple users to share the settings. For example, the customization unit manages customization settings for each company on the cloud, allowing multiple users to share the same settings. The customization unit also updates the customization settings for each company on the cloud in real time, allowing users to always use the latest settings. The customization settings for each company are also backed up on the cloud, preventing users from losing their settings. This allows customization settings for each company to be managed on the cloud, allowing multiple users to share the settings.
[0044] The customization department can share the customization settings for each company with other companies and incorporate best practices. For example, the customization department can share the customization settings for each company with other companies and build a platform for incorporating best practices. The customization department can also share the customization settings for each company with other companies and propose optimal settings based on success stories. The customization department can also share the customization settings for each company with other companies and improve the settings based on feedback. This allows the customization settings for each company to be shared with other companies and incorporate best practices.
[0045] The customization unit can create templates for customization settings, allowing other companies to easily adopt them. The customization unit can create templates for customization settings for each company, for example, allowing other companies to easily adopt them. The customization unit also manages the customization setting templates on the cloud, allowing users to easily access them. The customization setting templates are also updated in real time, allowing users to always use the latest templates. This allows the customization settings to be created as templates, allowing other companies to easily adopt them.
[0046] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0047] In the data extraction condition input section, the generation AI automatically suggests related data items based on the user's input, allowing the user to set the conditions simply by selecting them. For example, if a user inputs, "I want to extract sales data for 2023," the generation AI automatically suggests related data items (e.g., sales amount, sales date, product category, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific region," the generation AI automatically suggests data items related to the region (e.g., region name, zip code, state, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific period," the generation AI automatically suggests data items related to the period (e.g., start date, end date, month, etc.), allowing the user to set the conditions simply by selecting them. This makes it easy for users to set data extraction conditions.
[0048] The data extraction condition input unit can learn the user's past input history and automatically suggest frequently used extraction conditions. For example, if a user has frequently extracted "sales data for 2023" in the past, the generation AI will automatically suggest "sales data for 2023" the next time they input data. Also, if a user has frequently extracted "sales data for a specific region" in the past, the generation AI will automatically suggest "sales data for a specific region" the next time they input data. Also, if a user has frequently extracted "sales data for a specific period" in the past, the generation AI will automatically suggest "sales data for a specific period" the next time they input data. This allows extraction conditions to be set efficiently based on the user's past input history.
[0049] The data extraction condition input unit supports voice input, allowing users to input extraction conditions by voice. For example, if a user inputs by voice, "I want to extract sales data for 2023," the generation AI analyzes the voice and generates an appropriate SQL query. Also, if a user inputs by voice, "I want to extract sales data for a specific region," the generation AI analyzes the voice and generates an appropriate SQL query. Also, if a user inputs by voice, "I want to extract sales data for a specific period," the generation AI analyzes the voice and generates an appropriate SQL query. This allows users to input extraction conditions by voice.
[0050] The data extraction condition input section allows the chatbot to interactively ask questions to the user, automatically assembling the necessary data extraction conditions. For example, if the chatbot asks, "For which year do you want to extract sales data?" and the user answers, "2023," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which region do you want to extract sales data?" and the user answers, "Tokyo," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which period do you want to extract sales data?" and the user answers, "January to March," the generation AI will generate an appropriate SQL query. This allows users to interactively set data extraction conditions.
[0051] The SQL generation unit can automatically evaluate the performance of the generated SQL queries and make optimization suggestions. For example, it measures the execution time of SQL queries generated by the generation AI and suggests adding indexes or refactoring the query if performance is poor. It also analyzes the execution plan of the SQL queries generated by the generation AI and suggests optimizing join conditions or using subqueries if performance is poor. It also regularly monitors the performance of SQL queries generated by the generation AI and makes optimization suggestions if performance deteriorates. This allows the system to automatically evaluate the performance of SQL queries and make optimization suggestions.
[0052] The SQL generation unit can automatically perform security checks on the generated SQL queries and detect potential vulnerabilities. For example, it can automatically detect SQL injection vulnerabilities in SQL queries generated by the generation AI and suggest fixes. It can also automatically evaluate the risk of data leakage in SQL queries generated by the generation AI and suggest necessary security measures. It can also automatically check the application status of access control for SQL queries generated by the generation AI to confirm that there is no inappropriate access. This allows for automatic security checks of SQL queries and the detection of potential vulnerabilities.
[0053] The SQL generation unit can automatically convert the generated SQL query into other programming languages. For example, the SQL generation unit can automatically convert the SQL query generated by the generation AI into Python code, allowing the user to execute the query in a Python environment. The SQL generation unit can also automatically convert the SQL query generated by the generation AI into R code, allowing the user to execute the query in an R environment. The SQL generation unit can also automatically convert the SQL query generated by the generation AI into JavaScript code, allowing the user to execute the query in a JavaScript environment. In this way, the SQL query is automatically converted into other programming languages.
[0054] The processing flow of the first embodiment will be briefly explained below.
[0055] Step 1: The user inputs data extraction conditions in chat format into the data extraction condition input unit. For example, if the user inputs "I want to extract sales data for 2023," the data extraction condition input unit receives the content. Step 2: The SQL generation unit generates an optimal SQL query based on the extraction conditions entered by the data extraction condition input unit. For example, the generation AI analyzes the user's input and generates an appropriate SQL query. The generation AI can generate an optimal query using a text generation AI (e.g., LLM) or a multimodal generation AI. Step 3: The mart definition linking unit links the SQL query generated by the SQL generation unit with the mart definition to reflect the latest definition. For example, even if a new data item is added, the mart definition linking unit can immediately reflect the definition and generate an appropriate query. Step 4: The customization department customizes the data for each company. For example, if a specific company has its own data items or table structure, the customization department can generate optimal queries based on those definitions.
[0056] (Example 2) In the SQL Boost system according to an embodiment of the present invention, when a user inputs data extraction conditions in a chat format, a generation AI generates an optimal SQL query, which then works in conjunction with mart definitions to reflect the latest definitions and customizes the query for each company. This allows the SQL Boost system to achieve efficient and accurate data extraction without requiring specialized knowledge.
[0057] The SQL Boost system according to the embodiment includes a data extraction condition input unit, an SQL generation unit, a mart definition linking unit, and a customization unit. The data extraction condition input unit allows a user to input data extraction conditions in a chat format. For example, if a user inputs "I want to extract sales data for 2023," the data extraction condition input unit receives the input. The SQL generation unit generates an optimal SQL query based on the extraction conditions input by the data extraction condition input unit. For example, the generation AI analyzes the user's input and generates an appropriate SQL query. The generation AI can generate an optimal query using a text generation AI (e.g., LLM) or a multimodal generation AI. The mart definition linking unit links the SQL query generated by the SQL generation unit with the mart definition to reflect the latest definition. For example, even if a new data item is added, the mart definition linking unit can immediately reflect the definition and generate an appropriate query. The customization unit performs customization for each company. For example, even if a specific company has unique data items or table structures, the customization unit can generate an optimal query based on those definitions. This allows the SQL Boost system according to the embodiment to achieve efficient and accurate data extraction without specialized knowledge.
[0058] In the data extraction condition input section, the generation AI automatically suggests related data items based on the user's input, allowing the user to set the conditions simply by selecting them. For example, if a user inputs, "I want to extract sales data for 2023," the generation AI automatically suggests related data items (e.g., sales amount, sales date, product category, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific region," the generation AI automatically suggests data items related to the region (e.g., region name, zip code, state, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific period," the generation AI automatically suggests data items related to the period (e.g., start date, end date, month, etc.), allowing the user to set the conditions simply by selecting them. This makes it easy for users to set data extraction conditions.
[0059] The data extraction condition input unit can learn the user's past input history and automatically suggest frequently used extraction conditions. For example, if the user has frequently extracted "sales data for 2023" in the past, the generation AI will automatically suggest "sales data for 2023" the next time the data is input. Also, if the user has frequently extracted "sales data for a specific region" in the past, the generation AI will automatically suggest "sales data for a specific region" the next time the data is input. Also, if the user has frequently extracted "sales data for a specific period" in the past, the generation AI will automatically suggest "sales data for a specific period" the next time the data is input. This allows extraction conditions to be set efficiently based on the user's past input history.
[0060] The data extraction condition input unit uses an emotion estimation function to analyze the user's emotions when entering data, and can suggest an easier input method if the user is feeling stressed. For example, if the user is feeling stressed when entering data, the generation AI automatically suggests an easier input method (for example, by presenting options). Also, if the user is feeling anxious when entering data, the generation AI automatically displays a guide message to support the user in entering data. Also, if the user is tired when entering data, the generation AI automatically suggests a shortcut to simplify the input process. This makes it possible to suggest input methods according to the user's emotions.
[0061] The data extraction condition input unit supports voice input, allowing the user to input extraction conditions by voice. For example, when the user voice-inputs, "I want to extract sales data for 2023," the generation AI analyzes the voice and generates an appropriate SQL query. Also, when the user voice-inputs, "I want to extract sales data for a specific region," the generation AI analyzes the voice and generates an appropriate SQL query. Also, when the user voice-inputs, "I want to extract sales data for a specific period," the generation AI analyzes the voice and generates an appropriate SQL query. This allows the user to input extraction conditions by voice.
[0062] The data extraction condition input unit allows the chatbot to interactively ask questions to the user, automatically assembling the necessary data extraction conditions. For example, if the chatbot asks, "For which year do you want to extract sales data?" and the user answers, "2023," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which region do you want to extract sales data?" and the user answers, "Tokyo," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which period do you want to extract sales data?" and the user answers, "January to March," the generation AI will generate an appropriate SQL query. This allows users to interactively set data extraction conditions.
[0063] The data extraction condition input unit uses an emotion estimation function to evaluate the user's satisfaction with the conditions entered in real time, and can make improvement suggestions if satisfaction is low. For example, if the user's satisfaction with the conditions entered is low, the data extraction condition input unit automatically suggests an alternative. Also, if the user's satisfaction with the conditions entered is low, the generation AI automatically suggests changing the input method. Also, if the user's satisfaction with the conditions entered is low, the generation AI automatically displays a guide message to support input. This allows improvement suggestions to be made according to the user's satisfaction.
[0064] The SQL generation unit can automatically evaluate the performance of the generated SQL queries and make optimization suggestions. For example, the SQL generation unit measures the execution time of SQL queries generated by the generation AI and suggests adding indexes or refactoring the query if performance is poor. It also analyzes the execution plan of the SQL queries generated by the generation AI and suggests optimizing join conditions or using subqueries if performance is poor. It also regularly monitors the performance of SQL queries generated by the generation AI and makes optimization suggestions if performance deteriorates. This allows the performance of SQL queries to be automatically evaluated and optimization suggestions made.
[0065] The SQL generation unit can automatically perform security checks on the generated SQL queries and detect potential vulnerabilities. For example, the SQL generation unit automatically detects SQL injection vulnerabilities in SQL queries generated by the generation AI and suggests fixes. It also automatically evaluates the risk of data leakage for SQL queries generated by the generation AI and suggests necessary security measures. It also automatically checks the application status of access control for SQL queries generated by the generation AI to confirm that there is no inappropriate access. This automatically performs security checks on SQL queries and detects potential vulnerabilities.
[0066] The SQL generation unit uses the emotion estimation function to detect any anxieties or doubts the user may have about the generated SQL query, and can provide explanations and support accordingly. For example, if the user feels anxious about the generated SQL query, the generation AI automatically displays an explanation of the query to help the user understand. Also, if the user has questions about the generated SQL query, the generation AI automatically displays explanations of each part of the query to resolve the doubt. Also, if the user feels anxious or uncertain about the generated SQL query, the generation AI automatically displays a support message to support input. In this way, the SQL generation unit provides explanations and support according to the user's anxieties or doubts.
[0067] The SQL generation unit can automatically convert the generated SQL query into another programming language. For example, the SQL generation unit automatically converts the SQL query generated by the generation AI into Python code, allowing the user to execute the query in a Python environment. Also, the SQL generation unit automatically converts the SQL query generated by the generation AI into R code, allowing the user to execute the query in an R environment. Also, the SQL generation unit automatically converts the SQL query generated by the generation AI into JavaScript code, allowing the user to execute the query in a JavaScript environment. In this way, the SQL query is automatically converted into another programming language.
[0068] The SQL generation unit can visually display the generated SQL query, allowing the user to intuitively understand the structure of the query. For example, the SQL generation unit visually displays the SQL query generated by the generation AI, allowing the user to click on each part of the query to check details. The SQL generation unit also displays the SQL query generated by the generation AI in a flowchart format, allowing the user to intuitively understand the flow of the query. The SQL generation unit also displays the SQL query generated by the generation AI in a graph format, allowing the user to visually grasp the relationships between the queries. In this way, the SQL query is visually displayed, allowing the user to intuitively understand the structure of the query.
[0069] The SQL generation unit uses the emotion estimation function to evaluate the user's satisfaction with the generated SQL query, and can suggest an alternative query if satisfaction is low. For example, if the user has low satisfaction with the generated SQL query, the generation AI automatically suggests an alternative query. Also, if the user has low satisfaction with the generated SQL query, the generation AI automatically suggests a query modification suggestion. Also, if the user has low satisfaction with the generated SQL query, the generation AI automatically suggests a query optimization suggestion. In this way, an alternative query is suggested according to the user's satisfaction.
[0070] The mart definition linking unit can automatically track the change history of the mart definition, compare it with past definitions, and notify the user of any changes. The mart definition linking unit, for example, automatically tracks the change history of the mart definition, compares it with past definitions, and notifies the user of any changes. It also displays the change history of the mart definition in graph form, allowing the user to intuitively understand the changes. It also displays the change history of the mart definition in list form, allowing the user to check the changes in detail. In this way, the change history of the mart definition is automatically tracked, and the user is notified of any changes.
[0071] The mart definition linkage unit can automatically analyze the scope of impact caused by a change to a mart definition and list the queries and data items that will be affected. The mart definition linkage unit, for example, automatically analyzes the scope of impact caused by a change to a mart definition and lists the queries and data items that will be affected. It also displays the scope of impact caused by a change to a mart definition in graph form, allowing the user to intuitively understand the scope of impact. It also displays the scope of impact caused by a change to a mart definition in list form, allowing the user to check the scope of impact in detail. In this way, it automatically analyzes the scope of impact caused by a change to a mart definition and lists the queries and data items that will be affected.
[0072] The mart definition linking unit uses the emotion estimation function to detect any anxieties or questions the user may have about changes to the mart definition, and can provide explanations and support accordingly. For example, if the user feels anxious about changes to the mart definition, the generation AI automatically displays an explanation of the changes to help the user understand. Also, if the user has questions about changes to the mart definition, the generation AI automatically displays an explanation of each part of the changes to resolve the question. Also, if the user feels anxious or uncertain about changes to the mart definition, the generation AI automatically displays a support message to help the user understand the changes. This allows the unit to provide explanations and support according to the user's anxieties and questions.
[0073] The mart definition linking unit can reflect changes to the mart definition in real time, allowing users to always generate queries based on the latest definition. The mart definition linking unit, for example, reflects changes to the mart definition in real time, allowing users to always generate queries based on the latest definition. It also notifies users of changes to the mart definition in real time, allowing users to immediately check the changes. It also reflects changes to the mart definition in real time, allowing users to generate queries while checking the changes. This allows changes to the mart definition to be reflected in real time, allowing users to always generate queries based on the latest definition.
[0074] The mart definition linking unit can make the mart definition applicable to other database systems. For example, the mart definition linking unit applies the mart definition to a NoSQL database, allowing users to generate queries based on the same definition in a NoSQL environment. The mart definition linking unit also applies the mart definition to multiple database systems, allowing users to generate queries based on the same definition in different database environments. The mart definition is also reflected in other database systems in real time, allowing users to always generate queries based on the latest definition. This allows the mart definition to be applied to other database systems.
[0075] The mart definition linking unit uses the emotion estimation function to evaluate the user's level of satisfaction with changes to the mart definition, and can make improvement suggestions if the level of satisfaction is low. For example, if the user is not satisfied with the changes to the mart definition, the generation AI automatically makes improvement suggestions. Also, if the user is not satisfied with the changes to the mart definition, the generation AI automatically proposes corrections to the changes. Also, if the user is not satisfied with the changes to the mart definition, the generation AI automatically proposes optimization suggestions for the changes. In this way, improvement suggestions are made according to the user's level of satisfaction.
[0076] The customization unit can automatically learn each company's unique definitions and build a customization model for generating optimal queries. For example, the customization unit automatically learns each company's unique definitions, and the generation AI generates optimal queries based on those definitions. The customization unit also builds a customization model for learning each company's unique definitions, and the generation AI generates queries based on that model. The customization unit also learns each company's unique definitions in real time, and the generation AI always generates queries based on the latest definitions. In this way, the customization unit automatically learns each company's unique definitions and builds a customization model for generating optimal queries.
[0077] The customization unit can manage customization settings for each company on the cloud, allowing multiple users to share the settings. For example, the customization unit manages customization settings for each company on the cloud, allowing multiple users to share the same settings. The customization unit also updates the customization settings for each company on the cloud in real time, allowing users to always use the latest settings. The customization settings for each company are also backed up on the cloud, preventing users from losing their settings. This allows customization settings for each company to be managed on the cloud, allowing multiple users to share the settings.
[0078] The customization unit uses the emotion estimation function to detect any anxieties or questions the user may have about the customization settings, and can provide explanations and support accordingly. For example, if the user feels anxious about the customization settings, the generation AI automatically displays an explanation of the settings to help the user understand. Also, if the user has questions about the customization settings, the generation AI automatically displays an explanation of each part of the settings to resolve the question. Also, if the user feels anxious or has questions about the customization settings, the generation AI automatically displays a support message to help the user understand the settings. In this way, the customization unit provides explanations and support according to the user's anxieties or questions.
[0079] The customization department can share the customization settings for each company with other companies and incorporate best practices. For example, the customization department can share the customization settings for each company with other companies and build a platform for incorporating best practices. The customization department can also share the customization settings for each company with other companies and propose optimal settings based on success stories. The customization department can also share the customization settings for each company with other companies and improve the settings based on feedback. This allows the customization settings for each company to be shared with other companies and incorporate best practices.
[0080] The customization unit can create templates for customization settings, allowing other companies to easily adopt them. The customization unit can create templates for customization settings for each company, for example, allowing other companies to easily adopt them. The customization unit also manages the customization setting templates on the cloud, allowing users to easily access them. The customization setting templates are also updated in real time, allowing users to always use the latest templates. This allows the customization settings to be created as templates, allowing other companies to easily adopt them.
[0081] The customization unit uses the emotion estimation function to evaluate the user's level of satisfaction with the customized settings, and can make improvement suggestions if satisfaction is low. For example, if the user is not satisfied with the customized settings, the generation AI automatically makes improvement suggestions. Also, if the user is not satisfied with the customized settings, the generation AI automatically suggests corrections to the settings. Also, if the user is not satisfied with the customized settings, the generation AI automatically suggests optimization suggestions for the settings. In this way, improvement suggestions are made according to the user's level of satisfaction.
[0082] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0083] In the data extraction condition input section, the generation AI automatically suggests related data items based on the user's input, allowing the user to set the conditions simply by selecting them. For example, if a user inputs, "I want to extract sales data for 2023," the generation AI automatically suggests related data items (e.g., sales amount, sales date, product category, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific region," the generation AI automatically suggests data items related to the region (e.g., region name, zip code, state, etc.), allowing the user to set the conditions simply by selecting them. Also, if a user inputs, "I want to extract sales data for a specific period," the generation AI automatically suggests data items related to the period (e.g., start date, end date, month, etc.), allowing the user to set the conditions simply by selecting them. This makes it easy for users to set data extraction conditions.
[0084] The data extraction condition input unit can learn the user's past input history and automatically suggest frequently used extraction conditions. For example, if a user has frequently extracted "sales data for 2023" in the past, the generation AI will automatically suggest "sales data for 2023" the next time they input data. Also, if a user has frequently extracted "sales data for a specific region" in the past, the generation AI will automatically suggest "sales data for a specific region" the next time they input data. Also, if a user has frequently extracted "sales data for a specific period" in the past, the generation AI will automatically suggest "sales data for a specific period" the next time they input data. This allows extraction conditions to be set efficiently based on the user's past input history.
[0085] The data extraction condition input unit uses an emotion estimation function to analyze the user's emotions when entering data, and if the user is feeling stressed, it can suggest an easier input method. For example, if the user is feeling stressed while entering data, the generation AI automatically suggests an easier input method (for example, by presenting options). Also, if the user is feeling anxious while entering data, the generation AI automatically displays a guide message to support the user in entering data. Also, if the user is tired while entering data, the generation AI automatically suggests a shortcut to simplify the input process. This makes it possible to suggest input methods according to the user's emotions.
[0086] The data extraction condition input unit supports voice input, allowing users to input extraction conditions by voice. For example, if a user inputs by voice, "I want to extract sales data for 2023," the generation AI analyzes the voice and generates an appropriate SQL query. Also, if a user inputs by voice, "I want to extract sales data for a specific region," the generation AI analyzes the voice and generates an appropriate SQL query. Also, if a user inputs by voice, "I want to extract sales data for a specific period," the generation AI analyzes the voice and generates an appropriate SQL query. This allows users to input extraction conditions by voice.
[0087] The data extraction condition input section allows the chatbot to interactively ask questions to the user, automatically assembling the necessary data extraction conditions. For example, if the chatbot asks, "For which year do you want to extract sales data?" and the user answers, "2023," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which region do you want to extract sales data?" and the user answers, "Tokyo," the generation AI will generate an appropriate SQL query. Alternatively, if the chatbot asks, "For which period do you want to extract sales data?" and the user answers, "January to March," the generation AI will generate an appropriate SQL query. This allows users to interactively set data extraction conditions.
[0088] The data extraction condition input unit uses an emotion estimation function to evaluate the user's satisfaction with the conditions entered in real time, and can make improvement suggestions if satisfaction is low. For example, if the user's satisfaction with the conditions entered is low, the generation AI automatically suggests an alternative. Also, if the user's satisfaction with the conditions entered is low, the generation AI automatically suggests changing the input method. Also, if the user's satisfaction with the conditions entered is low, the generation AI automatically displays a guide message to support input. This allows improvement suggestions to be made according to the user's satisfaction.
[0089] The SQL generation unit can automatically evaluate the performance of the generated SQL queries and make optimization suggestions. For example, it measures the execution time of SQL queries generated by the generation AI and suggests adding indexes or refactoring the query if performance is poor. It also analyzes the execution plan of the SQL queries generated by the generation AI and suggests optimizing join conditions or using subqueries if performance is poor. It also regularly monitors the performance of SQL queries generated by the generation AI and makes optimization suggestions if performance deteriorates. This allows the system to automatically evaluate the performance of SQL queries and make optimization suggestions.
[0090] The SQL generation unit can automatically perform security checks on the generated SQL queries and detect potential vulnerabilities. For example, it can automatically detect SQL injection vulnerabilities in SQL queries generated by the generation AI and suggest fixes. It can also automatically evaluate the risk of data leakage in SQL queries generated by the generation AI and suggest necessary security measures. It can also automatically check the application status of access control for SQL queries generated by the generation AI to confirm that there is no inappropriate access. This allows for automatic security checks of SQL queries and the detection of potential vulnerabilities.
[0091] The SQL generation unit uses its emotion estimation function to detect any anxieties or doubts the user may have about the generated SQL query and can provide explanations and support accordingly. For example, if the user feels anxious about the generated SQL query, the generation AI automatically displays an explanation of the query to help them understand. Also, if the user has questions about the generated SQL query, the generation AI automatically displays explanations of each part of the query to resolve their doubts. Also, if the user feels anxious or uncertain about the generated SQL query, the generation AI automatically displays a support message to assist with input. This provides explanations and support according to the user's anxieties and doubts.
[0092] The SQL generation unit can automatically convert the generated SQL query into other programming languages. For example, the SQL generation unit can automatically convert the SQL query generated by the generation AI into Python code, allowing the user to execute the query in a Python environment. The SQL generation unit can also automatically convert the SQL query generated by the generation AI into R code, allowing the user to execute the query in an R environment. The SQL generation unit can also automatically convert the SQL query generated by the generation AI into JavaScript code, allowing the user to execute the query in a JavaScript environment. In this way, the SQL query is automatically converted into other programming languages.
[0093] The processing flow of the second embodiment will be briefly explained below.
[0094] Step 1: The user inputs data extraction conditions in chat format into the data extraction condition input unit. For example, if the user inputs "I want to extract sales data for 2023," the data extraction condition input unit receives the content. Step 2: The SQL generation unit generates an optimal SQL query based on the extraction conditions entered by the data extraction condition input unit. For example, the generation AI analyzes the user's input and generates an appropriate SQL query. The generation AI can generate an optimal query using a text generation AI (e.g., LLM) or a multimodal generation AI. Step 3: The mart definition linking unit links the SQL query generated by the SQL generation unit with the mart definition to reflect the latest definition. For example, even if a new data item is added, the mart definition linking unit can immediately reflect the definition and generate an appropriate query. Step 4: The customization department customizes the data for each company. For example, if a specific company has its own data items or table structure, the customization department can generate optimal queries based on those definitions.
[0095] 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.
[0096] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> Examples of generative AIs include the data generation model 58, such as a neural network model (e.g., a neural network model), and a neural network model (e.g., a neural network model). The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating speech, text data indicating text, and image data indicating an image is also input to the data generation model 58. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.
[0097] 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.
[0098] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0099] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0100] 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.
[0101] 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.
[0102] 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.
[0103] 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).
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AI other than the generative AI. The AI other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.
[0112] 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.
[0113] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0114] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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).
[0119] 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.
[0120] 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.
[0121] 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.
[0122] 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.
[0123] In the headset type terminal 314, 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. 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 specific processing unit 290 using these models.
[0124] 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.
[0125] 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.
[0126] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AI other than the generative AI. The AI other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.
[0127] 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.
[0128] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0129] 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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).
[0134] 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.
[0135] 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] In the robot 414, 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 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 processing similar to that of the specific processing unit 290 using these models.
[0140] 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.
[0141] 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.
[0142] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AI other than the generative AI. The AI other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.
[0143] 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.
[0144] 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.
[0145] 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.
[0146] 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.
[0147] 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).
[0148] 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.
[0149] 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."
[0150] 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.
[0151] 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.
[0152] 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.
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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. [Explanation of symbols]
[0162] 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 data extraction condition input section in which a user inputs data extraction conditions in a chat format; an SQL generation unit that generates an optimal SQL query based on the extraction conditions input by the data extraction condition input unit; a mart definition linking unit that links the SQL query generated by the SQL generation unit with a mart definition to reflect the latest definition; A customization department that customizes for each company. A system characterized by:
2. The data extraction condition input unit Based on the user's input, the generation AI automatically suggests related data items, allowing the user to set conditions simply by selecting them.
2. The system of claim 1.
3. The data extraction condition input unit Learns the user's past input history and automatically suggests frequently used extraction conditions 2. The system of claim 1.
4. The data extraction condition input unit Analyzes the user's emotions when typing and suggests easier input methods if the user is feeling stressed.
2. The system of claim 1.
5. The data extraction condition input unit Supports voice input, allowing users to enter search criteria by voice 2. The system of claim 1.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A