system
A system with an interface for user input, automatic code generation, and optimization addresses the challenge of complex programming tools by allowing users to generate and optimize code efficiently, enhancing their skills and work efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Existing programming tools require specialized knowledge and are difficult for beginners to understand and use, making it challenging for users with no or poor programming skills to generate and optimize program code efficiently.
A system that includes an interface for user input, automatic program code generation, natural language explanation of code contents, and optimization based on user feedback, utilizing predefined templates and AI technology to simplify the coding process.
Enables users without programming skills to easily generate, understand, and optimize program code, improving work efficiency and programming skills through a user-friendly interface and AI-assisted code generation.
Smart Images

Figure 2026037156000001_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] The challenge is to enable users with no or poor programming skills to generate program code and understand its meaning and how to optimize it in order to improve work efficiency. Current programming tools and learning resources require specialized knowledge and are difficult for beginners to understand and use. Therefore, there is a need for a system that reduces the burden on users and supports their understanding and practice of programming. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing an interface means for including information entered by a user and a processing means for automatically generating program code based on the user's responses. It also provides a generation means for explaining the contents of the generated program code in natural language and an output means for presenting this information to the user. In particular, it also provides an optimization means for optimizing the generated code, allowing users to improve their programming skills through repeated use.
[0006] A "user" is a person who inputs information through an interface means and uses the automatically generated program code.
[0007] An "interface means" is a means for providing a screen, form, or other input method for collecting information entered by a user.
[0008] The "processing means" is a means having a function of automatically generating program code based on user input information collected through the interface means.
[0009] "Program code" refers to computer-executable scripts or software code, such as code written in Google® Apps Script (GAS) or Visual Basic for Applications (VBA).
[0010] The "generation means" is a means for explaining in natural language the contents of the program code generated by the processing means.
[0011] "Output means" refers to a means for providing a display, monitor, or other display method for presenting the generated program code and its explanation to a user.
[0012] "Optimization means" refers to means for restructuring or modifying generated program code to improve its execution efficiency and readability. [Brief explanation of the drawings]
[0013] [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. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0014] 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.
[0015] First, the terms used in the following description will be explained.
[0016] 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, a 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), and an APU (Accelerated Processing Unit).
[0017] 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.
[0018] 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.
[0019] 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), Bluetooth (registered trademark), etc.
[0020] 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."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 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.
[0024] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the 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).
[0025] 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.
[0026] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. 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 acquires the data indicating the user input.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The 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.
[0028] 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.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 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.
[0031] 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.
[0032] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0034] The present invention is a system that allows even users with no programming skills or who are not good at programming to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. The following describes specific embodiments of the present invention.
[0035] Interface Means
[0036] A user uses an input interface, such as Google Forms, provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, the conditions, and specific parameters (such as color and value). For example, the user might enter "A1:C10," "change cell color according to the condition," "number is greater than or equal to 50," and "red."
[0037] Processing means
[0038] The server receives the user's input information sent from the interface means. Based on this information, it starts the process of generating program code. The server generates the program code in a scripting language such as GAS or VBA using predefined templates and artificial intelligence (AI) technology (e.g., natural language processing technology).
[0039] generation means
[0040] The server, which acts as a generator, generates text in natural language that explains the specific processing content of each part of the generated program code, such as "If the value of a specified range of cells in a spreadsheet is 50 or greater, change the background color of that cell to red."
[0041] Output Method
[0042] The generated program code and its explanation are displayed on the user's terminal. The user can check the generated results through a web browser. This result includes detailed code and its explanation, allowing the user to understand how the program works.
[0043] Optimization measures
[0044] The server then optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will restructure the program code by optimizing loop structures, batch processing, and other techniques to improve performance. The regenerated code and its explanation are also displayed on the terminal.
[0045] Specific examples
[0046] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS and its explanation. For example, the code generated by this process performs an operation to change the background color of cells in the specified range that meet the condition. The generated code may also be optimized for efficient execution.
[0047] In this way, by using the system of the present invention, even users with limited programming knowledge can easily generate program code, understand its contents, and optimize it, which is expected to improve work efficiency and programming skills.
[0048] The processing flow will be explained below.
[0049] Step 1:
[0050] The user accesses Google Forms from a web browser on their device and fills in the questions provided in the form. For example, they enter the range of the spreadsheet, the process to be performed, the conditions, the color to be changed, etc.
[0051] Step 2:
[0052] The device sends the information entered by the user to the Google Forms server, which receives the submitted data and stores it in an internal database for further processing.
[0053] Step 3:
[0054] The server retrieves data stored on the Google Forms server, including the spreadsheet range, processing details, and other parameters entered by the user.
[0055] Step 4:
[0056] The server analyzes the acquired data and automatically generates program code according to the user's request. The server uses predefined templates and artificial intelligence technology to generate code that performs specific operations (such as changing the color of a cell) when certain conditions are met for a cell in a spreadsheet range.
[0057] Step 5:
[0058] The server generates a natural language description of the program code it generates, detailing what each piece of code does and how it works.
[0059] Step 6:
[0060] The server sends the generated program code and its description to the terminal, which receives it and displays it to the user.
[0061] Step 7:
[0062] The user checks the program code and its explanation displayed on the terminal. At this stage, the user understands the meaning of the code and how it works.
[0063] Step 8:
[0064] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0065] Step 9:
[0066] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0067] Step 10:
[0068] The server then sends the optimized program code and its description back to the terminal, which receives it and displays it to the user.
[0069] In this way, the system of the present invention is designed to break down the process into small steps, allowing users to easily generate, understand, and optimize code even without programming knowledge.
[0070] Example 1
[0071] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0072] Many users today lack programming skills, making it difficult for them to perform complex programming tasks. However, there are many situations in business and daily life where automated processes are required. Conventional systems require users to write the program code themselves, which poses a major obstacle. Furthermore, optimizing and streamlining the generated program code relies on the user's own skills, often resulting in inefficient code. Therefore, there is a need for a system that allows even non-programmers to easily generate program code, and then further understand and optimize that code.
[0073] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0074] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generation means for explaining the contents of the program code in natural language, and an optimization means for optimizing the program code in response to additional questions or instructions from the user. This allows a user without programming skills to automatically generate advanced program code, understand its contents, and further optimize it efficiently.
[0075] "Interface means" refers to the component of the system that allows the user to input information, and specifically refers to a form via a web browser.
[0076] A "processing means" is a component of the system that automatically generates program code based on information entered by a user.
[0077] The "generation means" is a component of the system that creates text that explains the contents of the generated program code in natural language.
[0078] The "output means" is a component of the system that presents the generated program code and its explanation to the user.
[0079] The "optimization means" is a component of the system that improves the efficiency and optimizes the generated program code based on additional questions and instructions from the user.
[0080] A "scripting language" is a language used as a format for program code generated based on user input, and includes, for example, JavaScript (registered trademark) and VBScript.
[0081] The present invention provides a system that allows even users with limited programming skills to automatically generate, understand, and optimize program code by inputting necessary information through a simple interface. This system is composed of a combination of interface means, processing means, generation means, output means, and optimization means.
[0082] Users enter information using a form (such as a Google Form) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation they want to perform, the conditions, and specific parameters. For example, a user might enter "A1:C10," "change cell color according to a condition," "number greater than or equal to 50," and "color red."
[0083] The server receives the user's input information sent through the form and generates program code based on this information, utilizing predefined templates, generative AI models, and natural language processing technology. The generated program code is written in a commonly used scripting language (such as GAS or VBA).
[0084] The server then provides a natural language explanation of the generated program code. This explanation clearly explains what the generated code does, allowing the user to intuitively understand its contents. The specific explanation is, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0085] The generated program code and its explanation are sent from the server to the user's device and displayed in a web browser. By checking the code and explanation, the user can understand how the program works.
[0086] The server also optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will optimize the loop structure, introduce batch processing, etc. The optimized program code and its explanation are also displayed on the user's terminal.
[0087] As a concrete example, consider a case where a user enters the following information into a form:
[0088] Spreadsheet range: A1:C10
[0089] What I want to do: Change the color of cells according to a condition
[0090] Condition: Value is 50 or more
[0091] Color:Red
[0092] The program code generated by the server based on this information changes the background color of cells in the specified range of spreadsheets to red if the numeric value is 50 or greater.
[0093] An example prompt for generating program code using a generative AI model is:
[0094] "Generate a program code to change the background color of cells in the range A1:C10 of a spreadsheet to red if the value is greater than or equal to 50."
[0095] This allows users without programming skills to automatically generate advanced program code, understand its contents, and optimize it efficiently.
[0096] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0097] Step 1:
[0098] Enter user information
[0099] The user accesses the provided form using a Web browser and enters the spreadsheet range to be processed, the processing content to be performed, the conditions, and specific parameters.
[0100] input
[0101] Spreadsheet Range: A1:C10
[0102] What I want to do: Change the color of cells according to a condition
[0103] Condition: Value is 50 or more
[0104] Specific parameters: Red
[0105] output
[0106] The information entered by the user into the form is sent to the server.
[0107] Step 2:
[0108] Receiving and analyzing user information
[0109] The server receives the user input sent through the Google form and converts it into an internal data structure.
[0110] input
[0111] The spreadsheet range, operation, conditions, and specific parameters entered by the user.
[0112] output
[0113] User-entered information after conversion into internal data structures.
[0114] Step 3:
[0115] Generate program code
[0116] The server generates program code based on the received user input, using predefined templates, generative AI models, and natural language processing techniques.
[0117] input
[0118] The converted user input information.
[0119] Data processing and calculation
[0120] It uses natural language processing technology and templates to generate program code based on specified conditions and scope.
[0121] output
[0122] Generated program code.
[0123] Step 4:
[0124] Natural language description generation
[0125] The server analyzes the contents of the generated program code and generates text that explains the processing contents in natural language.
[0126] input
[0127] Generated program code.
[0128] Data processing and calculation
[0129] Analyzes code and generates intuitive explanations in natural language.
[0130] output
[0131] The generated description.
[0132] Step 5:
[0133] Output of generated results
[0134] The server sends the generated program code and its description to the user's terminal and displays it through a web browser.
[0135] input
[0136] Generated program code and explanation.
[0137] output
[0138] The program code and description that will be displayed on the user's device.
[0139] Step 6:
[0140] Directing optimization and regeneration
[0141] The user requests the server to optimize the generated program code, for example by asking, "How can I make this code more efficient?" The server then optimizes the generated code based on the received instructions.
[0142] input
[0143] User-instructed optimization.
[0144] Data processing and calculation
[0145] The program code will be restructured by improving the efficiency of loop structures and introducing batch processing.
[0146] output
[0147] Optimized program code and its description.
[0148] Step 7:
[0149] Output of optimization results
[0150] The server then sends the optimized program code and its explanation back to the user's device and displays it through a web browser.
[0151] input
[0152] Optimized program code and descriptions.
[0153] output
[0154] Optimized program code and explanatory text displayed on the user's device.
[0155] (Application example 1)
[0156] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0157] There is a need to provide an environment in which even users without programming skills can easily configure the operation of machines and robots used in factories and operate them efficiently. In addition, a system is required that allows users to understand the contents of the generated program code and optimize it as necessary. This will help improve the operational efficiency of factories.
[0158] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0159] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generating means for explaining the contents of the program code in natural language, an output means for presenting the program code and explanation to the user, a means for optimizing the program code, and a system used as an application installed on a machine that performs operation settings based on the user input, thereby enabling even users with little programming knowledge to easily set up, operate, and optimize the system.
[0160] The "interface means" is a means for a user to input information, and plays a role in exchanging data between the user and the system.
[0161] A "processing means" is a means that includes a function for automatically generating program code based on user input.
[0162] The "generation means" is a means that plays a role in generating text that explains the contents of the generated program code in natural language.
[0163] The "output means" is a means for presenting the generated program code and its explanation to the user.
[0164] "Optimization means" refers to means for improving the generated program code so that it can be executed efficiently.
[0165] The "application installed on the machine for which operation settings are to be performed" is an application for setting the operation of a machine or robot using program code generated based on user input.
[0166] In a system based on this invention, a user can use a smartphone application to configure the operation settings of a robot used in a factory. The interface means of this system includes fields for the user to input information, such as the "operation range," "operation to be performed," "conditions," and "specific parameters."
[0167] The information entered by the user is sent to a server and analyzed by the processing means. The processing means utilizes artificial intelligence technology (specifically, the API of OpenAI (registered trademark), which is a generative AI model) to automatically generate program code. This program code enables the robot to execute the specified actions.
[0168] The generated program code is explained in natural language by the generating means and presented to the user. At this time, the explanation includes specific processing content, making it easier for the user to understand the operation of the code.
[0169] Furthermore, as an optimization measure, the generated program code is optimized based on additional questions or instructions from the user. For example, if the user instructs the server to "make it run more efficiently," the server will regenerate the program code by optimizing loop structures or batch processing.
[0170] For example, when a user inputs information such as "Range A1:C10" and "Change the color of cells with numbers greater than 50 to red," the server receives this information and generates code written in Google Apps Script (GAS). The following is an example of a prompt statement:
[0171] "Please generate a Google Apps Script (GAS) program code that will change the background color of cells in the spreadsheet range A1:C10 to red if the value is greater than or equal to 50."
[0172] This generated code performs the operation on the specified range of cells, changing the background color of cells that meet the condition, and may be optimized for efficient execution.
[0173] This system allows even users with little programming knowledge to easily configure the operation of robots used in factories, enabling efficient operation.
[0174] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0175] Step 1:
[0176] The user inputs the operation range, the operation to be performed, the conditions, and specific parameters via the interface of the smartphone application. For example, this input information might be "Range A1:C10" or "Change the color of cells with values greater than 50 to red." Once the input information is complete, the device sends it to the server.
[0177] Step 2:
[0178] The server uses a processing means to analyze the received user input information. Specifically, it extracts the values of each field and converts them into a data structure for use within the system. For example, the range information "A1:C10" is converted into a cell range object, and the condition "greater than or equal to 50" is converted into a conditional formula object.
[0179] Step 3:
[0180] The processing means uses the extracted information to generate program code in natural language using a generative AI model (OpenAI's API). At this time, a prompt statement is set and passed to the AI model to generate specific code. An example of a prompt statement is, "For the range A1:C10 in the spreadsheet, if the value is 50 or greater, please generate program code in Google Apps Script (GAS) that changes the background color of that cell to red."
[0181] Step 4:
[0182] The program code generated by the generative AI model is converted into a user-friendly natural language explanation by a generation means on the server. For example, an explanation could be generated such as, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0183] Step 5:
[0184] The generated program code and its natural language explanation are sent from the server to the terminal and presented to the user via the output means. The user can check the generated code and explanation and provide corrections or additional instructions as necessary.
[0185] Step 6:
[0186] If the user provides additional instructions, the server receives them and reconstructs the generated program code using optimization techniques. For example, it can improve the efficiency of the code by revising loop processing or incorporating batch processing. The optimized program code and its explanation are then regenerated and output to the terminal.
[0187] Step 7:
[0188] Finally, the program code confirmed by the user is installed and executed in the machine to be configured (e.g., a factory robot). The user can then monitor the robot's operation status through a smartphone application and configure new operation settings as necessary.
[0189] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0190] The present invention is a system that allows even users with no or poor programming skills to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the user experience is further improved. An embodiment of the present invention is described in detail below.
[0191] Interface Means
[0192] The user uses an input interface (e.g., Google Forms) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, conditions, and specific parameters (e.g., color and value). In addition, an emotion engine recognizes the user's emotions in real time and dynamically adjusts the interface display content according to the user's emotions. For example, if the user is feeling stressed, the interface is configured to display simpler guides or additional explanations.
[0193] Processing means
[0194] The server receives the user's input information sent from the interface means and the emotion information from the emotion engine. Based on this information, it starts a process of generating program code. The server uses predefined templates and artificial intelligence technology (e.g., natural language processing technology) to generate program code that meets the user's requirements. For example, code is generated that performs a specific process (e.g., changes the color of a cell) when a condition is met for a cell in a range of a spreadsheet.
[0195] generation means
[0196] The server, acting as the generation means, generates text in natural language that explains the specific processing details of each part of the generated program code. For example, the explanation may include, "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red." Furthermore, based on the user's emotional information recognized by the emotion engine, the explanation content is adjusted according to the user's level of understanding and emotional state.
[0197] Output Method
[0198] The generated program code and its explanation are displayed on the user's device. The user can check the generated results through a web browser. The results include detailed code and explanations, allowing the user to understand how the program works. Furthermore, the display content and explanations are dynamically adjusted according to the user's emotions, improving the user experience.
[0199] Optimization measures
[0200] Furthermore, the server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will reconstruct the program code using techniques such as optimizing loop structures and batch processing to improve performance. The regenerated code and its explanation are also displayed on the terminal. In addition, the emotion engine recognizes the user's emotions in real time during operation and dynamically adjusts the operation and output content of the optimization means according to the emotions.
[0201] Specific examples
[0202] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS along with an explanation. For example, the code generated by this process executes an operation to change the background color of cells in the specified range that meet the condition. Additionally, if the user feels stressed, the interface and generation means provide more detailed guidance and additional explanations.
[0203] In this way, the system of the present invention breaks down processing into steps and is designed to allow users without programming knowledge to easily generate, understand, and optimize code. Furthermore, by combining emotion engines, it is possible to flexibly respond to the user's emotional state, further improving the user experience.
[0204] The processing flow will be explained below.
[0205] Step 1:
[0206] Users access Google Forms from a web browser on their device and enter information in response to questions in the form, such as the range of the spreadsheet, the process to be performed, the conditions, and the color to be changed.
[0207] Step 2:
[0208] The device sends the user's input information to the Google Forms server, which receives the data and stores it in an internal database for further processing.
[0209] Step 3:
[0210] The emotion engine recognizes the user's emotions in real time. It analyzes emotions based on input information such as the user's facial expressions and tone of voice, and sends the resulting emotional data to the server.
[0211] Step 4:
[0212] The server retrieves user input data stored on the Google Forms server and emotion data from the emotion engine, and analyzes the user's request and emotional state based on the retrieved data.
[0213] Step 5:
[0214] The server automatically generates appropriate program code based on the user's request data. It uses predefined templates and artificial intelligence technology (such as natural language processing) to generate program code that meets certain conditions. For example, it generates code to change the color of cells in a spreadsheet range when certain conditions are met.
[0215] Step 6:
[0216] The server generates text in natural language to explain the content of the generated code based on the user's emotional state, such as "For the specified range of cells in a spreadsheet, if the value is greater than or equal to 50, change the background color of the cell to red."
[0217] Step 7:
[0218] The server sends the generated program code and its description to the terminal, which displays them to the user.
[0219] Step 8:
[0220] The user checks the program code and its explanation displayed on the device. At this stage, the user can understand the meaning of the code and its operation. Furthermore, the content displayed on the interface is dynamically adjusted according to the emotions recognized by the emotion engine, allowing the user to continue operating with reduced stress and anxiety.
[0221] Step 9:
[0222] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0223] Step 10:
[0224] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0225] Step 11:
[0226] The server then sends the optimized program code and its explanation back to the terminal, which receives it and displays it to the user, who can review the displayed content, make any necessary changes or optimizations, and deepen their understanding of the program code.
[0227] In this way, the system of the present invention can generate, explain, and optimize program code by combining user input information and emotion data, allowing users without programming knowledge to easily generate, understand, and optimize code, further improving the user experience.
[0228] Example 2
[0229] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0230] Conventional automatic program code generation systems have the problem that they are difficult to operate if the user does not have programming skills, and the generated code is difficult to understand and optimize. In addition, they do not take into account the user's emotional state, making it impossible to reduce the stress and difficulties that arise during operation.
[0231] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0232] In this invention, the server includes an interface means for including information input by a user, an emotion analysis means for recognizing and analyzing emotions, a processing means for automatically generating program code based on the user input and emotion analysis, a generation means for explaining the content of the program code in natural language, and an output means for adjusting and presenting the program code and explanation according to the user's emotions. This allows users without programming skills to easily generate program code, making its content easy to understand, and enabling adaptation according to the user's emotional state through emotion analysis.
[0233] The "interface means" refers to a means for collecting information input by a user, and includes, for example, an input form provided via a web browser.
[0234] "Emotion analysis means" refers to means for recognizing and analyzing a user's emotions, and includes technology for analyzing the user's biometric data, such as voice tone and facial expressions, in real time.
[0235] "Processing means" refers to means for automatically generating program code based on user input and sentiment analysis, including natural language processing techniques and processing using predefined templates.
[0236] The "generation means" is a means for explaining the contents of the generated program code in natural language, and includes a function for explaining the generated code in a format that is easy for humans to understand.
[0237] The "output means" is a means for displaying the program code and explanation to the user, and includes a function for dynamically adjusting the display content according to the emotional state of the user.
[0238] The "optimization means" is a means for optimizing the generated program code to improve its performance, and includes a function for reconstructing the code based on additional questions or requests from the user.
[0239] A "scripting language" is a type of program code that is generated based on user input and includes a programming language that can be easily and quickly executed.
[0240] This system allows even users with no or poor programming skills to easily generate, understand, and optimize program code. Furthermore, by combining it with an emotion analysis engine that recognizes user emotions and dynamically adjusts the interface, the user experience can be improved.
[0241] Interface Means
[0242] The user interacts with an input form provided via a web browser. This interface, such as a Google Form, includes fields for the user to enter the spreadsheet range they want to process, the operation they want to perform, the conditions, and specific parameters (e.g., color and value). Examples of inputs include "Spreadsheet range A1:C10" and "Color red if the value is greater than or equal to 50."
[0243] Emotion analysis means
[0244] The device is equipped with an emotion engine that analyzes biometric data such as voice tone and facial expressions in real time. This emotion analysis means recognizes emotions, such as when the user is feeling stressed, and transmits the emotions to the server. Based on the results of the emotion analysis, the interface display content is dynamically adjusted. For example, if the user is feeling stressed, the interface will provide simpler guidance or additional explanations.
[0245] Processing means
[0246] The server receives user input information sent from the interface means and emotion information from the emotion analysis means. Based on this information, it generates program code using a predefined template or a generative AI model (e.g., GPT-3 (registered trademark)). The generated code executes a process such as "if the numeric value of a cell in the spreadsheet range A1:C10 is 50 or greater, change the background color of that cell to red."
[0247] generation means
[0248] The server, which acts as a generator, generates a natural language explanation for each part of the generated program code, such as "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red."
[0249] Output Method
[0250] The generated program code and its explanation are displayed on the user's device. Users can check the results through a web browser. Furthermore, the display content and explanation are adjusted based on sentiment analysis, making it easier for users to understand the generated program code.
[0251] Optimization measures
[0252] The server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will use optimization techniques to improve loop structures or batch processing to improve performance. The optimized code and its explanation are also displayed on the user's device. The results of sentiment analysis are reflected in the explanation provided, based on the user's level of understanding and emotional state.
[0253] Specific examples
[0254] An example of a prompt is, "Generate Google Apps Script code to change the background color of cells in the spreadsheet range A1:C10 where the value is greater than or equal to 50 to red." In this way, the system of the present invention allows users to easily generate, understand, and optimize code without any programming knowledge. Furthermore, the sentiment analysis engine enables dynamic responses based on the user's emotional state, improving the user experience.
[0255] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0256] Step 1:
[0257] The user accesses the input interface. The user accesses the input form provided via a web browser, where they enter the spreadsheet range, the operation they want to perform, the conditions, and specific parameters. The input data (e.g., "Spreadsheet range A1:C10," "Change color to red if the number is greater than or equal to 50") is provided by the user and submitted to the web form.
[0258] Step 2:
[0259] The emotion analysis means analyzes the user's emotions. The device collects real-time biometric data such as voice tone and facial expressions, and performs emotion analysis. Analysis data (e.g., whether the user is feeling stressed) is generated and the results are sent to the server.
[0260] Step 3:
[0261] The server receives user input information and emotion information. The server simultaneously receives input data and emotion analysis data sent from a web form. The received data is used as the basis for generating program code.
[0262] Step 4:
[0263] The processing means generates program code. Based on the received user input and emotion data, the server uses a predefined template or a generative AI model (e.g., GPT-3) to generate program code with the specified processing content. For example, if the numerical value of a cell in the spreadsheet range A1:C10 is 50 or greater, program code is generated to change the background color of that cell to red. The generated program code is stored internally.
[0264] Step 5:
[0265] The generator creates a description of the program code. The server then creates a natural language description for each part of the generated program code. For example, a description such as "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red." The description and program code pair are stored internally.
[0266] Step 6:
[0267] The output means displays the results to the user. The server sends the generated program code and explanatory text to the user's device, where the user can view the code and explanations through a web browser. The interface display content is also dynamically adjusted based on the results of sentiment analysis. For example, if the user is feeling stressed, detailed guidance or additional explanations are displayed.
[0268] Step 7:
[0269] The user reviews the generated code and its explanation, re-entering conditions or asking questions as needed. For example, the user re-enters the form, asking, "How can I make this code more efficient?"
[0270] Step 8:
[0271] The optimization means optimizes the generated code. The server performs optimization of the generated program code based on questions and re-specification from the user. Optimizations include, for example, improving loop structures and improving performance through batch processing. The optimized code and its explanation are regenerated, stored internally, and resent to the user's terminal.
[0272] Step 9:
[0273] Interface adaptation through continuous emotion analysis. The emotion analyzer continuously monitors the user's emotional state and adjusts the interface in real time. For example, if the user starts to feel stressed again, it can show a detailed tutorial or a helpful video. This data is sent to a server and used to adjust the interface.
[0274] (Application example 2)
[0275] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0276] With conventional program code generation systems, users lacking programming skills or sufficient knowledge have difficulty generating the necessary program code and understanding its contents. Furthermore, they lack the ability to dynamically adjust responses and interfaces based on the user's emotional state, making it difficult to improve the user experience. Similar challenges exist in generating and optimizing program code that defines the behavior of factory robots. Therefore, there is a need for a system that can perform program code generation, optimization, user emotion recognition, and factory robot operation in an integrated manner.
[0277] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an interface means that includes information input by a user, a processing means that automatically generates program code based on the user input, a generation means that explains the contents of the program code in natural language, an output means that presents the program code and explanation to the user, an emotion recognition means that recognizes the user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface, and a means that automatically generates operation code for a robot and explains the operation content in natural language. This allows users without programming knowledge to easily generate and understand the necessary program code, enables flexible responses according to emotional states, and enables efficient programming of factory robot operations.
[0278] The "interface means containing information input by the user" is a user interface for the user to input the spreadsheet range to be processed, the processing content to be executed, conditions, and specific parameters.
[0279] The "processing means for automatically generating program code based on the user input" refers to a means for automatically generating program code based on information input by the user through the interface means.
[0280] The "means for generating a natural language explanation of the contents of the program code" refers to a means for generating text that explains in natural language the specific processing contents of each part of the generated program code.
[0281] The "output means for presenting the program code and explanation to the user" refers to a means for displaying the generated program code and its explanation in natural language on the user's terminal.
[0282] "Emotion recognition means that recognizes a user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface" refers to a means that recognizes a user's emotions in real time and dynamically adjusts the display content of the interface and the response of the application according to those emotions.
[0283] "Means for automatically generating operation code for a robot and explaining the operation content in natural language" means means for automatically generating program code that defines the operation of a factory robot and explaining the operation content of that code in natural language.
[0284] The "optimization means for optimizing the program code" refers to a means for optimizing the generated program code so that it can be executed efficiently.
[0285]
[0286] This invention provides a system that allows users without programming skills to easily generate, optimize, and understand program code. Furthermore, by incorporating an emotion recognition engine that recognizes user emotions in real time and dynamically adjusts the interface display content, the user experience is improved. The system also has the ability to automatically generate operating code for factory robots and explain the operating details in natural language.
[0287] System Overview
[0288] The system consists of the following main components:
[0289] 1. Interface means: A user interface for inputting information that the user wants to process. Specifically, it is an input interface provided via a web browser, where the user can input the spreadsheet range they want to process, the processing content they want to execute, conditions, and specific parameters.
[0290] 2. Processing means: A means for automatically generating program code based on user input. It uses natural language processing technology to generate program code that meets the user's requirements.
[0291] 3. Generation method: A method for explaining the contents of the generated program code in natural language. It generates text that specifically explains the processing of each part, making it easy for users to understand.
[0292] 4. Output means: A means for displaying the program code and its explanation on the user's terminal, allowing the user to check the generated results and understand the program's operation.
[0293] 5. Emotion recognition: Recognizing user emotions in real time and dynamically adjusting interface display content and application responses. Specifically, this uses facial recognition and tone of voice analysis technologies.
[0294] 6. Robot motion generation: A means to automatically generate motion code for factory robots and explain the details of their motion in natural language. For example, it defines the motion of a robot moving parts and assembling under specific conditions.
[0295] Specific examples
[0296] Hardware and software used
[0297] Hardware: User devices (PCs, tablets, smartphones)
[0298] Software: Web browser, server (Python, Node.js), emotion recognition API (Microsoft® Azure®, AWS® Rekognition)
[0299] Operation example
[0300] As an example of a system in which a user operates a factory robot, the following specific input example will be described.
[0301] Example prompt sentence:
[0302] "Move part A to location B and install it using the robotic arm."
[0303] Example of an input interface:
[0304] Part: Part A
[0305] Location: Location B
[0306] Work: Installation
[0307] Program processing
[0308] The server automatically generates program code based on user input. For example, it generates code to move and install part A to location B, and provides a natural language explanation of the code. The emotion recognition engine uses facial recognition and voice analysis to recognize the user's emotions while they are operating the device, dynamically adjusting the interface display according to their stress level, etc.
[0309] This allows users to easily define and understand the robot's behavior without complex programming knowledge, enabling interactions that reduce emotional stress.
[0310] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0311] Step 1:
[0312] The user accesses the input interface provided via a web browser and enters the required information. This interface displays fields for the user to enter the spreadsheet range they want to process, the processing they want to perform, conditions, and specific parameters. The information entered by the user is sent to the server. The input data includes information about part A, location B, and the work content.
[0313] Step 2:
[0314] The server receives the information entered by the user and analyzes the data. It then uses natural language processing technology to automatically generate program code that meets the user's requirements. Specifically, it generates code to move the user-specified part A to location B and perform the task there. Code is generated in a scripting language based on the input information. The output is the generated program code.
[0315] Step 3:
[0316] The server, acting as a generation means, generates text in natural language that explains the specific processing content of each part of the generated program code. This text includes explanations that make it easier for users to understand the content of the program. For example, an explanation such as "Move part A to location B and perform installation there" is generated. The output is the generated explanation.
[0317] Step 4:
[0318] The server sends the generated program code and its explanation to the user's device. The generated results are displayed on the user's device via a web browser. The user checks the program code and its explanation and understands its contents. This allows the user to understand the work content based on the generated code. The displayed content is the program code and its explanation.
[0319] Step 5:
[0320] The emotion recognition engine analyzes the user's facial recognition and voice tone to recognize the user's emotions in real time. The server receives this emotion data and dynamically adjusts the interface display content and application response. For example, if the user is feeling stressed, the interface is configured to display simpler guidance or additional explanations. The input is the user's emotion data, and the output is the adjusted interface display.
[0321] Step 6:
[0322] The server, which acts as a robot operation generation means, automatically generates operation code for factory robots. This operation code includes a series of instructions for the robot to move part A to location B and perform installation work there, based on information entered by the user. The generated code is sent to the robot, which then executes the specified operation. The input is the user's instruction data, and the output is the code for the robot's operation.
[0323] This allows users to easily generate and understand the necessary program code even without programming knowledge, enabling flexible responses to emotional states, and enabling efficient programming of factory robot operations.
[0324] 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.
[0325] 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> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0326] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0327] [Second embodiment]
[0328] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0329] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0330] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the 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).
[0331] 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.
[0332] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0333] 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 surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0334] 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.
[0335] 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.
[0336] 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 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.
[0337] 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.
[0338] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0339] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0340] The present invention is a system that allows even users with no programming skills or who are not good at programming to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. The following describes specific embodiments of the present invention.
[0341] Interface Means
[0342] A user uses an input interface, such as Google Forms, provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, the conditions, and specific parameters (such as color and value). For example, the user might enter "A1:C10," "change cell color according to the condition," "number is greater than or equal to 50," and "red."
[0343] Processing means
[0344] The server receives the user's input information sent from the interface means. Based on this information, it starts the process of generating program code. The server generates the program code in a scripting language such as GAS or VBA using predefined templates and artificial intelligence (AI) technology (e.g., natural language processing technology).
[0345] generation means
[0346] The server, which acts as a generator, generates text in natural language that explains the specific processing content of each part of the generated program code, such as "If the value of a specified range of cells in a spreadsheet is 50 or greater, change the background color of that cell to red."
[0347] Output Method
[0348] The generated program code and its explanation are displayed on the user's terminal. The user can check the generated results through a web browser. This result includes detailed code and its explanation, allowing the user to understand how the program works.
[0349] Optimization measures
[0350] The server then optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will restructure the program code by optimizing loop structures, batch processing, and other techniques to improve performance. The regenerated code and its explanation are also displayed on the terminal.
[0351] Specific examples
[0352] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS and its explanation. For example, the code generated by this process performs an operation to change the background color of cells in the specified range that meet the condition. The generated code may also be optimized for efficient execution.
[0353] In this way, by using the system of the present invention, even users with limited programming knowledge can easily generate program code, understand its contents, and optimize it, which is expected to improve work efficiency and programming skills.
[0354] The processing flow will be explained below.
[0355] Step 1:
[0356] The user accesses Google Forms from a web browser on their device and fills in the questions provided in the form. For example, they enter the range of the spreadsheet, the process to be performed, the conditions, the color to be changed, etc.
[0357] Step 2:
[0358] The device sends the information entered by the user to the Google Forms server, which receives the submitted data and stores it in an internal database for further processing.
[0359] Step 3:
[0360] The server retrieves data stored on the Google Forms server, including the spreadsheet range, processing details, and other parameters entered by the user.
[0361] Step 4:
[0362] The server analyzes the acquired data and automatically generates program code according to the user's request. The server uses predefined templates and artificial intelligence technology to generate code that performs specific operations (such as changing the color of a cell) when certain conditions are met for a cell in a spreadsheet range.
[0363] Step 5:
[0364] The server generates a natural language description of the program code it generates, detailing what each piece of code does and how it works.
[0365] Step 6:
[0366] The server sends the generated program code and its description to the terminal, which receives it and displays it to the user.
[0367] Step 7:
[0368] The user checks the program code and its explanation displayed on the terminal. At this stage, the user understands the meaning of the code and how it works.
[0369] Step 8:
[0370] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0371] Step 9:
[0372] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0373] Step 10:
[0374] The server then sends the optimized program code and its description back to the terminal, which receives it and displays it to the user.
[0375] In this way, the system of the present invention is designed to break down the process into small steps, allowing users to easily generate, understand, and optimize code even without programming knowledge.
[0376] Example 1
[0377] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0378] Many users today lack programming skills, making it difficult for them to perform complex programming tasks. However, there are many situations in business and daily life where automated processes are required. Conventional systems require users to write the program code themselves, which poses a major obstacle. Furthermore, optimizing and streamlining the generated program code relies on the user's own skills, often resulting in inefficient code. Therefore, there is a need for a system that allows even non-programmers to easily generate program code, and then further understand and optimize that code.
[0379] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0380] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generation means for explaining the contents of the program code in natural language, and an optimization means for optimizing the program code in response to additional questions or instructions from the user. This allows a user without programming skills to automatically generate advanced program code, understand its contents, and further optimize it efficiently.
[0381] "Interface means" refers to the component of the system that allows the user to input information, and specifically refers to a form via a web browser.
[0382] A "processing means" is a component of the system that automatically generates program code based on information entered by a user.
[0383] The "generation means" is a component of the system that creates text that explains the contents of the generated program code in natural language.
[0384] The "output means" is a component of the system that presents the generated program code and its explanation to the user.
[0385] The "optimization means" is a component of the system that improves the efficiency and optimizes the generated program code based on additional questions and instructions from the user.
[0386] A "scripting language" is a language used as a form of program code that is generated based on user input, and includes, for example, JavaScript and VBScript.
[0387] The present invention provides a system that allows even users with limited programming skills to automatically generate, understand, and optimize program code by inputting necessary information through a simple interface. This system is composed of a combination of interface means, processing means, generation means, output means, and optimization means.
[0388] Users enter information using a form (such as a Google Form) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation they want to perform, the conditions, and specific parameters. For example, a user might enter "A1:C10," "change cell color according to a condition," "number greater than or equal to 50," and "color red."
[0389] The server receives the user's input information sent through the form and generates program code based on this information, utilizing predefined templates, generative AI models, and natural language processing technology. The generated program code is written in a commonly used scripting language (such as GAS or VBA).
[0390] The server then provides a natural language explanation of the generated program code. This explanation clearly explains what the generated code does, allowing the user to intuitively understand its contents. The specific explanation is, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0391] The generated program code and its explanation are sent from the server to the user's device and displayed in a web browser. By checking the code and explanation, the user can understand how the program works.
[0392] The server also optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will optimize the loop structure, introduce batch processing, etc. The optimized program code and its explanation are also displayed on the user's terminal.
[0393] As a concrete example, consider a case where a user enters the following information into a form:
[0394] Spreadsheet range: A1:C10
[0395] What I want to do: Change the color of cells according to a condition
[0396] Condition: Value is 50 or more
[0397] Color:Red
[0398] The program code generated by the server based on this information changes the background color of cells in the specified range of spreadsheets to red if the numeric value is 50 or greater.
[0399] An example prompt for generating program code using a generative AI model is:
[0400] "Generate a program code to change the background color of cells in the range A1:C10 of a spreadsheet to red if the value is greater than or equal to 50."
[0401] This allows users without programming skills to automatically generate advanced program code, understand its contents, and optimize it efficiently.
[0402] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0403] Step 1:
[0404] Enter user information
[0405] The user accesses the provided form using a Web browser and enters the spreadsheet range to be processed, the processing content to be performed, the conditions, and specific parameters.
[0406] input
[0407] Spreadsheet Range: A1:C10
[0408] What I want to do: Change the color of cells according to a condition
[0409] Condition: Value is 50 or more
[0410] Specific parameters: Red
[0411] output
[0412] The information entered by the user into the form is sent to the server.
[0413] Step 2:
[0414] Receiving and analyzing user information
[0415] The server receives the user input sent through the Google form and converts it into an internal data structure.
[0416] input
[0417] The spreadsheet range, operation, conditions, and specific parameters entered by the user.
[0418] output
[0419] User-entered information after conversion into internal data structures.
[0420] Step 3:
[0421] Generate program code
[0422] The server generates program code based on the received user input, using predefined templates, generative AI models, and natural language processing techniques.
[0423] input
[0424] The converted user input information.
[0425] Data processing and calculation
[0426] It uses natural language processing technology and templates to generate program code based on specified conditions and scope.
[0427] output
[0428] Generated program code.
[0429] Step 4:
[0430] Natural language description generation
[0431] The server analyzes the contents of the generated program code and generates text that explains the processing contents in natural language.
[0432] input
[0433] Generated program code.
[0434] Data processing and calculation
[0435] Analyzes code and generates intuitive explanations in natural language.
[0436] output
[0437] The generated description.
[0438] Step 5:
[0439] Output of generated results
[0440] The server sends the generated program code and its description to the user's terminal and displays it through a web browser.
[0441] input
[0442] Generated program code and explanation.
[0443] output
[0444] The program code and description that will be displayed on the user's device.
[0445] Step 6:
[0446] Directing optimization and regeneration
[0447] The user requests the server to optimize the generated program code, for example by asking, "How can I make this code more efficient?" The server then optimizes the generated code based on the received instructions.
[0448] input
[0449] User-instructed optimization.
[0450] Data processing and calculation
[0451] The program code will be restructured by improving the efficiency of loop structures and introducing batch processing.
[0452] output
[0453] Optimized program code and its description.
[0454] Step 7:
[0455] Output of optimization results
[0456] The server then sends the optimized program code and its explanation back to the user's device and displays it through a web browser.
[0457] input
[0458] Optimized program code and descriptions.
[0459] output
[0460] Optimized program code and explanatory text displayed on the user's device.
[0461] (Application example 1)
[0462] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0463] There is a need to provide an environment in which even users without programming skills can easily configure the operation of machines and robots used in factories and operate them efficiently. In addition, a system is required that allows users to understand the contents of the generated program code and optimize it as necessary. This will help improve the operational efficiency of factories.
[0464] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0465] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generating means for explaining the contents of the program code in natural language, an output means for presenting the program code and explanation to the user, a means for optimizing the program code, and a system used as an application installed on a machine that performs operation settings based on the user input, thereby enabling even users with little programming knowledge to easily set up, operate, and optimize the system.
[0466] The "interface means" is a means for a user to input information, and plays a role in exchanging data between the user and the system.
[0467] A "processing means" is a means that includes a function for automatically generating program code based on user input.
[0468] The "generation means" is a means that plays a role in generating text that explains the contents of the generated program code in natural language.
[0469] The "output means" is a means for presenting the generated program code and its explanation to the user.
[0470] "Optimization means" refers to means for improving the generated program code so that it can be executed efficiently.
[0471] The "application installed on the machine for which operation settings are to be performed" is an application for setting the operation of a machine or robot using program code generated based on user input.
[0472] In a system based on this invention, a user can use a smartphone application to configure the operation settings of a robot used in a factory. The interface means of this system includes fields for the user to input information, such as the "operation range," "operation to be performed," "conditions," and "specific parameters."
[0473] The information entered by the user is sent to a server and analyzed by the processing means. The processing means utilizes artificial intelligence technology (specifically, the OpenAI API, a generative AI model) to automatically generate program code. This program code enables the robot to execute the specified actions.
[0474] The generated program code is explained in natural language by the generating means and presented to the user. At this time, the explanation includes specific processing content, making it easier for the user to understand the operation of the code.
[0475] Furthermore, as an optimization measure, the generated program code is optimized based on additional questions or instructions from the user. For example, if the user instructs the server to "make it run more efficiently," the server will regenerate the program code by optimizing loop structures or batch processing.
[0476] For example, when a user inputs information such as "Range A1:C10" and "Change the color of cells with numbers greater than 50 to red," the server receives this information and generates code written in Google Apps Script (GAS). The following is an example of a prompt statement:
[0477] "Please generate a Google Apps Script (GAS) program code that will change the background color of cells in the spreadsheet range A1:C10 to red if the value is greater than or equal to 50."
[0478] This generated code performs the operation on the specified range of cells, changing the background color of cells that meet the condition, and may be optimized for efficient execution.
[0479] This system allows even users with little programming knowledge to easily configure the operation of robots used in factories, enabling efficient operation.
[0480] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0481] Step 1:
[0482] The user inputs the operation range, the operation to be performed, the conditions, and specific parameters via the interface of the smartphone application. For example, this input information might be "Range A1:C10" or "Change the color of cells with values greater than 50 to red." Once the input information is complete, the device sends it to the server.
[0483] Step 2:
[0484] The server uses a processing means to analyze the received user input information. Specifically, it extracts the values of each field and converts them into a data structure for use within the system. For example, the range information "A1:C10" is converted into a cell range object, and the condition "greater than or equal to 50" is converted into a conditional formula object.
[0485] Step 3:
[0486] The processing means uses the extracted information to generate program code in natural language using a generative AI model (OpenAI's API). At this time, a prompt statement is set and passed to the AI model to generate specific code. An example of a prompt statement is, "For the range A1:C10 in the spreadsheet, if the value is 50 or greater, please generate program code in Google Apps Script (GAS) that changes the background color of that cell to red."
[0487] Step 4:
[0488] The program code generated by the generative AI model is converted into a user-friendly natural language explanation by a generation means on the server. For example, an explanation could be generated such as, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0489] Step 5:
[0490] The generated program code and its natural language explanation are sent from the server to the terminal and presented to the user via the output means. The user can check the generated code and explanation and provide corrections or additional instructions as necessary.
[0491] Step 6:
[0492] If the user provides additional instructions, the server receives them and reconstructs the generated program code using optimization techniques. For example, it can improve the efficiency of the code by revising loop processing or incorporating batch processing. The optimized program code and its explanation are then regenerated and output to the terminal.
[0493] Step 7:
[0494] Finally, the program code confirmed by the user is installed and executed in the machine to be configured (e.g., a factory robot). The user can then monitor the robot's operation status through a smartphone application and configure new operation settings as necessary.
[0495] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0496] The present invention is a system that allows even users with no or poor programming skills to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the user experience is further improved. An embodiment of the present invention is described in detail below.
[0497] Interface Means
[0498] The user uses an input interface (e.g., Google Forms) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, conditions, and specific parameters (e.g., color and value). In addition, an emotion engine recognizes the user's emotions in real time and dynamically adjusts the interface display content according to the user's emotions. For example, if the user is feeling stressed, the interface is configured to display simpler guides or additional explanations.
[0499] Processing means
[0500] The server receives the user's input information sent from the interface means and the emotion information from the emotion engine. Based on this information, it starts a process of generating program code. The server uses predefined templates and artificial intelligence technology (e.g., natural language processing technology) to generate program code that meets the user's requirements. For example, code is generated that performs a specific process (e.g., changes the color of a cell) when a condition is met for a cell in a range of a spreadsheet.
[0501] generation means
[0502] The server, acting as the generation means, generates text in natural language that explains the specific processing details of each part of the generated program code. For example, the explanation may include, "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red." Furthermore, based on the user's emotional information recognized by the emotion engine, the explanation content is adjusted according to the user's level of understanding and emotional state.
[0503] Output Method
[0504] The generated program code and its explanation are displayed on the user's device. The user can check the generated results through a web browser. The results include detailed code and explanations, allowing the user to understand how the program works. Furthermore, the display content and explanations are dynamically adjusted according to the user's emotions, improving the user experience.
[0505] Optimization measures
[0506] Furthermore, the server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will reconstruct the program code using techniques such as optimizing loop structures and batch processing to improve performance. The regenerated code and its explanation are also displayed on the terminal. In addition, the emotion engine recognizes the user's emotions in real time during operation and dynamically adjusts the operation and output content of the optimization means according to the emotions.
[0507] Specific examples
[0508] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS along with an explanation. For example, the code generated by this process executes an operation to change the background color of cells in the specified range that meet the condition. Additionally, if the user feels stressed, the interface and generation means provide more detailed guidance and additional explanations.
[0509] In this way, the system of the present invention breaks down processing into steps and is designed to allow users without programming knowledge to easily generate, understand, and optimize code. Furthermore, by combining emotion engines, it is possible to flexibly respond to the user's emotional state, further improving the user experience.
[0510] The processing flow will be explained below.
[0511] Step 1:
[0512] Users access Google Forms from a web browser on their device and enter information in response to questions in the form, such as the range of the spreadsheet, the process to be performed, the conditions, and the color to be changed.
[0513] Step 2:
[0514] The device sends the user's input information to the Google Forms server, which receives the data and stores it in an internal database for further processing.
[0515] Step 3:
[0516] The emotion engine recognizes the user's emotions in real time. It analyzes emotions based on input information such as the user's facial expressions and tone of voice, and sends the resulting emotional data to the server.
[0517] Step 4:
[0518] The server retrieves user input data stored on the Google Forms server and emotion data from the emotion engine, and analyzes the user's request and emotional state based on the retrieved data.
[0519] Step 5:
[0520] The server automatically generates appropriate program code based on the user's request data. It uses predefined templates and artificial intelligence technology (such as natural language processing) to generate program code that meets certain conditions. For example, it generates code to change the color of cells in a spreadsheet range when certain conditions are met.
[0521] Step 6:
[0522] The server generates text in natural language to explain the content of the generated code based on the user's emotional state, such as "For the specified range of cells in a spreadsheet, if the value is greater than or equal to 50, change the background color of the cell to red."
[0523] Step 7:
[0524] The server sends the generated program code and its description to the terminal, which displays them to the user.
[0525] Step 8:
[0526] The user checks the program code and its explanation displayed on the device. At this stage, the user can understand the meaning of the code and its operation. Furthermore, the content displayed on the interface is dynamically adjusted according to the emotions recognized by the emotion engine, allowing the user to continue operating with reduced stress and anxiety.
[0527] Step 9:
[0528] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0529] Step 10:
[0530] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0531] Step 11:
[0532] The server then sends the optimized program code and its explanation back to the terminal, which receives it and displays it to the user, who can review the displayed content, make any necessary changes or optimizations, and deepen their understanding of the program code.
[0533] In this way, the system of the present invention can generate, explain, and optimize program code by combining user input information and emotion data, allowing users without programming knowledge to easily generate, understand, and optimize code, further improving the user experience.
[0534] Example 2
[0535] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0536] Conventional automatic program code generation systems have the problem that they are difficult to operate if the user does not have programming skills, and the generated code is difficult to understand and optimize. In addition, they do not take into account the user's emotional state, making it impossible to reduce the stress and difficulties that arise during operation.
[0537] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0538] In this invention, the server includes an interface means for including information input by a user, an emotion analysis means for recognizing and analyzing emotions, a processing means for automatically generating program code based on the user input and emotion analysis, a generation means for explaining the content of the program code in natural language, and an output means for adjusting and presenting the program code and explanation according to the user's emotions. This allows users without programming skills to easily generate program code, making its content easy to understand, and enabling adaptation according to the user's emotional state through emotion analysis.
[0539] The "interface means" refers to a means for collecting information input by a user, and includes, for example, an input form provided via a web browser.
[0540] "Emotion analysis means" refers to means for recognizing and analyzing a user's emotions, and includes technology for analyzing the user's biometric data, such as voice tone and facial expressions, in real time.
[0541] "Processing means" refers to means for automatically generating program code based on user input and sentiment analysis, including natural language processing techniques and processing using predefined templates.
[0542] The "generation means" is a means for explaining the contents of the generated program code in natural language, and includes a function for explaining the generated code in a format that is easy for humans to understand.
[0543] The "output means" is a means for displaying the program code and explanation to the user, and includes a function for dynamically adjusting the display content according to the emotional state of the user.
[0544] The "optimization means" is a means for optimizing the generated program code to improve its performance, and includes a function for reconstructing the code based on additional questions or requests from the user.
[0545] A "scripting language" is a type of program code that is generated based on user input and includes a programming language that can be easily and quickly executed.
[0546] This system allows even users with no or poor programming skills to easily generate, understand, and optimize program code. Furthermore, by combining it with an emotion analysis engine that recognizes user emotions and dynamically adjusts the interface, the user experience can be improved.
[0547] Interface Means
[0548] The user interacts with an input form provided via a web browser. This interface, such as a Google Form, includes fields for the user to enter the spreadsheet range they want to process, the operation they want to perform, the conditions, and specific parameters (e.g., color and value). Examples of inputs include "Spreadsheet range A1:C10" and "Color red if the value is greater than or equal to 50."
[0549] Emotion analysis means
[0550] The device is equipped with an emotion engine that analyzes biometric data such as voice tone and facial expressions in real time. This emotion analysis means recognizes emotions, such as when the user is feeling stressed, and transmits the emotions to the server. Based on the results of the emotion analysis, the interface display content is dynamically adjusted. For example, if the user is feeling stressed, the interface will provide simpler guidance or additional explanations.
[0551] Processing means
[0552] The server receives user input information sent from the interface means and emotion information from the emotion analysis means. Based on this information, it generates program code using a predefined template or a generative AI model (e.g., GPT-3). The generated code executes a process such as "if the numeric value of a cell in the spreadsheet range A1:C10 is 50 or greater, change the background color of that cell to red."
[0553] generation means
[0554] The server, which acts as a generator, generates a natural language explanation for each part of the generated program code, such as "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red."
[0555] Output Method
[0556] The generated program code and its explanation are displayed on the user's device. Users can check the results through a web browser. Furthermore, the display content and explanation are adjusted based on sentiment analysis, making it easier for users to understand the generated program code.
[0557] Optimization measures
[0558] The server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will use optimization techniques to improve loop structures or batch processing to improve performance. The optimized code and its explanation are also displayed on the user's device. The results of sentiment analysis are reflected in the explanation provided, based on the user's level of understanding and emotional state.
[0559] Specific examples
[0560] An example of a prompt is, "Generate Google Apps Script code to change the background color of cells in the spreadsheet range A1:C10 where the value is greater than or equal to 50 to red." In this way, the system of the present invention allows users to easily generate, understand, and optimize code without any programming knowledge. Furthermore, the sentiment analysis engine enables dynamic responses based on the user's emotional state, improving the user experience.
[0561] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0562] Step 1:
[0563] The user accesses the input interface. The user accesses the input form provided via a web browser, where they enter the spreadsheet range, the operation they want to perform, the conditions, and specific parameters. The input data (e.g., "Spreadsheet range A1:C10," "Change color to red if the number is greater than or equal to 50") is provided by the user and submitted to the web form.
[0564] Step 2:
[0565] The emotion analysis means analyzes the user's emotions. The device collects real-time biometric data such as voice tone and facial expressions, and performs emotion analysis. Analysis data (e.g., whether the user is feeling stressed) is generated and the results are sent to the server.
[0566] Step 3:
[0567] The server receives user input information and emotion information. The server simultaneously receives input data and emotion analysis data sent from a web form. The received data is used as the basis for generating program code.
[0568] Step 4:
[0569] The processing means generates program code. Based on the received user input and emotion data, the server uses a predefined template or a generative AI model (e.g., GPT-3) to generate program code with the specified processing content. For example, if the numerical value of a cell in the spreadsheet range A1:C10 is 50 or greater, program code is generated to change the background color of that cell to red. The generated program code is stored internally.
[0570] Step 5:
[0571] The generator creates a description of the program code. The server then creates a natural language description for each part of the generated program code. For example, a description such as "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red." The description and program code pair are stored internally.
[0572] Step 6:
[0573] The output means displays the results to the user. The server sends the generated program code and explanatory text to the user's device, where the user can view the code and explanations through a web browser. The interface display content is also dynamically adjusted based on the results of sentiment analysis. For example, if the user is feeling stressed, detailed guidance or additional explanations are displayed.
[0574] Step 7:
[0575] The user reviews the generated code and its explanation, re-entering conditions or asking questions as needed. For example, the user re-enters the form, asking, "How can I make this code more efficient?"
[0576] Step 8:
[0577] The optimization means optimizes the generated code. The server performs optimization of the generated program code based on questions and re-specification from the user. Optimizations include, for example, improving loop structures and improving performance through batch processing. The optimized code and its explanation are regenerated, stored internally, and resent to the user's terminal.
[0578] Step 9:
[0579] Interface adaptation through continuous emotion analysis. The emotion analyzer continuously monitors the user's emotional state and adjusts the interface in real time. For example, if the user starts to feel stressed again, it can show a detailed tutorial or a helpful video. This data is sent to a server and used to adjust the interface.
[0580] (Application example 2)
[0581] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0582] With conventional program code generation systems, users lacking programming skills or sufficient knowledge have difficulty generating the necessary program code and understanding its contents. Furthermore, they lack the ability to dynamically adjust responses and interfaces based on the user's emotional state, making it difficult to improve the user experience. Similar challenges exist in generating and optimizing program code that defines the behavior of factory robots. Therefore, there is a need for a system that can perform program code generation, optimization, user emotion recognition, and factory robot operation in an integrated manner.
[0583] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an interface means that includes information input by a user, a processing means that automatically generates program code based on the user input, a generation means that explains the contents of the program code in natural language, an output means that presents the program code and explanation to the user, an emotion recognition means that recognizes the user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface, and a means that automatically generates operation code for a robot and explains the operation content in natural language. This allows users without programming knowledge to easily generate and understand the necessary program code, enables flexible responses according to emotional states, and enables efficient programming of factory robot operations.
[0584] The "interface means containing information input by the user" is a user interface for the user to input the spreadsheet range to be processed, the processing content to be executed, conditions, and specific parameters.
[0585] The "processing means for automatically generating program code based on the user input" refers to a means for automatically generating program code based on information input by the user through the interface means.
[0586] The "means for generating a natural language explanation of the contents of the program code" refers to a means for generating text that explains in natural language the specific processing contents of each part of the generated program code.
[0587] The "output means for presenting the program code and explanation to the user" refers to a means for displaying the generated program code and its explanation in natural language on the user's terminal.
[0588] "Emotion recognition means that recognizes a user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface" refers to a means that recognizes a user's emotions in real time and dynamically adjusts the display content of the interface and the response of the application according to those emotions.
[0589] "Means for automatically generating operation code for a robot and explaining the operation content in natural language" means means for automatically generating program code that defines the operation of a factory robot and explaining the operation content of that code in natural language.
[0590] The "optimization means for optimizing the program code" refers to a means for optimizing the generated program code so that it can be executed efficiently.
[0591]
[0592] This invention provides a system that allows users without programming skills to easily generate, optimize, and understand program code. Furthermore, by incorporating an emotion recognition engine that recognizes user emotions in real time and dynamically adjusts the interface display content, the user experience is improved. The system also has the ability to automatically generate operating code for factory robots and explain the operating details in natural language.
[0593] System Overview
[0594] The system consists of the following main components:
[0595] 1. Interface means: A user interface for inputting information that the user wants to process. Specifically, it is an input interface provided via a web browser, where the user can input the spreadsheet range they want to process, the processing content they want to execute, conditions, and specific parameters.
[0596] 2. Processing means: A means for automatically generating program code based on user input. It uses natural language processing technology to generate program code that meets the user's requirements.
[0597] 3. Generation method: A method for explaining the contents of the generated program code in natural language. It generates text that specifically explains the processing of each part, making it easy for users to understand.
[0598] 4. Output means: A means for displaying the program code and its explanation on the user's terminal, allowing the user to check the generated results and understand the program's operation.
[0599] 5. Emotion recognition: Recognizing user emotions in real time and dynamically adjusting interface display content and application responses. Specifically, this uses facial recognition and tone of voice analysis technologies.
[0600] 6. Robot motion generation: A means to automatically generate motion code for factory robots and explain the details of their motion in natural language. For example, it defines the motion of a robot moving parts and assembling under specific conditions.
[0601] Specific examples
[0602] Hardware and software used
[0603] Hardware: User devices (PCs, tablets, smartphones)
[0604] Software: Web browser, server (Python, Node.js), emotion recognition API (Microsoft Azure, AWS Rekognition)
[0605] Operation example
[0606] As an example of a system in which a user operates a factory robot, the following specific input example will be described.
[0607] Example prompt sentence:
[0608] "Move part A to location B and install it using the robotic arm."
[0609] Example of an input interface:
[0610] Part: Part A
[0611] Location: Location B
[0612] Work: Installation
[0613] Program processing
[0614] The server automatically generates program code based on user input. For example, it generates code to move and install part A to location B, and provides a natural language explanation of the code. The emotion recognition engine uses facial recognition and voice analysis to recognize the user's emotions while they are operating the device, dynamically adjusting the interface display according to their stress level, etc.
[0615] This allows users to easily define and understand the robot's behavior without complex programming knowledge, enabling interactions that reduce emotional stress.
[0616] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0617] Step 1:
[0618] The user accesses the input interface provided via a web browser and enters the required information. This interface displays fields for the user to enter the spreadsheet range they want to process, the processing they want to perform, conditions, and specific parameters. The information entered by the user is sent to the server. The input data includes information about part A, location B, and the work content.
[0619] Step 2:
[0620] The server receives the information entered by the user and analyzes the data. It then uses natural language processing technology to automatically generate program code that meets the user's requirements. Specifically, it generates code to move the user-specified part A to location B and perform the task there. Code is generated in a scripting language based on the input information. The output is the generated program code.
[0621] Step 3:
[0622] The server, acting as a generation means, generates text in natural language that explains the specific processing content of each part of the generated program code. This text includes explanations that make it easier for users to understand the content of the program. For example, an explanation such as "Move part A to location B and perform installation there" is generated. The output is the generated explanation.
[0623] Step 4:
[0624] The server sends the generated program code and its explanation to the user's device. The generated results are displayed on the user's device via a web browser. The user checks the program code and its explanation and understands its contents. This allows the user to understand the work content based on the generated code. The displayed content is the program code and its explanation.
[0625] Step 5:
[0626] The emotion recognition engine analyzes the user's facial recognition and voice tone to recognize the user's emotions in real time. The server receives this emotion data and dynamically adjusts the interface display content and application response. For example, if the user is feeling stressed, the interface is configured to display simpler guidance or additional explanations. The input is the user's emotion data, and the output is the adjusted interface display.
[0627] Step 6:
[0628] The server, which acts as a robot operation generation means, automatically generates operation code for factory robots. This operation code includes a series of instructions for the robot to move part A to location B and perform installation work there, based on information entered by the user. The generated code is sent to the robot, which then executes the specified operation. The input is the user's instruction data, and the output is the code for the robot's operation.
[0629] This allows users to easily generate and understand the necessary program code even without programming knowledge, enabling flexible responses to emotional states, and enabling efficient programming of factory robot operations.
[0630] 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.
[0631] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0632] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0633] [Third embodiment]
[0634] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0635] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0636] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the 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).
[0637] 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.
[0638] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0639] 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 surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0640] 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.
[0641] 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.
[0642] 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 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.
[0643] 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.
[0644] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0645] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0646] The present invention is a system that allows even users with no programming skills or who are not good at programming to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. The following describes specific embodiments of the present invention.
[0647] Interface Means
[0648] A user uses an input interface, such as Google Forms, provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, the conditions, and specific parameters (such as color and value). For example, the user might enter "A1:C10," "change cell color according to the condition," "number is greater than or equal to 50," and "red."
[0649] Processing means
[0650] The server receives the user's input information sent from the interface means. Based on this information, it starts the process of generating program code. The server generates the program code in a scripting language such as GAS or VBA using predefined templates and artificial intelligence (AI) technology (e.g., natural language processing technology).
[0651] generation means
[0652] The server, which acts as a generator, generates text in natural language that explains the specific processing content of each part of the generated program code, such as "If the value of a specified range of cells in a spreadsheet is 50 or greater, change the background color of that cell to red."
[0653] Output Method
[0654] The generated program code and its explanation are displayed on the user's terminal. The user can check the generated results through a web browser. This result includes detailed code and its explanation, allowing the user to understand how the program works.
[0655] Optimization measures
[0656] The server then optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will restructure the program code by optimizing loop structures, batch processing, and other techniques to improve performance. The regenerated code and its explanation are also displayed on the terminal.
[0657] Specific examples
[0658] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS and its explanation. For example, the code generated by this process performs an operation to change the background color of cells in the specified range that meet the condition. The generated code may also be optimized for efficient execution.
[0659] In this way, by using the system of the present invention, even users with limited programming knowledge can easily generate program code, understand its contents, and optimize it, which is expected to improve work efficiency and programming skills.
[0660] The processing flow will be explained below.
[0661] Step 1:
[0662] The user accesses Google Forms from a web browser on their device and fills in the questions provided in the form. For example, they enter the range of the spreadsheet, the process to be performed, the conditions, the color to be changed, etc.
[0663] Step 2:
[0664] The device sends the information entered by the user to the Google Forms server, which receives the submitted data and stores it in an internal database for further processing.
[0665] Step 3:
[0666] The server retrieves data stored on the Google Forms server, including the spreadsheet range, processing details, and other parameters entered by the user.
[0667] Step 4:
[0668] The server analyzes the acquired data and automatically generates program code according to the user's request. The server uses predefined templates and artificial intelligence technology to generate code that performs specific operations (such as changing the color of a cell) when certain conditions are met for a cell in a spreadsheet range.
[0669] Step 5:
[0670] The server generates a natural language description of the program code it generates, detailing what each piece of code does and how it works.
[0671] Step 6:
[0672] The server sends the generated program code and its description to the terminal, which receives it and displays it to the user.
[0673] Step 7:
[0674] The user checks the program code and its explanation displayed on the terminal. At this stage, the user understands the meaning of the code and how it works.
[0675] Step 8:
[0676] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0677] Step 9:
[0678] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0679] Step 10:
[0680] The server then sends the optimized program code and its description back to the terminal, which receives it and displays it to the user.
[0681] In this way, the system of the present invention is designed to break down the process into small steps, allowing users to easily generate, understand, and optimize code even without programming knowledge.
[0682] Example 1
[0683] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0684] Many users today lack programming skills, making it difficult for them to perform complex programming tasks. However, there are many situations in business and daily life where automated processes are required. Conventional systems require users to write the program code themselves, which poses a major obstacle. Furthermore, optimizing and streamlining the generated program code relies on the user's own skills, often resulting in inefficient code. Therefore, there is a need for a system that allows even non-programmers to easily generate program code, and then further understand and optimize that code.
[0685] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0686] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generation means for explaining the contents of the program code in natural language, and an optimization means for optimizing the program code in response to additional questions or instructions from the user. This allows a user without programming skills to automatically generate advanced program code, understand its contents, and further optimize it efficiently.
[0687] "Interface means" refers to the component of the system that allows the user to input information, and specifically refers to a form via a web browser.
[0688] A "processing means" is a component of the system that automatically generates program code based on information entered by a user.
[0689] The "generation means" is a component of the system that creates text that explains the contents of the generated program code in natural language.
[0690] The "output means" is a component of the system that presents the generated program code and its explanation to the user.
[0691] The "optimization means" is a component of the system that improves the efficiency and optimizes the generated program code based on additional questions and instructions from the user.
[0692] A "scripting language" is a language used as a form of program code that is generated based on user input, and includes, for example, JavaScript and VBScript.
[0693] The present invention provides a system that allows even users with limited programming skills to automatically generate, understand, and optimize program code by inputting necessary information through a simple interface. This system is composed of a combination of interface means, processing means, generation means, output means, and optimization means.
[0694] Users enter information using a form (such as a Google Form) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation they want to perform, the conditions, and specific parameters. For example, a user might enter "A1:C10," "change cell color according to a condition," "number greater than or equal to 50," and "color red."
[0695] The server receives the user's input information sent through the form and generates program code based on this information, utilizing predefined templates, generative AI models, and natural language processing technology. The generated program code is written in a commonly used scripting language (such as GAS or VBA).
[0696] The server then provides a natural language explanation of the generated program code. This explanation clearly explains what the generated code does, allowing the user to intuitively understand its contents. The specific explanation is, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0697] The generated program code and its explanation are sent from the server to the user's device and displayed in a web browser. By checking the code and explanation, the user can understand how the program works.
[0698] The server also optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will optimize the loop structure, introduce batch processing, etc. The optimized program code and its explanation are also displayed on the user's terminal.
[0699] As a concrete example, consider a case where a user enters the following information into a form:
[0700] Spreadsheet range: A1:C10
[0701] What I want to do: Change the color of cells according to a condition
[0702] Condition: Value is 50 or more
[0703] Color:Red
[0704] The program code generated by the server based on this information changes the background color of cells in the specified range of spreadsheets to red if the numeric value is 50 or greater.
[0705] An example prompt for generating program code using a generative AI model is:
[0706] "Generate a program code to change the background color of cells in the range A1:C10 of a spreadsheet to red if the value is greater than or equal to 50."
[0707] This allows users without programming skills to automatically generate advanced program code, understand its contents, and optimize it efficiently.
[0708] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0709] Step 1:
[0710] Enter user information
[0711] The user accesses the provided form using a Web browser and enters the spreadsheet range to be processed, the processing content to be performed, the conditions, and specific parameters.
[0712] input
[0713] Spreadsheet Range: A1:C10
[0714] What I want to do: Change the color of cells according to a condition
[0715] Condition: Value is 50 or more
[0716] Specific parameters: Red
[0717] output
[0718] The information entered by the user into the form is sent to the server.
[0719] Step 2:
[0720] Receiving and analyzing user information
[0721] The server receives the user input sent through the Google form and converts it into an internal data structure.
[0722] input
[0723] The spreadsheet range, operation, conditions, and specific parameters entered by the user.
[0724] output
[0725] User-entered information after conversion into internal data structures.
[0726] Step 3:
[0727] Generate program code
[0728] The server generates program code based on the received user input, using predefined templates, generative AI models, and natural language processing techniques.
[0729] input
[0730] The converted user input information.
[0731] Data processing and calculation
[0732] It uses natural language processing technology and templates to generate program code based on specified conditions and scope.
[0733] output
[0734] Generated program code.
[0735] Step 4:
[0736] Natural language description generation
[0737] The server analyzes the contents of the generated program code and generates text that explains the processing contents in natural language.
[0738] input
[0739] Generated program code.
[0740] Data processing and calculation
[0741] Analyzes code and generates intuitive explanations in natural language.
[0742] output
[0743] The generated description.
[0744] Step 5:
[0745] Output of generated results
[0746] The server sends the generated program code and its description to the user's terminal and displays it through a web browser.
[0747] input
[0748] Generated program code and explanation.
[0749] output
[0750] The program code and description that will be displayed on the user's device.
[0751] Step 6:
[0752] Directing optimization and regeneration
[0753] The user requests the server to optimize the generated program code, for example by asking, "How can I make this code more efficient?" The server then optimizes the generated code based on the received instructions.
[0754] input
[0755] User-instructed optimization.
[0756] Data processing and calculation
[0757] The program code will be restructured by improving the efficiency of loop structures and introducing batch processing.
[0758] output
[0759] Optimized program code and its description.
[0760] Step 7:
[0761] Output of optimization results
[0762] The server then sends the optimized program code and its explanation back to the user's device and displays it through a web browser.
[0763] input
[0764] Optimized program code and descriptions.
[0765] output
[0766] Optimized program code and explanatory text displayed on the user's device.
[0767] (Application example 1)
[0768] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0769] There is a need to provide an environment in which even users without programming skills can easily configure the operation of machines and robots used in factories and operate them efficiently. In addition, a system is required that allows users to understand the contents of the generated program code and optimize it as necessary. This will help improve the operational efficiency of factories.
[0770] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0771] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generating means for explaining the contents of the program code in natural language, an output means for presenting the program code and explanation to the user, a means for optimizing the program code, and a system used as an application installed on a machine that performs operation settings based on the user input, thereby enabling even users with little programming knowledge to easily set up, operate, and optimize the system.
[0772] The "interface means" is a means for a user to input information, and plays a role in exchanging data between the user and the system.
[0773] A "processing means" is a means that includes a function for automatically generating program code based on user input.
[0774] The "generation means" is a means that plays a role in generating text that explains the contents of the generated program code in natural language.
[0775] The "output means" is a means for presenting the generated program code and its explanation to the user.
[0776] "Optimization means" refers to means for improving the generated program code so that it can be executed efficiently.
[0777] The "application installed on the machine for which operation settings are to be performed" is an application for setting the operation of a machine or robot using program code generated based on user input.
[0778] In a system based on this invention, a user can use a smartphone application to configure the operation settings of a robot used in a factory. The interface means of this system includes fields for the user to input information, such as the "operation range," "operation to be performed," "conditions," and "specific parameters."
[0779] The information entered by the user is sent to a server and analyzed by the processing means. The processing means utilizes artificial intelligence technology (specifically, the OpenAI API, a generative AI model) to automatically generate program code. This program code enables the robot to execute the specified actions.
[0780] The generated program code is explained in natural language by the generating means and presented to the user. At this time, the explanation includes specific processing content, making it easier for the user to understand the operation of the code.
[0781] Furthermore, as an optimization measure, the generated program code is optimized based on additional questions or instructions from the user. For example, if the user instructs the server to "make it run more efficiently," the server will regenerate the program code by optimizing loop structures or batch processing.
[0782] For example, when a user inputs information such as "Range A1:C10" and "Change the color of cells with numbers greater than 50 to red," the server receives this information and generates code written in Google Apps Script (GAS). The following is an example of a prompt statement:
[0783] "Please generate a Google Apps Script (GAS) program code that will change the background color of cells in the spreadsheet range A1:C10 to red if the value is greater than or equal to 50."
[0784] This generated code performs the operation on the specified range of cells, changing the background color of cells that meet the condition, and may be optimized for efficient execution.
[0785] This system allows even users with little programming knowledge to easily configure the operation of robots used in factories, enabling efficient operation.
[0786] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0787] Step 1:
[0788] The user inputs the operation range, the operation to be performed, the conditions, and specific parameters via the interface of the smartphone application. For example, this input information might be "Range A1:C10" or "Change the color of cells with values greater than 50 to red." Once the input information is complete, the device sends it to the server.
[0789] Step 2:
[0790] The server uses a processing means to analyze the received user input information. Specifically, it extracts the values of each field and converts them into a data structure for use within the system. For example, the range information "A1:C10" is converted into a cell range object, and the condition "greater than or equal to 50" is converted into a conditional formula object.
[0791] Step 3:
[0792] The processing means uses the extracted information to generate program code in natural language using a generative AI model (OpenAI's API). At this time, a prompt statement is set and passed to the AI model to generate specific code. An example of a prompt statement is, "For the range A1:C10 in the spreadsheet, if the value is 50 or greater, please generate program code in Google Apps Script (GAS) that changes the background color of that cell to red."
[0793] Step 4:
[0794] The program code generated by the generative AI model is converted into a user-friendly natural language explanation by a generation means on the server. For example, an explanation could be generated such as, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[0795] Step 5:
[0796] The generated program code and its natural language explanation are sent from the server to the terminal and presented to the user via the output means. The user can check the generated code and explanation and provide corrections or additional instructions as necessary.
[0797] Step 6:
[0798] If the user provides additional instructions, the server receives them and reconstructs the generated program code using optimization techniques. For example, it can improve the efficiency of the code by revising loop processing or incorporating batch processing. The optimized program code and its explanation are then regenerated and output to the terminal.
[0799] Step 7:
[0800] Finally, the program code confirmed by the user is installed and executed in the machine to be configured (e.g., a factory robot). The user can then monitor the robot's operation status through a smartphone application and configure new operation settings as necessary.
[0801] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0802] The present invention is a system that allows even users with no or poor programming skills to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the user experience is further improved. An embodiment of the present invention is described in detail below.
[0803] Interface Means
[0804] The user uses an input interface (e.g., Google Forms) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, conditions, and specific parameters (e.g., color and value). In addition, an emotion engine recognizes the user's emotions in real time and dynamically adjusts the interface display content according to the user's emotions. For example, if the user is feeling stressed, the interface is configured to display simpler guides or additional explanations.
[0805] Processing means
[0806] The server receives the user's input information sent from the interface means and the emotion information from the emotion engine. Based on this information, it starts a process of generating program code. The server uses predefined templates and artificial intelligence technology (e.g., natural language processing technology) to generate program code that meets the user's requirements. For example, code is generated that performs a specific process (e.g., changes the color of a cell) when a condition is met for a cell in a range of a spreadsheet.
[0807] generation means
[0808] The server, acting as the generation means, generates text in natural language that explains the specific processing details of each part of the generated program code. For example, the explanation may include, "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red." Furthermore, based on the user's emotional information recognized by the emotion engine, the explanation content is adjusted according to the user's level of understanding and emotional state.
[0809] Output Method
[0810] The generated program code and its explanation are displayed on the user's device. The user can check the generated results through a web browser. The results include detailed code and explanations, allowing the user to understand how the program works. Furthermore, the display content and explanations are dynamically adjusted according to the user's emotions, improving the user experience.
[0811] Optimization measures
[0812] Furthermore, the server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will reconstruct the program code using techniques such as optimizing loop structures and batch processing to improve performance. The regenerated code and its explanation are also displayed on the terminal. In addition, the emotion engine recognizes the user's emotions in real time during operation and dynamically adjusts the operation and output content of the optimization means according to the emotions.
[0813] Specific examples
[0814] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS along with an explanation. For example, the code generated by this process executes an operation to change the background color of cells in the specified range that meet the condition. Additionally, if the user feels stressed, the interface and generation means provide more detailed guidance and additional explanations.
[0815] In this way, the system of the present invention breaks down processing into steps and is designed to allow users without programming knowledge to easily generate, understand, and optimize code. Furthermore, by combining emotion engines, it is possible to flexibly respond to the user's emotional state, further improving the user experience.
[0816] The processing flow will be explained below.
[0817] Step 1:
[0818] Users access Google Forms from a web browser on their device and enter information in response to questions in the form, such as the range of the spreadsheet, the process to be performed, the conditions, and the color to be changed.
[0819] Step 2:
[0820] The device sends the user's input information to the Google Forms server, which receives the data and stores it in an internal database for further processing.
[0821] Step 3:
[0822] The emotion engine recognizes the user's emotions in real time. It analyzes emotions based on input information such as the user's facial expressions and tone of voice, and sends the resulting emotional data to the server.
[0823] Step 4:
[0824] The server retrieves user input data stored on the Google Forms server and emotion data from the emotion engine, and analyzes the user's request and emotional state based on the retrieved data.
[0825] Step 5:
[0826] The server automatically generates appropriate program code based on the user's request data. It uses predefined templates and artificial intelligence technology (such as natural language processing) to generate program code that meets certain conditions. For example, it generates code to change the color of cells in a spreadsheet range when certain conditions are met.
[0827] Step 6:
[0828] The server generates text in natural language to explain the content of the generated code based on the user's emotional state, such as "For the specified range of cells in a spreadsheet, if the value is greater than or equal to 50, change the background color of the cell to red."
[0829] Step 7:
[0830] The server sends the generated program code and its description to the terminal, which displays them to the user.
[0831] Step 8:
[0832] The user checks the program code and its explanation displayed on the device. At this stage, the user can understand the meaning of the code and its operation. Furthermore, the content displayed on the interface is dynamically adjusted according to the emotions recognized by the emotion engine, allowing the user to continue operating with reduced stress and anxiety.
[0833] Step 9:
[0834] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0835] Step 10:
[0836] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0837] Step 11:
[0838] The server then sends the optimized program code and its explanation back to the terminal, which receives it and displays it to the user, who can review the displayed content, make any necessary changes or optimizations, and deepen their understanding of the program code.
[0839] In this way, the system of the present invention can generate, explain, and optimize program code by combining user input information and emotion data, allowing users without programming knowledge to easily generate, understand, and optimize code, further improving the user experience.
[0840] Example 2
[0841] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0842] Conventional automatic program code generation systems have the problem that they are difficult to operate if the user does not have programming skills, and the generated code is difficult to understand and optimize. In addition, they do not take into account the user's emotional state, making it impossible to reduce the stress and difficulties that arise during operation.
[0843] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0844] In this invention, the server includes an interface means for including information input by a user, an emotion analysis means for recognizing and analyzing emotions, a processing means for automatically generating program code based on the user input and emotion analysis, a generation means for explaining the content of the program code in natural language, and an output means for adjusting and presenting the program code and explanation according to the user's emotions. This allows users without programming skills to easily generate program code, making its content easy to understand, and enabling adaptation according to the user's emotional state through emotion analysis.
[0845] The "interface means" refers to a means for collecting information input by a user, and includes, for example, an input form provided via a web browser.
[0846] "Emotion analysis means" refers to means for recognizing and analyzing a user's emotions, and includes technology for analyzing the user's biometric data, such as voice tone and facial expressions, in real time.
[0847] "Processing means" refers to means for automatically generating program code based on user input and sentiment analysis, including natural language processing techniques and processing using predefined templates.
[0848] The "generation means" is a means for explaining the contents of the generated program code in natural language, and includes a function for explaining the generated code in a format that is easy for humans to understand.
[0849] The "output means" is a means for displaying the program code and explanation to the user, and includes a function for dynamically adjusting the display content according to the emotional state of the user.
[0850] The "optimization means" is a means for optimizing the generated program code to improve its performance, and includes a function for reconstructing the code based on additional questions or requests from the user.
[0851] A "scripting language" is a type of program code that is generated based on user input and includes a programming language that can be easily and quickly executed.
[0852] This system allows even users with no or poor programming skills to easily generate, understand, and optimize program code. Furthermore, by combining it with an emotion analysis engine that recognizes user emotions and dynamically adjusts the interface, the user experience can be improved.
[0853] Interface Means
[0854] The user interacts with an input form provided via a web browser. This interface, such as a Google Form, includes fields for the user to enter the spreadsheet range they want to process, the operation they want to perform, the conditions, and specific parameters (e.g., color and value). Examples of inputs include "Spreadsheet range A1:C10" and "Color red if the value is greater than or equal to 50."
[0855] Emotion analysis means
[0856] The device is equipped with an emotion engine that analyzes biometric data such as voice tone and facial expressions in real time. This emotion analysis means recognizes emotions, such as when the user is feeling stressed, and transmits the emotions to the server. Based on the results of the emotion analysis, the interface display content is dynamically adjusted. For example, if the user is feeling stressed, the interface will provide simpler guidance or additional explanations.
[0857] Processing means
[0858] The server receives user input information sent from the interface means and emotion information from the emotion analysis means. Based on this information, it generates program code using a predefined template or a generative AI model (e.g., GPT-3). The generated code executes a process such as "if the numeric value of a cell in the spreadsheet range A1:C10 is 50 or greater, change the background color of that cell to red."
[0859] generation means
[0860] The server, which acts as a generator, generates a natural language explanation for each part of the generated program code, such as "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red."
[0861] Output Method
[0862] The generated program code and its explanation are displayed on the user's device. Users can check the results through a web browser. Furthermore, the display content and explanation are adjusted based on sentiment analysis, making it easier for users to understand the generated program code.
[0863] Optimization measures
[0864] The server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will use optimization techniques to improve loop structures or batch processing to improve performance. The optimized code and its explanation are also displayed on the user's device. The results of sentiment analysis are reflected in the explanation provided, based on the user's level of understanding and emotional state.
[0865] Specific examples
[0866] An example of a prompt is, "Generate Google Apps Script code to change the background color of cells in the spreadsheet range A1:C10 where the value is greater than or equal to 50 to red." In this way, the system of the present invention allows users to easily generate, understand, and optimize code without any programming knowledge. Furthermore, the sentiment analysis engine enables dynamic responses based on the user's emotional state, improving the user experience.
[0867] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0868] Step 1:
[0869] The user accesses the input interface. The user accesses the input form provided via a web browser, where they enter the spreadsheet range, the operation they want to perform, the conditions, and specific parameters. The input data (e.g., "Spreadsheet range A1:C10," "Change color to red if the number is greater than or equal to 50") is provided by the user and submitted to the web form.
[0870] Step 2:
[0871] The emotion analysis means analyzes the user's emotions. The device collects real-time biometric data such as voice tone and facial expressions, and performs emotion analysis. Analysis data (e.g., whether the user is feeling stressed) is generated and the results are sent to the server.
[0872] Step 3:
[0873] The server receives user input information and emotion information. The server simultaneously receives input data and emotion analysis data sent from a web form. The received data is used as the basis for generating program code.
[0874] Step 4:
[0875] The processing means generates program code. Based on the received user input and emotion data, the server uses a predefined template or a generative AI model (e.g., GPT-3) to generate program code with the specified processing content. For example, if the numerical value of a cell in the spreadsheet range A1:C10 is 50 or greater, program code is generated to change the background color of that cell to red. The generated program code is stored internally.
[0876] Step 5:
[0877] The generator creates a description of the program code. The server then creates a natural language description for each part of the generated program code. For example, a description such as "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red." The description and program code pair are stored internally.
[0878] Step 6:
[0879] The output means displays the results to the user. The server sends the generated program code and explanatory text to the user's device, where the user can view the code and explanations through a web browser. The interface display content is also dynamically adjusted based on the results of sentiment analysis. For example, if the user is feeling stressed, detailed guidance or additional explanations are displayed.
[0880] Step 7:
[0881] The user reviews the generated code and its explanation, re-entering conditions or asking questions as needed. For example, the user re-enters the form, asking, "How can I make this code more efficient?"
[0882] Step 8:
[0883] The optimization means optimizes the generated code. The server performs optimization of the generated program code based on questions and re-specification from the user. Optimizations include, for example, improving loop structures and improving performance through batch processing. The optimized code and its explanation are regenerated, stored internally, and resent to the user's terminal.
[0884] Step 9:
[0885] Interface adaptation through continuous emotion analysis. The emotion analyzer continuously monitors the user's emotional state and adjusts the interface in real time. For example, if the user starts to feel stressed again, it can show a detailed tutorial or a helpful video. This data is sent to a server and used to adjust the interface.
[0886] (Application example 2)
[0887] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0888] With conventional program code generation systems, users lacking programming skills or sufficient knowledge have difficulty generating the necessary program code and understanding its contents. Furthermore, they lack the ability to dynamically adjust responses and interfaces based on the user's emotional state, making it difficult to improve the user experience. Similar challenges exist in generating and optimizing program code that defines the behavior of factory robots. Therefore, there is a need for a system that can perform program code generation, optimization, user emotion recognition, and factory robot operation in an integrated manner.
[0889] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an interface means that includes information input by a user, a processing means that automatically generates program code based on the user input, a generation means that explains the contents of the program code in natural language, an output means that presents the program code and explanation to the user, an emotion recognition means that recognizes the user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface, and a means that automatically generates operation code for a robot and explains the operation content in natural language. This allows users without programming knowledge to easily generate and understand the necessary program code, enables flexible responses according to emotional states, and enables efficient programming of factory robot operations.
[0890] The "interface means containing information input by the user" is a user interface for the user to input the spreadsheet range to be processed, the processing content to be executed, conditions, and specific parameters.
[0891] The "processing means for automatically generating program code based on the user input" refers to a means for automatically generating program code based on information input by the user through the interface means.
[0892] The "means for generating a natural language explanation of the contents of the program code" refers to a means for generating text that explains in natural language the specific processing contents of each part of the generated program code.
[0893] The "output means for presenting the program code and explanation to the user" refers to a means for displaying the generated program code and its explanation in natural language on the user's terminal.
[0894] "Emotion recognition means that recognizes a user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface" refers to a means that recognizes a user's emotions in real time and dynamically adjusts the display content of the interface and the response of the application according to those emotions.
[0895] "Means for automatically generating operation code for a robot and explaining the operation content in natural language" means means for automatically generating program code that defines the operation of a factory robot and explaining the operation content of that code in natural language.
[0896] The "optimization means for optimizing the program code" refers to a means for optimizing the generated program code so that it can be executed efficiently.
[0897]
[0898] This invention provides a system that allows users without programming skills to easily generate, optimize, and understand program code. Furthermore, by incorporating an emotion recognition engine that recognizes user emotions in real time and dynamically adjusts the interface display content, the user experience is improved. The system also has the ability to automatically generate operating code for factory robots and explain the operating details in natural language.
[0899] System Overview
[0900] The system consists of the following main components:
[0901] 1. Interface means: A user interface for inputting information that the user wants to process. Specifically, it is an input interface provided via a web browser, where the user can input the spreadsheet range they want to process, the processing content they want to execute, conditions, and specific parameters.
[0902] 2. Processing means: A means for automatically generating program code based on user input. It uses natural language processing technology to generate program code that meets the user's requirements.
[0903] 3. Generation method: A method for explaining the contents of the generated program code in natural language. It generates text that specifically explains the processing of each part, making it easy for users to understand.
[0904] 4. Output means: A means for displaying the program code and its explanation on the user's terminal, allowing the user to check the generated results and understand the program's operation.
[0905] 5. Emotion recognition: Recognizing user emotions in real time and dynamically adjusting interface display content and application responses. Specifically, this uses facial recognition and tone of voice analysis technologies.
[0906] 6. Robot motion generation: A means to automatically generate motion code for factory robots and explain the details of their motion in natural language. For example, it defines the motion of a robot moving parts and assembling under specific conditions.
[0907] Specific examples
[0908] Hardware and software used
[0909] Hardware: User devices (PCs, tablets, smartphones)
[0910] Software: Web browser, server (Python, Node.js), emotion recognition API (Microsoft Azure, AWS Rekognition)
[0911] Operation example
[0912] As an example of a system in which a user operates a factory robot, the following specific input example will be described.
[0913] Example prompt sentence:
[0914] "Move part A to location B and install it using the robotic arm."
[0915] Example of an input interface:
[0916] Part: Part A
[0917] Location: Location B
[0918] Work: Installation
[0919] Program processing
[0920] The server automatically generates program code based on user input. For example, it generates code to move and install part A to location B, and provides a natural language explanation of the code. The emotion recognition engine uses facial recognition and voice analysis to recognize the user's emotions while they are operating the device, dynamically adjusting the interface display according to their stress level, etc.
[0921] This allows users to easily define and understand the robot's behavior without complex programming knowledge, enabling interactions that reduce emotional stress.
[0922] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0923] Step 1:
[0924] The user accesses the input interface provided via a web browser and enters the required information. This interface displays fields for the user to enter the spreadsheet range they want to process, the processing they want to perform, conditions, and specific parameters. The information entered by the user is sent to the server. The input data includes information about part A, location B, and the work content.
[0925] Step 2:
[0926] The server receives the information entered by the user and analyzes the data. It then uses natural language processing technology to automatically generate program code that meets the user's requirements. Specifically, it generates code to move the user-specified part A to location B and perform the task there. Code is generated in a scripting language based on the input information. The output is the generated program code.
[0927] Step 3:
[0928] The server, acting as a generation means, generates text in natural language that explains the specific processing content of each part of the generated program code. This text includes explanations that make it easier for users to understand the content of the program. For example, an explanation such as "Move part A to location B and perform installation there" is generated. The output is the generated explanation.
[0929] Step 4:
[0930] The server sends the generated program code and its explanation to the user's device. The generated results are displayed on the user's device via a web browser. The user checks the program code and its explanation and understands its contents. This allows the user to understand the work content based on the generated code. The displayed content is the program code and its explanation.
[0931] Step 5:
[0932] The emotion recognition engine analyzes the user's facial recognition and voice tone to recognize the user's emotions in real time. The server receives this emotion data and dynamically adjusts the interface display content and application response. For example, if the user is feeling stressed, the interface is configured to display simpler guidance or additional explanations. The input is the user's emotion data, and the output is the adjusted interface display.
[0933] Step 6:
[0934] The server, which acts as a robot operation generation means, automatically generates operation code for factory robots. This operation code includes a series of instructions for the robot to move part A to location B and perform installation work there, based on information entered by the user. The generated code is sent to the robot, which then executes the specified operation. The input is the user's instruction data, and the output is the code for the robot's operation.
[0935] This allows users to easily generate and understand the necessary program code even without programming knowledge, enabling flexible responses to emotional states, and enabling efficient programming of factory robot operations.
[0936] 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.
[0937] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0938] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[0939] [Fourth embodiment]
[0940] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0941] 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.
[0942] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the 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).
[0943] 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.
[0944] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0945] 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 surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0946] 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.
[0947] The control object 443 includes a display device, LEDs in the eyes, and motors for driving 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.
[0948] 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.
[0949] 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 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.
[0950] 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.
[0951] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0952] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0953] The present invention is a system that allows even users with no programming skills or who are not good at programming to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. The following describes specific embodiments of the present invention.
[0954] Interface Means
[0955] A user uses an input interface, such as Google Forms, provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, the conditions, and specific parameters (such as color and value). For example, the user might enter "A1:C10," "change cell color according to the condition," "number is greater than or equal to 50," and "red."
[0956] Processing means
[0957] The server receives the user's input information sent from the interface means. Based on this information, it starts the process of generating program code. The server generates the program code in a scripting language such as GAS or VBA using predefined templates and artificial intelligence (AI) technology (e.g., natural language processing technology).
[0958] generation means
[0959] The server, which acts as a generator, generates text in natural language that explains the specific processing content of each part of the generated program code, such as "If the value of a specified range of cells in a spreadsheet is 50 or greater, change the background color of that cell to red."
[0960] Output Method
[0961] The generated program code and its explanation are displayed on the user's terminal. The user can check the generated results through a web browser. This result includes detailed code and its explanation, allowing the user to understand how the program works.
[0962] Optimization measures
[0963] The server then optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will restructure the program code by optimizing loop structures, batch processing, and other techniques to improve performance. The regenerated code and its explanation are also displayed on the terminal.
[0964] Specific examples
[0965] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS and its explanation. For example, the code generated by this process performs an operation to change the background color of cells in the specified range that meet the condition. The generated code may also be optimized for efficient execution.
[0966] In this way, by using the system of the present invention, even users with limited programming knowledge can easily generate program code, understand its contents, and optimize it, which is expected to improve work efficiency and programming skills.
[0967] The processing flow will be explained below.
[0968] Step 1:
[0969] The user accesses Google Forms from a web browser on their device and fills in the questions provided in the form. For example, they enter the range of the spreadsheet, the process to be performed, the conditions, the color to be changed, etc.
[0970] Step 2:
[0971] The device sends the information entered by the user to the Google Forms server, which receives the submitted data and stores it in an internal database for further processing.
[0972] Step 3:
[0973] The server retrieves data stored on the Google Forms server, including the spreadsheet range, processing details, and other parameters entered by the user.
[0974] Step 4:
[0975] The server analyzes the acquired data and automatically generates program code according to the user's request. The server uses predefined templates and artificial intelligence technology to generate code that performs specific operations (such as changing the color of a cell) when certain conditions are met for a cell in a spreadsheet range.
[0976] Step 5:
[0977] The server generates a natural language description of the program code it generates, detailing what each piece of code does and how it works.
[0978] Step 6:
[0979] The server sends the generated program code and its description to the terminal, which receives it and displays it to the user.
[0980] Step 7:
[0981] The user checks the program code and its explanation displayed on the terminal. At this stage, the user understands the meaning of the code and how it works.
[0982] Step 8:
[0983] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[0984] Step 9:
[0985] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[0986] Step 10:
[0987] The server then sends the optimized program code and its description back to the terminal, which receives it and displays it to the user.
[0988] In this way, the system of the present invention is designed to break down the process into small steps, allowing users to easily generate, understand, and optimize code even without programming knowledge.
[0989] Example 1
[0990] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0991] Many users today lack programming skills, making it difficult for them to perform complex programming tasks. However, there are many situations in business and daily life where automated processes are required. Conventional systems require users to write the program code themselves, which poses a major obstacle. Furthermore, optimizing and streamlining the generated program code relies on the user's own skills, often resulting in inefficient code. Therefore, there is a need for a system that allows even non-programmers to easily generate program code, and then further understand and optimize that code.
[0992] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0993] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generation means for explaining the contents of the program code in natural language, and an optimization means for optimizing the program code in response to additional questions or instructions from the user. This allows a user without programming skills to automatically generate advanced program code, understand its contents, and further optimize it efficiently.
[0994] "Interface means" refers to the component of the system that allows the user to input information, and specifically refers to a form via a web browser.
[0995] A "processing means" is a component of the system that automatically generates program code based on information entered by a user.
[0996] The "generation means" is a component of the system that creates text that explains the contents of the generated program code in natural language.
[0997] The "output means" is a component of the system that presents the generated program code and its explanation to the user.
[0998] The "optimization means" is a component of the system that improves the efficiency and optimizes the generated program code based on additional questions and instructions from the user.
[0999] A "scripting language" is a language used as a form of program code that is generated based on user input, and includes, for example, JavaScript and VBScript.
[1000] The present invention provides a system that allows even users with limited programming skills to automatically generate, understand, and optimize program code by inputting necessary information through a simple interface. This system is composed of a combination of interface means, processing means, generation means, output means, and optimization means.
[1001] Users enter information using a form (such as a Google Form) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation they want to perform, the conditions, and specific parameters. For example, a user might enter "A1:C10," "change cell color according to a condition," "number greater than or equal to 50," and "color red."
[1002] The server receives the user's input information sent through the form and generates program code based on this information, utilizing predefined templates, generative AI models, and natural language processing technology. The generated program code is written in a commonly used scripting language (such as GAS or VBA).
[1003] The server then provides a natural language explanation of the generated program code. This explanation clearly explains what the generated code does, allowing the user to intuitively understand its contents. The specific explanation is, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[1004] The generated program code and its explanation are sent from the server to the user's device and displayed in a web browser. By checking the code and explanation, the user can understand how the program works.
[1005] The server also optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will optimize the loop structure, introduce batch processing, etc. The optimized program code and its explanation are also displayed on the user's terminal.
[1006] As a concrete example, consider a case where a user enters the following information into a form:
[1007] Spreadsheet range: A1:C10
[1008] What I want to do: Change the color of cells according to a condition
[1009] Condition: Value is 50 or more
[1010] Color:Red
[1011] The program code generated by the server based on this information changes the background color of cells in the specified range of spreadsheets to red if the numeric value is 50 or greater.
[1012] An example prompt for generating program code using a generative AI model is:
[1013] "Generate a program code to change the background color of cells in the range A1:C10 of a spreadsheet to red if the value is greater than or equal to 50."
[1014] This allows users without programming skills to automatically generate advanced program code, understand its contents, and optimize it efficiently.
[1015] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1016] Step 1:
[1017] Enter user information
[1018] The user accesses the provided form using a Web browser and enters the spreadsheet range to be processed, the processing content to be performed, the conditions, and specific parameters.
[1019] input
[1020] Spreadsheet Range: A1:C10
[1021] What I want to do: Change the color of cells according to a condition
[1022] Condition: Value is 50 or more
[1023] Specific parameters: Red
[1024] output
[1025] The information entered by the user into the form is sent to the server.
[1026] Step 2:
[1027] Receiving and analyzing user information
[1028] The server receives the user input sent through the Google form and converts it into an internal data structure.
[1029] input
[1030] The spreadsheet range, operation, conditions, and specific parameters entered by the user.
[1031] output
[1032] User-entered information after conversion into internal data structures.
[1033] Step 3:
[1034] Generate program code
[1035] The server generates program code based on the received user input, using predefined templates, generative AI models, and natural language processing techniques.
[1036] input
[1037] The converted user input information.
[1038] Data processing and calculation
[1039] It uses natural language processing technology and templates to generate program code based on specified conditions and scope.
[1040] output
[1041] Generated program code.
[1042] Step 4:
[1043] Natural language description generation
[1044] The server analyzes the contents of the generated program code and generates text that explains the processing contents in natural language.
[1045] input
[1046] Generated program code.
[1047] Data processing and calculation
[1048] Analyzes code and generates intuitive explanations in natural language.
[1049] output
[1050] The generated description.
[1051] Step 5:
[1052] Output of generated results
[1053] The server sends the generated program code and its description to the user's terminal and displays it through a web browser.
[1054] input
[1055] Generated program code and explanation.
[1056] output
[1057] The program code and description that will be displayed on the user's device.
[1058] Step 6:
[1059] Directing optimization and regeneration
[1060] The user requests the server to optimize the generated program code, for example by asking, "How can I make this code more efficient?" The server then optimizes the generated code based on the received instructions.
[1061] input
[1062] User-instructed optimization.
[1063] Data processing and calculation
[1064] The program code will be restructured by improving the efficiency of loop structures and introducing batch processing.
[1065] output
[1066] Optimized program code and its description.
[1067] Step 7:
[1068] Output of optimization results
[1069] The server then sends the optimized program code and its explanation back to the user's device and displays it through a web browser.
[1070] input
[1071] Optimized program code and descriptions.
[1072] output
[1073] Optimized program code and explanatory text displayed on the user's device.
[1074] (Application example 1)
[1075] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1076] There is a need to provide an environment in which even users without programming skills can easily configure the operation of machines and robots used in factories and operate them efficiently. In addition, a system is required that allows users to understand the contents of the generated program code and optimize it as necessary. This will help improve the operational efficiency of factories.
[1077] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1078] In this invention, the server includes an interface means for including information input by a user, a processing means for automatically generating program code based on the user input, a generating means for explaining the contents of the program code in natural language, an output means for presenting the program code and explanation to the user, a means for optimizing the program code, and a system used as an application installed on a machine that performs operation settings based on the user input, thereby enabling even users with little programming knowledge to easily set up, operate, and optimize the system.
[1079] The "interface means" is a means for a user to input information, and plays a role in exchanging data between the user and the system.
[1080] A "processing means" is a means that includes a function for automatically generating program code based on user input.
[1081] The "generation means" is a means that plays a role in generating text that explains the contents of the generated program code in natural language.
[1082] The "output means" is a means for presenting the generated program code and its explanation to the user.
[1083] "Optimization means" refers to means for improving the generated program code so that it can be executed efficiently.
[1084] The "application installed on the machine for which operation settings are to be performed" is an application for setting the operation of a machine or robot using program code generated based on user input.
[1085] In a system based on this invention, a user can use a smartphone application to configure the operation settings of a robot used in a factory. The interface means of this system includes fields for the user to input information, such as the "operation range," "operation to be performed," "conditions," and "specific parameters."
[1086] The information entered by the user is sent to a server and analyzed by the processing means. The processing means utilizes artificial intelligence technology (specifically, the OpenAI API, a generative AI model) to automatically generate program code. This program code enables the robot to execute the specified actions.
[1087] The generated program code is explained in natural language by the generating means and presented to the user. At this time, the explanation includes specific processing content, making it easier for the user to understand the operation of the code.
[1088] Furthermore, as an optimization measure, the generated program code is optimized based on additional questions or instructions from the user. For example, if the user instructs the server to "make it run more efficiently," the server will regenerate the program code by optimizing loop structures or batch processing.
[1089] For example, when a user inputs information such as "Range A1:C10" and "Change the color of cells with numbers greater than 50 to red," the server receives this information and generates code written in Google Apps Script (GAS). The following is an example of a prompt statement:
[1090] "Please generate a Google Apps Script (GAS) program code that will change the background color of cells in the spreadsheet range A1:C10 to red if the value is greater than or equal to 50."
[1091] This generated code performs the operation on the specified range of cells, changing the background color of cells that meet the condition, and may be optimized for efficient execution.
[1092] This system allows even users with little programming knowledge to easily configure the operation of robots used in factories, enabling efficient operation.
[1093] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1094] Step 1:
[1095] The user inputs the operation range, the operation to be performed, the conditions, and specific parameters via the interface of the smartphone application. For example, this input information might be "Range A1:C10" or "Change the color of cells with values greater than 50 to red." Once the input information is complete, the device sends it to the server.
[1096] Step 2:
[1097] The server uses a processing means to analyze the received user input information. Specifically, it extracts the values of each field and converts them into a data structure for use within the system. For example, the range information "A1:C10" is converted into a cell range object, and the condition "greater than or equal to 50" is converted into a conditional formula object.
[1098] Step 3:
[1099] The processing means uses the extracted information to generate program code in natural language using a generative AI model (OpenAI's API). At this time, a prompt statement is set and passed to the AI model to generate specific code. An example of a prompt statement is, "For the range A1:C10 in the spreadsheet, if the value is 50 or greater, please generate program code in Google Apps Script (GAS) that changes the background color of that cell to red."
[1100] Step 4:
[1101] The program code generated by the generative AI model is converted into a user-friendly natural language explanation by a generation means on the server. For example, an explanation could be generated such as, "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red."
[1102] Step 5:
[1103] The generated program code and its natural language explanation are sent from the server to the terminal and presented to the user via the output means. The user can check the generated code and explanation and provide corrections or additional instructions as necessary.
[1104] Step 6:
[1105] If the user provides additional instructions, the server receives them and reconstructs the generated program code using optimization techniques. For example, it can improve the efficiency of the code by revising loop processing or incorporating batch processing. The optimized program code and its explanation are then regenerated and output to the terminal.
[1106] Step 7:
[1107] Finally, the program code confirmed by the user is installed and executed in the machine to be configured (e.g., a factory robot). The user can then monitor the robot's operation status through a smartphone application and configure new operation settings as necessary.
[1108] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1109] The present invention is a system that allows even users with no or poor programming skills to input the necessary information through a simple interface, automatically generate program code, understand its contents, and optimize it. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the user experience is further improved. An embodiment of the present invention is described in detail below.
[1110] Interface Means
[1111] The user uses an input interface (e.g., Google Forms) provided via a web browser. This interface includes fields for entering the spreadsheet range the user wants to process, the operation to be performed, conditions, and specific parameters (e.g., color and value). In addition, an emotion engine recognizes the user's emotions in real time and dynamically adjusts the interface display content according to the user's emotions. For example, if the user is feeling stressed, the interface is configured to display simpler guides or additional explanations.
[1112] Processing means
[1113] The server receives the user's input information sent from the interface means and the emotion information from the emotion engine. Based on this information, it starts a process of generating program code. The server uses predefined templates and artificial intelligence technology (e.g., natural language processing technology) to generate program code that meets the user's requirements. For example, code is generated that performs a specific process (e.g., changes the color of a cell) when a condition is met for a cell in a range of a spreadsheet.
[1114] generation means
[1115] The server, acting as the generation means, generates text in natural language that explains the specific processing details of each part of the generated program code. For example, the explanation may include, "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red." Furthermore, based on the user's emotional information recognized by the emotion engine, the explanation content is adjusted according to the user's level of understanding and emotional state.
[1116] Output Method
[1117] The generated program code and its explanation are displayed on the user's device. The user can check the generated results through a web browser. The results include detailed code and explanations, allowing the user to understand how the program works. Furthermore, the display content and explanations are dynamically adjusted according to the user's emotions, improving the user experience.
[1118] Optimization measures
[1119] Furthermore, the server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will reconstruct the program code using techniques such as optimizing loop structures and batch processing to improve performance. The regenerated code and its explanation are also displayed on the terminal. In addition, the emotion engine recognizes the user's emotions in real time during operation and dynamically adjusts the operation and output content of the optimization means according to the emotions.
[1120] Specific examples
[1121] When a user enters information into a Google form, such as "Spreadsheet range A1:C10," "Change cell color according to a condition," "Numbers greater than or equal to 50," and "Red," the server receives this information and generates code written in GAS along with an explanation. For example, the code generated by this process executes an operation to change the background color of cells in the specified range that meet the condition. Additionally, if the user feels stressed, the interface and generation means provide more detailed guidance and additional explanations.
[1122] In this way, the system of the present invention breaks down processing into steps and is designed to allow users without programming knowledge to easily generate, understand, and optimize code. Furthermore, by combining emotion engines, it is possible to flexibly respond to the user's emotional state, further improving the user experience.
[1123] The processing flow will be explained below.
[1124] Step 1:
[1125] Users access Google Forms from a web browser on their device and enter information in response to questions in the form, such as the range of the spreadsheet, the process to be performed, the conditions, and the color to be changed.
[1126] Step 2:
[1127] The device sends the user's input information to the Google Forms server, which receives the data and stores it in an internal database for further processing.
[1128] Step 3:
[1129] The emotion engine recognizes the user's emotions in real time. It analyzes emotions based on input information such as the user's facial expressions and tone of voice, and sends the resulting emotional data to the server.
[1130] Step 4:
[1131] The server retrieves user input data stored on the Google Forms server and emotion data from the emotion engine, and analyzes the user's request and emotional state based on the retrieved data.
[1132] Step 5:
[1133] The server automatically generates appropriate program code based on the user's request data. It uses predefined templates and artificial intelligence technology (such as natural language processing) to generate program code that meets certain conditions. For example, it generates code to change the color of cells in a spreadsheet range when certain conditions are met.
[1134] Step 6:
[1135] The server generates text in natural language to explain the content of the generated code based on the user's emotional state, such as "For the specified range of cells in a spreadsheet, if the value is greater than or equal to 50, change the background color of the cell to red."
[1136] Step 7:
[1137] The server sends the generated program code and its description to the terminal, which displays them to the user.
[1138] Step 8:
[1139] The user checks the program code and its explanation displayed on the device. At this stage, the user can understand the meaning of the code and its operation. Furthermore, the content displayed on the interface is dynamically adjusted according to the emotions recognized by the emotion engine, allowing the user to continue operating with reduced stress and anxiety.
[1140] Step 9:
[1141] If the user enters a follow-up question or instruction, the device sends it back to the server, including specific instructions such as "How can I make this code more efficient?"
[1142] Step 10:
[1143] The server then optimizes the generated program code based on additional questions and instructions, optimizing loops and batch processing in the code, and restructuring it to run efficiently.
[1144] Step 11:
[1145] The server then sends the optimized program code and its explanation back to the terminal, which receives it and displays it to the user, who can review the displayed content, make any necessary changes or optimizations, and deepen their understanding of the program code.
[1146] In this way, the system of the present invention can generate, explain, and optimize program code by combining user input information and emotion data, allowing users without programming knowledge to easily generate, understand, and optimize code, further improving the user experience.
[1147] Example 2
[1148] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1149] Conventional automatic program code generation systems have the problem that they are difficult to operate if the user does not have programming skills, and the generated code is difficult to understand and optimize. In addition, they do not take into account the user's emotional state, making it impossible to reduce the stress and difficulties that arise during operation.
[1150] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1151] In this invention, the server includes an interface means for including information input by a user, an emotion analysis means for recognizing and analyzing emotions, a processing means for automatically generating program code based on the user input and emotion analysis, a generation means for explaining the content of the program code in natural language, and an output means for adjusting and presenting the program code and explanation according to the user's emotions. This allows users without programming skills to easily generate program code, making its content easy to understand, and enabling adaptation according to the user's emotional state through emotion analysis.
[1152] The "interface means" refers to a means for collecting information input by a user, and includes, for example, an input form provided via a web browser.
[1153] "Emotion analysis means" refers to means for recognizing and analyzing a user's emotions, and includes technology for analyzing the user's biometric data, such as voice tone and facial expressions, in real time.
[1154] "Processing means" refers to means for automatically generating program code based on user input and sentiment analysis, including natural language processing techniques and processing using predefined templates.
[1155] The "generation means" is a means for explaining the contents of the generated program code in natural language, and includes a function for explaining the generated code in a format that is easy for humans to understand.
[1156] The "output means" is a means for displaying the program code and explanation to the user, and includes a function for dynamically adjusting the display content according to the emotional state of the user.
[1157] The "optimization means" is a means for optimizing the generated program code to improve its performance, and includes a function for reconstructing the code based on additional questions or requests from the user.
[1158] A "scripting language" is a type of program code that is generated based on user input and includes a programming language that can be easily and quickly executed.
[1159] This system allows even users with no or poor programming skills to easily generate, understand, and optimize program code. Furthermore, by combining it with an emotion analysis engine that recognizes user emotions and dynamically adjusts the interface, the user experience can be improved.
[1160] Interface Means
[1161] The user interacts with an input form provided via a web browser. This interface, such as a Google Form, includes fields for the user to enter the spreadsheet range they want to process, the operation they want to perform, the conditions, and specific parameters (e.g., color and value). Examples of inputs include "Spreadsheet range A1:C10" and "Color red if the value is greater than or equal to 50."
[1162] Emotion analysis means
[1163] The device is equipped with an emotion engine that analyzes biometric data such as voice tone and facial expressions in real time. This emotion analysis means recognizes emotions, such as when the user is feeling stressed, and transmits the emotions to the server. Based on the results of the emotion analysis, the interface display content is dynamically adjusted. For example, if the user is feeling stressed, the interface will provide simpler guidance or additional explanations.
[1164] Processing means
[1165] The server receives user input information sent from the interface means and emotion information from the emotion analysis means. Based on this information, it generates program code using a predefined template or a generative AI model (e.g., GPT-3). The generated code executes a process such as "if the numeric value of a cell in the spreadsheet range A1:C10 is 50 or greater, change the background color of that cell to red."
[1166] generation means
[1167] The server, which acts as a generator, generates a natural language explanation for each part of the generated program code, such as "For a specified range of spreadsheet cells, if the value is 50 or greater, change the background color of that cell to red."
[1168] Output Method
[1169] The generated program code and its explanation are displayed on the user's device. Users can check the results through a web browser. Furthermore, the display content and explanation are adjusted based on sentiment analysis, making it easier for users to understand the generated program code.
[1170] Optimization measures
[1171] The server optimizes the generated program code based on additional questions or instructions from the user. For example, if the user asks, "How can I make this code more efficient?", the server will use optimization techniques to improve loop structures or batch processing to improve performance. The optimized code and its explanation are also displayed on the user's device. The results of sentiment analysis are reflected in the explanation provided, based on the user's level of understanding and emotional state.
[1172] Specific examples
[1173] An example of a prompt is, "Generate Google Apps Script code to change the background color of cells in the spreadsheet range A1:C10 where the value is greater than or equal to 50 to red." In this way, the system of the present invention allows users to easily generate, understand, and optimize code without any programming knowledge. Furthermore, the sentiment analysis engine enables dynamic responses based on the user's emotional state, improving the user experience.
[1174] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1175] Step 1:
[1176] The user accesses the input interface. The user accesses the input form provided via a web browser, where they enter the spreadsheet range, the operation they want to perform, the conditions, and specific parameters. The input data (e.g., "Spreadsheet range A1:C10," "Change color to red if the number is greater than or equal to 50") is provided by the user and submitted to the web form.
[1177] Step 2:
[1178] The emotion analysis means analyzes the user's emotions. The device collects real-time biometric data such as voice tone and facial expressions, and performs emotion analysis. Analysis data (e.g., whether the user is feeling stressed) is generated and the results are sent to the server.
[1179] Step 3:
[1180] The server receives user input information and emotion information. The server simultaneously receives input data and emotion analysis data sent from a web form. The received data is used as the basis for generating program code.
[1181] Step 4:
[1182] The processing means generates program code. Based on the received user input and emotion data, the server uses a predefined template or a generative AI model (e.g., GPT-3) to generate program code with the specified processing content. For example, if the numerical value of a cell in the spreadsheet range A1:C10 is 50 or greater, program code is generated to change the background color of that cell to red. The generated program code is stored internally.
[1183] Step 5:
[1184] The generator creates a description of the program code. The server then creates a natural language description for each part of the generated program code. For example, a description such as "For the specified range of cells in a spreadsheet, if the value is 50 or greater, change the background color of that cell to red." The description and program code pair are stored internally.
[1185] Step 6:
[1186] The output means displays the results to the user. The server sends the generated program code and explanatory text to the user's device, where the user can view the code and explanations through a web browser. The interface display content is also dynamically adjusted based on the results of sentiment analysis. For example, if the user is feeling stressed, detailed guidance or additional explanations are displayed.
[1187] Step 7:
[1188] The user reviews the generated code and its explanation, re-entering conditions or asking questions as needed. For example, the user re-enters the form, asking, "How can I make this code more efficient?"
[1189] Step 8:
[1190] The optimization means optimizes the generated code. The server performs optimization of the generated program code based on questions and re-specification from the user. Optimizations include, for example, improving loop structures and improving performance through batch processing. The optimized code and its explanation are regenerated, stored internally, and resent to the user's terminal.
[1191] Step 9:
[1192] Interface adaptation through continuous emotion analysis. The emotion analyzer continuously monitors the user's emotional state and adjusts the interface in real time. For example, if the user starts to feel stressed again, it can show a detailed tutorial or a helpful video. This data is sent to a server and used to adjust the interface.
[1193] (Application example 2)
[1194] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1195] With conventional program code generation systems, users lacking programming skills or sufficient knowledge have difficulty generating the necessary program code and understanding its contents. Furthermore, they lack the ability to dynamically adjust responses and interfaces based on the user's emotional state, making it difficult to improve the user experience. Similar challenges exist in generating and optimizing program code that defines the behavior of factory robots. Therefore, there is a need for a system that can perform program code generation, optimization, user emotion recognition, and factory robot operation in an integrated manner.
[1196] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an interface means that includes information input by a user, a processing means that automatically generates program code based on the user input, a generation means that explains the contents of the program code in natural language, an output means that presents the program code and explanation to the user, an emotion recognition means that recognizes the user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface, and a means that automatically generates operation code for a robot and explains the operation content in natural language. This allows users without programming knowledge to easily generate and understand the necessary program code, enables flexible responses according to emotional states, and enables efficient programming of factory robot operations.
[1197] The "interface means containing information input by the user" is a user interface for the user to input the spreadsheet range to be processed, the processing content to be executed, conditions, and specific parameters.
[1198] The "processing means for automatically generating program code based on the user input" refers to a means for automatically generating program code based on information input by the user through the interface means.
[1199] The "means for generating a natural language explanation of the contents of the program code" refers to a means for generating text that explains in natural language the specific processing contents of each part of the generated program code.
[1200] The "output means for presenting the program code and explanation to the user" refers to a means for displaying the generated program code and its explanation in natural language on the user's terminal.
[1201] "Emotion recognition means that recognizes a user's emotions in real time using an emotion recognition engine and dynamically adjusts the display content of the interface" refers to a means that recognizes a user's emotions in real time and dynamically adjusts the display content of the interface and the response of the application according to those emotions.
[1202] "Means for automatically generating operation code for a robot and explaining the operation content in natural language" means means for automatically generating program code that defines the operation of a factory robot and explaining the operation content of that code in natural language.
[1203] The "optimization means for optimizing the program code" refers to a means for optimizing the generated program code so that it can be executed efficiently.
[1204]
[1205] This invention provides a system that allows users without programming skills to easily generate, optimize, and understand program code. Furthermore, by incorporating an emotion recognition engine that recognizes user emotions in real time and dynamically adjusts the interface display content, the user experience is improved. The system also has the ability to automatically generate operating code for factory robots and explain the operating details in natural language.
[1206] System Overview
[1207] The system consists of the following main components:
[1208] 1. Interface means: A user interface for inputting information that the user wants to process. Specifically, it is an input interface provided via a web browser, where the user can input the spreadsheet range they want to process, the processing content they want to execute, conditions, and specific parameters.
[1209] 2. Processing means: A means for automatically generating program code based on user input. It uses natural language processing technology to generate program code that meets the user's requirements.
[1210] 3. Generation method: A method for explaining the contents of the generated program code in natural language. It generates text that specifically explains the processing of each part, making it easy for users to understand.
[1211] 4. Output means: A means for displaying the program code and its explanation on the user's terminal, allowing the user to check the generated results and understand the program's operation.
[1212] 5. Emotion recognition: Recognizing user emotions in real time and dynamically adjusting interface display content and application responses. Specifically, this uses facial recognition and tone of voice analysis technologies.
[1213] 6. Robot motion generation: A means to automatically generate motion code for factory robots and explain the details of their motion in natural language. For example, it defines the motion of a robot moving parts and assembling under specific conditions.
[1214] Specific examples
[1215] Hardware and software used
[1216] Hardware: User devices (PCs, tablets, smartphones)
[1217] Software: Web browser, server (Python, Node.js), emotion recognition API (Microsoft Azure, AWS Rekognition)
[1218] Operation example
[1219] As an example of a system in which a user operates a factory robot, the following specific input example will be described.
[1220] Example prompt sentence:
[1221] "Move part A to location B and install it using the robotic arm."
[1222] Example of an input interface:
[1223] Part: Part A
[1224] Location: Location B
[1225] Work: Installation
[1226] Program processing
[1227] The server automatically generates program code based on user input. For example, it generates code to move and install part A to location B, and provides a natural language explanation of the code. The emotion recognition engine uses facial recognition and voice analysis to recognize the user's emotions while they are operating the device, dynamically adjusting the interface display according to their stress level, etc.
[1228] This allows users to easily define and understand the robot's behavior without complex programming knowledge, enabling interactions that reduce emotional stress.
[1229] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1230] Step 1:
[1231] The user accesses the input interface provided via a web browser and enters the required information. This interface displays fields for the user to enter the spreadsheet range they want to process, the processing they want to perform, conditions, and specific parameters. The information entered by the user is sent to the server. The input data includes information about part A, location B, and the work content.
[1232] Step 2:
[1233] The server receives the information entered by the user and analyzes the data. It then uses natural language processing technology to automatically generate program code that meets the user's requirements. Specifically, it generates code to move the user-specified part A to location B and perform the task there. Code is generated in a scripting language based on the input information. The output is the generated program code.
[1234] Step 3:
[1235] The server, acting as a generation means, generates text in natural language that explains the specific processing content of each part of the generated program code. This text includes explanations that make it easier for users to understand the content of the program. For example, an explanation such as "Move part A to location B and perform installation there" is generated. The output is the generated explanation.
[1236] Step 4:
[1237] The server sends the generated program code and its explanation to the user's device. The generated results are displayed on the user's device via a web browser. The user checks the program code and its explanation and understands its contents. This allows the user to understand the work content based on the generated code. The displayed content is the program code and its explanation.
[1238] Step 5:
[1239] The emotion recognition engine analyzes the user's facial recognition and voice tone to recognize the user's emotions in real time. The server receives this emotion data and dynamically adjusts the interface display content and application response. For example, if the user is feeling stressed, the interface is configured to display simpler guidance or additional explanations. The input is the user's emotion data, and the output is the adjusted interface display.
[1240] Step 6:
[1241] The server, which acts as a robot operation generation means, automatically generates operation code for factory robots. This operation code includes a series of instructions for the robot to move part A to location B and perform installation work there, based on information entered by the user. The generated code is sent to the robot, which then executes the specified operation. The input is the user's instruction data, and the output is the code for the robot's operation.
[1242] This allows users to easily generate and understand the necessary program code even without programming knowledge, enabling flexible responses to emotional states, and enabling efficient programming of factory robot operations.
[1243] 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.
[1244] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1245] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1246] 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.
[1247] FIG. 9 is a diagram illustrating 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 actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect 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.
[1248] 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.
[1249] 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).
[1250] 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, automobiles, 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 Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1251] 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."
[1252] 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.
[1253] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1254] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1255] 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.
[1256] 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.
[1257] 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.
[1258] The hardware resource for executing a specific process can be any of the following processors: An example of a processor 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. Another example of a processor is 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.
[1259] The hardware resource that executes the specific processing 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 processing may be a single processor.
[1260] 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.
[1261] 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.
[1262] 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.
[1263] 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.
[1264] The following is further disclosed regarding the above embodiment.
[1265] (Claim 1)
[1266] an interface means containing information to be input by a user;
[1267] processing means for automatically generating program code based on the user input;
[1268] a generating means for explaining the contents of the program code in natural language;
[1269] output means for presenting the program code and a description to a user;
[1270] A system including:
[1271] (Claim 2)
[1272] 2. The system of claim 1, further comprising an optimization means for optimizing the program code.
[1273] (Claim 3)
[1274] 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
[1275] "Example 1"
[1276] (Claim 1)
[1277] an interface means containing information to be input by a user;
[1278] processing means for automatically generating program code based on the user input;
[1279] a generating means for explaining the contents of the program code in natural language;
[1280] output means for presenting the program code and a description to a user;
[1281] an optimization means for optimizing program code in response to additional questions or instructions from the user;
[1282] A system including:
[1283] (Claim 2)
[1284] 2. The system according to claim 1, wherein the optimization means improves the efficiency of loop structures and introduces batch processing.
[1285] (Claim 3)
[1286] 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
[1287] "Application Example 1"
[1288] (Claim 1)
[1289] an interface means containing information to be input by a user;
[1290] processing means for automatically generating program code based on the user input;
[1291] a generating means for explaining the contents of the program code in natural language;
[1292] output means for presenting the program code and a description to a user;
[1293] means for optimizing said program code;
[1294] The system is characterized in that it is used as an application installed on a machine that performs operation settings based on the user input.
[1295] A system including:
[1296] (Claim 2)
[1297] 2. The system of claim 1, further comprising an optimization means for optimizing the program code.
[1298] (Claim 3)
[1299] 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
[1300] "Example 2: Combining Emotion Engines"
[1301] (Claim 1)
[1302] an interface means containing information to be input by a user;
[1303] emotion analysis means for recognizing and analyzing emotions;
[1304] processing means for automatically generating program code based on the user input and sentiment analysis;
[1305] a generating means for explaining the contents of the program code in natural language;
[1306] an output means for adjusting the program code and explanation according to the user's emotions and presenting the same;
[1307] A system including:
[1308] (Claim 2)
[1309] 2. The system of claim 1, further comprising an optimization means for optimizing the program code.
[1310] (Claim 3)
[1311] 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
[1312] "Application example 2 when combining emotion engines"
[1313] (Claim 1)
[1314] an interface means containing information to be input by a user;
[1315] processing means for automatically generating program code based on the user input;
[1316] a generating means for explaining the contents of the program code in natural language;
[1317] output means for presenting the program code and a description to a user;
[1318] an emotion recognition means for recognizing a user's emotion in real time using an emotion recognition engine and dynamically adjusting the content displayed on the interface;
[1319] A system including:
[1320] (Claim 2)
[1321] 2. The system of claim 1, further comprising an optimization means for optimizing the program code.
[1322] (Claim 3)
[1323] 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
[1324] (Claim 4)
[1325] 2. The system according to claim 1, further comprising means for automatically generating an operation code for the robot and explaining the operation content in natural language.
[1326] (Claim 5)
[1327] 2. The system according to claim 1, wherein the emotion recognition means recognizes the user's stress and satisfaction in real time and dynamically adjusts the response of the interface and application. [Explanation of symbols]
[1328] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. an interface means containing information to be input by a user; processing means for automatically generating program code based on the user input; a generating means for explaining the contents of the program code in natural language; output means for presenting the program code and a description to a user; A system including:
2. 2. The system of claim 1, further comprising optimization means for optimizing said program code.
3. 2. The system of claim 1, wherein the program code generated based on the user input is in a scripting language.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A