System
The system automatically converts Excel functions to KNIME nodes with natural language instructions, addressing the complexity of manual node selection and configuration, thereby enhancing data processing efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Users face challenges in efficiently converting Excel functions to data processing platforms like KNIME due to the complexity of selecting appropriate nodes and configuring them, requiring manual operations and extensive knowledge acquisition.
A system that automatically identifies corresponding data processing nodes based on user input Excel functions and provides setting instructions in natural language, reducing the need for manual configuration and enhancing efficiency.
Enables users to perform data processing quickly and accurately without complex settings, allowing seamless conversion of Excel functions to KNIME operations.
Smart Images

Figure 2026037240000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] This invention eliminates the complexity of converting Excel functions used by users to data processing platforms such as KNIME in data processing systems. In particular, when users lack knowledge or experience and are unable to select the appropriate KNIME nodes or their configuration methods, they face the challenge of spending a lot of time acquiring new knowledge and trial and error. Conventional systems require unavoidable manual operations by users, hindering efficient data processing. [Means for solving the problem]
[0005] The present invention provides a system that automatically searches for a corresponding data processing node based on an Excel function entered by a user and presents its setting method in natural language. Specifically, the system includes an input means for user operation, a means for receiving the entered data, a means for analyzing the received data and searching for the corresponding data processing node, and a means for converting the search results into natural language and presenting them to the user. The system also includes a means for retrieving the setting method for the data processing node from a database and a means for selecting the corresponding data processing node when the data entered by the user is a specific data processing function. This allows the user to perform data processing quickly and accurately without having to understand complex settings.
[0006] "Input means" refers to a device or interface that allows a user to input data.
[0007] "Means for receiving" refers to a method or device for acquiring data entered by a user and making it available within the system.
[0008] "Means for analyzing" refers to a method or device that analyzes received data and identifies the corresponding data processing node based on its content.
[0009] "Means for searching" refers to a method or apparatus for finding an appropriate data processing node from a database or rule set based on analyzed data.
[0010] "Means for converting into natural language" refers to a method or device for converting technical settings or information into a written format that is easy for users to understand.
[0011] "Presentation means" refers to a device or method for displaying or notifying the user of information converted into natural language.
[0012] "Data processing node" refers to a component or module for performing a specific operation or calculation in a data processing platform.
[0013] "Configuration method" refers to the parameter settings and configuration methods required for proper operation of the data processing node.
[0014] A "database" refers to a system or structure for systematically storing information so that it can be later searched or retrieved.
[0015] "Data processing function" refers to a mathematical or logical function that performs a particular calculation or operation.
[0016] The "means for selecting" refers to a method or device for determining which data processing function the input data corresponds to and determining an appropriate data processing node. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language.
[0039] Overall system overview
[0040] The system consists of the following main components:
[0041] User input method
[0042] A means of receiving input data
[0043] A means of analyzing the data
[0044] A means of locating data processing nodes
[0045] A means of translating configuration instructions into natural language
[0046] A means of presenting information to the user
[0047] System Embodiments
[0048] Overall system flow
[0049] 1. User Input Method
[0050] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[0051] For example, the user enters "SUM".
[0052] 2. Means of receiving input data
[0053] The server receives the name of the Excel function entered by the user.
[0054] The received data is stored in an internal data structure.
[0055] 3. Methods for analyzing data
[0056] The server analyzes the received data "SUM" and understands its contents.
[0057] The next step of processing will proceed based on the analyzed data.
[0058] 4. How to search for data processing nodes
[0059] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[0060] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[0061] 5. A means of translating configuration instructions into natural language
[0062] The server retrieves the setting method of the "Math Formula" Node from the database and converts the information into natural language.
[0063] For example, it would be translated as "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0064] 6. How information is presented to the user
[0065] The server returns the setting instructions converted into natural language to the user.
[0066] A message is displayed on the user's terminal.
[0067] Specific examples
[0068] Below is an example of using Excel's "AVERAGE" function in KNIME.
[0069] 1. User Input Method
[0070] The user enters "AVERAGE" into the system's input form.
[0071] 2. Means of receiving input data
[0072] The server receives the data "AVERAGE".
[0073] 3. Methods for analyzing data
[0074] The server parses the "AVERAGE" function and understands its meaning.
[0075] 4. How to search for data processing nodes
[0076] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[0077] 5. A means of translating configuration instructions into natural language
[0078] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0079] 6. How information is presented to the user
[0080] The server sends the converted setting method to the user's terminal so that the user can check it.
[0081] For example, the terminal might display the message, "The AVERAGE function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0082] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The implementation of the invention is realized by the necessary hardware and software components working together.
[0083] The processing flow will be explained below.
[0084] Step 1:
[0085] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[0086] Step 2:
[0087] The terminal sends the name of the Excel function entered by the user to the server.
[0088] Step 3:
[0089] The server stores the received Excel function "SUM" in an internal data structure.
[0090] Step 4:
[0091] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[0092] Step 5:
[0093] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[0094] Step 6:
[0095] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0096] Step 7:
[0097] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0098] Step 8:
[0099] The server transmits the setting method converted into natural language to the user's terminal.
[0100] Step 9:
[0101] The device will display the received settings on the screen, and the user can check the displayed information and apply it to KNIME operations.
[0102] Step 10:
[0103] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[0104] This series of steps allows users to automatically replace Excel functions with operations in KNIME.
[0105] Example 1
[0106] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0107] In conventional data processing systems, when users wanted to use Excel functions on other data processing platforms, they had to manually convert and configure the corresponding data processing nodes, which was a cumbersome process. This increased the amount of work required, increased the risk of inaccurate configuration, and reduced data processing efficiency.
[0108] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0109] In this invention, the server includes an information input means for user operation, a means for receiving the input information, a means for analyzing the received information and searching for corresponding data processing elements, and a means for converting the search results into natural language and presenting them to the user. This allows users to easily use Excel functions on other data processing platforms, eliminating the need for setup and improving data processing efficiency.
[0110] A "user" is an entity that operates the system and inputs information.
[0111] "Information input means" refers to an interface device that allows a user to input Excel functions and other data processing information.
[0112] The "means for receiving information" is a device that receives input information on the server side and stores it in an internal data structure.
[0113] The "means for analyzing received information" is a device that analyzes received information, understands its contents, and proceeds to the next processing step.
[0114] The "means for searching for data processing elements" is a device that searches for corresponding data processing elements (nodes or functions) from a database or rule set based on the analyzed information.
[0115] The "means for converting search results into natural language" is a device that acquires the setting information of the searched data processing elements and converts it into natural language.
[0116] The "information storage unit" is a database or storage system that stores detailed information such as setting methods and data processing elements.
[0117] "Data processing functions" refers to Excel functions and other calculation and processing functions.
[0118] A "means for selecting" is a device that identifies the most suitable data processing element based on information entered by a user.
[0119] This invention is a system that automatically converts Excel functions into corresponding data processing elements when a user uses them on other data processing platforms, and presents the setting instructions to the user in natural language. This system consists of the following main components:
[0120] 1. Information input method
[0121] The user inputs the names of Excel functions and other data processing information through this information input means, which may be an input device such as a web interface or an application.
[0122] 2. Means of receiving information
[0123] The server receives the information entered by the user. To receive this information, web server software such as Apache (registered trademark), nginx, or an associated Python framework (Flask or Django) is used to process the HTTP request. The received information is stored in the server's internal data structure.
[0124] 3. Means of analyzing received information
[0125] The server parses the received information to understand its contents. This parsing process uses programming libraries such as Python's regular expression library, re. The results of the analysis are stored in the server's internal data structures in preparation for the next step.
[0126] 4. Means of searching for data processing elements
[0127] The server uses the parsed information to search for the corresponding data processing element, using a database (e.g., SQLite or PostgreSQL) or a predefined set of rules, and identifies the appropriate data processing element, such as a KNIME "Math Formula" node.
[0128] 5. A means of converting search results into natural language and presenting them to the user
[0129] The server retrieves the configuration information for the searched data processing element from the database and converts it into natural language using a natural language generation library such as spaCy or a generative AI model such as GPT-3 (registered trademark). The converted configuration information is sent to the user's device as an HTTP response and displayed as an appropriate message.
[0130] Specific examples
[0131] Below is a concrete example of how to use Excel's "AVERAGE" function in KNIME.
[0132] 1. User input steps
[0133] The user enters the function name "AVERAGE" into the system's web form and presses the submit button.
[0134] 2. Procedure for the server to receive information
[0135] The server receives the data "AVERAGE" sent from the user's terminal and stores it in an internal data structure.
[0136] 3. How the server analyzes the information
[0137] The server uses the regular expression library (re) to parse the "AVERAGE" function name.
[0138] 4. How the Server Finds the Data Processing Element
[0139] The server queries the database to identify the KNIME data processing element (the "Math Formula" node) that corresponds to "AVERAGE".
[0140] 5. How the server translates search results into natural language
[0141] The server uses a natural language generation library to convert the configuration method of the "Math Formula" node into natural language, and concludes that "use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0142] 6. How the server presents information
[0143] The server generates the converted setting information as an HTTP response and sends it to the user's terminal. The terminal displays the following message: "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0144] Prompt Sentence Examples
[0145] "Convert the Excel SUM function into a corresponding node in KNIME and show me in natural language how to set it up."
[0146] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0147] Step 1:
[0148] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM." At this stage, the input is the Excel function name "SUM," and the output is the data that is sent to the server as an HTTP request.
[0149] Step 2:
[0150] The server receives an HTTP request sent from the user's device. Specifically, the request is passed to a Python framework (such as Flask or Django) via web server software such as Apache or nginx. The received data is stored as the string "SUM" in an internal data structure (such as a Python dictionary).
[0151] Step 3:
[0152] The server analyzes the received data "SUM". Here, it uses the Python regular expression library "re" to check the contents of the data and obtain the analysis result. The input is the function name "SUM", and the output is the analyzed function name "SUM". The analysis result is saved in the server's internal data structure.
[0153] Step 4:
[0154] The server uses the parsed data "SUM" to search for the corresponding data processing element in the database. Here, it connects to a database such as SQLite or PostgreSQL and searches for a node corresponding to "SUM" (e.g., KNIME's "Math Formula" node). The input is the parsed function name "SUM" and the output is the identified data processing element "Math Formula" node. This search result is also stored in the server's internal data structure.
[0155] Step 5:
[0156] The server obtains the configuration of the identified data processing element and converts it into natural language. It obtains the configuration of the "Math Formula" node from the database and converts it into "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column" using a natural language generation library (e.g., spaCy or GPT-3). The input is the configuration information of the "Math Formula" node, and the output is the configuration described in natural language.
[0157] Step 6:
[0158] The server generates an HTTP response with the configuration instructions converted into natural language and sends it to the user's device. Specifically, it generates a message stating, "The SUM function can be implemented using KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." The input is the configuration instructions written in natural language, and the output is the message displayed on the user's device.
[0159] Step 7:
[0160] The user's terminal receives the HTTP response sent from the server and displays its contents. The user can confirm the configuration method written in natural language on the terminal and easily configure the data processing platform. The input is the HTTP response from the server, and the output is the message displayed to the user.
[0161] (Application example 1)
[0162] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0163] With conventional industrial machines, specialized knowledge is required to efficiently perform complex data processing, and setting up and running the data processing node is time-consuming. Furthermore, when directly using Excel functions to process data, it is difficult to intuitively understand how to set up the industrial machine to achieve this. This results in complicated data processing procedures and reduced work efficiency.
[0164] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0165] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for presenting setting information and execution methods for the data processing node to the user. This allows the user to intuitively perform data processing based on Excel functions on industrial machines, improving work efficiency.
[0166] "Input means for user operation" refers to an interface that allows a user to input instructions to an industrial machine, and generally refers to devices such as a keyboard or touch screen.
[0167] "Means for receiving input data" refers to the mechanism that collects information input by the user and transfers it within the system.
[0168] The "means for analyzing received data and searching for a corresponding data processing node" is a mechanism for understanding input data and carrying out a process for identifying the most suitable data processing function based on that data.
[0169] "Means for converting search results into natural language and presenting them to the user" refers to a method for expressing the configuration information of the identified data processing node in simple language and conveying it to the user visually or audibly.
[0170] "Means for presenting the setting information and execution method of the data processing node to the user" refers to a mechanism for displaying the setting method of the data processing node and its execution procedure in a format that is easy for the user to understand.
[0171] "Means of obtaining from a database" refers to the process of accessing a database within the system and searching for and obtaining the necessary setting information and execution methods.
[0172] "Specific data processing functions" refers to standard formulas and functions used in spreadsheet applications such as Excel.
[0173] "Means for controlling data processing operations by industrial machines" refers to a control mechanism that issues instructions to machines in a factory to perform appropriate operations based on input data.
[0174] This invention describes a system that enables intuitive data processing based on Excel functions in industrial machines. Specific embodiments for carrying out this invention are described below.
[0175] The server has a wide range of responsibilities, but some of its most important components include:
[0176] 1. Input means for user operation
[0177] Users input Excel functions using an interface (e.g., a touchscreen panel) connected to the industrial machine, providing a user experience similar to that of spreadsheet applications for users familiar with the technology.
[0178] 2. Means of receiving input data
[0179] A server connected to the industrial machine receives the Excel function name entered by the user and stores it in an internal data structure. The server processes this data in real time and responds immediately to the user's request.
[0180] 3. A means of analyzing the received data
[0181] The server parses the received function name (e.g., "SUM") and understands its meaning. This analysis uses a generative AI model and includes processing to achieve a high level of understanding of the function's meaning.
[0182] 4. How to search for data processing nodes
[0183] The server refers to an internal database or rule set to identify the data processing node of the industrial machine that corresponds to the parsed function, for example, for the "SUM" function, the "Math Formula" node is identified.
[0184] 5. A means of converting search results into natural language and presenting them to the user
[0185] The server converts the configuration information and execution method of the identified data processing node into natural language and presents it to the user in the form of, for example, "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0186] 6. Means for presenting the user with configuration information and execution methods for the data processing node
[0187] The server sends the converted configuration information to the user's terminal, where the user can confirm it. The user's terminal displays the following message: "The SUM function can be achieved with Math Formula Node. Please set it as follows: Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0188] Hardware and software used
[0189] In this invention, the following hardware and software are used in each step:
[0190] Hardware
[0191] Industrial Machinery
[0192] User interface devices (touchscreen panels, keyboards)
[0193] server
[0194] software
[0195] KNIME and other data processing platforms
[0196] Generative AI Models
[0197] Specific examples
[0198] If a user wants to calculate the total cost of a part, the following embodiment is possible.
[0199] 1. A user types "SUM" into the interface of an industrial machine.
[0200] 2. The server receives and parses this input.
[0201] 3. The server identifies the "Math Formula" node that corresponds to the "SUM" function.
[0202] 4. The server converts the identified configuration information into natural language and presents it to the user.
[0203] 5. The industrial machine screen will display the following instruction: "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0204] Prompt Sentence Examples
[0205] "What Excel function should I use to calculate the total cost of parts for an industrial machine?"
[0206] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0207] Step 1:
[0208] The user inputs an Excel function (e.g., "SUM") into the input interface of an industrial machine. At this stage, the user inputs data using a touchscreen or keyboard. The input data is sent to the next step.
[0209] Step 2:
[0210] The server receives the user input. Here, the input data "SUM" is sent to the server and stored in an internal database. The received data is sent to the analysis process.
[0211] Step 3:
[0212] The server parses the received data. It uses a generative AI model to parse the "SUM" function and understand its meaning. This process determines what the function does and passes the result to the next step.
[0213] Step 4:
[0214] Based on the analysis results, the server searches the database for the corresponding data processing node. For example, the "SUM" function corresponds to the "Math Formula" node. This search is performed by referring to the internal database to identify the corresponding node.
[0215] Step 5:
[0216] The server converts the configuration information and execution method of the identified data processing node into natural language. For example, it may be in the form of "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." This natural language conversion is done in a form that users can intuitively understand.
[0217] Step 6:
[0218] The server presents the configuration information and execution instructions converted into natural language to the user's device. The converted message is displayed on the user's device, allowing the user to confirm and execute the configuration. Specifically, the message displayed is, "The SUM function can be implemented using a Math Formula Node. Please set it as follows: Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0219] Step 7:
[0220] The system performs data processing for industrial machines based on the configuration information provided by the user. The user operates the industrial machines according to instructions in natural language provided by the server, and performs the specified data processing. This results in specific processing results such as the total cost of parts.
[0221] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0222] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language. Furthermore, this invention aims to improve the user experience by combining it with an emotion engine that recognizes the user's emotions.
[0223] Overall system overview
[0224] The system consists of the following main components:
[0225] User input method
[0226] A means of receiving input data
[0227] A means of analyzing the data
[0228] A means of locating data processing nodes
[0229] A means of translating configuration instructions into natural language
[0230] A means of presenting information to the user
[0231] Emotion engine that recognizes user emotions
[0232] A means of tailoring information based on user emotions
[0233] System Embodiments
[0234] Overall system flow
[0235] 1. User Input Method
[0236] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[0237] For example, the user enters "SUM".
[0238] 2. Means of receiving input data
[0239] The terminal sends the name of the Excel function entered by the user to the server.
[0240] The server stores the received Excel function "SUM" in an internal data structure.
[0241] 3. Methods for analyzing data
[0242] The server analyzes the received data "SUM" and understands its contents.
[0243] The analyzed data becomes key information for identifying the data processing node.
[0244] 4. How to search for data processing nodes
[0245] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[0246] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[0247] 5. A means of translating configuration instructions into natural language
[0248] The server retrieves the setting method for the "Math Formula" node from the database.
[0249] The setting method obtained is "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0250] The server translates this configuration into natural language.
[0251] 6. Emotion Recognition by Emotion Engine
[0252] The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[0253] If the emotion engine senses stress or confusion in the user, it will adjust the content and format of the information presented.
[0254] 7. How information is presented to the user
[0255] The server transmits the setting method converted into natural language to the user's terminal.
[0256] For example, it says, "The SUM function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0257] Configuration example
[0258] Below is an example of using Excel's "AVERAGE" function in KNIME.
[0259] 1. User Input Method
[0260] The user enters "AVERAGE" into the system's input form.
[0261] 2. Means of receiving input data
[0262] The terminal sends the entered data "AVERAGE" to the server.
[0263] The server receives the data "AVERAGE".
[0264] 3. Methods for analyzing data
[0265] The server parses the "AVERAGE" function and understands its meaning.
[0266] 4. How to search for data processing nodes
[0267] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[0268] 5. A means of translating configuration instructions into natural language
[0269] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0270] 6. Emotion Recognition by Emotion Engine
[0271] The server infers the user's emotion from the pattern they follow when typing "AVERAGE." For example, if the user repeatedly tries and fails, the emotion engine will detect stress.
[0272] If the emotion engine detects stress, it provides a simpler explanation to the user.
[0273] 7. How information is presented to the user
[0274] The server sends the converted setting method to the user's terminal so that the user can check it.
[0275] For example, it says, "The AVERAGE function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0276] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions. The implementation of this invention is realized by the necessary hardware and software components working together.
[0277] The processing flow will be explained below.
[0278] Step 1:
[0279] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[0280] Step 2:
[0281] The terminal sends the name of the Excel function entered by the user, "SUM," to the server.
[0282] Step 3:
[0283] The server stores the received Excel function "SUM" in an internal data structure.
[0284] Step 4:
[0285] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[0286] Step 5:
[0287] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[0288] Step 6:
[0289] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0290] Step 7:
[0291] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0292] Step 8:
[0293] The emotion engine monitors the user's input patterns and behavior in real time and estimates the user's emotions. For example, it determines that the user is feeling stressed based on repeated input errors or the length of time spent operating the device.
[0294] Step 9:
[0295] Based on the information from the emotion engine, the server adjusts the content and format of the information it presents to users if they are feeling stressed, for example by converting it into more concise and easy-to-understand language.
[0296] Step 10:
[0297] The server transmits the setting method converted into natural language to the user's terminal.
[0298] Step 11:
[0299] The device displays the received settings on the screen, allowing the user to confirm the details and apply them to KNIME operations.
[0300] Step 12:
[0301] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[0302] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions.
[0303] Example 2
[0304] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0305] In conventional data processing systems, when users convert Excel functions into data processing nodes, it is difficult to understand and configure the settings, which hinders efficient data processing.In addition, there is a lack of functionality to provide appropriate support depending on the user's emotional state, and an improvement in the user experience is required.
[0306] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0307] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for recognizing the user's emotions and adjusting information. This allows the user to easily convert Excel functions into data processing nodes, and further makes it possible to present information according to the user's emotions using an emotion engine.
[0308] A "user" is an entity that operates the system and provides input data.
[0309] The "input means" is an interface that is operated by the user to input data.
[0310] The "receiving means" is a device or module that receives data transmitted from the input means.
[0311] An "analysis means" is a method or device for understanding received data and analyzing its content.
[0312] The "searching means" is a method or device for searching for a corresponding data processing node based on the content understood by the analyzing means.
[0313] The "means for converting into natural language" is a method or device for converting the results obtained from the search means into a natural language that is easy for the user to understand.
[0314] A "presentation means" is a method or device for displaying or providing information converted into natural language to a user.
[0315] A "means for recognizing emotions and adjusting information" is a method or device for recognizing a user's emotional state and adjusting the content and format of the information presented accordingly.
[0316] A "data processing node" is an independent component or module for performing specific data processing.
[0317] The "means for acquiring the setting method" is a method or device for acquiring the setting method of the data processing node from a database or the like.
[0318] A "data processing function" is a functional expression used to perform a particular calculation or process.
[0319] System Overview
[0320] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform, and presents the setting instructions to the user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, we aim to improve the user experience.
[0321] Hardware and software used
[0322] Hardware: Server, user devices (PC, smartphone)
[0323] Software: Data processing platform (e.g., KNIME), emotion recognition engine, web interface, database
[0324] Specific explanation
[0325] User input method
[0326] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, if a user enters the "SUM" function, this input is sent from the user's terminal.
[0327] Data reception and analysis
[0328] The terminal sends the Excel function name ("SUM") entered by the user to the server. The server receives this data and stores the name of the Excel function in an internal data structure. The server then analyzes the received data and uses analytical means to understand its contents. Through analysis, the server realizes that "SUM" is a function that calculates a sum.
[0329] Finding Data Processing Nodes
[0330] The server refers to the database and rule set to search for a data processing node in the data processing platform that corresponds to the parsed Excel function ("SUM"). For example, it identifies the "Math Formula" Node as the KNIME data processing node that corresponds to the "SUM" function.
[0331] Natural language translation of setting methods
[0332] The server retrieves the configuration instructions for the identified KNIME "Math Formula" Node from the database. The retrieved configuration instructions are technical descriptions, so they are converted into natural language that is easy for users to understand. For example, it might be translated as "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0333] Emotion recognition by emotion engine
[0334] The server uses an emotion engine to infer emotions in real time from the user's input patterns and behavior. For example, if a user repeatedly tries and fails to enter a function name, the emotion engine will sense the user's stress or confusion. If the emotion engine detects stress, the server will adjust the information it presents to be more concise and friendly.
[0335] Information presentation means
[0336] The server sends the configuration instructions converted into natural language to the user's device, and the device displays this information to the user. For example, it displays the following message: "The SUM function can be realized with KNIME's Math Formula Node. Please set it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0337] Specific examples
[0338] Example of using Excel's "AVERAGE" function in KNIME
[0339] 1. User Input Method
[0340] The user enters "AVERAGE" into the system's input form.
[0341] 2. Data Receipt and Analysis
[0342] The terminal sends the entered data "AVERAGE" to the server.
[0343] The server receives the data "AVERAGE" and analyzes it.
[0344] 3. Finding the Data Processing Node
[0345] The server searches for the KNIME node corresponding to "AVERAGE" and identifies the "Math Formula" node.
[0346] 4. Natural language translation of setting methods
[0347] The server converts the setting method of the "Math Formula" Node into natural language.
[0348] This translates to "Use a Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0349] 5. Emotion Recognition by Emotion Engine
[0350] If the user types "AVERAGE" repeatedly, the emotion engine will sense stress.
[0351] If the emotion engine detects stress, the server provides a more concise explanation.
[0352] 6. Information presentation means
[0353] The server sends the setting instructions converted into natural language to the user's device, and the device displays the message, "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0354] Example prompts to input to the generative AI model
[0355] "Convert the user-entered Excel function 'AVERAGE' into a KNIME Math Formula Node and explain it in natural language."
[0356] "Please consider the user's frustration and keep the setup instructions simple."
[0357] The system allows users to efficiently transform Excel functions into data processing nodes and utilize an emotion engine to improve the user experience.
[0358] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0359] Step 1:
[0360] Input means for user operation
[0361] Description: A user uses the system's web interface or an application to enter the name of an Excel function they want to convert.
[0362] Specific behavior: The user enters "SUM" and clicks the submit button.
[0363] Input: The Excel function name entered by the user (e.g. "SUM").
[0364] Output: The request sent by the device to the server.
[0365] Step 2:
[0366] A means by which the terminal sends input data to the server
[0367] Description: The terminal sends the Excel function ("SUM") entered by the user to the server.
[0368] Specific operation: The terminal receives user input and sends it as an HTTP request.
[0369] Input: The Excel function name entered by the user ("SUM").
[0370] Output: The request sent to the server.
[0371] Step 3:
[0372] How the server receives and analyzes the data
[0373] Description: The server parses the data it receives and processes it to understand its contents.
[0374] Specific operation: The server receives the HTTP request, extracts the function name "SUM", and analyzes it.
[0375] Input: HTTP request sent from the terminal (Excel function name "SUM").
[0376] Output: Parsed Excel function content ("SUM is a function that calculates the sum").
[0377] Step 4:
[0378] A means by which the server searches for a corresponding data processing node
[0379] Description: The server consults the database and ruleset to find and identify the data processing node that corresponds to the parsed Excel function.
[0380] Specific operation: The server searches the database and identifies the "Math Formula" Node corresponding to "SUM".
[0381] Input: Parsed Excel function content ("SUM is a function that calculates the sum").
[0382] Output: The corresponding data processing node ("Math Formula" Node).
[0383] Step 5:
[0384] A means for the server to translate configuration instructions into natural language
[0385] Description: The server retrieves the configuration instructions for the identified data processing node from the database and converts them into natural language.
[0386] Specific operation: The server retrieves the setting method of the "Math Formula" Node from the database and converts it into natural language.
[0387] Input: The identified data processing node ("Math Formula" Node).
[0388] Output: How to set it up, translated into natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[0389] Step 6:
[0390] A means for the server to recognize emotions using an emotion engine
[0391] Description: The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[0392] What it does: The emotion engine analyzes the user's input history and detects stress or confusion.
[0393] Input: User input patterns and behavior.
[0394] Output: Emotion recognition result (e.g., stress).
[0395] Step 7:
[0396] A means by which the server sends and displays information to the terminal
[0397] Description: The server sends the configuration instructions converted into natural language to the user's terminal, and the terminal displays this information to the user.
[0398] Specific operation: The server sends the converted setting method to the terminal as an HTTP response, and the terminal displays it.
[0399] Input: How to set it up in natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[0400] Output: A description to be displayed to the user (e.g., "The SUM function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input columns.").
[0401] (Application example 2)
[0402] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0403] In conventional data processing systems, users must manually select and configure data processing nodes, which requires a great deal of effort and specialized knowledge. Furthermore, because they do not take into account the user's feelings or stress, some operations are complicated, difficult to use, and prone to errors. This can significantly reduce efficiency, especially when using factory robots or performing complex tasks.
[0404] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0405] In this invention, the server includes an input means, a means for receiving input data, a means for analyzing the received data and searching for a corresponding data processing node, a means for converting the search results into natural language and presenting them to the user, and a means for recognizing the user's emotions and adjusting the content of the presentation. As a result, the user only needs to input an Excel function, and the corresponding data processing node is automatically identified, detailed setting instructions can be understood in natural language, and feedback according to the user's emotional state is provided, thereby improving the efficiency and comfort of operation.
[0406] The "input means for user operation" is an interface that allows the user to input operations and instructions to the system.
[0407] The "means for receiving input data" refers to a method or device for taking data input by a user into the system.
[0408] The "means for analyzing received data and searching for a corresponding data processing node" is a process or device for analyzing input data and identifying a data processing node suitable for that data.
[0409] "Means for converting search results into natural language and presenting them to the user" refers to a method or device for converting information obtained by a search into a natural language that is easy for the user to understand and displaying it.
[0410] "Means for recognizing a user's emotions and adjusting the content presented" refers to a method or device for detecting a user's emotional state and optimizing the information presented accordingly.
[0411] The "means for acquiring the setting method of the data processing node from the database" is a process or device for acquiring the specific setting method of the data processing node from the database.
[0412] "Means for selecting a corresponding data processing node when data entered by a user is a specific data processing function" refers to a method or device for selecting a dedicated data processing node corresponding to the specific data processing function entered by a user.
[0413] This invention is a system that automatically converts Excel functions entered by a user into corresponding data processing nodes when used on a data processing platform, and presents them to the user in natural language. It also aims to improve usability by recognizing the user's emotions and presenting appropriate information according to those emotions.
[0414] Overall system overview
[0415] The system includes the following major components:
[0416] 1. Input method: The interface through which the user inputs Excel functions. Specifically, a smartphone app is assumed.
[0417] 2. Data reception means: A method for receiving data entered by the user. It has the function of sending data from the smartphone app to the server.
[0418] 3. Data analysis means: An engine that analyzes the received data and understands its contents, using generative AI models, etc.
[0419] 4. Data processing node search means: Based on the analyzed data, the corresponding data processing node is searched for in the database.
[0420] 5. Natural language conversion means: An engine that converts the search result settings into natural language and presents them to the user.
[0421] 6. Emotion Recognition: An emotion engine that recognizes the user's emotions in real time.
[0422] 7. Emotion-recognition-based adjustment measures: Adjust the content and format of the information presented according to the user's emotional state.
[0423] System Embodiments
[0424] 1. User Input Method
[0425] Through the user interface of the smartphone app, the user inputs the name of the Excel function they want to convert. For example, consider the case where the user inputs "SUM".
[0426] 2. Data Receiving Method
[0427] The Excel formulas entered by the user through the smartphone app are sent in real time to the server, which receives the data and stores it in its internal data structure.
[0428] 3. Data Analysis Methods
[0429] The server analyzes the received data and identifies the functions that correspond to specific data processing nodes, for example, analyzing "SUM" and understanding that it is an addition function.
[0430] 4. Data Processing Node Search Method
[0431] The server refers to the database and searches for a data processing node that corresponds to the parsed Excel function, and then searches for a specific data processing node that corresponds to "SUM," for example, the "Math Formula" node.
[0432] 5. Natural Language Conversion Methods
[0433] The server converts the configuration instructions retrieved from the database into natural language and presents them to the user. For example, it generates a sentence such as "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0434] 6. Emotion recognition means
[0435] The server equipped with an emotion engine estimates the user's emotions in real time based on their input patterns and behavior. For example, if the user repeatedly tries and fails, it can detect stress.
[0436] 7. Emotion-Recognition-Based Adjustment Measures
[0437] If the emotion engine detects stress or confusion in the user, it will adjust the content and format of the information provided, providing feedback such as presenting it in a concise and easy-to-understand format.
[0438] Specific examples
[0439] For example, if a user inputs the Excel function "SUM," the server converts "SUM" into a "Math Formula" node and displays the setting method in natural language: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0440] Prompt Sentence Examples
[0441] “If users are confused, please simplify the explanation even further. Generate a simplified document detailing the Excel functions and how to configure KNIME.”
[0442] This system allows users to intuitively map Excel functions to KNIME operations, and also presents information that takes users' emotions into consideration, significantly improving work efficiency.
[0443] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0444] Step 1:
[0445] A user uses a smartphone application to input an Excel function into the operation interface. The input function is in the form of "SUM." The input at this point is the function data from the user.
[0446] Step 2:
[0447] The device receives Excel function data entered by the user. This data is then sent from the device to the server via the Internet. Specifically, the smartphone app sends an HTTP request to the server, and the payload contains the function name entered by the user.
[0448] Step 3:
[0449] The server analyzes the received Excel function data. Here, natural language processing is performed using a generative AI model to understand the meaning of "SUM." The input for the analysis is the received function data, and the output is the specific information of the analyzed function (e.g., addition function).
[0450] Step 4:
[0451] The server searches the database for the corresponding data processing node based on the analysis results. The database stores mapping information between Excel functions and the corresponding data processing nodes. The input is the specific information of the analyzed function, and the output is the specific information of the corresponding data processing node (e.g., "Math Formula" node).
[0452] Step 5:
[0453] The server retrieves the setting method of the data processing node identified as a search result from the database. Here, detailed information about the setting method is obtained. The input is the data processing node of the search result, and the output is the detailed setting method of that node.
[0454] Step 6:
[0455] The server converts the acquired configuration instructions into natural language. In this natural language generation step, the configuration instructions are generated as text in a format that is easy for users to understand. The input is the configuration instructions for the data processing node, and the output is the text converted into natural language (e.g., "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column").
[0456] Step 7:
[0457] The server uses an emotion engine to recognize the user's emotional state in real time. In this step, the emotional state is estimated by analyzing the user's operation log and input patterns. The input is the user's operation data, and the output is the estimated emotional state.
[0458] Step 8:
[0459] The server adjusts the content and format of the information presented based on the estimated emotional state. For example, if it senses that the user is under stress, it will modify the explanation to be more concise and easy to understand. The input is the emotion estimation result, and the output is the adjusted information content.
[0460] Step 9:
[0461] The server sends the adjusted natural language setting instructions to the user's device. The user can then check the converted setting instructions through a smartphone app. The input is the adjusted information content, and the output is the information presented to the user.
[0462] By following the above steps, users can easily map Excel functions to the data processing platform and receive information that takes their emotions into consideration, enabling them to process data efficiently and comfortably.
[0463] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0464] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0465] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0466] [Second embodiment]
[0467] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0468] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0469] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0470] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0471] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0472] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0473] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0474] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0475] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0476] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0477] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0478] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0479] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language.
[0480] Overall system overview
[0481] The system consists of the following main components:
[0482] User input method
[0483] A means of receiving input data
[0484] A means of analyzing the data
[0485] A means of locating data processing nodes
[0486] A means of translating configuration instructions into natural language
[0487] A means of presenting information to the user
[0488] System Embodiments
[0489] Overall system flow
[0490] 1. User Input Method
[0491] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[0492] For example, the user enters "SUM".
[0493] 2. Means of receiving input data
[0494] The server receives the name of the Excel function entered by the user.
[0495] The received data is stored in an internal data structure.
[0496] 3. Methods for analyzing data
[0497] The server analyzes the received data "SUM" and understands its contents.
[0498] The next step of processing will proceed based on the analyzed data.
[0499] 4. How to search for data processing nodes
[0500] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[0501] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[0502] 5. A means of translating configuration instructions into natural language
[0503] The server retrieves the setting method of the "Math Formula" Node from the database and converts the information into natural language.
[0504] For example, it would be translated as "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0505] 6. How information is presented to the user
[0506] The server returns the setting instructions converted into natural language to the user.
[0507] A message is displayed on the user's terminal.
[0508] Specific examples
[0509] Below is an example of using Excel's "AVERAGE" function in KNIME.
[0510] 1. User Input Method
[0511] The user enters "AVERAGE" into the system's input form.
[0512] 2. Means of receiving input data
[0513] The server receives the data "AVERAGE".
[0514] 3. Methods for analyzing data
[0515] The server parses the "AVERAGE" function and understands its meaning.
[0516] 4. How to search for data processing nodes
[0517] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[0518] 5. A means of translating configuration instructions into natural language
[0519] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0520] 6. How information is presented to the user
[0521] The server sends the converted setting method to the user's terminal so that the user can check it.
[0522] For example, the terminal might display the message, "The AVERAGE function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0523] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The implementation of the invention is realized by the necessary hardware and software components working together.
[0524] The processing flow will be explained below.
[0525] Step 1:
[0526] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[0527] Step 2:
[0528] The terminal sends the name of the Excel function entered by the user to the server.
[0529] Step 3:
[0530] The server stores the received Excel function "SUM" in an internal data structure.
[0531] Step 4:
[0532] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[0533] Step 5:
[0534] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[0535] Step 6:
[0536] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0537] Step 7:
[0538] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0539] Step 8:
[0540] The server transmits the setting method converted into natural language to the user's terminal.
[0541] Step 9:
[0542] The device will display the received settings on the screen, and the user can check the displayed information and apply it to KNIME operations.
[0543] Step 10:
[0544] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[0545] This series of steps allows users to automatically replace Excel functions with operations in KNIME.
[0546] Example 1
[0547] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0548] In conventional data processing systems, when users wanted to use Excel functions on other data processing platforms, they had to manually convert and configure the corresponding data processing nodes, which was a cumbersome process. This increased the amount of work required, increased the risk of inaccurate configuration, and reduced data processing efficiency.
[0549] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0550] In this invention, the server includes an information input means for user operation, a means for receiving the input information, a means for analyzing the received information and searching for corresponding data processing elements, and a means for converting the search results into natural language and presenting them to the user. This allows users to easily use Excel functions on other data processing platforms, eliminating the need for setup and improving data processing efficiency.
[0551] A "user" is an entity that operates the system and inputs information.
[0552] "Information input means" refers to an interface device that allows a user to input Excel functions and other data processing information.
[0553] The "means for receiving information" is a device that receives input information on the server side and stores it in an internal data structure.
[0554] The "means for analyzing received information" is a device that analyzes received information, understands its contents, and proceeds to the next processing step.
[0555] The "means for searching for data processing elements" is a device that searches for corresponding data processing elements (nodes or functions) from a database or rule set based on the analyzed information.
[0556] The "means for converting search results into natural language" is a device that acquires the setting information of the searched data processing elements and converts it into natural language.
[0557] The "information storage unit" is a database or storage system that stores detailed information such as setting methods and data processing elements.
[0558] "Data processing functions" refers to Excel functions and other calculation and processing functions.
[0559] A "means for selecting" is a device that identifies the most suitable data processing element based on information entered by a user.
[0560] This invention is a system that automatically converts Excel functions into corresponding data processing elements when a user uses them on other data processing platforms, and presents the setting instructions to the user in natural language. This system consists of the following main components:
[0561] 1. Information input method
[0562] The user inputs the names of Excel functions and other data processing information through this information input means, which may be an input device such as a web interface or an application.
[0563] 2. Means of receiving information
[0564] The server receives the information entered by the user. This is done using web server software to process the HTTP request, such as Apache or nginx, or an associated Python framework (such as Flask or Django). The received information is stored in the server's internal data structures.
[0565] 3. Means of analyzing received information
[0566] The server parses the received information to understand its contents. This parsing process uses programming libraries such as Python's regular expression library, re. The results of the analysis are stored in the server's internal data structures in preparation for the next step.
[0567] 4. Means of searching for data processing elements
[0568] The server uses the parsed information to search for the corresponding data processing element, using a database (e.g., SQLite or PostgreSQL) or a predefined set of rules, and identifies the appropriate data processing element, such as a KNIME "Math Formula" node.
[0569] 5. A means of converting search results into natural language and presenting them to the user
[0570] The server retrieves the configuration information for the searched data processing element from the database and converts it into natural language using natural language generation libraries such as spaCy and the generative AI model GPT-3. The converted configuration information is sent to the user's device as an HTTP response and displayed as an appropriate message.
[0571] Specific examples
[0572] Below is a concrete example of how to use Excel's "AVERAGE" function in KNIME.
[0573] 1. User input steps
[0574] The user enters the function name "AVERAGE" into the system's web form and presses the submit button.
[0575] 2. Procedure for the server to receive information
[0576] The server receives the data "AVERAGE" sent from the user's terminal and stores it in an internal data structure.
[0577] 3. How the server analyzes the information
[0578] The server uses the regular expression library (re) to parse the "AVERAGE" function name.
[0579] 4. How the Server Finds the Data Processing Element
[0580] The server queries the database to identify the KNIME data processing element (the "Math Formula" node) that corresponds to "AVERAGE".
[0581] 5. How the server translates search results into natural language
[0582] The server uses a natural language generation library to convert the configuration method of the "Math Formula" node into natural language, and concludes that "use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0583] 6. How the server presents information
[0584] The server generates the converted setting information as an HTTP response and sends it to the user's terminal. The terminal displays the following message: "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0585] Prompt Sentence Examples
[0586] "Convert the Excel SUM function into a corresponding node in KNIME and show me in natural language how to set it up."
[0587] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0588] Step 1:
[0589] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM." At this stage, the input is the Excel function name "SUM," and the output is the data that is sent to the server as an HTTP request.
[0590] Step 2:
[0591] The server receives an HTTP request sent from the user's device. Specifically, the request is passed to a Python framework (such as Flask or Django) via web server software such as Apache or nginx. The received data is stored as the string "SUM" in an internal data structure (such as a Python dictionary).
[0592] Step 3:
[0593] The server analyzes the received data "SUM". Here, it uses the Python regular expression library "re" to check the contents of the data and obtain the analysis result. The input is the function name "SUM", and the output is the analyzed function name "SUM". The analysis result is saved in the server's internal data structure.
[0594] Step 4:
[0595] The server uses the parsed data "SUM" to search for the corresponding data processing element in the database. Here, it connects to a database such as SQLite or PostgreSQL and searches for a node corresponding to "SUM" (e.g., KNIME's "Math Formula" node). The input is the parsed function name "SUM" and the output is the identified data processing element "Math Formula" node. This search result is also stored in the server's internal data structure.
[0596] Step 5:
[0597] The server obtains the configuration of the identified data processing element and converts it into natural language. It obtains the configuration of the "Math Formula" node from the database and converts it into "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column" using a natural language generation library (e.g., spaCy or GPT-3). The input is the configuration information of the "Math Formula" node, and the output is the configuration described in natural language.
[0598] Step 6:
[0599] The server generates an HTTP response with the configuration instructions converted into natural language and sends it to the user's device. Specifically, it generates a message stating, "The SUM function can be implemented using KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." The input is the configuration instructions written in natural language, and the output is the message displayed on the user's device.
[0600] Step 7:
[0601] The user's terminal receives the HTTP response sent from the server and displays its contents. The user can confirm the configuration method written in natural language on the terminal and easily configure the data processing platform. The input is the HTTP response from the server, and the output is the message displayed to the user.
[0602] (Application example 1)
[0603] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0604] With conventional industrial machines, specialized knowledge is required to efficiently perform complex data processing, and setting up and running the data processing node is time-consuming. Furthermore, when directly using Excel functions to process data, it is difficult to intuitively understand how to set up the industrial machine to achieve this. This results in complicated data processing procedures and reduced work efficiency.
[0605] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0606] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for presenting setting information and execution methods for the data processing node to the user. This allows the user to intuitively perform data processing based on Excel functions on industrial machines, improving work efficiency.
[0607] "Input means for user operation" refers to an interface that allows a user to input instructions to an industrial machine, and generally refers to devices such as a keyboard or touch screen.
[0608] "Means for receiving input data" refers to the mechanism that collects information input by the user and transfers it within the system.
[0609] The "means for analyzing received data and searching for a corresponding data processing node" is a mechanism for understanding input data and carrying out a process for identifying the most suitable data processing function based on that data.
[0610] "Means for converting search results into natural language and presenting them to the user" refers to a method for expressing the configuration information of the identified data processing node in simple language and conveying it to the user visually or audibly.
[0611] "Means for presenting the setting information and execution method of the data processing node to the user" refers to a mechanism for displaying the setting method of the data processing node and its execution procedure in a format that is easy for the user to understand.
[0612] "Means of obtaining from a database" refers to the process of accessing a database within the system and searching for and obtaining the necessary setting information and execution methods.
[0613] "Specific data processing functions" refers to standard formulas and functions used in spreadsheet applications such as Excel.
[0614] "Means for controlling data processing operations by industrial machines" refers to a control mechanism that issues instructions to machines in a factory to perform appropriate operations based on input data.
[0615] This invention describes a system that enables intuitive data processing based on Excel functions in industrial machines. Specific embodiments for carrying out this invention are described below.
[0616] The server has a wide range of responsibilities, but some of its most important components include:
[0617] 1. Input means for user operation
[0618] Users input Excel functions using an interface (e.g., a touchscreen panel) connected to the industrial machine, providing a user experience similar to that of spreadsheet applications for users familiar with the technology.
[0619] 2. Means of receiving input data
[0620] A server connected to the industrial machine receives the Excel function name entered by the user and stores it in an internal data structure. The server processes this data in real time and responds immediately to the user's request.
[0621] 3. A means of analyzing the received data
[0622] The server parses the received function name (e.g., "SUM") and understands its meaning. This analysis uses a generative AI model and includes processing to achieve a high level of understanding of the function's meaning.
[0623] 4. How to search for data processing nodes
[0624] The server refers to an internal database or rule set to identify the data processing node of the industrial machine that corresponds to the parsed function, for example, for the "SUM" function, the "Math Formula" node is identified.
[0625] 5. A means of converting search results into natural language and presenting them to the user
[0626] The server converts the configuration information and execution method of the identified data processing node into natural language and presents it to the user in the form of, for example, "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0627] 6. Means for presenting the user with configuration information and execution methods for the data processing node
[0628] The server sends the converted configuration information to the user's terminal, where the user can confirm it. The user's terminal displays the following message: "The SUM function can be achieved with Math Formula Node. Please set it as follows: Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0629] Hardware and software used
[0630] In this invention, the following hardware and software are used in each step:
[0631] Hardware
[0632] Industrial Machinery
[0633] User interface devices (touchscreen panels, keyboards)
[0634] server
[0635] software
[0636] KNIME and other data processing platforms
[0637] Generative AI Models
[0638] Specific examples
[0639] If a user wants to calculate the total cost of a part, the following embodiment is possible.
[0640] 1. A user types "SUM" into the interface of an industrial machine.
[0641] 2. The server receives and parses this input.
[0642] 3. The server identifies the "Math Formula" node that corresponds to the "SUM" function.
[0643] 4. The server converts the identified configuration information into natural language and presents it to the user.
[0644] 5. The industrial machine screen will display the following instruction: "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0645] Prompt Sentence Examples
[0646] "What Excel function should I use to calculate the total cost of parts for an industrial machine?"
[0647] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0648] Step 1:
[0649] The user inputs an Excel function (e.g., "SUM") into the input interface of an industrial machine. At this stage, the user inputs data using a touchscreen or keyboard. The input data is sent to the next step.
[0650] Step 2:
[0651] The server receives the user input. Here, the input data "SUM" is sent to the server and stored in an internal database. The received data is sent to the analysis process.
[0652] Step 3:
[0653] The server parses the received data. It uses a generative AI model to parse the "SUM" function and understand its meaning. This process determines what the function does and passes the result to the next step.
[0654] Step 4:
[0655] Based on the analysis results, the server searches the database for the corresponding data processing node. For example, the "SUM" function corresponds to the "Math Formula" node. This search is performed by referring to the internal database to identify the corresponding node.
[0656] Step 5:
[0657] The server converts the configuration information and execution method of the identified data processing node into natural language. For example, it may be in the form of "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." This natural language conversion is done in a form that users can intuitively understand.
[0658] Step 6:
[0659] The server presents the configuration information and execution instructions converted into natural language to the user's device. The converted message is displayed on the user's device, allowing the user to confirm and execute the configuration. Specifically, the message displayed is, "The SUM function can be implemented using a Math Formula Node. Please set it as follows: Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0660] Step 7:
[0661] The system performs data processing for industrial machines based on the configuration information provided by the user. The user operates the industrial machines according to instructions in natural language provided by the server, and performs the specified data processing. This results in specific processing results such as the total cost of parts.
[0662] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0663] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language. Furthermore, this invention aims to improve the user experience by combining it with an emotion engine that recognizes the user's emotions.
[0664] Overall system overview
[0665] The system consists of the following main components:
[0666] User input method
[0667] A means of receiving input data
[0668] A means of analyzing the data
[0669] A means of locating data processing nodes
[0670] A means of translating configuration instructions into natural language
[0671] A means of presenting information to the user
[0672] Emotion engine that recognizes user emotions
[0673] A means of tailoring information based on user emotions
[0674] System Embodiments
[0675] Overall system flow
[0676] 1. User Input Method
[0677] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[0678] For example, the user enters "SUM".
[0679] 2. Means of receiving input data
[0680] The terminal sends the name of the Excel function entered by the user to the server.
[0681] The server stores the received Excel function "SUM" in an internal data structure.
[0682] 3. Methods for analyzing data
[0683] The server analyzes the received data "SUM" and understands its contents.
[0684] The analyzed data becomes key information for identifying the data processing node.
[0685] 4. How to search for data processing nodes
[0686] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[0687] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[0688] 5. A means of translating configuration instructions into natural language
[0689] The server retrieves the setting method for the "Math Formula" node from the database.
[0690] The setting method obtained is "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0691] The server translates this configuration into natural language.
[0692] 6. Emotion Recognition by Emotion Engine
[0693] The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[0694] If the emotion engine senses stress or confusion in the user, it will adjust the content and format of the information presented.
[0695] 7. How information is presented to the user
[0696] The server transmits the setting method converted into natural language to the user's terminal.
[0697] For example, it says, "The SUM function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0698] Configuration example
[0699] Below is an example of using Excel's "AVERAGE" function in KNIME.
[0700] 1. User Input Method
[0701] The user enters "AVERAGE" into the system's input form.
[0702] 2. Means of receiving input data
[0703] The terminal sends the entered data "AVERAGE" to the server.
[0704] The server receives the data "AVERAGE".
[0705] 3. Methods for analyzing data
[0706] The server parses the "AVERAGE" function and understands its meaning.
[0707] 4. How to search for data processing nodes
[0708] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[0709] 5. A means of translating configuration instructions into natural language
[0710] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0711] 6. Emotion Recognition by Emotion Engine
[0712] The server infers the user's emotion from the pattern they follow when typing "AVERAGE." For example, if the user repeatedly tries and fails, the emotion engine will detect stress.
[0713] If the emotion engine detects stress, it provides a simpler explanation to the user.
[0714] 7. How information is presented to the user
[0715] The server sends the converted setting method to the user's terminal so that the user can check it.
[0716] For example, it says, "The AVERAGE function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0717] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions. The implementation of this invention is realized by the necessary hardware and software components working together.
[0718] The processing flow will be explained below.
[0719] Step 1:
[0720] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[0721] Step 2:
[0722] The terminal sends the name of the Excel function entered by the user, "SUM," to the server.
[0723] Step 3:
[0724] The server stores the received Excel function "SUM" in an internal data structure.
[0725] Step 4:
[0726] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[0727] Step 5:
[0728] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[0729] Step 6:
[0730] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0731] Step 7:
[0732] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0733] Step 8:
[0734] The emotion engine monitors the user's input patterns and behavior in real time and estimates the user's emotions. For example, it determines that the user is feeling stressed based on repeated input errors or the length of time spent operating the device.
[0735] Step 9:
[0736] Based on the information from the emotion engine, the server adjusts the content and format of the information it presents to users if they are feeling stressed, for example by converting it into more concise and easy-to-understand language.
[0737] Step 10:
[0738] The server transmits the setting method converted into natural language to the user's terminal.
[0739] Step 11:
[0740] The device displays the received settings on the screen, allowing the user to confirm the details and apply them to KNIME operations.
[0741] Step 12:
[0742] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[0743] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions.
[0744] Example 2
[0745] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0746] In conventional data processing systems, when users convert Excel functions into data processing nodes, it is difficult to understand and configure the settings, which hinders efficient data processing.In addition, there is a lack of functionality to provide appropriate support depending on the user's emotional state, and an improvement in the user experience is required.
[0747] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0748] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for recognizing the user's emotions and adjusting information. This allows the user to easily convert Excel functions into data processing nodes, and further makes it possible to present information according to the user's emotions using an emotion engine.
[0749] A "user" is an entity that operates the system and provides input data.
[0750] The "input means" is an interface that is operated by the user to input data.
[0751] The "receiving means" is a device or module that receives data transmitted from the input means.
[0752] An "analysis means" is a method or device for understanding received data and analyzing its content.
[0753] The "searching means" is a method or device for searching for a corresponding data processing node based on the content understood by the analyzing means.
[0754] The "means for converting into natural language" is a method or device for converting the results obtained from the search means into a natural language that is easy for the user to understand.
[0755] A "presentation means" is a method or device for displaying or providing information converted into natural language to a user.
[0756] A "means for recognizing emotions and adjusting information" is a method or device for recognizing a user's emotional state and adjusting the content and format of the information presented accordingly.
[0757] A "data processing node" is an independent component or module for performing specific data processing.
[0758] The "means for acquiring the setting method" is a method or device for acquiring the setting method of the data processing node from a database or the like.
[0759] A "data processing function" is a functional expression used to perform a particular calculation or process.
[0760] System Overview
[0761] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform, and presents the setting instructions to the user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, we aim to improve the user experience.
[0762] Hardware and software used
[0763] Hardware: Server, user devices (PC, smartphone)
[0764] Software: Data processing platform (e.g., KNIME), emotion recognition engine, web interface, database
[0765] Specific explanation
[0766] User input method
[0767] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, if a user enters the "SUM" function, this input is sent from the user's terminal.
[0768] Data reception and analysis
[0769] The terminal sends the Excel function name ("SUM") entered by the user to the server. The server receives this data and stores the name of the Excel function in an internal data structure. The server then analyzes the received data and uses analytical means to understand its contents. Through analysis, the server realizes that "SUM" is a function that calculates a sum.
[0770] Finding Data Processing Nodes
[0771] The server refers to the database and rule set to search for a data processing node in the data processing platform that corresponds to the parsed Excel function ("SUM"). For example, it identifies the "Math Formula" Node as the KNIME data processing node that corresponds to the "SUM" function.
[0772] Natural language translation of setting methods
[0773] The server retrieves the configuration instructions for the identified KNIME "Math Formula" Node from the database. The retrieved configuration instructions are technical descriptions, so they are converted into natural language that is easy for users to understand. For example, it might be translated as "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0774] Emotion recognition by emotion engine
[0775] The server uses an emotion engine to infer emotions in real time from the user's input patterns and behavior. For example, if a user repeatedly tries and fails to enter a function name, the emotion engine will sense the user's stress or confusion. If the emotion engine detects stress, the server will adjust the information it presents to be more concise and friendly.
[0776] Information presentation means
[0777] The server sends the configuration instructions converted into natural language to the user's device, and the device displays this information to the user. For example, it displays the following message: "The SUM function can be realized with KNIME's Math Formula Node. Please set it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0778] Specific examples
[0779] Example of using Excel's "AVERAGE" function in KNIME
[0780] 1. User Input Method
[0781] The user enters "AVERAGE" into the system's input form.
[0782] 2. Data Receipt and Analysis
[0783] The terminal sends the entered data "AVERAGE" to the server.
[0784] The server receives the data "AVERAGE" and analyzes it.
[0785] 3. Finding the Data Processing Node
[0786] The server searches for the KNIME node corresponding to "AVERAGE" and identifies the "Math Formula" node.
[0787] 4. Natural language translation of setting methods
[0788] The server converts the setting method of the "Math Formula" Node into natural language.
[0789] This translates to "Use a Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0790] 5. Emotion Recognition by Emotion Engine
[0791] If the user types "AVERAGE" repeatedly, the emotion engine will sense stress.
[0792] If the emotion engine detects stress, the server provides a more concise explanation.
[0793] 6. Information presentation means
[0794] The server sends the setting instructions converted into natural language to the user's device, and the device displays the message, "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0795] Example prompts to input to the generative AI model
[0796] "Convert the user-entered Excel function 'AVERAGE' into a KNIME Math Formula Node and explain it in natural language."
[0797] "Please consider the user's frustration and keep the setup instructions simple."
[0798] The system allows users to efficiently transform Excel functions into data processing nodes and utilize an emotion engine to improve the user experience.
[0799] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0800] Step 1:
[0801] Input means for user operation
[0802] Description: A user uses the system's web interface or an application to enter the name of an Excel function they want to convert.
[0803] Specific behavior: The user enters "SUM" and clicks the submit button.
[0804] Input: The Excel function name entered by the user (e.g. "SUM").
[0805] Output: The request sent by the device to the server.
[0806] Step 2:
[0807] A means by which the terminal sends input data to the server
[0808] Description: The terminal sends the Excel function ("SUM") entered by the user to the server.
[0809] Specific operation: The terminal receives user input and sends it as an HTTP request.
[0810] Input: The Excel function name entered by the user ("SUM").
[0811] Output: The request sent to the server.
[0812] Step 3:
[0813] How the server receives and analyzes the data
[0814] Description: The server parses the data it receives and processes it to understand its contents.
[0815] Specific operation: The server receives the HTTP request, extracts the function name "SUM", and analyzes it.
[0816] Input: HTTP request sent from the terminal (Excel function name "SUM").
[0817] Output: Parsed Excel function content ("SUM is a function that calculates the sum").
[0818] Step 4:
[0819] A means by which the server searches for a corresponding data processing node
[0820] Description: The server consults the database and ruleset to find and identify the data processing node that corresponds to the parsed Excel function.
[0821] Specific operation: The server searches the database and identifies the "Math Formula" Node corresponding to "SUM".
[0822] Input: Parsed Excel function content ("SUM is a function that calculates the sum").
[0823] Output: The corresponding data processing node ("Math Formula" Node).
[0824] Step 5:
[0825] A means for the server to translate configuration instructions into natural language
[0826] Description: The server retrieves the configuration instructions for the identified data processing node from the database and converts them into natural language.
[0827] Specific operation: The server retrieves the setting method of the "Math Formula" Node from the database and converts it into natural language.
[0828] Input: The identified data processing node ("Math Formula" Node).
[0829] Output: How to set it up, translated into natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[0830] Step 6:
[0831] A means for the server to recognize emotions using an emotion engine
[0832] Description: The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[0833] What it does: The emotion engine analyzes the user's input history and detects stress or confusion.
[0834] Input: User input patterns and behavior.
[0835] Output: Emotion recognition result (e.g., stress).
[0836] Step 7:
[0837] A means by which the server sends and displays information to the terminal
[0838] Description: The server sends the configuration instructions converted into natural language to the user's terminal, and the terminal displays this information to the user.
[0839] Specific operation: The server sends the converted setting method to the terminal as an HTTP response, and the terminal displays it.
[0840] Input: How to set it up in natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[0841] Output: A description to be displayed to the user (e.g., "The SUM function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input columns.").
[0842] (Application example 2)
[0843] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0844] In conventional data processing systems, users must manually select and configure data processing nodes, which requires a great deal of effort and specialized knowledge. Furthermore, because they do not take into account the user's feelings or stress, some operations are complicated, difficult to use, and prone to errors. This can significantly reduce efficiency, especially when using factory robots or performing complex tasks.
[0845] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0846] In this invention, the server includes an input means, a means for receiving input data, a means for analyzing the received data and searching for a corresponding data processing node, a means for converting the search results into natural language and presenting them to the user, and a means for recognizing the user's emotions and adjusting the content of the presentation. As a result, the user only needs to input an Excel function, and the corresponding data processing node is automatically identified, detailed setting instructions can be understood in natural language, and feedback according to the user's emotional state is provided, thereby improving the efficiency and comfort of operation.
[0847] The "input means for user operation" is an interface that allows the user to input operations and instructions to the system.
[0848] The "means for receiving input data" refers to a method or device for taking data input by a user into the system.
[0849] The "means for analyzing received data and searching for a corresponding data processing node" is a process or device for analyzing input data and identifying a data processing node suitable for that data.
[0850] "Means for converting search results into natural language and presenting them to the user" refers to a method or device for converting information obtained by a search into a natural language that is easy for the user to understand and displaying it.
[0851] "Means for recognizing a user's emotions and adjusting the content presented" refers to a method or device for detecting a user's emotional state and optimizing the information presented accordingly.
[0852] The "means for acquiring the setting method of the data processing node from the database" is a process or device for acquiring the specific setting method of the data processing node from the database.
[0853] "Means for selecting a corresponding data processing node when data entered by a user is a specific data processing function" refers to a method or device for selecting a dedicated data processing node corresponding to the specific data processing function entered by a user.
[0854] This invention is a system that automatically converts Excel functions entered by a user into corresponding data processing nodes when used on a data processing platform, and presents them to the user in natural language. It also aims to improve usability by recognizing the user's emotions and presenting appropriate information according to those emotions.
[0855] Overall system overview
[0856] The system includes the following major components:
[0857] 1. Input method: The interface through which the user inputs Excel functions. Specifically, a smartphone app is assumed.
[0858] 2. Data reception means: A method for receiving data entered by the user. It has the function of sending data from the smartphone app to the server.
[0859] 3. Data analysis means: An engine that analyzes the received data and understands its contents, using generative AI models, etc.
[0860] 4. Data processing node search means: Based on the analyzed data, the corresponding data processing node is searched for in the database.
[0861] 5. Natural language conversion means: An engine that converts the search result settings into natural language and presents them to the user.
[0862] 6. Emotion Recognition: An emotion engine that recognizes the user's emotions in real time.
[0863] 7. Emotion-recognition-based adjustment measures: Adjust the content and format of the information presented according to the user's emotional state.
[0864] System Embodiments
[0865] 1. User Input Method
[0866] Through the user interface of the smartphone app, the user inputs the name of the Excel function they want to convert. For example, consider the case where the user inputs "SUM".
[0867] 2. Data Receiving Method
[0868] The Excel formulas entered by the user through the smartphone app are sent in real time to the server, which receives the data and stores it in its internal data structure.
[0869] 3. Data Analysis Methods
[0870] The server analyzes the received data and identifies the functions that correspond to specific data processing nodes, for example, analyzing "SUM" and understanding that it is an addition function.
[0871] 4. Data Processing Node Search Method
[0872] The server refers to the database and searches for a data processing node that corresponds to the parsed Excel function, and then searches for a specific data processing node that corresponds to "SUM," for example, the "Math Formula" node.
[0873] 5. Natural Language Conversion Methods
[0874] The server converts the configuration instructions retrieved from the database into natural language and presents them to the user. For example, it generates a sentence such as "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0875] 6. Emotion recognition means
[0876] The server equipped with an emotion engine estimates the user's emotions in real time based on their input patterns and behavior. For example, if the user repeatedly tries and fails, it can detect stress.
[0877] 7. Emotion-Recognition-Based Adjustment Measures
[0878] If the emotion engine detects stress or confusion in the user, it will adjust the content and format of the information provided, providing feedback such as presenting it in a concise and easy-to-understand format.
[0879] Specific examples
[0880] For example, if a user inputs the Excel function "SUM," the server converts "SUM" into a "Math Formula" node and displays the setting method in natural language: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0881] Prompt Sentence Examples
[0882] “If users are confused, please simplify the explanation even further. Generate a simplified document detailing the Excel functions and how to configure KNIME.”
[0883] This system allows users to intuitively map Excel functions to KNIME operations, and also presents information that takes users' emotions into consideration, significantly improving work efficiency.
[0884] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0885] Step 1:
[0886] A user uses a smartphone application to input an Excel function into the operation interface. The input function is in the form of "SUM." The input at this point is the function data from the user.
[0887] Step 2:
[0888] The device receives Excel function data entered by the user. This data is then sent from the device to the server via the Internet. Specifically, the smartphone app sends an HTTP request to the server, and the payload contains the function name entered by the user.
[0889] Step 3:
[0890] The server analyzes the received Excel function data. Here, natural language processing is performed using a generative AI model to understand the meaning of "SUM." The input for the analysis is the received function data, and the output is the specific information of the analyzed function (e.g., addition function).
[0891] Step 4:
[0892] The server searches the database for the corresponding data processing node based on the analysis results. The database stores mapping information between Excel functions and the corresponding data processing nodes. The input is the specific information of the analyzed function, and the output is the specific information of the corresponding data processing node (e.g., "Math Formula" node).
[0893] Step 5:
[0894] The server retrieves the setting method of the data processing node identified as a search result from the database. Here, detailed information about the setting method is obtained. The input is the data processing node of the search result, and the output is the detailed setting method of that node.
[0895] Step 6:
[0896] The server converts the acquired configuration instructions into natural language. In this natural language generation step, the configuration instructions are generated as text in a format that is easy for users to understand. The input is the configuration instructions for the data processing node, and the output is the text converted into natural language (e.g., "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column").
[0897] Step 7:
[0898] The server uses an emotion engine to recognize the user's emotional state in real time. In this step, the emotional state is estimated by analyzing the user's operation log and input patterns. The input is the user's operation data, and the output is the estimated emotional state.
[0899] Step 8:
[0900] The server adjusts the content and format of the information presented based on the estimated emotional state. For example, if it senses that the user is under stress, it will modify the explanation to be more concise and easy to understand. The input is the emotion estimation result, and the output is the adjusted information content.
[0901] Step 9:
[0902] The server sends the adjusted natural language setting instructions to the user's device. The user can then check the converted setting instructions through a smartphone app. The input is the adjusted information content, and the output is the information presented to the user.
[0903] By following the above steps, users can easily map Excel functions to the data processing platform and receive information that takes their emotions into consideration, enabling them to process data efficiently and comfortably.
[0904] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0905] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0906] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0907] [Third embodiment]
[0908] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0909] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0910] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0911] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0912] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0913] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0914] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0915] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0916] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0917] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0918] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0919] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0920] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language.
[0921] Overall system overview
[0922] The system consists of the following main components:
[0923] User input method
[0924] A means of receiving input data
[0925] A means of analyzing the data
[0926] A means of locating data processing nodes
[0927] A means of translating configuration instructions into natural language
[0928] A means of presenting information to the user
[0929] System Embodiments
[0930] Overall system flow
[0931] 1. User Input Method
[0932] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[0933] For example, the user enters "SUM".
[0934] 2. Means of receiving input data
[0935] The server receives the name of the Excel function entered by the user.
[0936] The received data is stored in an internal data structure.
[0937] 3. Methods for analyzing data
[0938] The server analyzes the received data "SUM" and understands its contents.
[0939] The next step of processing will proceed based on the analyzed data.
[0940] 4. How to search for data processing nodes
[0941] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[0942] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[0943] 5. A means of translating configuration instructions into natural language
[0944] The server retrieves the setting method of the "Math Formula" Node from the database and converts the information into natural language.
[0945] For example, it would be translated as "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0946] 6. How information is presented to the user
[0947] The server returns the setting instructions converted into natural language to the user.
[0948] A message is displayed on the user's terminal.
[0949] Specific examples
[0950] Below is an example of using Excel's "AVERAGE" function in KNIME.
[0951] 1. User Input Method
[0952] The user enters "AVERAGE" into the system's input form.
[0953] 2. Means of receiving input data
[0954] The server receives the data "AVERAGE".
[0955] 3. Methods for analyzing data
[0956] The server parses the "AVERAGE" function and understands its meaning.
[0957] 4. How to search for data processing nodes
[0958] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[0959] 5. A means of translating configuration instructions into natural language
[0960] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0961] 6. How information is presented to the user
[0962] The server sends the converted setting method to the user's terminal so that the user can check it.
[0963] For example, the terminal might display the message, "The AVERAGE function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[0964] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The implementation of the invention is realized by the necessary hardware and software components working together.
[0965] The processing flow will be explained below.
[0966] Step 1:
[0967] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[0968] Step 2:
[0969] The terminal sends the name of the Excel function entered by the user to the server.
[0970] Step 3:
[0971] The server stores the received Excel function "SUM" in an internal data structure.
[0972] Step 4:
[0973] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[0974] Step 5:
[0975] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[0976] Step 6:
[0977] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0978] Step 7:
[0979] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[0980] Step 8:
[0981] The server transmits the setting method converted into natural language to the user's terminal.
[0982] Step 9:
[0983] The device will display the received settings on the screen, and the user can check the displayed information and apply it to KNIME operations.
[0984] Step 10:
[0985] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[0986] This series of steps allows users to automatically replace Excel functions with operations in KNIME.
[0987] Example 1
[0988] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0989] In conventional data processing systems, when users wanted to use Excel functions on other data processing platforms, they had to manually convert and configure the corresponding data processing nodes, which was a cumbersome process. This increased the amount of work required, increased the risk of inaccurate configuration, and reduced data processing efficiency.
[0990] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0991] In this invention, the server includes an information input means for user operation, a means for receiving the input information, a means for analyzing the received information and searching for corresponding data processing elements, and a means for converting the search results into natural language and presenting them to the user. This allows users to easily use Excel functions on other data processing platforms, eliminating the need for setup and improving data processing efficiency.
[0992] A "user" is an entity that operates the system and inputs information.
[0993] "Information input means" refers to an interface device that allows a user to input Excel functions and other data processing information.
[0994] The "means for receiving information" is a device that receives input information on the server side and stores it in an internal data structure.
[0995] The "means for analyzing received information" is a device that analyzes received information, understands its contents, and proceeds to the next processing step.
[0996] The "means for searching for data processing elements" is a device that searches for corresponding data processing elements (nodes or functions) from a database or rule set based on the analyzed information.
[0997] The "means for converting search results into natural language" is a device that acquires the setting information of the searched data processing elements and converts it into natural language.
[0998] The "information storage unit" is a database or storage system that stores detailed information such as setting methods and data processing elements.
[0999] "Data processing functions" refers to Excel functions and other calculation and processing functions.
[1000] A "means for selecting" is a device that identifies the most suitable data processing element based on information entered by a user.
[1001] This invention is a system that automatically converts Excel functions into corresponding data processing elements when a user uses them on other data processing platforms, and presents the setting instructions to the user in natural language. This system consists of the following main components:
[1002] 1. Information input method
[1003] The user inputs the names of Excel functions and other data processing information through this information input means, which may be an input device such as a web interface or an application.
[1004] 2. Means of receiving information
[1005] The server receives the information entered by the user. This is done using web server software to process the HTTP request, such as Apache or nginx, or an associated Python framework (such as Flask or Django). The received information is stored in the server's internal data structures.
[1006] 3. Means of analyzing received information
[1007] The server parses the received information to understand its contents. This parsing process uses programming libraries such as Python's regular expression library, re. The results of the analysis are stored in the server's internal data structures in preparation for the next step.
[1008] 4. Means of searching for data processing elements
[1009] The server uses the parsed information to search for the corresponding data processing element, using a database (e.g., SQLite or PostgreSQL) or a predefined set of rules, and identifies the appropriate data processing element, such as a KNIME "Math Formula" node.
[1010] 5. A means of converting search results into natural language and presenting them to the user
[1011] The server retrieves the configuration information for the searched data processing element from the database and converts it into natural language using natural language generation libraries such as spaCy and the generative AI model GPT-3. The converted configuration information is sent to the user's device as an HTTP response and displayed as an appropriate message.
[1012] Specific examples
[1013] Below is a concrete example of how to use Excel's "AVERAGE" function in KNIME.
[1014] 1. User input steps
[1015] The user enters the function name "AVERAGE" into the system's web form and presses the submit button.
[1016] 2. Procedure for the server to receive information
[1017] The server receives the data "AVERAGE" sent from the user's terminal and stores it in an internal data structure.
[1018] 3. How the server analyzes the information
[1019] The server uses the regular expression library (re) to parse the "AVERAGE" function name.
[1020] 4. How the Server Finds the Data Processing Element
[1021] The server queries the database to identify the KNIME data processing element (the "Math Formula" node) that corresponds to "AVERAGE".
[1022] 5. How the server translates search results into natural language
[1023] The server uses a natural language generation library to convert the configuration method of the "Math Formula" node into natural language, and concludes that "use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1024] 6. How the server presents information
[1025] The server generates the converted setting information as an HTTP response and sends it to the user's terminal. The terminal displays the following message: "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1026] Prompt Sentence Examples
[1027] "Convert the Excel SUM function into a corresponding node in KNIME and show me in natural language how to set it up."
[1028] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1029] Step 1:
[1030] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM." At this stage, the input is the Excel function name "SUM," and the output is the data that is sent to the server as an HTTP request.
[1031] Step 2:
[1032] The server receives an HTTP request sent from the user's device. Specifically, the request is passed to a Python framework (such as Flask or Django) via web server software such as Apache or nginx. The received data is stored as the string "SUM" in an internal data structure (such as a Python dictionary).
[1033] Step 3:
[1034] The server analyzes the received data "SUM". Here, it uses the Python regular expression library "re" to check the contents of the data and obtain the analysis result. The input is the function name "SUM", and the output is the analyzed function name "SUM". The analysis result is saved in the server's internal data structure.
[1035] Step 4:
[1036] The server uses the parsed data "SUM" to search for the corresponding data processing element in the database. Here, it connects to a database such as SQLite or PostgreSQL and searches for a node corresponding to "SUM" (e.g., KNIME's "Math Formula" node). The input is the parsed function name "SUM" and the output is the identified data processing element "Math Formula" node. This search result is also stored in the server's internal data structure.
[1037] Step 5:
[1038] The server obtains the configuration of the identified data processing element and converts it into natural language. It obtains the configuration of the "Math Formula" node from the database and converts it into "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column" using a natural language generation library (e.g., spaCy or GPT-3). The input is the configuration information of the "Math Formula" node, and the output is the configuration described in natural language.
[1039] Step 6:
[1040] The server generates an HTTP response with the configuration instructions converted into natural language and sends it to the user's device. Specifically, it generates a message stating, "The SUM function can be implemented using KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." The input is the configuration instructions written in natural language, and the output is the message displayed on the user's device.
[1041] Step 7:
[1042] The user's terminal receives the HTTP response sent from the server and displays its contents. The user can confirm the configuration method written in natural language on the terminal and easily configure the data processing platform. The input is the HTTP response from the server, and the output is the message displayed to the user.
[1043] (Application example 1)
[1044] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1045] With conventional industrial machines, specialized knowledge is required to efficiently perform complex data processing, and setting up and running the data processing node is time-consuming. Furthermore, when directly using Excel functions to process data, it is difficult to intuitively understand how to set up the industrial machine to achieve this. This results in complicated data processing procedures and reduced work efficiency.
[1046] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1047] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for presenting setting information and execution methods for the data processing node to the user. This allows the user to intuitively perform data processing based on Excel functions on industrial machines, improving work efficiency.
[1048] "Input means for user operation" refers to an interface that allows a user to input instructions to an industrial machine, and generally refers to devices such as a keyboard or touch screen.
[1049] "Means for receiving input data" refers to the mechanism that collects information input by the user and transfers it within the system.
[1050] The "means for analyzing received data and searching for a corresponding data processing node" is a mechanism for understanding input data and carrying out a process for identifying the most suitable data processing function based on that data.
[1051] "Means for converting search results into natural language and presenting them to the user" refers to a method for expressing the configuration information of the identified data processing node in simple language and conveying it to the user visually or audibly.
[1052] "Means for presenting the setting information and execution method of the data processing node to the user" refers to a mechanism for displaying the setting method of the data processing node and its execution procedure in a format that is easy for the user to understand.
[1053] "Means of obtaining from a database" refers to the process of accessing a database within the system and searching for and obtaining the necessary setting information and execution methods.
[1054] "Specific data processing functions" refers to standard formulas and functions used in spreadsheet applications such as Excel.
[1055] "Means for controlling data processing operations by industrial machines" refers to a control mechanism that issues instructions to machines in a factory to perform appropriate operations based on input data.
[1056] This invention describes a system that enables intuitive data processing based on Excel functions in industrial machines. Specific embodiments for carrying out this invention are described below.
[1057] The server has a wide range of responsibilities, but some of its most important components include:
[1058] 1. Input means for user operation
[1059] Users input Excel functions using an interface (e.g., a touchscreen panel) connected to the industrial machine, providing a user experience similar to that of spreadsheet applications for users familiar with the technology.
[1060] 2. Means of receiving input data
[1061] A server connected to the industrial machine receives the Excel function name entered by the user and stores it in an internal data structure. The server processes this data in real time and responds immediately to the user's request.
[1062] 3. A means of analyzing the received data
[1063] The server parses the received function name (e.g., "SUM") and understands its meaning. This analysis uses a generative AI model and includes processing to achieve a high level of understanding of the function's meaning.
[1064] 4. How to search for data processing nodes
[1065] The server refers to an internal database or rule set to identify the data processing node of the industrial machine that corresponds to the parsed function, for example, for the "SUM" function, the "Math Formula" node is identified.
[1066] 5. A means of converting search results into natural language and presenting them to the user
[1067] The server converts the configuration information and execution method of the identified data processing node into natural language and presents it to the user in the form of, for example, "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1068] 6. Means for presenting the user with configuration information and execution methods for the data processing node
[1069] The server sends the converted configuration information to the user's terminal, where the user can confirm it. The user's terminal displays the following message: "The SUM function can be achieved with Math Formula Node. Please set it as follows: Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1070] Hardware and software used
[1071] In this invention, the following hardware and software are used in each step:
[1072] Hardware
[1073] Industrial Machinery
[1074] User interface devices (touchscreen panels, keyboards)
[1075] server
[1076] software
[1077] KNIME and other data processing platforms
[1078] Generative AI Models
[1079] Specific examples
[1080] If a user wants to calculate the total cost of a part, the following embodiment is possible.
[1081] 1. A user types "SUM" into the interface of an industrial machine.
[1082] 2. The server receives and parses this input.
[1083] 3. The server identifies the "Math Formula" node that corresponds to the "SUM" function.
[1084] 4. The server converts the identified configuration information into natural language and presents it to the user.
[1085] 5. The industrial machine screen will display the following instruction: "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1086] Prompt Sentence Examples
[1087] "What Excel function should I use to calculate the total cost of parts for an industrial machine?"
[1088] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1089] Step 1:
[1090] The user inputs an Excel function (e.g., "SUM") into the input interface of an industrial machine. At this stage, the user inputs data using a touchscreen or keyboard. The input data is sent to the next step.
[1091] Step 2:
[1092] The server receives the user input. Here, the input data "SUM" is sent to the server and stored in an internal database. The received data is sent to the analysis process.
[1093] Step 3:
[1094] The server parses the received data. It uses a generative AI model to parse the "SUM" function and understand its meaning. This process determines what the function does and passes the result to the next step.
[1095] Step 4:
[1096] Based on the analysis results, the server searches the database for the corresponding data processing node. For example, the "SUM" function corresponds to the "Math Formula" node. This search is performed by referring to the internal database to identify the corresponding node.
[1097] Step 5:
[1098] The server converts the configuration information and execution method of the identified data processing node into natural language. For example, it may be in the form of "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." This natural language conversion is done in a form that users can intuitively understand.
[1099] Step 6:
[1100] The server presents the configuration information and execution instructions converted into natural language to the user's device. The converted message is displayed on the user's device, allowing the user to confirm and execute the configuration. Specifically, the message displayed is, "The SUM function can be implemented using a Math Formula Node. Please set it as follows: Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1101] Step 7:
[1102] The system performs data processing for industrial machines based on the configuration information provided by the user. The user operates the industrial machines according to instructions in natural language provided by the server, and performs the specified data processing. This results in specific processing results such as the total cost of parts.
[1103] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1104] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language. Furthermore, this invention aims to improve the user experience by combining it with an emotion engine that recognizes the user's emotions.
[1105] Overall system overview
[1106] The system consists of the following main components:
[1107] User input method
[1108] A means of receiving input data
[1109] A means of analyzing the data
[1110] A means of locating data processing nodes
[1111] A means of translating configuration instructions into natural language
[1112] A means of presenting information to the user
[1113] Emotion engine that recognizes user emotions
[1114] A means of tailoring information based on user emotions
[1115] System Embodiments
[1116] Overall system flow
[1117] 1. User Input Method
[1118] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[1119] For example, the user enters "SUM".
[1120] 2. Means of receiving input data
[1121] The terminal sends the name of the Excel function entered by the user to the server.
[1122] The server stores the received Excel function "SUM" in an internal data structure.
[1123] 3. Methods for analyzing data
[1124] The server analyzes the received data "SUM" and understands its contents.
[1125] The analyzed data becomes key information for identifying the data processing node.
[1126] 4. How to search for data processing nodes
[1127] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[1128] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[1129] 5. A means of translating configuration instructions into natural language
[1130] The server retrieves the setting method for the "Math Formula" node from the database.
[1131] The setting method obtained is "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1132] The server translates this configuration into natural language.
[1133] 6. Emotion Recognition by Emotion Engine
[1134] The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[1135] If the emotion engine senses stress or confusion in the user, it will adjust the content and format of the information presented.
[1136] 7. How information is presented to the user
[1137] The server transmits the setting method converted into natural language to the user's terminal.
[1138] For example, it says, "The SUM function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1139] Configuration example
[1140] Below is an example of using Excel's "AVERAGE" function in KNIME.
[1141] 1. User Input Method
[1142] The user enters "AVERAGE" into the system's input form.
[1143] 2. Means of receiving input data
[1144] The terminal sends the entered data "AVERAGE" to the server.
[1145] The server receives the data "AVERAGE".
[1146] 3. Methods for analyzing data
[1147] The server parses the "AVERAGE" function and understands its meaning.
[1148] 4. How to search for data processing nodes
[1149] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[1150] 5. A means of translating configuration instructions into natural language
[1151] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1152] 6. Emotion Recognition by Emotion Engine
[1153] The server infers the user's emotion from the pattern they follow when typing "AVERAGE." For example, if the user repeatedly tries and fails, the emotion engine will detect stress.
[1154] If the emotion engine detects stress, it provides a simpler explanation to the user.
[1155] 7. How information is presented to the user
[1156] The server sends the converted setting method to the user's terminal so that the user can check it.
[1157] For example, it says, "The AVERAGE function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1158] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions. The implementation of this invention is realized by the necessary hardware and software components working together.
[1159] The processing flow will be explained below.
[1160] Step 1:
[1161] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[1162] Step 2:
[1163] The terminal sends the name of the Excel function entered by the user, "SUM," to the server.
[1164] Step 3:
[1165] The server stores the received Excel function "SUM" in an internal data structure.
[1166] Step 4:
[1167] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[1168] Step 5:
[1169] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[1170] Step 6:
[1171] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1172] Step 7:
[1173] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1174] Step 8:
[1175] The emotion engine monitors the user's input patterns and behavior in real time and estimates the user's emotions. For example, it determines that the user is feeling stressed based on repeated input errors or the length of time spent operating the device.
[1176] Step 9:
[1177] Based on the information from the emotion engine, the server adjusts the content and format of the information it presents to users if they are feeling stressed, for example by converting it into more concise and easy-to-understand language.
[1178] Step 10:
[1179] The server transmits the setting method converted into natural language to the user's terminal.
[1180] Step 11:
[1181] The device displays the received settings on the screen, allowing the user to confirm the details and apply them to KNIME operations.
[1182] Step 12:
[1183] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[1184] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions.
[1185] Example 2
[1186] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1187] In conventional data processing systems, when users convert Excel functions into data processing nodes, it is difficult to understand and configure the settings, which hinders efficient data processing.In addition, there is a lack of functionality to provide appropriate support depending on the user's emotional state, and an improvement in the user experience is required.
[1188] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1189] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for recognizing the user's emotions and adjusting information. This allows the user to easily convert Excel functions into data processing nodes, and further makes it possible to present information according to the user's emotions using an emotion engine.
[1190] A "user" is an entity that operates the system and provides input data.
[1191] The "input means" is an interface that is operated by the user to input data.
[1192] The "receiving means" is a device or module that receives data transmitted from the input means.
[1193] An "analysis means" is a method or device for understanding received data and analyzing its content.
[1194] The "searching means" is a method or device for searching for a corresponding data processing node based on the content understood by the analyzing means.
[1195] The "means for converting into natural language" is a method or device for converting the results obtained from the search means into a natural language that is easy for the user to understand.
[1196] A "presentation means" is a method or device for displaying or providing information converted into natural language to a user.
[1197] A "means for recognizing emotions and adjusting information" is a method or device for recognizing a user's emotional state and adjusting the content and format of the information presented accordingly.
[1198] A "data processing node" is an independent component or module for performing specific data processing.
[1199] The "means for acquiring the setting method" is a method or device for acquiring the setting method of the data processing node from a database or the like.
[1200] A "data processing function" is a functional expression used to perform a particular calculation or process.
[1201] System Overview
[1202] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform, and presents the setting instructions to the user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, we aim to improve the user experience.
[1203] Hardware and software used
[1204] Hardware: Server, user devices (PC, smartphone)
[1205] Software: Data processing platform (e.g., KNIME), emotion recognition engine, web interface, database
[1206] Specific explanation
[1207] User input method
[1208] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, if a user enters the "SUM" function, this input is sent from the user's terminal.
[1209] Data reception and analysis
[1210] The terminal sends the Excel function name ("SUM") entered by the user to the server. The server receives this data and stores the name of the Excel function in an internal data structure. The server then analyzes the received data and uses analytical means to understand its contents. Through analysis, the server realizes that "SUM" is a function that calculates a sum.
[1211] Finding Data Processing Nodes
[1212] The server refers to the database and rule set to search for a data processing node in the data processing platform that corresponds to the parsed Excel function ("SUM"). For example, it identifies the "Math Formula" Node as the KNIME data processing node that corresponds to the "SUM" function.
[1213] Natural language translation of setting methods
[1214] The server retrieves the configuration instructions for the identified KNIME "Math Formula" Node from the database. The retrieved configuration instructions are technical descriptions, so they are converted into natural language that is easy for users to understand. For example, it might be translated as "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1215] Emotion recognition by emotion engine
[1216] The server uses an emotion engine to infer emotions in real time from the user's input patterns and behavior. For example, if a user repeatedly tries and fails to enter a function name, the emotion engine will sense the user's stress or confusion. If the emotion engine detects stress, the server will adjust the information it presents to be more concise and friendly.
[1217] Information presentation means
[1218] The server sends the configuration instructions converted into natural language to the user's device, and the device displays this information to the user. For example, it displays the following message: "The SUM function can be realized with KNIME's Math Formula Node. Please set it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1219] Specific examples
[1220] Example of using Excel's "AVERAGE" function in KNIME
[1221] 1. User Input Method
[1222] The user enters "AVERAGE" into the system's input form.
[1223] 2. Data Receipt and Analysis
[1224] The terminal sends the entered data "AVERAGE" to the server.
[1225] The server receives the data "AVERAGE" and analyzes it.
[1226] 3. Finding the Data Processing Node
[1227] The server searches for the KNIME node corresponding to "AVERAGE" and identifies the "Math Formula" node.
[1228] 4. Natural language translation of setting methods
[1229] The server converts the setting method of the "Math Formula" Node into natural language.
[1230] This translates to "Use a Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1231] 5. Emotion Recognition by Emotion Engine
[1232] If the user types "AVERAGE" repeatedly, the emotion engine will sense stress.
[1233] If the emotion engine detects stress, the server provides a more concise explanation.
[1234] 6. Information presentation means
[1235] The server sends the setting instructions converted into natural language to the user's device, and the device displays the message, "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1236] Example prompts to input to the generative AI model
[1237] "Convert the user-entered Excel function 'AVERAGE' into a KNIME Math Formula Node and explain it in natural language."
[1238] "Please consider the user's frustration and keep the setup instructions simple."
[1239] The system allows users to efficiently transform Excel functions into data processing nodes and utilize an emotion engine to improve the user experience.
[1240] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1241] Step 1:
[1242] Input means for user operation
[1243] Description: A user uses the system's web interface or an application to enter the name of an Excel function they want to convert.
[1244] Specific behavior: The user enters "SUM" and clicks the submit button.
[1245] Input: The Excel function name entered by the user (e.g. "SUM").
[1246] Output: The request sent by the device to the server.
[1247] Step 2:
[1248] A means by which the terminal sends input data to the server
[1249] Description: The terminal sends the Excel function ("SUM") entered by the user to the server.
[1250] Specific operation: The terminal receives user input and sends it as an HTTP request.
[1251] Input: The Excel function name entered by the user ("SUM").
[1252] Output: The request sent to the server.
[1253] Step 3:
[1254] How the server receives and analyzes the data
[1255] Description: The server parses the data it receives and processes it to understand its contents.
[1256] Specific operation: The server receives the HTTP request, extracts the function name "SUM", and analyzes it.
[1257] Input: HTTP request sent from the terminal (Excel function name "SUM").
[1258] Output: Parsed Excel function content ("SUM is a function that calculates the sum").
[1259] Step 4:
[1260] A means by which the server searches for a corresponding data processing node
[1261] Description: The server consults the database and ruleset to find and identify the data processing node that corresponds to the parsed Excel function.
[1262] Specific operation: The server searches the database and identifies the "Math Formula" Node corresponding to "SUM".
[1263] Input: Parsed Excel function content ("SUM is a function that calculates the sum").
[1264] Output: The corresponding data processing node ("Math Formula" Node).
[1265] Step 5:
[1266] A means for the server to translate configuration instructions into natural language
[1267] Description: The server retrieves the configuration instructions for the identified data processing node from the database and converts them into natural language.
[1268] Specific operation: The server retrieves the setting method of the "Math Formula" Node from the database and converts it into natural language.
[1269] Input: The identified data processing node ("Math Formula" Node).
[1270] Output: How to set it up, translated into natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[1271] Step 6:
[1272] A means for the server to recognize emotions using an emotion engine
[1273] Description: The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[1274] What it does: The emotion engine analyzes the user's input history and detects stress or confusion.
[1275] Input: User input patterns and behavior.
[1276] Output: Emotion recognition result (e.g., stress).
[1277] Step 7:
[1278] A means by which the server sends and displays information to the terminal
[1279] Description: The server sends the configuration instructions converted into natural language to the user's terminal, and the terminal displays this information to the user.
[1280] Specific operation: The server sends the converted setting method to the terminal as an HTTP response, and the terminal displays it.
[1281] Input: How to set it up in natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[1282] Output: A description to be displayed to the user (e.g., "The SUM function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input columns.").
[1283] (Application example 2)
[1284] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1285] In conventional data processing systems, users must manually select and configure data processing nodes, which requires a great deal of effort and specialized knowledge. Furthermore, because they do not take into account the user's feelings or stress, some operations are complicated, difficult to use, and prone to errors. This can significantly reduce efficiency, especially when using factory robots or performing complex tasks.
[1286] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1287] In this invention, the server includes an input means, a means for receiving input data, a means for analyzing the received data and searching for a corresponding data processing node, a means for converting the search results into natural language and presenting them to the user, and a means for recognizing the user's emotions and adjusting the content of the presentation. As a result, the user only needs to input an Excel function, and the corresponding data processing node is automatically identified, detailed setting instructions can be understood in natural language, and feedback according to the user's emotional state is provided, thereby improving the efficiency and comfort of operation.
[1288] The "input means for user operation" is an interface that allows the user to input operations and instructions to the system.
[1289] The "means for receiving input data" refers to a method or device for taking data input by a user into the system.
[1290] The "means for analyzing received data and searching for a corresponding data processing node" is a process or device for analyzing input data and identifying a data processing node suitable for that data.
[1291] "Means for converting search results into natural language and presenting them to the user" refers to a method or device for converting information obtained by a search into a natural language that is easy for the user to understand and displaying it.
[1292] "Means for recognizing a user's emotions and adjusting the content presented" refers to a method or device for detecting a user's emotional state and optimizing the information presented accordingly.
[1293] The "means for acquiring the setting method of the data processing node from the database" is a process or device for acquiring the specific setting method of the data processing node from the database.
[1294] "Means for selecting a corresponding data processing node when data entered by a user is a specific data processing function" refers to a method or device for selecting a dedicated data processing node corresponding to the specific data processing function entered by a user.
[1295] This invention is a system that automatically converts Excel functions entered by a user into corresponding data processing nodes when used on a data processing platform, and presents them to the user in natural language. It also aims to improve usability by recognizing the user's emotions and presenting appropriate information according to those emotions.
[1296] Overall system overview
[1297] The system includes the following major components:
[1298] 1. Input method: The interface through which the user inputs Excel functions. Specifically, a smartphone app is assumed.
[1299] 2. Data reception means: A method for receiving data entered by the user. It has the function of sending data from the smartphone app to the server.
[1300] 3. Data analysis means: An engine that analyzes the received data and understands its contents, using generative AI models, etc.
[1301] 4. Data processing node search means: Based on the analyzed data, the corresponding data processing node is searched for in the database.
[1302] 5. Natural language conversion means: An engine that converts the search result settings into natural language and presents them to the user.
[1303] 6. Emotion Recognition: An emotion engine that recognizes the user's emotions in real time.
[1304] 7. Emotion-recognition-based adjustment measures: Adjust the content and format of the information presented according to the user's emotional state.
[1305] System Embodiments
[1306] 1. User Input Method
[1307] Through the user interface of the smartphone app, the user inputs the name of the Excel function they want to convert. For example, consider the case where the user inputs "SUM".
[1308] 2. Data Receiving Method
[1309] The Excel formulas entered by the user through the smartphone app are sent in real time to the server, which receives the data and stores it in its internal data structure.
[1310] 3. Data Analysis Methods
[1311] The server analyzes the received data and identifies the functions that correspond to specific data processing nodes, for example, analyzing "SUM" and understanding that it is an addition function.
[1312] 4. Data Processing Node Search Method
[1313] The server refers to the database and searches for a data processing node that corresponds to the parsed Excel function, and then searches for a specific data processing node that corresponds to "SUM," for example, the "Math Formula" node.
[1314] 5. Natural Language Conversion Methods
[1315] The server converts the configuration instructions retrieved from the database into natural language and presents them to the user. For example, it generates a sentence such as "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1316] 6. Emotion recognition means
[1317] The server equipped with an emotion engine estimates the user's emotions in real time based on their input patterns and behavior. For example, if the user repeatedly tries and fails, it can detect stress.
[1318] 7. Emotion-Recognition-Based Adjustment Measures
[1319] If the emotion engine detects stress or confusion in the user, it will adjust the content and format of the information provided, providing feedback such as presenting it in a concise and easy-to-understand format.
[1320] Specific examples
[1321] For example, if a user inputs the Excel function "SUM," the server converts "SUM" into a "Math Formula" node and displays the setting method in natural language: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1322] Prompt Sentence Examples
[1323] “If users are confused, please simplify the explanation even further. Generate a simplified document detailing the Excel functions and how to configure KNIME.”
[1324] This system allows users to intuitively map Excel functions to KNIME operations, and also presents information that takes users' emotions into consideration, significantly improving work efficiency.
[1325] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1326] Step 1:
[1327] A user uses a smartphone application to input an Excel function into the operation interface. The input function is in the form of "SUM." The input at this point is the function data from the user.
[1328] Step 2:
[1329] The device receives Excel function data entered by the user. This data is then sent from the device to the server via the Internet. Specifically, the smartphone app sends an HTTP request to the server, and the payload contains the function name entered by the user.
[1330] Step 3:
[1331] The server analyzes the received Excel function data. Here, natural language processing is performed using a generative AI model to understand the meaning of "SUM." The input for the analysis is the received function data, and the output is the specific information of the analyzed function (e.g., addition function).
[1332] Step 4:
[1333] The server searches the database for the corresponding data processing node based on the analysis results. The database stores mapping information between Excel functions and the corresponding data processing nodes. The input is the specific information of the analyzed function, and the output is the specific information of the corresponding data processing node (e.g., "Math Formula" node).
[1334] Step 5:
[1335] The server retrieves the setting method of the data processing node identified as a search result from the database. Here, detailed information about the setting method is obtained. The input is the data processing node of the search result, and the output is the detailed setting method of that node.
[1336] Step 6:
[1337] The server converts the acquired configuration instructions into natural language. In this natural language generation step, the configuration instructions are generated as text in a format that is easy for users to understand. The input is the configuration instructions for the data processing node, and the output is the text converted into natural language (e.g., "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column").
[1338] Step 7:
[1339] The server uses an emotion engine to recognize the user's emotional state in real time. In this step, the emotional state is estimated by analyzing the user's operation log and input patterns. The input is the user's operation data, and the output is the estimated emotional state.
[1340] Step 8:
[1341] The server adjusts the content and format of the information presented based on the estimated emotional state. For example, if it senses that the user is under stress, it will modify the explanation to be more concise and easy to understand. The input is the emotion estimation result, and the output is the adjusted information content.
[1342] Step 9:
[1343] The server sends the adjusted natural language setting instructions to the user's device. The user can then check the converted setting instructions through a smartphone app. The input is the adjusted information content, and the output is the information presented to the user.
[1344] By following the above steps, users can easily map Excel functions to the data processing platform and receive information that takes their emotions into consideration, enabling them to process data efficiently and comfortably.
[1345] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1346] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1347] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1348] [Fourth embodiment]
[1349] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1350] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1351] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1352] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1353] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1354] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1355] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1356] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1357] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1358] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1359] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1360] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1361] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1362] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language.
[1363] Overall system overview
[1364] The system consists of the following main components:
[1365] User input method
[1366] A means of receiving input data
[1367] A means of analyzing the data
[1368] A means of locating data processing nodes
[1369] A means of translating configuration instructions into natural language
[1370] A means of presenting information to the user
[1371] System Embodiments
[1372] Overall system flow
[1373] 1. User Input Method
[1374] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[1375] For example, the user enters "SUM".
[1376] 2. Means of receiving input data
[1377] The server receives the name of the Excel function entered by the user.
[1378] The received data is stored in an internal data structure.
[1379] 3. Methods for analyzing data
[1380] The server analyzes the received data "SUM" and understands its contents.
[1381] The next step of processing will proceed based on the analyzed data.
[1382] 4. How to search for data processing nodes
[1383] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[1384] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[1385] 5. A means of translating configuration instructions into natural language
[1386] The server retrieves the setting method of the "Math Formula" Node from the database and converts the information into natural language.
[1387] For example, it would be translated as "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1388] 6. How information is presented to the user
[1389] The server returns the setting instructions converted into natural language to the user.
[1390] A message is displayed on the user's terminal.
[1391] Specific examples
[1392] Below is an example of using Excel's "AVERAGE" function in KNIME.
[1393] 1. User Input Method
[1394] The user enters "AVERAGE" into the system's input form.
[1395] 2. Means of receiving input data
[1396] The server receives the data "AVERAGE".
[1397] 3. Methods for analyzing data
[1398] The server parses the "AVERAGE" function and understands its meaning.
[1399] 4. How to search for data processing nodes
[1400] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[1401] 5. A means of translating configuration instructions into natural language
[1402] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1403] 6. How information is presented to the user
[1404] The server sends the converted setting method to the user's terminal so that the user can check it.
[1405] For example, the terminal might display the message, "The AVERAGE function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1406] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The implementation of the invention is realized by the necessary hardware and software components working together.
[1407] The processing flow will be explained below.
[1408] Step 1:
[1409] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[1410] Step 2:
[1411] The terminal sends the name of the Excel function entered by the user to the server.
[1412] Step 3:
[1413] The server stores the received Excel function "SUM" in an internal data structure.
[1414] Step 4:
[1415] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[1416] Step 5:
[1417] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[1418] Step 6:
[1419] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1420] Step 7:
[1421] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1422] Step 8:
[1423] The server transmits the setting method converted into natural language to the user's terminal.
[1424] Step 9:
[1425] The device will display the received settings on the screen, and the user can check the displayed information and apply it to KNIME operations.
[1426] Step 10:
[1427] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[1428] This series of steps allows users to automatically replace Excel functions with operations in KNIME.
[1429] Example 1
[1430] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1431] In conventional data processing systems, when users wanted to use Excel functions on other data processing platforms, they had to manually convert and configure the corresponding data processing nodes, which was a cumbersome process. This increased the amount of work required, increased the risk of inaccurate configuration, and reduced data processing efficiency.
[1432] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1433] In this invention, the server includes an information input means for user operation, a means for receiving the input information, a means for analyzing the received information and searching for corresponding data processing elements, and a means for converting the search results into natural language and presenting them to the user. This allows users to easily use Excel functions on other data processing platforms, eliminating the need for setup and improving data processing efficiency.
[1434] A "user" is an entity that operates the system and inputs information.
[1435] "Information input means" refers to an interface device that allows a user to input Excel functions and other data processing information.
[1436] The "means for receiving information" is a device that receives input information on the server side and stores it in an internal data structure.
[1437] The "means for analyzing received information" is a device that analyzes received information, understands its contents, and proceeds to the next processing step.
[1438] The "means for searching for data processing elements" is a device that searches for corresponding data processing elements (nodes or functions) from a database or rule set based on the analyzed information.
[1439] The "means for converting search results into natural language" is a device that acquires the setting information of the searched data processing elements and converts it into natural language.
[1440] The "information storage unit" is a database or storage system that stores detailed information such as setting methods and data processing elements.
[1441] "Data processing functions" refers to Excel functions and other calculation and processing functions.
[1442] A "means for selecting" is a device that identifies the most suitable data processing element based on information entered by a user.
[1443] This invention is a system that automatically converts Excel functions into corresponding data processing elements when a user uses them on other data processing platforms, and presents the setting instructions to the user in natural language. This system consists of the following main components:
[1444] 1. Information input method
[1445] The user inputs the names of Excel functions and other data processing information through this information input means, which may be an input device such as a web interface or an application.
[1446] 2. Means of receiving information
[1447] The server receives the information entered by the user. This is done using web server software to process the HTTP request, such as Apache or nginx, or an associated Python framework (such as Flask or Django). The received information is stored in the server's internal data structures.
[1448] 3. Means of analyzing received information
[1449] The server parses the received information to understand its contents. This parsing process uses programming libraries such as Python's regular expression library, re. The results of the analysis are stored in the server's internal data structures in preparation for the next step.
[1450] 4. Means of searching for data processing elements
[1451] The server uses the parsed information to search for the corresponding data processing element, using a database (e.g., SQLite or PostgreSQL) or a predefined set of rules, and identifies the appropriate data processing element, such as a KNIME "Math Formula" node.
[1452] 5. A means of converting search results into natural language and presenting them to the user
[1453] The server retrieves the configuration information for the searched data processing element from the database and converts it into natural language using natural language generation libraries such as spaCy and the generative AI model GPT-3. The converted configuration information is sent to the user's device as an HTTP response and displayed as an appropriate message.
[1454] Specific examples
[1455] Below is a concrete example of how to use Excel's "AVERAGE" function in KNIME.
[1456] 1. User input steps
[1457] The user enters the function name "AVERAGE" into the system's web form and presses the submit button.
[1458] 2. Procedure for the server to receive information
[1459] The server receives the data "AVERAGE" sent from the user's terminal and stores it in an internal data structure.
[1460] 3. How the server analyzes the information
[1461] The server uses the regular expression library (re) to parse the "AVERAGE" function name.
[1462] 4. How the Server Finds the Data Processing Element
[1463] The server queries the database to identify the KNIME data processing element (the "Math Formula" node) that corresponds to "AVERAGE".
[1464] 5. How the server translates search results into natural language
[1465] The server uses a natural language generation library to convert the configuration method of the "Math Formula" node into natural language, and concludes that "use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1466] 6. How the server presents information
[1467] The server generates the converted setting information as an HTTP response and sends it to the user's terminal. The terminal displays the following message: "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1468] Prompt Sentence Examples
[1469] "Convert the Excel SUM function into a corresponding node in KNIME and show me in natural language how to set it up."
[1470] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1471] Step 1:
[1472] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM." At this stage, the input is the Excel function name "SUM," and the output is the data that is sent to the server as an HTTP request.
[1473] Step 2:
[1474] The server receives an HTTP request sent from the user's device. Specifically, the request is passed to a Python framework (such as Flask or Django) via web server software such as Apache or nginx. The received data is stored as the string "SUM" in an internal data structure (such as a Python dictionary).
[1475] Step 3:
[1476] The server analyzes the received data "SUM". Here, it uses the Python regular expression library "re" to check the contents of the data and obtain the analysis result. The input is the function name "SUM", and the output is the analyzed function name "SUM". The analysis result is saved in the server's internal data structure.
[1477] Step 4:
[1478] The server uses the parsed data "SUM" to search for the corresponding data processing element in the database. Here, it connects to a database such as SQLite or PostgreSQL and searches for a node corresponding to "SUM" (e.g., KNIME's "Math Formula" node). The input is the parsed function name "SUM" and the output is the identified data processing element "Math Formula" node. This search result is also stored in the server's internal data structure.
[1479] Step 5:
[1480] The server obtains the configuration of the identified data processing element and converts it into natural language. It obtains the configuration of the "Math Formula" node from the database and converts it into "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column" using a natural language generation library (e.g., spaCy or GPT-3). The input is the configuration information of the "Math Formula" node, and the output is the configuration described in natural language.
[1481] Step 6:
[1482] The server generates an HTTP response with the configuration instructions converted into natural language and sends it to the user's device. Specifically, it generates a message stating, "The SUM function can be implemented using KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." The input is the configuration instructions written in natural language, and the output is the message displayed on the user's device.
[1483] Step 7:
[1484] The user's terminal receives the HTTP response sent from the server and displays its contents. The user can confirm the configuration method written in natural language on the terminal and easily configure the data processing platform. The input is the HTTP response from the server, and the output is the message displayed to the user.
[1485] (Application example 1)
[1486] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1487] With conventional industrial machines, specialized knowledge is required to efficiently perform complex data processing, and setting up and running the data processing node is time-consuming. Furthermore, when directly using Excel functions to process data, it is difficult to intuitively understand how to set up the industrial machine to achieve this. This results in complicated data processing procedures and reduced work efficiency.
[1488] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1489] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for presenting setting information and execution methods for the data processing node to the user. This allows the user to intuitively perform data processing based on Excel functions on industrial machines, improving work efficiency.
[1490] "Input means for user operation" refers to an interface that allows a user to input instructions to an industrial machine, and generally refers to devices such as a keyboard or touch screen.
[1491] "Means for receiving input data" refers to the mechanism that collects information input by the user and transfers it within the system.
[1492] The "means for analyzing received data and searching for a corresponding data processing node" is a mechanism for understanding input data and carrying out a process for identifying the most suitable data processing function based on that data.
[1493] "Means for converting search results into natural language and presenting them to the user" refers to a method for expressing the configuration information of the identified data processing node in simple language and conveying it to the user visually or audibly.
[1494] "Means for presenting the setting information and execution method of the data processing node to the user" refers to a mechanism for displaying the setting method of the data processing node and its execution procedure in a format that is easy for the user to understand.
[1495] "Means of obtaining from a database" refers to the process of accessing a database within the system and searching for and obtaining the necessary setting information and execution methods.
[1496] "Specific data processing functions" refers to standard formulas and functions used in spreadsheet applications such as Excel.
[1497] "Means for controlling data processing operations by industrial machines" refers to a control mechanism that issues instructions to machines in a factory to perform appropriate operations based on input data.
[1498] This invention describes a system that enables intuitive data processing based on Excel functions in industrial machines. Specific embodiments for carrying out this invention are described below.
[1499] The server has a wide range of responsibilities, but some of its most important components include:
[1500] 1. Input means for user operation
[1501] Users input Excel functions using an interface (e.g., a touchscreen panel) connected to the industrial machine, providing a user experience similar to that of spreadsheet applications for users familiar with the technology.
[1502] 2. Means of receiving input data
[1503] A server connected to the industrial machine receives the Excel function name entered by the user and stores it in an internal data structure. The server processes this data in real time and responds immediately to the user's request.
[1504] 3. A means of analyzing the received data
[1505] The server parses the received function name (e.g., "SUM") and understands its meaning. This analysis uses a generative AI model and includes processing to achieve a high level of understanding of the function's meaning.
[1506] 4. How to search for data processing nodes
[1507] The server refers to an internal database or rule set to identify the data processing node of the industrial machine that corresponds to the parsed function, for example, for the "SUM" function, the "Math Formula" node is identified.
[1508] 5. A means of converting search results into natural language and presenting them to the user
[1509] The server converts the configuration information and execution method of the identified data processing node into natural language and presents it to the user in the form of, for example, "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1510] 6. Means for presenting the user with configuration information and execution methods for the data processing node
[1511] The server sends the converted configuration information to the user's terminal, where the user can confirm it. The user's terminal displays the following message: "The SUM function can be achieved with Math Formula Node. Please set it as follows: Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1512] Hardware and software used
[1513] In this invention, the following hardware and software are used in each step:
[1514] Hardware
[1515] Industrial Machinery
[1516] User interface devices (touchscreen panels, keyboards)
[1517] server
[1518] software
[1519] KNIME and other data processing platforms
[1520] Generative AI Models
[1521] Specific examples
[1522] If a user wants to calculate the total cost of a part, the following embodiment is possible.
[1523] 1. A user types "SUM" into the interface of an industrial machine.
[1524] 2. The server receives and parses this input.
[1525] 3. The server identifies the "Math Formula" node that corresponds to the "SUM" function.
[1526] 4. The server converts the identified configuration information into natural language and presents it to the user.
[1527] 5. The industrial machine screen will display the following instruction: "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1528] Prompt Sentence Examples
[1529] "What Excel function should I use to calculate the total cost of parts for an industrial machine?"
[1530] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1531] Step 1:
[1532] The user inputs an Excel function (e.g., "SUM") into the input interface of an industrial machine. At this stage, the user inputs data using a touchscreen or keyboard. The input data is sent to the next step.
[1533] Step 2:
[1534] The server receives the user input. Here, the input data "SUM" is sent to the server and stored in an internal database. The received data is sent to the analysis process.
[1535] Step 3:
[1536] The server parses the received data. It uses a generative AI model to parse the "SUM" function and understand its meaning. This process determines what the function does and passes the result to the next step.
[1537] Step 4:
[1538] Based on the analysis results, the server searches the database for the corresponding data processing node. For example, the "SUM" function corresponds to the "Math Formula" node. This search is performed by referring to the internal database to identify the corresponding node.
[1539] Step 5:
[1540] The server converts the configuration information and execution method of the identified data processing node into natural language. For example, it may be in the form of "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column." This natural language conversion is done in a form that users can intuitively understand.
[1541] Step 6:
[1542] The server presents the configuration information and execution instructions converted into natural language to the user's device. The converted message is displayed on the user's device, allowing the user to confirm and execute the configuration. Specifically, the message displayed is, "The SUM function can be implemented using a Math Formula Node. Please set it as follows: Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1543] Step 7:
[1544] The system performs data processing for industrial machines based on the configuration information provided by the user. The user operates the industrial machines according to instructions in natural language provided by the server, and performs the specified data processing. This results in specific processing results such as the total cost of parts.
[1545] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1546] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform such as KNIME, and presents the setting instructions to the user in natural language. Furthermore, this invention aims to improve the user experience by combining it with an emotion engine that recognizes the user's emotions.
[1547] Overall system overview
[1548] The system consists of the following main components:
[1549] User input method
[1550] A means of receiving input data
[1551] A means of analyzing the data
[1552] A means of locating data processing nodes
[1553] A means of translating configuration instructions into natural language
[1554] A means of presenting information to the user
[1555] Emotion engine that recognizes user emotions
[1556] A means of tailoring information based on user emotions
[1557] System Embodiments
[1558] Overall system flow
[1559] 1. User Input Method
[1560] Users use the system's web interface or an application to enter the name of the Excel function they want to convert.
[1561] For example, the user enters "SUM".
[1562] 2. Means of receiving input data
[1563] The terminal sends the name of the Excel function entered by the user to the server.
[1564] The server stores the received Excel function "SUM" in an internal data structure.
[1565] 3. Methods for analyzing data
[1566] The server analyzes the received data "SUM" and understands its contents.
[1567] The analyzed data becomes key information for identifying the data processing node.
[1568] 4. How to search for data processing nodes
[1569] The server references the database and ruleset to search for a KNIME data processing node that corresponds to the parsed Excel function "SUM."
[1570] In this case, the "Math Formula" node is identified as the KNIME node corresponding to "SUM".
[1571] 5. A means of translating configuration instructions into natural language
[1572] The server retrieves the setting method for the "Math Formula" node from the database.
[1573] The setting method obtained is "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1574] The server translates this configuration into natural language.
[1575] 6. Emotion Recognition by Emotion Engine
[1576] The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[1577] If the emotion engine senses stress or confusion in the user, it will adjust the content and format of the information presented.
[1578] 7. How information is presented to the user
[1579] The server transmits the setting method converted into natural language to the user's terminal.
[1580] For example, it says, "The SUM function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1581] Configuration example
[1582] Below is an example of using Excel's "AVERAGE" function in KNIME.
[1583] 1. User Input Method
[1584] The user enters "AVERAGE" into the system's input form.
[1585] 2. Means of receiving input data
[1586] The terminal sends the entered data "AVERAGE" to the server.
[1587] The server receives the data "AVERAGE".
[1588] 3. Methods for analyzing data
[1589] The server parses the "AVERAGE" function and understands its meaning.
[1590] 4. How to search for data processing nodes
[1591] The server searches the database for a KNIME node that corresponds to "AVERAGE" and identifies the "Math Formula" node as the corresponding node.
[1592] 5. A means of translating configuration instructions into natural language
[1593] The server obtains the configuration method of the "Math Formula" Node and converts it into natural language as "Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1594] 6. Emotion Recognition by Emotion Engine
[1595] The server infers the user's emotion from the pattern they follow when typing "AVERAGE." For example, if the user repeatedly tries and fails, the emotion engine will detect stress.
[1596] If the emotion engine detects stress, it provides a simpler explanation to the user.
[1597] 7. How information is presented to the user
[1598] The server sends the converted setting method to the user's terminal so that the user can check it.
[1599] For example, it says, "The AVERAGE function can be achieved with KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1600] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions. The implementation of this invention is realized by the necessary hardware and software components working together.
[1601] The processing flow will be explained below.
[1602] Step 1:
[1603] A user uses a system's web interface or application to enter the name of the Excel function they want to convert. For example, the user enters "SUM."
[1604] Step 2:
[1605] The terminal sends the name of the Excel function entered by the user, "SUM," to the server.
[1606] Step 3:
[1607] The server stores the received Excel function "SUM" in an internal data structure.
[1608] Step 4:
[1609] The server analyzes the received data "SUM" and understands its contents. The analyzed data becomes key information for identifying the data processing node.
[1610] Step 5:
[1611] The server refers to the database and ruleset to search for the KNIME data processing node that corresponds to the parsed Excel function "SUM." In this case, the "Math Formula" node is identified as the KNIME node that corresponds to "SUM."
[1612] Step 6:
[1613] The server retrieves the configuration instructions for using the "Math Formula" Node from the database. The retrieved configuration instructions are: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1614] Step 7:
[1615] The server then converts the configuration information into natural language, which will be something like "The SUM function can be achieved with KNIME's Math Formula Node. Please configure it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1616] Step 8:
[1617] The emotion engine monitors the user's input patterns and behavior in real time and estimates the user's emotions. For example, it determines that the user is feeling stressed based on repeated input errors or the length of time spent operating the device.
[1618] Step 9:
[1619] Based on the information from the emotion engine, the server adjusts the content and format of the information it presents to users if they are feeling stressed, for example by converting it into more concise and easy-to-understand language.
[1620] Step 10:
[1621] The server transmits the setting method converted into natural language to the user's terminal.
[1622] Step 11:
[1623] The device displays the received settings on the screen, allowing the user to confirm the details and apply them to KNIME operations.
[1624] Step 12:
[1625] The user returns to the KNIME interface and uses the "Math Formula" node according to the setup instructions provided, selecting "SUM" as the aggregator function and setting the target input column.
[1626] This system allows users to naturally map Excel functions to KNIME operations, enabling efficient data processing. The introduction of an emotion engine improves the user experience by presenting information that takes into account the user's emotions.
[1627] Example 2
[1628] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1629] In conventional data processing systems, when users convert Excel functions into data processing nodes, it is difficult to understand and configure the settings, which hinders efficient data processing.In addition, there is a lack of functionality to provide appropriate support depending on the user's emotional state, and an improvement in the user experience is required.
[1630] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1631] In this invention, the server includes input means for user operation, means for receiving input data, means for analyzing the received data and searching for a corresponding data processing node, means for converting the search results into natural language and presenting them to the user, and means for recognizing the user's emotions and adjusting information. This allows the user to easily convert Excel functions into data processing nodes, and further makes it possible to present information according to the user's emotions using an emotion engine.
[1632] A "user" is an entity that operates the system and provides input data.
[1633] The "input means" is an interface that is operated by the user to input data.
[1634] The "receiving means" is a device or module that receives data transmitted from the input means.
[1635] An "analysis means" is a method or device for understanding received data and analyzing its content.
[1636] The "searching means" is a method or device for searching for a corresponding data processing node based on the content understood by the analyzing means.
[1637] The "means for converting into natural language" is a method or device for converting the results obtained from the search means into a natural language that is easy for the user to understand.
[1638] A "presentation means" is a method or device for displaying or providing information converted into natural language to a user.
[1639] A "means for recognizing emotions and adjusting information" is a method or device for recognizing a user's emotional state and adjusting the content and format of the information presented accordingly.
[1640] A "data processing node" is an independent component or module for performing specific data processing.
[1641] The "means for acquiring the setting method" is a method or device for acquiring the setting method of the data processing node from a database or the like.
[1642] A "data processing function" is a functional expression used to perform a particular calculation or process.
[1643] System Overview
[1644] This invention is a system that automatically converts Excel functions into corresponding data processing nodes when a user uses them on a data processing platform, and presents the setting instructions to the user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, we aim to improve the user experience.
[1645] Hardware and software used
[1646] Hardware: Server, user devices (PC, smartphone)
[1647] Software: Data processing platform (e.g., KNIME), emotion recognition engine, web interface, database
[1648] Specific explanation
[1649] User input method
[1650] A user uses the system's web interface or application to enter the name of the Excel function they want to convert. For example, if a user enters the "SUM" function, this input is sent from the user's terminal.
[1651] Data reception and analysis
[1652] The terminal sends the Excel function name ("SUM") entered by the user to the server. The server receives this data and stores the name of the Excel function in an internal data structure. The server then analyzes the received data and uses analytical means to understand its contents. Through analysis, the server realizes that "SUM" is a function that calculates a sum.
[1653] Finding Data Processing Nodes
[1654] The server refers to the database and rule set to search for a data processing node in the data processing platform that corresponds to the parsed Excel function ("SUM"). For example, it identifies the "Math Formula" Node as the KNIME data processing node that corresponds to the "SUM" function.
[1655] Natural language translation of setting methods
[1656] The server retrieves the configuration instructions for the identified KNIME "Math Formula" Node from the database. The retrieved configuration instructions are technical descriptions, so they are converted into natural language that is easy for users to understand. For example, it might be translated as "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1657] Emotion recognition by emotion engine
[1658] The server uses an emotion engine to infer emotions in real time from the user's input patterns and behavior. For example, if a user repeatedly tries and fails to enter a function name, the emotion engine will sense the user's stress or confusion. If the emotion engine detects stress, the server will adjust the information it presents to be more concise and friendly.
[1659] Information presentation means
[1660] The server sends the configuration instructions converted into natural language to the user's device, and the device displays this information to the user. For example, it displays the following message: "The SUM function can be realized with KNIME's Math Formula Node. Please set it as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1661] Specific examples
[1662] Example of using Excel's "AVERAGE" function in KNIME
[1663] 1. User Input Method
[1664] The user enters "AVERAGE" into the system's input form.
[1665] 2. Data Receipt and Analysis
[1666] The terminal sends the entered data "AVERAGE" to the server.
[1667] The server receives the data "AVERAGE" and analyzes it.
[1668] 3. Finding the Data Processing Node
[1669] The server searches for the KNIME node corresponding to "AVERAGE" and identifies the "Math Formula" node.
[1670] 4. Natural language translation of setting methods
[1671] The server converts the setting method of the "Math Formula" Node into natural language.
[1672] This translates to "Use a Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1673] 5. Emotion Recognition by Emotion Engine
[1674] If the user types "AVERAGE" repeatedly, the emotion engine will sense stress.
[1675] If the emotion engine detects stress, the server provides a more concise explanation.
[1676] 6. Information presentation means
[1677] The server sends the setting instructions converted into natural language to the user's device, and the device displays the message, "The AVERAGE function can be implemented using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'AVERAGE' as the aggregator function, and set the target input column."
[1678] Example prompts to input to the generative AI model
[1679] "Convert the user-entered Excel function 'AVERAGE' into a KNIME Math Formula Node and explain it in natural language."
[1680] "Please consider the user's frustration and keep the setup instructions simple."
[1681] The system allows users to efficiently transform Excel functions into data processing nodes and utilize an emotion engine to improve the user experience.
[1682] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1683] Step 1:
[1684] Input means for user operation
[1685] Description: A user uses the system's web interface or an application to enter the name of an Excel function they want to convert.
[1686] Specific behavior: The user enters "SUM" and clicks the submit button.
[1687] Input: The Excel function name entered by the user (e.g. "SUM").
[1688] Output: The request sent by the device to the server.
[1689] Step 2:
[1690] A means by which the terminal sends input data to the server
[1691] Description: The terminal sends the Excel function ("SUM") entered by the user to the server.
[1692] Specific operation: The terminal receives user input and sends it as an HTTP request.
[1693] Input: The Excel function name entered by the user ("SUM").
[1694] Output: The request sent to the server.
[1695] Step 3:
[1696] How the server receives and analyzes the data
[1697] Description: The server parses the data it receives and processes it to understand its contents.
[1698] Specific operation: The server receives the HTTP request, extracts the function name "SUM", and analyzes it.
[1699] Input: HTTP request sent from the terminal (Excel function name "SUM").
[1700] Output: Parsed Excel function content ("SUM is a function that calculates the sum").
[1701] Step 4:
[1702] A means by which the server searches for a corresponding data processing node
[1703] Description: The server consults the database and ruleset to find and identify the data processing node that corresponds to the parsed Excel function.
[1704] Specific operation: The server searches the database and identifies the "Math Formula" Node corresponding to "SUM".
[1705] Input: Parsed Excel function content ("SUM is a function that calculates the sum").
[1706] Output: The corresponding data processing node ("Math Formula" Node).
[1707] Step 5:
[1708] A means for the server to translate configuration instructions into natural language
[1709] Description: The server retrieves the configuration instructions for the identified data processing node from the database and converts them into natural language.
[1710] Specific operation: The server retrieves the setting method of the "Math Formula" Node from the database and converts it into natural language.
[1711] Input: The identified data processing node ("Math Formula" Node).
[1712] Output: How to set it up, translated into natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[1713] Step 6:
[1714] A means for the server to recognize emotions using an emotion engine
[1715] Description: The server uses an emotion engine to estimate emotions in real time from the user's input patterns and behavior.
[1716] What it does: The emotion engine analyzes the user's input history and detects stress or confusion.
[1717] Input: User input patterns and behavior.
[1718] Output: Emotion recognition result (e.g., stress).
[1719] Step 7:
[1720] A means by which the server sends and displays information to the terminal
[1721] Description: The server sends the configuration instructions converted into natural language to the user's terminal, and the terminal displays this information to the user.
[1722] Specific operation: The server sends the converted setting method to the terminal as an HTTP response, and the terminal displays it.
[1723] Input: How to set it up in natural language ("Use a Math Formula Node, select 'SUM' as the aggregator function, and set the desired input column").
[1724] Output: A description to be displayed to the user (e.g., "The SUM function can be achieved using KNIME's Math Formula Node. Please set it up as follows: Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input columns.").
[1725] (Application example 2)
[1726] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1727] In conventional data processing systems, users must manually select and configure data processing nodes, which requires a great deal of effort and specialized knowledge. Furthermore, because they do not take into account the user's feelings or stress, some operations are complicated, difficult to use, and prone to errors. This can significantly reduce efficiency, especially when using factory robots or performing complex tasks.
[1728] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1729] In this invention, the server includes an input means, a means for receiving input data, a means for analyzing the received data and searching for a corresponding data processing node, a means for converting the search results into natural language and presenting them to the user, and a means for recognizing the user's emotions and adjusting the content of the presentation. As a result, the user only needs to input an Excel function, and the corresponding data processing node is automatically identified, detailed setting instructions can be understood in natural language, and feedback according to the user's emotional state is provided, thereby improving the efficiency and comfort of operation.
[1730] The "input means for user operation" is an interface that allows the user to input operations and instructions to the system.
[1731] The "means for receiving input data" refers to a method or device for taking data input by a user into the system.
[1732] The "means for analyzing received data and searching for a corresponding data processing node" is a process or device for analyzing input data and identifying a data processing node suitable for that data.
[1733] "Means for converting search results into natural language and presenting them to the user" refers to a method or device for converting information obtained by a search into a natural language that is easy for the user to understand and displaying it.
[1734] "Means for recognizing a user's emotions and adjusting the content presented" refers to a method or device for detecting a user's emotional state and optimizing the information presented accordingly.
[1735] The "means for acquiring the setting method of the data processing node from the database" is a process or device for acquiring the specific setting method of the data processing node from the database.
[1736] "Means for selecting a corresponding data processing node when data entered by a user is a specific data processing function" refers to a method or device for selecting a dedicated data processing node corresponding to the specific data processing function entered by a user.
[1737] This invention is a system that automatically converts Excel functions entered by a user into corresponding data processing nodes when used on a data processing platform, and presents them to the user in natural language. It also aims to improve usability by recognizing the user's emotions and presenting appropriate information according to those emotions.
[1738] Overall system overview
[1739] The system includes the following major components:
[1740] 1. Input method: The interface through which the user inputs Excel functions. Specifically, a smartphone app is assumed.
[1741] 2. Data reception means: A method for receiving data entered by the user. It has the function of sending data from the smartphone app to the server.
[1742] 3. Data analysis means: An engine that analyzes the received data and understands its contents, using generative AI models, etc.
[1743] 4. Data processing node search means: Based on the analyzed data, the corresponding data processing node is searched for in the database.
[1744] 5. Natural language conversion means: An engine that converts the search result settings into natural language and presents them to the user.
[1745] 6. Emotion Recognition: An emotion engine that recognizes the user's emotions in real time.
[1746] 7. Emotion-recognition-based adjustment measures: Adjust the content and format of the information presented according to the user's emotional state.
[1747] System Embodiments
[1748] 1. User Input Method
[1749] Through the user interface of the smartphone app, the user inputs the name of the Excel function they want to convert. For example, consider the case where the user inputs "SUM".
[1750] 2. Data Receiving Method
[1751] The Excel formulas entered by the user through the smartphone app are sent in real time to the server, which receives the data and stores it in its internal data structure.
[1752] 3. Data Analysis Methods
[1753] The server analyzes the received data and identifies the functions that correspond to specific data processing nodes, for example, analyzing "SUM" and understanding that it is an addition function.
[1754] 4. Data Processing Node Search Method
[1755] The server refers to the database and searches for a data processing node that corresponds to the parsed Excel function, and then searches for a specific data processing node that corresponds to "SUM," for example, the "Math Formula" node.
[1756] 5. Natural Language Conversion Methods
[1757] The server converts the configuration instructions retrieved from the database into natural language and presents them to the user. For example, it generates a sentence such as "Use Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1758] 6. Emotion recognition means
[1759] The server equipped with an emotion engine estimates the user's emotions in real time based on their input patterns and behavior. For example, if the user repeatedly tries and fails, it can detect stress.
[1760] 7. Emotion-Recognition-Based Adjustment Measures
[1761] If the emotion engine detects stress or confusion in the user, it will adjust the content and format of the information provided, providing feedback such as presenting it in a concise and easy-to-understand format.
[1762] Specific examples
[1763] For example, if a user inputs the Excel function "SUM," the server converts "SUM" into a "Math Formula" node and displays the setting method in natural language: "Use the Math Formula Node, select 'SUM' as the aggregator function, and set the target input column."
[1764] Prompt Sentence Examples
[1765] “If users are confused, please simplify the explanation even further. Generate a simplified document detailing the Excel functions and how to configure KNIME.”
[1766] This system allows users to intuitively map Excel functions to KNIME operations, and also presents information that takes users' emotions into consideration, significantly improving work efficiency.
[1767] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1768] Step 1:
[1769] A user uses a smartphone application to input an Excel function into the operation interface. The input function is in the form of "SUM." The input at this point is the function data from the user.
[1770] Step 2:
[1771] The device receives Excel function data entered by the user. This data is then sent from the device to the server via the Internet. Specifically, the smartphone app sends an HTTP request to the server, and the payload contains the function name entered by the user.
[1772] Step 3:
[1773] The server analyzes the received Excel function data. Here, natural language processing is performed using a generative AI model to understand the meaning of "SUM." The input for the analysis is the received function data, and the output is the specific information of the analyzed function (e.g., addition function).
[1774] Step 4:
[1775] The server searches the database for the corresponding data processing node based on the analysis results. The database stores mapping information between Excel functions and the corresponding data processing nodes. The input is the specific information of the analyzed function, and the output is the specific information of the corresponding data processing node (e.g., "Math Formula" node).
[1776] Step 5:
[1777] The server retrieves the setting method of the data processing node identified as a search result from the database. Here, detailed information about the setting method is obtained. The input is the data processing node of the search result, and the output is the detailed setting method of that node.
[1778] Step 6:
[1779] The server converts the acquired configuration instructions into natural language. In this natural language generation step, the configuration instructions are generated as text in a format that is easy for users to understand. The input is the configuration instructions for the data processing node, and the output is the text converted into natural language (e.g., "Use a Math Formula Node, select 'SUM' as the aggregator function, and set the target input column").
[1780] Step 7:
[1781] The server uses an emotion engine to recognize the user's emotional state in real time. In this step, the emotional state is estimated by analyzing the user's operation log and input patterns. The input is the user's operation data, and the output is the estimated emotional state.
[1782] Step 8:
[1783] The server adjusts the content and format of the information presented based on the estimated emotional state. For example, if it senses that the user is under stress, it will modify the explanation to be more concise and easy to understand. The input is the emotion estimation result, and the output is the adjusted information content.
[1784] Step 9:
[1785] The server sends the adjusted natural language setting instructions to the user's device. The user can then check the converted setting instructions through a smartphone app. The input is the adjusted information content, and the output is the information presented to the user.
[1786] By following the above steps, users can easily map Excel functions to the data processing platform and receive information that takes their emotions into consideration, enabling them to process data efficiently and comfortably.
[1787] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1788] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1789] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1790] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1791] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1792] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1793] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1794] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1795] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1796] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1797] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1798] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1799] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1800] 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.
[1801] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1802] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1803] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1804] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1805] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1806] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1807] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1808] The following is further disclosed regarding the above embodiment.
[1809] (Claim 1)
[1810] an input means for user operation;
[1811] means for receiving input data;
[1812] means for analyzing the received data and searching for a corresponding data processing node;
[1813] A means for converting search results into natural language and presenting them to the user;
[1814] A system including:
[1815] (Claim 2)
[1816] 10. The system of claim 1, further comprising means for obtaining a configuration method for the data processing node from a database.
[1817] (Claim 3)
[1818] 2. The system according to claim 1, further comprising means for selecting a corresponding data processing node when the data input by the user is a specific data processing function.
[1819] "Example 1"
[1820] (Claim 1)
[1821] an information input means for user operation;
[1822] means for receiving input information;
[1823] means for analyzing the received information to locate a corresponding data processing element;
[1824] A means for converting search results into natural language and presenting them to the user;
[1825] A system including:
[1826] (Claim 2)
[1827] 2. The system according to claim 1, further comprising means for obtaining a setting method for the data processing element from the information storage unit.
[1828] (Claim 3)
[1829] 2. The system according to claim 1, further comprising means for selecting a corresponding data processing element when the information input by the user is a specific data processing function.
[1830] "Application Example 1"
[1831] (Claim 1)
[1832] an input means for user operation;
[1833] means for receiving input data;
[1834] means for analyzing the received data and searching for a corresponding data processing node;
[1835] A means for converting search results into natural language and presenting them to the user;
[1836] means for presenting to a user configuration information and execution method of the data processing node;
[1837] A system including:
[1838] (Claim 2)
[1839] 10. The system of claim 1, further comprising means for retrieving configuration and execution instructions for the data processing node from a database.
[1840] (Claim 3)
[1841] 2. The system according to claim 1, further comprising means for selecting a corresponding data processing node and controlling data processing operations by the industrial machine when data input by a user is a specific data processing function.
[1842] "Example 2: Combining Emotion Engines"
[1843] (Claim 1)
[1844] an input means for user operation;
[1845] means for receiving input data;
[1846] means for analyzing the received data and searching for a corresponding data processing node;
[1847] A means for converting search results into natural language and presenting them to the user;
[1848] a means for recognizing a user's emotions and adjusting the information;
[1849] A system including:
[1850] (Claim 2)
[1851] 10. The system of claim 1, further comprising means for obtaining a configuration method for the data processing node from a database.
[1852] (Claim 3)
[1853] 2. The system according to claim 1, further comprising means for selecting a corresponding data processing node when the data input by the user is a specific data processing function.
[1854] "Application example 2 when combining emotion engines"
[1855] (Claim 1)
[1856] an input means for user operation;
[1857] means for receiving input data;
[1858] means for analyzing the received data and searching for a corresponding data processing node;
[1859] A means for converting search results into natural language and presenting them to the user;
[1860] means for recognizing a user's emotion and adjusting the presentation content;
[1861] A system including:
[1862] (Claim 2)
[1863] 10. The system of claim 1, further comprising means for obtaining a configuration method for the data processing node from a database.
[1864] (Claim 3)
[1865] 2. The system according to claim 1, further comprising means for selecting a corresponding data processing node when the data input by the user is a specific data processing function.
[1866] (Claim 4)
[1867] 10. The system of claim 1, further comprising means for using an emotion engine that recognizes a user's emotion and for adjusting presentation content in response to the user's emotion. [Explanation of symbols]
[1868] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. an input means for user operation; means for receiving input data; means for analyzing the received data and searching for a corresponding data processing node; A means for converting search results into natural language and presenting them to the user; A system including:
2. 2. The system of claim 1, further comprising means for obtaining a configuration method for the data processing node from a database.
3. 2. The system according to claim 1, further comprising means for selecting a corresponding data processing node when the data input by the user is a specific data processing function.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A