system
The system automates quotation comparison using natural language processing and optical character recognition, providing emotionally responsive feedback to enhance decision-making efficiency and accuracy.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-10
- Publication Date
- 2026-04-22
AI Technical Summary
Manual analysis of quotations from multiple outsourcing partners is time-consuming and prone to human error, lacking efficient and accurate means for comparison and evaluation.
A system that receives, extracts specific data, compares it with standards, and generates evaluation reports, incorporating natural language processing and optical character recognition to automate the quotation comparison process, with optional emotion analysis for user-tailored feedback.
Enables efficient, accurate, and user-friendly decision-making by automating quotation comparison and providing emotionally responsive feedback, reducing human error and time consumption.
Smart Images

Figure 2026068441000001_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, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance 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] For a company to efficiently compare and evaluate quotations provided by multiple outsourcing partners and select the optimal outsourcing partner is very important in cost and resource optimization. However, the work of manually analyzing each quotation in detail and comparing it with the organization's own criteria and past data not only requires time and effort but also involves the risk of human error. Therefore, there is a need for a means to automate the quotation comparison process and evaluate it efficiently and accurately.
Means for Solving the Problems
[0005] To address this challenge, the present invention provides a means for receiving information and extracting specific data from the received information. By comparing this extracted data with a standard and outputting the comparison results, compliance with a company's specific standards and policies can be efficiently determined. Furthermore, by providing notifications if the standard is not met, it supports quick decision-making. In addition, by cross-referencing information with historical databases and generating an evaluation report based on the analysis results, a more detailed and reliable evaluation can be achieved.
[0006] "Means of receiving information" refers to the function of acquiring and receiving data transmitted from an external source and preparing it for processing within the system.
[0007] "Methods for extracting specific data" refer to technologies that select necessary elements or items from received information and manage them as structured data.
[0008] "Means of comparison with standards" refers to the process of comparing extracted data with a predetermined standard, criterion, or policy to determine compliance or violation.
[0009] "Means for outputting comparison results" refers to the process of presenting analysis results obtained based on a comparison between a standard and extracted data.
[0010] "Means of notifying when standards are not met" refers to a function that sends alerts or warnings to users regarding non-conformities discovered during the comparison process.
[0011] A "historical database" is a collection of previously accumulated information, serving as a foundation for comparing past events and conditions with current data. [Brief explanation of the drawing]
[0012] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2]This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0013] 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.
[0014] First, the terms used in the following description will be explained.
[0015] In the following embodiments, the labeled processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0016] In the following embodiments, the labeled RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0017] In the following embodiments, the labeled storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0018] In the following embodiments, the labeled communication I / F (Interface) is an interface including a communication processor and an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark), and the like.
[0019] 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."
[0020] [First Embodiment]
[0021] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0022] 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.
[0023] 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).
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0029] As shown in Figure 2, in the data processing device 12, 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.
[0030] 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.
[0031] 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.
[0032] 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".
[0033] This invention is a system for efficiently processing multiple quotation information received by a company, and its specific form is shown below. This system receives information, extracts specific data, compares it with a standard, and supports decision-making based on the results.
[0034] First, the user uploads quotes obtained from multiple outsourcing companies to the system. Various file formats (e.g., PDF, Excel, Word) can be handled through applications installed on the device.
[0035] Next, the server analyzes the uploaded documents using natural language processing and optical character recognition (OCR) technologies. This analysis process extracts key information such as product details, unit price, quantity, and delivery date from the quotation and converts it into structured data. This makes it possible to efficiently process large amounts of information and pick out only the necessary data.
[0036] The server then compares the extracted data against company-specific standards and criteria. This comparison uses a rule-based engine to determine whether each estimate meets the criteria or which parts do not.
[0037] Furthermore, the server compares newly received quotes with past data in its database to evaluate their appropriateness. This includes information such as the price, delivery date, and terms of similar past transactions.
[0038] A user-available report is generated, which includes a comprehensive comparison and analysis of each contractor's proposal. Key points are highlighted, and areas that do not meet the standards are particularly emphasized.
[0039] As a concrete example, suppose a company is obtaining quotes from multiple IT vendors for a new project. By using this system, the user can quickly select the best vendor that meets their company's criteria. For example, if company A's quote is competitive in terms of price but the lead time is too long, the system will point this out and present alternatives based on past transactions. This allows the user to make quick and rational decisions and achieve optimal resource utilization.
[0040] The following describes the processing flow.
[0041] Step 1:
[0042] The user uses a terminal to upload quotation documents obtained from outsourcing companies to the system. The terminal accepts various file formats (e.g., PDF, Excel, Word, etc.) and prepares them for transfer to the server.
[0043] Step 2:
[0044] The server receives the uploaded quotation document. At this point, the server prepares to apply natural language processing and optical character recognition (OCR) technologies to analyze the document type and content.
[0045] Step 3:
[0046] The server uses OCR technology to convert the text in the document into digital data. This process involves pattern matching to extract specific data such as product details, quantity, unit price, and delivery date.
[0047] Step 4:
[0048] The server compares the extracted data against the company's internal standards and policies. Using a rule-based engine, it checks for matches or mismatches against these standards and records non-conformities as needed.
[0049] Step 5:
[0050] The server retrieves similar project information from past databases and compares it with the current estimate. In particular, it evaluates the appropriateness of price and delivery time, comparing them to market averages and past performance.
[0051] Step 6:
[0052] The server aggregates these analysis results and generates a report to present to the user. The report includes detailed evaluation results and selection reasons for each estimate, and adds warnings to the user for any non-conformities.
[0053] Step 7:
[0054] Users select outsourcing companies based on the generated reports. They review detailed information to support their final decision, referring to alerts from the system. This information can be saved as a reference for future selection processes.
[0055] (Example 1)
[0056] 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."
[0057] Companies need support to efficiently process large amounts of quotation information received from multiple outsourcing companies and to make quick and rational decisions. However, quotation data is often provided in various formats, and manually analyzing and comparing it to standards is not only time-consuming but also prone to errors. Furthermore, making appropriate judgments by comparing it with past transactions and market information is difficult. These challenges need to be addressed.
[0058] 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.
[0059] In this invention, the server includes a device for receiving information, a device for identifying and extracting important information from the received information, a device for comparing the extracted information with a standard, a device for comparing it with past transaction information, a device for converting it into structured data, a device for issuing warnings, a device for creating evaluation reports, and a device for analyzing information by combining natural language processing technology and optical character recognition technology. This makes it possible to automatically and efficiently analyze large amounts of diverse quotation information and quickly support appropriate decision-making.
[0060] A "device that receives information" is a device that acquires data transmitted from an external source and makes it available for use within the system.
[0061] A "device for identifying and extracting important information" is a device equipped with the function of identifying and selecting necessary elements from received data.
[0062] A "device for comparing with a standard" is a device equipped with the function of evaluating extracted data by comparing it with a pre-set standard value.
[0063] A "device that generates and outputs comparison results" is a device that creates analysis results based on comparison with a standard and can display or print out that information.
[0064] A "warning device" is a device equipped with a function to notify users when data does not conform to the standards.
[0065] A "structured data conversion device" is a device that organizes unstructured data and formats it into a standardized format.
[0066] A "device for comparing with past transaction information" is a device used to compare newly received data with past transaction records and evaluate them.
[0067] A "device for generating evaluation reports" is a device for creating reports that systematically and comprehensively summarize analysis results.
[0068] "Natural language processing technology" is a technology that uses computers to process and analyze human language and generate information based on that analysis.
[0069] "Optical character recognition technology" is a technology that recognizes characters in an image and converts them into digital data.
[0070] This system is designed to efficiently analyze quotation information received by companies and support them in making sound decisions. It is primarily composed of three elements: servers, terminals, and users.
[0071] Users import multiple quotation data obtained from outsourcing companies into the system using a dedicated application installed on their terminal. This application can handle various file formats, including PDF, Excel, and Word.
[0072] The server analyzes the received quotation data using natural language processing (NLP) and optical character recognition (OCR) technologies. Natural language processing is used to process human language using computer programs to identify important information, while OCR is used to extract text information from images and convert it into digital data. This allows the server to identify and extract important information from the quotation, such as product name, unit price, quantity, and delivery date.
[0073] Next, the server compares the extracted data to criteria set by the company. In this process, the server uses a rule-based engine to evaluate whether each element of the data meets the set criteria. Furthermore, the server compares the structured data with historical transaction data to determine the appropriateness of the estimate. The historical information obtained from the database includes prices, delivery dates, and conditions of similar transactions, and by comparing with this, the server confirms fair market prices and transaction conditions.
[0074] Finally, the server generates an evaluation report. This report includes details of each contractor's proposal, comparisons against the criteria, and comparative analysis results with historical data. Areas that do not meet the criteria are highlighted, providing information to help users make quick and rational decisions.
[0075] A concrete example is when a user obtains project quotes from multiple IT vendors. For instance, a prompt such as, "Please describe a system that analyzes IT project quotes and selects the best vendor," can be used to assist the user in selecting the optimal vendor. The server analyzes the quote data, evaluates it based on criteria and past transaction information, and supports the user by showing the best option.
[0076] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0077] Step 1:
[0078] Users upload quotation files from outsourcing companies using a dedicated application via their terminal. Input files are accepted in formats such as PDF, Excel, and Word, which the application receives and sends to the system. The output is the raw data in its uploaded state. Users initiate this process by selecting a file and pressing the submit button.
[0079] Step 2:
[0080] The server applies Optical Character Recognition (OCR) technology to the received file, converting image text into digital data. The input is raw data, and the output is the converted text data. Specifically, the server scans the information on each page, recognizes characters from the image, and extracts them in text format.
[0081] Step 3:
[0082] The server uses natural language processing (NLP) techniques to extract important information from text data. The input is quotation information transcribed into text by OCR, and the output is structured data such as product name, unit price, quantity, and delivery date. The server analyzes words, detects specific patterns and keywords, and extracts the necessary data.
[0083] Step 4:
[0084] The server compares the extracted data against predefined criteria. The input is structured data, and the output is an evaluation result regarding compliance with the criteria. The server uses a rule-based engine to determine whether each item of the data meets the criteria.
[0085] Step 5:
[0086] The server compares the evaluation results with a database of past transactions. The input is the benchmark comparison result, and the output is the comparison result with the market average and past performance. The server accesses the database, retrieves similar transaction information, and compares it with recent data.
[0087] Step 6:
[0088] The server integrates all analysis results and generates an evaluation report. The input is the analysis results against historical data and the comparison results, while the output is a comprehensive evaluation report. The server highlights areas that do not meet the criteria and emphasizes important information in this report. It creates a document that users can use for decision-making.
[0089] (Application Example 1)
[0090] 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."
[0091] In production sites such as factories, efficiently obtaining quotes from multiple suppliers and selecting the appropriate buyer is a challenge. In particular, manually analyzing and comparing large amounts of quotes consumes a significant amount of time and resources. Furthermore, there is a lack of technology that utilizes the functions of mobile devices to autonomously collect and analyze data.
[0092] 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.
[0093] In this invention, the server includes means for acquiring information, means for extracting specific indicators from the acquired information, means for comparing the extracted indicators with a standard, and means for controlling mobile devices and automatically collecting and analyzing information. This enables efficient processing of large amounts of quotation information and allows for the rapid and autonomous selection of the optimal supplier.
[0094] "Information" refers to a collection of data and metrics obtained through a specific data collection process.
[0095] "Means of acquisition" refers to the processes and technologies used to collect data and incorporate it into a system.
[0096] "Specific indicators" are criteria or foundational information selected from extracted data and used for analysis and comparison.
[0097] "Extraction methods" refer to techniques that involve extracting necessary indicators from received data and organizing their contents.
[0098] "Standard" refers to the criteria or foundation used when comparing or analyzing data.
[0099] "Means of comparison" refer to functions and technologies for comparing extracted indicators with standards and conducting analysis.
[0100] "Mobile devices" refer to devices and equipment that collect data or analyze information while physically moving.
[0101] "Means of control" refers to the process of operating or controlling equipment to make it function as instructed.
[0102] "Methods for automatically collecting and analyzing information" refers to the process of collecting, organizing, and analyzing data without human intervention.
[0103] The system for implementing this invention enables efficient analysis of quotation information and selection of optimal suppliers in factories and production sites by performing autonomous information processing with mobile devices.
[0104] The server operates in a cloud environment, aggregating data from multiple mobile robots within the factory and using this data to analyze complex quotation information. The server uses optical character recognition (OCR) software such as pytesseract to convert digitized documents into digital text. Subsequently, natural language processing is performed, employing technologies such as the langchain library to understand and organize the data. This allows for the extraction of key elements of the quotation information (price, delivery date, quantity) and comparison with standards.
[0105] The terminal utilizes the pdf2image library to convert PDF files into image format, preparing them for the initial stages of OCR processing. Furthermore, it manages the analyzed data in a dataframe format using the pandas library, enabling efficient data manipulation.
[0106] Users can view comparison results and evaluation reports generated through the system and incorporate them into their decision-making. The generated information is accessible in real time via a cloud-based interface.
[0107] As a concrete example, a mobile robot within a factory autonomously collects quotes from different suppliers and sends them to a server. The server analyzes this data and provides a report comparing the terms offered by each supplier. This process allows the factory to quickly select the supplier with the most suitable conditions.
[0108] An example of a prompt message to utilize a generative AI model is structured as follows: "Please analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0109] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0110] Step 1:
[0111] The user uploads quotation documents from multiple suppliers to the terminal. The input is a PDF file, and the output is image data. The terminal uses pdf2image to convert the PDF file into an image and prepares it for OCR processing.
[0112] Step 2:
[0113] The terminal sends image data to the server, which uses pytesseract to extract text from this image data. The input is image data, and the output is text data. The server detects information from the image using optical character recognition technology and identifies it as digital text.
[0114] Step 3:
[0115] The server processes the extracted text data using natural language processing. The input is text data, and the output is structured data. The server uses the langchain library to analyze important information such as product details, price, quantity, and delivery date, and converts it into a data frame.
[0116] Step 4:
[0117] The server compares the analyzed structured data with standard data. The inputs are the structured data and internal standards, and the output is the comparison result. The server determines which standards each estimate meets or does not meet and generates the result.
[0118] Step 5:
[0119] The server compares data against historical databases. Inputs are structured data and historical transaction data, and output is a comparison result with appropriate valuations. The server uses statistical information from historical data to analyze new estimates and compares their validity to market averages and other benchmarks.
[0120] Step 6:
[0121] The server generates an evaluation report which is then provided to the user. The input is a comparison result with appropriate ratings, and the output is an evaluation report displayed to the user. Based on this report, the user can quickly determine the best supplier.
[0122] Step 7:
[0123] This creates prompts for the generative AI model regarding additional analysis required by the user. The input is the user's analysis request and existing data, and the output is the prompt. This allows for obtaining more detailed information from the generative AI. An example of a prompt is: "Analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0124] 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.
[0125] This invention is a system designed to support the decision-making process by recognizing and analyzing the emotional state of users, in addition to processing quotation information received by companies. This system incorporates an emotion engine in addition to information reception, data extraction, benchmark comparison, result output, and notification functions, providing an interface tailored to the user's psychological state.
[0126] The user uses a terminal to input quotation documents obtained from outsourcing companies into the system. The terminal supports various file formats and transfers this data to the server.
[0127] The server analyzes the received document and extracts the text from the document as structured data using natural language processing and optical character recognition (OCR). This process handles product information, price, quantity, delivery date, and other relevant details.
[0128] The extracted data is compared to the company's internal standards, and users are alerted if any parts do not meet those standards. This process uses a rule-based system to quickly process the comparison results.
[0129] Furthermore, the server compares the current quote with past database data to assess its compatibility with market standards. This assessment takes into account past transaction prices and standard delivery times.
[0130] Here, the emotion engine analyzes the user's facial expressions and voice patterns to assess their current emotional state in real time. Based on this emotional data, the format and content of the output report are adjusted, providing a concise summary if the user is stressed, and a detailed analysis if they are excited or satisfied.
[0131] For example, if a user is feeling anxious while evaluating quotes, the emotion engine will detect this, and the server will recommend necessary actions in a user-friendly interface. Furthermore, feedback based on sentiment analysis is provided, which users can use to inform their subsequent decision-making. This allows companies to ensure greater accuracy and reliability throughout the entire quote evaluation and selection process, enabling them to choose the best partner.
[0132] The following describes the processing flow.
[0133] Step 1:
[0134] The user uses a terminal to upload quotation documents received from the outsourcing company to the system. The terminal then prepares these documents for transfer to the server.
[0135] Step 2:
[0136] The server receives the uploaded quotation document and begins analyzing the information. It processes the document as digital data using natural language processing technology and optical character recognition (OCR).
[0137] Step 3:
[0138] The server extracts detailed product information, including unit price, quantity, and delivery date, from the document. This extraction process identifies important data and treats it as structured data.
[0139] Step 4:
[0140] The server compares the extracted data against the company's internal standards and evaluates compliance. If the data does not meet the standards, it records the non-compliant items and prepares them for use in the next processing step.
[0141] Step 5:
[0142] The server uses a historical database to compare the current quote with past standard prices and transaction terms. This comparison helps to assess the market fairness of the quote.
[0143] Step 6:
[0144] The server activates the emotion engine and collects emotional data from the user's device. It then evaluates the user's current emotional state through facial expression analysis cameras and voice input.
[0145] Step 7:
[0146] Based on the emotions recognized by the emotion engine, the server adjusts the report format. For example, if the user is feeling anxious, it generates a concise report that highlights key points.
[0147] Step 8:
[0148] The server sends the generated report to the terminal and presents it to the user. The user uses this report to select a service provider.
[0149] Step 9:
[0150] The device feeds user interactions back to the emotion engine, recording them as feedback to help with future decisions. By incorporating this into the user's decision-making process, the system's effectiveness is enhanced.
[0151] This process allows users to obtain efficient and accurate information in their estimation evaluations and to make better decisions by receiving support based on sentiment recognition.
[0152] (Example 2)
[0153] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0154] When processing quotation information received by companies, there is a growing need to go beyond simple data comparison and provide decision-making support that takes into account the emotional state of the user. However, conventional systems do not take into account adjusting the output based on the user's emotions, resulting in the problem of not being able to provide optimal information.
[0155] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0156] In this invention, the server includes means for receiving information, means for extracting specific data from the received information, means for comparing the extracted data with a standard, means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results, and means for providing optimal information based on the user's emotional state. This enables flexible and accurate information provision that takes the user's emotional state into consideration.
[0157] "Means of receiving information" refers to a mechanism for receiving data transmitted from an external source.
[0158] "Means for extracting specific data from received information" refers to a mechanism for identifying and retrieving necessary information from received data.
[0159] "Means for comparing extracted data with a standard" refers to a mechanism for evaluating extracted information by comparing it with existing standards.
[0160] "Means for outputting comparison results" refers to a mechanism for presenting evaluation results to users in an understandable format.
[0161] "Means of notification in case of non-compliance with standards" refers to a mechanism for issuing warnings regarding information that, as a result of comparison, does not meet the standards.
[0162] "Means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results" refers to a mechanism for instantly evaluating the user's psychological state and changing the format and content of information provided accordingly.
[0163] "Means of providing optimal information based on the user's emotional state" refers to a mechanism for conveying information in the most appropriate form according to the user's psychological state.
[0164] This system processes quotation information received by companies and analyzes the user's emotional state to support the decision-making process. A specific example of its implementation is shown below.
[0165] Users input quotation documents obtained from outsourcing companies into the system using their own devices. These devices support various file formats, including PDF and Word, and transmit data to the server via the internet. The devices can utilize web browsers or dedicated application software.
[0166] The server uses natural language processing and optical character recognition (OCR) technologies to analyze received quotation documents. This allows it to convert the text information within the documents into structured data such as product information, price, quantity, and delivery date. A pre-trained generative AI model is used for the analysis to ensure accurate data extraction.
[0167] The server compares the extracted data with the company's internal standards and alerts the user to any areas that do not meet those standards. This comparison is performed quickly using a rule-based system. Furthermore, the server compares the acquired quotation information with past transaction history to assess compliance with market standards. This assessment takes into account previous transaction prices and standard delivery times.
[0168] The emotion engine uses data acquired from the user's device via camera and microphone to analyze the user's facial expressions and tone of voice in real time and evaluate their emotional state. If the user is stressed, the server provides a simple summary; if the user is calm, it provides a detailed analysis. This emotion analysis utilizes the latest emotion recognition AI model.
[0169] For example, if a user feels anxious while evaluating quotes, the emotion engine detects this, and the server recommends necessary actions through a simple and clear interface. It provides feedback based on sentiment analysis to assist users in making decisions. This system allows companies to obtain more accurate information throughout the entire quote evaluation process and select the best partner.
[0170] Example prompt: "How can we generate an estimated evaluation report based on the user's emotional state, and adapt it to be easier to understand if they are feeling stressed?"
[0171] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0172] Step 1:
[0173] Users input quotation documents obtained from outsourcing companies into the system using their own devices. The input data comes in a variety of file formats (e.g., PDF, Word). The device formats this data and performs the necessary conversion processes to send it to the server. During this process, it checks the integrity of the files and prepares them for transmission.
[0174] Step 2:
[0175] The server receives quotation documents sent from terminals. First, optical character recognition (OCR) technology is applied to the received files to extract text data from the image data. This process converts unstructured data within the document into structured data. The extracted text is then broken down into specific information such as product details, price, quantity, and delivery date using natural language processing technology. Generative AI models are utilized to achieve more precise data extraction.
[0176] Step 3:
[0177] The server compares the extracted data with the company's internal standards database. This process uses a rule-based system to determine compliance with the standards. It takes comparison criteria and extracted data as input and outputs a compliance assessment result. If compliance is not achieved, a warning message is generated for the user.
[0178] Step 4:
[0179] The server uses a matching engine to verify past transaction history and compare current quote information against market standards. This step involves referencing a database of past transactions to assess the reasonableness of prices and delivery times. The matching results generate new evaluation data, which is then presented to the user.
[0180] Step 5:
[0181] The emotion engine acquires audio and video data in real time from the user's device via the camera and microphone. Based on this data, it analyzes the user's emotional state and identifies the type of emotion. An emotion recognition AI model is used for this analysis. The analysis results become the output for the next step.
[0182] Step 6:
[0183] The server adjusts the format and content of the reports presented to the user based on the analysis results obtained from the emotion engine. Specifically, it changes the level of detail in the report according to the emotional state. For example, if the user is feeling anxious, it generates a summary report focused on the most important information and sends it to the user.
[0184] (Application Example 2)
[0185] 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".
[0186] In the process of evaluating quotation information, companies are required to analyze data efficiently and objectively and make appropriate decisions. However, conventional systems lack the ability to provide reports and feedback that take into account the user's emotional state, which can lead to user stress and hinder their ability to make sound judgments.
[0187] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0188] In this invention, the server includes a device for receiving information, a device for extracting specific data from the received information, a device for comparing the extracted data with a standard, a device for outputting the comparison results, a device for notifying if the standard is not met, an emotion analysis device for analyzing the user's emotional state, and a device for adjusting the interface based on the emotion analysis results. This makes it possible to provide feedback and reports that correspond to the user's emotional state when evaluating estimation information.
[0189] A "device that receives information" is a device that has the function of acquiring data provided from an external source and converting it into a format that can be used within the system.
[0190] A "device for extracting specific data" is a device that identifies necessary items and content from received information and separates them into a format that can be used for databases and analytical processing.
[0191] A "data comparison device" is a device that has the function of comparing extracted data with pre-set standards or conditions and evaluating compliance or non-compliance.
[0192] A "device that outputs comparison results" is a device that has the function of presenting the results of a comparison evaluation to the user visually or audibly.
[0193] A "notification device" is a device that sends alerts or messages to the user to draw their attention if the device does not meet the standards.
[0194] An "emotion analysis device" is a system that analyzes and evaluates a user's emotional state in real time based on their facial expressions, voice, and actions.
[0195] A "device for adjusting the interface" is a device that optimizes the amount and format of information provided to the user based on the results of emotion analysis, and has the function of reducing stress or helping to understand the information.
[0196] To implement this invention, a system is constructed that combines a factory robot with an information receiving device, a data extraction device, a reference comparison device, a notification device, an emotion analysis device, and an interface adjustment device.
[0197] The server uses cameras and microphones mounted on factory robots to collect voice and facial expression data from users in real time. This data is analyzed using Microsoft Azure's Emotion API in the cloud to evaluate the user's emotional state. Based on the emotional information obtained in this way, the robot can provide an interface that is tailored to the user's stress level.
[0198] Furthermore, the server uses OCR technology to digitize the quotation document and leverages Hugging Face's natural language processing model to extract necessary information. The extracted data is then compared with internal company standard data, and any parts that do not meet the standards are alerted to the user via a rule-based system.
[0199] This configuration allows users to receive real-time, emotionally responsive feedback, even in the demanding task of evaluating estimates. This enables stress-free decision-making and efficient work execution.
[0200] For example, when a factory purchasing manager reviews a quote for an expensive part, they may feel uneasy about the high price. In this case, the emotion analysis device detects the uneasy feeling, and the server provides concise feedback such as, "The market price for this product is generally reasonable," thereby alleviating the manager's anxiety.
[0201] An example of a prompt message would be: "Analyze the latest estimated price and evaluate whether it conforms to the benchmark price. Also, provide a summary of the price analysis if the user expresses concerns." In this way, it is possible to specifically demonstrate how the invention will be used in actual business operations.
[0202] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0203] Step 1:
[0204] The terminal uses a camera and microphone mounted on a factory robot to collect voice and facial expression data from the user. This data is sent to the Microsoft Azure Emotion API and used as input to analyze the user's emotional state. The analysis results are received as data indicating the user's emotional state.
[0205] Step 2:
[0206] The server uses OCR technology to scan the user-uploaded quotation document and extract digital text data. This data is then analyzed by Hugging Face's natural language processing model, and necessary items such as product information, price, and quantity are output as structured data.
[0207] Step 3:
[0208] The server compares the extracted data with the company's standard database. This comparison process uses a rule-based system to immediately detect any discrepancies. Any detected differences are output as warning data and sent to a notification device.
[0209] Step 4:
[0210] The server adjusts the content of the interface presented to the user based on the emotion evaluation data received from the Emotion API. For example, if the user indicates anxiety, the server reduces the volume of output information to provide concise feedback immediately.
[0211] Step 5:
[0212] Through a tuned interface, users receive warnings and emotionally sensitive report feedback regarding detected non-conformities. This tuned interface is expected to serve as a reference for users to make decisions and reduce stress and anxiety in their work.
[0213] 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.
[0214] 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.
[0215] 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.
[0216] [Second Embodiment]
[0217] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0218] 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.
[0219] 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).
[0220] 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.
[0221] 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.
[0222] 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).
[0223] 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.
[0224] 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.
[0225] 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.
[0226] 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.
[0227] 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.
[0228] 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".
[0229] This invention is a system for efficiently processing multiple quotation information received by a company, and its specific form is shown below. This system receives information, extracts specific data, compares it with a standard, and supports decision-making based on the results.
[0230] First, the user uploads quotes obtained from multiple outsourcing companies to the system. Various file formats (e.g., PDF, Excel, Word) can be handled through applications installed on the device.
[0231] Next, the server analyzes the uploaded documents using natural language processing and optical character recognition (OCR) technologies. This analysis process extracts key information such as product details, unit price, quantity, and delivery date from the quotation and converts it into structured data. This makes it possible to efficiently process large amounts of information and pick out only the necessary data.
[0232] The server then compares the extracted data against company-specific standards and criteria. This comparison uses a rule-based engine to determine whether each estimate meets the criteria or which parts do not.
[0233] Furthermore, the server compares newly received quotes with past data in its database to evaluate their appropriateness. This includes information such as the price, delivery date, and terms of similar past transactions.
[0234] A user-available report is generated, which includes a comprehensive comparison and analysis of each contractor's proposal. Key points are highlighted, and areas that do not meet the standards are particularly emphasized.
[0235] As a concrete example, suppose a company is obtaining quotes from multiple IT vendors for a new project. By using this system, the user can quickly select the best vendor that meets their company's criteria. For example, if company A's quote is competitive in terms of price but the lead time is too long, the system will point this out and present alternatives based on past transactions. This allows the user to make quick and rational decisions and achieve optimal resource utilization.
[0236] The following describes the processing flow.
[0237] Step 1:
[0238] The user uses a terminal to upload quotation documents obtained from outsourcing companies to the system. The terminal accepts various file formats (e.g., PDF, Excel, Word, etc.) and prepares them for transfer to the server.
[0239] Step 2:
[0240] The server receives the uploaded quotation document. At this point, the server prepares to apply natural language processing and optical character recognition (OCR) technologies to analyze the document type and content.
[0241] Step 3:
[0242] The server uses OCR technology to convert the text in the document into digital data. This process involves pattern matching to extract specific data such as product details, quantity, unit price, and delivery date.
[0243] Step 4:
[0244] The server compares the extracted data against the company's internal standards and policies. Using a rule-based engine, it checks for matches or mismatches against these standards and records non-conformities as needed.
[0245] Step 5:
[0246] The server retrieves similar project information from past databases and compares it with the current estimate. In particular, it evaluates the appropriateness of price and delivery time, comparing them to market averages and past performance.
[0247] Step 6:
[0248] The server aggregates these analysis results and generates a report to present to the user. The report includes detailed evaluation results and selection reasons for each estimate, and adds warnings to the user for any non-conformities.
[0249] Step 7:
[0250] Users select outsourcing companies based on the generated reports. They review detailed information to support their final decision, referring to alerts from the system. This information can be saved as a reference for future selection processes.
[0251] (Example 1)
[0252] 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."
[0253] Companies need support to efficiently process large amounts of quotation information received from multiple outsourcing companies and to make quick and rational decisions. However, quotation data is often provided in various formats, and manually analyzing and comparing it to standards is not only time-consuming but also prone to errors. Furthermore, making appropriate judgments by comparing it with past transactions and market information is difficult. These challenges need to be addressed.
[0254] 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.
[0255] In this invention, the server includes a device for receiving information, a device for identifying and extracting important information from the received information, a device for comparing the extracted information with a standard, a device for comparing it with past transaction information, a device for converting it into structured data, a device for issuing warnings, a device for creating evaluation reports, and a device for analyzing information by combining natural language processing technology and optical character recognition technology. This makes it possible to automatically and efficiently analyze large amounts of diverse quotation information and quickly support appropriate decision-making.
[0256] A "device that receives information" is a device that acquires data transmitted from an external source and makes it available for use within the system.
[0257] A "device for identifying and extracting important information" is a device equipped with the function of identifying and selecting necessary elements from received data.
[0258] A "device for comparing with a standard" is a device equipped with the function of evaluating extracted data by comparing it with a pre-set standard value.
[0259] A "device that generates and outputs comparison results" is a device that creates analysis results based on comparison with a standard and can display or print out that information.
[0260] A "warning device" is a device equipped with a function to notify users when data does not conform to the standards.
[0261] A "structured data conversion device" is a device that organizes unstructured data and formats it into a standardized format.
[0262] A "device for comparing with past transaction information" is a device used to compare newly received data with past transaction records and evaluate them.
[0263] A "device for generating evaluation reports" is a device for creating reports that systematically and comprehensively summarize analysis results.
[0264] "Natural language processing technology" is a technology that uses computers to process and analyze human language and generate information based on that analysis.
[0265] "Optical character recognition technology" is a technology that recognizes characters in an image and converts them into digital data.
[0266] This system is designed to efficiently analyze quotation information received by companies and support them in making sound decisions. It is primarily composed of three elements: servers, terminals, and users.
[0267] Users import multiple quotation data obtained from outsourcing companies into the system using a dedicated application installed on their terminal. This application can handle various file formats, including PDF, Excel, and Word.
[0268] The server analyzes the received quotation data using natural language processing (NLP) and optical character recognition (OCR) technologies. Natural language processing is used to process human language using computer programs to identify important information, while OCR is used to extract text information from images and convert it into digital data. This allows the server to identify and extract important information from the quotation, such as product name, unit price, quantity, and delivery date.
[0269] Next, the server compares the extracted data to criteria set by the company. In this process, the server uses a rule-based engine to evaluate whether each element of the data meets the set criteria. Furthermore, the server compares the structured data with historical transaction data to determine the appropriateness of the estimate. The historical information obtained from the database includes prices, delivery dates, and conditions of similar transactions, and by comparing with this, the server confirms fair market prices and transaction conditions.
[0270] Finally, the server generates an evaluation report. This report includes details of each contractor's proposal, comparisons against the criteria, and comparative analysis results with historical data. Areas that do not meet the criteria are highlighted, providing information to help users make quick and rational decisions.
[0271] A concrete example is when a user obtains project quotes from multiple IT vendors. For instance, a prompt such as, "Please describe a system that analyzes IT project quotes and selects the best vendor," can be used to assist the user in selecting the optimal vendor. The server analyzes the quote data, evaluates it based on criteria and past transaction information, and supports the user by showing the best option.
[0272] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0273] Step 1:
[0274] Users upload quotation files from outsourcing companies using a dedicated application via their terminal. Input files are accepted in formats such as PDF, Excel, and Word, which the application receives and sends to the system. The output is the raw data in its uploaded state. Users initiate this process by selecting a file and pressing the submit button.
[0275] Step 2:
[0276] The server applies Optical Character Recognition (OCR) technology to the received file, converting image text into digital data. The input is raw data, and the output is the converted text data. Specifically, the server scans the information on each page, recognizes characters from the image, and extracts them in text format.
[0277] Step 3:
[0278] The server uses natural language processing (NLP) techniques to extract important information from text data. The input is quotation information transcribed into text by OCR, and the output is structured data such as product name, unit price, quantity, and delivery date. The server analyzes words, detects specific patterns and keywords, and extracts the necessary data.
[0279] Step 4:
[0280] The server compares the extracted data against predefined criteria. The input is structured data, and the output is an evaluation result regarding compliance with the criteria. The server uses a rule-based engine to determine whether each item of the data meets the criteria.
[0281] Step 5:
[0282] The server performs a comparison with the past transaction database based on the evaluation results. The input is the reference comparison result, and the output is the comparison result with the market average and past performance. The server accesses the database, extracts similar transaction information, and compares it with the latest data.
[0283] Step 6:
[0284] The server integrates all the analysis results and generates an evaluation report. The input is the analysis result of the comparison result and past data, and the output is a comprehensive evaluation report. The server emphasizes the parts that do not conform to the criteria in this report and makes important information prominent. It creates a document that can be utilized by the user for decision-making.
[0285] (Application Example 1)
[0286] Next, Application Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0287] In a production site such as a factory, the process of efficiently obtaining quotation information from multiple suppliers and selecting an appropriate purchasing source is an issue. In particular, manually analyzing and comparing a large amount of quotation information consumes a significant amount of time and resources. Also, there is a lack of technology for autonomously collecting and analyzing data by utilizing the functions of mobile devices.
[0288] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0289] In this invention, the server includes means for acquiring information, means for extracting specific indicators from the acquired information, means for comparing the extracted indicators with a standard, and means for controlling a mobile device to automatically collect and analyze information. Thereby, a large amount of quotation information can be efficiently processed, and it becomes possible to quickly and autonomously select an optimal purchasing source.
[0290] "Information" refers to a collection of data and metrics obtained through a specific data collection process.
[0291] "Means of acquisition" refers to the processes and technologies used to collect data and incorporate it into a system.
[0292] "Specific indicators" are criteria or foundational information selected from extracted data and used for analysis and comparison.
[0293] "Extraction methods" refer to techniques that involve extracting necessary indicators from received data and organizing their contents.
[0294] "Standard" refers to the criteria or foundation used when comparing or analyzing data.
[0295] "Means of comparison" refer to functions and technologies for comparing extracted indicators with standards and conducting analysis.
[0296] "Mobile devices" refer to devices and equipment that collect data or analyze information while physically moving.
[0297] "Means of control" refers to the process of operating or controlling equipment to make it function as instructed.
[0298] "Methods for automatically collecting and analyzing information" refers to the process of collecting, organizing, and analyzing data without human intervention.
[0299] The system for implementing this invention enables efficient analysis of quotation information and selection of optimal suppliers in factories and production sites by performing autonomous information processing with mobile devices.
[0300] The server operates in a cloud environment, aggregating data from multiple mobile robots within the factory and using this data to analyze complex quotation information. The server uses optical character recognition (OCR) software such as pytesseract to convert digitized documents into digital text. Subsequently, natural language processing is performed, employing technologies such as the langchain library to understand and organize the data. This allows for the extraction of key elements of the quotation information (price, delivery date, quantity) and comparison with standards.
[0301] The terminal utilizes the pdf2image library to convert PDF files into image format, preparing them for the initial stages of OCR processing. Furthermore, it manages the analyzed data in a dataframe format using the pandas library, enabling efficient data manipulation.
[0302] Users can view comparison results and evaluation reports generated through the system and incorporate them into their decision-making. The generated information is accessible in real time via a cloud-based interface.
[0303] As a concrete example, a mobile robot within a factory autonomously collects quotes from different suppliers and sends them to a server. The server analyzes this data and provides a report comparing the terms offered by each supplier. This process allows the factory to quickly select the supplier with the most suitable conditions.
[0304] An example of a prompt message to utilize a generative AI model is structured as follows: "Please analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0305] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0306] Step 1:
[0307] The user uploads the quotation documents provided by multiple suppliers to the terminal. The input is a file in PDF format, and the output is image data. The terminal uses pdf2image to convert the PDF file into an image and prepares for OCR processing.
[0308] Step 2:
[0309] The terminal sends the image data to the server, and the server uses pytesseract to extract text from these image data. The input is image data, and the output is text data. The server detects information from the image by optical character recognition technology and identifies it as digital text.
[0310] Step 3:
[0311] The server performs language processing on the extracted text data. The input is text data, and the output is structured data. The server uses the langchain library to analyze important information such as product details, price, quantity, and delivery date, and frame it into a data frame.
[0312] Step 4:
[0313] The server compares the analyzed structured data with the standard data. The input is structured data and internal standards, and the output is the comparison result. The server determines whether each quotation meets the criteria or not, and generates the result.
[0314] Step 5:
[0315] The server performs a collation with the past database. The input is structured data and past transaction data, and the output is the comparison result with an appropriateness evaluation. The server analyzes the new quotation by making full use of the statistical information of the historical data and compares its validity with the market average, etc.
[0316] Step 6:
[0317] The server generates an evaluation report which is then provided to the user. The input is a comparison result with appropriate ratings, and the output is an evaluation report displayed to the user. Based on this report, the user can quickly determine the best supplier.
[0318] Step 7:
[0319] This creates prompts for the generative AI model regarding additional analysis required by the user. The input is the user's analysis request and existing data, and the output is the prompt. This allows for obtaining more detailed information from the generative AI. An example of a prompt is: "Analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0320] 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.
[0321] This invention is a system designed to support the decision-making process by recognizing and analyzing the emotional state of users, in addition to processing quotation information received by companies. This system incorporates an emotion engine in addition to information reception, data extraction, benchmark comparison, result output, and notification functions, providing an interface tailored to the user's psychological state.
[0322] The user uses a terminal to input quotation documents obtained from outsourcing companies into the system. The terminal supports various file formats and transfers this data to the server.
[0323] The server analyzes the received document and extracts the text from the document as structured data using natural language processing and optical character recognition (OCR). This process handles product information, price, quantity, delivery date, and other relevant details.
[0324] The extracted data is compared to the company's internal standards, and users are alerted if any parts do not meet those standards. This process uses a rule-based system to quickly process the comparison results.
[0325] Furthermore, the server compares the current quote with past database data to assess its compatibility with market standards. This assessment takes into account past transaction prices and standard delivery times.
[0326] Here, the emotion engine analyzes the user's facial expressions and voice patterns to assess their current emotional state in real time. Based on this emotional data, the format and content of the output report are adjusted, providing a concise summary if the user is stressed, and a detailed analysis if they are excited or satisfied.
[0327] For example, if a user is feeling anxious while evaluating quotes, the emotion engine will detect this, and the server will recommend necessary actions in a user-friendly interface. Furthermore, feedback based on sentiment analysis is provided, which users can use to inform their subsequent decision-making. This allows companies to ensure greater accuracy and reliability throughout the entire quote evaluation and selection process, enabling them to choose the best partner.
[0328] The following describes the processing flow.
[0329] Step 1:
[0330] The user uses a terminal to upload quotation documents received from the outsourcing company to the system. The terminal then prepares these documents for transfer to the server.
[0331] Step 2:
[0332] The server receives the uploaded quotation document and begins analyzing the information. It processes the document as digital data using natural language processing technology and optical character recognition (OCR).
[0333] Step 3:
[0334] The server extracts detailed product information, including unit price, quantity, and delivery date, from the document. This extraction process identifies important data and treats it as structured data.
[0335] Step 4:
[0336] The server compares the extracted data against the company's internal standards and evaluates compliance. If the data does not meet the standards, it records the non-compliant items and prepares them for use in the next processing step.
[0337] Step 5:
[0338] The server uses a historical database to compare the current quote with past standard prices and transaction terms. This comparison helps to assess the market fairness of the quote.
[0339] Step 6:
[0340] The server activates the emotion engine and collects emotional data from the user's device. It then evaluates the user's current emotional state through facial expression analysis cameras and voice input.
[0341] Step 7:
[0342] Based on the emotions recognized by the emotion engine, the server adjusts the report format. For example, if the user is feeling anxious, it generates a concise report that highlights key points.
[0343] Step 8:
[0344] The server sends the generated report to the terminal and presents it to the user. The user uses this report to select a service provider.
[0345] Step 9:
[0346] The device feeds user interactions back to the emotion engine, recording them as feedback to help with future decisions. By incorporating this into the user's decision-making process, the system's effectiveness is enhanced.
[0347] This process allows users to obtain efficient and accurate information in their estimation evaluations and to make better decisions by receiving support based on sentiment recognition.
[0348] (Example 2)
[0349] 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".
[0350] When processing quotation information received by companies, there is a growing need to go beyond simple data comparison and provide decision-making support that takes into account the emotional state of the user. However, conventional systems do not take into account adjusting the output based on the user's emotions, resulting in the problem of not being able to provide optimal information.
[0351] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0352] In this invention, the server includes means for receiving information, means for extracting specific data from the received information, means for comparing the extracted data with a standard, means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results, and means for providing optimal information based on the user's emotional state. This enables flexible and accurate information provision that takes the user's emotional state into consideration.
[0353] "Means of receiving information" refers to a mechanism for receiving data transmitted from an external source.
[0354] "Means for extracting specific data from received information" refers to a mechanism for identifying and retrieving necessary information from received data.
[0355] "Means for comparing extracted data with a standard" refers to a mechanism for evaluating extracted information by comparing it with existing standards.
[0356] "Means for outputting comparison results" refers to a mechanism for presenting evaluation results to users in an understandable format.
[0357] "Means of notification in case of non-compliance with standards" refers to a mechanism for issuing warnings regarding information that, as a result of comparison, does not meet the standards.
[0358] "Means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results" refers to a mechanism for instantly evaluating the user's psychological state and changing the format and content of information provided accordingly.
[0359] "Means of providing optimal information based on the user's emotional state" refers to a mechanism for conveying information in the most appropriate form according to the user's psychological state.
[0360] This system processes quotation information received by companies and analyzes the user's emotional state to support the decision-making process. A specific example of its implementation is shown below.
[0361] Users input quotation documents obtained from outsourcing companies into the system using their own devices. These devices support various file formats, including PDF and Word, and transmit data to the server via the internet. The devices can utilize web browsers or dedicated application software.
[0362] The server uses natural language processing and optical character recognition (OCR) technologies to analyze received quotation documents. This allows it to convert the text information within the documents into structured data such as product information, price, quantity, and delivery date. A pre-trained generative AI model is used for the analysis to ensure accurate data extraction.
[0363] The server compares the extracted data with the company's internal standards and alerts the user to any areas that do not meet those standards. This comparison is performed quickly using a rule-based system. Furthermore, the server compares the acquired quotation information with past transaction history to assess compliance with market standards. This assessment takes into account previous transaction prices and standard delivery times.
[0364] The emotion engine uses data acquired from the user's device via camera and microphone to analyze the user's facial expressions and tone of voice in real time and evaluate their emotional state. If the user is stressed, the server provides a simple summary; if the user is calm, it provides a detailed analysis. This emotion analysis utilizes the latest emotion recognition AI model.
[0365] For example, if a user feels anxious while evaluating quotes, the emotion engine detects this, and the server recommends necessary actions through a simple and clear interface. It provides feedback based on sentiment analysis to assist users in making decisions. This system allows companies to obtain more accurate information throughout the entire quote evaluation process and select the best partner.
[0366] Example prompt: "How can we generate an estimated evaluation report based on the user's emotional state, and adapt it to be easier to understand if they are feeling stressed?"
[0367] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0368] Step 1:
[0369] Users input quotation documents obtained from outsourcing companies into the system using their own devices. The input data comes in a variety of file formats (e.g., PDF, Word). The device formats this data and performs the necessary conversion processes to send it to the server. During this process, it checks the integrity of the files and prepares them for transmission.
[0370] Step 2:
[0371] The server receives quotation documents sent from terminals. First, optical character recognition (OCR) technology is applied to the received files to extract text data from the image data. This process converts unstructured data within the document into structured data. The extracted text is then broken down into specific information such as product details, price, quantity, and delivery date using natural language processing technology. Generative AI models are utilized to achieve more precise data extraction.
[0372] Step 3:
[0373] The server compares the extracted data with the company's internal standards database. This process uses a rule-based system to determine compliance with the standards. It takes comparison criteria and extracted data as input and outputs a compliance assessment result. If compliance is not achieved, a warning message is generated for the user.
[0374] Step 4:
[0375] The server uses a matching engine to verify past transaction history and compare current quote information against market standards. This step involves referencing a database of past transactions to assess the reasonableness of prices and delivery times. The matching results generate new evaluation data, which is then presented to the user.
[0376] Step 5:
[0377] The emotion engine acquires audio and video data in real time from the user's device via the camera and microphone. Based on this data, it analyzes the user's emotional state and identifies the type of emotion. An emotion recognition AI model is used for this analysis. The analysis results become the output for the next step.
[0378] Step 6:
[0379] The server adjusts the format and content of the reports presented to the user based on the analysis results obtained from the emotion engine. Specifically, it changes the level of detail in the report according to the emotional state. For example, if the user is feeling anxious, it generates a summary report focused on the most important information and sends it to the user.
[0380] (Application Example 2)
[0381] 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."
[0382] In the process of evaluating quotation information, companies are required to analyze data efficiently and objectively and make appropriate decisions. However, conventional systems lack the ability to provide reports and feedback that take into account the user's emotional state, which can lead to user stress and hinder their ability to make sound judgments.
[0383] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0384] In this invention, the server includes a device for receiving information, a device for extracting specific data from the received information, a device for comparing the extracted data with a standard, a device for outputting the comparison results, a device for notifying if the standard is not met, an emotion analysis device for analyzing the user's emotional state, and a device for adjusting the interface based on the emotion analysis results. This makes it possible to provide feedback and reports that correspond to the user's emotional state when evaluating estimation information.
[0385] A "device that receives information" is a device that has the function of acquiring data provided from an external source and converting it into a format that can be used within the system.
[0386] A "device for extracting specific data" is a device that identifies necessary items and content from received information and separates them into a format that can be used for databases and analytical processing.
[0387] A "data comparison device" is a device that has the function of comparing extracted data with pre-set standards or conditions and evaluating compliance or non-compliance.
[0388] A "device that outputs comparison results" is a device that has the function of presenting the results of a comparison evaluation to the user visually or audibly.
[0389] A "notification device" is a device that sends alerts or messages to the user to draw their attention if the device does not meet the standards.
[0390] An "emotion analysis device" is a system that analyzes and evaluates a user's emotional state in real time based on their facial expressions, voice, and actions.
[0391] A "device for adjusting the interface" is a device that optimizes the amount and format of information provided to the user based on the results of emotion analysis, and has the function of reducing stress or helping to understand the information.
[0392] To implement this invention, a system is constructed that combines a factory robot with an information receiving device, a data extraction device, a reference comparison device, a notification device, an emotion analysis device, and an interface adjustment device.
[0393] The server uses cameras and microphones mounted on factory robots to collect voice and facial expression data from users in real time. This data is analyzed using Microsoft Azure's Emotion API in the cloud to evaluate the user's emotional state. Based on the emotional information obtained in this way, the robot can provide an interface that is tailored to the user's stress level.
[0394] Furthermore, the server uses OCR technology to digitize the quotation document and leverages Hugging Face's natural language processing model to extract necessary information. The extracted data is then compared with internal company standard data, and any parts that do not meet the standards are alerted to the user via a rule-based system.
[0395] This configuration allows users to receive real-time, emotionally responsive feedback, even in the demanding task of evaluating estimates. This enables stress-free decision-making and efficient work execution.
[0396] For example, when a factory purchasing manager reviews a quote for an expensive part, they may feel uneasy about the high price. In this case, the emotion analysis device detects the uneasy feeling, and the server provides concise feedback such as, "The market price for this product is generally reasonable," thereby alleviating the manager's anxiety.
[0397] An example of a prompt message would be: "Analyze the latest estimated price and evaluate whether it conforms to the benchmark price. Also, provide a summary of the price analysis if the user expresses concerns." In this way, it is possible to specifically demonstrate how the invention will be used in actual business operations.
[0398] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0399] Step 1:
[0400] The terminal uses a camera and microphone mounted on a factory robot to collect voice and facial expression data from the user. This data is sent to the Microsoft Azure Emotion API and used as input to analyze the user's emotional state. The analysis results are received as data indicating the user's emotional state.
[0401] Step 2:
[0402] The server uses OCR technology to scan the user-uploaded quotation document and extract digital text data. This data is then analyzed by Hugging Face's natural language processing model, and necessary items such as product information, price, and quantity are output as structured data.
[0403] Step 3:
[0404] The server compares the extracted data with the company's standard database. This comparison process uses a rule-based system to immediately detect any discrepancies. Any detected differences are output as warning data and sent to a notification device.
[0405] Step 4:
[0406] The server adjusts the content of the interface presented to the user based on the emotion evaluation data received from the Emotion API. For example, if the user indicates anxiety, the server reduces the volume of output information to provide concise feedback immediately.
[0407] Step 5:
[0408] Through a tuned interface, users receive warnings and emotionally sensitive report feedback regarding detected non-conformities. This tuned interface is expected to serve as a reference for users to make decisions and reduce stress and anxiety in their work.
[0409] 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.
[0410] 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.
[0411] 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.
[0412] [Third Embodiment]
[0413] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0414] 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.
[0415] 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).
[0416] 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.
[0417] 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.
[0418] 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).
[0419] 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.
[0420] 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.
[0421] 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.
[0422] 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.
[0423] 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.
[0424] 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".
[0425] This invention is a system for efficiently processing multiple quotation information received by a company, and its specific form is shown below. This system receives information, extracts specific data, compares it with a standard, and supports decision-making based on the results.
[0426] First, the user uploads quotes obtained from multiple outsourcing companies to the system. Various file formats (e.g., PDF, Excel, Word) can be handled through applications installed on the device.
[0427] Next, the server analyzes the uploaded documents using natural language processing and optical character recognition (OCR) technologies. This analysis process extracts key information such as product details, unit price, quantity, and delivery date from the quotation and converts it into structured data. This makes it possible to efficiently process large amounts of information and pick out only the necessary data.
[0428] The server then compares the extracted data against company-specific standards and criteria. This comparison uses a rule-based engine to determine whether each estimate meets the criteria or which parts do not.
[0429] Furthermore, the server compares newly received quotes with past data in its database to evaluate their appropriateness. This includes information such as the price, delivery date, and terms of similar past transactions.
[0430] A user-available report is generated, which includes a comprehensive comparison and analysis of each contractor's proposal. Key points are highlighted, and areas that do not meet the standards are particularly emphasized.
[0431] As a concrete example, suppose a company is obtaining quotes from multiple IT vendors for a new project. By using this system, the user can quickly select the best vendor that meets their company's criteria. For example, if company A's quote is competitive in terms of price but the lead time is too long, the system will point this out and present alternatives based on past transactions. This allows the user to make quick and rational decisions and achieve optimal resource utilization.
[0432] The following describes the processing flow.
[0433] Step 1:
[0434] The user uses a terminal to upload quotation documents obtained from outsourcing companies to the system. The terminal accepts various file formats (e.g., PDF, Excel, Word, etc.) and prepares them for transfer to the server.
[0435] Step 2:
[0436] The server receives the uploaded quotation document. At this point, the server prepares to apply natural language processing and optical character recognition (OCR) technologies to analyze the document type and content.
[0437] Step 3:
[0438] The server uses OCR technology to convert the text in the document into digital data. This process involves pattern matching to extract specific data such as product details, quantity, unit price, and delivery date.
[0439] Step 4:
[0440] The server compares the extracted data against the company's internal standards and policies. Using a rule-based engine, it checks for matches or mismatches against these standards and records non-conformities as needed.
[0441] Step 5:
[0442] The server retrieves similar project information from past databases and compares it with the current estimate. In particular, it evaluates the appropriateness of price and delivery time, comparing them to market averages and past performance.
[0443] Step 6:
[0444] The server aggregates these analysis results and generates a report to present to the user. The report includes detailed evaluation results and selection reasons for each estimate, and adds warnings to the user for any non-conformities.
[0445] Step 7:
[0446] Users select outsourcing companies based on the generated reports. They review detailed information to support their final decision, referring to alerts from the system. This information can be saved as a reference for future selection processes.
[0447] (Example 1)
[0448] 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."
[0449] Companies need support to efficiently process large amounts of quotation information received from multiple outsourcing companies and to make quick and rational decisions. However, quotation data is often provided in various formats, and manually analyzing and comparing it to standards is not only time-consuming but also prone to errors. Furthermore, making appropriate judgments by comparing it with past transactions and market information is difficult. These challenges need to be addressed.
[0450] 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.
[0451] In this invention, the server includes a device for receiving information, a device for identifying and extracting important information from the received information, a device for comparing the extracted information with a standard, a device for comparing it with past transaction information, a device for converting it into structured data, a device for issuing warnings, a device for creating evaluation reports, and a device for analyzing information by combining natural language processing technology and optical character recognition technology. This makes it possible to automatically and efficiently analyze large amounts of diverse quotation information and quickly support appropriate decision-making.
[0452] A "device that receives information" is a device that acquires data transmitted from an external source and makes it available for use within the system.
[0453] A "device for identifying and extracting important information" is a device equipped with the function of identifying and selecting necessary elements from received data.
[0454] A "device for comparing with a standard" is a device equipped with the function of evaluating extracted data by comparing it with a pre-set standard value.
[0455] A "device that generates and outputs comparison results" is a device that creates analysis results based on comparison with a standard and can display or print out that information.
[0456] A "warning device" is a device equipped with a function to notify users when data does not conform to the standards.
[0457] A "structured data conversion device" is a device that organizes unstructured data and formats it into a standardized format.
[0458] A "device for comparing with past transaction information" is a device used to compare newly received data with past transaction records and evaluate them.
[0459] A "device for generating evaluation reports" is a device for creating reports that systematically and comprehensively summarize analysis results.
[0460] "Natural language processing technology" is a technology that uses computers to process and analyze human language and generate information based on that analysis.
[0461] "Optical character recognition technology" is a technology that recognizes characters in an image and converts them into digital data.
[0462] This system is designed to efficiently analyze quotation information received by companies and support them in making sound decisions. It is primarily composed of three elements: servers, terminals, and users.
[0463] Users import multiple quotation data obtained from outsourcing companies into the system using a dedicated application installed on their terminal. This application can handle various file formats, including PDF, Excel, and Word.
[0464] The server analyzes the received quotation data using natural language processing (NLP) and optical character recognition (OCR) technologies. Natural language processing is used to process human language using computer programs to identify important information, while OCR is used to extract text information from images and convert it into digital data. This allows the server to identify and extract important information from the quotation, such as product name, unit price, quantity, and delivery date.
[0465] Next, the server compares the extracted data to criteria set by the company. In this process, the server uses a rule-based engine to evaluate whether each element of the data meets the set criteria. Furthermore, the server compares the structured data with historical transaction data to determine the appropriateness of the estimate. The historical information obtained from the database includes prices, delivery dates, and conditions of similar transactions, and by comparing with this, the server confirms fair market prices and transaction conditions.
[0466] Finally, the server generates an evaluation report. This report includes details of each contractor's proposal, comparisons against the criteria, and comparative analysis results with historical data. Areas that do not meet the criteria are highlighted, providing information to help users make quick and rational decisions.
[0467] A concrete example is when a user obtains project quotes from multiple IT vendors. For instance, a prompt such as, "Please describe a system that analyzes IT project quotes and selects the best vendor," can be used to assist the user in selecting the optimal vendor. The server analyzes the quote data, evaluates it based on criteria and past transaction information, and supports the user by showing the best option.
[0468] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0469] Step 1:
[0470] Users upload quotation files from outsourcing companies using a dedicated application via their terminal. Input files are accepted in formats such as PDF, Excel, and Word, which the application receives and sends to the system. The output is the raw data in its uploaded state. Users initiate this process by selecting a file and pressing the submit button.
[0471] Step 2:
[0472] The server applies Optical Character Recognition (OCR) technology to the received file, converting image text into digital data. The input is raw data, and the output is the converted text data. Specifically, the server scans the information on each page, recognizes characters from the image, and extracts them in text format.
[0473] Step 3:
[0474] The server uses natural language processing (NLP) techniques to extract important information from text data. The input is quotation information transcribed into text by OCR, and the output is structured data such as product name, unit price, quantity, and delivery date. The server analyzes words, detects specific patterns and keywords, and extracts the necessary data.
[0475] Step 4:
[0476] The server compares the extracted data against predefined criteria. The input is structured data, and the output is an evaluation result regarding compliance with the criteria. The server uses a rule-based engine to determine whether each item of the data meets the criteria.
[0477] Step 5:
[0478] The server compares the evaluation results with a database of past transactions. The input is the benchmark comparison result, and the output is the comparison result with the market average and past performance. The server accesses the database, retrieves similar transaction information, and compares it with recent data.
[0479] Step 6:
[0480] The server integrates all analysis results and generates an evaluation report. The input is the analysis results against comparison data and historical data, and the output is a comprehensive evaluation report. The server highlights areas that do not meet the criteria and emphasizes important information in this report. It creates a document that users can use for decision-making.
[0481] (Application Example 1)
[0482] 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."
[0483] In production sites such as factories, efficiently obtaining quotes from multiple suppliers and selecting the appropriate buyer is a challenge. In particular, manually analyzing and comparing large amounts of quotes consumes a significant amount of time and resources. Furthermore, there is a lack of technology that utilizes the functions of mobile devices to autonomously collect and analyze data.
[0484] 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.
[0485] In this invention, the server includes means for acquiring information, means for extracting specific indicators from the acquired information, means for comparing the extracted indicators with a standard, and means for controlling mobile devices and automatically collecting and analyzing information. This enables efficient processing of large amounts of quotation information and allows for the rapid and autonomous selection of the optimal supplier.
[0486] "Information" refers to a collection of data and metrics obtained through a specific data collection process.
[0487] "Means of acquisition" refers to the processes and technologies used to collect data and incorporate it into a system.
[0488] "Specific indicators" are criteria or foundational information selected from extracted data and used for analysis and comparison.
[0489] "Extraction methods" refer to techniques that involve extracting necessary indicators from received data and organizing their contents.
[0490] "Standard" refers to the criteria or foundation used when comparing or analyzing data.
[0491] "Means of comparison" refer to functions and technologies for comparing extracted indicators with standards and conducting analysis.
[0492] "Mobile devices" refer to devices and equipment that collect data or analyze information while physically moving.
[0493] "Means of control" refers to the process of operating or controlling equipment to make it function as instructed.
[0494] "Methods for automatically collecting and analyzing information" refers to the process of collecting, organizing, and analyzing data without human intervention.
[0495] The system for implementing this invention enables efficient analysis of quotation information and selection of optimal suppliers in factories and production sites by performing autonomous information processing with mobile devices.
[0496] The server operates in a cloud environment, aggregating data from multiple mobile robots within the factory and using this data to analyze complex quotation information. The server uses optical character recognition (OCR) software such as pytesseract to convert digitized documents into digital text. Subsequently, natural language processing is performed, employing technologies such as the langchain library to understand and organize the data. This allows for the extraction of key elements of the quotation information (price, delivery date, quantity) and comparison with standards.
[0497] The terminal utilizes the pdf2image library to convert PDF files into image format, preparing them for the initial stages of OCR processing. Furthermore, it manages the analyzed data in a dataframe format using the pandas library, enabling efficient data manipulation.
[0498] Users can view comparison results and evaluation reports generated through the system and incorporate them into their decision-making. The generated information is accessible in real time via a cloud-based interface.
[0499] As a concrete example, a mobile robot within a factory autonomously collects quotes from different suppliers and sends them to a server. The server analyzes this data and provides a report comparing the terms offered by each supplier. This process allows the factory to quickly select the supplier with the most suitable conditions.
[0500] An example of a prompt message to utilize a generative AI model is structured as follows: "Please analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0501] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0502] Step 1:
[0503] The user uploads quotation documents from multiple suppliers to the terminal. The input is a PDF file, and the output is image data. The terminal uses pdf2image to convert the PDF file into an image and prepares it for OCR processing.
[0504] Step 2:
[0505] The terminal sends image data to the server, which uses pytesseract to extract text from this image data. The input is image data, and the output is text data. The server detects information from the image using optical character recognition technology and identifies it as digital text.
[0506] Step 3:
[0507] The server processes the extracted text data using natural language processing. The input is text data, and the output is structured data. The server uses the langchain library to analyze important information such as product details, price, quantity, and delivery date, and converts it into a data frame.
[0508] Step 4:
[0509] The server compares the analyzed structured data with standard data. The inputs are the structured data and internal standards, and the output is the comparison result. The server determines which standards each estimate meets or does not meet and generates the result.
[0510] Step 5:
[0511] The server compares data against historical databases. Inputs are structured data and historical transaction data, and output is a comparison result with appropriate valuations. The server uses statistical information from historical data to analyze new estimates and compares their validity to market averages and other benchmarks.
[0512] Step 6:
[0513] The server generates an evaluation report which is then provided to the user. The input is a comparison result with appropriate ratings, and the output is an evaluation report displayed to the user. Based on this report, the user can quickly determine the best supplier.
[0514] Step 7:
[0515] This creates prompts for the generative AI model regarding additional analysis required by the user. The input is the user's analysis request and existing data, and the output is the prompt. This allows for obtaining more detailed information from the generative AI. An example of a prompt is: "Analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0516] 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.
[0517] This invention is a system designed to support the decision-making process by recognizing and analyzing the emotional state of users, in addition to processing quotation information received by companies. This system incorporates an emotion engine in addition to information reception, data extraction, benchmark comparison, result output, and notification functions, providing an interface tailored to the user's psychological state.
[0518] The user uses a terminal to input quotation documents obtained from outsourcing companies into the system. The terminal supports various file formats and transfers this data to the server.
[0519] The server analyzes the received document and extracts the text from the document as structured data using natural language processing and optical character recognition (OCR). This process handles product information, price, quantity, delivery date, and other relevant details.
[0520] The extracted data is compared to the company's internal standards, and users are alerted if any parts do not meet those standards. This process uses a rule-based system to quickly process the comparison results.
[0521] Furthermore, the server compares the current quote with past database data to assess its compatibility with market standards. This assessment takes into account past transaction prices and standard delivery times.
[0522] Here, the emotion engine analyzes the user's facial expressions and voice patterns to assess their current emotional state in real time. Based on this emotional data, the format and content of the output report are adjusted, providing a concise summary if the user is stressed, and a detailed analysis if they are excited or satisfied.
[0523] For example, if a user is feeling anxious while evaluating quotes, the emotion engine will detect this, and the server will recommend necessary actions in a user-friendly interface. Furthermore, feedback based on sentiment analysis is provided, which users can use to inform their subsequent decision-making. This allows companies to ensure greater accuracy and reliability throughout the entire quote evaluation and selection process, enabling them to choose the best partner.
[0524] The following describes the processing flow.
[0525] Step 1:
[0526] The user uses a terminal to upload quotation documents received from the outsourcing company to the system. The terminal then prepares these documents for transfer to the server.
[0527] Step 2:
[0528] The server receives the uploaded quotation document and begins analyzing the information. It processes the document as digital data using natural language processing technology and optical character recognition (OCR).
[0529] Step 3:
[0530] The server extracts detailed product information, including unit price, quantity, and delivery date, from the document. This extraction process identifies important data and treats it as structured data.
[0531] Step 4:
[0532] The server compares the extracted data against the company's internal standards and evaluates compliance. If the data does not meet the standards, it records the non-compliant items and prepares them for use in the next processing step.
[0533] Step 5:
[0534] The server uses a historical database to compare the current quote with past standard prices and transaction terms. This comparison helps to assess the market fairness of the quote.
[0535] Step 6:
[0536] The server activates the emotion engine and collects emotional data from the user's device. It then evaluates the user's current emotional state through facial expression analysis cameras and voice input.
[0537] Step 7:
[0538] Based on the emotions recognized by the emotion engine, the server adjusts the report format. For example, if the user is feeling anxious, it generates a concise report that highlights key points.
[0539] Step 8:
[0540] The server sends the generated report to the terminal and presents it to the user. The user uses this report to select a service provider.
[0541] Step 9:
[0542] The device feeds user interactions back to the emotion engine, recording them as feedback to help with future decisions. By incorporating this into the user's decision-making process, the system's effectiveness is enhanced.
[0543] This process allows users to obtain efficient and accurate information in their estimation evaluations and to make better decisions by receiving support based on sentiment recognition.
[0544] (Example 2)
[0545] 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."
[0546] When processing quotation information received by companies, there is a growing need to go beyond simple data comparison and provide decision-making support that takes into account the emotional state of the user. However, conventional systems do not take into account adjusting the output based on the user's emotions, resulting in the problem of not being able to provide optimal information.
[0547] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0548] In this invention, the server includes means for receiving information, means for extracting specific data from the received information, means for comparing the extracted data with a standard, means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results, and means for providing optimal information based on the user's emotional state. This enables flexible and accurate information provision that takes the user's emotional state into consideration.
[0549] "Means of receiving information" refers to a mechanism for receiving data transmitted from an external source.
[0550] "Means for extracting specific data from received information" refers to a mechanism for identifying and retrieving necessary information from received data.
[0551] "Means for comparing extracted data with a standard" refers to a mechanism for evaluating extracted information by comparing it with existing standards.
[0552] "Means for outputting comparison results" refers to a mechanism for presenting evaluation results to users in an understandable format.
[0553] "Means of notification in case of non-compliance with standards" refers to a mechanism for issuing warnings regarding information that, as a result of comparison, does not meet the standards.
[0554] "Means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results" refers to a mechanism for instantly evaluating the user's psychological state and changing the format and content of information provided accordingly.
[0555] "Means of providing optimal information based on the user's emotional state" refers to a mechanism for conveying information in the most appropriate form according to the user's psychological state.
[0556] This system processes quotation information received by companies and analyzes the user's emotional state to support the decision-making process. A specific example of its implementation is shown below.
[0557] Users input quotation documents obtained from outsourcing companies into the system using their own devices. These devices support various file formats, including PDF and Word, and transmit data to the server via the internet. The devices can utilize web browsers or dedicated application software.
[0558] The server uses natural language processing and optical character recognition (OCR) technologies to analyze received quotation documents. This allows it to convert the text information within the documents into structured data such as product information, price, quantity, and delivery date. A pre-trained generative AI model is used for the analysis to ensure accurate data extraction.
[0559] The server compares the extracted data with the company's internal standards and alerts the user to any areas that do not meet those standards. This comparison is performed quickly using a rule-based system. Furthermore, the server compares the acquired quotation information with past transaction history to assess compliance with market standards. This assessment takes into account previous transaction prices and standard delivery times.
[0560] The emotion engine uses data acquired from the user's device via camera and microphone to analyze the user's facial expressions and tone of voice in real time and evaluate their emotional state. If the user is stressed, the server provides a simple summary; if the user is calm, it provides a detailed analysis. This emotion analysis utilizes the latest emotion recognition AI model.
[0561] For example, if a user feels anxious while evaluating quotes, the emotion engine detects this, and the server recommends necessary actions through a simple and clear interface. It provides feedback based on sentiment analysis to assist users in making decisions. This system allows companies to obtain more accurate information throughout the entire quote evaluation process and select the best partner.
[0562] Example prompt: "How can we generate an estimated evaluation report based on the user's emotional state, and adapt it to be easier to understand if they are feeling stressed?"
[0563] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0564] Step 1:
[0565] Users input quotation documents obtained from outsourcing companies into the system using their own devices. The input data comes in a variety of file formats (e.g., PDF, Word). The device formats this data and performs the necessary conversion processes to send it to the server. During this process, it checks the integrity of the files and prepares them for transmission.
[0566] Step 2:
[0567] The server receives quotation documents sent from terminals. First, optical character recognition (OCR) technology is applied to the received files to extract text data from the image data. This process converts unstructured data within the document into structured data. The extracted text is then broken down into specific information such as product details, price, quantity, and delivery date using natural language processing technology. Generative AI models are utilized to achieve more precise data extraction.
[0568] Step 3:
[0569] The server compares the extracted data with the company's internal standards database. This process uses a rule-based system to determine compliance with the standards. It takes comparison criteria and extracted data as input and outputs a compliance assessment result. If compliance is not achieved, a warning message is generated for the user.
[0570] Step 4:
[0571] The server uses a matching engine to verify past transaction history and compare current quote information against market standards. This step involves referencing a database of past transactions to assess the reasonableness of prices and delivery times. The matching results generate new evaluation data, which is then presented to the user.
[0572] Step 5:
[0573] The emotion engine acquires audio and video data in real time from the user's device via the camera and microphone. Based on this data, it analyzes the user's emotional state and identifies the type of emotion. An emotion recognition AI model is used for this analysis. The analysis results become the output for the next step.
[0574] Step 6:
[0575] The server adjusts the format and content of the reports presented to the user based on the analysis results obtained from the emotion engine. Specifically, it changes the level of detail in the report according to the emotional state. For example, if the user is feeling anxious, it generates a summary report focused on the most important information and sends it to the user.
[0576] (Application Example 2)
[0577] 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."
[0578] In the process of evaluating quotation information, companies are required to analyze data efficiently and objectively and make appropriate decisions. However, conventional systems lack the ability to provide reports and feedback that take into account the user's emotional state, which can lead to user stress and hinder their ability to make sound judgments.
[0579] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0580] In this invention, the server includes a device for receiving information, a device for extracting specific data from the received information, a device for comparing the extracted data with a standard, a device for outputting the comparison results, a device for notifying if the standard is not met, an emotion analysis device for analyzing the user's emotional state, and a device for adjusting the interface based on the emotion analysis results. This makes it possible to provide feedback and reports that correspond to the user's emotional state when evaluating estimation information.
[0581] A "device that receives information" is a device that has the function of acquiring data provided from an external source and converting it into a format that can be used within the system.
[0582] A "device for extracting specific data" is a device that identifies necessary items and content from received information and separates them into a format that can be used for databases and analytical processing.
[0583] A "data comparison device" is a device that has the function of comparing extracted data with pre-set standards or conditions and evaluating compliance or non-compliance.
[0584] A "device that outputs comparison results" is a device that has the function of presenting the results of a comparison evaluation to the user visually or audibly.
[0585] A "notification device" is a device that sends alerts or messages to the user to draw their attention if the device does not meet the standards.
[0586] An "emotion analysis device" is a system that analyzes and evaluates a user's emotional state in real time based on their facial expressions, voice, and actions.
[0587] A "device for adjusting the interface" is a device that optimizes the amount and format of information provided to the user based on the results of emotion analysis, and has the function of reducing stress or helping to understand the information.
[0588] To implement this invention, a system is constructed that combines a factory robot with an information receiving device, a data extraction device, a reference comparison device, a notification device, an emotion analysis device, and an interface adjustment device.
[0589] The server uses cameras and microphones mounted on factory robots to collect voice and facial expression data from users in real time. This data is analyzed using Microsoft Azure's Emotion API in the cloud to evaluate the user's emotional state. Based on this emotional information, the robot can provide an interface tailored to the user's stress level.
[0590] Furthermore, the server uses OCR technology to digitize the quotation document and leverages Hugging Face's natural language processing model to extract necessary information. The extracted data is then compared with internal company standard data, and any parts that do not meet the standards are alerted to the user via a rule-based system.
[0591] This configuration allows users to receive real-time, emotionally responsive feedback, even in the demanding task of evaluating estimates. This enables stress-free decision-making and efficient work execution.
[0592] For example, when a factory purchasing manager reviews a quote for an expensive part, they may feel uneasy about the high price. In this case, the emotion analysis device detects the uneasy feeling, and the server provides concise feedback such as, "The market price for this product is generally reasonable," thereby alleviating the manager's anxiety.
[0593] An example of a prompt message would be: "Analyze the latest estimated price and evaluate whether it conforms to the benchmark price. Also, provide a summary of the price analysis if the user expresses concerns." In this way, it is possible to specifically demonstrate how the invention will be used in actual business operations.
[0594] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0595] Step 1:
[0596] The terminal uses a camera and microphone mounted on a factory robot to collect voice and facial expression data from the user. This data is sent to the Microsoft Azure Emotion API and used as input to analyze the user's emotional state. The analysis results are received as data indicating the user's emotional state.
[0597] Step 2:
[0598] The server uses OCR technology to scan the user-uploaded quotation document and extract digital text data. This data is then analyzed by Hugging Face's natural language processing model, and necessary items such as product information, price, and quantity are output as structured data.
[0599] Step 3:
[0600] The server compares the extracted data with the company's standard database. This comparison process uses a rule-based system to immediately detect any discrepancies. Any detected differences are output as warning data and sent to a notification device.
[0601] Step 4:
[0602] The server adjusts the content of the interface presented to the user based on the emotion evaluation data received from the Emotion API. For example, if the user indicates anxiety, the server reduces the volume of output information to provide concise feedback immediately.
[0603] Step 5:
[0604] Through a tuned interface, users receive warnings and emotionally sensitive report feedback regarding detected non-conformities. This tuned interface is expected to serve as a reference for users to make decisions and reduce stress and anxiety in their work.
[0605] 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.
[0606] 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.
[0607] 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.
[0608] [Fourth Embodiment]
[0609] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0610] 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.
[0611] 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).
[0612] 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.
[0613] 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.
[0614] 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).
[0615] 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.
[0616] 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.
[0617] 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.
[0618] 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.
[0619] 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.
[0620] 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.
[0621] 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".
[0622] This invention is a system for efficiently processing multiple quotation information received by a company, and its specific form is shown below. This system receives information, extracts specific data, compares it with a standard, and supports decision-making based on the results.
[0623] First, the user uploads quotes obtained from multiple outsourcing companies to the system. Various file formats (e.g., PDF, Excel, Word) can be handled through applications installed on the device.
[0624] Next, the server analyzes the uploaded documents using natural language processing and optical character recognition (OCR) technologies. This analysis process extracts key information such as product details, unit price, quantity, and delivery date from the quotation and converts it into structured data. This makes it possible to efficiently process large amounts of information and pick out only the necessary data.
[0625] The server then compares the extracted data against company-specific standards and criteria. This comparison uses a rule-based engine to determine whether each estimate meets the criteria or which parts do not.
[0626] Furthermore, the server compares newly received quotes with past data in its database to evaluate their appropriateness. This includes information such as the price, delivery date, and terms of similar past transactions.
[0627] A user-available report is generated, which includes a comprehensive comparison and analysis of each contractor's proposal. Key points are highlighted, and areas that do not meet the standards are particularly emphasized.
[0628] As a concrete example, suppose a company is obtaining quotes from multiple IT vendors for a new project. By using this system, the user can quickly select the best vendor that meets their company's criteria. For example, if company A's quote is competitive in terms of price but the lead time is too long, the system will point this out and present alternatives based on past transactions. This allows the user to make quick and rational decisions and achieve optimal resource utilization.
[0629] The following describes the processing flow.
[0630] Step 1:
[0631] The user uses a terminal to upload quotation documents obtained from outsourcing companies to the system. The terminal accepts various file formats (e.g., PDF, Excel, Word, etc.) and prepares them for transfer to the server.
[0632] Step 2:
[0633] The server receives the uploaded quotation document. At this point, the server prepares to apply natural language processing and optical character recognition (OCR) technologies to analyze the document type and content.
[0634] Step 3:
[0635] The server uses OCR technology to convert the text in the document into digital data. This process involves pattern matching to extract specific data such as product details, quantity, unit price, and delivery date.
[0636] Step 4:
[0637] The server compares the extracted data against the company's internal standards and policies. Using a rule-based engine, it checks for matches or mismatches against these standards and records non-conformities as needed.
[0638] Step 5:
[0639] The server retrieves similar project information from past databases and compares it with the current estimate. In particular, it evaluates the appropriateness of price and delivery time, comparing them to market averages and past performance.
[0640] Step 6:
[0641] The server aggregates these analysis results and generates a report to present to the user. The report includes detailed evaluation results and selection reasons for each estimate, and adds warnings to the user for any non-conformities.
[0642] Step 7:
[0643] Users select outsourcing companies based on the generated reports. They review detailed information to support their final decision, referring to alerts from the system. This information can be saved as a reference for future selection processes.
[0644] (Example 1)
[0645] 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".
[0646] Companies need support to efficiently process large amounts of quotation information received from multiple outsourcing companies and to make quick and rational decisions. However, quotation data is often provided in various formats, and manually analyzing and comparing it to standards is not only time-consuming but also prone to errors. Furthermore, making appropriate judgments by comparing it with past transactions and market information is difficult. These challenges need to be addressed.
[0647] 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.
[0648] In this invention, the server includes a device for receiving information, a device for identifying and extracting important information from the received information, a device for comparing the extracted information with a standard, a device for comparing it with past transaction information, a device for converting it into structured data, a device for issuing warnings, a device for creating evaluation reports, and a device for analyzing information by combining natural language processing technology and optical character recognition technology. This makes it possible to automatically and efficiently analyze large amounts of diverse quotation information and quickly support appropriate decision-making.
[0649] A "device that receives information" is a device that acquires data transmitted from an external source and makes it available for use within the system.
[0650] A "device for identifying and extracting important information" is a device equipped with the function of identifying and selecting necessary elements from received data.
[0651] A "device for comparing with a standard" is a device equipped with the function of evaluating extracted data by comparing it with a pre-set standard value.
[0652] A "device that generates and outputs comparison results" is a device that creates analysis results based on comparison with a standard and can display or print out that information.
[0653] A "warning device" is a device equipped with a function to notify users when data does not conform to the standards.
[0654] A "structured data conversion device" is a device that organizes unstructured data and formats it into a standardized format.
[0655] A "device for comparing with past transaction information" is a device used to compare newly received data with past transaction records and evaluate them.
[0656] A "device for generating evaluation reports" is a device for creating reports that systematically and comprehensively summarize analysis results.
[0657] "Natural language processing technology" is a technology that uses computers to process and analyze human language and generate information based on that analysis.
[0658] "Optical character recognition technology" is a technology that recognizes characters in an image and converts them into digital data.
[0659] This system is designed to efficiently analyze quotation information received by companies and support them in making sound decisions. It is primarily composed of three elements: servers, terminals, and users.
[0660] Users import multiple quotation data obtained from outsourcing companies into the system using a dedicated application installed on their terminal. This application can handle various file formats, including PDF, Excel, and Word.
[0661] The server analyzes the received quotation data using natural language processing (NLP) and optical character recognition (OCR) technologies. Natural language processing is used to process human language using computer programs to identify important information, while OCR is used to extract text information from images and convert it into digital data. This allows the server to identify and extract important information from the quotation, such as product name, unit price, quantity, and delivery date.
[0662] Next, the server compares the extracted data to criteria set by the company. In this process, the server uses a rule-based engine to evaluate whether each element of the data meets the set criteria. Furthermore, the server compares the structured data with historical transaction data to determine the appropriateness of the estimate. The historical information obtained from the database includes prices, delivery dates, and conditions of similar transactions, and by comparing with this, the server confirms fair market prices and transaction conditions.
[0663] Finally, the server generates an evaluation report. This report includes details of each contractor's proposal, comparisons against the criteria, and comparative analysis results with historical data. Areas that do not meet the criteria are highlighted, providing information to help users make quick and rational decisions.
[0664] A concrete example is when a user obtains project quotes from multiple IT vendors. For instance, a prompt such as, "Please describe a system that analyzes IT project quotes and selects the best vendor," can be used to assist the user in selecting the optimal vendor. The server analyzes the quote data, evaluates it based on criteria and past transaction information, and supports the user by showing the best option.
[0665] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0666] Step 1:
[0667] Users upload quotation files from outsourcing companies using a dedicated application via their terminal. Input files are accepted in formats such as PDF, Excel, and Word, which the application receives and sends to the system. The output is the raw data in its uploaded state. Users initiate this process by selecting a file and pressing the submit button.
[0668] Step 2:
[0669] The server applies Optical Character Recognition (OCR) technology to the received file, converting image text into digital data. The input is raw data, and the output is the converted text data. Specifically, the server scans the information on each page, recognizes characters from the image, and extracts them in text format.
[0670] Step 3:
[0671] The server uses natural language processing (NLP) techniques to extract important information from text data. The input is quotation information transcribed into text by OCR, and the output is structured data such as product name, unit price, quantity, and delivery date. The server analyzes words, detects specific patterns and keywords, and extracts the necessary data.
[0672] Step 4:
[0673] The server compares the extracted data against predefined criteria. The input is structured data, and the output is an evaluation result regarding compliance with the criteria. The server uses a rule-based engine to determine whether each item of the data meets the criteria.
[0674] Step 5:
[0675] The server compares the evaluation results with a database of past transactions. The input is the benchmark comparison result, and the output is the comparison result with the market average and past performance. The server accesses the database, retrieves similar transaction information, and compares it with recent data.
[0676] Step 6:
[0677] The server integrates all analysis results and generates an evaluation report. The input is the analysis results against historical data and the comparison results, while the output is a comprehensive evaluation report. The server highlights areas that do not meet the criteria and emphasizes important information in this report. It creates a document that users can use for decision-making.
[0678] (Application Example 1)
[0679] 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".
[0680] In production sites such as factories, efficiently obtaining quotes from multiple suppliers and selecting the appropriate buyer is a challenge. In particular, manually analyzing and comparing large amounts of quotes consumes a significant amount of time and resources. Furthermore, there is a lack of technology that utilizes the functions of mobile devices to autonomously collect and analyze data.
[0681] 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.
[0682] In this invention, the server includes means for acquiring information, means for extracting specific indicators from the acquired information, means for comparing the extracted indicators with a standard, and means for controlling mobile devices and automatically collecting and analyzing information. This enables efficient processing of large amounts of quotation information and allows for the rapid and autonomous selection of the optimal supplier.
[0683] "Information" refers to a collection of data and metrics obtained through a specific data collection process.
[0684] "Means of acquisition" refers to the processes and technologies used to collect data and incorporate it into a system.
[0685] "Specific indicators" are criteria or foundational information selected from extracted data and used for analysis and comparison.
[0686] "Extraction methods" refer to techniques that involve extracting necessary indicators from received data and organizing their contents.
[0687] "Standard" refers to the criteria or foundation used when comparing or analyzing data.
[0688] "Means of comparison" refer to functions and technologies for comparing extracted indicators with standards and conducting analysis.
[0689] "Mobile devices" refer to devices and equipment that collect data or analyze information while physically moving.
[0690] "Means of control" refers to the process of operating or controlling equipment to make it function as instructed.
[0691] "Methods for automatically collecting and analyzing information" refers to the process of collecting, organizing, and analyzing data without human intervention.
[0692] The system for implementing this invention enables efficient analysis of quotation information and selection of optimal suppliers in factories and production sites by performing autonomous information processing with mobile devices.
[0693] The server operates in a cloud environment, aggregating data from multiple mobile robots within the factory and using this data to analyze complex quotation information. The server uses optical character recognition (OCR) software such as pytesseract to convert digitized documents into digital text. Subsequently, natural language processing is performed, employing technologies such as the langchain library to understand and organize the data. This allows for the extraction of key elements of the quotation information (price, delivery date, quantity) and comparison with standards.
[0694] The terminal utilizes the pdf2image library to convert PDF files into image format, preparing them for the initial stages of OCR processing. Furthermore, it manages the analyzed data in a dataframe format using the pandas library, enabling efficient data manipulation.
[0695] Users can view comparison results and evaluation reports generated through the system and incorporate them into their decision-making. The generated information is accessible in real time via a cloud-based interface.
[0696] As a concrete example, a mobile robot within a factory autonomously collects quotes from different suppliers and sends them to a server. The server analyzes this data and provides a report comparing the terms offered by each supplier. This process allows the factory to quickly select the supplier with the most suitable conditions.
[0697] An example of a prompt message to utilize a generative AI model is structured as follows: "Please analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0698] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0699] Step 1:
[0700] The user uploads quotation documents from multiple suppliers to the terminal. The input is a PDF file, and the output is image data. The terminal uses pdf2image to convert the PDF file into an image and prepares it for OCR processing.
[0701] Step 2:
[0702] The terminal sends image data to the server, which uses pytesseract to extract text from this image data. The input is image data, and the output is text data. The server detects information from the image using optical character recognition technology and identifies it as digital text.
[0703] Step 3:
[0704] The server processes the extracted text data using natural language processing. The input is text data, and the output is structured data. The server uses the langchain library to analyze important information such as product details, price, quantity, and delivery date, and converts it into a data frame.
[0705] Step 4:
[0706] The server compares the analyzed structured data with standard data. The inputs are the structured data and internal standards, and the output is the comparison result. The server determines which standards each estimate meets or does not meet and generates the result.
[0707] Step 5:
[0708] The server compares data against historical databases. Inputs are structured data and historical transaction data, and output is a comparison result with appropriate valuations. The server uses statistical information from historical data to analyze new estimates and compares their validity to market averages and other benchmarks.
[0709] Step 6:
[0710] The server generates an evaluation report which is then provided to the user. The input is a comparison result with appropriate ratings, and the output is an evaluation report displayed to the user. Based on this report, the user can quickly determine the best supplier.
[0711] Step 7:
[0712] This creates prompts for the generative AI model regarding additional analysis required by the user. The input is the user's analysis request and existing data, and the output is the prompt. This allows for obtaining more detailed information from the generative AI. An example of a prompt is: "Analyze the following sentence and extract information regarding price, quantity, and delivery date: We will provide 100 units of part C at a unit price of 500 yen, with a delivery date of 5 days."
[0713] 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.
[0714] This invention is a system designed to support the decision-making process by recognizing and analyzing the emotional state of users, in addition to processing quotation information received by companies. This system incorporates an emotion engine in addition to information reception, data extraction, benchmark comparison, result output, and notification functions, providing an interface tailored to the user's psychological state.
[0715] The user uses a terminal to input quotation documents obtained from outsourcing companies into the system. The terminal supports various file formats and transfers this data to the server.
[0716] The server analyzes the received document and extracts the text from the document as structured data using natural language processing and optical character recognition (OCR). This process handles product information, price, quantity, delivery date, and other relevant details.
[0717] The extracted data is compared to the company's internal standards, and users are alerted if any parts do not meet those standards. This process uses a rule-based system to quickly process the comparison results.
[0718] Furthermore, the server compares the current quote with past database data to assess its compatibility with market standards. This assessment takes into account past transaction prices and standard delivery times.
[0719] Here, the emotion engine analyzes the user's facial expressions and voice patterns to assess their current emotional state in real time. Based on this emotional data, the format and content of the output report are adjusted, providing a concise summary if the user is stressed, and a detailed analysis if they are excited or satisfied.
[0720] For example, if a user is feeling anxious while evaluating quotes, the emotion engine will detect this, and the server will recommend necessary actions in a user-friendly interface. Furthermore, feedback based on sentiment analysis is provided, which users can use to inform their subsequent decision-making. This allows companies to ensure greater accuracy and reliability throughout the entire quote evaluation and selection process, enabling them to choose the best partner.
[0721] The following describes the processing flow.
[0722] Step 1:
[0723] The user uses a terminal to upload quotation documents received from the outsourcing company to the system. The terminal then prepares these documents for transfer to the server.
[0724] Step 2:
[0725] The server receives the uploaded quotation document and begins analyzing the information. It processes the document as digital data using natural language processing technology and optical character recognition (OCR).
[0726] Step 3:
[0727] The server extracts detailed product information, including unit price, quantity, and delivery date, from the document. This extraction process identifies important data and treats it as structured data.
[0728] Step 4:
[0729] The server compares the extracted data against the company's internal standards and evaluates compliance. If the data does not meet the standards, it records the non-compliant items and prepares them for use in the next processing step.
[0730] Step 5:
[0731] The server uses a historical database to compare the current quote with past standard prices and transaction terms. This comparison helps to assess the market fairness of the quote.
[0732] Step 6:
[0733] The server activates the emotion engine and collects emotional data from the user's device. It then evaluates the user's current emotional state through facial expression analysis cameras and voice input.
[0734] Step 7:
[0735] Based on the emotions recognized by the emotion engine, the server adjusts the report format. For example, if the user is feeling anxious, it generates a concise report that highlights key points.
[0736] Step 8:
[0737] The server sends the generated report to the terminal and presents it to the user. The user uses this report to select a service provider.
[0738] Step 9:
[0739] The device feeds user interactions back to the emotion engine, recording them as feedback to help with future decisions. By incorporating this into the user's decision-making process, the system's effectiveness is enhanced.
[0740] This process allows users to obtain efficient and accurate information in their estimation evaluations and to make better decisions by receiving support based on sentiment recognition.
[0741] (Example 2)
[0742] 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".
[0743] When processing quotation information received by companies, there is a growing need to go beyond simple data comparison and provide decision-making support that takes into account the emotional state of the user. However, conventional systems do not take into account adjusting the output based on the user's emotions, resulting in the problem of not being able to provide optimal information.
[0744] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0745] In this invention, the server includes means for receiving information, means for extracting specific data from the received information, means for comparing the extracted data with a standard, means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results, and means for providing optimal information based on the user's emotional state. This enables flexible and accurate information provision that takes the user's emotional state into consideration.
[0746] "Means of receiving information" refers to a mechanism for receiving data transmitted from an external source.
[0747] "Means for extracting specific data from received information" refers to a mechanism for identifying and retrieving necessary information from received data.
[0748] "Means for comparing extracted data with a standard" refers to a mechanism for evaluating extracted information by comparing it with existing standards.
[0749] "Means for outputting comparison results" refers to a mechanism for presenting evaluation results to users in an understandable format.
[0750] "Means of notification in case of non-compliance with standards" refers to a mechanism for issuing warnings regarding information that, as a result of comparison, does not meet the standards.
[0751] "Means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results" refers to a mechanism for instantly evaluating the user's psychological state and changing the format and content of information provided accordingly.
[0752] "Means of providing optimal information based on the user's emotional state" refers to a mechanism for conveying information in the most appropriate form according to the user's psychological state.
[0753] This system processes quotation information received by companies and analyzes the user's emotional state to support the decision-making process. A specific example of its implementation is shown below.
[0754] Users input quotation documents obtained from outsourcing companies into the system using their own devices. These devices support various file formats, including PDF and Word, and transmit data to the server via the internet. The devices can utilize web browsers or dedicated application software.
[0755] The server uses natural language processing and optical character recognition (OCR) technologies to analyze received quotation documents. This allows it to convert the text information within the documents into structured data such as product information, price, quantity, and delivery date. A pre-trained generative AI model is used for the analysis to ensure accurate data extraction.
[0756] The server compares the extracted data with the company's internal standards and alerts the user to any areas that do not meet those standards. This comparison is performed quickly using a rule-based system. Furthermore, the server compares the acquired quotation information with past transaction history to assess compliance with market standards. This assessment takes into account previous transaction prices and standard delivery times.
[0757] The emotion engine uses data acquired from the user's device via camera and microphone to analyze the user's facial expressions and tone of voice in real time and evaluate their emotional state. If the user is stressed, the server provides a simple summary; if the user is calm, it provides a detailed analysis. This emotion analysis utilizes the latest emotion recognition AI model.
[0758] For example, if a user feels anxious while evaluating quotes, the emotion engine detects this, and the server recommends necessary actions through a simple and clear interface. It provides feedback based on sentiment analysis to assist users in making decisions. This system allows companies to obtain more accurate information throughout the entire quote evaluation process and select the best partner.
[0759] Example prompt: "How can we generate an estimated evaluation report based on the user's emotional state, and adapt it to be easier to understand if they are feeling stressed?"
[0760] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0761] Step 1:
[0762] Users input quotation documents obtained from outsourcing companies into the system using their own devices. The input data comes in a variety of file formats (e.g., PDF, Word). The device formats this data and performs the necessary conversion processes to send it to the server. During this process, it checks the integrity of the files and prepares them for transmission.
[0763] Step 2:
[0764] The server receives quotation documents sent from terminals. First, optical character recognition (OCR) technology is applied to the received files to extract text data from the image data. This process converts unstructured data within the document into structured data. The extracted text is then broken down into specific information such as product details, price, quantity, and delivery date using natural language processing technology. Generative AI models are utilized to achieve more precise data extraction.
[0765] Step 3:
[0766] The server compares the extracted data with the company's internal standards database. This process uses a rule-based system to determine compliance with the standards. It takes comparison criteria and extracted data as input and outputs a compliance assessment result. If compliance is not achieved, a warning message is generated for the user.
[0767] Step 4:
[0768] The server uses a matching engine to verify past transaction history and compare current quote information against market standards. This step involves referencing a database of past transactions to assess the reasonableness of prices and delivery times. The matching results generate new evaluation data, which is then presented to the user.
[0769] Step 5:
[0770] The emotion engine acquires audio and video data in real time from the user's device via the camera and microphone. Based on this data, it analyzes the user's emotional state and identifies the type of emotion. An emotion recognition AI model is used for this analysis. The analysis results become the output for the next step.
[0771] Step 6:
[0772] The server adjusts the format and content of the reports presented to the user based on the analysis results obtained from the emotion engine. Specifically, it changes the level of detail in the report according to the emotional state. For example, if the user is feeling anxious, it generates a summary report focused on the most important information and sends it to the user.
[0773] (Application Example 2)
[0774] 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".
[0775] In the process of evaluating quotation information, companies are required to analyze data efficiently and objectively and make appropriate decisions. However, conventional systems lack the ability to provide reports and feedback that take into account the user's emotional state, which can lead to user stress and hinder their ability to make sound judgments.
[0776] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0777] In this invention, the server includes a device for receiving information, a device for extracting specific data from the received information, a device for comparing the extracted data with a standard, a device for outputting the comparison results, a device for notifying if the standard is not met, an emotion analysis device for analyzing the user's emotional state, and a device for adjusting the interface based on the emotion analysis results. This makes it possible to provide feedback and reports that correspond to the user's emotional state when evaluating estimation information.
[0778] A "device that receives information" is a device that has the function of acquiring data provided from an external source and converting it into a format that can be used within the system.
[0779] A "device for extracting specific data" is a device that identifies necessary items and content from received information and separates them into a format that can be used for databases and analytical processing.
[0780] A "data comparison device" is a device that has the function of comparing extracted data with pre-set standards or conditions and evaluating compliance or non-compliance.
[0781] A "device that outputs comparison results" is a device that has the function of presenting the results of a comparison evaluation to the user visually or audibly.
[0782] A "notification device" is a device that sends alerts or messages to the user to draw their attention if the device does not meet the standards.
[0783] An "emotion analysis device" is a system that analyzes and evaluates a user's emotional state in real time based on their facial expressions, voice, and actions.
[0784] A "device for adjusting the interface" is a device that optimizes the amount and format of information provided to the user based on the results of emotion analysis, and has the function of reducing stress or helping to understand the information.
[0785] To implement this invention, a system is constructed that combines a factory robot with an information receiving device, a data extraction device, a reference comparison device, a notification device, an emotion analysis device, and an interface adjustment device.
[0786] The server uses cameras and microphones mounted on factory robots to collect voice and facial expression data from users in real time. This data is analyzed using Microsoft Azure's Emotion API in the cloud to evaluate the user's emotional state. Based on this emotional information, the robot can provide an interface tailored to the user's stress level.
[0787] Furthermore, the server uses OCR technology to digitize the quotation document and leverages Hugging Face's natural language processing model to extract necessary information. The extracted data is then compared with internal company standard data, and any parts that do not meet the standards are alerted to the user via a rule-based system.
[0788] This configuration allows users to receive real-time, emotionally responsive feedback, even in the demanding task of evaluating estimates. This enables stress-free decision-making and efficient work execution.
[0789] For example, when a factory purchasing manager reviews a quote for an expensive part, they may feel uneasy about the high price. In this case, the emotion analysis device detects the uneasy feeling, and the server provides concise feedback such as, "The market price for this product is generally reasonable," thereby alleviating the manager's anxiety.
[0790] An example of a prompt message would be: "Analyze the latest estimated price and evaluate whether it conforms to the benchmark price. Also, provide a summary of the price analysis if the user expresses concerns." In this way, it is possible to specifically demonstrate how the invention will be used in actual business operations.
[0791] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0792] Step 1:
[0793] The terminal uses a camera and microphone mounted on a factory robot to collect voice and facial expression data from the user. This data is sent to the Microsoft Azure Emotion API and used as input to analyze the user's emotional state. The analysis results are received as data indicating the user's emotional state.
[0794] Step 2:
[0795] The server uses OCR technology to scan the user-uploaded quotation document and extract digital text data. This data is then analyzed by Hugging Face's natural language processing model, and necessary items such as product information, price, and quantity are output as structured data.
[0796] Step 3:
[0797] The server compares the extracted data with the company's standard database. This comparison process uses a rule-based system to immediately detect any discrepancies. Detected differences are output as warning data and sent to a notification device.
[0798] Step 4:
[0799] The server adjusts the content of the interface presented to the user based on the emotion evaluation data received from the Emotion API. For example, if the user indicates anxiety, the server reduces the volume of output information to provide concise feedback immediately.
[0800] Step 5:
[0801] Through a tuned interface, users receive warnings and emotionally sensitive report feedback regarding detected non-conformities. This tuned interface is expected to serve as a reference for users to make decisions and reduce stress and anxiety in their work.
[0802] 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.
[0803] 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.
[0804] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0805] 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.
[0806] 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.
[0807] 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.
[0808] 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.
[0809] 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.
[0810] 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."
[0811] 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.
[0812] 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.
[0813] 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.
[0814] 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.
[0815] 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.
[0816] 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.
[0817] 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.
[0818] 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.
[0819] 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.
[0820] 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.
[0821] 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.
[0822] 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.
[0823] The following is further disclosed regarding the embodiments described above.
[0824] (Claim 1)
[0825] Means of receiving information,
[0826] A means of extracting specific data from received information,
[0827] A means of comparing the extracted data to a standard,
[0828] A means of outputting the comparison results,
[0829] A means of notifying if the standards are not met,
[0830] A system that includes this.
[0831] (Claim 2)
[0832] The system according to claim 1, comprising means for matching information from past databases and generating comparison results.
[0833] (Claim 3)
[0834] The system according to claim 1, comprising means for generating an evaluation report based on the generated comparison results.
[0835] "Example 1"
[0836] (Claim 1)
[0837] A device that receives information,
[0838] A device that identifies and extracts important information from received information,
[0839] A device that compares the extracted information with a standard,
[0840] A device that generates and outputs comparison results,
[0841] A device that warns if the standards are not met,
[0842] A device for converting to structured data,
[0843] A device that compares with past transaction information,
[0844] A system that includes this.
[0845] (Claim 2)
[0846] The system according to claim 1, comprising a device for generating an evaluation report.
[0847] (Claim 3)
[0848] The system according to claim 1, comprising a device that analyzes information by combining natural language processing technology and optical character recognition technology.
[0849] "Application Example 1"
[0850] (Claim 1)
[0851] Means of obtaining information,
[0852] A means of extracting specific indicators from the acquired information,
[0853] A means of comparing the extracted indicators with the standard,
[0854] A means of outputting the comparison results,
[0855] A means of reporting when the standard is not met,
[0856] A means of controlling mobile devices and automatically collecting and analyzing information,
[0857] A system that includes this.
[0858] (Claim 2)
[0859] The system according to claim 1, comprising means for matching information from a past record database and generating comparison results.
[0860] (Claim 3)
[0861] The system according to claim 1, comprising means for creating an evaluation report based on the generated comparison results.
[0862] "Example 2 of combining an emotion engine"
[0863] (Claim 1)
[0864] Means of receiving information,
[0865] A means of extracting specific data from received information,
[0866] A means of comparing the extracted data to a standard,
[0867] A means of outputting the comparison results,
[0868] A means of notifying if the standards are not met,
[0869] A means for analyzing the user's emotional state in real time and adjusting the output content based on the analysis results,
[0870] A means of providing optimal information based on the user's emotional state,
[0871] A system that includes this.
[0872] (Claim 2)
[0873] The system according to claim 1, comprising means for matching information from past databases and generating comparison results.
[0874] (Claim 3)
[0875] The system according to claim 1, comprising means for generating an evaluation report based on the generated comparison results.
[0876] "Application example 2 when combining with an emotional engine"
[0877] (Claim 1)
[0878] A device that receives information,
[0879] A device that extracts specific data from received information,
[0880] A device that compares extracted data to a standard,
[0881] A device that outputs comparison results,
[0882] A device that notifies if the standards are not met,
[0883] An emotion analysis device that analyzes the user's emotional state,
[0884] A device that adjusts the interface based on the results of emotion analysis,
[0885] A system that includes this.
[0886] (Claim 2)
[0887] The system according to claim 1, comprising a device that compares information using past data and generates comparison results.
[0888] (Claim 3)
[0889] The system according to claim 1, comprising a device that generates an evaluation report based on the generated comparison results and sentiment analysis results. [Explanation of Symbols]
[0890] 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. Means of receiving information, A means of extracting specific data from received information, A means of comparing the extracted data to a standard, A means of outputting the comparison results, A means of notifying if the standards are not met, A system that includes this.
2. The system according to claim 1, comprising means for matching information from past databases and generating comparison results.
3. The system according to claim 1, further comprising means for generating an evaluation report based on the generated comparison results.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A