system
The system automates graph creation and numerical calculations in spreadsheet software by generating templates, detecting errors, and providing formula assistance, addressing the inefficiencies and errors in conventional methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Conventional spreadsheet software requires users to perform detailed settings and complex function inputs for graph creation and numerical calculations, which is time-consuming and prone to errors, making it difficult to identify and handle errors efficiently.
A system that receives user inputs, analyzes the type of graph and necessary elements, generates a template, reflects user data into the template, detects errors, and assists in inputting appropriate formulas and functions, using natural language processing and error detection mechanisms.
Enables users to efficiently and easily create graphs and perform numerical calculations by automating template generation and error correction, improving work efficiency and reducing manual effort.
Smart Images

Figure 2026064613000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In conventional spreadsheet software, graph creation and numerical calculation operations require the user to perform detailed settings and complex function inputs by themselves, which is time-consuming and labor-intensive. In particular, when an error occurs, it is difficult to identify the cause and appropriately handle it. An object of the present invention is to solve these problems and enable the user to efficiently and easily perform graphing and numerical calculations.
Means for Solving the Problems
[0005] The present invention solves the above problems by a system including the following means.
[0006] (1) Means for receiving an input from a user
[0007] (2) Means for analyzing the received input to identify the type of graph and the necessary elements
[0008] (3) Means for generating a template based on the identified elements
[0009] (4) Means for providing the generated template to the user
[0010] (5) Means for reflecting user-entered data in a template
[0011] (6) Means for detecting errors in the template and providing solutions to those errors
[0012] (7) Means to assist in the input of appropriate formulas and functions in response to user requests.
[0013] The following are definitions of key terms included in the patent claims.
[0014] A "user" is a person who uses the system to create graphs or perform numerical calculations.
[0015] "Input" refers to messages and data that the user specifies to the system, including the type of graph and calculation requests.
[0016] "Analysis" is the process by which a system understands the input it receives and extracts the necessary information.
[0017] "Graph type" refers to different types of graph formats, such as bar graphs, line graphs, and pie charts.
[0018] "Required elements" refer to the data items and formulas that are essential for creating graphs and performing numerical calculations.
[0019] A "template" is a basic file with predefined settings and formats for users to input data.
[0020] "Provide" means making the generated template available for users to use.
[0021] "Reflect data" means incorporating the information entered by the user into the template and displaying it as a graph or calculation result.
[0022] "Error" refers to inconsistencies or malfunctions that occur in the user's input or system processing.
[0023] "Solution" indicates a method of correcting the detected error.
[0024] "Support" means that the system assists the user so that specific formulas or functions can be entered.
Brief Description of Drawings
[0025] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9]This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, when an emotion engine is combined. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0026] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0027] First, let's explain the terminology used in the following explanation.
[0028] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), and APU (Accelerated Processing Unit).
[0029] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0030] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0031] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0032] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0033] [First Embodiment]
[0034] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0035] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0036] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0037] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0038] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0039] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0040] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0041] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0042] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0043] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0044] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0045] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0046] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0047] System Overview
[0048] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0049] Feature details
[0050] Input reception and analysis
[0051] The server receives a message from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the message and extract the graph type (e.g., bar graph, line graph, etc.) and the required data items (e.g., month, sales).
[0052] Specific example:
[0053] When a user enters "I want to create a line graph of monthly sales," the server analyzes this message and identifies keywords such as "monthly," "sales," and "line graph."
[0054] Template generation
[0055] Based on the analysis results, the server generates an Excel template with the appropriate graph format configured. This template has the necessary data fields pre-configured, so the user only needs to input the data to create the graph.
[0056] Specific example:
[0057] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales."
[0058] Template provision
[0059] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0060] Specific example:
[0061] When a user clicks the provided link, they can download a template and enter sales data for January through December.
[0062] Data entry and error checking
[0063] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and presents a solution to the user.
[0064] Specific example:
[0065] If a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1."
[0066] Function input support
[0067] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then enter the formula and perform the necessary calculation by following these instructions.
[0068] Specific example:
[0069] If a user enters "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0070] Through the above functions, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel.
[0071] The following describes the processing flow.
[0072] Understood. The specific actions for each processing step are explained below.
[0073] Step 1:
[0074] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0075] Step 2:
[0076] The server receives the message sent by the user. The received message is held for analysis in the next step.
[0077] Step 3:
[0078] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as the type of graph (e.g., line graph) and necessary data items (e.g., month, sales).
[0079] Step 4:
[0080] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file.
[0081] Step 5:
[0082] The server generates a template selected by the user and pre-configures the necessary data fields (e.g., month, sales). It also configures the graph's appearance.
[0083] Step 6:
[0084] The server provides the user with a generated template. Specifically, the user receives a download link and is able to download the template to their device.
[0085] Step 7:
[0086] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[0087] Step 8:
[0088] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause of the error.
[0089] Step 9:
[0090] The server notifies the user of the solution to the detected error. Specifically, it will display a message such as "Please enter a number in cell A1" through the chat interface.
[0091] Step 10:
[0092] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[0093] Step 11:
[0094] When a user requests support for performing a specific numerical calculation, the server provides the appropriate function or formula. For example, if the user enters "Please tell me the function to calculate the profit margin," the server will suggest "=Profit / Sales."
[0095] Step 12:
[0096] The user enters formulas and functions provided by the server into designated cells within the template. This then performs the necessary calculations.
[0097] In this way, a system is realized in which specific operations proceed step by step, allowing users to efficiently create graphs and perform numerical calculations.
[0098] (Example 1)
[0099] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0100] Traditional methods of creating graphs and performing numerical calculations using Excel require manual operation by the user, which is time-consuming and prone to data entry errors. Furthermore, for users who find entering formulas and functions difficult, the process is complex and inefficient. This hinders the efficiency of business operations.
[0101] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0102] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, and means for assisting the user in entering appropriate mathematical formulas and functions according to their requests. This enables the user to easily and accurately input data, create graphs, and perform numerical calculations.
[0103] "Means of receiving user input" refers to the process by which users input necessary information into the system through a chat interface or other input devices.
[0104] "Means for analyzing received input to identify the graph type and necessary elements" refers to a process that uses natural language processing technology or other analysis methods to automatically identify the graph type and necessary data items from the text entered by the user.
[0105] "Means of generating templates based on identified elements" refers to the process of creating templates with a predetermined format and style according to the analysis results.
[0106] "Means of providing generated templates to users" refers to the process by which the server provides the generated templates to users in a downloadable format.
[0107] "Methods for reflecting user-entered data in templates" refers to the process of automatically setting user-entered data in a template in an appropriate format.
[0108] "Means of detecting errors in templates and providing solutions to those errors" refers to the process of verifying the data within a template and guiding the user on how to correct any input errors or inconsistencies found.
[0109] "Means of assisting users in inputting appropriate formulas and functions according to their requests" refers to the process of providing users with instructions on how to use and apply specific formulas and functions they require.
[0110] "Natural language processing technology" refers to the technology used to analyze text data entered by users and understand its meaning.
[0111] A "template" refers to an electronic document that has a default format or style for users to input data into.
[0112] A "data field" refers to a cell or area within a template that is designated for entering a specific type of information.
[0113] An "error message" refers to a message that notifies the user of a problem or inconsistency found in the entered data and prompts them to correct it.
[0114] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0115] System Overview
[0116] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0117] Input reception and analysis
[0118] The server receives messages sent by the user. The user enters messages using a chat interface. For example, the prompt might be, "I want to create a line graph of monthly sales." The hardware used is a server farm (e.g., a cloud server), and the software uses a web server (e.g., Nginx) and natural language processing libraries (e.g., spaCy, NLTK). The server analyzes the message using natural language processing techniques and extracts keywords such as "monthly," "sales," and "line graph."
[0119] Template generation
[0120] The server generates an Excel template with the appropriate graph format set based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. The hardware also utilizes a server farm, and the software uses Excel processing libraries (e.g., openpyxl, Pandas). For example, it generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales."
[0121] Template provision
[0122] The server provides the user with a generated Excel template. The user can download the template by clicking the provided link. In a specific example, when the user clicks the provided link, they can download the template and enter sales data for January through December. Similarly, a server farm is used for the hardware, and a web server (e.g., Nginx) and a file delivery service (e.g., cloud storage service) are used for the software.
[0123] Data entry and error checking
[0124] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and provides a solution to the user. For example, if a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1." The server uses data validation libraries (e.g., Pandas, NumPy) to perform this process.
[0125] Function input support
[0126] When a user requests assistance to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then input the formula and perform the necessary calculation. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." The server utilizes a formula assistance library (e.g., SymPy) to implement this functionality.
[0127] Example prompt statements
[0128] Examples of prompt messages include the following text:
[0129] I want to create a line graph of monthly sales. Please provide a template.
[0130] Through the process described above, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel, thereby significantly improving work efficiency.
[0131] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0132] Step 1:
[0133] The server accepts input from the user.
[0134] In terms of the specific operation, the user uses the chat interface to type and send a prompt message such as, "I want to create a line graph of monthly sales." The server receives this input message.
[0135] Input: User prompt text
[0136] Output: Received prompt message
[0137] Step 2:
[0138] The server analyzes the received input to identify the type of graph and the necessary elements.
[0139] The server uses natural language processing technology (e.g., spaCy, NLTK) to tokenize and analyze messages. Specifically, it extracts keywords such as "monthly," "sales," and "line graph."
[0140] Input: Received prompt message
[0141] Output: Extracted keywords (e.g., "monthly", "sales", "line graph")
[0142] Step 3:
[0143] Based on the analysis results, the server generates a template based on the identified elements.
[0144] The server uses Excel processing libraries (e.g., openpyxl, Pandas) to create a new Excel file. Specifically, it generates a template for a line graph and sets up a sheet containing data fields for "Month" and "Sales".
[0145] Input: Extracted keywords
[0146] Output: Generated Excel template
[0147] Step 4:
[0148] The server provides the generated template to the user.
[0149] The server saves the generated Excel file and generates a download link for it. Users can download the template by clicking the provided link.
[0150] Input: Generated Excel template
[0151] Output: Download link
[0152] Step 5:
[0153] The user downloads the provided template and enters the required data.
[0154] As a concrete example, a user enters sales data from January to December into an Excel template.
[0155] Input: Provided Excel template
[0156] Output: Template containing the input data
[0157] Step 6:
[0158] The server checks the integrity of the data entered by the user.
[0159] The server uses data validation libraries (e.g., Pandas, NumPy) to validate the data within the template. For example, it checks if a string has been entered into a numeric field, identifies the cause of the error if one occurs, and suggests a solution. Specifically, it displays an error message such as "Please enter a number in cell A1."
[0160] Input: A template containing the entered data.
[0161] Output: Error message or template with verified integrity
[0162] Step 7:
[0163] When a user requests assistance to perform a specific calculation, the server provides the appropriate formulas and functions for input.
[0164] The user enters "Please tell me a function to calculate the profit margin" through the chat interface. The server uses a formula assistance library (e.g., SymPy) to suggest the formula "=Profit / Sales".
[0165] Input: Requests for formulas and functions from the user.
[0166] Output: Proposed formula or function
[0167] (Application Example 1)
[0168] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0169] In recent years, many factories have made progress in automating their production lines, but data collection, analysis, and visualization methods still largely rely on manual processes, resulting in low efficiency. Furthermore, there is an increasing demand for real-time, data-driven analysis, necessitating systems that can meet this requirement. Existing systems also suffer from insufficient error detection and mathematical formula support, and lack a user-friendly interface.
[0170] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0171] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to their requests, means for automatically collecting factory production line data and creating graphs in real time, and means for checking the integrity of data from a data acquisition device. This enables real-time collection and analysis of production data in a factory, error detection, and formula support.
[0172] "Means of receiving user input" refers to a mechanism for collecting requests and data through devices or interfaces operated by the user.
[0173] "Means for analyzing received input to identify the graph type and necessary elements" refers to algorithms or software that process user input to identify the appropriate graph type and necessary data items.
[0174] "Means for generating templates based on identified elements" refers to a system or program for generating templates containing graphs in an appropriate format based on analyzed information.
[0175] "Means of providing the generated templates to users" refers to internet connectivity and server systems for sending the generated templates to users and making them available for use.
[0176] "Means of reflecting user-entered data in templates" refers to processing functions that automatically insert user-provided data into templates and display it appropriately.
[0177] "Means for detecting errors in templates and providing solutions to those errors" refers to a system that detects potential errors that may occur while using a template and provides methods or instructions for correcting them.
[0178] "Means of assisting the input of appropriate formulas and functions according to user requests" refers to a function that presents examples of appropriate formulas and functions and supports input when a user is performing a specific calculation or data processing.
[0179] "A means of automatically collecting factory production line data and creating graphs in real time" refers to a system that collects data in real time from sensors and data acquisition devices installed on the production line and automatically generates graphs based on that data.
[0180] "Means for checking the integrity of data from data acquisition devices" refer to algorithms and software used to verify the integrity and consistency of collected data, and to detect and correct errors and inconsistencies.
[0181] This invention relates to a system for efficiently collecting and analyzing factory production line data and creating and providing graphs in real time. The configuration for realizing this system is described in detail below.
[0182] System Overview
[0183] The system primarily consists of a server, terminals, and a user operating environment. The server plays a central role in processing and analyzing various types of data. Terminals are used by users to operate the system, input data, and view generated graphs. Users provide instructions to the system through the terminals.
[0184] Hardware and software to be used
[0185] Hardware:
[0186] Factory robots: Perform data collection, template generation, error checking, and display.
[0187] IoT devices: Collect data in real time from sensors on the production line.
[0188] software:
[0189] Programs on the server:
[0190] Python
[0191] Pandas and Openpyxl: Used for data processing and Excel manipulation.
[0192] NLPProcessor (a custom module for natural language processing)
[0193] Procedures for data processing and data calculation
[0194] 1. Data collection:
[0195] The system collects data in real time from sensors and IoT devices within the factory and stores it in the robot's data storage. For example, numerous sensors installed at different stages of the production line transmit information such as product defect rates, operating hours, and total production volume.
[0196] 2. Command analysis:
[0197] Instructions from the user are sent to the server via the terminal. When the user inputs a request such as "I want to see the trend of product defect rates every hour in a line graph," the NLP Processor on the server performs natural language processing to analyze and identify the necessary graph type and data items.
[0198] 3. Template generation:
[0199] Based on the analysis results, the server generates an appropriate Excel template. For example, it might generate a "line graph" template and create an Excel file containing data fields for "time" and "defect rate."
[0200] 4. Checking data integrity:
[0201] When a user enters data into a template, the server verifies the integrity of that data. If incorrect strings or data in the wrong format are entered, the server generates an error message and instructs the user to correct the problem.
[0202] 5. Assistance with formula input:
[0203] When a user requests assistance with a specific calculation, the server suggests appropriate formulas or functions. For example, if a user types "Please tell me the formula to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0204] Specific example
[0205] As a practical example, this section describes the processing procedure when a production line receives a request to "display the hourly trend of product defect rates as a line graph." Upon receiving this request, the server collects and analyzes the data, performs error checking, generates an appropriate Excel template, and provides it to the user. The following are examples of specific prompts used when using this system.
[0206] Example of a prompt
[0207] "Please display a line graph showing the hourly trend of the product defect rate."
[0208] "Please create a template for analyzing the relationship between product sales and profit margins."
[0209] "I would like to create a bar graph based on monthly production data."
[0210] Through the above procedure, the present invention provides a system that includes the collection, analysis, error detection, and mathematical formula support of production data within a factory, enabling users to efficiently manage and visualize data.
[0211] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0212] Step 1:
[0213] The server collects data in real time from sensors and IoT devices installed on the factory's production line. The input for this step is production data sent from sensors and IoT devices, and the output is raw data stored on the server. Specifically, the server receives data sent from each sensor and stores it in a dedicated database.
[0214] Step 2:
[0215] The user submits a data visualization request to the server via the terminal. The input in this step is a prompt message entered by the user, and the output is the analysis result based on that prompt message. Specifically, the terminal receives the prompt message from the user and sends it to the server. For example, the user might input, "I would like to see a line graph showing the trend of product defect rates every hour."
[0216] Step 3:
[0217] The server uses natural language processing (NLPProcessor) to analyze user input. The input for this step is the user's prompt text, and the output is the analysis result (graph type and required data items). The server uses the NLPProcessor to analyze the prompt text and identify elements such as "product defect rate per hour" and "line graph".
[0218] Step 4:
[0219] The server generates an Excel template based on the analysis results. The input for this step is the analysis results, and the output is the generated Excel template file. Specifically, the server uses Pandas and Openpyxl to generate an Excel template containing the identified data fields and saves the template to the specified folder.
[0220] Step 5:
[0221] The server provides the user with a link to the generated Excel template. The input for this step is the generated Excel template file, and the output is the link provided to the user. Specifically, the server generates a link that directs the user to the location where the generated template is saved and transmits it to the user.
[0222] Step 6:
[0223] The user enters data into a template. The input in this step is the data entered by the user, and the output is the data reflected in the template. Specifically, the user downloads the template and enters the actual data into the designated fields within the template.
[0224] Step 7:
[0225] The server checks the integrity of the data entered by the user. In this step, the input is the template data entered by the user, and the output is the error check result. The server verifies whether the format of the entered data is correct and notifies the user if any errors are found.
[0226] Step 8:
[0227] When a user requests a specific calculation, the server provides a way to input the appropriate formula or function. In this step, the input is the calculation request, and the output is the proposed formula or function. The server, in response to the user's request, proposes a formula such as "=Profit / Sales" and notifies the user.
[0228] Since maintaining the output format was required, the processing flow was explained in detail step by step, including specific actions and information about inputs and outputs at each step.
[0229] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0230] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel, and further provides appropriate feedback and support based on the user's emotions. The following describes embodiments for carrying out this invention.
[0231] System Overview
[0232] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. In addition to assisting users in entering the formulas and functions they request, it also recognizes emotions from the user's input and customizes the content of feedback and assistance based on those emotions.
[0233] Feature details
[0234] 1. Input reception and analysis
[0235] The server receives messages from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the messages and extract the graph type (e.g., line graph) and required data items (e.g., month, sales). Furthermore, it uses an emotion engine to recognize the user's emotions from the user's input.
[0236] Specific example:
[0237] When a user enters "I want to create a line graph of monthly sales," the server identifies keywords such as "monthly," "sales," and "line graph." At the same time, it analyzes the user's message to determine their emotions (e.g., hurried, anxious, etc.).
[0238] 2. Template generation
[0239] The server generates an Excel template with the appropriate graph format based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. Furthermore, the template's appearance and message tone are adjusted based on the user's sentiment.
[0240] Specific example:
[0241] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales." Furthermore, if the server detects that the user is in a hurry, it provides a "quick creation guide" along with the template.
[0242] 3. Provision of templates
[0243] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0244] Specific example:
[0245] When a user clicks the provided link, they can download a template and enter sales data for January through December. The template also includes the aforementioned guide.
[0246] 4. Data entry and error checking
[0247] When a user enters data into a template, the server checks the data's integrity. If an error occurs, it identifies the cause and presents a solution while being mindful of the user's feelings.
[0248] Specific example:
[0249] If a user mistakenly enters a string into a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need it."
[0250] 5. Function Input Assistance
[0251] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. Furthermore, it adjusts the tone of support based on the user's mood.
[0252] Specific example:
[0253] If a user types "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales," and if it senses the user is feeling unsure, it will provide an additional reassuring message such as "Don't worry, you can easily calculate the profit margin with this formula."
[0254] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[0255] The following describes the processing flow.
[0256] Understood. The specific actions for each processing step are explained below.
[0257] Step 1:
[0258] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0259] Step 2:
[0260] The server receives the message sent by the user. The received message is held for analysis in the next step.
[0261] Step 3:
[0262] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as graph type (e.g., line graph) and necessary data items (e.g., month, sales). At the same time, it uses an emotion engine to recognize the user's emotions (e.g., hurried, anxious).
[0263] Step 4:
[0264] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file. It also adjusts the template's appearance and support tone based on the recognized emotions.
[0265] Step 5:
[0266] The server generates a selected template and pre-configures the necessary data fields (e.g., month, sales). Furthermore, it incorporates additional guidelines and messages tailored to the user's emotions.
[0267] Step 6:
[0268] The server provides users with generated templates. Specifically, users receive a download link and are able to download the templates to their devices. Support messages tailored to the user's emotions are also displayed.
[0269] Step 7:
[0270] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[0271] Step 8:
[0272] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause. Using an emotion engine, it generates error messages that are appropriate to the user's emotions.
[0273] Step 9:
[0274] The server offers solutions that are considerate of the user's feelings. Specifically, it provides messages through the chat interface such as, "Please enter a number in cell A1. If you are in a hurry, please check this link for additional support."
[0275] Step 10:
[0276] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[0277] Step 11:
[0278] When a user requests support to perform a specific numerical calculation, the server provides instructions on how to input the appropriate formulas and functions. The tone and content of the support are adjusted based on the user's emotions.
[0279] Step 12:
[0280] The user inputs the mathematical formulas or functions provided by the server into the specified cells in the template. As a result, the necessary calculations are executed, and additional explanations according to the emotions are displayed.
[0281] In this way, specific operations proceed step by step, and a system is realized that can efficiently create graphs and perform numerical calculations while considering the user's emotions.
[0282] (Example 2)
[0283] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".
[0284] In the modern business environment, users are required to quickly and efficiently analyze data and create graphs. However, the currently used systems and tools are difficult to operate for beginners and non-experts, and can only provide uniform feedback without understanding the user's emotions and intentions. Therefore, users often feel stress and difficulties. There is a need for a system that can solve these problems and allow users to more easily and comfortably create and analyze data.
[0285] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving an input from the user and recognizing emotions, means for analyzing the received input to specify the type of graph and the necessary data items, and means for generating a template based on the specified data items and adjusting the appearance of the template based on the user's emotions. As a result, the user can easily and efficiently analyze data and create graphs, and can further receive feedback and support considering the user's emotions.
[0286] "User" refers to a person or organization that uses the system to create graphs or perform numerical calculations.
[0287] "Input" refers to the information and instructions provided by the user through the system.
[0288] "Emotion" refers to the state or mood of the user's mind, and the system recognizes this and reflects it in the feedback.
[0289] "Natural Language Processing (NLP)" refers to the technology for a computer to understand, interpret, and generate human language.
[0290] "Graph type" means the form of the graph specified by the user (e.g., line graph, bar graph, etc.).
[0291] "Data item" refers to the specific data elements (e.g., month, sales) required for graph creation or numerical calculations.
[0292] "Template" refers to a pre-set Excel file that allows the user to easily input data.
[0293] "Appearance" refers to the visual design and layout of the template, which is adjusted according to the user's emotions.
[0294] "Error" means a problem that occurs when the data entered by the user into the template does not match the expected format or range.
[0295] "Formulas and functions" refer to the Excel functions for performing specific calculations or data processing.
[0296] "Support" refers to the assistance and guidance provided by the system to help the user's work.
[0297] This invention is a system that assists users in easily and efficiently creating Excel graphs and performing numerical calculations, and further provides user-based feedback and support.
[0298] System Configuration
[0299] This system primarily consists of a server, user terminals, and a chat interface. The server is equipped with powerful hardware and software utilizing natural language processing (NLP) technology to provide various functions such as data reception and analysis, template generation, data integrity checks, function input assistance, and sentiment recognition. Specifically, the server-side NLP uses generative AI models such as BERT and GPT. The user terminals are internet-connected devices that access the system via a web browser or a dedicated chat application.
[0300] Input reception and analysis
[0301] The server receives messages from users via a chat interface. Users input instructions about the type of graph they want to create and the data items they need. For example, if a user inputs the message "I want to create a line graph of monthly sales," the server uses NLP techniques to identify keywords such as "monthly," "sales," and "line graph." At the same time, it uses an emotion engine to analyze the user's emotions (e.g., hurried, anxious, etc.).
[0302] Template generation
[0303] Based on the analysis results, the server generates an Excel template with an appropriate graph format. This template has the necessary data fields pre-set, and the user can create a graph simply by entering data. Also, based on the user's sentiment, the appearance of the template and the tone of the message are adjusted. For example, the server generates a template for a "line graph" and creates an Excel file containing the data fields of "month" and "sales". If the user is recognized as being in a hurry, a "quick creation guide" is provided along with the template.
[0304] Provision of Template and Data Input
[0305] When the template is generated, the server generates a link to provide the template to the user and sends it to the user terminal. The user clicks on the link to download the template and can enter the sales data from January to December. Then, when the user enters data into the template, the server checks the data integrity and presents the cause and solution if an error occurs. For example, if the user mistakenly enters a string into a numeric field, the server displays an error message saying "Please enter a number in cell A1. If you have any difficulties, please contact us for additional support."
[0306] Assistance with Function Input
[0307] Furthermore, when the user requests support for performing a specific calculation, the server provides the appropriate formula or function input method. For example, if the user enters "Please teach me the function for calculating the profit rate", the server proposes the formula "=Profit / Sales". Also, if the user is recognized as feeling anxious, an additional message "Don't worry. You can easily calculate the profit rate with this formula" is provided.
[0308] Examples of Prompt Texts
[0309] Examples of prompts that users enter into the system include the following:
[0310] "I want to create a line graph of monthly sales."
[0311] "Please tell me the function for calculating profit margins."
[0312] "Please check that the data has been entered correctly."
[0313] In this way, the system combines NLP technology and emotion recognition to provide an environment where users can intuitively and efficiently manipulate data.
[0314] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0315] Step 1: Receiving and analyzing user input
[0316] Input: The user enters the type of graph they want to create and the required data items as text via the chat interface.
[0317] Specific action: The user enters "I want to create a line graph of monthly sales."
[0318] Processing: The server receives this message, uses natural language processing (NLP) to identify keywords such as "monthly," "sales," and "line graph," and uses an emotion engine to analyze the user's emotions.
[0319] Output: Analyzed keywords and sentiment information are obtained.
[0320] Step 2: Template Generation
[0321] Input: Analyzed keywords ("monthly", "sales", "line graph") and user sentiment information.
[0322] Specific operation: The server generates an appropriate Excel template and creates a template that includes data fields for "Month" and "Sales" based on the analysis results.
[0323] Processing: Customize the appearance and tone of the message in the template according to the user's mood. For example, if a mood of urgency is detected, the template will include a "Quick Creation Guide."
[0324] Output: A link to the generated Excel template is created.
[0325] Step 3: Provide template
[0326] Input: A link to the generated Excel template.
[0327] Specific action: The server sends the user a download link for the template.
[0328] Process: Allow users to download templates by clicking a link.
[0329] Output: A downloadable link is provided to the user.
[0330] Step 4: Data entry and error checking
[0331] Input: Downloaded Excel template and specific data to be entered by the user (e.g., monthly sales data).
[0332] Specific operation: The user enters their own data (e.g., sales data from January to December) into a template.
[0333] Processing: The server checks the data entered into the template in real time to verify data integrity. If an error is detected, for example, if a string is entered into a numeric field, an error message is displayed.
[0334] Output: The user is presented with the error and its solution.
[0335] Step 5: Assisting with function input
[0336] Input: Specific calculation support requests from users (e.g., "Please provide a function to calculate profit margins").
[0337] Specific operation: The user enters a question about a specific calculation or function.
[0338] Processing: The server parses and provides appropriate formulas and functions. For example, if a user enters "Please tell me a function to calculate the profit margin," it will suggest the formula "=Profit / Sales." Furthermore, if the server detects that the user is feeling unsure, it will add a message such as "Don't worry, you can easily calculate the profit margin with this formula."
[0339] Output: The user is provided with appropriate mathematical formulas and reassuring messages.
[0340] This system enables users to perform data analysis and graph creation by providing efficient and emotionally resonant support at each step, including data reception, analysis, template generation, error checking, and function support.
[0341] (Application Example 2)
[0342] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0343] Conventional production management systems require significant time and effort for data collection and analysis on the production line, making it difficult to provide efficient data management and feedback. Furthermore, feedback that considers the operator's emotions is rarely provided, potentially leading to decreased work efficiency. This invention aims to solve these problems and provide an efficient and emotionally sensitive production management system.
[0344] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to the user's request, means for recognizing the user's emotions and providing feedback based on those emotions, and means for collecting production line data and reflecting it in the template in real time. This enables rapid collection and analysis of production data and allows for feedback that takes into account the operator's emotions.
[0345] "Means of receiving user input" refers to an interface that allows users to input information into a system or device.
[0346] "Means for analyzing received input to identify the graph type and necessary elements" refers to a function that processes information received from the user and identifies the appropriate graph type and necessary data items based on that information.
[0347] "Means for generating templates based on identified elements" refers to a function that automatically creates a standardized format to facilitate data input according to the analyzed elements.
[0348] "Means of providing generated templates to users" refers to a function that provides automatically generated templates so that users can use them.
[0349] "A means of reflecting user-entered data in a template" refers to a function that automatically incorporates user-entered information into a template and visualizes that data.
[0350] "A means of detecting errors in a template and suggesting solutions to those errors" refers to a function that verifies the integrity of the data entered into the template, notifies the user of the cause of any errors, and provides appropriate corrective measures.
[0351] "Means of assisting the input of appropriate mathematical formulas and functions according to user requests" refers to functions that instruct the user on how to input the calculations and functions they require and assist in that input.
[0352] "A means of recognizing user emotions and providing feedback based on those emotions" refers to a function that analyzes user emotions from their statements and actions and provides appropriate advice or messages corresponding to those emotions.
[0353] "A means of collecting production line data and reflecting it in templates in real time" refers to a function that instantly collects data from the production site and reflects it in templates in real time.
[0354] System Overview
[0355] This invention uses a factory robot and its associated server system to efficiently collect and analyze data from a production line and provide users with emotionally sensitive feedback.
[0356] Hardware configuration
[0357] The system uses the following hardware:
[0358] 1. Factory robots: Collect data from the production line and send it to the server.
[0359] 2. Sensors: These are installed at various points along the production line to acquire various data (production volume, error rate, work time, etc.) in real time.
[0360] 3. Voice input device: A device for receiving voice input from the user.
[0361] 4. Server: Performs tasks such as data analysis, template generation, sentiment recognition, and feedback provision.
[0362] Software Configuration
[0363] The system uses the following software:
[0364] 1. Natural Language Processing (NLP) Engine: Analyzes user input and extracts necessary information.
[0365] 2. Emotion Recognition Engine: Recognizes emotions from the user's voice and text.
[0366] 3. Data Analysis Module: Analyzes data collected from the production line and reflects it in the template.
[0367] 4. Excel Generation Module: Based on the analysis results, it generates an appropriate template in Excel format.
[0368] 5. Feedback generation module: Provides appropriate feedback based on the user's emotions.
[0369] Processing flow
[0370] 1. Data collection:
[0371] Factory robots collect data from the production line in real time through sensors and transmit that data to a server.
[0372] 2. Data Analysis:
[0373] The server processes the received data using a data analysis module and reflects the results in a template using an Excel generation module. If the data contains errors, it performs error checking and includes the solutions in the template.
[0374] 3. Emotion recognition:
[0375] When a user gives instructions to the system via a voice input device, a natural language processing engine analyzes those instructions. Simultaneously, an emotion recognition engine recognizes the user's emotions and generates appropriate feedback based on them.
[0376] 4. Provide feedback:
[0377] The server, along with the generated template, uses a feedback generation module to send appropriate messages to the user. This allows the user to confidently input and modify data.
[0378] Specific example
[0379] For example, if a user instructs the robot to "check today's production line data," the robot will immediately collect the data and reflect it as a graph in a specified Excel template. At the same time, if the operator gives an anxious instruction such as "the task isn't working," the robot will provide a message saying, "Please stay calm. The data is being collected correctly," to reassure the user.
[0380] Example of a prompt
[0381] text
[0382] Collect production line data and generate Excel graphs. Additionally, recognize user emotions from their input and provide appropriate feedback.
[0383] This allows the system to respond to user requests quickly and accurately, improving production efficiency and user satisfaction.
[0384] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0385] Step 1: Data Collection
[0386] Factory robots collect data in real time (production volume, error rate, work time, etc.) from sensors installed on the production line. This data collection involves storing the information detected by the sensors within the robot and then transmitting it to a server. Accurate information is necessary because the data from the sensors indicates the status of the production line. The input is the data from the sensors, and the output is the production line data transmitted to the server.
[0387] Step 2: Data transmission
[0388] The factory robot transmits collected production line data to a server at regular intervals. During this process, the data is compressed and encrypted to ensure accurate transmission. The input is the production line data, and the output is the compressed and encrypted data sent to the server.
[0389] Step 3: Data Analysis
[0390] The server analyzes the received data via a data analysis module. Specifically, it uses a natural language processing engine to analyze the meaning of the data and extract the necessary information. This analysis includes data points such as production volume, error rate, and work time. The input is the collected production line data, and the output is the set of analyzed data.
[0391] Step 4: Template Generation
[0392] The server generates an appropriate template using an Excel generation module based on the analyzed data. This template includes predefined data fields and graph formats, making it suitable for data visualization. The input is the analyzed data, and the output is the generated Excel template.
[0393] Step 5: Error Check
[0394] The server checks the integrity of the data in the generated template. If an error is detected, it identifies the cause and generates a message to notify the user. The input is the generated Excel template, and the output is an error message or suggested correction.
[0395] Step 6: Emotion Recognition
[0396] The server analyzes the user's instructions via a voice input device using a natural language processing engine and recognizes the user's emotions through an emotion recognition engine. The input in this process is the user's voice instructions or text input, and the output is the recognized emotional state.
[0397] Step 7: Provide Feedback
[0398] The server uses a feedback generation module to provide appropriate feedback to the user based on the recognized emotions and generated templates. This feedback is delivered to the user through the user interface. The input is the user's emotional state and the generated template, and the output is the feedback message provided to the user.
[0399] Through these steps, the system can efficiently collect and analyze production data, as well as recognize user emotions and provide feedback.
[0400] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0401] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0402] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0403] [Second Embodiment]
[0404] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0405] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0406] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0407] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0408] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0409] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0410] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0411] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0412] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0413] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0414] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0415] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0416] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0417] System Overview
[0418] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0419] Feature details
[0420] Input reception and analysis
[0421] The server receives a message from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the message and extract the graph type (e.g., bar graph, line graph, etc.) and the required data items (e.g., month, sales).
[0422] Specific example:
[0423] When a user enters "I want to create a line graph of monthly sales," the server analyzes this message and identifies keywords such as "monthly," "sales," and "line graph."
[0424] Template generation
[0425] Based on the analysis results, the server generates an Excel template with the appropriate graph format configured. This template has the necessary data fields pre-configured, so the user only needs to input the data to create the graph.
[0426] Specific example:
[0427] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales."
[0428] Template provision
[0429] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0430] Specific example:
[0431] When a user clicks the provided link, they can download a template and enter sales data for January through December.
[0432] Data entry and error checking
[0433] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and presents a solution to the user.
[0434] Specific example:
[0435] If a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1."
[0436] Function input support
[0437] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then enter the formula and perform the necessary calculation by following these instructions.
[0438] Specific example:
[0439] If a user enters "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0440] Through the above functions, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel.
[0441] The following describes the processing flow.
[0442] Understood. The specific actions for each processing step are explained below.
[0443] Step 1:
[0444] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0445] Step 2:
[0446] The server receives the message sent by the user. The received message is held for analysis in the next step.
[0447] Step 3:
[0448] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as the type of graph (e.g., line graph) and necessary data items (e.g., month, sales).
[0449] Step 4:
[0450] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file.
[0451] Step 5:
[0452] The server generates a template selected by the user and pre-configures the necessary data fields (e.g., month, sales). It also configures the graph's appearance.
[0453] Step 6:
[0454] The server provides the user with a generated template. Specifically, the user receives a download link and is able to download the template to their device.
[0455] Step 7:
[0456] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[0457] Step 8:
[0458] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause of the error.
[0459] Step 9:
[0460] The server notifies the user of the solution to the detected error. Specifically, it will display a message such as "Please enter a number in cell A1" through the chat interface.
[0461] Step 10:
[0462] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[0463] Step 11:
[0464] When a user requests support for performing a specific numerical calculation, the server provides the appropriate function or formula. For example, if the user enters "Please tell me the function to calculate the profit margin," the server will suggest "=Profit / Sales."
[0465] Step 12:
[0466] The user enters formulas and functions provided by the server into designated cells within the template. This then performs the necessary calculations.
[0467] In this way, a system is realized in which specific operations proceed step by step, allowing users to efficiently create graphs and perform numerical calculations.
[0468] (Example 1)
[0469] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0470] Traditional methods of creating graphs and performing numerical calculations using Excel require manual operation by the user, which is time-consuming and prone to data entry errors. Furthermore, for users who find entering formulas and functions difficult, the process is complex and inefficient. This hinders the efficiency of business operations.
[0471] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0472] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, and means for assisting the user in entering appropriate mathematical formulas and functions according to their requests. This enables the user to easily and accurately input data, create graphs, and perform numerical calculations.
[0473] "Means of receiving user input" refers to the process by which users input necessary information into the system through a chat interface or other input devices.
[0474] "Means for analyzing received input to identify the graph type and necessary elements" refers to a process that uses natural language processing technology or other analysis methods to automatically identify the graph type and necessary data items from the text entered by the user.
[0475] "Means of generating templates based on identified elements" refers to the process of creating templates with a predetermined format and style according to the analysis results.
[0476] "Means of providing generated templates to users" refers to the process by which the server provides the generated templates to users in a downloadable format.
[0477] "Methods for reflecting user-entered data in templates" refers to the process of automatically setting user-entered data in a template in an appropriate format.
[0478] "Means of detecting errors in templates and providing solutions to those errors" refers to the process of verifying the data within a template and guiding the user on how to correct any input errors or inconsistencies found.
[0479] "Means of assisting users in inputting appropriate formulas and functions according to their requests" refers to the process of providing users with instructions on how to use and apply specific formulas and functions they require.
[0480] "Natural language processing technology" refers to the technology used to analyze text data entered by users and understand its meaning.
[0481] A "template" refers to an electronic document that has a default format or style for users to input data into.
[0482] A "data field" refers to a cell or area within a template that is designated for entering a specific type of information.
[0483] An "error message" refers to a message that notifies the user of a problem or inconsistency found in the entered data and prompts them to correct it.
[0484] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0485] System Overview
[0486] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0487] Input reception and analysis
[0488] The server receives messages sent by the user. The user enters messages using a chat interface. For example, the prompt might be, "I want to create a line graph of monthly sales." The hardware used is a server farm (e.g., a cloud server), and the software uses a web server (e.g., Nginx) and natural language processing libraries (e.g., spaCy, NLTK). The server analyzes the message using natural language processing techniques and extracts keywords such as "monthly," "sales," and "line graph."
[0489] Template generation
[0490] The server generates an Excel template with the appropriate graph format set based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. The hardware also utilizes a server farm, and the software uses Excel processing libraries (e.g., openpyxl, Pandas). For example, it generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales."
[0491] Template provision
[0492] The server provides the user with a generated Excel template. The user can download the template by clicking the provided link. In a specific example, when the user clicks the provided link, they can download the template and enter sales data for January through December. Similarly, a server farm is used for the hardware, and a web server (e.g., Nginx) and a file delivery service (e.g., cloud storage service) are used for the software.
[0493] Data entry and error checking
[0494] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and provides a solution to the user. For example, if a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1." The server uses data validation libraries (e.g., Pandas, NumPy) to perform this process.
[0495] Function input support
[0496] When a user requests assistance to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then input the formula and perform the necessary calculation. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." The server utilizes a formula assistance library (e.g., SymPy) to implement this functionality.
[0497] Example prompt statements
[0498] Examples of prompt messages include the following text:
[0499] I want to create a line graph of monthly sales. Please provide a template.
[0500] Through the process described above, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel, thereby significantly improving work efficiency.
[0501] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0502] Step 1:
[0503] The server accepts input from the user.
[0504] In terms of the specific operation, the user uses the chat interface to type and send a prompt message such as, "I want to create a line graph of monthly sales." The server receives this input message.
[0505] Input: User prompt text
[0506] Output: Received prompt message
[0507] Step 2:
[0508] The server analyzes the received input to identify the type of graph and the necessary elements.
[0509] The server uses natural language processing technology (e.g., spaCy, NLTK) to tokenize and analyze messages. Specifically, it extracts keywords such as "monthly," "sales," and "line graph."
[0510] Input: Received prompt message
[0511] Output: Extracted keywords (e.g., "monthly", "sales", "line graph")
[0512] Step 3:
[0513] Based on the analysis results, the server generates a template based on the identified elements.
[0514] The server uses Excel processing libraries (e.g., openpyxl, Pandas) to create a new Excel file. Specifically, it generates a template for a line graph and sets up a sheet containing data fields for "Month" and "Sales".
[0515] Input: Extracted keywords
[0516] Output: Generated Excel template
[0517] Step 4:
[0518] The server provides the generated template to the user.
[0519] The server saves the generated Excel file and generates a download link for it. Users can download the template by clicking the provided link.
[0520] Input: Generated Excel template
[0521] Output: Download link
[0522] Step 5:
[0523] The user downloads the provided template and enters the required data.
[0524] As a concrete example, a user enters sales data from January to December into an Excel template.
[0525] Input: Provided Excel template
[0526] Output: Template containing the input data
[0527] Step 6:
[0528] The server checks the integrity of the data entered by the user.
[0529] The server uses data validation libraries (e.g., Pandas, NumPy) to validate the data within the template. For example, it checks if a string has been entered into a numeric field, identifies the cause of the error if one occurs, and suggests a solution. Specifically, it displays an error message such as "Please enter a number in cell A1."
[0530] Input: A template containing the entered data.
[0531] Output: Error message or template with verified integrity
[0532] Step 7:
[0533] When a user requests assistance to perform a specific calculation, the server provides the appropriate formulas and functions for input.
[0534] The user enters "Please tell me a function to calculate the profit margin" through the chat interface. The server uses a formula assistance library (e.g., SymPy) to suggest the formula "=Profit / Sales".
[0535] Input: Requests for formulas and functions from the user.
[0536] Output: Proposed formula or function
[0537] (Application Example 1)
[0538] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0539] In recent years, many factories have made progress in automating their production lines, but data collection, analysis, and visualization methods still largely rely on manual processes, resulting in low efficiency. Furthermore, there is an increasing demand for real-time, data-driven analysis, necessitating systems that can meet this requirement. Existing systems also suffer from insufficient error detection and mathematical formula support, and lack a user-friendly interface.
[0540] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0541] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to their requests, means for automatically collecting factory production line data and creating graphs in real time, and means for checking the integrity of data from a data acquisition device. This enables real-time collection and analysis of production data in a factory, error detection, and formula support.
[0542] "Means of receiving user input" refers to a mechanism for collecting requests and data through devices or interfaces operated by the user.
[0543] "Means for analyzing received input to identify the graph type and necessary elements" refers to algorithms or software that process user input to identify the appropriate graph type and necessary data items.
[0544] "Means for generating templates based on identified elements" refers to a system or program for generating templates containing graphs in an appropriate format based on analyzed information.
[0545] "Means of providing the generated templates to users" refers to internet connectivity and server systems for sending the generated templates to users and making them available for use.
[0546] "Means of reflecting user-entered data in templates" refers to processing functions that automatically insert user-provided data into templates and display it appropriately.
[0547] "Means for detecting errors in templates and providing solutions to those errors" refers to a system that detects potential errors that may occur while using a template and provides methods or instructions for correcting them.
[0548] "Means of assisting the input of appropriate formulas and functions according to user requests" refers to a function that presents examples of appropriate formulas and functions and supports input when a user is performing a specific calculation or data processing.
[0549] "A means of automatically collecting factory production line data and creating graphs in real time" refers to a system that collects data in real time from sensors and data acquisition devices installed on the production line and automatically generates graphs based on that data.
[0550] "Means for checking the integrity of data from data acquisition devices" refer to algorithms and software used to verify the integrity and consistency of collected data, and to detect and correct errors and inconsistencies.
[0551] This invention relates to a system for efficiently collecting and analyzing factory production line data and creating and providing graphs in real time. The configuration for realizing this system is described in detail below.
[0552] System Overview
[0553] The system primarily consists of a server, terminals, and a user operating environment. The server plays a central role in processing and analyzing various types of data. Terminals are used by users to operate the system, input data, and view generated graphs. Users provide instructions to the system through the terminals.
[0554] Hardware and software to be used
[0555] Hardware:
[0556] Factory robots: Perform data collection, template generation, error checking, and display.
[0557] IoT devices: Collect data in real time from sensors on the production line.
[0558] software:
[0559] Programs on the server:
[0560] Python
[0561] Pandas and Openpyxl: Used for data processing and Excel manipulation.
[0562] NLPProcessor (a custom module for natural language processing)
[0563] Procedures for data processing and data calculation
[0564] 1. Data collection:
[0565] The system collects data in real time from sensors and IoT devices within the factory and stores it in the robot's data storage. For example, numerous sensors installed at different stages of the production line transmit information such as product defect rates, operating hours, and total production volume.
[0566] 2. Command analysis:
[0567] Instructions from the user are sent to the server via the terminal. When the user inputs a request such as "I want to see the trend of product defect rates every hour in a line graph," the NLP Processor on the server performs natural language processing to analyze and identify the necessary graph type and data items.
[0568] 3. Template generation:
[0569] Based on the analysis results, the server generates an appropriate Excel template. For example, it might generate a "line graph" template and create an Excel file containing data fields for "time" and "defect rate."
[0570] 4. Checking data integrity:
[0571] When a user enters data into a template, the server verifies the integrity of that data. If incorrect strings or data in the wrong format are entered, the server generates an error message and instructs the user to correct the problem.
[0572] 5. Assistance with formula input:
[0573] When a user requests assistance with a specific calculation, the server suggests appropriate formulas or functions. For example, if a user types "Please tell me the formula to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0574] Specific example
[0575] As a practical example, this section describes the processing procedure when a production line receives a request to "display the hourly trend of product defect rates as a line graph." Upon receiving this request, the server collects and analyzes the data, performs error checking, generates an appropriate Excel template, and provides it to the user. The following are examples of specific prompts used when using this system.
[0576] Example of a prompt
[0577] "Please display a line graph showing the hourly trend of the product defect rate."
[0578] "Please create a template for analyzing the relationship between product sales and profit margins."
[0579] "I would like to create a bar graph based on monthly production data."
[0580] Through the above procedure, the present invention provides a system that includes the collection, analysis, error detection, and mathematical formula support of production data within a factory, enabling users to efficiently manage and visualize data.
[0581] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0582] Step 1:
[0583] The server collects data in real time from sensors and IoT devices installed on the factory's production line. The input for this step is production data sent from sensors and IoT devices, and the output is raw data stored on the server. Specifically, the server receives data sent from each sensor and stores it in a dedicated database.
[0584] Step 2:
[0585] The user submits a data visualization request to the server via the terminal. The input in this step is a prompt message entered by the user, and the output is the analysis result based on that prompt message. Specifically, the terminal receives the prompt message from the user and sends it to the server. For example, the user might input, "I would like to see a line graph showing the trend of product defect rates every hour."
[0586] Step 3:
[0587] The server uses natural language processing (NLPProcessor) to analyze user input. The input for this step is the user's prompt text, and the output is the analysis result (graph type and required data items). The server uses the NLPProcessor to analyze the prompt text and identify elements such as "product defect rate per hour" and "line graph".
[0588] Step 4:
[0589] The server generates an Excel template based on the analysis results. The input for this step is the analysis results, and the output is the generated Excel template file. Specifically, the server uses Pandas and Openpyxl to generate an Excel template containing the identified data fields and saves the template to the specified folder.
[0590] Step 5:
[0591] The server provides the user with a link to the generated Excel template. The input for this step is the generated Excel template file, and the output is the link provided to the user. Specifically, the server generates a link that directs the user to the location where the generated template is saved and transmits it to the user.
[0592] Step 6:
[0593] The user enters data into a template. The input in this step is the data entered by the user, and the output is the data reflected in the template. Specifically, the user downloads the template and enters the actual data into the designated fields within the template.
[0594] Step 7:
[0595] The server checks the integrity of the data entered by the user. In this step, the input is the template data entered by the user, and the output is the error check result. The server verifies whether the format of the entered data is correct and notifies the user if any errors are found.
[0596] Step 8:
[0597] When a user requests a specific calculation, the server provides a way to input the appropriate formula or function. In this step, the input is the calculation request, and the output is the proposed formula or function. The server, in response to the user's request, proposes a formula such as "=Profit / Sales" and notifies the user.
[0598] Since maintaining the output format was required, the processing flow was explained in detail step by step, including specific actions and information about inputs and outputs at each step.
[0599] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0600] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel, and further provides appropriate feedback and support based on the user's emotions. The following describes embodiments for carrying out this invention.
[0601] System Overview
[0602] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. In addition to assisting users in entering the formulas and functions they request, it also recognizes emotions from the user's input and customizes the content of feedback and assistance based on those emotions.
[0603] Feature details
[0604] 1. Input reception and analysis
[0605] The server receives messages from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the messages and extract the graph type (e.g., line graph) and required data items (e.g., month, sales). Furthermore, it uses an emotion engine to recognize the user's emotions from the user's input.
[0606] Specific example:
[0607] When a user enters "I want to create a line graph of monthly sales," the server identifies keywords such as "monthly," "sales," and "line graph." At the same time, it analyzes the user's message to determine their emotions (e.g., hurried, anxious, etc.).
[0608] 2. Template generation
[0609] The server generates an Excel template with the appropriate graph format based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. Furthermore, the template's appearance and message tone are adjusted based on the user's sentiment.
[0610] Specific example:
[0611] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales." Furthermore, if the server detects that the user is in a hurry, it provides a "quick creation guide" along with the template.
[0612] 3. Provision of templates
[0613] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0614] Specific example:
[0615] When a user clicks the provided link, they can download a template and enter sales data for January through December. The template also includes the aforementioned guide.
[0616] 4. Data entry and error checking
[0617] When a user enters data into a template, the server checks the data's integrity. If an error occurs, it identifies the cause and presents a solution while being mindful of the user's feelings.
[0618] Specific example:
[0619] If a user mistakenly enters a string into a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need it."
[0620] 5. Function Input Assistance
[0621] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. Furthermore, it adjusts the tone of support based on the user's mood.
[0622] Specific example:
[0623] If a user types "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales," and if it senses the user is feeling unsure, it will provide an additional reassuring message such as "Don't worry, you can easily calculate the profit margin with this formula."
[0624] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[0625] The following describes the processing flow.
[0626] Understood. The specific actions for each processing step are explained below.
[0627] Step 1:
[0628] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0629] Step 2:
[0630] The server receives the message sent by the user. The received message is held for analysis in the next step.
[0631] Step 3:
[0632] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as graph type (e.g., line graph) and necessary data items (e.g., month, sales). At the same time, it uses an emotion engine to recognize the user's emotions (e.g., hurried, anxious).
[0633] Step 4:
[0634] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file. It also adjusts the template's appearance and support tone based on the recognized emotions.
[0635] Step 5:
[0636] The server generates a selected template and pre-configures the necessary data fields (e.g., month, sales). Furthermore, it incorporates additional guidelines and messages tailored to the user's emotions.
[0637] Step 6:
[0638] The server provides users with generated templates. Specifically, users receive a download link and are able to download the templates to their devices. Support messages tailored to the user's emotions are also displayed.
[0639] Step 7:
[0640] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[0641] Step 8:
[0642] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause. Using an emotion engine, it generates error messages that are appropriate to the user's emotions.
[0643] Step 9:
[0644] The server offers solutions that are considerate of the user's feelings. Specifically, it provides messages through the chat interface such as, "Please enter a number in cell A1. If you are in a hurry, please check this link for additional support."
[0645] Step 10:
[0646] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[0647] Step 11:
[0648] When a user requests support to perform a specific numerical calculation, the server provides instructions on how to input the appropriate formulas and functions. The tone and content of the support are adjusted based on the user's emotions.
[0649] Step 12:
[0650] The user enters formulas and functions provided by the server into designated cells within the template. This performs the necessary calculations. Additional explanations are displayed based on the user's emotions.
[0651] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[0652] (Example 2)
[0653] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0654] In today's business environment, users are required to analyze data and create graphs quickly and efficiently. However, currently available systems and tools are difficult for beginners and non-experts to operate, and they often provide uniform feedback without understanding user emotions or intentions, leading to user stress and difficulty. A system is needed to solve these problems and enable users to create and analyze data more easily and comfortably.
[0655] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving input from the user and recognizing emotions, means for analyzing the received input and identifying the type of graph and necessary data items, and means for generating a template based on the identified data items and adjusting the appearance of the template based on the user's emotions. This enables the user to easily and efficiently analyze data and create graphs, and to receive feedback and support that takes into account the user's emotions.
[0656] A "user" is a person or organization that uses the system to create graphs or perform numerical calculations.
[0657] "Input" refers to the information or instructions that a user provides through the system.
[0658] "Emotions" refer to the user's mental state or mood, and the system recognizes this and reflects it in the feedback.
[0659] Natural Language Processing (NLP) is a technology that enables computers to understand, interpret, and generate human language.
[0660] "Graph type" refers to the format of the graph specified by the user (e.g., line graph, bar graph, etc.).
[0661] "Data items" refer to specific data elements necessary for creating graphs or performing numerical calculations (e.g., month, sales).
[0662] A "template" is an Excel file that has been pre-configured to allow users to easily input data.
[0663] "Appearance" refers to the visual design and structure of a template, which is adjusted according to the user's emotions.
[0664] An "error" refers to a problem that occurs when the data entered by the user into the template does not match the expected format or range.
[0665] "Formulas and functions" refer to Excel features used for specific calculations and data processing.
[0666] "Support" refers to assistance and guidance provided by the system to help users with their tasks.
[0667] This invention is a system that assists users in easily and efficiently creating Excel graphs and performing numerical calculations, and further provides user-based feedback and support.
[0668] System Configuration
[0669] This system primarily consists of a server, user terminals, and a chat interface. The server is equipped with powerful hardware and software utilizing natural language processing (NLP) technology to provide various functions such as data reception and analysis, template generation, data integrity checks, function input assistance, and sentiment recognition. Specifically, the server-side NLP uses generative AI models such as BERT and GPT. The user terminals are internet-connected devices that access the system via a web browser or a dedicated chat application.
[0670] Input reception and analysis
[0671] The server receives messages from users via a chat interface. Users input instructions about the type of graph they want to create and the data items they need. For example, if a user inputs the message "I want to create a line graph of monthly sales," the server uses NLP techniques to identify keywords such as "monthly," "sales," and "line graph." At the same time, it uses an emotion engine to analyze the user's emotions (e.g., hurried, anxious, etc.).
[0672] Template generation
[0673] Based on the analysis results, the server generates an Excel template with the appropriate graph format pre-configured. This template has the necessary data fields pre-filled, allowing the user to create the graph simply by entering the data. The server also adjusts the template's appearance and message tone based on the user's mood. For example, the server generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales." If the server detects the user is in a hurry, a "quick creation guide" is provided along with the template.
[0674] Template provision and data entry
[0675] Once a template is generated, the server creates a link to provide the template to the user and sends it to the user's terminal. The user can click the link to download the template and enter sales data for January through December. After the user enters data into the template, the server checks the data's integrity and, if errors occur, provides the cause and solution. For example, if the user mistakenly enters a string in a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need help."
[0676] Function input support
[0677] Furthermore, if a user requests assistance to perform a specific calculation, the server will provide instructions on how to input the appropriate formula or function. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." Additionally, if the server detects that the user is feeling unsure, it will provide an additional message such as, "Don't worry, you can easily calculate the profit margin with this formula."
[0678] Example of a prompt
[0679] Examples of prompts that users enter into the system include the following:
[0680] "I want to create a line graph of monthly sales."
[0681] "Please tell me the function for calculating profit margins."
[0682] "Please check that the data has been entered correctly."
[0683] In this way, the system combines NLP technology and emotion recognition to provide an environment where users can intuitively and efficiently manipulate data.
[0684] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0685] Step 1: Receiving and analyzing user input
[0686] Input: The user enters the type of graph they want to create and the required data items as text via the chat interface.
[0687] Specific action: The user enters "I want to create a line graph of monthly sales."
[0688] Processing: The server receives this message, uses natural language processing (NLP) to identify keywords such as "monthly," "sales," and "line graph," and uses an emotion engine to analyze the user's emotions.
[0689] Output: Analyzed keywords and sentiment information are obtained.
[0690] Step 2: Template Generation
[0691] Input: Analyzed keywords ("monthly", "sales", "line graph") and user sentiment information.
[0692] Specific operation: The server generates an appropriate Excel template and creates a template that includes data fields for "Month" and "Sales" based on the analysis results.
[0693] Processing: Customize the appearance and tone of the message in the template according to the user's mood. For example, if a mood of urgency is detected, the template will include a "Quick Creation Guide."
[0694] Output: A link to the generated Excel template is created.
[0695] Step 3: Provide template
[0696] Input: A link to the generated Excel template.
[0697] Specific action: The server sends the user a download link for the template.
[0698] Process: Allow users to download templates by clicking a link.
[0699] Output: A downloadable link is provided to the user.
[0700] Step 4: Data entry and error checking
[0701] Input: Downloaded Excel template and specific data to be entered by the user (e.g., monthly sales data).
[0702] Specific operation: The user enters their own data (e.g., sales data from January to December) into a template.
[0703] Processing: The server checks the data entered into the template in real time to verify data integrity. If an error is detected, for example, if a string is entered into a numeric field, an error message is displayed.
[0704] Output: The user is presented with the error and its solution.
[0705] Step 5: Assisting with function input
[0706] Input: Specific calculation support requests from users (e.g., "Please provide a function to calculate profit margins").
[0707] Specific operation: The user enters a question about a specific calculation or function.
[0708] Processing: The server parses and provides appropriate formulas and functions. For example, if a user enters "Please tell me a function to calculate the profit margin," it will suggest the formula "=Profit / Sales." Furthermore, if the server detects that the user is feeling unsure, it will add a message such as "Don't worry, you can easily calculate the profit margin with this formula."
[0709] Output: The user is provided with appropriate mathematical formulas and reassuring messages.
[0710] This system enables users to perform data analysis and graph creation by providing efficient and emotionally resonant support at each step, including data reception, analysis, template generation, error checking, and function support.
[0711] (Application Example 2)
[0712] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0713] Conventional production management systems require significant time and effort for data collection and analysis on the production line, making it difficult to provide efficient data management and feedback. Furthermore, feedback that considers the operator's emotions is rarely provided, potentially leading to decreased work efficiency. This invention aims to solve these problems and provide an efficient and emotionally sensitive production management system.
[0714] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to the user's request, means for recognizing the user's emotions and providing feedback based on those emotions, and means for collecting production line data and reflecting it in the template in real time. This enables rapid collection and analysis of production data and allows for feedback that takes into account the operator's emotions.
[0715] "Means of receiving user input" refers to an interface that allows users to input information into a system or device.
[0716] "Means for analyzing received input to identify the graph type and necessary elements" refers to a function that processes information received from the user and identifies the appropriate graph type and necessary data items based on that information.
[0717] "Means for generating templates based on identified elements" refers to a function that automatically creates a standardized format to facilitate data input according to the analyzed elements.
[0718] "Means of providing generated templates to users" refers to a function that provides automatically generated templates so that users can use them.
[0719] "A means of reflecting user-entered data in a template" refers to a function that automatically incorporates user-entered information into a template and visualizes that data.
[0720] "A means of detecting errors in a template and suggesting solutions to those errors" refers to a function that verifies the integrity of the data entered into the template, notifies the user of the cause of any errors, and provides appropriate corrective measures.
[0721] "Means of assisting the input of appropriate mathematical formulas and functions according to user requests" refers to functions that instruct the user on how to input the calculations and functions they require and assist in that input.
[0722] "A means of recognizing user emotions and providing feedback based on those emotions" refers to a function that analyzes user emotions from their statements and actions and provides appropriate advice or messages corresponding to those emotions.
[0723] "A means of collecting production line data and reflecting it in templates in real time" refers to a function that instantly collects data from the production site and reflects it in templates in real time.
[0724] System Overview
[0725] This invention uses a factory robot and its associated server system to efficiently collect and analyze data from a production line and provide users with emotionally sensitive feedback.
[0726] Hardware configuration
[0727] The system uses the following hardware:
[0728] 1. Factory robots: Collect data from the production line and send it to the server.
[0729] 2. Sensors: These are installed at various points along the production line to acquire various data (production volume, error rate, work time, etc.) in real time.
[0730] 3. Voice input device: A device for receiving voice input from the user.
[0731] 4. Server: Performs tasks such as data analysis, template generation, sentiment recognition, and feedback provision.
[0732] Software Configuration
[0733] The system uses the following software:
[0734] 1. Natural Language Processing (NLP) Engine: Analyzes user input and extracts necessary information.
[0735] 2. Emotion Recognition Engine: Recognizes emotions from the user's voice and text.
[0736] 3. Data Analysis Module: Analyzes data collected from the production line and reflects it in the template.
[0737] 4. Excel Generation Module: Based on the analysis results, it generates an appropriate template in Excel format.
[0738] 5. Feedback generation module: Provides appropriate feedback based on the user's emotions.
[0739] Processing flow
[0740] 1. Data collection:
[0741] Factory robots collect data from the production line in real time through sensors and transmit that data to a server.
[0742] 2. Data Analysis:
[0743] The server processes the received data using a data analysis module and reflects the results in a template using an Excel generation module. If the data contains errors, it performs error checking and includes the solutions in the template.
[0744] 3. Emotion recognition:
[0745] When a user gives instructions to the system via a voice input device, a natural language processing engine analyzes those instructions. Simultaneously, an emotion recognition engine recognizes the user's emotions and generates appropriate feedback based on them.
[0746] 4. Provide feedback:
[0747] The server, along with the generated template, uses a feedback generation module to send appropriate messages to the user. This allows the user to confidently input and modify data.
[0748] Specific example
[0749] For example, if a user instructs the robot to "check today's production line data," the robot will immediately collect the data and reflect it as a graph in a specified Excel template. At the same time, if the operator gives an anxious instruction such as "the task isn't working," the robot will provide a message saying, "Please stay calm. The data is being collected correctly," to reassure the user.
[0750] Example of a prompt
[0751] text
[0752] Collect production line data and generate Excel graphs. Additionally, recognize user emotions from their input and provide appropriate feedback.
[0753] This allows the system to respond to user requests quickly and accurately, improving production efficiency and user satisfaction.
[0754] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0755] Step 1: Data Collection
[0756] Factory robots collect data in real time (production volume, error rate, work time, etc.) from sensors installed on the production line. This data collection involves storing the information detected by the sensors within the robot and then transmitting it to a server. Accurate information is necessary because the data from the sensors indicates the status of the production line. The input is the data from the sensors, and the output is the production line data transmitted to the server.
[0757] Step 2: Data transmission
[0758] The factory robot transmits collected production line data to a server at regular intervals. During this process, the data is compressed and encrypted to ensure accurate transmission. The input is the production line data, and the output is the compressed and encrypted data sent to the server.
[0759] Step 3: Data Analysis
[0760] The server analyzes the received data via a data analysis module. Specifically, it uses a natural language processing engine to analyze the meaning of the data and extract the necessary information. This analysis includes data points such as production volume, error rate, and work time. The input is the collected production line data, and the output is the set of analyzed data.
[0761] Step 4: Template Generation
[0762] The server generates an appropriate template using an Excel generation module based on the analyzed data. This template includes predefined data fields and graph formats, making it suitable for data visualization. The input is the analyzed data, and the output is the generated Excel template.
[0763] Step 5: Error Check
[0764] The server checks the integrity of the data in the generated template. If an error is detected, it identifies the cause and generates a message to notify the user. The input is the generated Excel template, and the output is an error message or suggested correction.
[0765] Step 6: Emotion Recognition
[0766] The server analyzes the user's instructions via a voice input device using a natural language processing engine and recognizes the user's emotions through an emotion recognition engine. The input in this process is the user's voice instructions or text input, and the output is the recognized emotional state.
[0767] Step 7: Provide Feedback
[0768] The server uses a feedback generation module to provide appropriate feedback to the user based on the recognized emotions and generated templates. This feedback is delivered to the user through the user interface. The input is the user's emotional state and the generated template, and the output is the feedback message provided to the user.
[0769] Through these steps, the system can efficiently collect and analyze production data, as well as recognize user emotions and provide feedback.
[0770] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0771] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0772] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0773] [Third Embodiment]
[0774] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0775] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0776] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0777] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0778] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0779] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0780] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0781] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0782] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0783] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0784] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0785] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0786] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0787] System Overview
[0788] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0789] Feature details
[0790] Input reception and analysis
[0791] The server receives a message from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the message and extract the graph type (e.g., bar graph, line graph, etc.) and the required data items (e.g., month, sales).
[0792] Specific example:
[0793] When a user enters "I want to create a line graph of monthly sales," the server analyzes this message and identifies keywords such as "monthly," "sales," and "line graph."
[0794] Template generation
[0795] Based on the analysis results, the server generates an Excel template with the appropriate graph format configured. This template has the necessary data fields pre-configured, so the user only needs to input the data to create the graph.
[0796] Specific example:
[0797] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales."
[0798] Template provision
[0799] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0800] Specific example:
[0801] When a user clicks the provided link, they can download a template and enter sales data for January through December.
[0802] Data entry and error checking
[0803] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and presents a solution to the user.
[0804] Specific example:
[0805] If a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1."
[0806] Function input support
[0807] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then enter the formula and perform the necessary calculation by following these instructions.
[0808] Specific example:
[0809] If a user enters "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0810] Through the above functions, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel.
[0811] The following describes the processing flow.
[0812] Understood. The specific actions for each processing step are explained below.
[0813] Step 1:
[0814] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0815] Step 2:
[0816] The server receives the message sent by the user. The received message is held for analysis in the next step.
[0817] Step 3:
[0818] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as the type of graph (e.g., line graph) and necessary data items (e.g., month, sales).
[0819] Step 4:
[0820] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file.
[0821] Step 5:
[0822] The server generates a template selected by the user and pre-configures the necessary data fields (e.g., month, sales). It also configures the graph's appearance.
[0823] Step 6:
[0824] The server provides the user with a generated template. Specifically, the user receives a download link and is able to download the template to their device.
[0825] Step 7:
[0826] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[0827] Step 8:
[0828] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause of the error.
[0829] Step 9:
[0830] The server notifies the user of the solution to the detected error. Specifically, it will display a message such as "Please enter a number in cell A1" through the chat interface.
[0831] Step 10:
[0832] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[0833] Step 11:
[0834] When a user requests support for performing a specific numerical calculation, the server provides the appropriate function or formula. For example, if the user enters "Please tell me the function to calculate the profit margin," the server will suggest "=Profit / Sales."
[0835] Step 12:
[0836] The user enters formulas and functions provided by the server into designated cells within the template. This then performs the necessary calculations.
[0837] In this way, a system is realized in which specific operations proceed step by step, allowing users to efficiently create graphs and perform numerical calculations.
[0838] (Example 1)
[0839] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0840] Traditional methods of creating graphs and performing numerical calculations using Excel require manual operation by the user, which is time-consuming and prone to data entry errors. Furthermore, for users who find entering formulas and functions difficult, the process is complex and inefficient. This hinders the efficiency of business operations.
[0841] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0842] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, and means for assisting the user in entering appropriate mathematical formulas and functions according to their requests. This enables the user to easily and accurately input data, create graphs, and perform numerical calculations.
[0843] "Means of receiving user input" refers to the process by which users input necessary information into the system through a chat interface or other input devices.
[0844] "Means for analyzing received input to identify the graph type and necessary elements" refers to a process that uses natural language processing technology or other analysis methods to automatically identify the graph type and necessary data items from the text entered by the user.
[0845] "Means of generating templates based on identified elements" refers to the process of creating templates with a predetermined format and style according to the analysis results.
[0846] "Means of providing generated templates to users" refers to the process by which the server provides the generated templates to users in a downloadable format.
[0847] "Methods for reflecting user-entered data in templates" refers to the process of automatically setting user-entered data in a template in an appropriate format.
[0848] "Means of detecting errors in templates and providing solutions to those errors" refers to the process of verifying the data within a template and guiding the user on how to correct any input errors or inconsistencies found.
[0849] "Means of assisting users in inputting appropriate formulas and functions according to their requests" refers to the process of providing users with instructions on how to use and apply specific formulas and functions they require.
[0850] "Natural language processing technology" refers to the technology used to analyze text data entered by users and understand its meaning.
[0851] A "template" refers to an electronic document that has a default format or style for users to input data into.
[0852] A "data field" refers to a cell or area within a template that is designated for entering a specific type of information.
[0853] An "error message" refers to a message that notifies the user of a problem or inconsistency found in the entered data and prompts them to correct it.
[0854] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[0855] System Overview
[0856] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[0857] Input reception and analysis
[0858] The server receives messages sent by the user. The user enters messages using a chat interface. For example, the prompt might be, "I want to create a line graph of monthly sales." The hardware used is a server farm (e.g., a cloud server), and the software uses a web server (e.g., Nginx) and natural language processing libraries (e.g., spaCy, NLTK). The server analyzes the message using natural language processing techniques and extracts keywords such as "monthly," "sales," and "line graph."
[0859] Template generation
[0860] The server generates an Excel template with the appropriate graph format set based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. The hardware also utilizes a server farm, and the software uses Excel processing libraries (e.g., openpyxl, Pandas). For example, it generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales."
[0861] Template provision
[0862] The server provides the user with a generated Excel template. The user can download the template by clicking the provided link. In a specific example, when the user clicks the provided link, they can download the template and enter sales data for January through December. Similarly, a server farm is used for the hardware, and a web server (e.g., Nginx) and a file delivery service (e.g., cloud storage service) are used for the software.
[0863] Data entry and error checking
[0864] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and provides a solution to the user. For example, if a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1." The server uses data validation libraries (e.g., Pandas, NumPy) to perform this process.
[0865] Function input support
[0866] When a user requests assistance to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then input the formula and perform the necessary calculation. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." The server utilizes a formula assistance library (e.g., SymPy) to implement this functionality.
[0867] Example prompt statements
[0868] Examples of prompt messages include the following text:
[0869] I want to create a line graph of monthly sales. Please provide a template.
[0870] Through the process described above, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel, thereby significantly improving work efficiency.
[0871] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0872] Step 1:
[0873] The server accepts input from the user.
[0874] In terms of the specific operation, the user uses the chat interface to type and send a prompt message such as, "I want to create a line graph of monthly sales." The server receives this input message.
[0875] Input: User prompt text
[0876] Output: Received prompt message
[0877] Step 2:
[0878] The server analyzes the received input to identify the type of graph and the necessary elements.
[0879] The server uses natural language processing technology (e.g., spaCy, NLTK) to tokenize and analyze messages. Specifically, it extracts keywords such as "monthly," "sales," and "line graph."
[0880] Input: Received prompt message
[0881] Output: Extracted keywords (e.g., "monthly", "sales", "line graph")
[0882] Step 3:
[0883] Based on the analysis results, the server generates a template based on the identified elements.
[0884] The server uses Excel processing libraries (e.g., openpyxl, Pandas) to create a new Excel file. Specifically, it generates a template for a line graph and sets up a sheet containing data fields for "Month" and "Sales".
[0885] Input: Extracted keywords
[0886] Output: Generated Excel template
[0887] Step 4:
[0888] The server provides the generated template to the user.
[0889] The server saves the generated Excel file and generates a download link for it. Users can download the template by clicking the provided link.
[0890] Input: Generated Excel template
[0891] Output: Download link
[0892] Step 5:
[0893] The user downloads the provided template and enters the required data.
[0894] As a concrete example, a user enters sales data from January to December into an Excel template.
[0895] Input: Provided Excel template
[0896] Output: Template containing the input data
[0897] Step 6:
[0898] The server checks the integrity of the data entered by the user.
[0899] The server uses data validation libraries (e.g., Pandas, NumPy) to validate the data within the template. For example, it checks if a string has been entered into a numeric field, identifies the cause of the error if one occurs, and suggests a solution. Specifically, it displays an error message such as "Please enter a number in cell A1."
[0900] Input: A template containing the entered data.
[0901] Output: Error message or template with verified integrity
[0902] Step 7:
[0903] When a user requests assistance to perform a specific calculation, the server provides the appropriate formulas and functions for input.
[0904] The user enters "Please tell me a function to calculate the profit margin" through the chat interface. The server uses a formula assistance library (e.g., SymPy) to suggest the formula "=Profit / Sales".
[0905] Input: Requests for formulas and functions from the user.
[0906] Output: Proposed formula or function
[0907] (Application Example 1)
[0908] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0909] In recent years, many factories have made progress in automating their production lines, but data collection, analysis, and visualization methods still largely rely on manual processes, resulting in low efficiency. Furthermore, there is an increasing demand for real-time, data-driven analysis, necessitating systems that can meet this requirement. Existing systems also suffer from insufficient error detection and mathematical formula support, and lack a user-friendly interface.
[0910] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0911] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to their requests, means for automatically collecting factory production line data and creating graphs in real time, and means for checking the integrity of data from a data acquisition device. This enables real-time collection and analysis of production data in a factory, error detection, and formula support.
[0912] "Means of receiving user input" refers to a mechanism for collecting requests and data through devices or interfaces operated by the user.
[0913] "Means for analyzing received input to identify the graph type and necessary elements" refers to algorithms or software that process user input to identify the appropriate graph type and necessary data items.
[0914] "Means for generating templates based on identified elements" refers to a system or program for generating templates containing graphs in an appropriate format based on analyzed information.
[0915] "Means of providing the generated templates to users" refers to internet connectivity and server systems for sending the generated templates to users and making them available for use.
[0916] "Means of reflecting user-entered data in templates" refers to processing functions that automatically insert user-provided data into templates and display it appropriately.
[0917] "Means for detecting errors in templates and providing solutions to those errors" refers to a system that detects potential errors that may occur while using a template and provides methods or instructions for correcting them.
[0918] "Means of assisting the input of appropriate formulas and functions according to user requests" refers to a function that presents examples of appropriate formulas and functions and supports input when a user is performing a specific calculation or data processing.
[0919] "A means of automatically collecting factory production line data and creating graphs in real time" refers to a system that collects data in real time from sensors and data acquisition devices installed on the production line and automatically generates graphs based on that data.
[0920] "Means for checking the integrity of data from data acquisition devices" refer to algorithms and software used to verify the integrity and consistency of collected data, and to detect and correct errors and inconsistencies.
[0921] This invention relates to a system for efficiently collecting and analyzing factory production line data and creating and providing graphs in real time. The configuration for realizing this system is described in detail below.
[0922] System Overview
[0923] The system primarily consists of a server, terminals, and a user operating environment. The server plays a central role in processing and analyzing various types of data. Terminals are used by users to operate the system, input data, and view generated graphs. Users provide instructions to the system through the terminals.
[0924] Hardware and software to be used
[0925] Hardware:
[0926] Factory robots: Perform data collection, template generation, error checking, and display.
[0927] IoT devices: Collect data in real time from sensors on the production line.
[0928] software:
[0929] Programs on the server:
[0930] Python
[0931] Pandas and Openpyxl: Used for data processing and Excel manipulation.
[0932] NLPProcessor (a custom module for natural language processing)
[0933] Procedures for data processing and data calculation
[0934] 1. Data collection:
[0935] The system collects data in real time from sensors and IoT devices within the factory and stores it in the robot's data storage. For example, numerous sensors installed at different stages of the production line transmit information such as product defect rates, operating hours, and total production volume.
[0936] 2. Command analysis:
[0937] Instructions from the user are sent to the server via the terminal. When the user inputs a request such as "I want to see the trend of product defect rates every hour in a line graph," the NLP Processor on the server performs natural language processing to analyze and identify the necessary graph type and data items.
[0938] 3. Template generation:
[0939] Based on the analysis results, the server generates an appropriate Excel template. For example, it might generate a "line graph" template and create an Excel file containing data fields for "time" and "defect rate."
[0940] 4. Checking data integrity:
[0941] When a user enters data into a template, the server verifies the integrity of that data. If incorrect strings or data in the wrong format are entered, the server generates an error message and instructs the user to correct the problem.
[0942] 5. Assistance with formula input:
[0943] When a user requests assistance with a specific calculation, the server suggests appropriate formulas or functions. For example, if a user types "Please tell me the formula to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[0944] Specific example
[0945] As a practical example, this section describes the processing procedure when a production line receives a request to "display the hourly trend of product defect rates as a line graph." Upon receiving this request, the server collects and analyzes the data, performs error checking, generates an appropriate Excel template, and provides it to the user. The following are examples of specific prompts used when using this system.
[0946] Example of a prompt
[0947] "Please display a line graph showing the hourly trend of the product defect rate."
[0948] "Please create a template for analyzing the relationship between product sales and profit margins."
[0949] "I would like to create a bar graph based on monthly production data."
[0950] Through the above procedure, the present invention provides a system that includes the collection, analysis, error detection, and mathematical formula support of production data within a factory, enabling users to efficiently manage and visualize data.
[0951] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0952] Step 1:
[0953] The server collects data in real time from sensors and IoT devices installed on the factory's production line. The input for this step is production data sent from sensors and IoT devices, and the output is raw data stored on the server. Specifically, the server receives data sent from each sensor and stores it in a dedicated database.
[0954] Step 2:
[0955] The user submits a data visualization request to the server via the terminal. The input in this step is a prompt message entered by the user, and the output is the analysis result based on that prompt message. Specifically, the terminal receives the prompt message from the user and sends it to the server. For example, the user might input, "I would like to see a line graph showing the trend of product defect rates every hour."
[0956] Step 3:
[0957] The server uses natural language processing (NLPProcessor) to analyze user input. The input for this step is the user's prompt text, and the output is the analysis result (graph type and required data items). The server uses the NLPProcessor to analyze the prompt text and identify elements such as "product defect rate per hour" and "line graph".
[0958] Step 4:
[0959] The server generates an Excel template based on the analysis results. The input for this step is the analysis results, and the output is the generated Excel template file. Specifically, the server uses Pandas and Openpyxl to generate an Excel template containing the identified data fields and saves the template to the specified folder.
[0960] Step 5:
[0961] The server provides the user with a link to the generated Excel template. The input for this step is the generated Excel template file, and the output is the link provided to the user. Specifically, the server generates a link that directs the user to the location where the generated template is saved and transmits it to the user.
[0962] Step 6:
[0963] The user enters data into a template. The input in this step is the data entered by the user, and the output is the data reflected in the template. Specifically, the user downloads the template and enters the actual data into the designated fields within the template.
[0964] Step 7:
[0965] The server checks the integrity of the data entered by the user. In this step, the input is the template data entered by the user, and the output is the error check result. The server verifies whether the format of the entered data is correct and notifies the user if any errors are found.
[0966] Step 8:
[0967] When a user requests a specific calculation, the server provides a way to input the appropriate formula or function. In this step, the input is the calculation request, and the output is the proposed formula or function. The server, in response to the user's request, proposes a formula such as "=Profit / Sales" and notifies the user.
[0968] Since maintaining the output format was required, the processing flow was explained in detail step by step, including specific actions and information about inputs and outputs at each step.
[0969] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0970] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel, and further provides appropriate feedback and support based on the user's emotions. The following describes embodiments for carrying out this invention.
[0971] System Overview
[0972] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. In addition to assisting users in entering the formulas and functions they request, it also recognizes emotions from the user's input and customizes the content of feedback and assistance based on those emotions.
[0973] Feature details
[0974] 1. Input reception and analysis
[0975] The server receives messages from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the messages and extract the graph type (e.g., line graph) and required data items (e.g., month, sales). Furthermore, it uses an emotion engine to recognize the user's emotions from the user's input.
[0976] Specific example:
[0977] When a user enters "I want to create a line graph of monthly sales," the server identifies keywords such as "monthly," "sales," and "line graph." At the same time, it analyzes the user's message to determine their emotions (e.g., hurried, anxious, etc.).
[0978] 2. Template generation
[0979] The server generates an Excel template with the appropriate graph format based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. Furthermore, the template's appearance and message tone are adjusted based on the user's sentiment.
[0980] Specific example:
[0981] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales." Furthermore, if the server detects that the user is in a hurry, it provides a "quick creation guide" along with the template.
[0982] 3. Provision of templates
[0983] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[0984] Specific example:
[0985] When a user clicks the provided link, they can download a template and enter sales data for January through December. The template also includes the aforementioned guide.
[0986] 4. Data entry and error checking
[0987] When a user enters data into a template, the server checks the data's integrity. If an error occurs, it identifies the cause and presents a solution while being mindful of the user's feelings.
[0988] Specific example:
[0989] If a user mistakenly enters a string into a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need it."
[0990] 5. Function Input Assistance
[0991] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. Furthermore, it adjusts the tone of support based on the user's mood.
[0992] Specific example:
[0993] If a user types "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales," and if it senses the user is feeling unsure, it will provide an additional reassuring message such as "Don't worry, you can easily calculate the profit margin with this formula."
[0994] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[0995] The following describes the processing flow.
[0996] Understood. The specific actions for each processing step are explained below.
[0997] Step 1:
[0998] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[0999] Step 2:
[1000] The server receives the message sent by the user. The received message is held for analysis in the next step.
[1001] Step 3:
[1002] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as graph type (e.g., line graph) and necessary data items (e.g., month, sales). At the same time, it uses an emotion engine to recognize the user's emotions (e.g., hurried, anxious).
[1003] Step 4:
[1004] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file. It also adjusts the template's appearance and support tone based on the recognized emotions.
[1005] Step 5:
[1006] The server generates a selected template and pre-configures the necessary data fields (e.g., month, sales). Furthermore, it incorporates additional guidelines and messages tailored to the user's emotions.
[1007] Step 6:
[1008] The server provides users with generated templates. Specifically, users receive a download link and are able to download the templates to their devices. Support messages tailored to the user's emotions are also displayed.
[1009] Step 7:
[1010] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[1011] Step 8:
[1012] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause. Using an emotion engine, it generates error messages that are appropriate to the user's emotions.
[1013] Step 9:
[1014] The server offers solutions that are considerate of the user's feelings. Specifically, it provides messages through the chat interface such as, "Please enter a number in cell A1. If you are in a hurry, please check this link for additional support."
[1015] Step 10:
[1016] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[1017] Step 11:
[1018] When a user requests support to perform a specific numerical calculation, the server provides instructions on how to input the appropriate formulas and functions. The tone and content of the support are adjusted based on the user's emotions.
[1019] Step 12:
[1020] The user enters formulas and functions provided by the server into designated cells within the template. This performs the necessary calculations. Additional explanations are displayed based on the user's emotions.
[1021] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[1022] (Example 2)
[1023] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1024] In today's business environment, users are required to analyze data and create graphs quickly and efficiently. However, currently available systems and tools are difficult for beginners and non-experts to operate, and they often provide uniform feedback without understanding user emotions or intentions, leading to user stress and difficulty. A system is needed to solve these problems and enable users to create and analyze data more easily and comfortably.
[1025] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving input from the user and recognizing emotions, means for analyzing the received input and identifying the type of graph and necessary data items, and means for generating a template based on the identified data items and adjusting the appearance of the template based on the user's emotions. This enables the user to easily and efficiently analyze data and create graphs, and to receive feedback and support that takes into account the user's emotions.
[1026] A "user" is a person or organization that uses the system to create graphs or perform numerical calculations.
[1027] "Input" refers to the information or instructions that a user provides through the system.
[1028] "Emotions" refer to the user's mental state or mood, and the system recognizes this and reflects it in the feedback.
[1029] Natural Language Processing (NLP) is a technology that enables computers to understand, interpret, and generate human language.
[1030] "Graph type" refers to the format of the graph specified by the user (e.g., line graph, bar graph, etc.).
[1031] "Data items" refer to specific data elements necessary for creating graphs or performing numerical calculations (e.g., month, sales).
[1032] A "template" is an Excel file that has been pre-configured to allow users to easily input data.
[1033] "Appearance" refers to the visual design and structure of a template, which is adjusted according to the user's emotions.
[1034] An "error" refers to a problem that occurs when the data entered by the user into the template does not match the expected format or range.
[1035] "Formulas and functions" refer to Excel features used for specific calculations and data processing.
[1036] "Support" refers to assistance and guidance provided by the system to help users with their tasks.
[1037] This invention is a system that assists users in easily and efficiently creating Excel graphs and performing numerical calculations, and further provides user-based feedback and support.
[1038] System Configuration
[1039] This system primarily consists of a server, user terminals, and a chat interface. The server is equipped with powerful hardware and software utilizing natural language processing (NLP) technology to provide various functions such as data reception and analysis, template generation, data integrity checks, function input assistance, and sentiment recognition. Specifically, the server-side NLP uses generative AI models such as BERT and GPT. The user terminals are internet-connected devices that access the system via a web browser or a dedicated chat application.
[1040] Input reception and analysis
[1041] The server receives messages from users via a chat interface. Users input instructions about the type of graph they want to create and the data items they need. For example, if a user inputs the message "I want to create a line graph of monthly sales," the server uses NLP techniques to identify keywords such as "monthly," "sales," and "line graph." At the same time, it uses an emotion engine to analyze the user's emotions (e.g., hurried, anxious, etc.).
[1042] Template generation
[1043] Based on the analysis results, the server generates an Excel template with the appropriate graph format pre-configured. This template has the necessary data fields pre-filled, allowing the user to create the graph simply by entering the data. The server also adjusts the template's appearance and message tone based on the user's mood. For example, the server generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales." If the server detects the user is in a hurry, a "quick creation guide" is provided along with the template.
[1044] Template provision and data entry
[1045] Once a template is generated, the server creates a link to provide the template to the user and sends it to the user's terminal. The user can click the link to download the template and enter sales data for January through December. After the user enters data into the template, the server checks the data's integrity and, if errors occur, provides the cause and solution. For example, if the user mistakenly enters a string in a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need help."
[1046] Function input support
[1047] Furthermore, if a user requests assistance to perform a specific calculation, the server will provide instructions on how to input the appropriate formula or function. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." Additionally, if the server detects that the user is feeling unsure, it will provide an additional message such as, "Don't worry, you can easily calculate the profit margin with this formula."
[1048] Example of a prompt
[1049] Examples of prompts that users enter into the system include the following:
[1050] "I want to create a line graph of monthly sales."
[1051] "Please tell me the function for calculating profit margins."
[1052] "Please check that the data has been entered correctly."
[1053] In this way, the system combines NLP technology and emotion recognition to provide an environment where users can intuitively and efficiently manipulate data.
[1054] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1055] Step 1: Receiving and analyzing user input
[1056] Input: The user enters the type of graph they want to create and the required data items as text via the chat interface.
[1057] Specific action: The user enters "I want to create a line graph of monthly sales."
[1058] Processing: The server receives this message, uses natural language processing (NLP) to identify keywords such as "monthly," "sales," and "line graph," and uses an emotion engine to analyze the user's emotions.
[1059] Output: Analyzed keywords and sentiment information are obtained.
[1060] Step 2: Template Generation
[1061] Input: Analyzed keywords ("monthly", "sales", "line graph") and user sentiment information.
[1062] Specific operation: The server generates an appropriate Excel template and creates a template that includes data fields for "Month" and "Sales" based on the analysis results.
[1063] Processing: Customize the appearance and tone of the message in the template according to the user's mood. For example, if a mood of urgency is detected, the template will include a "Quick Creation Guide."
[1064] Output: A link to the generated Excel template is created.
[1065] Step 3: Provide template
[1066] Input: A link to the generated Excel template.
[1067] Specific action: The server sends the user a download link for the template.
[1068] Process: Allow users to download templates by clicking a link.
[1069] Output: A downloadable link is provided to the user.
[1070] Step 4: Data entry and error checking
[1071] Input: Downloaded Excel template and specific data to be entered by the user (e.g., monthly sales data).
[1072] Specific operation: The user enters their own data (e.g., sales data from January to December) into a template.
[1073] Processing: The server checks the data entered into the template in real time to verify data integrity. If an error is detected, for example, if a string is entered into a numeric field, an error message is displayed.
[1074] Output: The user is presented with the error and its solution.
[1075] Step 5: Assisting with function input
[1076] Input: Specific calculation support requests from users (e.g., "Please provide a function to calculate profit margins").
[1077] Specific operation: The user enters a question about a specific calculation or function.
[1078] Processing: The server parses and provides appropriate formulas and functions. For example, if a user enters "Please tell me a function to calculate the profit margin," it will suggest the formula "=Profit / Sales." Furthermore, if the server detects that the user is feeling unsure, it will add a message such as "Don't worry, you can easily calculate the profit margin with this formula."
[1079] Output: The user is provided with appropriate mathematical formulas and reassuring messages.
[1080] This system enables users to perform data analysis and graph creation by providing efficient and emotionally resonant support at each step, including data reception, analysis, template generation, error checking, and function support.
[1081] (Application Example 2)
[1082] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1083] Conventional production management systems require significant time and effort for data collection and analysis on the production line, making it difficult to provide efficient data management and feedback. Furthermore, feedback that considers the operator's emotions is rarely provided, potentially leading to decreased work efficiency. This invention aims to solve these problems and provide an efficient and emotionally sensitive production management system.
[1084] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to the user's request, means for recognizing the user's emotions and providing feedback based on those emotions, and means for collecting production line data and reflecting it in the template in real time. This enables rapid collection and analysis of production data and allows for feedback that takes into account the operator's emotions.
[1085] "Means of receiving user input" refers to an interface that allows users to input information into a system or device.
[1086] "Means for analyzing received input to identify the graph type and necessary elements" refers to a function that processes information received from the user and identifies the appropriate graph type and necessary data items based on that information.
[1087] "Means for generating templates based on identified elements" refers to a function that automatically creates a standardized format to facilitate data input according to the analyzed elements.
[1088] "Means of providing generated templates to users" refers to a function that provides automatically generated templates so that users can use them.
[1089] "A means of reflecting user-entered data in a template" refers to a function that automatically incorporates user-entered information into a template and visualizes that data.
[1090] "A means of detecting errors in a template and suggesting solutions to those errors" refers to a function that verifies the integrity of the data entered into the template, notifies the user of the cause of any errors, and provides appropriate corrective measures.
[1091] "Means of assisting the input of appropriate mathematical formulas and functions according to user requests" refers to functions that instruct the user on how to input the calculations and functions they require and assist in that input.
[1092] "A means of recognizing user emotions and providing feedback based on those emotions" refers to a function that analyzes user emotions from their statements and actions and provides appropriate advice or messages corresponding to those emotions.
[1093] "A means of collecting production line data and reflecting it in templates in real time" refers to a function that instantly collects data from the production site and reflects it in templates in real time.
[1094] System Overview
[1095] This invention uses a factory robot and its associated server system to efficiently collect and analyze data from a production line and provide users with emotionally sensitive feedback.
[1096] Hardware configuration
[1097] The system uses the following hardware:
[1098] 1. Factory robots: Collect data from the production line and send it to the server.
[1099] 2. Sensors: These are installed at various points along the production line to acquire various data (production volume, error rate, work time, etc.) in real time.
[1100] 3. Voice input device: A device for receiving voice input from the user.
[1101] 4. Server: Performs tasks such as data analysis, template generation, sentiment recognition, and feedback provision.
[1102] Software Configuration
[1103] The system uses the following software:
[1104] 1. Natural Language Processing (NLP) Engine: Analyzes user input and extracts necessary information.
[1105] 2. Emotion Recognition Engine: Recognizes emotions from the user's voice and text.
[1106] 3. Data Analysis Module: Analyzes data collected from the production line and reflects it in the template.
[1107] 4. Excel Generation Module: Based on the analysis results, it generates an appropriate template in Excel format.
[1108] 5. Feedback generation module: Provides appropriate feedback based on the user's emotions.
[1109] Processing flow
[1110] 1. Data collection:
[1111] Factory robots collect data from the production line in real time through sensors and transmit that data to a server.
[1112] 2. Data Analysis:
[1113] The server processes the received data using a data analysis module and reflects the results in a template using an Excel generation module. If the data contains errors, it performs error checking and includes the solutions in the template.
[1114] 3. Emotion recognition:
[1115] When a user gives instructions to the system via a voice input device, a natural language processing engine analyzes those instructions. Simultaneously, an emotion recognition engine recognizes the user's emotions and generates appropriate feedback based on them.
[1116] 4. Provide feedback:
[1117] The server, along with the generated template, uses a feedback generation module to send appropriate messages to the user. This allows the user to confidently input and modify data.
[1118] Specific example
[1119] For example, if a user instructs the robot to "check today's production line data," the robot will immediately collect the data and reflect it as a graph in a specified Excel template. At the same time, if the operator gives an anxious instruction such as "the task isn't working," the robot will provide a message saying, "Please stay calm. The data is being collected correctly," to reassure the user.
[1120] Example of a prompt
[1121] text
[1122] Collect production line data and generate Excel graphs. Additionally, recognize user emotions from their input and provide appropriate feedback.
[1123] This allows the system to respond to user requests quickly and accurately, improving production efficiency and user satisfaction.
[1124] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1125] Step 1: Data Collection
[1126] Factory robots collect data in real time (production volume, error rate, work time, etc.) from sensors installed on the production line. This data collection involves storing the information detected by the sensors within the robot and then transmitting it to a server. Accurate information is necessary because the data from the sensors indicates the status of the production line. The input is the data from the sensors, and the output is the production line data transmitted to the server.
[1127] Step 2: Data transmission
[1128] The factory robot transmits collected production line data to a server at regular intervals. During this process, the data is compressed and encrypted to ensure accurate transmission. The input is the production line data, and the output is the compressed and encrypted data sent to the server.
[1129] Step 3: Data Analysis
[1130] The server analyzes the received data via a data analysis module. Specifically, it uses a natural language processing engine to analyze the meaning of the data and extract the necessary information. This analysis includes data points such as production volume, error rate, and work time. The input is the collected production line data, and the output is the set of analyzed data.
[1131] Step 4: Template Generation
[1132] The server generates an appropriate template using an Excel generation module based on the analyzed data. This template includes predefined data fields and graph formats, making it suitable for data visualization. The input is the analyzed data, and the output is the generated Excel template.
[1133] Step 5: Error Check
[1134] The server checks the integrity of the data in the generated template. If an error is detected, it identifies the cause and generates a message to notify the user. The input is the generated Excel template, and the output is an error message or suggested correction.
[1135] Step 6: Emotion Recognition
[1136] The server analyzes the user's instructions via a voice input device using a natural language processing engine and recognizes the user's emotions through an emotion recognition engine. The input in this process is the user's voice instructions or text input, and the output is the recognized emotional state.
[1137] Step 7: Provide Feedback
[1138] The server uses a feedback generation module to provide appropriate feedback to the user based on the recognized emotions and generated templates. This feedback is delivered to the user through the user interface. The input is the user's emotional state and the generated template, and the output is the feedback message provided to the user.
[1139] Through these steps, the system can efficiently collect and analyze production data, as well as recognize user emotions and provide feedback.
[1140] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1141] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1142] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1143] [Fourth Embodiment]
[1144] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1145] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1146] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1147] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1148] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1149] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1150] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1151] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1152] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1153] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1154] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1155] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1156] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1157] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[1158] System Overview
[1159] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[1160] Feature details
[1161] Input reception and analysis
[1162] The server receives a message from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the message and extract the graph type (e.g., bar graph, line graph, etc.) and the required data items (e.g., month, sales).
[1163] Specific example:
[1164] When a user enters "I want to create a line graph of monthly sales," the server analyzes this message and identifies keywords such as "monthly," "sales," and "line graph."
[1165] Template generation
[1166] Based on the analysis results, the server generates an Excel template with the appropriate graph format configured. This template has the necessary data fields pre-configured, so the user only needs to input the data to create the graph.
[1167] Specific example:
[1168] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales."
[1169] Template provision
[1170] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[1171] Specific example:
[1172] When a user clicks the provided link, they can download a template and enter sales data for January through December.
[1173] Data entry and error checking
[1174] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and presents a solution to the user.
[1175] Specific example:
[1176] If a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1."
[1177] Function input support
[1178] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then enter the formula and perform the necessary calculation by following these instructions.
[1179] Specific example:
[1180] If a user enters "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[1181] Through the above functions, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel.
[1182] The following describes the processing flow.
[1183] Understood. The specific actions for each processing step are explained below.
[1184] Step 1:
[1185] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[1186] Step 2:
[1187] The server receives the message sent by the user. The received message is held for analysis in the next step.
[1188] Step 3:
[1189] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as the type of graph (e.g., line graph) and necessary data items (e.g., month, sales).
[1190] Step 4:
[1191] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file.
[1192] Step 5:
[1193] The server generates a template selected by the user and pre-configures the necessary data fields (e.g., month, sales). It also configures the graph's appearance.
[1194] Step 6:
[1195] The server provides the user with a generated template. Specifically, the user receives a download link and is able to download the template to their device.
[1196] Step 7:
[1197] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[1198] Step 8:
[1199] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause of the error.
[1200] Step 9:
[1201] The server notifies the user of the solution to the detected error. Specifically, it will display a message such as "Please enter a number in cell A1" through the chat interface.
[1202] Step 10:
[1203] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[1204] Step 11:
[1205] When a user requests support for performing a specific numerical calculation, the server provides the appropriate function or formula. For example, if the user enters "Please tell me the function to calculate the profit margin," the server will suggest "=Profit / Sales."
[1206] Step 12:
[1207] The user enters formulas and functions provided by the server into designated cells within the template. This then performs the necessary calculations.
[1208] In this way, a system is realized in which specific operations proceed step by step, allowing users to efficiently create graphs and perform numerical calculations.
[1209] (Example 1)
[1210] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1211] Traditional methods of creating graphs and performing numerical calculations using Excel require manual operation by the user, which is time-consuming and prone to data entry errors. Furthermore, for users who find entering formulas and functions difficult, the process is complex and inefficient. This hinders the efficiency of business operations.
[1212] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1213] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, and means for assisting the user in entering appropriate mathematical formulas and functions according to their requests. This enables the user to easily and accurately input data, create graphs, and perform numerical calculations.
[1214] "Means of receiving user input" refers to the process by which users input necessary information into the system through a chat interface or other input devices.
[1215] "Means for analyzing received input to identify the graph type and necessary elements" refers to a process that uses natural language processing technology or other analysis methods to automatically identify the graph type and necessary data items from the text entered by the user.
[1216] "Means of generating templates based on identified elements" refers to the process of creating templates with a predetermined format and style according to the analysis results.
[1217] "Means of providing generated templates to users" refers to the process by which the server provides the generated templates to users in a downloadable format.
[1218] "Methods for reflecting user-entered data in templates" refers to the process of automatically setting user-entered data in a template in an appropriate format.
[1219] "Means of detecting errors in templates and providing solutions to those errors" refers to the process of verifying the data within a template and guiding the user on how to correct any input errors or inconsistencies found.
[1220] "Means of assisting users in inputting appropriate formulas and functions according to their requests" refers to the process of providing users with instructions on how to use and apply specific formulas and functions they require.
[1221] "Natural language processing technology" refers to the technology used to analyze text data entered by users and understand its meaning.
[1222] A "template" refers to an electronic document that has a default format or style for users to input data into.
[1223] A "data field" refers to a cell or area within a template that is designated for entering a specific type of information.
[1224] An "error message" refers to a message that notifies the user of a problem or inconsistency found in the entered data and prompts them to correct it.
[1225] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel. The following describes embodiments for carrying out this invention.
[1226] System Overview
[1227] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. It also assists users in inputting required formulas and functions.
[1228] Input reception and analysis
[1229] The server receives messages sent by the user. The user enters messages using a chat interface. For example, the prompt might be, "I want to create a line graph of monthly sales." The hardware used is a server farm (e.g., a cloud server), and the software uses a web server (e.g., Nginx) and natural language processing libraries (e.g., spaCy, NLTK). The server analyzes the message using natural language processing techniques and extracts keywords such as "monthly," "sales," and "line graph."
[1230] Template generation
[1231] The server generates an Excel template with the appropriate graph format set based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. The hardware also utilizes a server farm, and the software uses Excel processing libraries (e.g., openpyxl, Pandas). For example, it generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales."
[1232] Template provision
[1233] The server provides the user with a generated Excel template. The user can download the template by clicking the provided link. In a specific example, when the user clicks the provided link, they can download the template and enter sales data for January through December. Similarly, a server farm is used for the hardware, and a web server (e.g., Nginx) and a file delivery service (e.g., cloud storage service) are used for the software.
[1234] Data entry and error checking
[1235] When a user enters data into a template, the server checks the data's integrity. If an error occurs, the server identifies the cause and provides a solution to the user. For example, if a user mistakenly enters a string into a numeric field, the server will display an error message such as "Please enter a number in cell A1." The server uses data validation libraries (e.g., Pandas, NumPy) to perform this process.
[1236] Function input support
[1237] When a user requests assistance to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. The user can then input the formula and perform the necessary calculation. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." The server utilizes a formula assistance library (e.g., SymPy) to implement this functionality.
[1238] Example prompt statements
[1239] Examples of prompt messages include the following text:
[1240] I want to create a line graph of monthly sales. Please provide a template.
[1241] Through the process described above, the present invention provides a system that enables users to easily create graphs and perform numerical calculations using Excel, thereby significantly improving work efficiency.
[1242] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1243] Step 1:
[1244] The server accepts input from the user.
[1245] In terms of the specific operation, the user uses the chat interface to type and send a prompt message such as, "I want to create a line graph of monthly sales." The server receives this input message.
[1246] Input: User prompt text
[1247] Output: Received prompt message
[1248] Step 2:
[1249] The server analyzes the received input to identify the type of graph and the necessary elements.
[1250] The server uses natural language processing technology (e.g., spaCy, NLTK) to tokenize and analyze messages. Specifically, it extracts keywords such as "monthly," "sales," and "line graph."
[1251] Input: Received prompt message
[1252] Output: Extracted keywords (e.g., "monthly", "sales", "line graph")
[1253] Step 3:
[1254] Based on the analysis results, the server generates a template based on the identified elements.
[1255] The server uses Excel processing libraries (e.g., openpyxl, Pandas) to create a new Excel file. Specifically, it generates a template for a line graph and sets up a sheet containing data fields for "Month" and "Sales".
[1256] Input: Extracted keywords
[1257] Output: Generated Excel template
[1258] Step 4:
[1259] The server provides the generated template to the user.
[1260] The server saves the generated Excel file and generates a download link for it. Users can download the template by clicking the provided link.
[1261] Input: Generated Excel template
[1262] Output: Download link
[1263] Step 5:
[1264] The user downloads the provided template and enters the required data.
[1265] As a concrete example, a user enters sales data from January to December into an Excel template.
[1266] Input: Provided Excel template
[1267] Output: Template containing the input data
[1268] Step 6:
[1269] The server checks the integrity of the data entered by the user.
[1270] The server uses data validation libraries (e.g., Pandas, NumPy) to validate the data within the template. For example, it checks if a string has been entered into a numeric field, identifies the cause of the error if one occurs, and suggests a solution. Specifically, it displays an error message such as "Please enter a number in cell A1."
[1271] Input: A template containing the entered data.
[1272] Output: Error message or template with verified integrity
[1273] Step 7:
[1274] When a user requests assistance to perform a specific calculation, the server provides the appropriate formulas and functions for input.
[1275] The user enters "Please tell me a function to calculate the profit margin" through the chat interface. The server uses a formula assistance library (e.g., SymPy) to suggest the formula "=Profit / Sales".
[1276] Input: Requests for formulas and functions from the user.
[1277] Output: Proposed formula or function
[1278] (Application Example 1)
[1279] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1280] In recent years, many factories have made progress in automating their production lines, but data collection, analysis, and visualization methods still largely rely on manual processes, resulting in low efficiency. Furthermore, there is an increasing demand for real-time, data-driven analysis, necessitating systems that can meet this requirement. Existing systems also suffer from insufficient error detection and mathematical formula support, and lack a user-friendly interface.
[1281] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1282] In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to their requests, means for automatically collecting factory production line data and creating graphs in real time, and means for checking the integrity of data from a data acquisition device. This enables real-time collection and analysis of production data in a factory, error detection, and formula support.
[1283] "Means of receiving user input" refers to a mechanism for collecting requests and data through devices or interfaces operated by the user.
[1284] "Means for analyzing received input to identify the graph type and necessary elements" refers to algorithms or software that process user input to identify the appropriate graph type and necessary data items.
[1285] "Means for generating templates based on identified elements" refers to a system or program for generating templates containing graphs in an appropriate format based on analyzed information.
[1286] "Means of providing the generated templates to users" refers to internet connectivity and server systems for sending the generated templates to users and making them available for use.
[1287] "Means of reflecting user-entered data in templates" refers to processing functions that automatically insert user-provided data into templates and display it appropriately.
[1288] "Means for detecting errors in templates and providing solutions to those errors" refers to a system that detects potential errors that may occur while using a template and provides methods or instructions for correcting them.
[1289] "Means of assisting the input of appropriate formulas and functions according to user requests" refers to a function that presents examples of appropriate formulas and functions and supports input when a user is performing a specific calculation or data processing.
[1290] "A means of automatically collecting factory production line data and creating graphs in real time" refers to a system that collects data in real time from sensors and data acquisition devices installed on the production line and automatically generates graphs based on that data.
[1291] "Means for checking the integrity of data from data acquisition devices" refer to algorithms and software used to verify the integrity and consistency of collected data, and to detect and correct errors and inconsistencies.
[1292] This invention relates to a system for efficiently collecting and analyzing factory production line data and creating and providing graphs in real time. The configuration for realizing this system is described in detail below.
[1293] System Overview
[1294] The system primarily consists of a server, terminals, and a user operating environment. The server plays a central role in processing and analyzing various types of data. Terminals are used by users to operate the system, input data, and view generated graphs. Users provide instructions to the system through the terminals.
[1295] Hardware and software to be used
[1296] Hardware:
[1297] Factory robots: Perform data collection, template generation, error checking, and display.
[1298] IoT devices: Collect data in real time from sensors on the production line.
[1299] software:
[1300] Programs on the server:
[1301] Python
[1302] Pandas and Openpyxl: Used for data processing and Excel manipulation.
[1303] NLPProcessor (a custom module for natural language processing)
[1304] Procedures for data processing and data calculation
[1305] 1. Data collection:
[1306] The system collects data in real time from sensors and IoT devices within the factory and stores it in the robot's data storage. For example, numerous sensors installed at different stages of the production line transmit information such as product defect rates, operating hours, and total production volume.
[1307] 2. Command analysis:
[1308] Instructions from the user are sent to the server via the terminal. When the user inputs a request such as "I want to see the trend of product defect rates every hour in a line graph," the NLP Processor on the server performs natural language processing to analyze and identify the necessary graph type and data items.
[1309] 3. Template generation:
[1310] Based on the analysis results, the server generates an appropriate Excel template. For example, it might generate a "line graph" template and create an Excel file containing data fields for "time" and "defect rate."
[1311] 4. Checking data integrity:
[1312] When a user enters data into a template, the server verifies the integrity of that data. If incorrect strings or data in the wrong format are entered, the server generates an error message and instructs the user to correct the problem.
[1313] 5. Assistance with formula input:
[1314] When a user requests assistance with a specific calculation, the server suggests appropriate formulas or functions. For example, if a user types "Please tell me the formula to calculate the profit margin," the server will suggest the formula "=Profit / Sales."
[1315] Specific example
[1316] As a practical example, this section describes the processing procedure when a production line receives a request to "display the hourly trend of product defect rates as a line graph." Upon receiving this request, the server collects and analyzes the data, performs error checking, generates an appropriate Excel template, and provides it to the user. The following are examples of specific prompts used when using this system.
[1317] Example of a prompt
[1318] "Please display a line graph showing the hourly trend of the product defect rate."
[1319] "Please create a template for analyzing the relationship between product sales and profit margins."
[1320] "I would like to create a bar graph based on monthly production data."
[1321] Through the above procedure, the present invention provides a system that includes the collection, analysis, error detection, and mathematical formula support of production data within a factory, enabling users to efficiently manage and visualize data.
[1322] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1323] Step 1:
[1324] The server collects data in real time from sensors and IoT devices installed on the factory's production line. The input for this step is production data sent from sensors and IoT devices, and the output is raw data stored on the server. Specifically, the server receives data sent from each sensor and stores it in a dedicated database.
[1325] Step 2:
[1326] The user submits a data visualization request to the server via the terminal. The input in this step is a prompt message entered by the user, and the output is the analysis result based on that prompt message. Specifically, the terminal receives the prompt message from the user and sends it to the server. For example, the user might input, "I would like to see a line graph showing the trend of product defect rates every hour."
[1327] Step 3:
[1328] The server uses natural language processing (NLPProcessor) to analyze user input. The input for this step is the user's prompt text, and the output is the analysis result (graph type and required data items). The server uses the NLPProcessor to analyze the prompt text and identify elements such as "product defect rate per hour" and "line graph".
[1329] Step 4:
[1330] The server generates an Excel template based on the analysis results. The input for this step is the analysis results, and the output is the generated Excel template file. Specifically, the server uses Pandas and Openpyxl to generate an Excel template containing the identified data fields and saves the template to the specified folder.
[1331] Step 5:
[1332] The server provides the user with a link to the generated Excel template. The input for this step is the generated Excel template file, and the output is the link provided to the user. Specifically, the server generates a link that directs the user to the location where the generated template is saved and transmits it to the user.
[1333] Step 6:
[1334] The user enters data into a template. The input in this step is the data entered by the user, and the output is the data reflected in the template. Specifically, the user downloads the template and enters the actual data into the designated fields within the template.
[1335] Step 7:
[1336] The server checks the integrity of the data entered by the user. In this step, the input is the template data entered by the user, and the output is the error check result. The server verifies whether the format of the entered data is correct and notifies the user if any errors are found.
[1337] Step 8:
[1338] When a user requests a specific calculation, the server provides a way to input the appropriate formula or function. In this step, the input is the calculation request, and the output is the proposed formula or function. The server, in response to the user's request, proposes a formula such as "=Profit / Sales" and notifies the user.
[1339] Since maintaining the output format was required, the processing flow was explained in detail step by step, including specific actions and information about inputs and outputs at each step.
[1340] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1341] This invention relates to a system that enables users to easily and efficiently create graphs and perform numerical calculations in Excel, and further provides appropriate feedback and support based on the user's emotions. The following describes embodiments for carrying out this invention.
[1342] System Overview
[1343] This system allows users to specify graph types and required numerical calculations via a chat interface, and the server generates and provides appropriate templates based on those instructions. Furthermore, it checks the integrity of the data entered into the templates and provides solutions if errors occur. In addition to assisting users in entering the formulas and functions they request, it also recognizes emotions from the user's input and customizes the content of feedback and assistance based on those emotions.
[1344] Feature details
[1345] 1. Input reception and analysis
[1346] The server receives messages from the user regarding the type of graph and the required data items. The server uses natural language processing (NLP) techniques to analyze the messages and extract the graph type (e.g., line graph) and required data items (e.g., month, sales). Furthermore, it uses an emotion engine to recognize the user's emotions from the user's input.
[1347] Specific example:
[1348] When a user enters "I want to create a line graph of monthly sales," the server identifies keywords such as "monthly," "sales," and "line graph." At the same time, it analyzes the user's message to determine their emotions (e.g., hurried, anxious, etc.).
[1349] 2. Template generation
[1350] The server generates an Excel template with the appropriate graph format based on the analysis results. This template has the necessary data fields pre-configured, allowing the user to create the graph simply by entering the data. Furthermore, the template's appearance and message tone are adjusted based on the user's sentiment.
[1351] Specific example:
[1352] The server generates a line graph template and creates an Excel file containing data fields for "Month" and "Sales." Furthermore, if the server detects that the user is in a hurry, it provides a "quick creation guide" along with the template.
[1353] 3. Provision of templates
[1354] The server provides the user with a generated Excel template. The user can download this template and enter their own data.
[1355] Specific example:
[1356] When a user clicks the provided link, they can download a template and enter sales data for January through December. The template also includes the aforementioned guide.
[1357] 4. Data entry and error checking
[1358] When a user enters data into a template, the server checks the data's integrity. If an error occurs, it identifies the cause and presents a solution while being mindful of the user's feelings.
[1359] Specific example:
[1360] If a user mistakenly enters a string into a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need it."
[1361] 5. Function Input Assistance
[1362] When a user requests support to perform a specific calculation, the server provides instructions on how to input the appropriate formula or function. Furthermore, it adjusts the tone of support based on the user's mood.
[1363] Specific example:
[1364] If a user types "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales," and if it senses the user is feeling unsure, it will provide an additional reassuring message such as "Don't worry, you can easily calculate the profit margin with this formula."
[1365] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[1366] The following describes the processing flow.
[1367] Understood. The specific actions for each processing step are explained below.
[1368] Step 1:
[1369] The user enters the type of graph they want to create and the necessary data items in natural language through the chat interface. For example, they might enter, "I want to create a line graph of monthly sales."
[1370] Step 2:
[1371] The server receives the message sent by the user. The received message is held for analysis in the next step.
[1372] Step 3:
[1373] The server uses natural language processing (NLP) techniques to analyze the received message. Specifically, it extracts keywords such as graph type (e.g., line graph) and necessary data items (e.g., month, sales). At the same time, it uses an emotion engine to recognize the user's emotions (e.g., hurried, anxious).
[1374] Step 4:
[1375] The server determines the appropriate template type based on the analysis results. For example, it might select a line graph template and prepare an Excel template file. It also adjusts the template's appearance and support tone based on the recognized emotions.
[1376] Step 5:
[1377] The server generates a selected template and pre-configures the necessary data fields (e.g., month, sales). Furthermore, it incorporates additional guidelines and messages tailored to the user's emotions.
[1378] Step 6:
[1379] The server provides users with generated templates. Specifically, users receive a download link and are able to download the templates to their devices. Support messages tailored to the user's emotions are also displayed.
[1380] Step 7:
[1381] The user downloads the provided template file and enters their own data (e.g., monthly sales). The data is then inserted into the designated cells according to the settings within the template.
[1382] Step 8:
[1383] The server checks the integrity of the data entered into the template. If an error occurs, it analyzes the error to identify the specific location and cause. Using an emotion engine, it generates error messages that are appropriate to the user's emotions.
[1384] Step 9:
[1385] The server offers solutions that are considerate of the user's feelings. Specifically, it provides messages through the chat interface such as, "Please enter a number in cell A1. If you are in a hurry, please check this link for additional support."
[1386] Step 10:
[1387] The user corrects the errors in the template according to the solution provided by the server. The data integrity check is performed again.
[1388] Step 11:
[1389] When a user requests support to perform a specific numerical calculation, the server provides instructions on how to input the appropriate formulas and functions. The tone and content of the support are adjusted based on the user's emotions.
[1390] Step 12:
[1391] The user enters formulas and functions provided by the server into designated cells within the template. This performs the necessary calculations. Additional explanations are displayed based on the user's emotions.
[1392] In this way, a system is realized that allows for the efficient creation of graphs and numerical calculations while taking into consideration the user's emotions, with specific operations progressing step by step.
[1393] (Example 2)
[1394] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1395] In today's business environment, users are required to analyze data and create graphs quickly and efficiently. However, currently available systems and tools are difficult for beginners and non-experts to operate, and they often provide uniform feedback without understanding user emotions or intentions, leading to user stress and difficulty. A system is needed to solve these problems and enable users to create and analyze data more easily and comfortably.
[1396] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving input from the user and recognizing emotions, means for analyzing the received input and identifying the type of graph and necessary data items, and means for generating a template based on the identified data items and adjusting the appearance of the template based on the user's emotions. This enables the user to easily and efficiently analyze data and create graphs, and to receive feedback and support that takes into account the user's emotions.
[1397] A "user" is a person or organization that uses the system to create graphs or perform numerical calculations.
[1398] "Input" refers to the information or instructions that a user provides through the system.
[1399] "Emotions" refer to the user's mental state or mood, and the system recognizes this and reflects it in the feedback.
[1400] Natural Language Processing (NLP) is a technology that enables computers to understand, interpret, and generate human language.
[1401] "Graph type" refers to the format of the graph specified by the user (e.g., line graph, bar graph, etc.).
[1402] "Data items" refer to specific data elements necessary for creating graphs or performing numerical calculations (e.g., month, sales).
[1403] A "template" is an Excel file that has been pre-configured to allow users to easily input data.
[1404] "Appearance" refers to the visual design and structure of a template, which is adjusted according to the user's emotions.
[1405] An "error" refers to a problem that occurs when the data entered by the user into the template does not match the expected format or range.
[1406] "Formulas and functions" refer to Excel features used for specific calculations and data processing.
[1407] "Support" refers to assistance and guidance provided by the system to help users with their tasks.
[1408] This invention is a system that assists users in easily and efficiently creating Excel graphs and performing numerical calculations, and further provides user-based feedback and support.
[1409] System Configuration
[1410] This system primarily consists of a server, user terminals, and a chat interface. The server is equipped with powerful hardware and software utilizing natural language processing (NLP) technology to provide various functions such as data reception and analysis, template generation, data integrity checks, function input assistance, and sentiment recognition. Specifically, the server-side NLP uses generative AI models such as BERT and GPT. The user terminals are internet-connected devices that access the system via a web browser or a dedicated chat application.
[1411] Input reception and analysis
[1412] The server receives messages from users via a chat interface. Users input instructions about the type of graph they want to create and the data items they need. For example, if a user inputs the message "I want to create a line graph of monthly sales," the server uses NLP techniques to identify keywords such as "monthly," "sales," and "line graph." At the same time, it uses an emotion engine to analyze the user's emotions (e.g., hurried, anxious, etc.).
[1413] Template generation
[1414] Based on the analysis results, the server generates an Excel template with the appropriate graph format pre-configured. This template has the necessary data fields pre-filled, allowing the user to create the graph simply by entering the data. The server also adjusts the template's appearance and message tone based on the user's mood. For example, the server generates a "line graph" template and creates an Excel file containing data fields for "month" and "sales." If the server detects the user is in a hurry, a "quick creation guide" is provided along with the template.
[1415] Template provision and data entry
[1416] Once a template is generated, the server creates a link to provide the template to the user and sends it to the user's terminal. The user can click the link to download the template and enter sales data for January through December. After the user enters data into the template, the server checks the data's integrity and, if errors occur, provides the cause and solution. For example, if the user mistakenly enters a string in a numeric field, the server will display an error message such as, "Please enter a number in cell A1. Please contact us for further assistance if you need help."
[1417] Function input support
[1418] Furthermore, if a user requests assistance to perform a specific calculation, the server will provide instructions on how to input the appropriate formula or function. For example, if a user inputs "Please tell me the function to calculate the profit margin," the server will suggest the formula "=Profit / Sales." Additionally, if the server detects that the user is feeling unsure, it will provide an additional message such as, "Don't worry, you can easily calculate the profit margin with this formula."
[1419] Example of a prompt
[1420] Examples of prompts that users enter into the system include the following:
[1421] "I want to create a line graph of monthly sales."
[1422] "Please tell me the function for calculating profit margins."
[1423] "Please check that the data has been entered correctly."
[1424] In this way, the system combines NLP technology and emotion recognition to provide an environment where users can intuitively and efficiently manipulate data.
[1425] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1426] Step 1: Receiving and analyzing user input
[1427] Input: The user enters the type of graph they want to create and the required data items as text via the chat interface.
[1428] Specific action: The user enters "I want to create a line graph of monthly sales."
[1429] Processing: The server receives this message, uses natural language processing (NLP) to identify keywords such as "monthly," "sales," and "line graph," and uses an emotion engine to analyze the user's emotions.
[1430] Output: Analyzed keywords and sentiment information are obtained.
[1431] Step 2: Template Generation
[1432] Input: Analyzed keywords ("monthly", "sales", "line graph") and user sentiment information.
[1433] Specific operation: The server generates an appropriate Excel template and creates a template that includes data fields for "Month" and "Sales" based on the analysis results.
[1434] Processing: Customize the appearance and tone of the message in the template according to the user's mood. For example, if a mood of urgency is detected, the template will include a "Quick Creation Guide."
[1435] Output: A link to the generated Excel template is created.
[1436] Step 3: Provide template
[1437] Input: A link to the generated Excel template.
[1438] Specific action: The server sends the user a download link for the template.
[1439] Process: Allow users to download templates by clicking a link.
[1440] Output: A downloadable link is provided to the user.
[1441] Step 4: Data entry and error checking
[1442] Input: Downloaded Excel template and specific data to be entered by the user (e.g., monthly sales data).
[1443] Specific operation: The user enters their own data (e.g., sales data from January to December) into a template.
[1444] Processing: The server checks the data entered into the template in real time to verify data integrity. If an error is detected, for example, if a string is entered into a numeric field, an error message is displayed.
[1445] Output: The user is presented with the error and its solution.
[1446] Step 5: Assisting with function input
[1447] Input: Specific calculation support requests from users (e.g., "Please provide a function to calculate profit margins").
[1448] Specific operation: The user enters a question about a specific calculation or function.
[1449] Processing: The server parses and provides appropriate formulas and functions. For example, if a user enters "Please tell me a function to calculate the profit margin," it will suggest the formula "=Profit / Sales." Furthermore, if the server detects that the user is feeling unsure, it will add a message such as "Don't worry, you can easily calculate the profit margin with this formula."
[1450] Output: The user is provided with appropriate mathematical formulas and reassuring messages.
[1451] This system enables users to perform data analysis and graph creation by providing efficient and emotionally resonant support at each step, including data reception, analysis, template generation, error checking, and function support.
[1452] (Application Example 2)
[1453] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1454] Conventional production management systems require significant time and effort for data collection and analysis on the production line, making it difficult to provide efficient data management and feedback. Furthermore, feedback that considers the operator's emotions is rarely provided, potentially leading to decreased work efficiency. This invention aims to solve these problems and provide an efficient and emotionally sensitive production management system.
[1455] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving input from a user, means for analyzing the received input to identify the type of graph and the necessary elements, means for generating a template based on the identified elements, means for providing the generated template to the user, means for reflecting the data entered by the user into the template, means for detecting errors in the template and suggesting solutions to the errors, means for assisting the user in entering appropriate formulas and functions according to the user's request, means for recognizing the user's emotions and providing feedback based on those emotions, and means for collecting production line data and reflecting it in the template in real time. This enables rapid collection and analysis of production data and allows for feedback that takes into account the operator's emotions.
[1456] "Means of receiving user input" refers to an interface that allows users to input information into a system or device.
[1457] "Means for analyzing received input to identify the graph type and necessary elements" refers to a function that processes information received from the user and identifies the appropriate graph type and necessary data items based on that information.
[1458] "Means for generating templates based on identified elements" refers to a function that automatically creates a standardized format to facilitate data input according to the analyzed elements.
[1459] "Means of providing generated templates to users" refers to a function that provides automatically generated templates so that users can use them.
[1460] "A means of reflecting user-entered data in a template" refers to a function that automatically incorporates user-entered information into a template and visualizes that data.
[1461] "A means of detecting errors in a template and suggesting solutions to those errors" refers to a function that verifies the integrity of the data entered into the template, notifies the user of the cause of any errors, and provides appropriate corrective measures.
[1462] "Means of assisting the input of appropriate mathematical formulas and functions according to user requests" refers to functions that instruct the user on how to input the calculations and functions they require and assist in that input.
[1463] "A means of recognizing user emotions and providing feedback based on those emotions" refers to a function that analyzes user emotions from their statements and actions and provides appropriate advice or messages corresponding to those emotions.
[1464] "A means of collecting production line data and reflecting it in templates in real time" refers to a function that instantly collects data from the production site and reflects it in templates in real time.
[1465] System Overview
[1466] This invention uses a factory robot and its associated server system to efficiently collect and analyze data from a production line and provide users with emotionally sensitive feedback.
[1467] Hardware configuration
[1468] The system uses the following hardware:
[1469] 1. Factory robots: Collect data from the production line and send it to the server.
[1470] 2. Sensors: These are installed at various points along the production line to acquire various data (production volume, error rate, work time, etc.) in real time.
[1471] 3. Voice input device: A device for receiving voice input from the user.
[1472] 4. Server: Performs tasks such as data analysis, template generation, sentiment recognition, and feedback provision.
[1473] Software Configuration
[1474] The system uses the following software:
[1475] 1. Natural Language Processing (NLP) Engine: Analyzes user input and extracts necessary information.
[1476] 2. Emotion Recognition Engine: Recognizes emotions from the user's voice and text.
[1477] 3. Data Analysis Module: Analyzes data collected from the production line and reflects it in the template.
[1478] 4. Excel Generation Module: Based on the analysis results, it generates an appropriate template in Excel format.
[1479] 5. Feedback generation module: Provides appropriate feedback based on the user's emotions.
[1480] Processing flow
[1481] 1. Data collection:
[1482] Factory robots collect data from the production line in real time through sensors and transmit that data to a server.
[1483] 2. Data Analysis:
[1484] The server processes the received data using a data analysis module and reflects the results in a template using an Excel generation module. If the data contains errors, it performs error checking and includes the solutions in the template.
[1485] 3. Emotion recognition:
[1486] When a user gives instructions to the system via a voice input device, a natural language processing engine analyzes those instructions. Simultaneously, an emotion recognition engine recognizes the user's emotions and generates appropriate feedback based on them.
[1487] 4. Provide feedback:
[1488] The server, along with the generated template, uses a feedback generation module to send appropriate messages to the user. This allows the user to confidently input and modify data.
[1489] Specific example
[1490] For example, if a user instructs the robot to "check today's production line data," the robot will immediately collect the data and reflect it as a graph in a specified Excel template. At the same time, if the operator gives an anxious instruction such as "the task isn't working," the robot will provide a message saying, "Please stay calm. The data is being collected correctly," to reassure the user.
[1491] Example of a prompt
[1492] text
[1493] Collect production line data and generate Excel graphs. Additionally, recognize user emotions from their input and provide appropriate feedback.
[1494] This allows the system to respond to user requests quickly and accurately, improving production efficiency and user satisfaction.
[1495] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1496] Step 1: Data Collection
[1497] Factory robots collect data in real time (production volume, error rate, work time, etc.) from sensors installed on the production line. This data collection involves storing the information detected by the sensors within the robot and then transmitting it to a server. Accurate information is necessary because the data from the sensors indicates the status of the production line. The input is the data from the sensors, and the output is the production line data transmitted to the server.
[1498] Step 2: Data transmission
[1499] The factory robot transmits collected production line data to a server at regular intervals. During this process, the data is compressed and encrypted to ensure accurate transmission. The input is the production line data, and the output is the compressed and encrypted data sent to the server.
[1500] Step 3: Data Analysis
[1501] The server analyzes the received data via a data analysis module. Specifically, it uses a natural language processing engine to analyze the meaning of the data and extract the necessary information. This analysis includes data points such as production volume, error rate, and work time. The input is the collected production line data, and the output is the set of analyzed data.
[1502] Step 4: Template Generation
[1503] The server generates an appropriate template using an Excel generation module based on the analyzed data. This template includes predefined data fields and graph formats, making it suitable for data visualization. The input is the analyzed data, and the output is the generated Excel template.
[1504] Step 5: Error Check
[1505] The server checks the integrity of the data in the generated template. If an error is detected, it identifies the cause and generates a message to notify the user. The input is the generated Excel template, and the output is an error message or suggested correction.
[1506] Step 6: Emotion Recognition
[1507] The server analyzes the user's instructions via a voice input device using a natural language processing engine and recognizes the user's emotions through an emotion recognition engine. The input in this process is the user's voice instructions or text input, and the output is the recognized emotional state.
[1508] Step 7: Provide Feedback
[1509] The server uses a feedback generation module to provide appropriate feedback to the user based on the recognized emotions and generated templates. This feedback is delivered to the user through the user interface. The input is the user's emotional state and the generated template, and the output is the feedback message provided to the user.
[1510] Through these steps, the system can efficiently collect and analyze production data, as well as recognize user emotions and provide feedback.
[1511] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1512] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1513] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1514] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1515] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1516] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1517] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1518] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1519] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1520] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1521] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1522] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1523] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1524] 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.
[1525] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1526] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1527] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1528] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1529] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1530] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1531] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.
[1532] The following is further disclosed regarding the embodiments described above.
[1533] (Claim 1)
[1534] A means of receiving input from the user,
[1535] A means for analyzing the received input to identify the type of graph and the necessary elements,
[1536] A means for generating a template based on identified elements,
[1537] A means of providing the generated template to the user,
[1538] A means of reflecting user-entered data into a template,
[1539] A means to detect errors in the template and suggest solutions to those errors,
[1540] A means to assist in the input of appropriate mathematical formulas and functions according to the user's request,
[1541] A system that includes this.
[1542] (Claim 2)
[1543] The system according to claim 1, which analyzes user input using natural language processing.
[1544] (Claim 3)
[1545] The system according to claim 1, wherein the generated template includes predefined data fields and graph formats.
[1546] "Example 1"
[1547] (Claim 1)
[1548] A means of receiving input from the user,
[1549] A means for analyzing the received input to identify the type of graph and the necessary elements,
[1550] A means for generating a template based on identified elements,
[1551] A means of providing the generated template to the user,
[1552] A means of reflecting user-entered data into a template,
[1553] A means to detect errors in the template and suggest solutions to those errors,
[1554] A means to assist in the input of appropriate mathematical formulas and functions according to the user's request,
[1555] A system that includes this.
[1556] (Claim 2)
[1557] The system according to claim 1, which uses natural language processing technology to analyze user input and identify the type of graph and the necessary elements.
[1558] (Claim 3)
[1559] The system according to claim 1, wherein the generated template includes predefined data fields and graph formats.
[1560] "Application Example 1"
[1561] (Claim 1)
[1562] A means of receiving input from the user,
[1563] A means for analyzing the received input to identify the type of graph and the necessary elements,
[1564] A means for generating a template based on identified elements,
[1565] A means of providing the generated template to the user,
[1566] A means of reflecting user-entered data into a template,
[1567] A means to detect errors in the template and suggest solutions to those errors,
[1568] A means to assist in the input of appropriate mathematical formulas and functions according to the user's request,
[1569] A method for automatically collecting factory production line data and creating graphs in real time,
[1570] A means of checking the integrity of data from a data acquisition device,
[1571] A system that includes this.
[1572] (Claim 2)
[1573] The system according to claim 1, which analyzes user input using natural language processing.
[1574] (Claim 3)
[1575] The system according to claim 1, wherein the generated template includes predefined data fields and graph formats.
[1576] "Example 2 of combining an emotion engine"
[1577] (Claim 1)
[1578] A means of receiving input from the user and recognizing emotions,
[1579] A means for analyzing the received input to identify the type of graph and the necessary data items,
[1580] A means of generating a template based on identified data items and adjusting the appearance of the template based on user sentiment,
[1581] A means of providing the generated template to the user,
[1582] A means of reflecting user-entered data into a template and providing solutions if errors occur,
[1583] A means of assisting users in inputting appropriate formulas and functions according to their requests, and providing support that takes the user's feelings into consideration.
[1584] A system that includes this.
[1585] (Claim 2)
[1586] The system according to claim 1, which analyzes user input using natural language processing and recognizes emotions.
[1587] (Claim 3)
[1588] The system according to claim 1, wherein the generated template includes predefined data fields and a format for a visually optimized graph.
[1589] "Application example 2 when combining with an emotional engine"
[1590] (Claim 1)
[1591] A means of receiving input from the user,
[1592] A means for analyzing the received input to identify the type of graph and the necessary elements,
[1593] A means for generating a template based on identified elements,
[1594] A means of providing the generated template to the user,
[1595] A means of reflecting user-entered data into a template,
[1596] A means to detect errors in the template and suggest solutions to those errors,
[1597] A means to assist in the input of appropriate mathematical formulas and functions according to the user's request,
[1598] A means of recognizing user emotions and providing feedback based on those emotions,
[1599] A means of collecting production line data and reflecting it in a template in real time,
[1600] A system that includes this.
[1601] (Claim 2)
[1602] The system according to claim 1, which analyzes user input using natural language processing.
[1603] (Claim 3)
[1604] The system according to claim 1, wherein the generated template includes predefined data fields and graph formats. [Explanation of Symbols]
[1605] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of receiving input from the user, A means for analyzing the received input to identify the type of graph and the necessary elements, A means for generating a template based on identified elements, A means of providing the generated template to the user, A means of reflecting user-entered data into a template, A means to detect errors in the template and suggest solutions to those errors, A means to assist in the input of appropriate mathematical formulas and functions according to the user's request, A system that includes this.
2. The system according to claim 1, which analyzes user input using natural language processing.
3. The system according to claim 1, wherein the generated template includes predefined data fields and graph formats.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A