system
The system allows users to create Excel files by inputting natural language instructions, generating Python and VBA code to automate the process, enabling functional Excel files without programming knowledge.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-12
AI Technical Summary
Users cannot create Excel files by issuing instructions in natural language and require programming knowledge.
A system that includes a reception unit to receive natural language instructions, a generation unit to generate Python code, a creation unit to create an Excel file using the openpyxl library, and an embedding unit to embed VBA code as macros, all made available for download.
Enables users to create highly functional Excel files without knowledge of complex Excel settings or macros, automating the process through natural language input.
Smart Images

Figure 2026044852000001_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 technology has the problem that users cannot create Excel files by issuing instructions in natural language, and requires programming knowledge.
[0005] The system according to the embodiment aims to enable a user to create an Excel file by issuing instructions in natural language. [Means for solving the problem]
[0006] The system according to the embodiment includes a reception unit, a generation unit, a creation unit, an embedding unit, and a provision unit. The reception unit receives natural language instructions from a user. The generation unit analyzes the natural language instructions received by the reception unit and generates Python code. The creation unit creates an Excel file based on the Python code generated by the generation unit. The embedding unit embeds VBA code in the Excel file created by the creation unit. The provision unit makes the Excel file created by the embedding unit available for download by a user. [Effects of the Invention]
[0007] The system according to the embodiment can enable a user to create an Excel file by issuing instructions in natural language. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. DETAILED DESCRIPTION OF THE INVENTION
[0009] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0010] First, the terms used in the following description will be explained.
[0011] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, the processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).
[0012] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0013] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0014] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), and Bluetooth (registered trademark).
[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0016] [First embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0017] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0019] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0020] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (for example, a pen or a finger) to receive user input by the touch of the pointer. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 (see FIG. 2) acquires the data indicating the user input.
[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., audio and / or text). Display 40A displays visible information such as text and images in accordance with instructions from processor 46. Speaker 40B outputs audio in accordance with instructions from processor 46. Camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0022] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0023] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0024] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0025] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.
[0026] In the smart device 14, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart device 14 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.
[0027] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (prediction result, etc.) using the data generation model 58 by communicating with the server device having the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device owned by a user (e.g., a mobile phone, a robot, a home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.
[0028] (Example 1) The Excel creation system according to an embodiment of the present invention generates Python and VBA code and runs it in the background, simply by a user expressing their desire to create an Excel spreadsheet in natural language. In this Excel creation system, the user inputs instructions for creating an Excel spreadsheet in natural language. A generation AI analyzes the instructions and generates Python code. The generated Python code creates an Excel file using the openpyxl library. Furthermore, for detailed Excel settings that openpyxl cannot handle, the generation AI generates VBA code and embeds it as a macro in the Excel file. Finally, the created Excel file is made available for download by the user. This system allows users to easily create highly functional Excel files without knowledge of complex Excel settings or macros. For example, if a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation AI analyzes the instruction and generates Python code to aggregate the sales data and create a graph. The generated Python code creates an Excel file using the openpyxl library, aggregates the sales data, and creates a graph. Furthermore, if detailed settings are required, such as assigning a macro to a specific cell or executing a macro in response to a specific event, the generation AI generates VBA code and embeds it as a macro in the Excel file. Finally, the user can download the generated Excel file and use it locally. For example, an Excel file that aggregates sales data and creates a graph can be downloaded and used in business operations. This system allows users to easily create highly functional Excel files without complex Excel settings or macro knowledge. For example, even if a complex Excel file needs to be created to improve business efficiency, the generation AI can automatically generate Python and VBA code to create the Excel file by simply entering instructions in natural language. This allows the Excel creation system to generate Python and VBA code, create an Excel file, and make it available for download, simply by providing natural language instructions to the user.
[0029] An Excel creation system according to an embodiment includes a receiving unit, a generating unit, a creating unit, an embedding unit, and a providing unit. The receiving unit receives natural language instructions from a user. For example, the user inputs an instruction such as, "I want to aggregate sales data and create a graph." The generating unit uses a generation AI to analyze the natural language instructions received by the receiving unit and generate Python code. The generation AI analyzes the natural language instructions using a model such as GPT-4 (registered trademark) or Gemini and generates the Python code. The generating unit can generate Python code that aggregates sales data and creates a graph, for example. The creating unit creates an Excel file based on the Python code generated by the generating unit. The creating unit creates the Excel file using the openpyxl library. For example, the creating unit can create an Excel file that aggregates sales data and creates a graph. The embedding unit embeds VBA code in the Excel file created by the creating unit. The embedding unit generates the VBA code using the generation AI and embeds it as a macro in the Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed the code in an Excel file. The providing unit makes the Excel file created by the embedding unit available for download by a user. The providing unit, for example, allows the user to download the generated Excel file. As a result, the Excel creation system according to the embodiment can generate Python and VBA code, create an Excel file, and make it available for download, simply by a user issuing a command in natural language.
[0030] The generation unit can analyze natural language instructions using a generation AI and generate Python code. The generation unit can analyze natural language instructions and generate Python code using a generation AI such as GPT-4 or Gemini. For example, when a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation unit can have the generation AI analyze the instruction and generate Python code that aggregates the sales data and creates a graph. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate Python code. For example, the generation AI can analyze natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis to generate Python code. This allows the generation unit to accurately analyze natural language instructions and generate Python code using the generation AI.
[0031] The creation unit can create Excel files using the openpyxl library. For example, the creation unit can create an Excel file that aggregates sales data and creates a graph. The openpyxl library is a library for manipulating Excel files in Python, and provides functions such as manipulating cells, adding sheets, and creating graphs. The creation unit can use the openpyxl library to enter data into cells in an Excel file, add sheets, and create graphs. For example, the creation unit can aggregate sales data, run Python code that creates a graph based on that data, and create an Excel file. This allows the creation unit to efficiently create Excel files by using the openpyxl library.
[0032] The embedding unit can use the generation AI to generate VBA code and embed it as a macro in an Excel file. The embedding unit can use the generation AI to generate VBA code and embed it as a macro in an Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed it in an Excel file. The generation AI uses an algorithm to analyze natural language instructions and generate appropriate VBA code. For example, the generation AI can analyze the natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis to generate VBA code. The embedding unit embeds the generated VBA code as a macro in an Excel file. For example, the embedding unit can generate VBA code that executes a macro in response to a specific event and embed it in an Excel file. This allows the embedding unit to automatically generate and embed detailed Excel settings and macros using the generation AI.
[0033] The providing unit may enable a user to download the generated Excel file. The providing unit allows the user to download the generated Excel file. For example, the providing unit may provide the generated Excel file to the user through a web application or a mobile application. The providing unit may provide the generated Excel file as a download link, allowing the user to download the Excel file by clicking it. For example, the providing unit may store the generated Excel file in cloud storage and provide the download link to the user. In this way, the providing unit allows the user to easily download the generated Excel file.
[0034] The generation unit can generate Python code that aggregates sales data and creates graphs. The generation unit generates Python code that aggregates sales data and creates graphs. For example, when a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation AI can analyze the instruction and generate Python code that aggregates sales data and creates a graph. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate Python code. For example, the generation AI analyzes natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generates Python code that aggregates sales data and creates a graph. This allows the generation unit to automate the aggregation of sales data and the creation of graphs.
[0035] The embedding unit can generate VBA code that assigns a macro to a specific cell. The embedding unit generates VBA code that assigns a macro to a specific cell. For example, when a user inputs an instruction such as "I want to assign a macro to a specific cell," the embedding unit allows the generation AI to analyze the instruction and generate VBA code that assigns the macro to the specific cell. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate VBA code. For example, the generation AI analyzes natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generates VBA code that assigns a macro to a specific cell. This allows the embedding unit to automate Excel operations by assigning macros to specific cells.
[0036] The embedding unit can generate VBA code that executes a macro in response to a specific event. For example, when a user inputs an instruction such as "I want to execute a macro in response to a specific event," the embedding unit can have the generation AI analyze the instruction and generate VBA code that executes the macro in response to the specific event. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate VBA code. For example, the generation AI can analyze natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generate VBA code that executes a macro in response to a specific event. This allows the embedding unit to automate Excel operations by executing a macro in response to a specific event.
[0037] The reception unit can analyze the user's past instruction history and select an appropriate reception method. The reception unit analyzes the user's past instruction history and selects the optimal reception method. For example, the reception unit can preferentially accept instruction methods that the user has frequently used in the past. The reception unit can also suggest the most efficient reception method based on the user's past instruction history. Furthermore, the reception unit can select the optimal reception method for a specific time period based on the user's past instruction history. The analysis of the past instruction history is performed using data such as the type of instruction and the frequency of instructions. As a result, the reception unit can select the optimal reception method by analyzing the past instruction history.
[0038] The reception unit can filter instructions based on the user's current project or field of interest when receiving natural language instructions. The reception unit can filter instructions based on the user's current project or field of interest when receiving natural language instructions. For example, the reception unit can preferentially receive instructions related to a project currently in progress by the user. The reception unit can also filter highly relevant instructions based on the user's field of interest. Furthermore, the reception unit can filter appropriate instructions according to the progress of the user's project. The filtering of projects and fields of interest is performed using data such as the type of project and a method for identifying the field of interest. As a result, the reception unit can preferentially receive highly relevant instructions by filtering instructions based on the user's project or field of interest.
[0039] When receiving instructions in natural language, the reception unit can preferentially receive highly relevant instructions by taking into account the user's geographical location information. When receiving instructions in natural language, the reception unit preferentially receives highly relevant instructions by taking into account the user's geographical location information. For example, when the user is in a specific area, the reception unit can preferentially receive instructions related to that area. Furthermore, the reception unit can suggest optimal instructions based on the user's current location. Furthermore, when the user is traveling, the reception unit can preferentially receive instructions related to the user's destination. The geographical location information is taken into account using data such as GPS data and IP address. As a result, the reception unit can preferentially receive highly relevant instructions by taking into account the user's geographical location information.
[0040] The reception unit can analyze the user's social media activity and receive related instructions when receiving a natural language instruction. The reception unit can analyze the user's social media activity and receive related instructions when receiving a natural language instruction. For example, the reception unit can preferentially receive related instructions based on the user's social media activity. The reception unit can also suggest optimal instructions based on information shared by the user on social media. Furthermore, the reception unit can filter related instructions based on the user's social media interests. The analysis of social media activity is performed using data such as the content of posts and the number of likes. As a result, the reception unit can preferentially receive highly relevant instructions by analyzing the user's social media activity.
[0041] The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. For example, the generation unit can generate detailed code for instructions with high importance. The generation unit can generate concise code for instructions with low importance. Furthermore, the generation unit can add comments to the code depending on the importance of the instruction. The importance of the instruction is evaluated using criteria such as the urgency of the task and the impact of the task. In this way, the generation unit can perform efficient code generation by adjusting the level of detail of the code depending on the importance of the instruction.
[0042] The generation unit can apply different generation algorithms depending on the category of the instruction during generation. The generation unit can apply different generation algorithms depending on the category of the instruction during generation. For example, the generation unit can apply a specific algorithm to instructions related to data analysis. The generation unit can apply a different algorithm to instructions related to graph creation. Furthermore, the generation unit can apply a dedicated algorithm to instructions related to macro creation. The classification of instruction categories is performed using criteria such as data processing, file manipulation, etc. This allows the generation unit to apply the optimal generation algorithm depending on the category of the instruction, thereby enabling efficient code generation.
[0043] The generation unit can determine the priority of codes to be generated based on the timing of instruction submission at the time of generation. The generation unit can determine the priority of codes to be generated based on the timing of instruction submission at the time of generation. For example, the generation unit can prioritize code generation for instructions with an approaching deadline. The generation unit can also postpone code generation for instructions with a more distant submission date. Furthermore, the generation unit can adjust the order of code generation depending on the submission timing. The evaluation of the instruction submission timing is performed using criteria such as the submission date and time, the submission frequency, etc. As a result, the generation unit can perform efficient code generation by determining the priority of codes depending on the timing of instruction submission.
[0044] The generation unit can adjust the order of codes to be generated based on the relevance of instructions during generation. The generation unit can adjust the order of codes to be generated based on the relevance of instructions during generation. For example, the generation unit can prioritize generating code for highly relevant instructions. Furthermore, the generation unit can postpone generating code for less relevant instructions. Furthermore, the generation unit can adjust the order of code generation according to the relevance of instructions. The evaluation of the relevance of instructions is performed using criteria such as task dependency and task similarity. In this way, the generation unit can perform efficient code generation by adjusting the order of code generation according to the relevance of instructions.
[0045] The creation unit can analyze the user's past Excel file creation history to select the optimal creation method when creating a file. The creation unit can analyze the user's past Excel file creation history to select the appropriate creation method when creating a file. For example, the creation unit can refer to the style of Excel files the user has created in the past. The creation unit can also suggest an optimal template based on the user's past creation history. Furthermore, the creation unit can select an efficient creation method based on the user's past creation history. The analysis of the past creation history is performed using data such as the creation date and time and the creation content. As a result, the creation unit can select the optimal Excel file creation method by analyzing the past creation history.
[0046] The creation unit can customize the content of the Excel file based on the user's current project or area of interest at the time of creation. The creation unit customizes the content of the Excel file based on the user's current project or area of interest at the time of creation. For example, the creation unit can prioritize including data related to the user's current project. The creation unit can also customize highly relevant data based on the user's area of interest. Furthermore, the creation unit can adjust the content of the Excel file according to the progress of the user's project. The customization of the project or area of interest is performed using data such as the type of project and a method for identifying the area of interest. In this way, the creation unit can create a more relevant Excel file by customizing the content of the Excel file based on the user's project or area of interest.
[0047] The creation unit can create an appropriate Excel file by taking into account the user's geographical location information. The creation unit can create an optimal Excel file by taking into account the user's geographical location information. For example, if the user is in a specific area, the creation unit can include data related to that area. The creation unit can also suggest an optimal Excel file based on the user's current location. Furthermore, if the user is traveling, the creation unit can include data related to the user's destination. The geographical location information can be taken into account using data such as GPS data and IP address. This allows the creation unit to create an optimal Excel file by taking into account the user's geographical location information.
[0048] The creation unit can customize the content of the Excel file by analyzing the user's social media activity at the time of creation. The creation unit can customize the content of the Excel file by analyzing the user's social media activity at the time of creation. For example, the creation unit can include relevant data based on the user's social media activity. The creation unit can also suggest an optimal Excel file based on information shared by the user on social media. Furthermore, the creation unit can customize the content of the Excel file based on the user's social media interests. The analysis of social media activity is performed using data such as post content and the number of likes. This allows the creation unit to create a highly relevant Excel file by analyzing the user's social media activity.
[0049] The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files when embedding. The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files when embedding. For example, the embedding unit can embed VBA code by taking into account links between Excel files. The embedding unit can also embed optimal VBA code by taking into account the interrelationships between sheets in the Excel files. Furthermore, the embedding unit can embed VBA code by taking into account the interdependencies between cells in the Excel files. The interrelationships between Excel files are taken into account using data such as link settings and data reference relationships. As a result, the embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files.
[0050] The embedding unit can embed VBA code while taking into account the attribute information of the creator of the Excel file. For example, the embedding unit can embed appropriate VBA code depending on the job title of the creator of the Excel file. The embedding unit can also embed optimal VBA code depending on the specialty of the creator of the Excel file. Furthermore, the embedding unit can embed VBA code while taking into account the past creation history of the creator of the Excel file. The creator's attribute information can be taken into account using data such as job title and specialty. As a result, the embedding unit can embed more appropriate VBA code by taking into account the attribute information of the creator of the Excel file.
[0051] The embedding unit can embed the Excel file while taking into account the geographical distribution of the Excel file. For example, if the Excel file is used in different regions, the embedding unit can embed the most appropriate VBA code for each region. The embedding unit can also embed VBA code suitable for a specific region based on the region in which the Excel file is used. Furthermore, the embedding unit can embed the most appropriate VBA code while taking into account the geographical distribution of the Excel file. The geographical distribution can be taken into account using information such as data by region or data by country. This allows the embedding unit to embed more appropriate VBA code by taking into account the geographical distribution of the Excel file.
[0052] The embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file when embedding. The embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file when embedding. For example, the embedding unit can embed optimal VBA code by referring to related literature of the Excel file. The embedding unit can also obtain and embed a sample of the required VBA code from the related literature of the Excel file. Furthermore, the embedding unit can improve the accuracy of embedding based on the related literature of the Excel file. The reference to related literature is performed using information such as academic papers and technical reports. As a result, the embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file.
[0053] The providing unit can select an appropriate delivery method by referring to the user's past download history when providing the data. The providing unit can select the optimal delivery method by referring to the user's past download history when providing the data. For example, the providing unit can refer to the format of Excel files previously downloaded by the user. The providing unit can also suggest the optimal delivery method based on the user's past download history. Furthermore, the providing unit can select an efficient delivery method based on the user's past download history. The past download history is referenced using data such as the download date and time and the type of downloaded file. This allows the providing unit to select the optimal delivery method by referring to the past download history.
[0054] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing the content. The providing unit selects the optimal delivery method by taking into consideration the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into consideration using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into consideration the user's device information.
[0055] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing the content. The providing unit selects the optimal delivery method by taking into consideration the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into consideration using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into consideration the user's device information.
[0056] The providing unit can select an appropriate delivery method by referring to the user's past download history when providing the data. The providing unit can select the optimal delivery method by referring to the user's past download history when providing the data. For example, the providing unit can refer to the format of Excel files previously downloaded by the user. The providing unit can also suggest the optimal delivery method based on the user's past download history. Furthermore, the providing unit can select an efficient delivery method based on the user's past download history. The past download history is referenced using data such as the download date and time and the type of downloaded file. This allows the providing unit to select the optimal delivery method by referring to the past download history.
[0057] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0058] The reception unit can analyze the user's past instruction history and select the optimal reception method. For example, the reception unit can preferentially accept instruction methods that the user has frequently used in the past. The reception unit can also suggest the most efficient reception method based on the user's past instruction history. Furthermore, the reception unit can select the optimal reception method for a specific time period based on the user's past instruction history. Analysis of the past instruction history is performed using data such as the type of instruction and the frequency of instructions. As a result, the reception unit can select the optimal reception method by analyzing the past instruction history.
[0059] The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. For example, the generation unit can generate detailed code for instructions with high importance. The generation unit can also generate concise code for instructions with low importance. Furthermore, the generation unit can add comments to the code depending on the importance of the instruction. The importance of the instruction is evaluated using criteria such as the urgency of the task and the impact of the task. In this way, the generation unit can perform efficient code generation by adjusting the level of detail of the code depending on the importance of the instruction.
[0060] When creating a file, the creation unit can analyze the user's past Excel file creation history and select an appropriate creation method. For example, the creation unit can refer to the style of Excel files the user has created in the past. The creation unit can also suggest an optimal template based on the user's past creation history. Furthermore, the creation unit can select an efficient creation method based on the user's past creation history. The analysis of the past creation history is performed using data such as the creation date and time and the creation content. This allows the creation unit to select the optimal Excel file creation method by analyzing the past creation history.
[0061] The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files. For example, the embedding unit can embed VBA code by taking into account links between Excel files. The embedding unit can also embed optimal VBA code by taking into account the interrelationships between sheets in the Excel files. Furthermore, the embedding unit can embed VBA code by taking into account the interdependencies between cells in the Excel files. The interrelationships between Excel files are taken into account using data such as link settings and data reference relationships. As a result, the embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files.
[0062] The providing unit can select the optimal delivery method by taking into account the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into account using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into account the user's device information.
[0063] The processing flow of the first embodiment will be briefly explained below.
[0064] Step 1: The reception unit receives instructions in natural language from the user. For example, the user inputs an instruction such as "I want to aggregate sales data and create a graph." Step 2: The generation unit uses a generation AI to analyze the natural language instructions received by the reception unit and generate Python code. The generation AI analyzes the natural language instructions using a model such as GPT-4 or Gemini, and generates Python code. The generation unit can generate Python code that aggregates sales data and creates graphs, for example. Step 3: The creation unit creates an Excel file based on the Python code generated by the generation unit. The creation unit creates the Excel file using the openpyxl library. For example, the creation unit can create an Excel file that aggregates sales data and creates a graph. Step 4: The embedding unit embeds VBA code in the Excel file created by the creation unit. The embedding unit generates VBA code using the generation AI and embeds it as a macro in the Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed it in the Excel file. Step 5: The providing unit allows the user to download the Excel file created by the embedding unit. The providing unit, for example, allows the user to download the created Excel file.
[0065] (Example 2) The Excel creation system according to an embodiment of the present invention generates Python and VBA code and runs it in the background, simply by a user expressing their desire to create an Excel spreadsheet in natural language. In this Excel creation system, the user inputs instructions for creating an Excel spreadsheet in natural language. A generation AI analyzes the instructions and generates Python code. The generated Python code creates an Excel file using the openpyxl library. Furthermore, for detailed Excel settings that openpyxl cannot handle, the generation AI generates VBA code and embeds it as a macro in the Excel file. Finally, the created Excel file is made available for download by the user. This system allows users to easily create highly functional Excel files without knowledge of complex Excel settings or macros. For example, if a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation AI analyzes the instruction and generates Python code to aggregate the sales data and create a graph. The generated Python code creates an Excel file using the openpyxl library, aggregates the sales data, and creates a graph. Furthermore, if detailed settings are required, such as assigning a macro to a specific cell or executing a macro in response to a specific event, the generation AI generates VBA code and embeds it as a macro in the Excel file. Finally, the user can download the generated Excel file and use it locally. For example, an Excel file that aggregates sales data and creates a graph can be downloaded and used in business operations. This system allows users to easily create highly functional Excel files without complex Excel settings or macro knowledge. For example, even if a complex Excel file needs to be created to improve business efficiency, the generation AI can automatically generate Python and VBA code to create the Excel file by simply entering instructions in natural language. This allows the Excel creation system to generate Python and VBA code, create an Excel file, and make it available for download, simply by providing natural language instructions to the user.
[0066] An Excel creation system according to an embodiment includes a receiving unit, a generating unit, a creating unit, an embedding unit, and a providing unit. The receiving unit receives natural language instructions from a user. For example, the user inputs an instruction such as, "I want to aggregate sales data and create a graph." The generating unit uses a generation AI to analyze the natural language instructions received by the receiving unit and generate Python code. The generation AI analyzes the natural language instructions using a model such as GPT-4 or Gemini and generates the Python code. The generating unit can generate Python code that aggregates sales data and creates a graph, for example. The creating unit creates an Excel file based on the Python code generated by the generating unit. The creating unit creates the Excel file using the openpyxl library. For example, the creating unit can create an Excel file that aggregates sales data and creates a graph. The embedding unit embeds VBA code in the Excel file created by the creating unit. The embedding unit generates the VBA code using the generation AI and embeds it as a macro in the Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed the code in an Excel file. The providing unit makes the Excel file created by the embedding unit available for download by a user. The providing unit, for example, allows the user to download the generated Excel file. As a result, the Excel creation system according to the embodiment can generate Python and VBA code, create an Excel file, and make it available for download, simply by a user issuing a command in natural language.
[0067] The generation unit can analyze natural language instructions using a generation AI and generate Python code. The generation unit can analyze natural language instructions and generate Python code using a generation AI such as GPT-4 or Gemini. For example, when a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation unit can have the generation AI analyze the instruction and generate Python code that aggregates the sales data and creates a graph. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate Python code. For example, the generation AI can analyze natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis to generate Python code. This allows the generation unit to accurately analyze natural language instructions and generate Python code using the generation AI.
[0068] The creation unit can create Excel files using the openpyxl library. For example, the creation unit can create an Excel file that aggregates sales data and creates a graph. The openpyxl library is a library for manipulating Excel files in Python, and provides functions such as manipulating cells, adding sheets, and creating graphs. The creation unit can use the openpyxl library to enter data into cells in an Excel file, add sheets, and create graphs. For example, the creation unit can aggregate sales data, run Python code that creates a graph based on that data, and create an Excel file. This allows the creation unit to efficiently create Excel files by using the openpyxl library.
[0069] The embedding unit can use the generation AI to generate VBA code and embed it as a macro in an Excel file. The embedding unit can use the generation AI to generate VBA code and embed it as a macro in an Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed it in an Excel file. The generation AI uses an algorithm to analyze natural language instructions and generate appropriate VBA code. For example, the generation AI can analyze the natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis to generate VBA code. The embedding unit embeds the generated VBA code as a macro in an Excel file. For example, the embedding unit can generate VBA code that executes a macro in response to a specific event and embed it in an Excel file. This allows the embedding unit to automatically generate and embed detailed Excel settings and macros using the generation AI.
[0070] The providing unit may enable a user to download the generated Excel file. The providing unit allows the user to download the generated Excel file. For example, the providing unit may provide the generated Excel file to the user through a web application or a mobile application. The providing unit may provide the generated Excel file as a download link, allowing the user to download the Excel file by clicking it. For example, the providing unit may store the generated Excel file in cloud storage and provide the download link to the user. In this way, the providing unit allows the user to easily download the generated Excel file.
[0071] The generation unit can generate Python code that aggregates sales data and creates graphs. The generation unit generates Python code that aggregates sales data and creates graphs. For example, when a user inputs an instruction such as "I want to aggregate sales data and create a graph," the generation AI can analyze the instruction and generate Python code that aggregates sales data and creates a graph. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate Python code. For example, the generation AI analyzes natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generates Python code that aggregates sales data and creates a graph. This allows the generation unit to automate the aggregation of sales data and the creation of graphs.
[0072] The embedding unit can generate VBA code that assigns a macro to a specific cell. The embedding unit generates VBA code that assigns a macro to a specific cell. For example, when a user inputs an instruction such as "I want to assign a macro to a specific cell," the embedding unit allows the generation AI to analyze the instruction and generate VBA code that assigns the macro to the specific cell. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate VBA code. For example, the generation AI analyzes natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generates VBA code that assigns a macro to a specific cell. This allows the embedding unit to automate Excel operations by assigning macros to specific cells.
[0073] The embedding unit can generate VBA code that executes a macro in response to a specific event. For example, when a user inputs an instruction such as "I want to execute a macro in response to a specific event," the embedding unit can have the generation AI analyze the instruction and generate VBA code that executes the macro in response to the specific event. The generation unit uses an algorithm that enables the generation AI to understand natural language instructions and generate appropriate VBA code. For example, the generation AI can analyze natural language instructions using techniques such as morphological analysis, grammatical analysis, and semantic analysis, and generate VBA code that executes a macro in response to a specific event. This allows the embedding unit to automate Excel operations by executing a macro in response to a specific event.
[0074] The reception unit can estimate the user's emotion and adjust the timing of receiving instructions in natural language based on the estimated user's emotion. The reception unit can estimate the user's emotion and adjust the timing of receiving instructions in natural language based on the estimated user's emotion. For example, if the user is feeling stressed, the reception unit can delay the timing of receiving instructions to relax the user. Furthermore, if the user is relaxed, the reception unit can immediately receive instructions. Furthermore, if the user is in a hurry, the reception unit can accelerate the timing of receiving instructions to respond quickly. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the reception unit can adjust the timing of receiving instructions according to the user's emotion, thereby receiving instructions at more appropriate timing.
[0075] The reception unit can analyze the user's past instruction history and select an appropriate reception method. The reception unit analyzes the user's past instruction history and selects the optimal reception method. For example, the reception unit can preferentially accept instruction methods that the user has frequently used in the past. The reception unit can also suggest the most efficient reception method based on the user's past instruction history. Furthermore, the reception unit can select the optimal reception method for a specific time period based on the user's past instruction history. The analysis of the past instruction history is performed using data such as the type of instruction and the frequency of instructions. As a result, the reception unit can select the optimal reception method by analyzing the past instruction history.
[0076] The reception unit can filter instructions based on the user's current project or field of interest when receiving natural language instructions. The reception unit can filter instructions based on the user's current project or field of interest when receiving natural language instructions. For example, the reception unit can preferentially receive instructions related to a project currently in progress by the user. The reception unit can also filter highly relevant instructions based on the user's field of interest. Furthermore, the reception unit can filter appropriate instructions according to the progress of the user's project. The filtering of projects and fields of interest is performed using data such as the type of project and a method for identifying the field of interest. As a result, the reception unit can preferentially receive highly relevant instructions by filtering instructions based on the user's project or field of interest.
[0077] The reception unit can estimate the user's emotion and determine the priority of instructions to be received based on the estimated user's emotion. The reception unit can estimate the user's emotion and determine the priority of instructions to be received based on the estimated user's emotion. For example, when the user is feeling stressed, the reception unit can postpone instructions with low importance. Furthermore, when the user is relaxed, the reception unit can preferentially receive instructions with high importance. Furthermore, when the user is in a hurry, the reception unit can preferentially receive urgent instructions. Emotion estimation is performed using techniques such as facial expression recognition and voice analysis. As a result, the reception unit can process instructions in a more appropriate order by determining the priority of instructions according to the user's emotion.
[0078] When receiving instructions in natural language, the reception unit can preferentially receive highly relevant instructions by taking into account the user's geographical location information. When receiving instructions in natural language, the reception unit preferentially receives highly relevant instructions by taking into account the user's geographical location information. For example, when the user is in a specific area, the reception unit can preferentially receive instructions related to that area. Furthermore, the reception unit can suggest optimal instructions based on the user's current location. Furthermore, when the user is traveling, the reception unit can preferentially receive instructions related to the user's destination. The geographical location information is taken into account using data such as GPS data and IP address. As a result, the reception unit can preferentially receive highly relevant instructions by taking into account the user's geographical location information.
[0079] The reception unit can analyze the user's social media activity and receive related instructions when receiving a natural language instruction. The reception unit can analyze the user's social media activity and receive related instructions when receiving a natural language instruction. For example, the reception unit can preferentially receive related instructions based on the user's social media activity. The reception unit can also suggest optimal instructions based on information shared by the user on social media. Furthermore, the reception unit can filter related instructions based on the user's social media interests. The analysis of social media activity is performed using data such as the content of posts and the number of likes. As a result, the reception unit can preferentially receive highly relevant instructions by analyzing the user's social media activity.
[0080] The generation unit can estimate a user's emotion and adjust the expression method of the generated Python code based on the estimated user's emotion. The generation unit can estimate a user's emotion and adjust the expression method of the generated Python code based on the estimated user's emotion. For example, the generation unit can generate easy-to-read code when the user is relaxed. Furthermore, the generation unit can generate efficient code when the user is in a hurry. Furthermore, the generation unit can generate visually appealing code when the user is excited. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the generation unit can generate more appropriate code by adjusting the expression method of the Python code according to the user's emotion.
[0081] The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. For example, the generation unit can generate detailed code for instructions with high importance. The generation unit can generate concise code for instructions with low importance. Furthermore, the generation unit can add comments to the code depending on the importance of the instruction. The importance of the instruction is evaluated using criteria such as the urgency of the task and the impact of the task. In this way, the generation unit can perform efficient code generation by adjusting the level of detail of the code depending on the importance of the instruction.
[0082] The generation unit can apply different generation algorithms depending on the category of the instruction during generation. The generation unit can apply different generation algorithms depending on the category of the instruction during generation. For example, the generation unit can apply a specific algorithm to instructions related to data analysis. The generation unit can apply a different algorithm to instructions related to graph creation. Furthermore, the generation unit can apply a dedicated algorithm to instructions related to macro creation. The classification of instruction categories is performed using criteria such as data processing, file manipulation, etc. This allows the generation unit to apply the optimal generation algorithm depending on the category of the instruction, thereby enabling efficient code generation.
[0083] The generator can estimate a user's emotion and adjust the length of the generated Python code based on the estimated user emotion. The generator can estimate a user's emotion and adjust the length of the generated Python code based on the estimated user emotion. For example, if the user is in a hurry, the generator can generate short and efficient code. If the user is relaxed, the generator can generate detailed code. If the user is excited, the generator can generate visually appealing code. Emotion estimation is performed using techniques such as facial expression recognition and voice analysis. As a result, the generator can generate more appropriate code by adjusting the length of the Python code according to the user's emotion.
[0084] The generation unit can determine the priority of codes to be generated based on the timing of instruction submission at the time of generation. The generation unit can determine the priority of codes to be generated based on the timing of instruction submission at the time of generation. For example, the generation unit can prioritize code generation for instructions with an approaching deadline. The generation unit can also postpone code generation for instructions with a more distant submission date. Furthermore, the generation unit can adjust the order of code generation depending on the submission timing. The evaluation of the instruction submission timing is performed using criteria such as the submission date and time, the submission frequency, etc. As a result, the generation unit can perform efficient code generation by determining the priority of codes depending on the timing of instruction submission.
[0085] The generation unit can adjust the order of codes to be generated based on the relevance of instructions during generation. The generation unit can adjust the order of codes to be generated based on the relevance of instructions during generation. For example, the generation unit can prioritize generating code for highly relevant instructions. Furthermore, the generation unit can postpone generating code for less relevant instructions. Furthermore, the generation unit can adjust the order of code generation according to the relevance of instructions. The evaluation of the relevance of instructions is performed using criteria such as task dependency and task similarity. In this way, the generation unit can perform efficient code generation by adjusting the order of code generation according to the relevance of instructions.
[0086] The creation unit can estimate the user's emotion and adjust the Excel file creation method based on the estimated user's emotion. The creation unit can estimate the user's emotion and adjust the Excel file creation method based on the estimated user's emotion. For example, the creation unit can create a detailed Excel file when the user is relaxed. Alternatively, the creation unit can create a concise Excel file when the user is in a hurry. Furthermore, the creation unit can create a visually appealing Excel file when the user is excited. Emotion estimation is performed using techniques such as facial expression recognition and voice analysis. As a result, the creation unit can create a more appropriate Excel file by adjusting the Excel file creation method according to the user's emotion.
[0087] The creation unit can analyze the user's past Excel file creation history to select the optimal creation method when creating a file. The creation unit can analyze the user's past Excel file creation history to select the appropriate creation method when creating a file. For example, the creation unit can refer to the style of Excel files the user has created in the past. The creation unit can also suggest an optimal template based on the user's past creation history. Furthermore, the creation unit can select an efficient creation method based on the user's past creation history. The analysis of the past creation history is performed using data such as the creation date and time and the creation content. As a result, the creation unit can select the optimal Excel file creation method by analyzing the past creation history.
[0088] The creation unit can customize the content of the Excel file based on the user's current project or area of interest at the time of creation. The creation unit customizes the content of the Excel file based on the user's current project or area of interest at the time of creation. For example, the creation unit can prioritize including data related to the user's current project. The creation unit can also customize highly relevant data based on the user's area of interest. Furthermore, the creation unit can adjust the content of the Excel file according to the progress of the user's project. The customization of the project or area of interest is performed using data such as the type of project and a method for identifying the area of interest. In this way, the creation unit can create a more relevant Excel file by customizing the content of the Excel file based on the user's project or area of interest.
[0089] The creation unit can estimate the user's emotion and determine the priority of Excel files to be created based on the estimated user's emotion. The creation unit can estimate the user's emotion and determine the priority of Excel files to be created based on the estimated user's emotion. For example, if the user is feeling stressed, the creation unit can postpone creating Excel files of lower importance. Furthermore, if the user is relaxed, the creation unit can prioritize creating Excel files of higher importance. Furthermore, if the user is in a hurry, the creation unit can prioritize creating urgent Excel files. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the creation unit can create Excel files in a more appropriate order by determining the priority of Excel files according to the user's emotion.
[0090] The creation unit can create an appropriate Excel file by taking into account the user's geographical location information. The creation unit can create an optimal Excel file by taking into account the user's geographical location information. For example, if the user is in a specific area, the creation unit can include data related to that area. The creation unit can also suggest an optimal Excel file based on the user's current location. Furthermore, if the user is traveling, the creation unit can include data related to the user's destination. The geographical location information can be taken into account using data such as GPS data and IP address. This allows the creation unit to create an optimal Excel file by taking into account the user's geographical location information.
[0091] The creation unit can customize the content of the Excel file by analyzing the user's social media activity at the time of creation. The creation unit can customize the content of the Excel file by analyzing the user's social media activity at the time of creation. For example, the creation unit can include relevant data based on the user's social media activity. The creation unit can also suggest an optimal Excel file based on information shared by the user on social media. Furthermore, the creation unit can customize the content of the Excel file based on the user's social media interests. The analysis of social media activity is performed using data such as post content and the number of likes. This allows the creation unit to create a highly relevant Excel file by analyzing the user's social media activity.
[0092] The embedding unit can estimate a user's emotion and determine the priority of VBA code to be embedded based on the estimated user's emotion. The embedding unit can estimate a user's emotion and determine the priority of VBA code to be embedded based on the estimated user's emotion. For example, if the user is feeling stressed, the embedding unit can postpone embedding VBA code of lower importance. Furthermore, if the user is relaxed, the embedding unit can prioritize embedding VBA code of higher importance. Furthermore, if the user is in a hurry, the embedding unit can prioritize embedding VBA code of higher importance. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the embedding unit can embed VBA code in a more appropriate order by determining the priority of VBA code according to the user's emotion.
[0093] The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files when embedding. The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files when embedding. For example, the embedding unit can embed VBA code by taking into account links between Excel files. The embedding unit can also embed optimal VBA code by taking into account the interrelationships between sheets in the Excel files. Furthermore, the embedding unit can embed VBA code by taking into account the interdependencies between cells in the Excel files. The interrelationships between Excel files are taken into account using data such as link settings and data reference relationships. As a result, the embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files.
[0094] The embedding unit can embed VBA code while taking into account the attribute information of the creator of the Excel file. For example, the embedding unit can embed appropriate VBA code depending on the job title of the creator of the Excel file. The embedding unit can also embed optimal VBA code depending on the specialty of the creator of the Excel file. Furthermore, the embedding unit can embed VBA code while taking into account the past creation history of the creator of the Excel file. The creator's attribute information can be taken into account using data such as job title and specialty. As a result, the embedding unit can embed more appropriate VBA code by taking into account the attribute information of the creator of the Excel file.
[0095] The embedding unit can estimate a user's emotion and adjust the display method of the embedded VBA code based on the estimated user emotion. The embedding unit can estimate a user's emotion and adjust the display method of the embedded VBA code based on the estimated user emotion. For example, if the user is relaxed, the embedding unit can display VBA code with detailed comments. If the user is in a hurry, the embedding unit can display VBA code with concise comments. Furthermore, if the user is excited, the embedding unit can display VBA code in a visually appealing format. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the embedding unit can adjust the display method of the VBA code according to the user's emotion, thereby enabling more appropriate display.
[0096] The embedding unit can embed the Excel file while taking into account the geographical distribution of the Excel file. For example, if the Excel file is used in different regions, the embedding unit can embed the most appropriate VBA code for each region. The embedding unit can also embed VBA code suitable for a specific region based on the region in which the Excel file is used. Furthermore, the embedding unit can embed the most appropriate VBA code while taking into account the geographical distribution of the Excel file. The geographical distribution can be taken into account using information such as data by region or data by country. This allows the embedding unit to embed more appropriate VBA code by taking into account the geographical distribution of the Excel file.
[0097] The embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file when embedding. The embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file when embedding. For example, the embedding unit can embed optimal VBA code by referring to related literature of the Excel file. The embedding unit can also obtain and embed a sample of the required VBA code from the related literature of the Excel file. Furthermore, the embedding unit can improve the accuracy of embedding based on the related literature of the Excel file. The reference to related literature is performed using information such as academic papers and technical reports. As a result, the embedding unit can improve the accuracy of embedding by referring to related literature of the Excel file.
[0098] The providing unit can estimate the user's emotion and adjust the method of providing the Excel file based on the estimated user's emotion. The providing unit can estimate the user's emotion and adjust the method of providing the Excel file based on the estimated user's emotion. For example, if the user is relaxed, the providing unit can provide the Excel file with a detailed explanation. If the user is in a hurry, the providing unit can provide the Excel file with a concise explanation. Furthermore, if the user is excited, the providing unit can provide the Excel file in a visually appealing format. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. This allows the providing unit to adjust the method of providing the Excel file according to the user's emotion, thereby enabling more appropriate provision.
[0099] The providing unit can select an appropriate delivery method by referring to the user's past download history when providing the data. The providing unit can select the optimal delivery method by referring to the user's past download history when providing the data. For example, the providing unit can refer to the format of Excel files previously downloaded by the user. The providing unit can also suggest the optimal delivery method based on the user's past download history. Furthermore, the providing unit can select an efficient delivery method based on the user's past download history. The past download history is referenced using data such as the download date and time and the type of downloaded file. This allows the providing unit to select the optimal delivery method by referring to the past download history.
[0100] The providing unit can estimate the user's emotion and adjust the procedure for providing the Excel file based on the estimated user's emotion. The providing unit can estimate the user's emotion and adjust the procedure for providing the Excel file based on the estimated user's emotion. For example, the providing unit can provide detailed instructions when the user is relaxed. Furthermore, the providing unit can provide concise instructions when the user is in a hurry. Furthermore, the providing unit can provide visually appealing instructions when the user is excited. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the providing unit can adjust the procedure for providing the Excel file according to the user's emotion, thereby providing a more appropriate procedure.
[0101] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing the content. The providing unit selects the optimal delivery method by taking into consideration the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into consideration using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into consideration the user's device information.
[0102] The providing unit can estimate the user's emotion and adjust the procedure for providing the Excel file based on the estimated user's emotion. The providing unit can estimate the user's emotion and adjust the procedure for providing the Excel file based on the estimated user's emotion. For example, the providing unit can provide detailed instructions when the user is relaxed. Furthermore, the providing unit can provide concise instructions when the user is in a hurry. Furthermore, the providing unit can provide visually appealing instructions when the user is excited. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. As a result, the providing unit can adjust the procedure for providing the Excel file according to the user's emotion, thereby providing a more appropriate procedure.
[0103] The providing unit can select an appropriate delivery method by taking into consideration the user's device information when providing the content. The providing unit selects the optimal delivery method by taking into consideration the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into consideration using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into consideration the user's device information.
[0104] The providing unit can select an appropriate delivery method by referring to the user's past download history when providing the data. The providing unit can select the optimal delivery method by referring to the user's past download history when providing the data. For example, the providing unit can refer to the format of Excel files previously downloaded by the user. The providing unit can also suggest the optimal delivery method based on the user's past download history. Furthermore, the providing unit can select an efficient delivery method based on the user's past download history. The past download history is referenced using data such as the download date and time and the type of downloaded file. This allows the providing unit to select the optimal delivery method by referring to the past download history.
[0105] The providing unit can estimate the user's emotion and adjust the method of providing the Excel file based on the estimated user's emotion. The providing unit can estimate the user's emotion and adjust the method of providing the Excel file based on the estimated user's emotion. For example, if the user is relaxed, the providing unit can provide the Excel file with a detailed explanation. If the user is in a hurry, the providing unit can provide the Excel file with a concise explanation. Furthermore, if the user is excited, the providing unit can provide the Excel file in a visually appealing format. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. This allows the providing unit to adjust the method of providing the Excel file according to the user's emotion, thereby enabling more appropriate provision. === Hard Collateral 1-1 === Each of the above-described elements, including the reception unit, generation unit, creation unit, embedding unit, and provision unit, is implemented, for example, by at least one of the smart device 14 and the data processing device 12. For example, the reception unit is implemented by the control unit 46A of the smart device 14 and receives natural language instructions from a user. The generation unit is implemented, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language instructions using a generation AI to generate Python code. The creation unit is implemented, for example, by the specific processing unit 290 of the data processing device 12 and creates an Excel file based on the generated Python code. The embedding unit is implemented, for example, by the specific processing unit 290 of the data processing device 12 and embeds the generated VBA code into the Excel file. The provision unit is implemented, for example, by the control unit 46A of the smart device 14 and allows the user to download the Excel file. === Hard Collateral 1-2 === Each of the multiple elements, including the above-described reception unit, generation unit, creation unit, embedding unit, and provision unit, is realized, for example, by at least one of the smart glasses 214 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the smart glasses 214 and receives natural language instructions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language instructions using a generation AI and generates Python code. The creation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and creates an Excel file based on the generated Python code. The embedding unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and embeds the generated VBA code into the Excel file. The provision unit is realized, for example, by the control unit 46A of the smart glasses 214 and allows the user to download the Excel file. === Hard Collateral 1-3 === Each of the multiple elements including the above-mentioned reception unit, generation unit, creation unit, embedding unit, and providing unit is realized, for example, by at least one of the headset type terminal 314 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the headset type terminal 314 and receives natural language instructions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language instructions using a generation AI and generates Python code. The creation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and creates an Excel file based on the generated Python code. The embedding unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and embeds the generated VBA code into the Excel file. The providing unit is realized, for example, by the control unit 46A of the headset type terminal 314 and allows the user to download the Excel file. === Hard Collateral 1-4 === Each of the multiple elements, including the above-mentioned reception unit, generation unit, creation unit, embedding unit, and providing unit, is realized, for example, by at least one of the robot 414 and the data processing device 12. For example, the reception unit is realized by the control unit 46A of the robot 414 and receives natural language instructions from a user. The generation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and analyzes the natural language instructions using a generation AI and generates Python code. The creation unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and creates an Excel file based on the generated Python code. The embedding unit is realized, for example, by the specific processing unit 290 of the data processing device 12 and embeds the generated VBA code into the Excel file. The providing unit is realized, for example, by the control unit 46A of the robot 414 and allows the user to download the Excel file.
[0106] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.
[0107] The reception unit can analyze the user's past instruction history and select the optimal reception method. For example, the reception unit can preferentially accept instruction methods that the user has frequently used in the past. The reception unit can also suggest the most efficient reception method based on the user's past instruction history. Furthermore, the reception unit can select the optimal reception method for a specific time period based on the user's past instruction history. Analysis of the past instruction history is performed using data such as the type of instruction and the frequency of instructions. As a result, the reception unit can select the optimal reception method by analyzing the past instruction history.
[0108] The generation unit can adjust the level of detail of the code to be generated based on the importance of the instruction during generation. For example, the generation unit can generate detailed code for instructions with high importance. The generation unit can also generate concise code for instructions with low importance. Furthermore, the generation unit can add comments to the code depending on the importance of the instruction. The importance of the instruction is evaluated using criteria such as the urgency of the task and the impact of the task. In this way, the generation unit can perform efficient code generation by adjusting the level of detail of the code depending on the importance of the instruction.
[0109] When creating a file, the creation unit can analyze the user's past Excel file creation history and select an appropriate creation method. For example, the creation unit can refer to the style of Excel files the user has created in the past. The creation unit can also suggest an optimal template based on the user's past creation history. Furthermore, the creation unit can select an efficient creation method based on the user's past creation history. The analysis of the past creation history is performed using data such as the creation date and time and the creation content. This allows the creation unit to select the optimal Excel file creation method by analyzing the past creation history.
[0110] The embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files. For example, the embedding unit can embed VBA code by taking into account links between Excel files. The embedding unit can also embed optimal VBA code by taking into account the interrelationships between sheets in the Excel files. Furthermore, the embedding unit can embed VBA code by taking into account the interdependencies between cells in the Excel files. The interrelationships between Excel files are taken into account using data such as link settings and data reference relationships. As a result, the embedding unit can improve the accuracy of embedding by taking into account the interrelationships between Excel files.
[0111] The providing unit can select the optimal delivery method by taking into account the user's device information when providing the content. For example, if the user is using a smartphone, the providing unit can provide a delivery method that matches the screen size. Furthermore, if the user is using a tablet, the providing unit can provide a delivery method that is optimized for a large screen. Furthermore, if the user is using a desktop, the providing unit can provide a delivery method that includes detailed information. The device information is taken into account using data such as the device type and OS version. This allows the providing unit to select the optimal delivery method by taking into account the user's device information.
[0112] The reception unit can estimate the user's emotions and adjust the timing of receiving instructions in natural language based on the estimated user emotions. For example, if the user is feeling stressed, the reception unit can delay the timing of receiving instructions to relax the user. Furthermore, if the user is relaxed, the reception unit can immediately receive instructions. Furthermore, if the user is in a hurry, the reception unit can speed up the timing of receiving instructions to respond quickly. Emotions are estimated using techniques such as facial expression recognition and voice analysis. As a result, the reception unit can adjust the timing of receiving instructions according to the user's emotions, thereby receiving instructions at more appropriate timing.
[0113] The generation unit can estimate the user's emotions and adjust the expression method of the generated Python code based on the estimated user's emotions. For example, the generation unit can generate easy-to-read code when the user is relaxed. Furthermore, the generation unit can generate efficient code when the user is in a hurry. Furthermore, the generation unit can generate visually appealing code when the user is excited. Emotion estimation is performed using techniques such as facial expression recognition and voice analysis. As a result, the generation unit can generate more appropriate code by adjusting the expression method of the Python code according to the user's emotions.
[0114] The creation unit can estimate the user's emotion and adjust the Excel file creation method based on the estimated user's emotion. For example, the creation unit can create a detailed Excel file when the user is relaxed. Alternatively, the creation unit can create a concise Excel file when the user is in a hurry. Furthermore, the creation unit can create a visually appealing Excel file when the user is excited. The emotion estimation is performed using techniques such as facial expression recognition and voice analysis. This allows the creation unit to create a more appropriate Excel file by adjusting the Excel file creation method according to the user's emotion.
[0115] The embedding unit can estimate the user's emotions and adjust the display method of the embedded VBA code based on the estimated user's emotions. For example, if the user is relaxed, the embedding unit can display VBA code with detailed comments. If the user is in a hurry, the embedding unit can display VBA code with concise comments. Furthermore, if the user is excited, the embedding unit can display VBA code in a visually appealing format. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. This allows the embedding unit to adjust the display method of the VBA code according to the user's emotions, thereby enabling more appropriate display.
[0116] The providing unit can estimate the user's emotion and adjust the method of providing the Excel file based on the estimated user's emotion. For example, if the user is relaxed, the providing unit can provide the Excel file with a detailed explanation. If the user is in a hurry, the providing unit can provide the Excel file with a concise explanation. Furthermore, if the user is excited, the providing unit can provide the Excel file in a visually appealing format. Emotion estimation is performed using technologies such as facial expression recognition and voice analysis. This allows the providing unit to adjust the method of providing the Excel file according to the user's emotion, thereby enabling more appropriate provision.
[0117] The processing flow of the second embodiment will be briefly explained below.
[0118] Step 1: The reception unit receives instructions in natural language from the user. For example, the user inputs an instruction such as "I want to aggregate sales data and create a graph." Step 2: The generation unit uses a generation AI to analyze the natural language instructions received by the reception unit and generate Python code. The generation AI analyzes the natural language instructions using a model such as GPT-4 or Gemini, and generates Python code. The generation unit can generate Python code that aggregates sales data and creates graphs, for example. Step 3: The creation unit creates an Excel file based on the Python code generated by the generation unit. The creation unit creates the Excel file using the openpyxl library. For example, the creation unit can create an Excel file that aggregates sales data and creates a graph. Step 4: The embedding unit embeds VBA code in the Excel file created by the creation unit. The embedding unit generates VBA code using the generation AI and embeds it as a macro in the Excel file. For example, the embedding unit can generate VBA code that assigns a macro to a specific cell and embed it in the Excel file. Step 5: The providing unit allows the user to download the Excel file created by the embedding unit. The providing unit, for example, allows the user to download the created Excel file.
[0119] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0120] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> Examples of the generative AI include a neural network (NN) and a neural network (NN). The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image (e.g., still image data or video data). The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in one or more data formats of voice data, text data, image data, etc. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and may perform various processes, but is not limited to these examples. The AI may also be an AI agent. When the processing of each of the above-mentioned parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. The processing performed by an AI including the generative AI may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI including the generative AI.
[0121] Furthermore, the processing by the data processing system 10 described above is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0122] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.
[0123] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0124] 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0125] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0126] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0127] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.
[0128] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0129] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0130] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0131] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0132] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.
[0133] In the smart glasses 214, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0134] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.
[0135] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0136] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in one or more data formats, such as audio data, text data, and image data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.
[0137] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart glasses 214 or an external device, etc., and the smart glasses 214 acquires or collects information required for processing from the data processing device 12 or an external device, etc.
[0138] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.
[0139] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0140] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0141] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0142] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0143] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.
[0144] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0145] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0146] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset 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.
[0147] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0148] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.
[0149] In the headset type terminal 314, the identification process is performed by the processor 46. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. Note that the headset type terminal 314 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the identification processing unit 290 using these models.
[0150] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.
[0151] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0152] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in one or more data formats, such as audio data, text data, and image data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.
[0153] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset type terminal 314, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset type terminal 314. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the headset type terminal 314 or an external device, etc., and the headset type terminal 314 acquires or collects information required for processing from the data processing device 12 or an external device, etc.
[0154] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.
[0155] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0156] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0157] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.
[0158] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0159] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.
[0160] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS image sensor or a CCD image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0161] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0162] The control object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0163] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0164] The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0165] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.
[0166] In the robot 414, the processor 46 performs the identification process. The storage 50 stores the identification program 60. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as the control unit 46A in accordance with the identification program 60 executed on the RAM 48. The robot 414 also has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can perform the same process as the identification processing unit 290 using these models.
[0167] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.
[0168] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[0169] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt including an instruction, as well as inference data such as audio data indicating speech, text data indicating text, and image data indicating an image (e.g., still image data or video data). The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in one or more data formats, such as audio data, text data, and image data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation models 58 include AIs other than the generation AI. Examples of AIs other than the generation AI include, but are not limited to, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), and naive Bayes. These AIs can perform various types of processing, but are not limited to these examples. The AI may also be an AI agent. When the processing of each of the above-described parts is performed by an AI, the processing may be performed in part or entirely by the AI, but is not limited to these examples. Processing performed by an AI, including the generation AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by an AI, including the generation AI.
[0170] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the robot 414 or an external device, etc., and the robot 414 acquires or collects information required for processing from the data processing device 12 or an external device, etc.
[0171] The correspondence between each part and the device or control part is not limited to the example described above, and various modifications are possible.
[0172] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0173] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[0174] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[0175] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[0176] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. 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 indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.
[0177] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[0178] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[0179] In the above embodiment, an example was given in which a specific process is performed by one computer 22, but the technology disclosed herein is not limited to this, and distributed processing of the specific process may be performed by multiple computers including computer 22.
[0180] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[0181] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[0182] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[0183] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A processor also includes a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[0184] The hardware resource that executes the specific process may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific process may be a single processor.
[0185] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[0186] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[0187] In the above example, the first to fourth embodiments have been described separately, but some or all of these embodiments may be combined. The smart device 14, smart glasses 214, headset terminal 314, and robot 414 are merely examples, and they may be combined, or other devices may be used. In the above example, the first and second embodiments have been described separately, but they may be combined.
[0188] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, 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.
[0189] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[0190] [Explanation of symbols]
[0191] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot
Claims
1. a reception unit that receives instructions in natural language from a user; a generation unit that analyzes the natural language instruction received by the reception unit and generates Python code; a creation unit that creates an Excel file based on the Python code generated by the creation unit; an embedding unit that embeds VBA code in the Excel file created by the creation unit; a providing unit that enables a user to download the Excel file created by the embedding unit; A system characterized by:
2. The generation unit Uses generative AI to parse natural language instructions and generate Python code 2. The system of claim 1.
3. The creation unit Creating an Excel file using the openpyxl library 2. The system of claim 1.
4. The embedded portion is Generate VBA code using AI and embed it as a macro in an Excel file 2. The system of claim 1.
5. The providing unit Allow users to download the generated Excel file 2. The system of claim 1.
6. The generation unit Generate Python code to aggregate sales data and create a graph 2. The system of claim 1.
7. The embedded portion is Generate VBA code to assign a macro to a specific cell 2. The system of claim 1.
8. The embedded portion is Generate VBA code to run a macro in response to a specific event 2. The system of claim 1.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A