system

A system that analyzes code in real-time using a large-scale language model and generates visualizations helps engineers improve code quality and efficiency by providing immediate feedback and simulating changes, addressing the challenge of adapting to rapid technological advancements.

JP2026102151APending Publication Date: 2026-06-23SOFTBANK GROUP CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-12-11
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Engineers face challenges in keeping up with technological advancements, as existing code review methods lack real-time improvement suggestions and learning support, leading to decreased code quality and efficiency.

Method used

A system that analyzes program code in real-time using a large-scale language model, provides feedback in natural language, generates visual representations, and simulates code changes to improve code quality and efficiency.

Benefits of technology

Enables engineers to efficiently and continuously develop code by providing immediate feedback and visualizations, allowing them to adapt to the latest technological trends with confidence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026102151000001_ABST
    Figure 2026102151000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] The software code written by the user Means of receiving in real time, A means of analyzing received software code and providing feedback in natural language, A means for generating data that visually represents the structure of software code, A means of simulating the impact of changes to software code, Means for describing and analyzing control programs for automatic control systems, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, 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

Summary of the Invention

Problems to be Solved by the Invention

[0004] In modern engineering environments, the evolution of technology is advancing very rapidly, making it extremely difficult for engineers to keep up with the latest technology trends and best practices. As a result, the quality of code and development efficiency decline, and engineers may also have anxiety about the evolution of technology. In addition, existing code review methods lack real - time improvement suggestions and learning support, so engineers have the problem that it is difficult to achieve efficient knowledge acquisition and code improvement.

Means for Solving the Problems

[0005] This invention provides a system for receiving and analyzing program code in real time. This system includes means for analyzing program code using a large-scale language model and generating feedback in natural language. It also provides means for using image generation technology to generate a visual representation of the program code, enabling users to intuitively understand the code structure. Furthermore, by including means for simulating the impact of code changes, it enables engineers to improve code quality more efficiently and continuously develop based on the latest technological trends.

[0006] A "user" is a person who uses the system to write program code and receive real-time feedback on that code.

[0007] "Program code" refers to a set of instructions used by engineers when developing computer programs, written to implement specific functions or algorithms.

[0008] "Real-time" refers to a concept where the time between a user writing code and receiving analysis and feedback on it is extremely short, resulting in immediate processing.

[0009] "Means of receiving" refers to the functions and processes for obtaining program code sent by the user, and is a technology possessed by the system as a preliminary step before analyzing that code.

[0010] "Means of analysis" refers to processes and technologies for automatically evaluating the content of received program code and identifying problems and areas for improvement.

[0011] "Means of providing feedback in natural language" refers to a function that converts analysis results into language that is easy for users to understand and communicates information for improving and optimizing the code.

[0012] "Visually represented data" refers to information that concretely depicts the structure and processing flow of program code as graphs and diagrams, helping users to understand it intuitively.

[0013] "Image generation technology" refers to computer technology for automatically generating visually represented data, and is a means of dynamically drawing flowcharts, architectural diagrams, and other similar images.

[0014] "Simulation techniques" refer to methods for virtually calculating how changes to program code will affect the entire system and then analyzing the results. [Brief explanation of the drawing]

[0015] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.

Mode for Carrying Out the Invention

[0016] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

[0017] First, the terms used in the following description will be explained.

[0018] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), and the like.

[0019] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.

[0020] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.

[0021] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0023] [First Embodiment]

[0024] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

[0025] As shown in Figure 1, the 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.

[0026] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0027] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.

[0028] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.

[0029] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0030] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

[0031] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0032] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.

[0033] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0034] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0035] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0036] To implement this invention, an environment is provided in which a user can write programs on a dedicated terminal. The terminal is equipped with a communication function for sending the code written by the user to a server in real time. When the user enters code, it is sent to the server in real time and analysis begins.

[0037] The server analyzes the received code using a large-scale language model. This generates feedback on the code's quality and efficiency in natural language. The server immediately sends this feedback back to the user's terminal, allowing the user to review it and modify the code as needed.

[0038] Furthermore, the server uses image generation technology to generate data that visualizes the structure and logic flow of the program code. This data is displayed on the user's terminal as flowcharts and architecture diagrams, allowing the user to gain a deeper overall understanding of the code.

[0039] The server also has a simulation function that predicts how changes to the code will affect other parts of the system. These simulation results are also provided to the user, allowing them to identify potential problems before modifying the code.

[0040] As a concrete example, consider a scenario where a user is implementing a new sorting algorithm. As the user begins writing code on their device, that code is sent to the server. The server analyzes the received code and provides feedback, such as, "This algorithm may become time-inefficient when the input data is large." Furthermore, it generates a flowchart illustrating the algorithm's flow and displays it on the server, allowing the user to understand it visually. Additionally, a simulation function can predict performance changes as the data volume increases, alerting the user to these changes.

[0041] In this way, users are constantly provided with an environment where they can improve their code and learn efficiently. This allows engineers to confidently keep up with technological advancements and proceed with the development process with peace of mind.

[0042] The following describes the processing flow.

[0043] Step 1:

[0044] The user writes program code in the terminal's text editor. The terminal detects that code has been entered and automatically prepares to send that code to the server.

[0045] Step 2:

[0046] The server receives the program code sent from the terminal. The server inputs the received code into a large-scale language model and begins analysis.

[0047] Step 3:

[0048] The server uses a large-scale language model to analyze the syntax, algorithmic efficiency, and redundancy of the code, and generates feedback. The generated feedback is written in natural language.

[0049] Step 4:

[0050] The server sends the generated feedback to the user's device. The device receives this feedback and displays it on the user's editor screen, allowing the user to review the content.

[0051] Step 5:

[0052] Users modify and optimize the code based on the feedback displayed on their device. If necessary, users rewrite the code and submit it to the system.

[0053] Step 6:

[0054] The server utilizes image generation technology to create flowcharts and architecture diagrams of program code. This visualized data is a means of intuitively understanding the structure of the code.

[0055] Step 7:

[0056] Visualized data sent from the server is displayed on the terminal. Through this data, the user visually understands the logic flow and overall structure of the code.

[0057] Step 8:

[0058] The server utilizes simulation AI to predict the impact of code changes. The predicted results highlight potential impacts on performance and dependencies.

[0059] Step 9:

[0060] The simulation results are sent from the server to the terminal, helping the user understand potential problems and areas for improvement, and enabling them to make appropriate code changes. Based on this information, the user can further refine the code and continue development.

[0061] (Example 1)

[0062] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0063] In program code development, manually evaluating code quality and efficiency, understanding its structure, and predicting the impact of code changes presents challenges such as being time-consuming, labor-intensive, and inefficient. Furthermore, because developers perform these processes independently, they face significant burdens in terms of learning and optimization.

[0064] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0065] In this invention, the server includes means for receiving programs in real time, means for analyzing programs and providing feedback in natural language, means for generating and displaying the program structure as visual data, and means for predicting the impact of program changes on other components. This enables developers to effectively improve code quality, deepen their overall understanding, and easily predict the impact of changes.

[0066] A "terminal device" is a computer device that allows users to input programs and check the processing results.

[0067] A "program" is a set of instructions that a computer can execute, and is code written to accomplish a specific process.

[0068] "Real-time reception" refers to communication technology that instantly sends a program entered by a user to a server and immediately begins processing it.

[0069] "Analysis" is a computational process that evaluates the content of a received program and makes judgments about its quality and efficiency.

[0070] "Methods for providing feedback in natural language" refer to technologies that convert analysis results into natural language that is easy for humans to understand and then respond to the user.

[0071] "Visual data" refers to information that illustrates the structure and flow of a program, making it intuitively understandable to users.

[0072] "Image generation technology" refers to computer vision and graphics generation technologies used to visualize the contents of a program.

[0073] "Means of predicting impact" refers to simulation techniques that calculate and predict in advance the impact that program changes will have on other parts of the system.

[0074] A "high-performance language model" is a large-scale machine learning algorithm designed to enable advanced analysis in natural language processing.

[0075] To implement this invention, the following hardware and software are used. The user writes a program using a specific terminal device. This terminal device is equipped with communication functions for sending the code to a server in real time. The server is based on a high-performance computer and utilizes a generative AI model for program analysis. This model refers to, for example, GPT-3® or a similar advanced natural language processing model.

[0076] The server analyzes the received program and generates feedback on its quality and efficiency in natural language. This feedback is immediately sent back to the user's terminal device, where the user can review it and use it to improve the program.

[0077] Furthermore, the server uses image generation technology to convert the program's structure and logic flow into visual data. This data is provided to the user in the form of flowcharts and other formats, and is displayed on terminal devices to facilitate understanding of the code.

[0078] Furthermore, the simulation function is used to predict the impact of program changes on other parts of the system. This allows users to identify potential problems in advance and develop programs more efficiently.

[0079] As a concrete example, when a user implements a new sorting algorithm, the code they write on their terminal is sent to the server. The server analyzes this code and provides feedback such as, "This algorithm may become time-inefficient when the input data is large." A flowchart showing the algorithm's flow is also generated, which the user can use to optimize the algorithm. Furthermore, the server can predict performance changes when the amount of data increases through simulation and provide warnings.

[0080] The following is an example of a prompt message when using a generative AI model.

[0081] Please evaluate the quality and efficiency of the following code snippet. Also, please specify any areas for improvement.

[0082] Code snippet:

[0083] Insert the code written by the user.

[0084] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0085] Step 1:

[0086] The user inputs program code using a terminal device. The input data is the user's own program description, and its specific operation involves inputting it using a programming language editor. In this process, the user writes code necessary for a particular application, such as sorting algorithms and data processing logic.

[0087] Step 2:

[0088] The terminal receives code in real time and sends it to the server. The input is program code written by the user, and the output is the transmission of code to the server. Specific operations include securely and efficiently delivering the code to the server via network communication.

[0089] Step 3:

[0090] The server analyzes the received program code. The input is the program code sent from the terminal, and the output is the analysis result. The server uses a generative AI model to create a prompt message and then begins its analysis. Specific operations include code analysis using advanced natural language processing and evaluation of algorithm performance.

[0091] Step 4:

[0092] The server generates feedback in natural language regarding the quality and efficiency of the program based on the analysis results. The input is analysis data obtained from a generative AI model, and the output is user-understandable natural language feedback. Specific operations include creating feedback using a text generation algorithm.

[0093] Step 5:

[0094] The server generates visual data (flowcharts and architecture diagrams) to visually represent the program's structure and logic flow. The input is structural information of the analyzed program code, and the output is visual data. Specific operations include data visualization using image generation technology.

[0095] Step 6:

[0096] The server predicts the impact of program changes on other configurations. The input is user program change information, and the output is the predicted impact. Specific operations include behavioral simulations that take into account the code change history.

[0097] Step 7:

[0098] The user reviews feedback and visual data provided by the server on their terminal and modifies the program as needed. The input is the feedback and visual data returned from the server, and the output is the improved program code. Specific actions include modifying the code and re-evaluating the data on the terminal.

[0099] (Application Example 1)

[0100] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0101] In the development of automated control systems, there is a need to write and analyze program code in real time to design efficiently and safely. However, with conventional systems, it is difficult to grasp in advance the impact of program changes on the entire system, and there are limitations to visually understanding the overall structure of the program. The challenge is to solve these problems and provide an environment that allows for more effective program improvement.

[0102] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0103] In this invention, the server includes means for receiving software code in real time, means for analyzing the received code and providing feedback in natural language, means for generating data that visually represents the structure of the code, means for simulating the effects of code changes, and means for writing and analyzing the control program of the automatic control system. This enables developers to efficiently and safely improve the program code of the automatic control system and to accelerate the design process.

[0104] A "user" is a person who uses a system to write program code and have it analyzed.

[0105] "Software code" is the text of a program that describes the instructions that a computer will execute.

[0106] "Real-time" is a tense that means that processing takes place immediately the moment an event occurs.

[0107] "Means of receiving" refers to the processes and technologies used to acquire data from external sources.

[0108] "Analysis" is the process of breaking down a received program and evaluating its structure and quality.

[0109] "Means of providing feedback in natural language" refers to technologies for presenting analysis results in a language that humans can understand.

[0110] "Visually represented data" refers to data structures that display information visually using diagrams and charts.

[0111] "Means of simulation" are virtual experimental techniques used to predict behavior under specific conditions.

[0112] An "automatic control system" is a system that operates and manages autonomously through a program.

[0113] A "control program" is a series of instructions that guide the operation of an automatic control system.

[0114] The system for implementing this invention requires a user terminal, a server, and a cloud computing platform. The user writes software code using a terminal with a dedicated application installed. The written code is sent to the server in real time.

[0115] The servers are built on a cloud platform with advanced computing power, where large-scale language models are used to analyze incoming code. The analysis results are fed back in natural language using a generative AI model and immediately returned to the user's terminal. This feedback concerns the quality and efficiency of the code, providing guidance for the user to improve their code.

[0116] Furthermore, the server uses image generation technology to create flowcharts and architecture diagrams that visually represent the structure of the software code. This allows users to gain a deeper overall understanding of the code. In addition, the server simulates the impact of code changes and predicts the potential effects of those changes on other parts of the system. These simulation results are also provided to the user.

[0117] Users can leverage this real-time feedback and simulation to efficiently and safely design and improve control programs for automated control systems. For example, when a user is writing an obstacle detection algorithm for an autonomous vehicle, the received code is analyzed, and feedback is provided highlighting areas for improvement and points to be aware of.

[0118] A concrete example of a prompt message would be: "Analyze the code for the obstacle detection algorithm of the autonomous vehicle and provide feedback on its efficiency and safety. Additionally, generate a flowchart of the code and include warnings where false positives may occur." This allows users to receive practical feedback and build a better system.

[0119] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0120] Step 1:

[0121] The user writes software code on the device.

[0122] Input: Software code written by the user.

[0123] Output: The written code will be prepared on the terminal.

[0124] Specific operation: The user opens a dedicated application and enters software code using a code editor. This code is prepared in real time for the next process.

[0125] Step 2:

[0126] The device sends the code it contains to the server in real time.

[0127] Input: Software code written by the user on the terminal.

[0128] Output: The transmitted code arrives at the server.

[0129] Specific operation: The terminal uses its network communication function to send code to the server. The server then receives the code and immediately prepares for analysis.

[0130] Step 3:

[0131] The server analyzes the code using a large-scale language model.

[0132] Input: Software code sent from the terminal to the server.

[0133] Output: Code analysis results and natural language feedback.

[0134] Specific operation: The server inputs the received code into a large-scale language model (e.g., a generative AI model) and performs analysis on the code's quality and efficiency. Based on the analysis results, it generates feedback in natural language.

[0135] Step 4:

[0136] The server visualizes the code structure.

[0137] Input: Software code analyzed by the server.

[0138] Output: Code flowcharts and architecture diagrams.

[0139] Specific operation: The server utilizes image generation technology to visualize the code structure and logic flow. This data is saved for the user to review later.

[0140] Step 5:

[0141] The server simulates the impact of code changes.

[0142] Input: Software code analyzed by the server.

[0143] Output: Potential impact information as a result of the simulation.

[0144] Specific operation: The server uses simulation capabilities to predict the impact of code changes on the entire system. Based on these predictions, it generates information about the likelihood of problems occurring.

[0145] Step 6:

[0146] The server performs analysis and visualization, and sends the simulation results back to the user's terminal.

[0147] Input: Analysis results, visualization data, simulation results.

[0148] Output: The set of information displayed on the user's terminal.

[0149] Specific operation: The server sends feedback, visualization data, and simulation results back to the user's terminal via the network. The user can review this and gain a better understanding of areas for improvement and potential problems in the code.

[0150] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0151] To implement this invention, a terminal for the user to write program code and a server that provides analysis and feedback must be connected via a network. In addition, an emotion engine capable of recognizing the user's emotions in real time is implemented.

[0152] When a user writes program code in a text editor on their device, the device sends that code to a server. The server analyzes the received code using a large-scale language model and generates feedback in natural language based on the results. The feedback is adjusted to take into account the user's current emotional state; for example, if the user is feeling frustrated, the feedback is adjusted to present suggestions for improvement in a gentler tone to increase the user's sense of security.

[0153] Furthermore, to aid visual understanding, the server uses image generation technology to create flowcharts and architecture diagrams that illustrate the code structure. This visualized data provides users with an intuitive understanding and allows them to grasp the overall picture of the code.

[0154] The emotion engine monitors the user's emotions in real time while they are writing or modifying code. This allows the server to provide appropriate feedback and visualization data based on the user's emotions, helping them to have a more comfortable development experience.

[0155] As a concrete example, suppose a user is implementing a new data analysis algorithm and the sentiment engine detects that there are many errors, thereby indicating the user's frustration. In this case, the server gently presents more detailed and explanatory feedback, providing additional information to reassure the user. As for visualized data, a flowchart breaking down the algorithm step by step is presented to facilitate understanding of each step.

[0156] This configuration not only solves technical problems but also improves the user experience, enabling learning and development while reducing stress.

[0157] The following describes the processing flow.

[0158] Step 1:

[0159] The user begins writing program code in the device's editor. The emotion engine monitors the user's emotional state in real time to determine if the user is experiencing stress.

[0160] Step 2:

[0161] The terminal sends the written program code to the server. The emotion engine data is also sent to the server at the same time.

[0162] Step 3:

[0163] The server analyzes the received program code using a large-scale language model. This model evaluates the efficiency and redundancy of the code and generates feedback.

[0164] Step 4:

[0165] The server adjusts the generated feedback based on the user's emotional state. For example, if the user is feeling anxious, the feedback will be structured in a gentle, encouraging tone.

[0166] Step 5:

[0167] The server sends feedback to the terminal. The terminal receives this information and displays it on the user's editor screen for the user to see.

[0168] Step 6:

[0169] The server uses image generation technology to generate data that visualizes the code's processing flow and structure. It creates flowcharts and architecture diagrams to help users understand the code better.

[0170] Step 7:

[0171] The visualized data is sent to the user's device, which displays it in an appropriate format. This visual information makes it easier for the user to intuitively understand the logical flow of the code.

[0172] Step 8:

[0173] The user modifies or verifies the code based on the feedback and visualization data presented on the device. If necessary, they resubmit the code to the server to continue the analysis and feedback cycle.

[0174] Step 9:

[0175] The emotion engine continues to monitor the user's emotional state. It checks whether the user's stress levels have decreased and whether they can continue working with peace of mind, and adjusts the feedback method as needed.

[0176] (Example 2)

[0177] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0178] Traditional programming support systems often fail to consider the user's emotional state when analyzing and providing feedback on program code, which can easily cause user stress and hinder efficient learning and development. Furthermore, the difficulty in intuitively understanding the program structure often leads to inefficient modification work.

[0179] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0180] In this invention, the server includes means for detecting the user's emotional state and adjusting the tone of feedback, means for performing analysis of program instructions using a large-scale language model, and means for using image generation technology when generating visually represented information. This makes it possible to understand and modify the program while reducing stress through feedback and visual information provision that takes the user's emotions into consideration.

[0181] A "user" is someone who operates the system and writes and modifies program instructions.

[0182] A "server" is an information processing device that connects to a user's terminal via a network and performs tasks such as analyzing program instructions and generating feedback.

[0183] "Program instructions" are code written by the user, and they are a set of instructions that define the executable actions.

[0184] "Receiving in real time" means receiving data sent by the user immediately and starting processing promptly.

[0185] A "large-scale language model" is a model constructed using machine learning algorithms for natural language processing, capable of highly advanced text analysis and generation.

[0186] "Feedback" refers to suggestions and improvement ideas presented to the user based on the analysis results, and is information intended to support program modifications.

[0187] "Detecting emotional states and adjusting the tone of feedback" means collecting and analyzing user emotional information and appropriately changing the expression of feedback based on the results.

[0188] "Visualized information" refers to data that visually represents the structure and operation of program instructions, and includes flowcharts and architecture diagrams.

[0189] "Image generation technology" refers to the technology used to automatically generate visual data using computer programs.

[0190] To implement this invention, a user's terminal and a server connected via a network are required. The user writes program instructions using a text editor on the terminal. These program instructions are sent to the server in real time. The server analyzes the received program instructions using a large-scale language model and generates feedback in natural language. A commonly used generative AI model is used as this large-scale language model.

[0191] Feedback based on the analyzed information is adjusted to a tone that takes into account the user's emotional state. The emotional state is detected by the emotion engine from the user's input data and interactions. This emotion engine optimizes the feedback based on the user's current psychological state.

[0192] Furthermore, the server uses image generation technology to create visualizations. These visualizations show the structure and flow of program instructions, providing users with an intuitive understanding.

[0193] As a concrete example, consider a scenario where a user encounters an unexpected error while writing a data analysis algorithm. If the emotion engine detects that the user is feeling frustrated, the server generates gentle feedback such as, "Errors at this stage are common. Let's check the conditional statement," and also provides a flowchart visualizing the location of the error. This system allows the user to continue working with peace of mind.

[0194] An example of a prompt to input into the generating AI model is: "Many errors are occurring during the implementation of a new data analysis algorithm. Please guide the user to alleviate their frustration and generate a visual flowchart."

[0195] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0196] Step 1:

[0197] The user writes program instructions using a text editor on the terminal. The user inputs program instructions as input. These program instructions are saved as a text file on the terminal and are ready to be sent to the server over the network.

[0198] Step 2:

[0199] The terminal sends the programmed instructions to the server in real time. Stored programmed instructions are used as input. As output, the terminal sends the programmed instructions as data packets and waits for analysis by the server.

[0200] Step 3:

[0201] The server analyzes the received program instructions. The input is program instructions sent from the terminal. Using a generative AI model, the server analyzes the structure and error patterns of these program instructions in detail and generates feedback. The output is initial feedback based on the analysis results.

[0202] Step 4:

[0203] The server uses an emotion engine to detect the user's emotional state. Interaction data obtained from the user (e.g., keystrokes, input speed) is used as input. The server analyzes the emotions and adjusts the expression of feedback based on that data. The output is feedback that takes the user's emotions into consideration.

[0204] Step 5:

[0205] The server generates visualization information using image generation technology. The input is the result of analyzing program instructions. The server creates visual data such as flowcharts and architecture diagrams, making it easier for the user to understand the program flow. The output is visualized information.

[0206] Step 6:

[0207] The server sends the generated feedback and visualization information to the terminal. The input consists of adjusted feedback and visualization data. The output is the feedback and visualization information sent to the terminal, which the user reviews and uses to modify the program. Based on this feedback, the user can then work on further improving the program.

[0208] (Application Example 2)

[0209] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".

[0210] Currently, it is difficult to provide real-time feedback to users regarding the problems they face when writing program code. Furthermore, systems that provide appropriate feedback based on the user's emotional state and support visual understanding are not adequately developed. This leaves unresolved issues such as the stress and cognitive difficulties users experience during program development.

[0211] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0212] In this invention, the server includes means for receiving program code written by the user in real time, means for analyzing the received program code and providing feedback in natural language, means for recognizing the user's emotional information in real time and adjusting the feedback according to the emotional state, and means for generating data that visually represents the structure of the program code. This enables the user to have a more comfortable and intuitive program development experience.

[0213] A "user" is an individual or group that uses the system to write program code and receive feedback.

[0214] "Program code" is a set of instructions designed so that a computer can understand and execute them.

[0215] "Means of receiving in real time" refers to technical means for continuously sending program code written by the user to the server instantly.

[0216] "Means of analysis and providing feedback" refers to a method of analyzing received program code and communicating the results to the user in natural language.

[0217] "Means of generating visually represented data" refers to technologies for creating information that clearly illustrates the structure and operation of code using diagrams and other visual aids.

[0218] "Means of recognizing emotional information" refers to technologies that determine a user's emotional state from their facial expressions, tone of voice, and other similar factors.

[0219] "Means of making adjustments according to emotional state" refers to methods for appropriately changing the tone and content of feedback based on the user's emotions.

[0220] "Simulation techniques" are methods for virtually testing the impact that changes to program code will have on execution.

[0221] A "server" is a computer that processes and manages data over a network and provides services to clients.

[0222] In this invention, the system consists of a user, a terminal, and a server. The user writes program code on a terminal such as a smartphone or tablet. The terminal is responsible for transmitting the program code entered by the user to the server in real time. The server analyzes this program code using a large-scale language model and returns feedback generated in natural language to the terminal.

[0223] The server utilizes emotion recognition technology to recognize the user's emotional state in real time, thereby adjusting feedback according to the user's emotions. For example, if the user is feeling frustrated, the server will provide feedback in a gentler tone.

[0224] Furthermore, the server uses image generation technology to visually represent the structure of the program code, generating flowcharts and architecture diagrams. Technologies such as Stable Diffusion are used to generate this visualization data. This allows users to intuitively understand the overall structure of the program.

[0225] Specifically, suppose an unintended error occurs while the user is programming the robot's motion algorithm. In this case, the server provides feedback such as, "Break down the object-handling step and check if the settings at each point are correct," and also generates a flowchart showing the operation procedure. "Example prompt: 'How can I improve the manipulator's behavior in the program code?'"

[0226] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0227] Step 1:

[0228] The user writes program code on the terminal. The input is the code written by the user, and the terminal prepares it for transmission to the server. The output is the program code data sent to the server. The terminal periodically monitors for code changes and transmits the code as needed.

[0229] Step 2:

[0230] The terminal transmits the program code written by the user to the server in real time. The input is the code from the user, and the output is the code data sent to the server. The terminal securely transmits the code data over the network.

[0231] Step 3:

[0232] The server receives program code sent from the terminal and begins analysis. The input is the received code data, and by analyzing this, it generates feedback data as output. The server uses a generative AI model to understand the structure of the code and create feedback in natural language.

[0233] Step 4:

[0234] The server acquires user emotional information using emotion recognition technology. The input is emotional signals such as the user's facial expressions and voice tone, and the output is recognized emotional data. The server analyzes camera footage and audio and evaluates the user's feelings using an emotion engine.

[0235] Step 5:

[0236] The server combines analysis results and sentiment data to adjust feedback according to the user's emotions. The input is the analysis results and sentiment data, and the output is the adjusted feedback message. The server delivers information in a way that is optimal for the user, such as using a gentle tone or detailed explanations.

[0237] Step 6:

[0238] The server generates visualization data of program code. The input is the analyzed program code, and the output is visualization data such as flowcharts and architecture diagrams. The server uses image generation technology to create diagrams that intuitively show the overall structure and flow of the code.

[0239] Step 7:

[0240] The server sends the adjusted feedback and visualization data to the terminal. The input is the feedback message and visualization data provided to the user, and the output is the dataset sent to the terminal. The server transfers the information over the network in a format that the user can receive.

[0241] Step 8:

[0242] The user receives feedback and visualization data provided on their device to help improve the code. Input is feedback and visualization data from the server, and output is the result of code modifications. The user then improves the program based on the feedback and continues development.

[0243] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.

[0244] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0245] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0246] [Second Embodiment]

[0247] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0248] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0249] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0251] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0253] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0254] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0255] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0256] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0257] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0258] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".

[0259] To implement this invention, an environment is provided in which a user can write programs on a dedicated terminal. The terminal is equipped with a communication function for sending the code written by the user to a server in real time. When the user enters code, it is sent to the server in real time and analysis begins.

[0260] The server analyzes the received code using a large-scale language model. This generates feedback on the code's quality and efficiency in natural language. The server immediately sends this feedback back to the user's terminal, allowing the user to review it and modify the code as needed.

[0261] Furthermore, the server uses image generation technology to generate data that visualizes the structure and logic flow of the program code. This data is displayed on the user's terminal as flowcharts and architecture diagrams, allowing the user to gain a deeper overall understanding of the code.

[0262] The server also has a simulation function that predicts how changes to the code will affect other parts of the system. These simulation results are also provided to the user, allowing them to identify potential problems before modifying the code.

[0263] As a concrete example, consider a scenario where a user is implementing a new sorting algorithm. As the user begins writing code on their device, that code is sent to the server. The server analyzes the received code and provides feedback, such as, "This algorithm may become time-inefficient when the input data is large." Furthermore, it generates a flowchart illustrating the algorithm's flow and displays it on the server, allowing the user to understand it visually. Additionally, a simulation function can predict performance changes as the data volume increases, alerting the user to these changes.

[0264] In this way, users are constantly provided with an environment where they can improve their code and learn efficiently. This allows engineers to confidently keep up with technological advancements and proceed with the development process with peace of mind.

[0265] The following describes the processing flow.

[0266] Step 1:

[0267] The user writes program code in the terminal's text editor. The terminal detects that code has been entered and automatically prepares to send that code to the server.

[0268] Step 2:

[0269] The server receives the program code sent from the terminal. The server inputs the received code into a large-scale language model and begins analysis.

[0270] Step 3:

[0271] The server uses a large-scale language model to analyze the syntax, algorithmic efficiency, and redundancy of the code, and generates feedback. The generated feedback is written in natural language.

[0272] Step 4:

[0273] The server sends the generated feedback to the user's device. The device receives this feedback and displays it on the user's editor screen, allowing the user to review the content.

[0274] Step 5:

[0275] Users modify and optimize the code based on the feedback displayed on their device. If necessary, users rewrite the code and submit it to the system.

[0276] Step 6:

[0277] The server utilizes image generation technology to create flowcharts and architecture diagrams of program code. This visualized data is a means of intuitively understanding the structure of the code.

[0278] Step 7:

[0279] Visualized data sent from the server is displayed on the terminal. Through this data, the user visually understands the logic flow and overall structure of the code.

[0280] Step 8:

[0281] The server utilizes simulation AI to predict the impact of code changes. The predicted results indicate points that may affect performance changes and dependencies.

[0282] Step 9:

[0283] The simulation results are transmitted from the server to the terminal, assisting the user in understanding potential problems and improvement points and making appropriate code changes. Based on this information, the user can further improve the code and continue development.

[0284] (Example 1)

[0285] Next, Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".

[0286] In the development of program code, there are problems such as time-consuming, labor-intensive, and inefficient when the evaluation of code quality and efficiency, understanding of the structure, and prediction of the impact of code changes are performed manually. In addition, since developers perform these processes independently, there is a problem of a large burden in learning and optimization.

[0287] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0288] In this invention, the server includes means for receiving a program in real time, means for analyzing the program and providing feedback in natural language, means for generating and displaying the structure of the program as visual data, and means for predicting the impact of program changes on other configurations. As a result, developers can effectively improve the quality of the code, deepen the overall understanding, and easily make predictions about changes.

[0289] A "terminal device" is a computer device where a user can input a program and confirm the processing result.

[0290] A "program" is a set of instructions that a computer can execute, and is code written to accomplish a specific process.

[0291] "Real-time reception" refers to communication technology that instantly sends a program entered by a user to a server and immediately begins processing it.

[0292] "Analysis" is a computational process that evaluates the content of a received program and makes judgments about its quality and efficiency.

[0293] "Methods for providing feedback in natural language" refer to technologies that convert analysis results into natural language that is easy for humans to understand and then respond to the user.

[0294] "Visual data" refers to information that illustrates the structure and flow of a program, making it intuitively understandable to users.

[0295] "Image generation technology" refers to computer vision and graphics generation technologies used to visualize the contents of a program.

[0296] "Means of predicting impact" refers to simulation techniques that calculate and predict in advance the impact that program changes will have on other parts of the system.

[0297] A "high-performance language model" is a large-scale machine learning algorithm designed to enable advanced analysis in natural language processing.

[0298] To implement this invention, the following hardware and software are used. The user writes a program using a specific terminal device. This terminal device is equipped with communication functions for sending the code to a server in real time. The server is based on a high-performance computer and utilizes a generative AI model for program analysis. This model refers to, for example, GPT-3 or a similar advanced natural language processing model.

[0299] The server analyzes the received program and generates feedback on quality and efficiency in natural language. This feedback is immediately sent back to the user's terminal device, and the user can check it and use it to assist in modifying the program.

[0300] Furthermore, the server uses image generation technology to convert the structure and logic flow of the program into visual data. This data is provided to the user in the form of a flowchart or the like and is displayed on the terminal device to facilitate understanding of the code.

[0301] Also, using the simulation function, predict the impact of program changes on other parts. Thereby, the user can grasp potential problems in advance and conduct efficient development of the program.

[0302] As a specific example, when a user implements a new sorting algorithm, the code written by the user on the terminal is sent to the server. The server analyzes it and provides feedback such as "This algorithm may have poor time efficiency when the input data is large". Also, a flowchart showing the flow of the algorithm is generated, and the user can optimize the algorithm based on this. Furthermore, the server can predict performance changes when the data volume increases through simulation and prompt attention.

[0303] The following is an example of a prompt sentence when using a generative AI model.

[0304] Please evaluate the quality and efficiency of the following code snippet. Also, if there are areas for improvement, specifically point them out.

[0305] Code snippet:

[0306] Insert the code written by the user

[0307] The flow of the specific process in Example 1 will be described using FIG. 11.

[0308] Step 1:

[0309] The user inputs program code using a terminal device. The input data is the user's own program description, and its specific operation involves inputting it using a programming language editor. In this process, the user writes code necessary for a particular application, such as sorting algorithms and data processing logic.

[0310] Step 2:

[0311] The terminal receives code in real time and sends it to the server. The input is program code written by the user, and the output is the transmission of code to the server. Specific operations include securely and efficiently delivering the code to the server via network communication.

[0312] Step 3:

[0313] The server analyzes the received program code. The input is the program code sent from the terminal, and the output is the analysis result. The server uses a generative AI model to create a prompt message and then begins its analysis. Specific operations include code analysis using advanced natural language processing and evaluation of algorithm performance.

[0314] Step 4:

[0315] The server generates feedback in natural language regarding the quality and efficiency of the program based on the analysis results. The input is analysis data obtained from a generative AI model, and the output is user-understandable natural language feedback. Specific operations include creating feedback using a text generation algorithm.

[0316] Step 5:

[0317] The server generates visual data (flowcharts and architecture diagrams) to visually represent the program's structure and logic flow. The input is structural information of the analyzed program code, and the output is visual data. Specific operations include data visualization using image generation technology.

[0318] Step 6:

[0319] The server predicts the impact of program changes on other configurations. The input is user program change information, and the output is the predicted impact. Specific operations include behavioral simulations that take into account the code change history.

[0320] Step 7:

[0321] The user reviews feedback and visual data provided by the server on their terminal and modifies the program as needed. The input is the feedback and visual data returned from the server, and the output is the improved program code. Specific actions include modifying the code and re-evaluating the data on the terminal.

[0322] (Application Example 1)

[0323] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0324] In the development of automated control systems, there is a need to write and analyze program code in real time to design efficiently and safely. However, with conventional systems, it is difficult to grasp in advance the impact of program changes on the entire system, and there are limitations to visually understanding the overall structure of the program. The challenge is to solve these problems and provide an environment that allows for more effective program improvement.

[0325] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0326] In this invention, the server includes means for receiving software code in real time, means for analyzing the received code and providing feedback in natural language, means for generating data that visually represents the structure of the code, means for simulating the effects of code changes, and means for writing and analyzing the control program of the automatic control system. This enables developers to efficiently and safely improve the program code of the automatic control system and to accelerate the design process.

[0327] A "user" is a person who uses a system to write program code and have it analyzed.

[0328] "Software code" is the text of a program that describes the instructions that a computer will execute.

[0329] "Real-time" is a tense that means that processing takes place immediately the moment an event occurs.

[0330] "Means of receiving" refers to the processes and technologies used to acquire data from external sources.

[0331] "Analysis" is the process of breaking down a received program and evaluating its structure and quality.

[0332] "Means of providing feedback in natural language" refers to technologies for presenting analysis results in a language that humans can understand.

[0333] "Visually represented data" refers to data structures that display information visually using diagrams and charts.

[0334] "Means of simulation" are virtual experimental techniques used to predict behavior under specific conditions.

[0335] An "automatic control system" is a system that operates and manages autonomously through a program.

[0336] A "control program" is a series of instructions that guide the operation of an automatic control system.

[0337] The system for implementing this invention requires a user terminal, a server, and a cloud computing platform. The user writes software code using a terminal with a dedicated application installed. The written code is sent to the server in real time.

[0338] The servers are built on a cloud platform with advanced computing power, where large-scale language models are used to analyze incoming code. The analysis results are fed back in natural language using a generative AI model and immediately returned to the user's terminal. This feedback concerns the quality and efficiency of the code, providing guidance for the user to improve their code.

[0339] Furthermore, the server uses image generation technology to create flowcharts and architecture diagrams that visually represent the structure of the software code. This allows users to gain a deeper overall understanding of the code. In addition, the server simulates the impact of code changes and predicts the potential effects of those changes on other parts of the system. These simulation results are also provided to the user.

[0340] Users can leverage this real-time feedback and simulation to efficiently and safely design and improve control programs for automated control systems. For example, when a user is writing an obstacle detection algorithm for an autonomous vehicle, the received code is analyzed, and feedback is provided highlighting areas for improvement and points to be aware of.

[0341] A concrete example of a prompt message would be: "Analyze the code for the obstacle detection algorithm of the autonomous vehicle and provide feedback on its efficiency and safety. Additionally, generate a flowchart of the code and include warnings where false positives may occur." This allows users to receive practical feedback and build a better system.

[0342] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0343] Step 1:

[0344] The user writes software code on the device.

[0345] Input: Software code written by the user.

[0346] Output: The written code will be prepared on the terminal.

[0347] Specific operation: The user opens a dedicated application and enters software code using a code editor. This code is prepared in real time for the next process.

[0348] Step 2:

[0349] The device sends the code it contains to the server in real time.

[0350] Input: Software code written by the user on the terminal.

[0351] Output: The transmitted code arrives at the server.

[0352] Specific operation: The terminal uses its network communication function to send code to the server. The server then receives the code and immediately prepares for analysis.

[0353] Step 3:

[0354] The server analyzes the code using a large-scale language model.

[0355] Input: Software code sent from the terminal to the server.

[0356] Output: Code analysis results and natural language feedback.

[0357] Specific operation: The server inputs the received code into a large-scale language model (e.g., a generative AI model) and performs analysis on the code's quality and efficiency. Based on the analysis results, it generates feedback in natural language.

[0358] Step 4:

[0359] The server visualizes the code structure.

[0360] Input: Software code analyzed by the server.

[0361] Output: Code flowcharts and architecture diagrams.

[0362] Specific operation: The server utilizes image generation technology to visualize the code structure and logic flow. This data is saved for the user to review later.

[0363] Step 5:

[0364] The server simulates the impact of code changes.

[0365] Input: Software code analyzed by the server.

[0366] Output: Potential impact information as a result of the simulation.

[0367] Specific operation: The server uses simulation capabilities to predict the impact of code changes on the entire system. Based on these predictions, it generates information about the likelihood of problems occurring.

[0368] Step 6:

[0369] The server performs analysis and visualization, and sends the simulation results back to the user's terminal.

[0370] Input: Analysis results, visualization data, simulation results.

[0371] Output: The set of information displayed on the user's terminal.

[0372] Specific operation: The server sends feedback, visualization data, and simulation results back to the user's terminal via the network. The user can review this and gain a better understanding of areas for improvement and potential problems in the code.

[0373] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0374] To implement this invention, a terminal for the user to write program code and a server that provides analysis and feedback must be connected via a network. In addition, an emotion engine capable of recognizing the user's emotions in real time is implemented.

[0375] When a user writes program code in a text editor on their device, the device sends that code to a server. The server analyzes the received code using a large-scale language model and generates feedback in natural language based on the results. The feedback is adjusted to take into account the user's current emotional state; for example, if the user is feeling frustrated, the feedback is adjusted to present suggestions for improvement in a gentler tone to increase the user's sense of security.

[0376] Furthermore, to aid visual understanding, the server uses image generation technology to create flowcharts and architecture diagrams that illustrate the code structure. This visualized data provides users with an intuitive understanding and allows them to grasp the overall picture of the code.

[0377] The emotion engine monitors the user's emotions in real time while they are writing or modifying code. This allows the server to provide appropriate feedback and visualization data based on the user's emotions, helping them to have a more comfortable development experience.

[0378] As a concrete example, suppose a user is implementing a new data analysis algorithm and the sentiment engine detects that there are many errors, thereby indicating the user's frustration. In this case, the server gently presents more detailed and explanatory feedback, providing additional information to reassure the user. As for visualized data, a flowchart breaking down the algorithm step by step is presented to facilitate understanding of each step.

[0379] This configuration not only solves technical problems but also improves the user experience, enabling learning and development while reducing stress.

[0380] The following describes the processing flow.

[0381] Step 1:

[0382] The user begins writing program code in the device's editor. The emotion engine monitors the user's emotional state in real time to determine if the user is experiencing stress.

[0383] Step 2:

[0384] The terminal sends the written program code to the server. The emotion engine data is also sent to the server at the same time.

[0385] Step 3:

[0386] The server analyzes the received program code using a large-scale language model. This model evaluates the efficiency and redundancy of the code and generates feedback.

[0387] Step 4:

[0388] The server adjusts the generated feedback based on the user's emotional state. For example, if the user is feeling anxious, the feedback will be structured in a gentle, encouraging tone.

[0389] Step 5:

[0390] The server sends feedback to the terminal. The terminal receives this information and displays it on the user's editor screen for the user to see.

[0391] Step 6:

[0392] The server uses image generation technology to generate data that visualizes the code's processing flow and structure. It creates flowcharts and architecture diagrams to help users understand the code better.

[0393] Step 7:

[0394] The visualized data is sent to the user's device, which displays it in an appropriate format. This visual information makes it easier for the user to intuitively understand the logical flow of the code.

[0395] Step 8:

[0396] The user modifies or verifies the code based on the feedback and visualization data presented on the device. If necessary, they resubmit the code to the server to continue the analysis and feedback cycle.

[0397] Step 9:

[0398] The emotion engine continues to monitor the user's emotional state. It checks whether the user's stress levels have decreased and whether they can continue working with peace of mind, and adjusts the feedback method as needed.

[0399] (Example 2)

[0400] Next, we will describe Example 2. 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".

[0401] Traditional programming support systems often fail to consider the user's emotional state when analyzing and providing feedback on program code, which can easily cause user stress and hinder efficient learning and development. Furthermore, the difficulty in intuitively understanding the program structure often leads to inefficient modification work.

[0402] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0403] In this invention, the server includes means for detecting the user's emotional state and adjusting the tone of feedback, means for performing analysis of program instructions using a large-scale language model, and means for using image generation technology when generating visually represented information. This makes it possible to understand and modify the program while reducing stress through feedback and visual information provision that takes the user's emotions into consideration.

[0404] A "user" is someone who operates the system and writes and modifies program instructions.

[0405] A "server" is an information processing device that connects to a user's terminal via a network and performs tasks such as analyzing program instructions and generating feedback.

[0406] "Program instructions" are code written by the user, and they are a set of instructions that define the executable actions.

[0407] "Receiving in real time" means receiving data sent by the user immediately and starting processing promptly.

[0408] A "large-scale language model" is a model constructed using machine learning algorithms for natural language processing, capable of highly advanced text analysis and generation.

[0409] "Feedback" refers to suggestions and improvement ideas presented to the user based on the analysis results, and is information intended to support program modifications.

[0410] "Detecting emotional states and adjusting the tone of feedback" means collecting and analyzing user emotional information and appropriately changing the expression of feedback based on the results.

[0411] "Visualized information" refers to data that visually represents the structure and operation of program instructions, and includes flowcharts and architecture diagrams.

[0412] "Image generation technology" refers to the technology used to automatically generate visual data using computer programs.

[0413] To implement this invention, a user's terminal and a server connected via a network are required. The user writes program instructions using a text editor on the terminal. These program instructions are sent to the server in real time. The server analyzes the received program instructions using a large-scale language model and generates feedback in natural language. A commonly used generative AI model is used as this large-scale language model.

[0414] Feedback based on the analyzed information is adjusted to a tone that takes into account the user's emotional state. The emotional state is detected by the emotion engine from the user's input data and interactions. This emotion engine optimizes the feedback based on the user's current psychological state.

[0415] Furthermore, the server uses image generation technology to create visualizations. These visualizations show the structure and flow of program instructions, providing users with an intuitive understanding.

[0416] As a concrete example, consider a scenario where a user encounters an unexpected error while writing a data analysis algorithm. If the emotion engine detects that the user is feeling frustrated, the server generates gentle feedback such as, "Errors at this stage are common. Let's check the conditional statement," and also provides a flowchart visualizing the location of the error. This system allows the user to continue working with peace of mind.

[0417] An example of a prompt to input into the generating AI model is: "Many errors are occurring during the implementation of a new data analysis algorithm. Please guide the user to alleviate their frustration and generate a visual flowchart."

[0418] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0419] Step 1:

[0420] The user writes program instructions using a text editor on the terminal. The user inputs program instructions as input. These program instructions are saved as a text file on the terminal and are ready to be sent to the server over the network.

[0421] Step 2:

[0422] The terminal sends the programmed instructions to the server in real time. Stored programmed instructions are used as input. As output, the terminal sends the programmed instructions as data packets and waits for analysis by the server.

[0423] Step 3:

[0424] The server analyzes the received program instructions. The input is program instructions sent from the terminal. Using a generative AI model, the server analyzes the structure and error patterns of these program instructions in detail and generates feedback. The output is initial feedback based on the analysis results.

[0425] Step 4:

[0426] The server uses an emotion engine to detect the user's emotional state. Interaction data obtained from the user (e.g., keystrokes, input speed) is used as input. The server analyzes the emotions and adjusts the expression of feedback based on that data. The output is feedback that takes the user's emotions into consideration.

[0427] Step 5:

[0428] The server generates visualization information using image generation technology. The input is the result of analyzing program instructions. The server creates visual data such as flowcharts and architecture diagrams, making it easier for the user to understand the program flow. The output is visualized information.

[0429] Step 6:

[0430] The server sends the generated feedback and visualization information to the terminal. The input consists of adjusted feedback and visualization data. The output is the feedback and visualization information sent to the terminal, which the user reviews and uses to modify the program. Based on this feedback, the user can then work on further improving the program.

[0431] (Application Example 2)

[0432] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0433] Currently, it is difficult to provide real-time feedback to users regarding the problems they face when writing program code. Furthermore, systems that provide appropriate feedback based on the user's emotional state and support visual understanding are not adequately developed. This leaves unresolved issues such as the stress and cognitive difficulties users experience during program development.

[0434] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0435] In this invention, the server includes means for receiving program code written by the user in real time, means for analyzing the received program code and providing feedback in natural language, means for recognizing the user's emotional information in real time and adjusting the feedback according to the emotional state, and means for generating data that visually represents the structure of the program code. This enables the user to have a more comfortable and intuitive program development experience.

[0436] A "user" is an individual or group that uses the system to write program code and receive feedback.

[0437] "Program code" is a set of instructions designed so that a computer can understand and execute them.

[0438] "Means of receiving in real time" refers to technical means for continuously sending program code written by the user to the server instantly.

[0439] "Means of analysis and providing feedback" refers to a method of analyzing received program code and communicating the results to the user in natural language.

[0440] "Means of generating visually represented data" refers to technologies for creating information that clearly illustrates the structure and operation of code using diagrams and other visual aids.

[0441] "Means of recognizing emotional information" refers to technologies that determine a user's emotional state from their facial expressions, tone of voice, and other similar factors.

[0442] "Means of making adjustments according to emotional state" refers to methods for appropriately changing the tone and content of feedback based on the user's emotions.

[0443] "Simulation techniques" are methods for virtually testing the impact that changes to program code will have on execution.

[0444] A "server" is a computer that processes and manages data over a network and provides services to clients.

[0445] In this invention, the system consists of a user, a terminal, and a server. The user writes program code on a terminal such as a smartphone or tablet. The terminal is responsible for transmitting the program code entered by the user to the server in real time. The server analyzes this program code using a large-scale language model and returns feedback generated in natural language to the terminal.

[0446] The server utilizes emotion recognition technology to recognize the user's emotional state in real time, thereby adjusting feedback according to the user's emotions. For example, if the user is feeling frustrated, the server will provide feedback in a gentler tone.

[0447] Furthermore, the server uses image generation technology to visually represent the structure of the program code, generating flowcharts and architecture diagrams. Technologies such as Stable Diffusion are used to generate this visualization data. This allows users to intuitively understand the overall structure of the program.

[0448] Specifically, suppose an unintended error occurs while the user is programming the robot's motion algorithm. In this case, the server provides feedback such as, "Break down the object-handling step and check if the settings at each point are correct," and also generates a flowchart showing the operation procedure. "Example prompt: 'How can I improve the manipulator's behavior in the program code?'"

[0449] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0450] Step 1:

[0451] The user writes program code on the terminal. The input is the code written by the user, and the terminal prepares it for transmission to the server. The output is the program code data sent to the server. The terminal periodically monitors for code changes and transmits the code as needed.

[0452] Step 2:

[0453] The terminal transmits the program code written by the user to the server in real time. The input is the code from the user, and the output is the code data sent to the server. The terminal securely transmits the code data over the network.

[0454] Step 3:

[0455] The server receives program code sent from the terminal and begins analysis. The input is the received code data, and by analyzing this, it generates feedback data as output. The server uses a generative AI model to understand the structure of the code and create feedback in natural language.

[0456] Step 4:

[0457] The server acquires user emotional information using emotion recognition technology. The input is emotional signals such as the user's facial expressions and voice tone, and the output is recognized emotional data. The server analyzes camera footage and audio and evaluates the user's feelings using an emotion engine.

[0458] Step 5:

[0459] The server combines analysis results and sentiment data to adjust feedback according to the user's emotions. The input is the analysis results and sentiment data, and the output is the adjusted feedback message. The server delivers information in a way that is optimal for the user, such as using a gentle tone or detailed explanations.

[0460] Step 6:

[0461] The server generates visualization data of program code. The input is the analyzed program code, and the output is visualization data such as flowcharts and architecture diagrams. The server uses image generation technology to create diagrams that intuitively show the overall structure and flow of the code.

[0462] Step 7:

[0463] The server sends the adjusted feedback and visualization data to the terminal. The input is the feedback message and visualization data provided to the user, and the output is the dataset sent to the terminal. The server transfers the information over the network in a format that the user can receive.

[0464] Step 8:

[0465] The user receives feedback and visualization data provided on their device to help improve the code. Input is feedback and visualization data from the server, and output is the result of code modifications. The user then improves the program based on the feedback and continues development.

[0466] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0467] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0468] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0469] [Third Embodiment]

[0470] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0471] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0472] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0474] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0476] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0477] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0478] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0479] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0480] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0481] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0482] To implement this invention, an environment is provided in which a user can write programs on a dedicated terminal. The terminal is equipped with a communication function for sending the code written by the user to a server in real time. When the user enters code, it is sent to the server in real time and analysis begins.

[0483] The server analyzes the received code using a large-scale language model. This generates feedback on the code's quality and efficiency in natural language. The server immediately sends this feedback back to the user's terminal, allowing the user to review it and modify the code as needed.

[0484] Furthermore, the server uses image generation technology to generate data that visualizes the structure and logic flow of the program code. This data is displayed on the user's terminal as flowcharts and architecture diagrams, allowing the user to gain a deeper overall understanding of the code.

[0485] The server also has a simulation function that predicts how changes to the code will affect other parts of the system. These simulation results are also provided to the user, allowing them to identify potential problems before modifying the code.

[0486] As a concrete example, consider a scenario where a user is implementing a new sorting algorithm. As the user begins writing code on their device, that code is sent to the server. The server analyzes the received code and provides feedback, such as, "This algorithm may become time-inefficient when the input data is large." Furthermore, it generates a flowchart illustrating the algorithm's flow and displays it on the server, allowing the user to understand it visually. Additionally, a simulation function can predict performance changes as the data volume increases, alerting the user to these changes.

[0487] In this way, users are constantly provided with an environment where they can improve their code and learn efficiently. This allows engineers to confidently keep up with technological advancements and proceed with the development process with peace of mind.

[0488] The following describes the processing flow.

[0489] Step 1:

[0490] The user writes program code in the terminal's text editor. The terminal detects that code has been entered and automatically prepares to send that code to the server.

[0491] Step 2:

[0492] The server receives the program code sent from the terminal. The server inputs the received code into a large-scale language model and begins analysis.

[0493] Step 3:

[0494] The server uses a large-scale language model to analyze the syntax, algorithmic efficiency, and redundancy of the code, and generates feedback. The generated feedback is written in natural language.

[0495] Step 4:

[0496] The server sends the generated feedback to the user's device. The device receives this feedback and displays it on the user's editor screen, allowing the user to review the content.

[0497] Step 5:

[0498] Users modify and optimize the code based on the feedback displayed on their device. If necessary, users rewrite the code and submit it to the system.

[0499] Step 6:

[0500] The server utilizes image generation technology to create flowcharts and architecture diagrams of program code. This visualized data is a means of intuitively understanding the structure of the code.

[0501] Step 7:

[0502] Visualized data sent from the server is displayed on the terminal. Through this data, the user visually understands the logic flow and overall structure of the code.

[0503] Step 8:

[0504] The server utilizes simulation AI to predict the impact of code changes. The predicted results highlight potential impacts on performance and dependencies.

[0505] Step 9:

[0506] The simulation results are sent from the server to the terminal, helping the user understand potential problems and areas for improvement, and enabling them to make appropriate code changes. Based on this information, the user can further refine the code and continue development.

[0507] (Example 1)

[0508] Next, we will describe Example 1. 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."

[0509] In program code development, manually evaluating code quality and efficiency, understanding its structure, and predicting the impact of code changes presents challenges such as being time-consuming, labor-intensive, and inefficient. Furthermore, because developers perform these processes independently, they face significant burdens in terms of learning and optimization.

[0510] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0511] In this invention, the server includes means for receiving programs in real time, means for analyzing programs and providing feedback in natural language, means for generating and displaying the program structure as visual data, and means for predicting the impact of program changes on other components. This enables developers to effectively improve code quality, deepen their overall understanding, and easily predict the impact of changes.

[0512] A "terminal device" is a computer device that allows users to input programs and check the processing results.

[0513] A "program" is a set of instructions that a computer can execute, and is code written to accomplish a specific process.

[0514] "Real-time reception" refers to communication technology that instantly sends a program entered by a user to a server and immediately begins processing it.

[0515] "Analysis" is a computational process that evaluates the content of a received program and makes judgments about its quality and efficiency.

[0516] "Methods for providing feedback in natural language" refer to technologies that convert analysis results into natural language that is easy for humans to understand and then respond to the user.

[0517] "Visual data" refers to information that illustrates the structure and flow of a program, making it intuitively understandable to users.

[0518] "Image generation technology" refers to computer vision and graphics generation technologies used to visualize the contents of a program.

[0519] "Means of predicting impact" refers to simulation techniques that calculate and predict in advance the impact that program changes will have on other parts of the system.

[0520] A "high-performance language model" is a large-scale machine learning algorithm designed to enable advanced analysis in natural language processing.

[0521] To implement this invention, the following hardware and software are used. The user writes a program using a specific terminal device. This terminal device is equipped with communication functions for sending the code to a server in real time. The server is based on a high-performance computer and utilizes a generative AI model for program analysis. This model refers to, for example, GPT-3 or a similar advanced natural language processing model.

[0522] The server analyzes the received program and generates feedback on its quality and efficiency in natural language. This feedback is immediately sent back to the user's terminal device, where the user can review it and use it to improve the program.

[0523] Furthermore, the server uses image generation technology to convert the program's structure and logic flow into visual data. This data is provided to the user in the form of flowcharts and other formats, and is displayed on terminal devices to facilitate understanding of the code.

[0524] Furthermore, the simulation function is used to predict the impact of program changes on other parts of the system. This allows users to identify potential problems in advance and develop programs more efficiently.

[0525] As a concrete example, when a user implements a new sorting algorithm, the code they write on their terminal is sent to the server. The server analyzes this code and provides feedback such as, "This algorithm may become time-inefficient when the input data is large." A flowchart showing the algorithm's flow is also generated, which the user can use to optimize the algorithm. Furthermore, the server can predict performance changes when the amount of data increases through simulation and provide warnings.

[0526] The following is an example of a prompt message when using a generative AI model.

[0527] Please evaluate the quality and efficiency of the following code snippet. Also, please specify any areas for improvement.

[0528] Code snippet:

[0529] Insert the code written by the user.

[0530] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0531] Step 1:

[0532] The user inputs program code using a terminal device. The input data is the user's own program description, and its specific operation involves inputting it using a programming language editor. In this process, the user writes code necessary for a particular application, such as sorting algorithms and data processing logic.

[0533] Step 2:

[0534] The terminal receives code in real time and sends it to the server. The input is program code written by the user, and the output is the transmission of code to the server. Specific operations include securely and efficiently delivering the code to the server via network communication.

[0535] Step 3:

[0536] The server analyzes the received program code. The input is the program code sent from the terminal, and the output is the analysis result. The server uses a generative AI model to create a prompt message and then begins its analysis. Specific operations include code analysis using advanced natural language processing and evaluation of algorithm performance.

[0537] Step 4:

[0538] The server generates feedback in natural language regarding the quality and efficiency of the program based on the analysis results. The input is analysis data obtained from a generative AI model, and the output is user-understandable natural language feedback. Specific operations include creating feedback using a text generation algorithm.

[0539] Step 5:

[0540] The server generates visual data (flowcharts and architecture diagrams) to visually represent the program's structure and logic flow. The input is structural information of the analyzed program code, and the output is visual data. Specific operations include data visualization using image generation technology.

[0541] Step 6:

[0542] The server predicts the impact of program changes on other configurations. The input is user program change information, and the output is the predicted impact. Specific operations include behavioral simulations that take into account the code change history.

[0543] Step 7:

[0544] The user reviews feedback and visual data provided by the server on their terminal and modifies the program as needed. The input is the feedback and visual data returned from the server, and the output is the improved program code. Specific actions include modifying the code and re-evaluating the data on the terminal.

[0545] (Application Example 1)

[0546] Next, we will explain Application Example 1. In the following explanation, 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."

[0547] In the development of automated control systems, there is a need to write and analyze program code in real time to design efficiently and safely. However, with conventional systems, it is difficult to grasp in advance the impact of program changes on the entire system, and there are limitations to visually understanding the overall structure of the program. The challenge is to solve these problems and provide an environment that allows for more effective program improvement.

[0548] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0549] In this invention, the server includes means for receiving software code in real time, means for analyzing the received code and providing feedback in natural language, means for generating data that visually represents the structure of the code, means for simulating the effects of code changes, and means for writing and analyzing the control program of the automatic control system. This enables developers to efficiently and safely improve the program code of the automatic control system and to accelerate the design process.

[0550] A "user" is a person who uses a system to write program code and have it analyzed.

[0551] "Software code" is the text of a program that describes the instructions that a computer will execute.

[0552] "Real-time" is a tense that means that processing takes place immediately the moment an event occurs.

[0553] "Means of receiving" refers to the processes and technologies used to acquire data from external sources.

[0554] "Analysis" is the process of breaking down a received program and evaluating its structure and quality.

[0555] "Means of providing feedback in natural language" refers to technologies for presenting analysis results in a language that humans can understand.

[0556] "Visually represented data" refers to data structures that display information visually using diagrams and charts.

[0557] "Means of simulation" are virtual experimental techniques used to predict behavior under specific conditions.

[0558] An "automatic control system" is a system that operates and manages autonomously through a program.

[0559] A "control program" is a series of instructions that guide the operation of an automatic control system.

[0560] The system for implementing this invention requires a user terminal, a server, and a cloud computing platform. The user writes software code using a terminal with a dedicated application installed. The written code is sent to the server in real time.

[0561] The servers are built on a cloud platform with advanced computing power, where large-scale language models are used to analyze incoming code. The analysis results are fed back in natural language using a generative AI model and immediately returned to the user's terminal. This feedback concerns the quality and efficiency of the code, providing guidance for the user to improve their code.

[0562] Furthermore, the server uses image generation technology to create flowcharts and architecture diagrams that visually represent the structure of the software code. This allows users to gain a deeper overall understanding of the code. In addition, the server simulates the impact of code changes and predicts the potential effects of those changes on other parts of the system. These simulation results are also provided to the user.

[0563] Users can leverage this real-time feedback and simulation to efficiently and safely design and improve control programs for automated control systems. For example, when a user is writing an obstacle detection algorithm for an autonomous vehicle, the received code is analyzed, and feedback is provided highlighting areas for improvement and points to be aware of.

[0564] A concrete example of a prompt message would be: "Analyze the code for the obstacle detection algorithm of the autonomous vehicle and provide feedback on its efficiency and safety. Additionally, generate a flowchart of the code and include warnings where false positives may occur." This allows users to receive practical feedback and build a better system.

[0565] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0566] Step 1:

[0567] The user writes software code on the device.

[0568] Input: Software code written by the user.

[0569] Output: The written code will be prepared on the terminal.

[0570] Specific operation: The user opens a dedicated application and enters software code using a code editor. This code is prepared in real time for the next process.

[0571] Step 2:

[0572] The device sends the code it contains to the server in real time.

[0573] Input: Software code written by the user on the terminal.

[0574] Output: The transmitted code arrives at the server.

[0575] Specific operation: The terminal uses its network communication function to send code to the server. The server then receives the code and immediately prepares for analysis.

[0576] Step 3:

[0577] The server analyzes the code using a large-scale language model.

[0578] Input: Software code sent from the terminal to the server.

[0579] Output: Code analysis results and natural language feedback.

[0580] Specific operation: The server inputs the received code into a large-scale language model (e.g., a generative AI model) and performs analysis on the code's quality and efficiency. Based on the analysis results, it generates feedback in natural language.

[0581] Step 4:

[0582] The server visualizes the code structure.

[0583] Input: Software code analyzed by the server.

[0584] Output: Code flowcharts and architecture diagrams.

[0585] Specific operation: The server utilizes image generation technology to visualize the code structure and logic flow. This data is saved for the user to review later.

[0586] Step 5:

[0587] The server simulates the impact of code changes.

[0588] Input: Software code analyzed by the server.

[0589] Output: Potential impact information as a result of the simulation.

[0590] Specific operation: The server uses simulation capabilities to predict the impact of code changes on the entire system. Based on these predictions, it generates information about the likelihood of problems occurring.

[0591] Step 6:

[0592] The server performs analysis and visualization, and sends the simulation results back to the user's terminal.

[0593] Input: Analysis results, visualization data, simulation results.

[0594] Output: The set of information displayed on the user's terminal.

[0595] Specific operation: The server sends feedback, visualization data, and simulation results back to the user's terminal via the network. The user can review this and gain a better understanding of areas for improvement and potential problems in the code.

[0596] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0597] To implement this invention, a terminal for the user to write program code and a server that provides analysis and feedback must be connected via a network. In addition, an emotion engine capable of recognizing the user's emotions in real time is implemented.

[0598] When a user writes program code in a text editor on their device, the device sends that code to a server. The server analyzes the received code using a large-scale language model and generates feedback in natural language based on the results. The feedback is adjusted to take into account the user's current emotional state; for example, if the user is feeling frustrated, the feedback is adjusted to present suggestions for improvement in a gentler tone to increase the user's sense of security.

[0599] Furthermore, to aid visual understanding, the server uses image generation technology to create flowcharts and architecture diagrams that illustrate the code structure. This visualized data provides users with an intuitive understanding and allows them to grasp the overall picture of the code.

[0600] The emotion engine monitors the user's emotions in real time while they are writing or modifying code. This allows the server to provide appropriate feedback and visualization data based on the user's emotions, helping them to have a more comfortable development experience.

[0601] As a concrete example, suppose a user is implementing a new data analysis algorithm and the sentiment engine detects that there are many errors, thereby indicating the user's frustration. In this case, the server gently presents more detailed and explanatory feedback, providing additional information to reassure the user. As for visualized data, a flowchart breaking down the algorithm step by step is presented to facilitate understanding of each step.

[0602] This configuration not only solves technical problems but also improves the user experience, enabling learning and development while reducing stress.

[0603] The following describes the processing flow.

[0604] Step 1:

[0605] The user begins writing program code in the device's editor. The emotion engine monitors the user's emotional state in real time to determine if the user is experiencing stress.

[0606] Step 2:

[0607] The terminal sends the written program code to the server. The emotion engine data is also sent to the server at the same time.

[0608] Step 3:

[0609] The server analyzes the received program code using a large-scale language model. This model evaluates the efficiency and redundancy of the code and generates feedback.

[0610] Step 4:

[0611] The server adjusts the generated feedback based on the user's emotional state. For example, if the user is feeling anxious, the feedback will be structured in a gentle, encouraging tone.

[0612] Step 5:

[0613] The server sends feedback to the terminal. The terminal receives this information and displays it on the user's editor screen for the user to see.

[0614] Step 6:

[0615] The server uses image generation technology to generate data that visualizes the code's processing flow and structure. It creates flowcharts and architecture diagrams to help users understand the code better.

[0616] Step 7:

[0617] The visualized data is sent to the user's device, which displays it in an appropriate format. This visual information makes it easier for the user to intuitively understand the logical flow of the code.

[0618] Step 8:

[0619] The user modifies or verifies the code based on the feedback and visualization data presented on the device. If necessary, they resubmit the code to the server to continue the analysis and feedback cycle.

[0620] Step 9:

[0621] The emotion engine continues to monitor the user's emotional state. It checks whether the user's stress levels have decreased and whether they can continue working with peace of mind, and adjusts the feedback method as needed.

[0622] (Example 2)

[0623] Next, we will describe Example 2. 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."

[0624] Traditional programming support systems often fail to consider the user's emotional state when analyzing and providing feedback on program code, which can easily cause user stress and hinder efficient learning and development. Furthermore, the difficulty in intuitively understanding the program structure often leads to inefficient modification work.

[0625] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0626] In this invention, the server includes means for detecting the user's emotional state and adjusting the tone of feedback, means for performing analysis of program instructions using a large-scale language model, and means for using image generation technology when generating visually represented information. This makes it possible to understand and modify the program while reducing stress through feedback and visual information provision that takes the user's emotions into consideration.

[0627] A "user" is someone who operates the system and writes and modifies program instructions.

[0628] A "server" is an information processing device that connects to a user's terminal via a network and performs tasks such as analyzing program instructions and generating feedback.

[0629] "Program instructions" are code written by the user, and they are a set of instructions that define the executable actions.

[0630] "Receiving in real time" means receiving data sent by the user immediately and starting processing promptly.

[0631] A "large-scale language model" is a model constructed using machine learning algorithms for natural language processing, capable of highly advanced text analysis and generation.

[0632] "Feedback" refers to suggestions and improvement ideas presented to the user based on the analysis results, and is information intended to support program modifications.

[0633] "Detecting emotional states and adjusting the tone of feedback" means collecting and analyzing user emotional information and appropriately changing the expression of feedback based on the results.

[0634] "Visualized information" refers to data that visually represents the structure and operation of program instructions, and includes flowcharts and architecture diagrams.

[0635] "Image generation technology" refers to the technology used to automatically generate visual data using computer programs.

[0636] To implement this invention, a user's terminal and a server connected via a network are required. The user writes program instructions using a text editor on the terminal. These program instructions are sent to the server in real time. The server analyzes the received program instructions using a large-scale language model and generates feedback in natural language. A commonly used generative AI model is used as this large-scale language model.

[0637] Feedback based on the analyzed information is adjusted to a tone that takes into account the user's emotional state. The emotional state is detected by the emotion engine from the user's input data and interactions. This emotion engine optimizes the feedback based on the user's current psychological state.

[0638] Furthermore, the server uses image generation technology to create visualizations. These visualizations show the structure and flow of program instructions, providing users with an intuitive understanding.

[0639] As a concrete example, consider a scenario where a user encounters an unexpected error while writing a data analysis algorithm. If the emotion engine detects that the user is feeling frustrated, the server generates gentle feedback such as, "Errors at this stage are common. Let's check the conditional statement," and also provides a flowchart visualizing the location of the error. This system allows the user to continue working with peace of mind.

[0640] An example of a prompt to input into the generating AI model is: "Many errors are occurring during the implementation of a new data analysis algorithm. Please guide the user to alleviate their frustration and generate a visual flowchart."

[0641] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0642] Step 1:

[0643] The user writes program instructions using a text editor on the terminal. The user inputs program instructions as input. These program instructions are saved as a text file on the terminal and are ready to be sent to the server over the network.

[0644] Step 2:

[0645] The terminal sends the programmed instructions to the server in real time. Stored programmed instructions are used as input. As output, the terminal sends the programmed instructions as data packets and waits for analysis by the server.

[0646] Step 3:

[0647] The server analyzes the received program instructions. The input is program instructions sent from the terminal. Using a generative AI model, the server analyzes the structure and error patterns of these program instructions in detail and generates feedback. The output is initial feedback based on the analysis results.

[0648] Step 4:

[0649] The server uses an emotion engine to detect the user's emotional state. Interaction data obtained from the user (e.g., keystrokes, input speed) is used as input. The server analyzes the emotions and adjusts the expression of feedback based on that data. The output is feedback that takes the user's emotions into consideration.

[0650] Step 5:

[0651] The server generates visualization information using image generation technology. The input is the result of analyzing program instructions. The server creates visual data such as flowcharts and architecture diagrams, making it easier for the user to understand the program flow. The output is visualized information.

[0652] Step 6:

[0653] The server sends the generated feedback and visualization information to the terminal. The input consists of adjusted feedback and visualization data. The output is the feedback and visualization information sent to the terminal, which the user reviews and uses to modify the program. Based on this feedback, the user can then work on further improving the program.

[0654] (Application Example 2)

[0655] Next, we will explain application example 2. In the following explanation, 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."

[0656] Currently, it is difficult to provide real-time feedback to users regarding the problems they face when writing program code. Furthermore, systems that provide appropriate feedback based on the user's emotional state and support visual understanding are not adequately developed. This leaves unresolved issues such as the stress and cognitive difficulties users experience during program development.

[0657] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0658] In this invention, the server includes means for receiving program code written by the user in real time, means for analyzing the received program code and providing feedback in natural language, means for recognizing the user's emotional information in real time and adjusting the feedback according to the emotional state, and means for generating data that visually represents the structure of the program code. This enables the user to have a more comfortable and intuitive program development experience.

[0659] A "user" is an individual or group that uses the system to write program code and receive feedback.

[0660] "Program code" is a set of instructions designed so that a computer can understand and execute them.

[0661] "Means of receiving in real time" refers to technical means for continuously sending program code written by the user to the server instantly.

[0662] "Means of analysis and providing feedback" refers to a method of analyzing received program code and communicating the results to the user in natural language.

[0663] "Means of generating visually represented data" refers to technologies for creating information that clearly illustrates the structure and operation of code using diagrams and other visual aids.

[0664] "Means of recognizing emotional information" refers to technologies that determine a user's emotional state from their facial expressions, tone of voice, and other similar factors.

[0665] "Means of making adjustments according to emotional state" refers to methods for appropriately changing the tone and content of feedback based on the user's emotions.

[0666] "Simulation techniques" are methods for virtually testing the impact that changes to program code will have on execution.

[0667] A "server" is a computer that processes and manages data over a network and provides services to clients.

[0668] In this invention, the system consists of a user, a terminal, and a server. The user writes program code on a terminal such as a smartphone or tablet. The terminal is responsible for transmitting the program code entered by the user to the server in real time. The server analyzes this program code using a large-scale language model and returns feedback generated in natural language to the terminal.

[0669] The server utilizes emotion recognition technology to recognize the user's emotional state in real time, thereby adjusting feedback according to the user's emotions. For example, if the user is feeling frustrated, the server will provide feedback in a gentler tone.

[0670] Furthermore, the server uses image generation technology to visually represent the structure of the program code, generating flowcharts and architecture diagrams. Technologies such as Stable Diffusion are used to generate this visualization data. This allows users to intuitively understand the overall structure of the program.

[0671] Specifically, suppose an unintended error occurs while the user is programming the robot's motion algorithm. In this case, the server provides feedback such as, "Break down the object-handling step and check if the settings at each point are correct," and also generates a flowchart showing the operation procedure. "Example prompt: 'How can I improve the manipulator's behavior in the program code?'"

[0672] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0673] Step 1:

[0674] The user writes program code on the terminal. The input is the code written by the user, and the terminal prepares it for transmission to the server. The output is the program code data sent to the server. The terminal periodically monitors for code changes and transmits the code as needed.

[0675] Step 2:

[0676] The terminal transmits the program code written by the user to the server in real time. The input is the code from the user, and the output is the code data sent to the server. The terminal securely transmits the code data over the network.

[0677] Step 3:

[0678] The server receives program code sent from the terminal and begins analysis. The input is the received code data, and by analyzing this, it generates feedback data as output. The server uses a generative AI model to understand the structure of the code and create feedback in natural language.

[0679] Step 4:

[0680] The server acquires user emotional information using emotion recognition technology. The input is emotional signals such as the user's facial expressions and voice tone, and the output is recognized emotional data. The server analyzes camera footage and audio and evaluates the user's feelings using an emotion engine.

[0681] Step 5:

[0682] The server combines analysis results and sentiment data to adjust feedback according to the user's emotions. The input is the analysis results and sentiment data, and the output is the adjusted feedback message. The server delivers information in a way that is optimal for the user, such as using a gentle tone or detailed explanations.

[0683] Step 6:

[0684] The server generates visualization data of program code. The input is the analyzed program code, and the output is visualization data such as flowcharts and architecture diagrams. The server uses image generation technology to create diagrams that intuitively show the overall structure and flow of the code.

[0685] Step 7:

[0686] The server sends the adjusted feedback and visualization data to the terminal. The input is the feedback message and visualization data provided to the user, and the output is the dataset sent to the terminal. The server transfers the information over the network in a format that the user can receive.

[0687] Step 8:

[0688] The user receives feedback and visualization data provided on their device to help improve the code. Input is feedback and visualization data from the server, and output is the result of code modifications. The user then improves the program based on the feedback and continues development.

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

[0690] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0691] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.

[0692] [Fourth Embodiment]

[0693] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[0694] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0695] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0696] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[0697] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0699] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0700] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[0701] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0702] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0703] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0704] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0705] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0706] To implement this invention, an environment is provided in which a user can write programs on a dedicated terminal. The terminal is equipped with a communication function for sending the code written by the user to a server in real time. When the user enters code, it is sent to the server in real time and analysis begins.

[0707] The server analyzes the received code using a large-scale language model. This generates feedback on the code's quality and efficiency in natural language. The server immediately sends this feedback back to the user's terminal, allowing the user to review it and modify the code as needed.

[0708] Furthermore, the server uses image generation technology to generate data that visualizes the structure and logic flow of the program code. This data is displayed on the user's terminal as flowcharts and architecture diagrams, allowing the user to gain a deeper overall understanding of the code.

[0709] The server also has a simulation function that predicts how changes to the code will affect other parts of the system. These simulation results are also provided to the user, allowing them to identify potential problems before modifying the code.

[0710] As a concrete example, consider a scenario where a user is implementing a new sorting algorithm. As the user begins writing code on their device, that code is sent to the server. The server analyzes the received code and provides feedback, such as, "This algorithm may become time-inefficient when the input data is large." Furthermore, it generates a flowchart illustrating the algorithm's flow and displays it on the server, allowing the user to understand it visually. Additionally, a simulation function can predict performance changes as the data volume increases, alerting the user to these changes.

[0711] In this way, users are constantly provided with an environment where they can improve their code and learn efficiently. This allows engineers to confidently keep up with technological advancements and proceed with the development process with peace of mind.

[0712] The following describes the processing flow.

[0713] Step 1:

[0714] The user writes program code in the terminal's text editor. The terminal detects that code has been entered and automatically prepares to send that code to the server.

[0715] Step 2:

[0716] The server receives the program code sent from the terminal. The server inputs the received code into a large-scale language model and begins analysis.

[0717] Step 3:

[0718] The server uses a large-scale language model to analyze the syntax, algorithmic efficiency, and redundancy of the code, and generates feedback. The generated feedback is written in natural language.

[0719] Step 4:

[0720] The server sends the generated feedback to the user's device. The device receives this feedback and displays it on the user's editor screen, allowing the user to review the content.

[0721] Step 5:

[0722] Users modify and optimize the code based on the feedback displayed on their device. If necessary, users rewrite the code and submit it to the system.

[0723] Step 6:

[0724] The server utilizes image generation technology to create flowcharts and architecture diagrams of program code. This visualized data is a means of intuitively understanding the structure of the code.

[0725] Step 7:

[0726] Visualized data sent from the server is displayed on the terminal. Through this data, the user visually understands the logic flow and overall structure of the code.

[0727] Step 8:

[0728] The server utilizes simulation AI to predict the impact of code changes. The predicted results highlight potential impacts on performance and dependencies.

[0729] Step 9:

[0730] The simulation results are sent from the server to the terminal, helping the user understand potential problems and areas for improvement, and enabling them to make appropriate code changes. Based on this information, the user can further refine the code and continue development.

[0731] (Example 1)

[0732] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0733] In program code development, manually evaluating code quality and efficiency, understanding its structure, and predicting the impact of code changes presents challenges such as being time-consuming, labor-intensive, and inefficient. Furthermore, because developers perform these processes independently, they face significant burdens in terms of learning and optimization.

[0734] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0735] In this invention, the server includes means for receiving programs in real time, means for analyzing programs and providing feedback in natural language, means for generating and displaying the program structure as visual data, and means for predicting the impact of program changes on other components. This enables developers to effectively improve code quality, deepen their overall understanding, and easily predict the impact of changes.

[0736] A "terminal device" is a computer device that allows users to input programs and check the processing results.

[0737] A "program" is a set of instructions that a computer can execute, and is code written to accomplish a specific process.

[0738] "Real-time reception" refers to communication technology that instantly sends a program entered by a user to a server and immediately begins processing it.

[0739] "Analysis" is a computational process that evaluates the content of a received program and makes judgments about its quality and efficiency.

[0740] "Methods for providing feedback in natural language" refer to technologies that convert analysis results into natural language that is easy for humans to understand and then respond to the user.

[0741] "Visual data" refers to information that illustrates the structure and flow of a program, making it intuitively understandable to users.

[0742] "Image generation technology" refers to computer vision and graphics generation technologies used to visualize the contents of a program.

[0743] "Means of predicting impact" refers to simulation techniques that calculate and predict in advance the impact that program changes will have on other parts of the system.

[0744] A "high-performance language model" is a large-scale machine learning algorithm designed to enable advanced analysis in natural language processing.

[0745] To implement this invention, the following hardware and software are used. The user writes a program using a specific terminal device. This terminal device is equipped with communication functions for sending the code to a server in real time. The server is based on a high-performance computer and utilizes a generative AI model for program analysis. This model refers to, for example, GPT-3 or a similar advanced natural language processing model.

[0746] The server analyzes the received program and generates feedback on its quality and efficiency in natural language. This feedback is immediately sent back to the user's terminal device, where the user can review it and use it to improve the program.

[0747] Furthermore, the server uses image generation technology to convert the program's structure and logic flow into visual data. This data is provided to the user in the form of flowcharts and other formats, and is displayed on terminal devices to facilitate understanding of the code.

[0748] Furthermore, the simulation function is used to predict the impact of program changes on other parts of the system. This allows users to identify potential problems in advance and develop programs more efficiently.

[0749] As a concrete example, when a user implements a new sorting algorithm, the code they write on their terminal is sent to the server. The server analyzes this code and provides feedback such as, "This algorithm may become time-inefficient when the input data is large." A flowchart showing the algorithm's flow is also generated, which the user can use to optimize the algorithm. Furthermore, the server can predict performance changes when the amount of data increases through simulation and provide warnings.

[0750] The following is an example of a prompt message when using a generative AI model.

[0751] Please evaluate the quality and efficiency of the following code snippet. Also, please specify any areas for improvement.

[0752] Code snippet:

[0753] Insert the code written by the user.

[0754] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0755] Step 1:

[0756] The user inputs program code using a terminal device. The input data is the user's own program description, and its specific operation involves inputting it using a programming language editor. In this process, the user writes code necessary for a particular application, such as sorting algorithms and data processing logic.

[0757] Step 2:

[0758] The terminal receives code in real time and sends it to the server. The input is program code written by the user, and the output is the transmission of code to the server. Specific operations include securely and efficiently delivering the code to the server via network communication.

[0759] Step 3:

[0760] The server analyzes the received program code. The input is the program code sent from the terminal, and the output is the analysis result. The server uses a generative AI model to create a prompt message and then begins its analysis. Specific operations include code analysis using advanced natural language processing and evaluation of algorithm performance.

[0761] Step 4:

[0762] The server generates feedback in natural language regarding the quality and efficiency of the program based on the analysis results. The input is analysis data obtained from a generative AI model, and the output is user-understandable natural language feedback. Specific operations include creating feedback using a text generation algorithm.

[0763] Step 5:

[0764] The server generates visual data (flowcharts and architecture diagrams) to visually represent the program's structure and logic flow. The input is structural information of the analyzed program code, and the output is visual data. Specific operations include data visualization using image generation technology.

[0765] Step 6:

[0766] The server predicts the impact of program changes on other configurations. The input is user program change information, and the output is the predicted impact. Specific operations include behavioral simulations that take into account the code change history.

[0767] Step 7:

[0768] The user reviews feedback and visual data provided by the server on their terminal and modifies the program as needed. The input is the feedback and visual data returned from the server, and the output is the improved program code. Specific actions include modifying the code and re-evaluating the data on the terminal.

[0769] (Application Example 1)

[0770] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0771] In the development of automated control systems, there is a need to write and analyze program code in real time to design efficiently and safely. However, with conventional systems, it is difficult to grasp in advance the impact of program changes on the entire system, and there are limitations to visually understanding the overall structure of the program. The challenge is to solve these problems and provide an environment that allows for more effective program improvement.

[0772] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0773] In this invention, the server includes means for receiving software code in real time, means for analyzing the received code and providing feedback in natural language, means for generating data that visually represents the structure of the code, means for simulating the effects of code changes, and means for writing and analyzing the control program of the automatic control system. This enables developers to efficiently and safely improve the program code of the automatic control system and to accelerate the design process.

[0774] A "user" is a person who uses a system to write program code and have it analyzed.

[0775] "Software code" is the text of a program that describes the instructions that a computer will execute.

[0776] "Real-time" is a tense that means that processing takes place immediately the moment an event occurs.

[0777] "Means of receiving" refers to the processes and technologies used to acquire data from external sources.

[0778] "Analysis" is the process of breaking down a received program and evaluating its structure and quality.

[0779] "Means of providing feedback in natural language" refers to technologies for presenting analysis results in a language that humans can understand.

[0780] "Visually represented data" refers to data structures that display information visually using diagrams and charts.

[0781] "Means of simulation" are virtual experimental techniques used to predict behavior under specific conditions.

[0782] An "automatic control system" is a system that operates and manages autonomously through a program.

[0783] A "control program" is a series of instructions that guide the operation of an automatic control system.

[0784] The system for implementing this invention requires a user terminal, a server, and a cloud computing platform. The user writes software code using a terminal with a dedicated application installed. The written code is sent to the server in real time.

[0785] The servers are built on a cloud platform with advanced computing power, where large-scale language models are used to analyze incoming code. The analysis results are fed back in natural language using a generative AI model and immediately returned to the user's terminal. This feedback concerns the quality and efficiency of the code, providing guidance for the user to improve their code.

[0786] Furthermore, the server uses image generation technology to create flowcharts and architecture diagrams that visually represent the structure of the software code. This allows users to gain a deeper overall understanding of the code. In addition, the server simulates the impact of code changes and predicts the potential effects of those changes on other parts of the system. These simulation results are also provided to the user.

[0787] Users can leverage this real-time feedback and simulation to efficiently and safely design and improve control programs for automated control systems. For example, when a user is writing an obstacle detection algorithm for an autonomous vehicle, the received code is analyzed, and feedback is provided highlighting areas for improvement and points to be aware of.

[0788] A concrete example of a prompt message would be: "Analyze the code for the obstacle detection algorithm of the autonomous vehicle and provide feedback on its efficiency and safety. Additionally, generate a flowchart of the code and include warnings where false positives may occur." This allows users to receive practical feedback and build a better system.

[0789] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0790] Step 1:

[0791] The user writes software code on the device.

[0792] Input: Software code written by the user.

[0793] Output: The written code will be prepared on the terminal.

[0794] Specific operation: The user opens a dedicated application and enters software code using a code editor. This code is prepared in real time for the next process.

[0795] Step 2:

[0796] The device sends the code it contains to the server in real time.

[0797] Input: Software code written by the user on the terminal.

[0798] Output: The transmitted code arrives at the server.

[0799] Specific operation: The terminal uses its network communication function to send code to the server. The server then receives the code and immediately prepares for analysis.

[0800] Step 3:

[0801] The server analyzes the code using a large-scale language model.

[0802] Input: Software code sent from the terminal to the server.

[0803] Output: Code analysis results and natural language feedback.

[0804] Specific operation: The server inputs the received code into a large-scale language model (e.g., a generative AI model) and performs analysis on the code's quality and efficiency. Based on the analysis results, it generates feedback in natural language.

[0805] Step 4:

[0806] The server visualizes the code structure.

[0807] Input: Software code analyzed by the server.

[0808] Output: Code flowcharts and architecture diagrams.

[0809] Specific operation: The server utilizes image generation technology to visualize the code structure and logic flow. This data is saved for the user to review later.

[0810] Step 5:

[0811] The server simulates the impact of code changes.

[0812] Input: Software code analyzed by the server.

[0813] Output: Potential impact information as a result of the simulation.

[0814] Specific operation: The server uses simulation capabilities to predict the impact of code changes on the entire system. Based on these predictions, it generates information about the likelihood of problems occurring.

[0815] Step 6:

[0816] The server performs analysis and visualization, and sends the simulation results back to the user's terminal.

[0817] Input: Analysis results, visualization data, simulation results.

[0818] Output: The set of information displayed on the user's terminal.

[0819] Specific operation: The server sends feedback, visualization data, and simulation results back to the user's terminal via the network. The user can review this and gain a better understanding of areas for improvement and potential problems in the code.

[0820] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0821] To implement this invention, a terminal for the user to write program code and a server that provides analysis and feedback must be connected via a network. In addition, an emotion engine capable of recognizing the user's emotions in real time is implemented.

[0822] When a user writes program code in a text editor on their device, the device sends that code to a server. The server analyzes the received code using a large-scale language model and generates feedback in natural language based on the results. The feedback is adjusted to take into account the user's current emotional state; for example, if the user is feeling frustrated, the feedback is adjusted to present suggestions for improvement in a gentler tone to increase the user's sense of security.

[0823] Furthermore, to aid visual understanding, the server uses image generation technology to create flowcharts and architecture diagrams that illustrate the code structure. This visualized data provides users with an intuitive understanding and allows them to grasp the overall picture of the code.

[0824] The emotion engine monitors the user's emotions in real time while they are writing or modifying code. This allows the server to provide appropriate feedback and visualization data based on the user's emotions, helping them to have a more comfortable development experience.

[0825] As a concrete example, suppose a user is implementing a new data analysis algorithm and the sentiment engine detects that there are many errors, thereby indicating the user's frustration. In this case, the server gently presents more detailed and explanatory feedback, providing additional information to reassure the user. As for visualized data, a flowchart breaking down the algorithm step by step is presented to facilitate understanding of each step.

[0826] This configuration not only solves technical problems but also improves the user experience, enabling learning and development while reducing stress.

[0827] The following describes the processing flow.

[0828] Step 1:

[0829] The user begins writing program code in the device's editor. The emotion engine monitors the user's emotional state in real time to determine if the user is experiencing stress.

[0830] Step 2:

[0831] The terminal sends the written program code to the server. The emotion engine data is also sent to the server at the same time.

[0832] Step 3:

[0833] The server analyzes the received program code using a large-scale language model. This model evaluates the efficiency and redundancy of the code and generates feedback.

[0834] Step 4:

[0835] The server adjusts the generated feedback based on the user's emotional state. For example, if the user is feeling anxious, the feedback will be structured in a gentle, encouraging tone.

[0836] Step 5:

[0837] The server sends feedback to the terminal. The terminal receives this information and displays it on the user's editor screen for the user to see.

[0838] Step 6:

[0839] The server uses image generation technology to generate data that visualizes the code's processing flow and structure. It creates flowcharts and architecture diagrams to help users understand the code better.

[0840] Step 7:

[0841] The visualized data is sent to the user's device, which displays it in an appropriate format. This visual information makes it easier for the user to intuitively understand the logical flow of the code.

[0842] Step 8:

[0843] The user modifies or verifies the code based on the feedback and visualization data presented on the device. If necessary, they resubmit the code to the server to continue the analysis and feedback cycle.

[0844] Step 9:

[0845] The emotion engine continues to monitor the user's emotional state. It checks whether the user's stress levels have decreased and whether they can continue working with peace of mind, and adjusts the feedback method as needed.

[0846] (Example 2)

[0847] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0848] Traditional programming support systems often fail to consider the user's emotional state when analyzing and providing feedback on program code, which can easily cause user stress and hinder efficient learning and development. Furthermore, the difficulty in intuitively understanding the program structure often leads to inefficient modification work.

[0849] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0850] In this invention, the server includes means for detecting the user's emotional state and adjusting the tone of feedback, means for performing analysis of program instructions using a large-scale language model, and means for using image generation technology when generating visually represented information. This makes it possible to understand and modify the program while reducing stress through feedback and visual information provision that takes the user's emotions into consideration.

[0851] A "user" is someone who operates the system and writes and modifies program instructions.

[0852] A "server" is an information processing device that connects to a user's terminal via a network and performs tasks such as analyzing program instructions and generating feedback.

[0853] "Program instructions" are code written by the user, and they are a set of instructions that define the executable actions.

[0854] "Receiving in real time" means receiving data sent by the user immediately and starting processing promptly.

[0855] A "large-scale language model" is a model constructed using machine learning algorithms for natural language processing, capable of highly advanced text analysis and generation.

[0856] "Feedback" refers to suggestions and improvement ideas presented to the user based on the analysis results, and is information intended to support program modifications.

[0857] "Detecting emotional states and adjusting the tone of feedback" means collecting and analyzing user emotional information and appropriately changing the expression of feedback based on the results.

[0858] "Visualized information" refers to data that visually represents the structure and operation of program instructions, and includes flowcharts and architecture diagrams.

[0859] "Image generation technology" refers to the technology used to automatically generate visual data using computer programs.

[0860] To implement this invention, a user's terminal and a server connected via a network are required. The user writes program instructions using a text editor on the terminal. These program instructions are sent to the server in real time. The server analyzes the received program instructions using a large-scale language model and generates feedback in natural language. A commonly used generative AI model is used as this large-scale language model.

[0861] Feedback based on the analyzed information is adjusted to a tone that takes into account the user's emotional state. The emotional state is detected by the emotion engine from the user's input data and interactions. This emotion engine optimizes the feedback based on the user's current psychological state.

[0862] Furthermore, the server uses image generation technology to create visualizations. These visualizations show the structure and flow of program instructions, providing users with an intuitive understanding.

[0863] As a concrete example, consider a scenario where a user encounters an unexpected error while writing a data analysis algorithm. If the emotion engine detects that the user is feeling frustrated, the server generates gentle feedback such as, "Errors at this stage are common. Let's check the conditional statement," and also provides a flowchart visualizing the location of the error. This system allows the user to continue working with peace of mind.

[0864] An example of a prompt to input into the generating AI model is: "Many errors are occurring during the implementation of a new data analysis algorithm. Please guide the user to alleviate their frustration and generate a visual flowchart."

[0865] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0866] Step 1:

[0867] The user writes program instructions using a text editor on the terminal. The user inputs program instructions as input. These program instructions are saved as a text file on the terminal and are ready to be sent to the server over the network.

[0868] Step 2:

[0869] The terminal sends the programmed instructions to the server in real time. Stored programmed instructions are used as input. As output, the terminal sends the programmed instructions as data packets and waits for analysis by the server.

[0870] Step 3:

[0871] The server analyzes the received program instructions. The input is program instructions sent from the terminal. Using a generative AI model, the server analyzes the structure and error patterns of these program instructions in detail and generates feedback. The output is initial feedback based on the analysis results.

[0872] Step 4:

[0873] The server uses an emotion engine to detect the user's emotional state. Interaction data obtained from the user (e.g., keystrokes, input speed) is used as input. The server analyzes the emotions and adjusts the expression of feedback based on that data. The output is feedback that takes the user's emotions into consideration.

[0874] Step 5:

[0875] The server generates visualization information using image generation technology. The input is the result of analyzing program instructions. The server creates visual data such as flowcharts and architecture diagrams, making it easier for the user to understand the program flow. The output is visualized information.

[0876] Step 6:

[0877] The server sends the generated feedback and visualization information to the terminal. The input consists of adjusted feedback and visualization data. The output is the feedback and visualization information sent to the terminal, which the user reviews and uses to modify the program. Based on this feedback, the user can then work on further improving the program.

[0878] (Application Example 2)

[0879] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0880] Currently, it is difficult to provide real-time feedback to users regarding the problems they face when writing program code. Furthermore, systems that provide appropriate feedback based on the user's emotional state and support visual understanding are not adequately developed. This leaves unresolved issues such as the stress and cognitive difficulties users experience during program development.

[0881] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0882] In this invention, the server includes means for receiving program code written by the user in real time, means for analyzing the received program code and providing feedback in natural language, means for recognizing the user's emotional information in real time and adjusting the feedback according to the emotional state, and means for generating data that visually represents the structure of the program code. This enables the user to have a more comfortable and intuitive program development experience.

[0883] A "user" is an individual or group that uses the system to write program code and receive feedback.

[0884] "Program code" is a set of instructions designed so that a computer can understand and execute them.

[0885] "Means of receiving in real time" refers to technical means for continuously sending program code written by the user to the server instantly.

[0886] "Means of analysis and providing feedback" refers to a method of analyzing received program code and communicating the results to the user in natural language.

[0887] "Means of generating visually represented data" refers to technologies for creating information that clearly illustrates the structure and operation of code using diagrams and other visual aids.

[0888] "Means of recognizing emotional information" refers to technologies that determine a user's emotional state from their facial expressions, tone of voice, and other similar factors.

[0889] "Means of making adjustments according to emotional state" refers to methods for appropriately changing the tone and content of feedback based on the user's emotions.

[0890] "Simulation techniques" are methods for virtually testing the impact that changes to program code will have on execution.

[0891] A "server" is a computer that processes and manages data over a network and provides services to clients.

[0892] In this invention, the system consists of a user, a terminal, and a server. The user writes program code on a terminal such as a smartphone or tablet. The terminal is responsible for transmitting the program code entered by the user to the server in real time. The server analyzes this program code using a large-scale language model and returns feedback generated in natural language to the terminal.

[0893] The server utilizes emotion recognition technology to recognize the user's emotional state in real time, thereby adjusting feedback according to the user's emotions. For example, if the user is feeling frustrated, the server will provide feedback in a gentler tone.

[0894] Furthermore, the server uses image generation technology to visually represent the structure of the program code, generating flowcharts and architecture diagrams. Technologies such as Stable Diffusion are used to generate this visualization data. This allows users to intuitively understand the overall structure of the program.

[0895] Specifically, suppose an unintended error occurs while the user is programming the robot's motion algorithm. In this case, the server provides feedback such as, "Break down the object-handling step and check if the settings at each point are correct," and also generates a flowchart showing the operation procedure. "Example prompt: 'How can I improve the manipulator's behavior in the program code?'"

[0896] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0897] Step 1:

[0898] The user writes program code on the terminal. The input is the code written by the user, and the terminal prepares it for transmission to the server. The output is the program code data sent to the server. The terminal periodically monitors for code changes and transmits the code as needed.

[0899] Step 2:

[0900] The terminal transmits the program code written by the user to the server in real time. The input is the code from the user, and the output is the code data sent to the server. The terminal securely transmits the code data over the network.

[0901] Step 3:

[0902] The server receives program code sent from the terminal and begins analysis. The input is the received code data, and by analyzing this, it generates feedback data as output. The server uses a generative AI model to understand the structure of the code and create feedback in natural language.

[0903] Step 4:

[0904] The server acquires user emotional information using emotion recognition technology. The input is emotional signals such as the user's facial expressions and voice tone, and the output is recognized emotional data. The server analyzes camera footage and audio and evaluates the user's feelings using an emotion engine.

[0905] Step 5:

[0906] The server combines analysis results and sentiment data to adjust feedback according to the user's emotions. The input is the analysis results and sentiment data, and the output is the adjusted feedback message. The server delivers information in a way that is optimal for the user, such as using a gentle tone or detailed explanations.

[0907] Step 6:

[0908] The server generates visualization data of program code. The input is the analyzed program code, and the output is visualization data such as flowcharts and architecture diagrams. The server uses image generation technology to create diagrams that intuitively show the overall structure and flow of the code.

[0909] Step 7:

[0910] The server sends the adjusted feedback and visualization data to the terminal. The input is the feedback message and visualization data provided to the user, and the output is the dataset sent to the terminal. The server transfers the information over the network in a format that the user can receive.

[0911] Step 8:

[0912] The user receives feedback and visualization data provided on their device to help improve the code. Input is feedback and visualization data from the server, and output is the result of code modifications. The user then improves the program based on the feedback and continues development.

[0913] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0914] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0915] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[0916] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[0917] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[0918] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[0919] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[0920] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[0921] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[0922] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[0923] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[0924] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

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

[0926] 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.

[0927] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[0928] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[0929] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[0930] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[0931] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[0932] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[0933] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[0934] The following is further disclosed regarding the embodiments described above.

[0935] (Claim 1)

[0936] The program code written by the user

[0937] Means of receiving in real time,

[0938] A means of analyzing received program code and providing feedback in natural language,

[0939] A means for generating data that visually represents the structure of program code,

[0940] A means of simulating the impact of changes to program code,

[0941] A system that includes this.

[0942] (Claim 2)

[0943] The system according to claim 1, which performs program code analysis using a large-scale language model.

[0944] (Claim 3)

[0945] The system according to claim 1, which uses image generation technology when generating data to be visually represented.

[0946] "Example 1"

[0947] (Claim 1)

[0948] In a terminal device, a means for receiving programs written by the user in real time,

[0949] A means of analyzing the received program and providing feedback on quality and efficiency in natural language,

[0950] A means of generating and displaying the program's processing flow and structure as visual data,

[0951] A means of predicting the impact of program changes on other configurations,

[0952] A computer system including [this].

[0953] (Claim 2)

[0954] The computer system according to claim 1, which performs program analysis using a high-performance language model.

[0955] (Claim 3)

[0956] The computer system according to claim 1, which uses image generation technology when generating data to be visually represented.

[0957] "Application Example 1"

[0958] (Claim 1)

[0959] The software code written by the user

[0960] Means of receiving in real time,

[0961] A means of analyzing received software code and providing feedback in natural language,

[0962] A means for generating data that visually represents the structure of software code,

[0963] A means of simulating the impact of changes to software code,

[0964] Means for describing and analyzing control programs for automatic control systems,

[0965] A system that includes this.

[0966] (Claim 2)

[0967] The system according to claim 1, which performs software code analysis using a large-scale language model.

[0968] (Claim 3)

[0969] The system according to claim 1, which uses image generation technology when generating data to be visually represented.

[0970] "Example 2 of combining an emotion engine"

[0971] (Claim 1)

[0972] A means of receiving program instructions written by the user in real time,

[0973] A means of analyzing received program instructions and providing feedback in natural language,

[0974] A means for generating information that visually represents the structure of program instructions,

[0975] A means of detecting the user's emotional state and adjusting the tone of feedback,

[0976] A means of simulating the effects of changing program instructions,

[0977] A system that includes this.

[0978] (Claim 2)

[0979] The system according to claim 1, which performs program instruction analysis using a large-scale language model.

[0980] (Claim 3)

[0981] The system according to claim 1, which uses image generation technology when generating visually represented information.

[0982] "Application example 2 when combining with an emotional engine"

[0983] (Claim 1)

[0984] The program code written by the user

[0985] Means of receiving in real time,

[0986] A means of analyzing received program code and providing feedback in natural language,

[0987] A means for generating data that visually represents the structure of program code,

[0988] A means of recognizing user emotional information in real time and providing feedback with adjustments according to the emotional state,

[0989] A means of simulating the impact of changes to program code,

[0990] A system that includes this.

[0991] (Claim 2)

[0992] The system according to claim 1, which performs program code analysis using a large-scale language model.

[0993] (Claim 3)

[0994] The system according to claim 1, which uses image generation technology when generating data to be visually represented. [Explanation of symbols]

[0995] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. The software code written by the user Means of receiving in real time, A means of analyzing received software code and providing feedback in natural language, A means for generating data that visually represents the structure of software code, A means of simulating the impact of changes to software code, Means for describing and analyzing control programs for automatic control systems, A system that includes this.

2. The system according to claim 1, which performs software code analysis using a large-scale language model.

3. The system according to claim 1, wherein image generation technology is used when generating data to be visually represented.