system

The system addresses the limitations of existing visual programming tools by allowing users to construct programs visually and convert them into multiple languages, enhancing efficiency and reducing learning costs.

JP2026098706APending Publication Date: 2026-06-17SOFTBANK GROUP CORP

Patent Information

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

AI Technical Summary

Technical Problem

Existing visual programming tools are limited to specific programming languages and lack the ability to perform code conversion between diverse languages, leading to decreased business efficiency and increased learning costs during language migrations.

Method used

A system with a user interface for visually constructing programs, a language conversion engine that analyzes and converts the visual program into selected programming languages, and an output mechanism for providing the generated code, allowing users to work productively across different programming environments.

Benefits of technology

Enables users to create programs visually without knowledge of specific languages, facilitating efficient and understandable code generation across diverse environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026098706000001_ABST
    Figure 2026098706000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A user interface means that enables users to visually construct programs, A language conversion engine means that analyzes a visual program built by a user and converts the code into one or more selected programming languages, An output means for providing the generated code to the user and making it viewable or downloadable, 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 and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a 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] Visual programming tools make it easier for beginners to approach programming through visual representations of programs. However, existing tools are limited to specific programming languages and lack the ability to perform code conversion between diverse languages. This particularly leads to a decrease in business efficiency and an increase in learning costs when migrating to an environment using a different programming language due to changes such as job transfers. Therefore, there is a need for a system that can visually construct programs and be easily understood and operated regardless of the programming language being used.

Means for Solving the Problems

[0005] This invention provides a system with a user interface that enables users to visually construct programs. It also includes a language conversion engine that analyzes the visual program constructed by the user and converts the code into one or more selected programming languages. Furthermore, it includes output means that provide the generated code to the user, making it viewable or downloadable. This realizes a system that allows users to create programs visually, independently of a specific language, and to work productively in different programming environments.

[0006] "User interface means" refers to means including screens and input devices that enable users to visually construct programs.

[0007] A "language conversion engine means" is a system or algorithm for analyzing a visual program created by a user and converting the code into one or more selected programming languages.

[0008] An "output means" is a component that has the functionality to provide the generated program code to the user, allowing the user to view or download it.

[0009] A "visual program" is a form of program description that represents the logic of a program using visual blocks or flows, making it easy to assemble and modify.

[0010] "Generated code" refers to the source code of a program written in a specific programming language, generated from a visual program by a conversion engine. [Brief explanation of the drawing]

[0011] [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] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]

[0012] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.

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

[0014] 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 a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.

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

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

[0017] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor and an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark), and the like.

[0018] 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."

[0019] [First Embodiment]

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

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

[0022] 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).

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

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

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

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

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

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

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

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

[0031] 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".

[0032] This invention provides a system that allows a user to visually construct a program and generate source code in a selected programming language based on that visual program. The system mainly consists of a user interface means, a language conversion engine means, and an output means.

[0033] In terms of user interface means, users can operate a terminal and access a web-based or standalone visual editor. Here, users can visually construct program logic by combining visual blocks. Operations are performed using drag-and-drop, and construction is easily done through an intuitive user interface.

[0034] In the language conversion engine, the server is responsible for this. The server analyzes the visual program received from the user interface and converts it into the selected programming language. By utilizing AI technology, it performs pattern matching and generates an appropriate code structure. Internally, it strives to improve conversion accuracy based on existing code samples and statistical data.

[0035] The output method involves the server sending the generated source code to the terminal, where the user can review it. The code can be displayed on the screen or downloaded as a file, allowing the user to use the generated code directly in their work. This process automatically inserts comments into the generated code to ensure readability for third parties.

[0036] As a concrete example, if a user creates a program using "conditional branching" in a visual editor, the server converts this visual block into conditional branching code suitable for any programming language, such as Python or JavaScript (registered trademark). The generated code is then sent back to the user's terminal and displayed. Through this process, users can execute and utilize programs in different programming environments without requiring deep knowledge of the language.

[0037] The following describes the processing flow.

[0038] Step 1:

[0039] The user accesses the visual programming tool through the terminal and launches the visual editor. The user then performs the necessary steps to begin creating a program and selects the programming language to use.

[0040] Step 2:

[0041] The terminal responds to user input and displays a screen on the visual editor. The user can visually assemble the program's logic by dragging and dropping visual blocks (e.g., conditional statements, loops, variables, etc.) within the editor.

[0042] Step 3:

[0043] Once the user has finished building the program, they click the "Generate Code" button. The terminal converts the constructed visual program into a data format (e.g., JSON format) and sends it to the server.

[0044] Step 4:

[0045] The server analyzes the visual program data received from the terminal and interprets the meaning of the visual blocks. The server uses a language translation engine to generate source code corresponding to the programming language selected by the user.

[0046] Step 5:

[0047] The server formats the generated source code, adds comments to the code as needed, and improves the readability and understandability of the code.

[0048] Step 6:

[0049] The server then sends the generated code to the device. The device receives this code and displays it on the user's screen. The user can then verify and download the code.

[0050] Step 7:

[0051] Users can review the generated source code and, if necessary, save it locally or run it in a test or production environment.

[0052] (Example 1)

[0053] 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."

[0054] In modern information processing, there is a challenge in that it is difficult for users to easily construct information processing in a visual and unified environment and output the necessary data, even without specialized knowledge of different information processing languages. Furthermore, there is the problem that it is not easy to annotate the generated data to facilitate understanding.

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

[0056] In this invention, the server includes a user input / output device that enables the user to visually construct information processing; a data conversion device that analyzes the visual information processing constructed by the user and converts the data into one or more selected information processing languages; an output device that provides the generated data to the user and makes it displayable or recordable; and means for using artificial intelligence technology to process the information. This enables the user to construct and output information processing in an efficient and easy-to-understand format without requiring deep knowledge of programming.

[0057] A "user input / output device" is a device that allows users to intuitively manipulate visual data, and is responsible for the visualization and input of information processing.

[0058] A "data conversion device" is a device that analyzes visually constructed information processing and automatically converts it into a data format corresponding to the selected information processing language.

[0059] An "output device" is a device that provides generated data to the user in a visible or recordable format and allows downloads as needed.

[0060] "Artificial intelligence technology" refers to technologies that utilize algorithms and machine learning models to improve the accuracy of information processing analysis and transformation.

[0061] "Visual information processing" refers to the logical structure and flow of information processing that users construct through a visual interface.

[0062] Annotation refers to descriptive elements added to generated data, which are automatically inserted to improve the readability and understanding of code and data.

[0063] An "information processing language" is a programming language that has a specific syntax and rules for executing instructed processes, and is selected according to its purpose.

[0064] This invention provides a system that allows users to visually construct information processing. Users operate a terminal and access a visual editor that functions as a user input / output device. This editor is provided in a web-based or standalone format, allowing users to construct information processing by dragging and dropping visual blocks. This provides an environment where even users without specialized programming knowledge can easily perform data processing.

[0065] This system includes a server that receives the constructed visual information processing. The server is equipped with a data conversion device that analyzes the visual information and automatically generates data suitable for information processing languages ​​(such as Python or JavaScript) using a generative AI model. This conversion utilizes advanced artificial intelligence technology, achieving optimal conversion using existing data patterns and statistical information.

[0066] The generated data is sent to the terminal via an output device, allowing the user to view the generated process on the screen or record it as a file. Annotations are automatically inserted into the data, making it easy for users and third parties to understand.

[0067] For example, if a user prompts with the message, "Generate a Python program that displays all even numbers in a list," the server will generate the appropriate code according to this request and provide the result to the terminal. This process provides a visually consistent environment that supports various information processing languages, improving user convenience.

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

[0069] Step 1:

[0070] The user uses a terminal to access a visual editor and visually construct information processing. Specifically, the user defines the flow of processing by dragging and dropping blocks provided within the editor. In this process, the user's input is represented as a combination of visual blocks, and the visual information processing is saved on the terminal as output.

[0071] Step 2:

[0072] The terminal sends the visual information processing created by the user to the server. This input data is configuration information for visual blocks. As output, this data is delivered to the server via the network. Specifically, protocols such as HTTP and WebSocket are used, and data is transmitted in real time.

[0073] Step 3:

[0074] The server receives the visual information and passes it to the data conversion device. The server uses a generative AI model to analyze the visual data. This analysis process involves breaking down the visual blocks and performing data processing to identify the program's logic. As output, the analyzed logic is converted into an internal data format.

[0075] Step 4:

[0076] The server uses a data conversion device to generate data in an information processing language selected based on the analysis results. Specifically, AI technology is used to convert the data into program code with appropriate syntax and operators. This process generates complete information processing language code as output.

[0077] Step 5:

[0078] The server sends the generated code to the terminal. This transmission is generally asynchronous, and the generated code is delivered to the terminal. The output device then formats the displayed data. Specifically, the generated data is sent back via an HTTP response, and the code awaits user confirmation.

[0079] Step 6:

[0080] The user reviews the submitted code using their terminal. Depending on the terminal, the code can be displayed on the screen or saved. The output data displays the completed code, which is capable of running the program. Specifically, the user reviews the code and saves it in a format that can be directly used for work or learning. Furthermore, if necessary, the user can request the code again using prompts.

[0081] (Application Example 1)

[0082] 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."

[0083] While programming education is particularly emphasized in modern education, there remains a problem in that children still face high hurdles in understanding programming. Furthermore, there is a need for a consistent and simple method to build programs in a visually intuitive way and convert them into executable code, but current solutions are insufficient.

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

[0085] In this invention, the server includes an operating means that enables the user to program actions visually, a conversion means that analyzes the visual action program constructed by the user and converts the code into one or more selected programming languages, and a distribution means that transmits the generated code to educational equipment and makes it executable. This allows children to deepen their understanding of programming education and make learning more enjoyable and effective by creating programs visually and experiencing them as actual actions.

[0086] A "user" is the entity that visually constructs the program and controls its operation; in other words, the person who operates this system.

[0087] "Operating means" refers to a system element that provides an interface for the user to program actions visually.

[0088] A "conversion mechanism" is a system function that analyzes a user-generated program and converts it into a format suitable for the selected programming language.

[0089] "Distribution means" refers to a part of a system that performs communication and transmission to send the generated code to designated educational equipment and make it executable.

[0090] "Educational equipment" refers to devices or equipment that execute generated code and allow users to visually verify the program.

[0091] The system for implementing this invention primarily operates in conjunction with educational equipment. First, the user programs the operation on a visual interface using an operating mechanism. Specifically, the program is constructed by dragging and dropping visual blocks displayed on a tablet or smartphone screen.

[0092] The constructed visual program is sent from the terminal to the server. The server uses a conversion mechanism to analyze the visual program and convert it into source code suitable for a selected programming language, such as Python.

[0093] The converted source code is transmitted to educational equipment via a distribution method and executed on the equipment. This allows the user's visually programmed actions to be reproduced as actual physical actions by the educational equipment.

[0094] The hardware used includes educational robots and tablet devices. The software includes a web-based editor for drawing visual programs and an AI-powered conversion engine.

[0095] To give a concrete example, if an elementary school student uses a tablet to program a home robot to "rotate and move forward," the user visually combines "rotate" and "move forward" blocks. The program sent to the server is then converted into Python code that says, "rotate 45 degrees to the right and move forward 50 cm."

[0096] An example of a prompt for the generated AI model would be: "Convert the following visual programming blocks into Python code: Rotate 45 degrees to the right, move 50 cm forward." This prompt allows for a quick conversion process.

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

[0098] Step 1:

[0099] The user constructs a visual program using the controls of a tablet device. Specifically, they drag and drop action blocks displayed on the screen to form the program flow. At this stage, the input is the block placement performed by the user, and the output is the configuration information of the visual program.

[0100] Step 2:

[0101] The terminal sends data of the constructed visual program to the server. The data sent includes the types and order of the placed blocks. The input is the visual program configuration information from step 1, and the output is the program data sent to the server.

[0102] Step 3:

[0103] The server analyzes the received visual program data using a conversion mechanism and converts it into source code in a selected programming language using AI technology. Specifically, it analyzes patterns of visual blocks and generates appropriate code based on them. The input is program data, and the output is the converted source code.

[0104] Step 4:

[0105] The server uses a generative AI model to create prompt statements and optimize the code conversion process. These prompt statements play a role in improving the accuracy of pattern conversion by AI technology. The input is visual data based on programming logic, and the output is the optimized prompt statement.

[0106] Step 5:

[0107] The generated source code is sent from the server to the educational device. At this stage, the procedure for executing the code is prepared. The input is the source code, and the output is the state of the educational device ready for execution.

[0108] Step 6:

[0109] The educational device executes the received source code and reproduces the actions programmed by the user visually. For example, a robot accurately follows a set route. At this stage, the input is the source code, and the output is the executed physical action.

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

[0111] The present invention provides a system that supports the process of a user visually constructing a program and converting it into a selected programming language, and includes a function to recognize and respond to the user's emotions during this process. The system consists of a user interface means, a language conversion engine means, an output means, and an emotion engine means.

[0112] The user interface allows users to access the system using a terminal and build programs in a visual programming environment. The tool is designed to enable intuitive operation, allowing users to form the program's logic by arranging visual blocks using drag-and-drop.

[0113] The language conversion engine is executed by a server. The server receives the visual program data created by the user and generates source code corresponding to the selected programming language. The conversion process is performed by an AI-based algorithm, and the generated code is output in the specified format.

[0114] The output method involves sending the code generated by the server to the user's terminal, allowing the user to verify the results. The code is displayed visually, and the user can save it locally if needed.

[0115] The emotion engine collects emotional data through cameras and sensors during user interaction and analyzes it in real time. Based on the user's emotional state, adjustments are made to the user interface and code generation. For example, if the user is feeling frustrated, the emotion engine can simplify interface elements or display guidance messages.

[0116] For example, if the emotion engine detects user confusion while a user is creating a program with complex conditional branching using a visual editor, the system will present a tutorial on how to use conditional branching. It will also add explanatory comments to the generated code to aid understanding. In this way, users can create and use programs with emotion-responsive support.

[0117] The following describes the processing flow.

[0118] Step 1:

[0119] Users access the visual programming tool from their terminal. Using a visual editor, users can assemble programming logic as visual blocks. Users can easily place the necessary components of the program using drag-and-drop and set their chosen programming language (e.g., Python or JavaScript).

[0120] Step 2:

[0121] The terminal displays the user's visually constructed program in real time. The editor updates with every user input or change, providing visual feedback to help the user understand the program's flow.

[0122] Step 3:

[0123] The server receives visual program data from the terminal. Based on this data, it activates a language translation engine to generate source code corresponding to the selected programming language. The translation process uses AI technology to map visual blocks to programming syntax.

[0124] Step 4:

[0125] The server adds comments to the generated code to clarify its intent and function. It also formats the code to match the user's visual program structure, making it easier for the user to understand when reviewing the code later.

[0126] Step 5:

[0127] The terminal displays a code received from the server to the user. The user can review the code and, if necessary, save it locally or make further edits.

[0128] Step 6:

[0129] While the user is creating their program, an emotion sensor connected to the device monitors the user's facial expressions and posture. The emotion engine analyzes the data in real time and evaluates the user's emotional state.

[0130] Step 7:

[0131] The server receives feedback from the emotion engine and adjusts the interface if the user is experiencing frustration or confusion. Specifically, it attempts to improve user efficiency by displaying program hints or providing guiding messages.

[0132] (Example 2)

[0133] 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".

[0134] Traditional visual programming systems have limitations in terms of the intuitive environment available to users, and also insufficient feedback and support that responds to the user's emotions during the program generation process. This has resulted in limitations in user efficiency and learning effectiveness, especially for beginners and those dealing with complex programs.

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

[0136] In this invention, the server includes means for providing a visual operating environment that allows the user to intuitively form program logic using an operating device; an information processing device that analyzes the visual program constructed by the user and converts the code into one or more selected programming languages; and means for acquiring the user's emotional information and adjusting the environment to improve the efficiency of the operations performed by the user. This enables the user to construct programs efficiently and receive support to enhance work efficiency and learning effectiveness.

[0137] A "user" is someone who uses a visual operating environment to build programs.

[0138] "Operating equipment" refers to terminals or devices used by users to visually construct programs.

[0139] A "visual manipulation environment" is an interface that allows users to combine visual blocks using drag-and-drop to form program logic.

[0140] An "information processing device" is a server-side component that analyzes a user-created visual program and converts it into a specified programming language.

[0141] "Emotional information" refers to real-time emotional data obtained during a user's work, primarily acquired through cameras and sensors.

[0142] "Means of adjusting the environment" refers to methods of providing user interface modifications and support based on user sentiment information to improve work efficiency.

[0143] This invention provides a visual operating environment that allows users to intuitively form program logic using an operating device. Users construct programs by combining visual blocks via drag-and-drop on a terminal. This interface presents complex logical structures in a way that is easy for users to visually understand.

[0144] The server analyzes the visual program data created by the user and converts the code into one or more selected programming languages. The server utilizes a generative AI model to optimize the language conversion process. The converted code is generated in the specified format and sent to the terminal.

[0145] Furthermore, the server uses sensor technology with emotion recognition capabilities to collect emotional information from the user during operation. This information is analyzed in real time and used to adapt the user interface and support functions. For example, if a user is confused by a complex operation, the system can provide specific guidance messages or simplify the operation procedure.

[0146] For example, when a user is creating an algorithm that includes conditional branching, if the user encounters difficulties, the system could immediately display a tutorial on conditional branching. It could also include automatically adding explanatory comments to the generated code to facilitate understanding.

[0147] An example of a prompt for this system is, "How can I use the visual programming environment to support users in frustrating situations?" This prompt explains the intent behind the generated code and serves as a guide to support user skill development.

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

[0149] Step 1:

[0150] The terminal provides a visual operating environment through the user's control device. The user forms the desired program logic by dragging and dropping visual blocks. Input is the user's selections and operations from the control device, and output is the data of the constructed visual program. This allows the user to intuitively design programming logic.

[0151] Step 2:

[0152] The server receives visual program data provided by the terminal and performs analysis using a generating AI model. The input is visual program data, and the server uses this to understand the program logic intended by the user. It performs pattern recognition and logical derivation of the data and generates data for conversion into the selected programming language as output.

[0153] Step 3:

[0154] The server generates source code corresponding to one or more selected programming languages ​​based on the data to be converted. An AI algorithm designs an optimized code structure to generate efficient and highly readable source code. The output is the generated source code, which is formatted to the specified format.

[0155] Step 4:

[0156] The server sends the generated source code to the terminal, which displays it visually. The user can review the output code and save it if necessary. The displayed code is automatically accompanied by explanatory comments to facilitate understanding.

[0157] Step 5:

[0158] The device collects emotional information using cameras and sensors while the user is operating it. The server analyzes this emotional data in real time and adjusts the interface according to the user's emotional state. For example, if confusion is detected, a guide message is displayed. The input is real-time emotional data, and the output is an adjusted user interface and additional support information.

[0159] (Application Example 2)

[0160] 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".

[0161] This solution addresses the challenge that, when visually constructing information processing, users without technical knowledge often find it difficult to convert information into a description language, generate appropriate annotations, and adjust interfaces based on emotions, making it challenging to create intuitive and effective information processing.

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

[0163] In this invention, the server includes a user interface means that enables the user to visually construct information processing; a language conversion processing means that analyzes the visual information constructed by the user and converts the information into one or more selected information description languages; an information provision means that provides the generated information to the user and makes it displayable or retrievable; and an emotion recognition means that recognizes the user's emotions and adjusts the user interface. This makes it possible to provide support that responds to the user's emotions in a visually unified information creation environment.

[0164] A "user interface means" is an operating environment that enables users to intuitively construct visual information processing.

[0165] A "language conversion processing means" is a device that has the function of analyzing visually constructed information and converting it into a selected information description language.

[0166] An "information provision means" is a mechanism for providing generated information to users and making it available for display or acquisition.

[0167] An "emotion recognition device" is a device that has the function of recognizing a user's emotions in real time and adjusting the user interface based on those emotions.

[0168] An "information creation environment" is an environment that allows users to construct information processing in a visual and unified manner.

[0169] To realize this application, the server generates the following program. A user interface is used to allow the user to visually construct information processing. This provides an intuitive environment that can be operated on devices such as smartphones and tablets. The user can arrange visual blocks using drag-and-drop operations to configure the operation of a home robot.

[0170] This information is converted by a language conversion processing device into a programming language selected by the user, such as Python or Blockly. This process utilizes an AI-based algorithm to generate the corresponding source code. The server performs this conversion, and the code is sent to the user's terminal via an information provision device.

[0171] Furthermore, the emotion recognition system uses the device's camera and sensors to analyze the user's facial expressions in real time and measure their emotional state. For example, by utilizing OpenCV or the Emotion API, the user interface is simplified based on feedback if the user is confused. This improves the user experience.

[0172] As a concrete example, a user can use visual blocks to set a weekend cleaning schedule for a household robot. If the user shows frustration, emotion recognition will automatically display guidance and lead them through efficient operating procedures.

[0173] An example of a prompt using a generative AI model is as follows: "Write a Python script that will have a robot start cleaning at a time set by the user, and then play music."

[0174] In this way, the system can process information intuitively and in a user-friendly manner, and provide appropriate guidance tailored to the user.

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

[0176] Step 1:

[0177] The server receives visually constructed information processing data from the user's terminal. The input is an array of visual blocks set by the user using drag-and-drop, and the output is the visual program data of this data.

[0178] Step 2:

[0179] The terminal transmits visual program data to a language conversion processing unit. Using an AI algorithm on the server, the input visual program data is converted into the selected information description language. The output is the converted programming code.

[0180] Step 3:

[0181] The server transmits the converted code to the user's terminal via an information provision mechanism. In this process, the server receives converted code data as input and provides a code representation that the user can visually verify as output.

[0182] Step 4:

[0183] The user's device uses a camera and emotion recognition capabilities to collect facial expression data during operation. The input is real-time captured image data, which is analyzed through software such as the Emotion API. The output is a numerical evaluation of the user's emotional state.

[0184] Step 5:

[0185] The server adjusts the user interface based on the user's emotional state. The input is a numerical value representing the user's emotional state, and the output is a change in the display elements on the interface, such as the presentation of a guide message or the simplification of the interface.

[0186] Step 6:

[0187] The user reviews the final generated code and downloads it if necessary. Input from the terminal is a review action, and the output is the downloaded code file saved locally.

[0188] Through these steps, the system enables interactive and intuitive information processing tailored to the user's emotional state.

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

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

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

[0192] [Second Embodiment]

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

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

[0195] 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).

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

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

[0198] 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).

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

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

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

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

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

[0204] 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".

[0205] This invention provides a system that allows a user to visually construct a program and generate source code in a selected programming language based on that visual program. The system mainly consists of a user interface means, a language conversion engine means, and an output means.

[0206] In terms of user interface means, users can operate a terminal and access a web-based or standalone visual editor. Here, users can visually construct program logic by combining visual blocks. Operations are performed using drag-and-drop, and construction is easily done through an intuitive user interface.

[0207] In the language conversion engine, the server is responsible for this. The server analyzes the visual program received from the user interface and converts it into the selected programming language. By utilizing AI technology, it performs pattern matching and generates an appropriate code structure. Internally, it strives to improve conversion accuracy based on existing code samples and statistical data.

[0208] The output method involves the server sending the generated source code to the terminal, where the user can review it. The code can be displayed on the screen or downloaded as a file, allowing the user to use the generated code directly in their work. This process automatically inserts comments into the generated code to ensure readability for third parties.

[0209] As a concrete example, if a user creates a program using "conditional branching" in a visual editor, the server converts this visual block into conditional branching code suitable for any programming language, such as Python or JavaScript. The generated code is then sent back to the user's terminal and displayed. Through this process, users can execute and utilize programs in different programming environments without needing deep knowledge of the language.

[0210] The following describes the processing flow.

[0211] Step 1:

[0212] The user accesses the visual programming tool through the terminal and launches the visual editor. The user then performs the necessary steps to begin creating a program and selects the programming language to use.

[0213] Step 2:

[0214] The terminal responds to user input and displays a screen on the visual editor. The user can visually assemble the program's logic by dragging and dropping visual blocks (e.g., conditional statements, loops, variables, etc.) within the editor.

[0215] Step 3:

[0216] Once the user has finished building the program, they click the "Generate Code" button. The terminal converts the constructed visual program into a data format (e.g., JSON format) and sends it to the server.

[0217] Step 4:

[0218] The server analyzes the visual program data received from the terminal and interprets the meaning of the visual blocks. The server uses a language translation engine to generate source code corresponding to the programming language selected by the user.

[0219] Step 5:

[0220] The server formats the generated source code, adds comments to the code as needed, and improves the readability and understandability of the code.

[0221] Step 6:

[0222] The server then sends the generated code to the device. The device receives this code and displays it on the user's screen. The user can then verify and download the code.

[0223] Step 7:

[0224] Users can review the generated source code and, if necessary, save it locally or run it in a test or production environment.

[0225] (Example 1)

[0226] 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 glasses 214 will be referred to as the "terminal."

[0227] In modern information processing, there is a challenge in that it is difficult for users to easily construct information processing in a visual and unified environment and output the necessary data, even without specialized knowledge of different information processing languages. Furthermore, there is the problem that it is not easy to annotate the generated data to facilitate understanding.

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

[0229] In this invention, the server includes a user input / output device that enables the user to visually construct information processing; a data conversion device that analyzes the visual information processing constructed by the user and converts the data into one or more selected information processing languages; an output device that provides the generated data to the user and makes it displayable or recordable; and means for using artificial intelligence technology to process the information. This enables the user to construct and output information processing in an efficient and easy-to-understand format without requiring deep knowledge of programming.

[0230] A "user input / output device" is a device that allows users to intuitively manipulate visual data, and is responsible for the visualization and input of information processing.

[0231] A "data conversion device" is a device that analyzes visually constructed information processing and automatically converts it into a data format corresponding to the selected information processing language.

[0232] An "output device" is a device that provides generated data to the user in a visible or recordable format and allows downloads as needed.

[0233] "Artificial intelligence technology" refers to technologies that utilize algorithms and machine learning models to improve the accuracy of information processing analysis and transformation.

[0234] "Visual information processing" refers to the logical structure and flow of information processing that users construct through a visual interface.

[0235] Annotation refers to descriptive elements added to generated data, which are automatically inserted to improve the readability and understanding of code and data.

[0236] An "information processing language" is a programming language that has a specific syntax and rules for executing instructed processes, and is selected according to its purpose.

[0237] This invention provides a system that allows users to visually construct information processing. Users operate a terminal and access a visual editor that functions as a user input / output device. This editor is provided in a web-based or standalone format, allowing users to construct information processing by dragging and dropping visual blocks. This provides an environment where even users without specialized programming knowledge can easily perform data processing.

[0238] This system includes a server that receives the constructed visual information processing. The server is equipped with a data conversion device that analyzes the visual information and automatically generates data suitable for information processing languages ​​(such as Python or JavaScript) using a generative AI model. This conversion utilizes advanced artificial intelligence technology, achieving optimal conversion using existing data patterns and statistical information.

[0239] The generated data is sent to the terminal via an output device, allowing the user to view the generated process on the screen or record it as a file. Annotations are automatically inserted into the data, making it easy for users and third parties to understand.

[0240] For example, if a user prompts with the message, "Generate a Python program that displays all even numbers in a list," the server will generate the appropriate code according to this request and provide the result to the terminal. This process provides a visually consistent environment that supports various information processing languages, improving user convenience.

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

[0242] Step 1:

[0243] The user uses a terminal to access a visual editor and visually construct information processing. Specifically, the user defines the flow of processing by dragging and dropping blocks provided within the editor. In this process, the user's input is represented as a combination of visual blocks, and the visual information processing is saved on the terminal as output.

[0244] Step 2:

[0245] The terminal sends the visual information processing created by the user to the server. This input data is configuration information for visual blocks. As output, this data is delivered to the server via the network. Specifically, protocols such as HTTP and WebSocket are used, and data is transmitted in real time.

[0246] Step 3:

[0247] The server receives the visual information and passes it to the data conversion device. The server uses a generative AI model to analyze the visual data. This analysis process involves breaking down the visual blocks and performing data processing to identify the program's logic. As output, the analyzed logic is converted into an internal data format.

[0248] Step 4:

[0249] The server uses a data conversion device to generate data in an information processing language selected based on the analysis results. Specifically, AI technology is used to convert the data into program code with appropriate syntax and operators. This process generates complete information processing language code as output.

[0250] Step 5:

[0251] The server sends the generated code to the terminal. This transmission is generally asynchronous, and the generated code is delivered to the terminal. The output device then formats the displayed data. Specifically, the generated data is sent back via an HTTP response, and the code awaits user confirmation.

[0252] Step 6:

[0253] The user reviews the submitted code using their terminal. Depending on the terminal, the code can be displayed on the screen or saved. The output data displays the completed code, which is capable of running the program. Specifically, the user reviews the code and saves it in a format that can be directly used for work or learning. Furthermore, if necessary, the user can request the code again using prompts.

[0254] (Application Example 1)

[0255] 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."

[0256] While programming education is particularly emphasized in modern education, there remains a problem in that children still face high hurdles in understanding programming. Furthermore, there is a need for a consistent and simple method to build programs in a visually intuitive way and convert them into executable code, but current solutions are insufficient.

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

[0258] In this invention, the server includes an operating means that enables the user to program actions visually, a conversion means that analyzes the visual action program constructed by the user and converts the code into one or more selected programming languages, and a distribution means that transmits the generated code to educational equipment and makes it executable. This allows children to deepen their understanding of programming education and make learning more enjoyable and effective by creating programs visually and experiencing them as actual actions.

[0259] A "user" is the entity that visually constructs the program and controls its operation; in other words, the person who operates this system.

[0260] "Operating means" refers to a system element that provides an interface for the user to program actions visually.

[0261] A "conversion mechanism" is a system function that analyzes a user-generated program and converts it into a format suitable for the selected programming language.

[0262] "Distribution means" refers to a part of a system that performs communication and transmission to send the generated code to designated educational equipment and make it executable.

[0263] "Educational equipment" refers to devices or equipment that execute generated code and allow users to visually verify the program.

[0264] The system for implementing this invention primarily operates in conjunction with educational equipment. First, the user programs the operation on a visual interface using an operating mechanism. Specifically, the program is constructed by dragging and dropping visual blocks displayed on a tablet or smartphone screen.

[0265] The constructed visual program is sent from the terminal to the server. The server uses a conversion mechanism to analyze the visual program and convert it into source code suitable for a selected programming language, such as Python.

[0266] The converted source code is transmitted to educational equipment via a distribution method and executed on the equipment. This allows the user's visually programmed actions to be reproduced as actual physical actions by the educational equipment.

[0267] The hardware used includes educational robots and tablet devices. The software includes a web-based editor for drawing visual programs and an AI-powered conversion engine.

[0268] To give a concrete example, if an elementary school student uses a tablet to program a home robot to "rotate and move forward," the user visually combines "rotate" and "move forward" blocks. The program sent to the server is then converted into Python code that says, "rotate 45 degrees to the right and move forward 50 cm."

[0269] An example of a prompt for the generated AI model would be: "Convert the following visual programming blocks into Python code: Rotate 45 degrees to the right, move 50 cm forward." This prompt allows for a quick conversion process.

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

[0271] Step 1:

[0272] The user constructs a visual program using the controls of a tablet device. Specifically, they drag and drop action blocks displayed on the screen to form the program flow. At this stage, the input is the block placement performed by the user, and the output is the configuration information of the visual program.

[0273] Step 2:

[0274] The terminal sends data of the constructed visual program to the server. The data sent includes the types and order of the placed blocks. The input is the visual program configuration information from step 1, and the output is the program data sent to the server.

[0275] Step 3:

[0276] The server analyzes the received visual program data using a conversion mechanism and converts it into source code in a selected programming language using AI technology. Specifically, it analyzes patterns of visual blocks and generates appropriate code based on them. The input is program data, and the output is the converted source code.

[0277] Step 4:

[0278] The server uses a generative AI model to create prompt statements and optimize the code conversion process. These prompt statements play a role in improving the accuracy of pattern conversion by AI technology. The input is visual data based on programming logic, and the output is the optimized prompt statement.

[0279] Step 5:

[0280] The generated source code is transmitted from the server to the educational device. At this stage, procedures for executing the code are prepared. The input is the source code, and the output is the state of the educational device ready for execution.

[0281] Step 6:

[0282] The educational device executes the received source code and reproduces the operation as programmed visually by the user. As a specific example, the robot operates accurately along the set route. The input at this stage is the source code, and the output is the executed physical operation.

[0283] Furthermore, an emotion engine for estimating the user's emotion may be combined. That is, the specific processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform specific processing using the user's emotion.

[0284] The present invention provides a system that supports the process in which a user visually constructs a program and converts it into a selected programming language, and has a function of recognizing and corresponding to the user's emotion in the process. The system is composed of user interface means, language conversion engine means, output means, and emotion engine means.

[0285] In the user interface means, the user can access the system using a terminal and construct a program in a visual programming environment. The tool enables intuitive operations and is designed so that the user can place visual blocks by drag-and-drop to form the logic of the program.

[0286] The language conversion engine means is executed by the server. The server receives the visual program data constructed by the user and generates source code corresponding to the selected programming language. The conversion process is executed by an algorithm using AI, and the generated code is output in a specified format.

[0287] The output method involves sending the code generated by the server to the user's terminal, allowing the user to verify the results. The code is displayed visually, and the user can save it locally if needed.

[0288] The emotion engine collects emotional data through cameras and sensors during user interaction and analyzes it in real time. Based on the user's emotional state, adjustments are made to the user interface and code generation. For example, if the user is feeling frustrated, the emotion engine can simplify interface elements or display guidance messages.

[0289] For example, if the emotion engine detects user confusion while a user is creating a program with complex conditional branching using a visual editor, the system will present a tutorial on how to use conditional branching. It will also add explanatory comments to the generated code to aid understanding. In this way, users can create and use programs with emotion-responsive support.

[0290] The following describes the processing flow.

[0291] Step 1:

[0292] Users access the visual programming tool from their terminal. Using a visual editor, users can assemble programming logic as visual blocks. Users can easily place the necessary components of the program using drag-and-drop and set their chosen programming language (e.g., Python or JavaScript).

[0293] Step 2:

[0294] The terminal displays the user's visually constructed program in real time. The editor updates with every user input or change, providing visual feedback to help the user understand the program's flow.

[0295] Step 3:

[0296] The server receives visual program data from the terminal. Based on this data, it activates a language translation engine to generate source code corresponding to the selected programming language. The translation process uses AI technology to map visual blocks to programming syntax.

[0297] Step 4:

[0298] The server adds comments to the generated code to clarify its intent and function. It also formats the code to match the user's visual program structure, making it easier for the user to understand when reviewing the code later.

[0299] Step 5:

[0300] The terminal displays a code received from the server to the user. The user can review the code and, if necessary, save it locally or make further edits.

[0301] Step 6:

[0302] While the user is creating their program, an emotion sensor connected to the device monitors the user's facial expressions and posture. The emotion engine analyzes the data in real time and evaluates the user's emotional state.

[0303] Step 7:

[0304] The server receives feedback from the emotion engine and adjusts the interface when the user is feeling frustrated or confused. Specifically, it attempts to improve the user's work efficiency by displaying program hints or providing guidance messages.

[0305] (Example 2)

[0306] Next, Example 2 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".

[0307] In a conventional visual programming system, the environment that can be intuitively used by the user is limited, and there is also a problem that feedback and support according to the user's emotions are insufficient during the program generation process. As a result, especially when dealing with beginners or complex programs, there are limitations in the user's work efficiency and learning effect.

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

[0309] In this invention, the server includes means for providing a visual operation environment in which the user can intuitively form program logic using an operating device, an information processing device that analyzes the visual program constructed by the user and converts the code into one or more selected programming languages, and means for acquiring the user's emotion information and adjusting the environment for improving the efficiency of the operations performed by the user. As a result, the user can efficiently construct a program and can receive support for enhancing work efficiency and learning effect.

[0310] The "user" refers to a person who constructs a program using the visual operation environment.

[0311] The "operating device" refers to a terminal or device used by the user to visually construct a program.

[0312] A "visual manipulation environment" is an interface that allows users to combine visual blocks using drag-and-drop to form program logic.

[0313] An "information processing device" is a server-side component that analyzes a user-created visual program and converts it into a specified programming language.

[0314] "Emotional information" refers to real-time emotional data obtained during a user's work, primarily acquired through cameras and sensors.

[0315] "Means of adjusting the environment" refers to methods of providing user interface modifications and support based on user sentiment information to improve work efficiency.

[0316] This invention provides a visual operating environment that allows users to intuitively form program logic using an operating device. Users construct programs by combining visual blocks via drag-and-drop on a terminal. This interface presents complex logical structures in a way that is easy for users to visually understand.

[0317] The server analyzes the visual program data created by the user and converts the code into one or more selected programming languages. The server utilizes a generative AI model to optimize the language conversion process. The converted code is generated in the specified format and sent to the terminal.

[0318] Furthermore, the server uses sensor technology with emotion recognition capabilities to collect emotional information from the user during operation. This information is analyzed in real time and used to adapt the user interface and support functions. For example, if a user is confused by a complex operation, the system can provide specific guidance messages or simplify the operation procedure.

[0319] For example, when a user is creating an algorithm that includes conditional branching, if the user encounters difficulties, the system could immediately display a tutorial on conditional branching. It could also include automatically adding explanatory comments to the generated code to facilitate understanding.

[0320] An example of a prompt for this system is, "How can I use the visual programming environment to support users in frustrating situations?" This prompt explains the intent behind the generated code and serves as a guide to support user skill development.

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

[0322] Step 1:

[0323] The terminal provides a visual operating environment through the user's control device. The user forms the desired program logic by dragging and dropping visual blocks. Input is the user's selections and operations from the control device, and output is the data of the constructed visual program. This allows the user to intuitively design programming logic.

[0324] Step 2:

[0325] The server receives visual program data provided by the terminal and performs analysis using a generating AI model. The input is visual program data, and the server uses this to understand the program logic intended by the user. It performs pattern recognition and logical derivation of the data and generates data for conversion into the selected programming language as output.

[0326] Step 3:

[0327] The server generates source code corresponding to one or more selected programming languages ​​based on the data to be converted. An AI algorithm designs an optimized code structure to generate efficient and highly readable source code. The output is the generated source code, which is formatted to the specified format.

[0328] Step 4:

[0329] The server sends the generated source code to the terminal, which displays it visually. The user can review the output code and save it if necessary. The displayed code is automatically accompanied by explanatory comments to facilitate understanding.

[0330] Step 5:

[0331] The device collects emotional information using cameras and sensors while the user is operating it. The server analyzes this emotional data in real time and adjusts the interface according to the user's emotional state. For example, if confusion is detected, a guide message is displayed. The input is real-time emotional data, and the output is an adjusted user interface and additional support information.

[0332] (Application Example 2)

[0333] 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."

[0334] This solution addresses the challenge that, when visually constructing information processing, users without technical knowledge often find it difficult to convert information into a description language, generate appropriate annotations, and adjust interfaces based on emotions, making it challenging to create intuitive and effective information processing.

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

[0336] In this invention, the server includes a user interface means that enables the user to visually construct information processing; a language conversion processing means that analyzes the visual information constructed by the user and converts the information into one or more selected information description languages; an information provision means that provides the generated information to the user and makes it displayable or retrievable; and an emotion recognition means that recognizes the user's emotions and adjusts the user interface. This makes it possible to provide support that responds to the user's emotions in a visually unified information creation environment.

[0337] A "user interface means" is an operating environment that enables users to intuitively construct visual information processing.

[0338] A "language conversion processing means" is a device that has the function of analyzing visually constructed information and converting it into a selected information description language.

[0339] An "information provision means" is a mechanism for providing generated information to users and making it available for display or acquisition.

[0340] An "emotion recognition device" is a device that has the function of recognizing a user's emotions in real time and adjusting the user interface based on those emotions.

[0341] An "information creation environment" is an environment that allows users to construct information processing in a visual and unified manner.

[0342] To realize this application, the server generates the following program. A user interface is used to allow the user to visually construct information processing. This provides an intuitive environment that can be operated on devices such as smartphones and tablets. The user can arrange visual blocks using drag-and-drop operations to configure the operation of a home robot.

[0343] This information is converted by a language conversion processing device into a programming language selected by the user, such as Python or Blockly. This process utilizes an AI-based algorithm to generate the corresponding source code. The server performs this conversion, and the code is sent to the user's terminal via an information provision device.

[0344] Furthermore, the emotion recognition system uses the device's camera and sensors to analyze the user's facial expressions in real time and measure their emotional state. For example, by utilizing OpenCV or the Emotion API, the user interface is simplified based on feedback if the user is confused. This improves the user experience.

[0345] As a concrete example, a user can use visual blocks to set a weekend cleaning schedule for a household robot. If the user shows frustration, emotion recognition will automatically display guidance and lead them through efficient operating procedures.

[0346] An example of a prompt using a generative AI model is as follows: "Write a Python script that will have a robot start cleaning at a time set by the user, and then play music."

[0347] In this way, the system can process information intuitively and in a user-friendly manner, and provide appropriate guidance tailored to the user.

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

[0349] Step 1:

[0350] The server receives visually constructed information processing data from the user's terminal. The input is an array of visual blocks set by the user using drag-and-drop, and the output is the visual program data of this data.

[0351] Step 2:

[0352] The terminal transmits visual program data to a language conversion processing unit. Using an AI algorithm on the server, the input visual program data is converted into the selected information description language. The output is the converted programming code.

[0353] Step 3:

[0354] The server transmits the converted code to the user's terminal via an information provision mechanism. In this process, the server receives converted code data as input and provides a code representation that the user can visually verify as output.

[0355] Step 4:

[0356] The user's device uses a camera and emotion recognition capabilities to collect facial expression data during operation. The input is real-time captured image data, which is analyzed through software such as the Emotion API. The output is a numerical evaluation of the user's emotional state.

[0357] Step 5:

[0358] The server adjusts the user interface based on the user's emotional state. The input is a numerical value representing the user's emotional state, and the output is a change in the display elements on the interface, such as the presentation of a guide message or the simplification of the interface.

[0359] Step 6:

[0360] The user reviews the final generated code and downloads it if necessary. Input from the terminal is a review action, and the output is the downloaded code file saved locally.

[0361] Through these steps, the system enables interactive and intuitive information processing tailored to the user's emotional state.

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

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

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

[0365] [Third Embodiment]

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

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

[0368] 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).

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

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

[0371] 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).

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

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

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

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

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

[0377] 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".

[0378] This invention provides a system that allows a user to visually construct a program and generate source code in a selected programming language based on that visual program. The system mainly consists of a user interface means, a language conversion engine means, and an output means.

[0379] In terms of user interface means, users can operate a terminal and access a web-based or standalone visual editor. Here, users can visually construct program logic by combining visual blocks. Operations are performed using drag-and-drop, and construction is easily done through an intuitive user interface.

[0380] In the language conversion engine, the server is responsible for this. The server analyzes the visual program received from the user interface and converts it into the selected programming language. By utilizing AI technology, it performs pattern matching and generates an appropriate code structure. Internally, it strives to improve conversion accuracy based on existing code samples and statistical data.

[0381] The output method involves the server sending the generated source code to the terminal, where the user can review it. The code can be displayed on the screen or downloaded as a file, allowing the user to use the generated code directly in their work. This process automatically inserts comments into the generated code to ensure readability for third parties.

[0382] As a concrete example, if a user creates a program using "conditional branching" in a visual editor, the server converts this visual block into conditional branching code suitable for any programming language, such as Python or JavaScript. The generated code is then sent back to the user's terminal and displayed. Through this process, users can execute and utilize programs in different programming environments without needing deep knowledge of the language.

[0383] The following describes the processing flow.

[0384] Step 1:

[0385] The user accesses the visual programming tool through the terminal and launches the visual editor. The user then performs the necessary steps to begin creating a program and selects the programming language to use.

[0386] Step 2:

[0387] The terminal responds to user input and displays a screen on the visual editor. The user can visually assemble the program's logic by dragging and dropping visual blocks (e.g., conditional statements, loops, variables, etc.) within the editor.

[0388] Step 3:

[0389] Once the user has finished building the program, they click the "Generate Code" button. The terminal converts the constructed visual program into a data format (e.g., JSON format) and sends it to the server.

[0390] Step 4:

[0391] The server analyzes the visual program data received from the terminal and interprets the meaning of the visual blocks. The server uses a language translation engine to generate source code corresponding to the programming language selected by the user.

[0392] Step 5:

[0393] The server formats the generated source code, adds comments to the code as needed, and improves the readability and understandability of the code.

[0394] Step 6:

[0395] The server then sends the generated code to the device. The device receives this code and displays it on the user's screen. The user can then verify and download the code.

[0396] Step 7:

[0397] Users can review the generated source code and, if necessary, save it locally or run it in a test or production environment.

[0398] (Example 1)

[0399] 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."

[0400] In modern information processing, there is a challenge in that it is difficult for users to easily construct information processing in a visual and unified environment and output the necessary data, even without specialized knowledge of different information processing languages. Furthermore, there is the problem that it is not easy to annotate the generated data to facilitate understanding.

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

[0402] In this invention, the server includes a user input / output device that enables the user to visually construct information processing; a data conversion device that analyzes the visual information processing constructed by the user and converts the data into one or more selected information processing languages; an output device that provides the generated data to the user and makes it displayable or recordable; and means for using artificial intelligence technology to process the information. This enables the user to construct and output information processing in an efficient and easy-to-understand format without requiring deep knowledge of programming.

[0403] A "user input / output device" is a device that allows users to intuitively manipulate visual data, and is responsible for the visualization and input of information processing.

[0404] A "data conversion device" is a device that analyzes visually constructed information processing and automatically converts it into a data format corresponding to the selected information processing language.

[0405] An "output device" is a device that provides generated data to the user in a visible or recordable format and allows downloads as needed.

[0406] "Artificial intelligence technology" refers to technologies that utilize algorithms and machine learning models to improve the accuracy of information processing analysis and transformation.

[0407] "Visual information processing" refers to the logical structure and flow of information processing that users construct through a visual interface.

[0408] Annotation refers to descriptive elements added to generated data, which are automatically inserted to improve the readability and understanding of code and data.

[0409] An "information processing language" is a programming language that has a specific syntax and rules for executing instructed processes, and is selected according to its purpose.

[0410] This invention provides a system that allows users to visually construct information processing. Users operate a terminal and access a visual editor that functions as a user input / output device. This editor is provided in a web-based or standalone format, allowing users to construct information processing by dragging and dropping visual blocks. This provides an environment where even users without specialized programming knowledge can easily perform data processing.

[0411] This system includes a server that receives the constructed visual information processing. The server is equipped with a data conversion device that analyzes the visual information and automatically generates data suitable for information processing languages ​​(such as Python or JavaScript) using a generative AI model. This conversion utilizes advanced artificial intelligence technology, achieving optimal conversion using existing data patterns and statistical information.

[0412] The generated data is sent to the terminal via an output device, allowing the user to view the generated process on the screen or record it as a file. Annotations are automatically inserted into the data, making it easy for users and third parties to understand.

[0413] For example, if a user prompts with the message, "Generate a Python program that displays all even numbers in a list," the server will generate the appropriate code according to this request and provide the result to the terminal. This process provides a visually consistent environment that supports various information processing languages, improving user convenience.

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

[0415] Step 1:

[0416] The user uses a terminal to access a visual editor and visually construct information processing. Specifically, the user defines the flow of processing by dragging and dropping blocks provided within the editor. In this process, the user's input is represented as a combination of visual blocks, and the visual information processing is saved on the terminal as output.

[0417] Step 2:

[0418] The terminal sends the visual information processing created by the user to the server. This input data is configuration information for visual blocks. As output, this data is delivered to the server via the network. Specifically, protocols such as HTTP and WebSocket are used, and data is transmitted in real time.

[0419] Step 3:

[0420] The server receives the visual information and passes it to the data conversion device. The server uses a generative AI model to analyze the visual data. This analysis process involves breaking down the visual blocks and performing data processing to identify the program's logic. As output, the analyzed logic is converted into an internal data format.

[0421] Step 4:

[0422] The server uses a data conversion device to generate data in an information processing language selected based on the analysis results. Specifically, AI technology is used to convert the data into program code with appropriate syntax and operators. This process generates complete information processing language code as output.

[0423] Step 5:

[0424] The server sends the generated code to the terminal. This transmission is generally asynchronous, and the generated code is delivered to the terminal. The output device then formats the displayed data. Specifically, the generated data is sent back via an HTTP response, and the code awaits user confirmation.

[0425] Step 6:

[0426] The user reviews the submitted code using their terminal. Depending on the terminal, the code can be displayed on the screen or saved. The output data displays the completed code, which is capable of running the program. Specifically, the user reviews the code and saves it in a format that can be directly used for work or learning. Furthermore, if necessary, the user can request the code again using prompts.

[0427] (Application Example 1)

[0428] 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."

[0429] While programming education is particularly emphasized in modern education, there remains a problem in that children still face high hurdles in understanding programming. Furthermore, there is a need for a consistent and simple method to build programs in a visually intuitive way and convert them into executable code, but current solutions are insufficient.

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

[0431] In this invention, the server includes an operating means that enables the user to program actions visually, a conversion means that analyzes the visual action program constructed by the user and converts the code into one or more selected programming languages, and a distribution means that transmits the generated code to educational equipment and makes it executable. This allows children to deepen their understanding of programming education and make learning more enjoyable and effective by creating programs visually and experiencing them as actual actions.

[0432] A "user" is the entity that visually constructs the program and controls its operation; in other words, the person who operates this system.

[0433] "Operating means" refers to a system element that provides an interface for the user to program actions visually.

[0434] A "conversion mechanism" is a system function that analyzes a user-generated program and converts it into a format suitable for the selected programming language.

[0435] "Distribution means" refers to a part of a system that performs communication and transmission to send the generated code to designated educational equipment and make it executable.

[0436] "Educational equipment" refers to devices or equipment that execute generated code and allow users to visually verify the program.

[0437] The system for implementing this invention primarily operates in conjunction with educational equipment. First, the user programs the operation on a visual interface using an operating mechanism. Specifically, the program is constructed by dragging and dropping visual blocks displayed on a tablet or smartphone screen.

[0438] The constructed visual program is sent from the terminal to the server. The server uses a conversion mechanism to analyze the visual program and convert it into source code suitable for a selected programming language, such as Python.

[0439] The converted source code is transmitted to educational equipment via a distribution method and executed on the equipment. This allows the user's visually programmed actions to be reproduced as actual physical actions by the educational equipment.

[0440] The hardware used includes educational robots and tablet devices. The software includes a web-based editor for drawing visual programs and an AI-powered conversion engine.

[0441] To give a concrete example, if an elementary school student uses a tablet to program a home robot to "rotate and move forward," the user visually combines "rotate" and "move forward" blocks. The program sent to the server is then converted into Python code that says, "rotate 45 degrees to the right and move forward 50 cm."

[0442] An example of a prompt for the generated AI model would be: "Convert the following visual programming blocks into Python code: Rotate 45 degrees to the right, move 50 cm forward." This prompt allows for a quick conversion process.

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

[0444] Step 1:

[0445] The user constructs a visual program using the controls of a tablet device. Specifically, they drag and drop action blocks displayed on the screen to form the program flow. At this stage, the input is the block placement performed by the user, and the output is the configuration information of the visual program.

[0446] Step 2:

[0447] The terminal sends data of the constructed visual program to the server. The data sent includes the types and order of the placed blocks. The input is the visual program configuration information from step 1, and the output is the program data sent to the server.

[0448] Step 3:

[0449] The server analyzes the received visual program data using a conversion mechanism and converts it into source code in a selected programming language using AI technology. Specifically, it analyzes patterns of visual blocks and generates appropriate code based on them. The input is program data, and the output is the converted source code.

[0450] Step 4:

[0451] The server uses a generative AI model to create prompt statements and optimize the code conversion process. These prompt statements play a role in improving the accuracy of pattern conversion by AI technology. The input is visual data based on programming logic, and the output is the optimized prompt statement.

[0452] Step 5:

[0453] The generated source code is sent from the server to the educational device. At this stage, the procedure for executing the code is prepared. The input is the source code, and the output is the state of the educational device ready for execution.

[0454] Step 6:

[0455] The educational device executes the received source code and reproduces the actions programmed by the user visually. For example, a robot accurately follows a set route. At this stage, the input is the source code, and the output is the executed physical action.

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

[0457] The present invention provides a system that supports the process of a user visually constructing a program and converting it into a selected programming language, and includes a function to recognize and respond to the user's emotions during this process. The system consists of a user interface means, a language conversion engine means, an output means, and an emotion engine means.

[0458] The user interface allows users to access the system using a terminal and build programs in a visual programming environment. The tool is designed to enable intuitive operation, allowing users to form the program's logic by arranging visual blocks using drag-and-drop.

[0459] The language conversion engine is executed by a server. The server receives the visual program data created by the user and generates source code corresponding to the selected programming language. The conversion process is performed by an AI-based algorithm, and the generated code is output in the specified format.

[0460] The output method involves sending the code generated by the server to the user's terminal, allowing the user to verify the results. The code is displayed visually, and the user can save it locally if needed.

[0461] The emotion engine collects emotional data through cameras and sensors during user interaction and analyzes it in real time. Based on the user's emotional state, adjustments are made to the user interface and code generation. For example, if the user is feeling frustrated, the emotion engine can simplify interface elements or display guidance messages.

[0462] For example, if the emotion engine detects user confusion while a user is creating a program with complex conditional branching using a visual editor, the system will present a tutorial on how to use conditional branching. It will also add explanatory comments to the generated code to aid understanding. In this way, users can create and use programs with emotion-responsive support.

[0463] The following describes the processing flow.

[0464] Step 1:

[0465] Users access the visual programming tool from their terminal. Using a visual editor, users can assemble programming logic as visual blocks. Users can easily place the necessary components of the program using drag-and-drop and set their chosen programming language (e.g., Python or JavaScript).

[0466] Step 2:

[0467] The terminal displays the user's visually constructed program in real time. The editor updates with every user input or change, providing visual feedback to help the user understand the program's flow.

[0468] Step 3:

[0469] The server receives visual program data from the terminal. Based on this data, it activates a language translation engine to generate source code corresponding to the selected programming language. The translation process uses AI technology to map visual blocks to programming syntax.

[0470] Step 4:

[0471] The server adds comments to the generated code to clarify its intent and function. It also formats the code to match the user's visual program structure, making it easier for the user to understand when reviewing the code later.

[0472] Step 5:

[0473] The terminal displays a code received from the server to the user. The user can review the code and, if necessary, save it locally or make further edits.

[0474] Step 6:

[0475] While the user is creating their program, an emotion sensor connected to the device monitors the user's facial expressions and posture. The emotion engine analyzes the data in real time and evaluates the user's emotional state.

[0476] Step 7:

[0477] The server receives feedback from the emotion engine and adjusts the interface if the user is experiencing frustration or confusion. Specifically, it attempts to improve user efficiency by displaying program hints or providing guiding messages.

[0478] (Example 2)

[0479] 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."

[0480] Traditional visual programming systems have limitations in terms of the intuitive environment available to users, and also insufficient feedback and support that responds to the user's emotions during the program generation process. This has resulted in limitations in user efficiency and learning effectiveness, especially for beginners and those dealing with complex programs.

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

[0482] In this invention, the server includes means for providing a visual operating environment that allows the user to intuitively form program logic using an operating device; an information processing device that analyzes the visual program constructed by the user and converts the code into one or more selected programming languages; and means for acquiring the user's emotional information and adjusting the environment to improve the efficiency of the operations performed by the user. This enables the user to construct programs efficiently and receive support to enhance work efficiency and learning effectiveness.

[0483] A "user" is someone who uses a visual operating environment to build programs.

[0484] "Operating equipment" refers to terminals or devices used by users to visually construct programs.

[0485] A "visual manipulation environment" is an interface that allows users to combine visual blocks using drag-and-drop to form program logic.

[0486] An "information processing device" is a server-side component that analyzes a user-created visual program and converts it into a specified programming language.

[0487] "Emotional information" refers to real-time emotional data obtained during a user's work, primarily acquired through cameras and sensors.

[0488] "Means of adjusting the environment" refers to methods of providing user interface modifications and support based on user sentiment information to improve work efficiency.

[0489] This invention provides a visual operating environment that allows users to intuitively form program logic using an operating device. Users construct programs by combining visual blocks via drag-and-drop on a terminal. This interface presents complex logical structures in a way that is easy for users to visually understand.

[0490] The server analyzes the visual program data created by the user and converts the code into one or more selected programming languages. The server utilizes a generative AI model to optimize the language conversion process. The converted code is generated in the specified format and sent to the terminal.

[0491] Furthermore, the server uses sensor technology with emotion recognition capabilities to collect emotional information from the user during operation. This information is analyzed in real time and used to adapt the user interface and support functions. For example, if a user is confused by a complex operation, the system can provide specific guidance messages or simplify the operation procedure.

[0492] For example, when a user is creating an algorithm that includes conditional branching, if the user encounters difficulties, the system could immediately display a tutorial on conditional branching. It could also include automatically adding explanatory comments to the generated code to facilitate understanding.

[0493] An example of a prompt for this system is, "How can I use the visual programming environment to support users in frustrating situations?" This prompt explains the intent behind the generated code and serves as a guide to support user skill development.

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

[0495] Step 1:

[0496] The terminal provides a visual operating environment through the user's control device. The user forms the desired program logic by dragging and dropping visual blocks. Input is the user's selections and operations from the control device, and output is the data of the constructed visual program. This allows the user to intuitively design programming logic.

[0497] Step 2:

[0498] The server receives visual program data provided by the terminal and performs analysis using a generating AI model. The input is visual program data, and the server uses this to understand the program logic intended by the user. It performs pattern recognition and logical derivation of the data and generates data for conversion into the selected programming language as output.

[0499] Step 3:

[0500] The server generates source code corresponding to one or more selected programming languages ​​based on the data to be converted. An AI algorithm designs an optimized code structure to generate efficient and highly readable source code. The output is the generated source code, which is formatted to the specified format.

[0501] Step 4:

[0502] The server sends the generated source code to the terminal, which displays it visually. The user can review the output code and save it if necessary. The displayed code is automatically accompanied by explanatory comments to facilitate understanding.

[0503] Step 5:

[0504] The device collects emotional information using cameras and sensors while the user is operating it. The server analyzes this emotional data in real time and adjusts the interface according to the user's emotional state. For example, if confusion is detected, a guide message is displayed. The input is real-time emotional data, and the output is an adjusted user interface and additional support information.

[0505] (Application Example 2)

[0506] 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."

[0507] This solution addresses the challenge that, when visually constructing information processing, users without technical knowledge often find it difficult to convert information into a description language, generate appropriate annotations, and adjust interfaces based on emotions, making it challenging to create intuitive and effective information processing.

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

[0509] In this invention, the server includes a user interface means that enables the user to visually construct information processing; a language conversion processing means that analyzes the visual information constructed by the user and converts the information into one or more selected information description languages; an information provision means that provides the generated information to the user and makes it displayable or retrievable; and an emotion recognition means that recognizes the user's emotions and adjusts the user interface. This makes it possible to provide support that responds to the user's emotions in a visually unified information creation environment.

[0510] A "user interface means" is an operating environment that enables users to intuitively construct visual information processing.

[0511] A "language conversion processing means" is a device that has the function of analyzing visually constructed information and converting it into a selected information description language.

[0512] An "information provision means" is a mechanism for providing generated information to users and making it available for display or acquisition.

[0513] An "emotion recognition device" is a device that has the function of recognizing a user's emotions in real time and adjusting the user interface based on those emotions.

[0514] An "information creation environment" is an environment that allows users to construct information processing in a visual and unified manner.

[0515] To realize this application, the server generates the following program. A user interface is used to allow the user to visually construct information processing. This provides an intuitive environment that can be operated on devices such as smartphones and tablets. The user can arrange visual blocks using drag-and-drop operations to configure the operation of a home robot.

[0516] This information is converted by a language conversion processing device into a programming language selected by the user, such as Python or Blockly. This process utilizes an AI-based algorithm to generate the corresponding source code. The server performs this conversion, and the code is sent to the user's terminal via an information provision device.

[0517] Furthermore, the emotion recognition system uses the device's camera and sensors to analyze the user's facial expressions in real time and measure their emotional state. For example, by utilizing OpenCV or the Emotion API, the user interface is simplified based on feedback if the user is confused. This improves the user experience.

[0518] As a concrete example, a user can use visual blocks to set a weekend cleaning schedule for a household robot. If the user shows frustration, emotion recognition will automatically display guidance and lead them through efficient operating procedures.

[0519] An example of a prompt using a generative AI model is as follows: "Write a Python script that will have a robot start cleaning at a time set by the user, and then play music."

[0520] In this way, the system can process information intuitively and in a user-friendly manner, and provide appropriate guidance tailored to the user.

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

[0522] Step 1:

[0523] The server receives visually constructed information processing data from the user's terminal. The input is an array of visual blocks set by the user using drag-and-drop, and the output is the visual program data of this data.

[0524] Step 2:

[0525] The terminal transmits visual program data to a language conversion processing unit. Using an AI algorithm on the server, the input visual program data is converted into the selected information description language. The output is the converted programming code.

[0526] Step 3:

[0527] The server transmits the converted code to the user's terminal via an information provision mechanism. In this process, the server receives converted code data as input and provides a code representation that the user can visually verify as output.

[0528] Step 4:

[0529] The user's device uses a camera and emotion recognition capabilities to collect facial expression data during operation. The input is real-time captured image data, which is analyzed through software such as the Emotion API. The output is a numerical evaluation of the user's emotional state.

[0530] Step 5:

[0531] The server adjusts the user interface based on the user's emotional state. The input is a numerical value representing the user's emotional state, and the output is a change in the display elements on the interface, such as the presentation of a guide message or the simplification of the interface.

[0532] Step 6:

[0533] The user reviews the final generated code and downloads it if necessary. Input from the terminal is a review action, and the output is the downloaded code file saved locally.

[0534] Through these steps, the system enables interactive and intuitive information processing tailored to the user's emotional state.

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

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

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

[0538] [Fourth Embodiment]

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

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

[0541] 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).

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

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

[0544] 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).

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

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

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

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

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

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

[0551] 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".

[0552] This invention provides a system that allows a user to visually construct a program and generate source code in a selected programming language based on that visual program. The system mainly consists of a user interface means, a language conversion engine means, and an output means.

[0553] In terms of user interface means, users can operate a terminal and access a web-based or standalone visual editor. Here, users can visually construct program logic by combining visual blocks. Operations are performed using drag-and-drop, and construction is easily done through an intuitive user interface.

[0554] In the language conversion engine, the server is responsible for this. The server analyzes the visual program received from the user interface and converts it into the selected programming language. By utilizing AI technology, it performs pattern matching and generates an appropriate code structure. Internally, it strives to improve conversion accuracy based on existing code samples and statistical data.

[0555] The output method involves the server sending the generated source code to the terminal, where the user can review it. The code can be displayed on the screen or downloaded as a file, allowing the user to use the generated code directly in their work. This process automatically inserts comments into the generated code to ensure readability for third parties.

[0556] As a concrete example, if a user creates a program using "conditional branching" in a visual editor, the server converts this visual block into conditional branching code suitable for any programming language, such as Python or JavaScript. The generated code is then sent back to the user's terminal and displayed. Through this process, users can execute and utilize programs in different programming environments without needing deep knowledge of the language.

[0557] The following describes the processing flow.

[0558] Step 1:

[0559] The user accesses the visual programming tool through the terminal and launches the visual editor. The user then performs the necessary steps to begin creating a program and selects the programming language to use.

[0560] Step 2:

[0561] The terminal responds to user input and displays a screen on the visual editor. The user can visually assemble the program's logic by dragging and dropping visual blocks (e.g., conditional statements, loops, variables, etc.) within the editor.

[0562] Step 3:

[0563] Once the user has finished building the program, they click the "Generate Code" button. The terminal converts the constructed visual program into a data format (e.g., JSON format) and sends it to the server.

[0564] Step 4:

[0565] The server analyzes the visual program data received from the terminal and interprets the meaning of the visual blocks. The server uses a language translation engine to generate source code corresponding to the programming language selected by the user.

[0566] Step 5:

[0567] The server formats the generated source code, adds comments to the code as needed, and improves the readability and understandability of the code.

[0568] Step 6:

[0569] The server then sends the generated code to the device. The device receives this code and displays it on the user's screen. The user can then verify and download the code.

[0570] Step 7:

[0571] Users can review the generated source code and, if necessary, save it locally or run it in a test or production environment.

[0572] (Example 1)

[0573] 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".

[0574] In modern information processing, there is a challenge in that it is difficult for users to easily construct information processing in a visual and unified environment and output the necessary data, even without specialized knowledge of different information processing languages. Furthermore, there is the problem that it is not easy to annotate the generated data to facilitate understanding.

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

[0576] In this invention, the server includes a user input / output device that enables the user to visually construct information processing; a data conversion device that analyzes the visual information processing constructed by the user and converts the data into one or more selected information processing languages; an output device that provides the generated data to the user and makes it displayable or recordable; and means for using artificial intelligence technology to process the information. This enables the user to construct and output information processing in an efficient and easy-to-understand format without requiring deep knowledge of programming.

[0577] A "user input / output device" is a device that allows users to intuitively manipulate visual data, and is responsible for the visualization and input of information processing.

[0578] A "data conversion device" is a device that analyzes visually constructed information processing and automatically converts it into a data format corresponding to the selected information processing language.

[0579] An "output device" is a device that provides generated data to the user in a visible or recordable format and allows downloads as needed.

[0580] "Artificial intelligence technology" refers to technologies that utilize algorithms and machine learning models to improve the accuracy of information processing analysis and transformation.

[0581] "Visual information processing" refers to the logical structure and flow of information processing that users construct through a visual interface.

[0582] Annotation refers to descriptive elements added to generated data, which are automatically inserted to improve the readability and understanding of code and data.

[0583] An "information processing language" is a programming language that has a specific syntax and rules for executing instructed processes, and is selected according to its purpose.

[0584] This invention provides a system that allows users to visually construct information processing. Users operate a terminal and access a visual editor that functions as a user input / output device. This editor is provided in a web-based or standalone format, allowing users to construct information processing by dragging and dropping visual blocks. This provides an environment where even users without specialized programming knowledge can easily perform data processing.

[0585] This system includes a server that receives the constructed visual information processing. The server is equipped with a data conversion device that analyzes the visual information and automatically generates data suitable for information processing languages ​​(such as Python or JavaScript) using a generative AI model. This conversion utilizes advanced artificial intelligence technology, achieving optimal conversion using existing data patterns and statistical information.

[0586] The generated data is sent to the terminal via an output device, allowing the user to view the generated process on the screen or record it as a file. Annotations are automatically inserted into the data, making it easy for users and third parties to understand.

[0587] For example, if a user prompts with the message, "Generate a Python program that displays all even numbers in a list," the server will generate the appropriate code according to this request and provide the result to the terminal. This process provides a visually consistent environment that supports various information processing languages, improving user convenience.

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

[0589] Step 1:

[0590] The user uses a terminal to access a visual editor and visually construct information processing. Specifically, the user defines the flow of processing by dragging and dropping blocks provided within the editor. In this process, the user's input is represented as a combination of visual blocks, and the visual information processing is saved on the terminal as output.

[0591] Step 2:

[0592] The terminal sends the visual information processing created by the user to the server. This input data is configuration information for visual blocks. As output, this data is delivered to the server via the network. Specifically, protocols such as HTTP and WebSocket are used, and data is transmitted in real time.

[0593] Step 3:

[0594] The server receives the visual information and passes it to the data conversion device. The server uses a generative AI model to analyze the visual data. This analysis process involves breaking down the visual blocks and performing data processing to identify the program's logic. As output, the analyzed logic is converted into an internal data format.

[0595] Step 4:

[0596] The server uses a data conversion device to generate data in an information processing language selected based on the analysis results. Specifically, AI technology is used to convert the data into program code with appropriate syntax and operators. This process generates complete information processing language code as output.

[0597] Step 5:

[0598] The server sends the generated code to the terminal. This transmission is generally asynchronous, and the generated code is delivered to the terminal. The output device then formats the displayed data. Specifically, the generated data is sent back via an HTTP response, and the code awaits user confirmation.

[0599] Step 6:

[0600] The user reviews the submitted code using their terminal. Depending on the terminal, the code can be displayed on the screen or saved. The output data displays the completed code, which is capable of running the program. Specifically, the user reviews the code and saves it in a format that can be directly used for work or learning. Furthermore, if necessary, the user can request the code again using prompts.

[0601] (Application Example 1)

[0602] 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".

[0603] While programming education is particularly emphasized in modern education, there remains a problem in that children still face high hurdles in understanding programming. Furthermore, there is a need for a consistent and simple method to build programs in a visually intuitive way and convert them into executable code, but current solutions are insufficient.

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

[0605] In this invention, the server includes an operating means that enables the user to program actions visually, a conversion means that analyzes the visual action program constructed by the user and converts the code into one or more selected programming languages, and a distribution means that transmits the generated code to educational equipment and makes it executable. This allows children to deepen their understanding of programming education and make learning more enjoyable and effective by creating programs visually and experiencing them as actual actions.

[0606] A "user" is the entity that visually constructs the program and controls its operation; in other words, the person who operates this system.

[0607] "Operating means" refers to a system element that provides an interface for the user to program actions visually.

[0608] A "conversion mechanism" is a system function that analyzes a user-generated program and converts it into a format suitable for the selected programming language.

[0609] "Distribution means" refers to a part of a system that performs communication and transmission to send the generated code to designated educational equipment and make it executable.

[0610] "Educational equipment" refers to devices or equipment that execute generated code and allow users to visually verify the program.

[0611] The system for implementing this invention primarily operates in conjunction with educational equipment. First, the user programs the operation on a visual interface using an operating mechanism. Specifically, the program is constructed by dragging and dropping visual blocks displayed on a tablet or smartphone screen.

[0612] The constructed visual program is sent from the terminal to the server. The server uses a conversion mechanism to analyze the visual program and convert it into source code suitable for a selected programming language, such as Python.

[0613] The converted source code is transmitted to educational equipment via a distribution method and executed on the equipment. This allows the user's visually programmed actions to be reproduced as actual physical actions by the educational equipment.

[0614] The hardware used includes educational robots and tablet devices. The software includes a web-based editor for drawing visual programs and an AI-powered conversion engine.

[0615] To give a concrete example, if an elementary school student uses a tablet to program a home robot to "rotate and move forward," the user visually combines "rotate" and "move forward" blocks. The program sent to the server is then converted into Python code that says, "rotate 45 degrees to the right and move forward 50 cm."

[0616] An example of a prompt for the generated AI model would be: "Convert the following visual programming blocks into Python code: Rotate 45 degrees to the right, move 50 cm forward." This prompt allows for a quick conversion process.

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

[0618] Step 1:

[0619] The user constructs a visual program using the controls of a tablet device. Specifically, they drag and drop action blocks displayed on the screen to form the program flow. At this stage, the input is the block placement performed by the user, and the output is the configuration information of the visual program.

[0620] Step 2:

[0621] The terminal sends data of the constructed visual program to the server. The data sent includes the types and order of the placed blocks. The input is the visual program configuration information from step 1, and the output is the program data sent to the server.

[0622] Step 3:

[0623] The server analyzes the received visual program data using a conversion mechanism and converts it into source code in a selected programming language using AI technology. Specifically, it analyzes patterns of visual blocks and generates appropriate code based on them. The input is program data, and the output is the converted source code.

[0624] Step 4:

[0625] The server uses a generative AI model to create prompt statements and optimize the code conversion process. These prompt statements play a role in improving the accuracy of pattern conversion by AI technology. The input is visual data based on programming logic, and the output is the optimized prompt statement.

[0626] Step 5:

[0627] The generated source code is sent from the server to the educational device. At this stage, the procedure for executing the code is prepared. The input is the source code, and the output is the state of the educational device ready for execution.

[0628] Step 6:

[0629] The educational device executes the received source code and reproduces the actions programmed by the user visually. For example, a robot accurately follows a set route. At this stage, the input is the source code, and the output is the executed physical action.

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

[0631] The present invention provides a system that supports the process of a user visually constructing a program and converting it into a selected programming language, and includes a function to recognize and respond to the user's emotions during this process. The system consists of a user interface means, a language conversion engine means, an output means, and an emotion engine means.

[0632] The user interface allows users to access the system using a terminal and build programs in a visual programming environment. The tool is designed to enable intuitive operation, allowing users to form the program's logic by arranging visual blocks using drag-and-drop.

[0633] The language conversion engine is executed by a server. The server receives the visual program data created by the user and generates source code corresponding to the selected programming language. The conversion process is performed by an AI-based algorithm, and the generated code is output in the specified format.

[0634] The output method involves sending the code generated by the server to the user's terminal, allowing the user to verify the results. The code is displayed visually, and the user can save it locally if needed.

[0635] The emotion engine collects emotional data through cameras and sensors during user interaction and analyzes it in real time. Based on the user's emotional state, adjustments are made to the user interface and code generation. For example, if the user is feeling frustrated, the emotion engine can simplify interface elements or display guidance messages.

[0636] For example, if the emotion engine detects user confusion while a user is creating a program with complex conditional branching using a visual editor, the system will present a tutorial on how to use conditional branching. It will also add explanatory comments to the generated code to aid understanding. In this way, users can create and use programs with emotion-responsive support.

[0637] The following describes the processing flow.

[0638] Step 1:

[0639] Users access the visual programming tool from their terminal. Using a visual editor, users can assemble programming logic as visual blocks. Users can easily place the necessary components of the program using drag-and-drop and set their chosen programming language (e.g., Python or JavaScript).

[0640] Step 2:

[0641] The terminal displays the user's visually constructed program in real time. The editor updates with every user input or change, providing visual feedback to help the user understand the program's flow.

[0642] Step 3:

[0643] The server receives visual program data from the terminal. Based on this data, it activates a language translation engine to generate source code corresponding to the selected programming language. The translation process uses AI technology to map visual blocks to programming syntax.

[0644] Step 4:

[0645] The server adds comments to the generated code to clarify its intent and function. It also formats the code to match the user's visual program structure, making it easier for the user to understand when reviewing the code later.

[0646] Step 5:

[0647] The terminal displays a code received from the server to the user. The user can review the code and, if necessary, save it locally or make further edits.

[0648] Step 6:

[0649] While the user is creating their program, an emotion sensor connected to the device monitors the user's facial expressions and posture. The emotion engine analyzes the data in real time and evaluates the user's emotional state.

[0650] Step 7:

[0651] The server receives feedback from the emotion engine and adjusts the interface if the user is experiencing frustration or confusion. Specifically, it attempts to improve user efficiency by displaying program hints or providing guiding messages.

[0652] (Example 2)

[0653] 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".

[0654] Traditional visual programming systems have limitations in terms of the intuitive environment available to users, and also insufficient feedback and support that responds to the user's emotions during the program generation process. This has resulted in limitations in user efficiency and learning effectiveness, especially for beginners and those dealing with complex programs.

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

[0656] In this invention, the server includes means for providing a visual operating environment that allows the user to intuitively form program logic using an operating device; an information processing device that analyzes the visual program constructed by the user and converts the code into one or more selected programming languages; and means for acquiring the user's emotional information and adjusting the environment to improve the efficiency of the operations performed by the user. This enables the user to construct programs efficiently and receive support to enhance work efficiency and learning effectiveness.

[0657] A "user" is someone who uses a visual operating environment to build programs.

[0658] "Operating equipment" refers to terminals or devices used by users to visually construct programs.

[0659] A "visual manipulation environment" is an interface that allows users to combine visual blocks using drag-and-drop to form program logic.

[0660] An "information processing device" is a server-side component that analyzes a user-created visual program and converts it into a specified programming language.

[0661] "Emotional information" refers to real-time emotional data obtained during a user's work, primarily acquired through cameras and sensors.

[0662] "Means of adjusting the environment" refers to methods of providing user interface modifications and support based on user sentiment information to improve work efficiency.

[0663] This invention provides a visual operating environment that allows users to intuitively form program logic using an operating device. Users construct programs by combining visual blocks via drag-and-drop on a terminal. This interface presents complex logical structures in a way that is easy for users to visually understand.

[0664] The server analyzes the visual program data created by the user and converts the code into one or more selected programming languages. The server utilizes a generative AI model to optimize the language conversion process. The converted code is generated in the specified format and sent to the terminal.

[0665] Furthermore, the server uses sensor technology with emotion recognition capabilities to collect emotional information from the user during operation. This information is analyzed in real time and used to adapt the user interface and support functions. For example, if a user is confused by a complex operation, the system can provide specific guidance messages or simplify the operation procedure.

[0666] For example, when a user is creating an algorithm that includes conditional branching, if the user encounters difficulties, the system could immediately display a tutorial on conditional branching. It could also include automatically adding explanatory comments to the generated code to facilitate understanding.

[0667] An example of a prompt for this system is, "How can I use the visual programming environment to support users in frustrating situations?" This prompt explains the intent behind the generated code and serves as a guide to support user skill development.

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

[0669] Step 1:

[0670] The terminal provides a visual operating environment through the user's control device. The user forms the desired program logic by dragging and dropping visual blocks. Input is the user's selections and operations from the control device, and output is the data of the constructed visual program. This allows the user to intuitively design programming logic.

[0671] Step 2:

[0672] The server receives visual program data provided by the terminal and performs analysis using a generating AI model. The input is visual program data, and the server uses this to understand the program logic intended by the user. It performs pattern recognition and logical derivation of the data and generates data for conversion into the selected programming language as output.

[0673] Step 3:

[0674] The server generates source code corresponding to one or more selected programming languages ​​based on the data to be converted. An AI algorithm designs an optimized code structure to generate efficient and highly readable source code. The output is the generated source code, which is formatted to the specified format.

[0675] Step 4:

[0676] The server sends the generated source code to the terminal, which displays it visually. The user can review the output code and save it if necessary. The displayed code is automatically accompanied by explanatory comments to facilitate understanding.

[0677] Step 5:

[0678] The device collects emotional information using cameras and sensors while the user is operating it. The server analyzes this emotional data in real time and adjusts the interface according to the user's emotional state. For example, if confusion is detected, a guide message is displayed. The input is real-time emotional data, and the output is an adjusted user interface and additional support information.

[0679] (Application Example 2)

[0680] 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".

[0681] This solution addresses the challenge that, when visually constructing information processing, users without technical knowledge often find it difficult to convert information into a description language, generate appropriate annotations, and adjust interfaces based on emotions, making it challenging to create intuitive and effective information processing.

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

[0683] In this invention, the server includes a user interface means that enables the user to visually construct information processing; a language conversion processing means that analyzes the visual information constructed by the user and converts the information into one or more selected information description languages; an information provision means that provides the generated information to the user and makes it displayable or retrievable; and an emotion recognition means that recognizes the user's emotions and adjusts the user interface. This makes it possible to provide support that responds to the user's emotions in a visually unified information creation environment.

[0684] A "user interface means" is an operating environment that enables users to intuitively construct visual information processing.

[0685] A "language conversion processing means" is a device that has the function of analyzing visually constructed information and converting it into a selected information description language.

[0686] An "information provision means" is a mechanism for providing generated information to users and making it available for display or acquisition.

[0687] An "emotion recognition device" is a device that has the function of recognizing a user's emotions in real time and adjusting the user interface based on those emotions.

[0688] An "information creation environment" is an environment that allows users to construct information processing in a visual and unified manner.

[0689] To realize this application, the server generates the following program. A user interface is used to allow the user to visually construct information processing. This provides an intuitive environment that can be operated on devices such as smartphones and tablets. The user can arrange visual blocks using drag-and-drop operations to configure the operation of a home robot.

[0690] This information is converted by a language conversion processing device into a programming language selected by the user, such as Python or Blockly. This process utilizes an AI-based algorithm to generate the corresponding source code. The server performs this conversion, and the code is sent to the user's terminal via an information provision device.

[0691] Furthermore, the emotion recognition system uses the device's camera and sensors to analyze the user's facial expressions in real time and measure their emotional state. For example, by utilizing OpenCV or the Emotion API, the user interface is simplified based on feedback if the user is confused. This improves the user experience.

[0692] As a concrete example, a user can use visual blocks to set a weekend cleaning schedule for a household robot. If the user shows frustration, emotion recognition will automatically display guidance and lead them through efficient operating procedures.

[0693] An example of a prompt using a generative AI model is as follows: "Write a Python script that will have a robot start cleaning at a time set by the user, and then play music."

[0694] In this way, the system can process information intuitively and in a user-friendly manner, and provide appropriate guidance tailored to the user.

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

[0696] Step 1:

[0697] The server receives visually constructed information processing data from the user's terminal. The input is an array of visual blocks set by the user using drag-and-drop, and the output is the visual program data of this data.

[0698] Step 2:

[0699] The terminal transmits visual program data to a language conversion processing unit. Using an AI algorithm on the server, the input visual program data is converted into the selected information description language. The output is the converted programming code.

[0700] Step 3:

[0701] The server transmits the converted code to the user's terminal via an information provision mechanism. In this process, the server receives converted code data as input and provides a code representation that the user can visually verify as output.

[0702] Step 4:

[0703] The user's device uses a camera and emotion recognition capabilities to collect facial expression data during operation. The input is real-time captured image data, which is analyzed through software such as the Emotion API. The output is a numerical evaluation of the user's emotional state.

[0704] Step 5:

[0705] The server adjusts the user interface based on the user's emotional state. The input is a numerical value representing the user's emotional state, and the output is a change in the display elements on the interface, such as the presentation of a guide message or the simplification of the interface.

[0706] Step 6:

[0707] The user reviews the final generated code and downloads it if necessary. Input from the terminal is a review action, and the output is the downloaded code file saved locally.

[0708] Through these steps, the system enables interactive and intuitive information processing tailored to the user's emotional state.

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

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

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

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

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

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

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

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

[0717] 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."

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

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

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

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

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

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

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

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

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

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

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

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

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

[0731] (Claim 1)

[0732] A user interface means that enables users to visually construct programs,

[0733] A language conversion engine means that analyzes a visual program built by a user and converts the code into one or more selected programming languages,

[0734] An output means for providing the generated code to the user and making it viewable or downloadable,

[0735] A system that includes this.

[0736] (Claim 2)

[0737] The system according to claim 1, further comprising means for inserting comments into generated code based on analyzed visual program data.

[0738] (Claim 3)

[0739] The system according to claim 1, further comprising means for providing a visually unified programming environment regardless of the differences between one or more programming languages ​​selected by the user.

[0740] "Example 1"

[0741] (Claim 1)

[0742] A user input / output device that enables users to visually construct information processing,

[0743] A data conversion device that analyzes visual information processing constructed by the user and converts the data into one or more selected information processing languages,

[0744] An output device for providing the generated data to the user and making it displayable or recordable,

[0745] Means of using artificial intelligence technology to process information,

[0746] A system that includes this.

[0747] (Claim 2)

[0748] The system according to claim 1, further comprising means for inserting annotations into generated data based on analyzed visual information processing data.

[0749] (Claim 3)

[0750] The system according to claim 1, further comprising means for providing a visually unified information processing environment regardless of the differences between one or more information processing languages ​​selected by the user.

[0751] "Application Example 1"

[0752] (Claim 1)

[0753] An operating means that allows the user to program actions visually,

[0754] A conversion means for analyzing a visual action program built by a user and converting the code into one or more selected programming languages,

[0755] A means of distribution for sending the generated code to educational equipment and making it executable,

[0756] A system that includes this.

[0757] (Claim 2)

[0758] The system according to claim 1, further comprising means for inserting annotations into generated code based on analyzed visual behavior program data.

[0759] (Claim 3)

[0760] The system according to claim 1, further comprising means for providing a visually unified programming environment regardless of the differences between one or more programming languages ​​selected by the user.

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

[0762] (Claim 1)

[0763] A means of providing a visual operating environment that allows users to intuitively form program logic using operating devices,

[0764] An information processing device that analyzes a visual program built by a user and converts the code into one or more selected programming languages,

[0765] A means to enable the generated code to be viewed on a display device and to save it to a recording device,

[0766] A means of acquiring user emotional information and adjusting the environment to improve the efficiency of user operations,

[0767] A system that includes this.

[0768] (Claim 2)

[0769] The system according to claim 1, further comprising means for providing an explanation to the generated code based on the analyzed visual program data.

[0770] (Claim 3)

[0771] The system according to claim 1, further comprising means for establishing a programming environment with a unified design philosophy, regardless of the differences between one or more programming languages ​​selected by the user.

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

[0773] (Claim 1)

[0774] A user interface means that enables users to visually construct information processing,

[0775] A language conversion processing means that analyzes visual information constructed by the user and converts the information into one or more selected information description languages,

[0776] Information provision means for providing generated information to the user and making it displayable or obtainable,

[0777] An emotion recognition means that recognizes the user's emotions and adjusts the user interface,

[0778] An information processing system that includes this.

[0779] (Claim 2)

[0780] The information processing system according to claim 1, further comprising means for inserting annotations into generated information based on analyzed visual information data.

[0781] (Claim 3)

[0782] The information processing system according to claim 1, further comprising means for providing a visually unified information creation environment regardless of differences in one or more information description languages ​​selected by the user. [Explanation of Symbols]

[0783] 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. A user interface means that enables users to visually construct programs, A language conversion engine means that analyzes a visual program built by a user and converts the code into one or more selected programming languages, An output means for providing the generated code to the user and making it viewable or downloadable, A system that includes this.

2. The system according to claim 1, further comprising means for inserting comments into generated code based on analyzed visual program data.

3. The system according to claim 1, further comprising means for providing a visually unified programming environment regardless of the differences between one or more programming languages ​​selected by the user.