System

The system automatically analyzes RFPs and proposals to generate efficient and accurate presentation materials, addressing the time and subjectivity issues in manual creation.

JP2026037199APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Creating presentation materials based on requirements specifications (RFP) and proposals is time-consuming and labor-intensive, and subjective evaluation can lead to inaccurate and unfair results.

Method used

A system that automatically analyzes RFPs and proposals, extracts important keywords, evaluates the match between them, and generates presentation materials using natural language processing and scoring algorithms, supporting various file formats and formats like PowerPoint or PDF.

Benefits of technology

Enables efficient and accurate generation of presentation materials, allowing fair evaluation of proposals based on requirements specifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037199000001_ABST
    Figure 2026037199000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for receiving a requirements specification; means for extracting text information from the requirements specification; means for analyzing the text information and extracting important keywords; means for receiving a proposal; means for receiving text information from the proposal; means for analyzing the text information of the proposal and extracting important keywords; means for evaluating a degree of matching between the requirements specification and the proposal based on the important keywords; and means for generating presentation materials based on the degree of matching.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] In the past, creating presentation materials based on a requirements specification (RFP) and a proposal required manual evaluation and editing, which was time-consuming and labor-intensive. Furthermore, the subjectivity of the creator and the power balance between departments could affect the results, making it difficult to create fair and accurate materials. The present invention aims to solve these problems by providing a system that automatically and efficiently generates optimal presentation materials based on requirements specifications. [Means for solving the problem]

[0005] The present invention provides a system in a data processing device, including means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information in the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, and means for generating presentation materials based on the degree of match.Furthermore, by including a configuration that includes means for generating presentation materials based on templates and a configuration that includes means for extracting text information from various file formats, it is possible to improve user convenience.

[0006] A "data processing device" is a system that includes hardware and software for performing calculations and processing data.

[0007] A "requirements specification" is a document that describes the requirements and conditions for a system or service.

[0008] "Text information" refers to all information expressed by character strings, including documents, sentences, and words.

[0009] "Analysis" is the process of interpreting data or information and identifying structure and meaning.

[0010] "Important keywords" refer to words or phrases that have particularly important meanings or relationships within a document or data.

[0011] A "proposal" is a document that details the proposed solution or service based on the requirements specification.

[0012] "Matchability" is a score or evaluation value that indicates how closely the contents of the requirements specification and the proposal match.

[0013] "Presentation materials" are materials in the form of slides or documents used to explain specific information or proposals.

[0014] A "template" is a predefined layout or design for composing documents or presentation materials.

[0015] A "file format" is a data format with a specific structure and rules for storing digital data. [Brief explanation of the drawings]

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

[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

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

[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

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

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

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

[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0024] [First embodiment]

[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

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

[0037] The present invention is a system that automatically analyzes the contents of an RFP (requirements document) and an RFP response (proposal) to generate optimal presentation materials. This system is specifically implemented as follows using a data processing device.

[0038] Data Import

[0039] Subject: Server

[0040] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares for appropriate analysis.

[0041] Text Extraction

[0042] Subject: Server

[0043] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0044] Natural Language Processing

[0045] Subject: Server

[0046] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[0047] Match evaluation

[0048] Subject: Server

[0049] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are calculated as a score that indicates how well the parts of the RFP and proposal match.

[0050] Creating presentation materials

[0051] Subject: Server

[0052] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format, placing important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0053] Providing presentation materials

[0054] Subject: Server

[0055] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[0056] Specific examples

[0057] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of match and generates the most appropriate presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format.

[0058] In this way, the user can fairly and efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0059] The processing flow will be explained below.

[0060] Step 1: Data Ingestion

[0061] Subject: Server

[0062] The server receives the requirement specification and proposal files from the user. The user uses the file upload function to upload the files to a specified directory. At this time, the server receives the HTTP request and checks the file format. Supported formats include PDF, Word, Excel, and text files. If the format is inappropriate, the server returns an error message.

[0063] Step 2: Text extraction

[0064] Subject: Server

[0065] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser, Word parser, or Excel parser. The server uses the corresponding library (e.g., PyPDF2, python-docx, pandas, etc.) to extract text from each file. If the file is in image format, the server uses OCR (Optical Character Recognition) technology and an OCR engine such as Tesseract to extract text from the image.

[0066] Step 3: Text cleansing

[0067] Subject: Server

[0068] The server then cleans the extracted text, using regular expressions to filter out unnecessary elements such as headers, footers, page numbers, figure and table titles, etc. This process produces clean text suitable for analysis.

[0069] Step 4: Natural Language Processing

[0070] Subject: Server

[0071] The server parses the cleansed text to extract important keywords and phrases. It uses natural language processing libraries such as NLTK and spaCy to tokenize the text, tag parts of speech, and perform dependency parsing. It also uses named entity recognition (NER) to identify important entities such as company and product names.

[0072] Step 5: Match evaluation

[0073] Subject: Server

[0074] The server compares each item in the requirements specification with the contents of the proposal and performs matching. The server applies a scoring algorithm such as Cosine Similarity based on the keywords in each item to evaluate the degree of match for each item. The evaluation results are compiled as a score that indicates how well each part of the RFP and proposal matches.

[0075] Step 6: Build your presentation materials

[0076] Subject: Server

[0077] The server generates the optimal presentation materials within the specified number of pages based on the scoring results. The server loads a pre-prepared template and prepares the page layout of the presentation materials. Based on the evaluation results, important keywords and explanatory text are appropriately placed on each page. The server generates the materials in PowerPoint format using the python-pptx library.

[0078] Step 7: Save and share your presentation materials

[0079] Subject: Server

[0080] The server saves the generated presentation materials in a specified directory. It creates a link for users to download the presentation materials and notifies them by email. The server also manages access to the generated materials and manages logs to ensure that users can use the materials appropriately.

[0081] Through the above processing steps, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0082] Example 1

[0083] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0084] Conventional methods require a great deal of time and effort to manually analyze the content of requirement specifications and proposals provided in various formats and create presentation materials. It is also difficult to accurately evaluate the degree of consistency between the content, which can result in inappropriate evaluation of proposals. Furthermore, there is a need for a method that allows users to easily access and use the generated presentation materials.

[0085] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0086] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, and means for saving the presentation materials in a specified directory and providing a download link to the user. This makes it possible to automatically analyze the contents of the requirements specification and the proposal, accurately evaluate the degree of match, and efficiently generate presentation materials to provide to the user.

[0087] A "data processing device" is a device that performs processes such as receiving, analyzing, and generating data, such as a computer or server.

[0088] A "requirements specification" is a document that lists detailed requirements and conditions for a project or product.

[0089] A "proposal" is a document that describes the solutions and proposals provided based on the requirements specification.

[0090] "Text information" is character string data extracted from a document, and is the information to be analyzed.

[0091] "Analysis" is the process of examining textual information in detail and extracting specific patterns or important elements.

[0092] "Important keywords" are words or phrases that are recognized as having particular meaning or value in text information.

[0093] "Degree of agreement" is an index for evaluating how well the requirements specifications and the proposal match.

[0094] "Presentation materials" are materials that visually summarize the analysis results of the requirements specifications and proposals in an easy-to-understand manner, and are mainly provided in slide or document format.

[0095] A "designated directory" is a predetermined location on a file system for saving presentation materials.

[0096] A "download link" is a URL or hyperlink that allows a user to easily obtain presentation materials saved in a specified directory.

[0097] The present invention is a system for automatically analyzing the contents of a requirements specification and a proposal, evaluating the degree of agreement, and generating optimal presentation materials. Specific embodiments of the present invention will be described below.

[0098] Data Import

[0099] Subject: Server

[0100] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. The server checks the format of the received file and prepares for the appropriate parsing. Specifically, it selects the appropriate toolchain by loading a PDF parser for PDF files and a Word parser for Word files.

[0101] Text Extraction

[0102] Subject: Server

[0103] The server extracts text information from each file it receives. It uses a PDF parser, Word parser, or Excel parser as appropriate to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to extract the text information using tools such as Tesseract.

[0104] Natural Language Processing

[0105] Subject: Server

[0106] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text, then uses a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and performs dependency parsing and named entity recognition to understand the context.

[0107] Match evaluation

[0108] Subject: Server

[0109] The server compares each item in the requirements specification with the contents of the proposal to perform matching. Scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. Specifically, TF-IDF vectorization is performed between the text of each RFP item and proposal item, and the similarity score is calculated using the Cosine Similarity function in the Sklearn library.

[0110] Creating presentation materials

[0111] Subject: Server

[0112] The server generates presentation materials in a template-based format based on the scoring results. It uses the Python-pptx library to generate slides and places important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0113] Providing presentation materials

[0114] Subject: Server

[0115] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access control and log management to ensure users can use the materials appropriately.

[0116] Specific examples

[0117] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user in the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the requirements specification with the proposals to assess their degree of agreement and generates optimal presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format. In this way, the user can fairly and efficiently evaluate the proposals based on the requirements specification and obtain the optimal presentation materials.

[0118] Prompt Sentence Examples

[0119] "We need to evaluate multiple proposals for a new CRM system. Please generate the best presentation materials based on the RFP and proposals below.

[0120] CRM_System_RFP.pdf

[0121] Vendor1_CRM_Proposal.pdf

[0122] Vendor2_CRM_Proposal.pdf

[0123] Please provide generated materials in PowerPoint format."

[0124] In this way, the system of the present invention automatically analyzes the contents of requirement specifications and proposals, and provides an excellent means for efficiently and accurately generating and providing presentation materials.

[0125] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0126] Step 1:

[0127] Data Import

[0128] Subject: Server

[0129] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server saves the received files in a temporary directory, checks the file format, and prepares them for appropriate analysis.

[0130] Input: User uploaded files (PDF, Word, Excel, text, etc.)

[0131] Output: Files saved in the temporary directory and information about the file format.

[0132] Specific behavior:

[0133] A user logs in through a browser, selects a file using the file upload form, and clicks the upload button.

[0134] The server saves the received file in a temporary directory and checks the file format.

[0135] Step 2:

[0136] Text Extraction

[0137] Subject: Server

[0138] The server extracts text information from each file it receives: for PDF files it uses the PyPDF2 library, for Word files it uses the Python-docx library, for Excel files it uses openpyxl, and for image files it uses OCR technology (such as Tesseract).

[0139] Input: A file saved in the temporary directory

[0140] Output: Extracted text information

[0141] Specific behavior:

[0142] Using PyPDF2 to extract text from PDF files.

[0143] Using Python-docx to extract text from Word files.

[0144] Using openpyxl to extract text from an Excel file.

[0145] Extract text from image files using OCR technology (such as Tesseract).

[0146] Step 3:

[0147] Natural Language Processing

[0148] Subject: Server

[0149] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text. It then uses a natural language processing engine such as NLTK or spaCy to extract important keywords and phrases. It also performs dependency parsing and named entity recognition to understand the context.

[0150] Input: Extracted text information

[0151] Output: Clean text and important keywords and phrases

[0152] Specific behavior:

[0153] Use regular expressions to remove unnecessary information and produce clean text.

[0154] It uses NLTK and spaCy for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition.

[0155] Identify keywords and key phrases and understand their context.

[0156] Step 4:

[0157] Match evaluation

[0158] Subject: Server

[0159] The server compares each item in the requirements specification with the contents of the proposal to perform matching. First, it converts the text of each item into a TF-IDF vector and calculates a similarity score using the Cosine Similarity function in the Sklearn library. The degree of match is evaluated based on this score.

[0160] Input: Clean text and important keywords and phrases

[0161] Output: Match score

[0162] Specific behavior:

[0163] Convert the text of each RFP item and proposal item into a TF-IDF vector.

[0164] The similarity score is calculated using the Cosine Similarity function in the sklearn library.

[0165] Save the match score for each item in the requirements specification and proposal in list format.

[0166] Step 5:

[0167] Creating presentation materials

[0168] Subject: Server

[0169] The server generates presentation materials based on the scoring results. It uses the Python-pptx library to generate slides based on templates. It places important keywords and explanatory text on the appropriate pages, and the final materials are generated in PowerPoint or PDF format.

[0170] Input: Match score

[0171] Output: The generated presentation

[0172] Specific behavior:

[0173] Extract key points from the scoring results and embed the content into slides.

[0174] Use the Python-pptx library to generate slides and position content.

[0175] Generate the final presentation in PowerPoint or PDF format.

[0176] Step 6:

[0177] Providing presentation materials

[0178] Subject: Server

[0179] The server saves the generated presentation materials in a specified directory, sends the user an email with a link to download the materials, and performs access control and log management to ensure that users can use the materials appropriately.

[0180] Input: Generated presentation materials

[0181] Output: A link that users can download

[0182] Specific behavior:

[0183] Save the generated PowerPoint file in a specific directory on the server.

[0184] An automatically generated download link for the materials will be sent to the user's email address.

[0185] Record access logs for download links and manage access permissions.

[0186] (Application example 1)

[0187] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0188] Conventional presentation material generation systems require manual analysis of the requirements specifications and proposals and manual compilation of related information into presentation materials, which is time-consuming and labor-intensive. Therefore, there is a need to quickly extract important information and generate presentation materials efficiently. Furthermore, there is no way to efficiently analyze information from data sources within the factory and quickly generate reports and presentation materials in response to management requests, which hinders on-site efficiency.

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

[0190] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of agreement, means for receiving daily work reports or sensor data from a data source within the factory, means for extracting text information from the daily work reports or sensor data, means for analyzing the text information of the daily work reports or sensor data and extracting important keywords, means for evaluating the degree of agreement between the data source within the factory and a request from an upper management level, and means for generating presentation materials related to improving factory efficiency based on the degree of agreement. This not only enables efficient analysis of the requirements specification and proposal contents, extraction of important information, and automatic generation of presentation materials, but also enables efficient analysis of information from the data source within the factory to quickly respond to requests from management.

[0191] A "requirements specification" is a document that describes the requirements and functions required for a system or product.

[0192] A "proposal" is a document that describes the solution or technical approach that is offered in response to a requirements specification.

[0193] "Text information" refers to the text data of the content extracted from the file.

[0194] "Natural language processing" is a technology that uses computers to analyze human language and understand and extract meaning and structure.

[0195] "Important keywords" refer to words or phrases that are particularly meaningful in a document.

[0196] The "degree of agreement" is a numerical value that evaluates the degree of agreement between the requirements specification and the proposal or other document.

[0197] "Presentation materials" are slides or documents that visually summarize specific information or data in an easy-to-understand manner.

[0198] "In-factory data sources" refers to systems and devices that provide information such as daily work reports and sensor data within the factory.

[0199] A "daily work report" is a report that records the work content and progress within a factory.

[0200] "Sensor data" refers to data about the environment and equipment, such as temperature, humidity, and pressure, collected by sensors within the factory.

[0201] "Upper management requests" refers to specific information or reports requested by managers or executives.

[0202] This invention is a system that automatically analyzes the contents of RFPs (requirements documents) and proposals and generates optimal presentation materials. This system is implemented using a data processing device through the following steps.

[0203] Data Import

[0204] Subject: Server

[0205] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares them for appropriate analysis. It also receives daily work reports or sensor data from data sources within the factory.

[0206] Text Extraction

[0207] Subject: Server

[0208] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0209] Natural Language Processing

[0210] Subject: Server

[0211] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[0212] Match evaluation

[0213] Subject: Server

[0214] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. The evaluation results are calculated as a score indicating how well the parts of the RFP and proposal match. The server also evaluates the degree of match between the data sources within the factory and the contents of the request from upper management.

[0215] Creating presentation materials

[0216] Subject: Server

[0217] The server generates presentation materials based on the scoring results. The materials are constructed in a template-based format, with important keywords and explanatory text placed on the appropriate pages. Presentation materials on factory efficiency are also generated in the same way. The final materials are generated in PowerPoint or PDF format.

[0218] Providing presentation materials

[0219] Subject: Server

[0220] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[0221] Specific examples

[0222] For example, let's say a factory manager receives proposals for a new automation system from multiple vendors. The system compares the proposals with the request for proposals (RFP), automatically extracts the most suitable proposal as a presentation document, and provides it to the manager. Furthermore, the system can analyze daily work reports and sensor data from within the factory, compare them with requests from upper management to evaluate the degree of match, and generate detailed presentation documents on efficiency improvements.

[0223] Prompt Sentence Examples

[0224] Compare the vendor's proposals with the required specifications and generate the optimal proposal as a presentation.

[0225] As described above, by using the present invention, it is possible not only to efficiently analyze the contents of requirement specifications and proposals, extract important information, and automatically generate presentation materials, but also to analyze information from data sources within the factory and quickly respond to requests from management.

[0226] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0227] Step 1:

[0228] Data Import

[0229] Subject: Server

[0230] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality and HTTP requests. It also receives daily work reports and sensor data from data sources within the factory. As a result, inputs are files uploaded by users and data provided by data sources within the factory, and outputs are the various files received by the server.

[0231] Step 2:

[0232] Text Extraction

[0233] Subject: Server

[0234] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR technology to obtain the text. The input is the received files, and the output is the extracted text information.

[0235] Step 3:

[0236] Natural Language Processing

[0237] Subject: Server

[0238] The server analyzes the extracted text. First, it uses regular expressions to remove unnecessary information and generate clean text. Then it uses a natural language processing engine (such as NLTK or spaCy) to extract important keywords and phrases. It then performs dependency parsing and named entity recognition to understand the context. The input is the extracted text information, and the output is the analysis results, including important keywords and phrases.

[0239] Step 4:

[0240] Match evaluation

[0241] Subject: Server

[0242] The server compares each item in the requirements specification with the contents of the proposal to perform matching. It also compares data sources within the factory with the request content from upper management. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are output as a numerical score representing the degree of match between the requirements specification and the proposal, or between the on-site data and the request content. The input is the analyzed keywords or phrases, and the output is a match evaluation score.

[0243] Step 5:

[0244] Creating presentation materials

[0245] Subject: Server

[0246] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format and places important keywords and explanatory text on the appropriate pages. It also generates presentation materials on factory efficiency in a similar way. The inputs are the match evaluation scores and analyzed keywords and phrases, and the output is the final presentation materials (in PowerPoint or PDF format).

[0247] Step 6:

[0248] Providing presentation materials

[0249] Subject: Server

[0250] The server saves the generated presentation materials in a specified directory. It then sends the user an email with a link to download the generated materials. It also performs access management and log management to ensure that users can use the materials appropriately. The input is the generated presentation materials, and the output is a download link for the user and an access log.

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

[0252] The present invention is a system that automatically analyzes the contents of an RFP (requirements specification) and an RFP response (proposal), generates optimal presentation materials based on the analysis, and further adjusts the contents by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[0253] Data ingestion and text extraction

[0254] Subject: Server

[0255] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. It extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0256] Natural language processing and keyword extraction

[0257] Subject: Server

[0258] The extracted text is then purified using regular expressions to produce clean text, after which a natural language processing engine (e.g., NLTK or spaCy) is used to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[0259] Match evaluation

[0260] Subject: Server

[0261] The server compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[0262] emotion recognition

[0263] Subject: Server

[0264] The server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through text analysis and voice analysis, allowing it to recognize in real time how the user feels about the material.

[0265] Building and customizing presentation materials

[0266] Subject: Server

[0267] The server generates an optimal presentation of the specified number of pages based on the scoring results and the user's emotion recognition results. The presentation is created based on a pre-prepared template, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the presentation based on the user's emotional state. For example, if the user is feeling anxious, the content of the presentation can be adjusted to provide more detailed explanations to help the user understand.

[0268] Saving and providing presentation materials

[0269] Subject: Server

[0270] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is created and sent to the user via email. The server also manages access to the materials and manages logs to help users use the materials appropriately.

[0271] Specific examples

[0272] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of agreement and generates an optimal presentation based on the results. Furthermore, it uses an emotion engine to recognize the user's emotions. For example, if the user feels uneasy about the proposal, it adjusts the presentation content to provide more detail. The final presentation is generated in PowerPoint format and provided to the user.

[0273] In this way, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials that take into consideration the user's feelings.

[0274] The processing flow will be explained below.

[0275] Step 1: Data Ingestion

[0276] Subject: Server

[0277] The server receives requirement specification and proposal files from the user. The user uses a web interface to upload files in formats such as PDF, Word, Excel, and text files. The server receives the HTTP request and validates the file format. If the format is supported, the server saves the file in a specified directory; if the format is not supported, it returns an error message.

[0278] Step 2: Text extraction

[0279] Subject: Server

[0280] The server extracts text information from each file it receives. Depending on the file format, it uses a PDF parser (e.g., PyPDF2), a Word parser (python-docx), or an Excel parser (pandas). If the file is an image, it uses OCR (Optical Character Recognition) technology to extract the text using an engine like Tesseract.

[0281] Step 3: Text cleansing

[0282] Subject: Server

[0283] The extracted text data often contains noise, so the server uses regular expressions to remove these unwanted elements, specifically filtering out information such as headers, footers, page numbers, and figure and table titles, to produce clean text.

[0284] Step 4: Natural Language Processing

[0285] Subject: Server

[0286] The server analyzes the cleansed text, first using a natural language processing engine (NLTK or spaCy) to tokenize the text, tag it with parts of speech, perform dependency parsing, and then use named entity recognition (NER) to identify important entities such as company names, people's names, and place names, and extract important keywords and phrases.

[0287] Step 5: Emotion Recognition

[0288] Subject: Server

[0289] The server recognizes the user's emotions using an emotion engine that analyzes the user's input text and voice data to identify their state of mind, using text analysis to identify positive or negative emotions and voice analysis to detect emotions such as tension, excitement, or anxiety.

[0290] Step 6: Match evaluation

[0291] Subject: Server

[0292] The server compares each item in the requirements specification with the contents of the proposal and performs matching. Specifically, it calculates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The scoring results are provided as a numerical value indicating which parts of the RFP and proposal match to what extent.

[0293] Step 7: Build and customize your presentation

[0294] Subject: Server

[0295] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The presentation materials are constructed based on templates, with important keywords and explanatory text placed on designated pages. Furthermore, the content and structure of the materials are dynamically adjusted according to the user's emotional state. For example, if the user is feeling anxious, the server will add more detailed explanations to the materials and modify the content to make them easier for the user to understand.

[0296] Step 8: Save and share your presentation materials

[0297] Subject: Server

[0298] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is generated and sent to the user via email. Access control and log management are implemented to help users access the materials safely and efficiently.

[0299] As a concrete example, suppose a company is considering implementing a new CRM system and has received proposals from multiple vendors. A person in charge (user) at this company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts, cleanses, and analyzes the text information, and extracts important keywords. It then compares the contents of the RFP and proposals, evaluates their degree of agreement, and generates optimal presentation materials based on the evaluation results. It uses an emotion engine to recognize the user's emotions, adjusts the content of the materials appropriately, and presents the materials in a format that is most understandable to the user.

[0300] Example 2

[0301] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0302] In conventional systems, evaluating the degree of agreement between the requirements specification and the proposal required a lot of manual work, which was time-consuming and labor-intensive.In addition, because the presentation materials were generated without taking the user's feelings into consideration, there was also the issue of being unable to flexibly respond to the user's needs and circumstances.

[0303] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for recognizing user emotions, and means for generating presentation materials based on the degree of match and the user emotions. This enables automatic analysis of the requirements specification and the proposal and evaluation of the degree of match, and further enables automatic generation of optimal presentation materials taking user emotions into consideration.

[0304] A "data processing device" is a computer system that analyzes electronic documents such as requirements specifications and proposals, extracts text information and keywords, and evaluates the degree of match.

[0305] A "requirements specification" is a document that details the requirements and specifications for a specific task or project. A proposal is created based on this.

[0306] A "proposal" is a document that details a proposed solution or plan based on the requirements specification.

[0307] "Text information" refers to character string data extracted from electronic documents. This data is the subject of analysis.

[0308] "Keywords" are important words or phrases extracted from text information that represent the content of a document.

[0309] "Conformance" is an index that shows how closely the requirements specifications and the proposal contents match. It is usually expressed as a score.

[0310] "Emotion" refers to the psychological state that a user has toward a presentation material. This emotion is recognized using the emotion engine.

[0311] "Presentation materials" are explanatory materials generated based on the requirements specifications, proposal contents, and user emotion recognition results. They are primarily provided in slide format.

[0312] A "template" is a format with a predefined layout and design that serves as the basis for creating presentation materials.

[0313] An "emotion engine" is a computer algorithm or system that analyzes emotions from a user's voice or text and recognizes their psychological state.

[0314] The present invention is a system that automatically analyzes the contents of a request for proposal (RFP) and a proposal, generates optimal presentation materials based on them, and further adjusts the contents of the materials by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[0315] Data ingestion and text extraction

[0316] Subject: Server

[0317] The server receives RFP and proposal files uploaded by users. Supported file formats include PDF, Word, Excel, and text files, and users send these files to the server via the file upload function or HTTP request. If the received file is in PDF format, text is extracted using PyPDF2 or pdfminer. If the file is in Word format, text is extracted using python-docx, and if it is in Excel format, text is extracted using openpyxl or pandas. If the file is provided in image format, text is extracted from the image using OCR technology such as Tesseract.

[0318] Natural language processing and keyword extraction

[0319] Subject: Server

[0320] The server uses regular expressions to remove unnecessary information from the extracted text data, and then uses natural language processing engines such as NLTK or spaCy to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition on the clean text data to extract important keywords and phrases.

[0321] Match evaluation

[0322] Subject: Server

[0323] To compare each item in the RFP and proposal individually, the server first splits them into text data. Then, it calculates the similarity between each item using a scoring algorithm such as Cosine Similarity. This similarity score is stored in a database on the server and presented to users via a visualization tool.

[0324] emotion recognition

[0325] Subject: Server

[0326] The server receives voice and text input to interface with the user. For voice input, it converts the speech to text using the Google® Speech-to-Text API or Microsoft® Azure® Cognitive Services. To analyze the text data, the server uses an emotion engine (e.g., IBM Watson® Tone Analyzer or AWS® Comprehend) to recognize the user's emotions. The recognition results are used to adjust the presentation materials.

[0327] Building and customizing presentation materials

[0328] Subject: Server

[0329] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The materials are automatically generated using pre-prepared templates and the python-pptx library. For example, important keywords and graphs are placed on slides, and if the user feels anxious, a more detailed explanation slide is added.

[0330] Saving and providing presentation materials

[0331] Subject: Server

[0332] The generated presentation materials are saved in a specified directory on the server. The server generates a download link for the materials and notifies the user of this by email. The SMTP protocol is used to send the email. In addition, the server uses AWS S3's ACL function and its own authentication system for access management to ensure appropriate use of the materials.

[0333] Specific examples

[0334] For example, consider the process of a company considering implementing a new CRM system uploading an RFP called "CRM_System_RFP.pdf" and proposals called "Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf" to a server. The server receives these files and extracts the text using PyPDF2 and Tesseract. It then uses spaCy to extract important keywords and phrases. It then compares the RFP and proposals using cosine similarity and calculates a match score. It then uses IBM Watson Tone Analyzer to recognize the sentiment of the person in charge and adds a detailed explanatory slide if there are any concerns. Finally, the PowerPoint presentation generated using python-pptx is saved in a specified folder and a download link is sent via email.

[0335] In this way, the user can efficiently evaluate the proposal contents corresponding to the RFP and obtain optimal presentation materials that take into consideration emotions.

[0336] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0337] Step 1:

[0338] Subject: User

[0339] Users upload RFP and proposal documents to the server, and input file formats such as PDF, Word, Excel, and text files are supported.

[0340] Step 2:

[0341] Subject: Server

[0342] The server receives the uploaded file. Specifically, it uses HTTP request or SFTP protocol and saves the file in a specified directory on the server. The input is the requirement specification and proposal file sent by the user. The output is the directory path where the received file is saved.

[0343] Step 3:

[0344] Subject: Server

[0345] The server extracts text information from the received file. For PDF files, it uses PyPDF2 or pdfminer, for Word files it uses python-docx, and for Excel files it uses openpyxl or pandas. If the file is an image, it uses Tesseract for OCR. The input is the saved file path, and the output is the extracted text information.

[0346] Step 4:

[0347] Subject: Server

[0348] The server uses regular expressions to remove unnecessary information from the extracted text data, producing clean text data. The input is the extracted text information, and the output is the clean text with the unnecessary information removed.

[0349] Step 5:

[0350] Subject: Server

[0351] The server uses NLTK and spaCy to extract important keywords and phrases from clean text data by tokenizing, part-of-speech tagging, dependency parsing, and named entity recognition. The input is clean text data, and the output is important keywords and phrases.

[0352] Step 6:

[0353] Subject: Server

[0354] The server splits each item in the RFP and proposal into text data and calculates the similarity using a scoring algorithm such as Cosine Similarity. The calculated similarity scores are stored in a database on the server. The input is the text data of the RFP and proposal, and the output is the similarity score for each item.

[0355] Step 7:

[0356] Subject: Server

[0357] The server receives voice and text inputs to interface with the user. For voice inputs, it uses the Google Speech-to-Text API to convert the speech into text and generate input data for text analysis. The inputs are voice and text data, and the output is sentiment information in text format.

[0358] Step 8:

[0359] Subject: Server

[0360] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions and record the recognition results. The input is voice or text data, and the output is an analysis of the user's emotional state.

[0361] Step 9:

[0362] Subject: Server

[0363] The server automatically generates optimal presentation materials based on the scoring results and the user's sentiment analysis results. The materials are created using templates with the python-pptx library. The input is the scoring results and sentiment analysis results, and the output is the generated presentation materials.

[0364] Step 10:

[0365] Subject: Server

[0366] The server saves the generated presentation materials in a specified directory and notifies the user by email using the SMTP protocol to provide a download link. Access is managed using AWS S3's ACL function or a unique authentication system. The input is the generated presentation materials, and the output is the generation of a download link and a notification email.

[0367] This makes the entire system efficient and user-friendly, allowing users to quickly obtain presentation materials that are easy to understand.

[0368] (Application example 2)

[0369] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0370] The traditional process of creating presentation materials involves a lot of manual work, and the task of comparing the requirements specifications with the proposal is particularly time-consuming and labor-intensive. Furthermore, it is difficult to customize materials to suit the user's emotions and situation, which can lead to a lack of understanding and acceptance of the materials.

[0371] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, means for recognizing a user's emotions through voice input or facial expression recognition, and means for customizing the presentation materials based on the emotion recognition results. This makes it possible to efficiently generate optimal presentation materials according to the user's emotions, thereby improving work efficiency and the understanding of the materials.

[0372] "Data processing device" means a computer system for extracting, analyzing, and evaluating text information.

[0373] A "requirements specification" is a document that describes the specific requirements and specifications for a project or product.

[0374] A "proposal" is a document that describes a solution or proposal submitted based on a requirements specification.

[0375] "Text information" is character string data extracted from a document.

[0376] "Important keywords" are words or phrases extracted from text information that are considered to be particularly important for understanding the content of a document.

[0377] "Match" is an evaluation index that indicates how closely the requirements specifications and the proposal contents match.

[0378] "Presentation materials" are explanatory materials that summarize the contents of the requirements specification and proposal.

[0379] "Voice input" is a technology that recognizes a user's speech and converts it into text data.

[0380] "Facial expression recognition" is a technology that captures a user's facial expression using a camera or other device and determines their emotions based on that.

[0381] "Emotion recognition results" are data on the user's emotional state obtained based on voice input and facial expression recognition.

[0382] "Customization" means adjusting and optimizing the content and structure of presentation materials based on the results of user emotion recognition.

[0383] The present invention is a system that uses a data processing device to automatically analyze the contents of requirement specifications and proposals, generate optimal presentation materials based on them, and further adjust the contents by recognizing the user's emotions. Specifically, the system is implemented using the following hardware and software.

[0384] Hardware and software used

[0385] Hardware:

[0386] Factory robots (processors for real-time data analysis)

[0387] Camera (for acquiring image data)

[0388] Microphone (for voice input)

[0389] Smartphones, smart glasses, head-mounted displays

[0390] software:

[0391] OCR library (Tesseract OCR)

[0392] Natural language processing engine (spaCy)

[0393] Emotion Recognition Engine (Microsoft Azure Cognitive Services)

[0394] Presentation material generation engine (Python-PowerPoint)

[0395] Process Overview

[0396] The server first receives the requirement specification and proposal files from the user, and then extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, OCR technology is used to obtain the text.

[0397] The extracted text is then run through a natural language processing engine for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[0398] The server then compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[0399] Furthermore, the server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through voice input and facial expression recognition. This allows the server to recognize in real time how the user feels about the material.

[0400] Based on the scoring results and the user's emotion recognition results, the server generates optimal presentation materials. The presentation materials are created based on pre-prepared templates, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the materials based on the user's emotional state.

[0401] Example prompt

[0402] For example, when generating a presentation on equipment inspection for factory robots, the following prompt sentences are used:

[0403] Generate a summary presentation from the following inspection reports:

[0404] 1. Inspection Manual: {manual_text}

[0405] 2. Inspection Report: {report_text}

[0406] Consider the emotions derived from the sentiment analysis: {emotions_score}.

[0407] This allows users to efficiently evaluate proposals based on the requirements specifications and obtain optimal presentation materials that take into consideration the user's feelings. Utilizing factory robots will significantly improve work efficiency and the level of understanding of materials.

[0408] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0409] Step 1:

[0410] The server receives requirement specification and proposal files from users. The input is files in various formats such as PDF, Word, Excel, and text files, and is received via HTTP requests or file upload functions. The output is the received files themselves. Specifically, the user uploads a file, and the server saves the file in storage.

[0411] Step 2:

[0412] The server extracts text information from received files. The input is the received file, and a PDF parser, Word parser, or Excel parser is used. For image format files, OCR (Optical Character Recognition) technology is used to obtain the text. The output is the extracted text data. Specifically, an extraction tool is used to analyze each type of file and extract the text information.

[0413] Step 3:

[0414] The server analyzes the extracted text information using a natural language processing engine (e.g., spaCy). The input is the extracted text data, and it undergoes processes such as tokenization, part-of-speech tagging, dependency parsing, and named entity recognition. The output is the analyzed text data, from which important keywords and phrases have been extracted. Specifically, the server inputs the text data into the natural language processing engine and performs various analytical processes.

[0415] Step 4:

[0416] The server compares each item in the requirements specification with the contents of the proposal. The input is the analyzed text data of the requirements specification and the text data of the proposal, and the degree of match for each item is evaluated using a scoring algorithm such as Cosine Similarity. The output is a match score. Specifically, the server vectorizes the keywords in the requirements specification and proposal and calculates the similarity.

[0417] Step 5:

[0418] The server uses an emotion engine to recognize the user's emotions. The input is the user's voice data and facial expression images, which are analyzed using an emotion recognition engine such as Microsoft Azure Cognitive Services. The output is data indicating the user's emotional state. Specifically, the server inputs the voice data and images into the emotion recognition engine and obtains an emotion score.

[0419] Step 6:

[0420] The server generates optimal presentation materials based on the match scores and emotion recognition results. The input is the match scores and emotional state data, and the presentation materials are constructed using a presentation material generation engine (Python-PowerPoint). The output is the generated presentation materials. Specifically, the server arranges data according to a template and generates the materials.

[0421] Step 7:

[0422] The server saves the generated presentation materials in a specified directory and provides the user with a download link. The input is the generated presentation materials, which are saved in cloud storage. The output is a link to the saved presentation materials. As a specific example, the server uploads the materials to a directory on the cloud and sends the URL to the user by email.

[0423] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0424] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0425] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0426] [Second embodiment]

[0427] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0428] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0429] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0431] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[0433] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0434] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0435] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0437] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0438] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0439] The present invention is a system that automatically analyzes the contents of an RFP (requirements document) and an RFP response (proposal) to generate optimal presentation materials. This system is specifically implemented as follows using a data processing device.

[0440] Data Import

[0441] Subject: Server

[0442] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares for appropriate analysis.

[0443] Text Extraction

[0444] Subject: Server

[0445] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0446] Natural Language Processing

[0447] Subject: Server

[0448] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[0449] Match evaluation

[0450] Subject: Server

[0451] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are calculated as a score that indicates how well the parts of the RFP and proposal match.

[0452] Creating presentation materials

[0453] Subject: Server

[0454] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format, placing important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0455] Providing presentation materials

[0456] Subject: Server

[0457] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[0458] Specific examples

[0459] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of match and generates the most appropriate presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format.

[0460] In this way, the user can fairly and efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0461] The processing flow will be explained below.

[0462] Step 1: Data Ingestion

[0463] Subject: Server

[0464] The server receives the requirement specification and proposal files from the user. The user uses the file upload function to upload the files to a specified directory. At this time, the server receives the HTTP request and checks the file format. Supported formats include PDF, Word, Excel, and text files. If the format is inappropriate, the server returns an error message.

[0465] Step 2: Text extraction

[0466] Subject: Server

[0467] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser, Word parser, or Excel parser. The server uses the corresponding library (e.g., PyPDF2, python-docx, pandas, etc.) to extract text from each file. If the file is in image format, the server uses OCR (Optical Character Recognition) technology and an OCR engine such as Tesseract to extract text from the image.

[0468] Step 3: Text cleansing

[0469] Subject: Server

[0470] The server then cleans the extracted text, using regular expressions to filter out unnecessary elements such as headers, footers, page numbers, figure and table titles, etc. This process produces clean text suitable for analysis.

[0471] Step 4: Natural Language Processing

[0472] Subject: Server

[0473] The server parses the cleansed text to extract important keywords and phrases. It uses natural language processing libraries such as NLTK and spaCy to tokenize the text, tag parts of speech, and perform dependency parsing. It also uses named entity recognition (NER) to identify important entities such as company and product names.

[0474] Step 5: Match evaluation

[0475] Subject: Server

[0476] The server compares each item in the requirements specification with the contents of the proposal and performs matching. The server applies a scoring algorithm such as Cosine Similarity based on the keywords in each item to evaluate the degree of match for each item. The evaluation results are compiled as a score that indicates how well each part of the RFP and proposal matches.

[0477] Step 6: Build your presentation materials

[0478] Subject: Server

[0479] The server generates the optimal presentation materials within the specified number of pages based on the scoring results. The server loads a pre-prepared template and prepares the page layout of the presentation materials. Based on the evaluation results, important keywords and explanatory text are appropriately placed on each page. The server generates the materials in PowerPoint format using the python-pptx library.

[0480] Step 7: Save and share your presentation materials

[0481] Subject: Server

[0482] The server saves the generated presentation materials in a specified directory. It creates a link for users to download the presentation materials and notifies them by email. The server also manages access to the generated materials and manages logs to ensure that users can use the materials appropriately.

[0483] Through the above processing steps, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0484] Example 1

[0485] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0486] Conventional methods require a great deal of time and effort to manually analyze the content of requirement specifications and proposals provided in various formats and create presentation materials. It is also difficult to accurately evaluate the degree of consistency between the content, which can result in inappropriate evaluation of proposals. Furthermore, there is a need for a method that allows users to easily access and use the generated presentation materials.

[0487] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0488] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, and means for saving the presentation materials in a specified directory and providing a download link to the user. This makes it possible to automatically analyze the contents of the requirements specification and the proposal, accurately evaluate the degree of match, and efficiently generate presentation materials to provide to the user.

[0489] A "data processing device" is a device that performs processes such as receiving, analyzing, and generating data, such as a computer or server.

[0490] A "requirements specification" is a document that lists detailed requirements and conditions for a project or product.

[0491] A "proposal" is a document that describes the solutions and proposals provided based on the requirements specification.

[0492] "Text information" is character string data extracted from a document, and is the information to be analyzed.

[0493] "Analysis" is the process of examining textual information in detail and extracting specific patterns or important elements.

[0494] "Important keywords" are words or phrases that are recognized as having particular meaning or value in text information.

[0495] "Degree of agreement" is an index for evaluating how well the requirements specifications and the proposal match.

[0496] "Presentation materials" are materials that visually summarize the analysis results of the requirements specifications and proposals in an easy-to-understand manner, and are mainly provided in slide or document format.

[0497] A "designated directory" is a predetermined location on a file system for saving presentation materials.

[0498] A "download link" is a URL or hyperlink that allows a user to easily obtain presentation materials saved in a specified directory.

[0499] The present invention is a system for automatically analyzing the contents of a requirements specification and a proposal, evaluating the degree of agreement, and generating optimal presentation materials. Specific embodiments of the present invention will be described below.

[0500] Data Import

[0501] Subject: Server

[0502] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. The server checks the format of the received file and prepares for the appropriate parsing. Specifically, it selects the appropriate toolchain by loading a PDF parser for PDF files and a Word parser for Word files.

[0503] Text Extraction

[0504] Subject: Server

[0505] The server extracts text information from each file it receives. It uses a PDF parser, Word parser, or Excel parser as appropriate to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to extract the text information using tools such as Tesseract.

[0506] Natural Language Processing

[0507] Subject: Server

[0508] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text, then uses a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and performs dependency parsing and named entity recognition to understand the context.

[0509] Match evaluation

[0510] Subject: Server

[0511] The server compares each item in the requirements specification with the contents of the proposal to perform matching. Scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. Specifically, TF-IDF vectorization is performed between the text of each RFP item and proposal item, and the similarity score is calculated using the Cosine Similarity function in the Sklearn library.

[0512] Creating presentation materials

[0513] Subject: Server

[0514] The server generates presentation materials in a template-based format based on the scoring results. It uses the Python-pptx library to generate slides and places important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0515] Providing presentation materials

[0516] Subject: Server

[0517] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access control and log management to ensure users can use the materials appropriately.

[0518] Specific examples

[0519] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user in the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the requirements specification with the proposals to assess their degree of agreement and generates optimal presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format. In this way, the user can fairly and efficiently evaluate the proposals based on the requirements specification and obtain the optimal presentation materials.

[0520] Prompt Sentence Examples

[0521] "We need to evaluate multiple proposals for a new CRM system. Please generate the best presentation materials based on the RFP and proposals below.

[0522] CRM_System_RFP.pdf

[0523] Vendor1_CRM_Proposal.pdf

[0524] Vendor2_CRM_Proposal.pdf

[0525] Please provide generated materials in PowerPoint format."

[0526] In this way, the system of the present invention automatically analyzes the contents of requirement specifications and proposals, and provides an excellent means for efficiently and accurately generating and providing presentation materials.

[0527] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0528] Step 1:

[0529] Data Import

[0530] Subject: Server

[0531] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server saves the received files in a temporary directory, checks the file format, and prepares them for appropriate analysis.

[0532] Input: User uploaded files (PDF, Word, Excel, text, etc.)

[0533] Output: Files saved in the temporary directory and information about the file format.

[0534] Specific behavior:

[0535] A user logs in through a browser, selects a file using the file upload form, and clicks the upload button.

[0536] The server saves the received file in a temporary directory and checks the file format.

[0537] Step 2:

[0538] Text Extraction

[0539] Subject: Server

[0540] The server extracts text information from each file it receives: for PDF files it uses the PyPDF2 library, for Word files it uses the Python-docx library, for Excel files it uses openpyxl, and for image files it uses OCR technology (such as Tesseract).

[0541] Input: A file saved in the temporary directory

[0542] Output: Extracted text information

[0543] Specific behavior:

[0544] Using PyPDF2 to extract text from PDF files.

[0545] Using Python-docx to extract text from Word files.

[0546] Using openpyxl to extract text from an Excel file.

[0547] Extract text from image files using OCR technology (such as Tesseract).

[0548] Step 3:

[0549] Natural Language Processing

[0550] Subject: Server

[0551] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text. It then uses a natural language processing engine such as NLTK or spaCy to extract important keywords and phrases. It also performs dependency parsing and named entity recognition to understand the context.

[0552] Input: Extracted text information

[0553] Output: Clean text and important keywords and phrases

[0554] Specific behavior:

[0555] Use regular expressions to remove unnecessary information and produce clean text.

[0556] It uses NLTK and spaCy for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition.

[0557] Identify keywords and key phrases and understand their context.

[0558] Step 4:

[0559] Match evaluation

[0560] Subject: Server

[0561] The server compares each item in the requirements specification with the contents of the proposal to perform matching. First, it converts the text of each item into a TF-IDF vector and calculates a similarity score using the Cosine Similarity function in the Sklearn library. The degree of match is evaluated based on this score.

[0562] Input: Clean text and important keywords and phrases

[0563] Output: Match score

[0564] Specific behavior:

[0565] Convert the text of each RFP item and proposal item into a TF-IDF vector.

[0566] The similarity score is calculated using the Cosine Similarity function in the sklearn library.

[0567] Save the match score for each item in the requirements specification and proposal in list format.

[0568] Step 5:

[0569] Creating presentation materials

[0570] Subject: Server

[0571] The server generates presentation materials based on the scoring results. It uses the Python-pptx library to generate slides based on templates. It places important keywords and explanatory text on the appropriate pages, and the final materials are generated in PowerPoint or PDF format.

[0572] Input: Match score

[0573] Output: The generated presentation

[0574] Specific behavior:

[0575] Extract key points from the scoring results and embed the content into slides.

[0576] Use the Python-pptx library to generate slides and position content.

[0577] Generate the final presentation in PowerPoint or PDF format.

[0578] Step 6:

[0579] Providing presentation materials

[0580] Subject: Server

[0581] The server saves the generated presentation materials in a specified directory, sends the user an email with a link to download the materials, and performs access control and log management to ensure that users can use the materials appropriately.

[0582] Input: Generated presentation materials

[0583] Output: A link that users can download

[0584] Specific behavior:

[0585] Save the generated PowerPoint file in a specific directory on the server.

[0586] An automatically generated download link for the materials will be sent to the user's email address.

[0587] Record access logs for download links and manage access permissions.

[0588] (Application example 1)

[0589] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0590] Conventional presentation material generation systems require manual analysis of the requirements specifications and proposals and manual compilation of related information into presentation materials, which is time-consuming and labor-intensive. Therefore, there is a need to quickly extract important information and generate presentation materials efficiently. Furthermore, there is no way to efficiently analyze information from data sources within the factory and quickly generate reports and presentation materials in response to management requests, which hinders on-site efficiency.

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

[0592] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of agreement, means for receiving daily work reports or sensor data from a data source within the factory, means for extracting text information from the daily work reports or sensor data, means for analyzing the text information of the daily work reports or sensor data and extracting important keywords, means for evaluating the degree of agreement between the data source within the factory and a request from an upper management level, and means for generating presentation materials related to improving factory efficiency based on the degree of agreement. This not only enables efficient analysis of the requirements specification and proposal contents, extraction of important information, and automatic generation of presentation materials, but also enables efficient analysis of information from the data source within the factory to quickly respond to requests from management.

[0593] A "requirements specification" is a document that describes the requirements and functions required for a system or product.

[0594] A "proposal" is a document that describes the solution or technical approach that is offered in response to a requirements specification.

[0595] "Text information" refers to the text data of the content extracted from the file.

[0596] "Natural language processing" is a technology that uses computers to analyze human language and understand and extract meaning and structure.

[0597] "Important keywords" refer to words or phrases that are particularly meaningful in a document.

[0598] The "degree of agreement" is a numerical value that evaluates the degree of agreement between the requirements specification and the proposal or other document.

[0599] "Presentation materials" are slides or documents that visually summarize specific information or data in an easy-to-understand manner.

[0600] "In-factory data sources" refers to systems and devices that provide information such as daily work reports and sensor data within the factory.

[0601] A "daily work report" is a report that records the work content and progress within a factory.

[0602] "Sensor data" refers to data about the environment and equipment, such as temperature, humidity, and pressure, collected by sensors within the factory.

[0603] "Upper management requests" refers to specific information or reports requested by managers or executives.

[0604] This invention is a system that automatically analyzes the contents of RFPs (requirements documents) and proposals and generates optimal presentation materials. This system is implemented using a data processing device through the following steps.

[0605] Data Import

[0606] Subject: Server

[0607] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares them for appropriate analysis. It also receives daily work reports or sensor data from data sources within the factory.

[0608] Text Extraction

[0609] Subject: Server

[0610] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0611] Natural Language Processing

[0612] Subject: Server

[0613] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[0614] Match evaluation

[0615] Subject: Server

[0616] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. The evaluation results are calculated as a score indicating how well the parts of the RFP and proposal match. The server also evaluates the degree of match between the data sources within the factory and the contents of the request from upper management.

[0617] Creating presentation materials

[0618] Subject: Server

[0619] The server generates presentation materials based on the scoring results. The materials are constructed in a template-based format, with important keywords and explanatory text placed on the appropriate pages. Presentation materials on factory efficiency are also generated in the same way. The final materials are generated in PowerPoint or PDF format.

[0620] Providing presentation materials

[0621] Subject: Server

[0622] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[0623] Specific examples

[0624] For example, let's say a factory manager receives proposals for a new automation system from multiple vendors. The system compares the proposals with the request for proposals (RFP), automatically extracts the most suitable proposal as a presentation document, and provides it to the manager. Furthermore, the system can analyze daily work reports and sensor data from within the factory, compare them with requests from upper management to evaluate the degree of match, and generate detailed presentation documents on efficiency improvements.

[0625] Prompt Sentence Examples

[0626] Compare the vendor's proposals with the required specifications and generate the optimal proposal as a presentation.

[0627] As described above, by using the present invention, it is possible not only to efficiently analyze the contents of requirement specifications and proposals, extract important information, and automatically generate presentation materials, but also to analyze information from data sources within the factory and quickly respond to requests from management.

[0628] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0629] Step 1:

[0630] Data Import

[0631] Subject: Server

[0632] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality and HTTP requests. It also receives daily work reports and sensor data from data sources within the factory. As a result, inputs are files uploaded by users and data provided by data sources within the factory, and outputs are the various files received by the server.

[0633] Step 2:

[0634] Text Extraction

[0635] Subject: Server

[0636] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR technology to obtain the text. The input is the received files, and the output is the extracted text information.

[0637] Step 3:

[0638] Natural Language Processing

[0639] Subject: Server

[0640] The server analyzes the extracted text. First, it uses regular expressions to remove unnecessary information and generate clean text. Then it uses a natural language processing engine (such as NLTK or spaCy) to extract important keywords and phrases. It then performs dependency parsing and named entity recognition to understand the context. The input is the extracted text information, and the output is the analysis results, including important keywords and phrases.

[0641] Step 4:

[0642] Match evaluation

[0643] Subject: Server

[0644] The server compares each item in the requirements specification with the contents of the proposal to perform matching. It also compares data sources within the factory with the request content from upper management. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are output as a numerical score representing the degree of match between the requirements specification and the proposal, or between the on-site data and the request content. The input is the analyzed keywords or phrases, and the output is a match evaluation score.

[0645] Step 5:

[0646] Creating presentation materials

[0647] Subject: Server

[0648] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format and places important keywords and explanatory text on the appropriate pages. It also generates presentation materials on factory efficiency in a similar way. The inputs are the match evaluation scores and analyzed keywords and phrases, and the output is the final presentation materials (in PowerPoint or PDF format).

[0649] Step 6:

[0650] Providing presentation materials

[0651] Subject: Server

[0652] The server saves the generated presentation materials in a specified directory. It then sends the user an email with a link to download the generated materials. It also performs access management and log management to ensure that users can use the materials appropriately. The input is the generated presentation materials, and the output is a download link for the user and an access log.

[0653] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0654] The present invention is a system that automatically analyzes the contents of an RFP (requirements specification) and an RFP response (proposal), generates optimal presentation materials based on the analysis, and further adjusts the contents by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[0655] Data ingestion and text extraction

[0656] Subject: Server

[0657] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. It extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0658] Natural language processing and keyword extraction

[0659] Subject: Server

[0660] The extracted text is then purified using regular expressions to produce clean text, after which a natural language processing engine (e.g., NLTK or spaCy) is used to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[0661] Match evaluation

[0662] Subject: Server

[0663] The server compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[0664] emotion recognition

[0665] Subject: Server

[0666] The server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through text analysis and voice analysis, allowing it to recognize in real time how the user feels about the material.

[0667] Building and customizing presentation materials

[0668] Subject: Server

[0669] The server generates an optimal presentation of the specified number of pages based on the scoring results and the user's emotion recognition results. The presentation is created based on a pre-prepared template, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the presentation based on the user's emotional state. For example, if the user is feeling anxious, the content of the presentation can be adjusted to provide more detailed explanations to help the user understand.

[0670] Saving and providing presentation materials

[0671] Subject: Server

[0672] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is created and sent to the user via email. The server also manages access to the materials and manages logs to help users use the materials appropriately.

[0673] Specific examples

[0674] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of agreement and generates an optimal presentation based on the results. Furthermore, it uses an emotion engine to recognize the user's emotions. For example, if the user feels uneasy about the proposal, it adjusts the presentation content to provide more detail. The final presentation is generated in PowerPoint format and provided to the user.

[0675] In this way, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials that take into consideration the user's feelings.

[0676] The processing flow will be explained below.

[0677] Step 1: Data Ingestion

[0678] Subject: Server

[0679] The server receives requirement specification and proposal files from the user. The user uses a web interface to upload files in formats such as PDF, Word, Excel, and text files. The server receives the HTTP request and validates the file format. If the format is supported, the server saves the file in a specified directory; if the format is not supported, it returns an error message.

[0680] Step 2: Text extraction

[0681] Subject: Server

[0682] The server extracts text information from each file it receives. Depending on the file format, it uses a PDF parser (e.g., PyPDF2), a Word parser (python-docx), or an Excel parser (pandas). If the file is an image, it uses OCR (Optical Character Recognition) technology to extract the text using an engine like Tesseract.

[0683] Step 3: Text cleansing

[0684] Subject: Server

[0685] The extracted text data often contains noise, so the server uses regular expressions to remove these unwanted elements, specifically filtering out information such as headers, footers, page numbers, and figure and table titles, to produce clean text.

[0686] Step 4: Natural Language Processing

[0687] Subject: Server

[0688] The server analyzes the cleansed text, first using a natural language processing engine (NLTK or spaCy) to tokenize the text, tag it with parts of speech, perform dependency parsing, and then use named entity recognition (NER) to identify important entities such as company names, people's names, and place names, and extract important keywords and phrases.

[0689] Step 5: Emotion Recognition

[0690] Subject: Server

[0691] The server recognizes the user's emotions using an emotion engine that analyzes the user's input text and voice data to identify their state of mind, using text analysis to identify positive or negative emotions and voice analysis to detect emotions such as tension, excitement, or anxiety.

[0692] Step 6: Match evaluation

[0693] Subject: Server

[0694] The server compares each item in the requirements specification with the contents of the proposal and performs matching. Specifically, it calculates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The scoring results are provided as a numerical value indicating which parts of the RFP and proposal match to what extent.

[0695] Step 7: Build and customize your presentation

[0696] Subject: Server

[0697] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The presentation materials are constructed based on templates, with important keywords and explanatory text placed on designated pages. Furthermore, the content and structure of the materials are dynamically adjusted according to the user's emotional state. For example, if the user is feeling anxious, the server will add more detailed explanations to the materials and modify the content to make them easier for the user to understand.

[0698] Step 8: Save and share your presentation materials

[0699] Subject: Server

[0700] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is generated and sent to the user via email. Access control and log management are implemented to help users access the materials safely and efficiently.

[0701] As a concrete example, suppose a company is considering implementing a new CRM system and has received proposals from multiple vendors. A person in charge (user) at this company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts, cleanses, and analyzes the text information, and extracts important keywords. It then compares the contents of the RFP and proposals, evaluates their degree of agreement, and generates optimal presentation materials based on the evaluation results. It uses an emotion engine to recognize the user's emotions, adjusts the content of the materials appropriately, and presents the materials in a format that is most understandable to the user.

[0702] Example 2

[0703] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0704] In conventional systems, evaluating the degree of agreement between the requirements specification and the proposal required a lot of manual work, which was time-consuming and labor-intensive.In addition, because the presentation materials were generated without taking the user's feelings into consideration, there was also the issue of being unable to flexibly respond to the user's needs and circumstances.

[0705] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for recognizing user emotions, and means for generating presentation materials based on the degree of match and the user emotions. This enables automatic analysis of the requirements specification and the proposal and evaluation of the degree of match, and further enables automatic generation of optimal presentation materials taking user emotions into consideration.

[0706] A "data processing device" is a computer system that analyzes electronic documents such as requirements specifications and proposals, extracts text information and keywords, and evaluates the degree of match.

[0707] A "requirements specification" is a document that details the requirements and specifications for a specific task or project. A proposal is created based on this.

[0708] A "proposal" is a document that details a proposed solution or plan based on the requirements specification.

[0709] "Text information" refers to character string data extracted from electronic documents. This data is the subject of analysis.

[0710] "Keywords" are important words or phrases extracted from text information that represent the content of a document.

[0711] "Conformance" is an index that shows how closely the requirements specifications and the proposal contents match. It is usually expressed as a score.

[0712] "Emotion" refers to the psychological state that a user has toward a presentation material. This emotion is recognized using the emotion engine.

[0713] "Presentation materials" are explanatory materials generated based on the requirements specifications, proposal contents, and user emotion recognition results. They are primarily provided in slide format.

[0714] A "template" is a format with a predefined layout and design that serves as the basis for creating presentation materials.

[0715] An "emotion engine" is a computer algorithm or system that analyzes emotions from a user's voice or text and recognizes their psychological state.

[0716] The present invention is a system that automatically analyzes the contents of a request for proposal (RFP) and a proposal, generates optimal presentation materials based on them, and further adjusts the contents of the materials by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[0717] Data ingestion and text extraction

[0718] Subject: Server

[0719] The server receives RFP and proposal files uploaded by users. Supported file formats include PDF, Word, Excel, and text files, and users send these files to the server via the file upload function or HTTP request. If the received file is in PDF format, text is extracted using PyPDF2 or pdfminer. If the file is in Word format, text is extracted using python-docx, and if it is in Excel format, text is extracted using openpyxl or pandas. If the file is provided in image format, text is extracted from the image using OCR technology such as Tesseract.

[0720] Natural language processing and keyword extraction

[0721] Subject: Server

[0722] The server uses regular expressions to remove unnecessary information from the extracted text data, and then uses natural language processing engines such as NLTK or spaCy to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition on the clean text data to extract important keywords and phrases.

[0723] Match evaluation

[0724] Subject: Server

[0725] To compare each item in the RFP and proposal individually, the server first splits them into text data. Then, it calculates the similarity between each item using a scoring algorithm such as Cosine Similarity. This similarity score is stored in a database on the server and presented to users via a visualization tool.

[0726] emotion recognition

[0727] Subject: Server

[0728] The server receives voice and text input to interface with the user. For voice input, it converts the speech to text using Google Speech-to-Text API or Microsoft Azure Cognitive Services. To analyze the text data, the server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions. The recognition results are used to adjust the presentation materials.

[0729] Building and customizing presentation materials

[0730] Subject: Server

[0731] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The materials are automatically generated using pre-prepared templates and the python-pptx library. For example, important keywords and graphs are placed on slides, and if the user feels anxious, a more detailed explanation slide is added.

[0732] Saving and providing presentation materials

[0733] Subject: Server

[0734] The generated presentation materials are saved in a specified directory on the server. The server generates a download link for the materials and notifies the user of this by email. The SMTP protocol is used to send the email. In addition, the server uses AWS S3's ACL function and its own authentication system for access management to ensure appropriate use of the materials.

[0735] Specific examples

[0736] For example, consider the process of a company considering implementing a new CRM system uploading an RFP called "CRM_System_RFP.pdf" and proposals called "Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf" to a server. The server receives these files and extracts the text using PyPDF2 and Tesseract. It then uses spaCy to extract important keywords and phrases. It then compares the RFP and proposals using cosine similarity and calculates a match score. It then uses IBM Watson Tone Analyzer to recognize the sentiment of the person in charge and adds a detailed explanatory slide if there are any concerns. Finally, the PowerPoint presentation generated using python-pptx is saved in a specified folder and a download link is sent via email.

[0737] In this way, the user can efficiently evaluate the proposal contents corresponding to the RFP and obtain optimal presentation materials that take into consideration emotions.

[0738] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0739] Step 1:

[0740] Subject: User

[0741] Users upload RFP and proposal documents to the server, and input file formats such as PDF, Word, Excel, and text files are supported.

[0742] Step 2:

[0743] Subject: Server

[0744] The server receives the uploaded file. Specifically, it uses HTTP request or SFTP protocol and saves the file in a specified directory on the server. The input is the requirement specification and proposal file sent by the user. The output is the directory path where the received file is saved.

[0745] Step 3:

[0746] Subject: Server

[0747] The server extracts text information from the received file. For PDF files, it uses PyPDF2 or pdfminer, for Word files it uses python-docx, and for Excel files it uses openpyxl or pandas. If the file is an image, it uses Tesseract for OCR. The input is the saved file path, and the output is the extracted text information.

[0748] Step 4:

[0749] Subject: Server

[0750] The server uses regular expressions to remove unnecessary information from the extracted text data, producing clean text data. The input is the extracted text information, and the output is the clean text with the unnecessary information removed.

[0751] Step 5:

[0752] Subject: Server

[0753] The server uses NLTK and spaCy to extract important keywords and phrases from clean text data by tokenizing, part-of-speech tagging, dependency parsing, and named entity recognition. The input is clean text data, and the output is important keywords and phrases.

[0754] Step 6:

[0755] Subject: Server

[0756] The server splits each item in the RFP and proposal into text data and calculates the similarity using a scoring algorithm such as Cosine Similarity. The calculated similarity scores are stored in a database on the server. The input is the text data of the RFP and proposal, and the output is the similarity score for each item.

[0757] Step 7:

[0758] Subject: Server

[0759] The server receives voice and text inputs to interface with the user. For voice inputs, it uses the Google Speech-to-Text API to convert the speech into text and generate input data for text analysis. The inputs are voice and text data, and the output is sentiment information in text format.

[0760] Step 8:

[0761] Subject: Server

[0762] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions and record the recognition results. The input is voice or text data, and the output is an analysis of the user's emotional state.

[0763] Step 9:

[0764] Subject: Server

[0765] The server automatically generates optimal presentation materials based on the scoring results and the user's sentiment analysis results. The materials are created using templates with the python-pptx library. The input is the scoring results and sentiment analysis results, and the output is the generated presentation materials.

[0766] Step 10:

[0767] Subject: Server

[0768] The server saves the generated presentation materials in a specified directory and notifies the user by email using the SMTP protocol to provide a download link. Access is managed using AWS S3's ACL function or a unique authentication system. The input is the generated presentation materials, and the output is the generation of a download link and a notification email.

[0769] This makes the entire system efficient and user-friendly, allowing users to quickly obtain presentation materials that are easy to understand.

[0770] (Application example 2)

[0771] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0772] The traditional process of creating presentation materials involves a lot of manual work, and the task of comparing the requirements specifications with the proposal is particularly time-consuming and labor-intensive. Furthermore, it is difficult to customize materials to suit the user's emotions and situation, which can lead to a lack of understanding and acceptance of the materials.

[0773] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, means for recognizing a user's emotions through voice input or facial expression recognition, and means for customizing the presentation materials based on the emotion recognition results. This makes it possible to efficiently generate optimal presentation materials according to the user's emotions, thereby improving work efficiency and the understanding of the materials.

[0774] "Data processing device" means a computer system for extracting, analyzing, and evaluating text information.

[0775] A "requirements specification" is a document that describes the specific requirements and specifications for a project or product.

[0776] A "proposal" is a document that describes a solution or proposal submitted based on a requirements specification.

[0777] "Text information" is character string data extracted from a document.

[0778] "Important keywords" are words or phrases extracted from text information that are considered to be particularly important for understanding the content of a document.

[0779] "Match" is an evaluation index that indicates how closely the requirements specifications and the proposal contents match.

[0780] "Presentation materials" are explanatory materials that summarize the contents of the requirements specification and proposal.

[0781] "Voice input" is a technology that recognizes a user's speech and converts it into text data.

[0782] "Facial expression recognition" is a technology that captures a user's facial expression using a camera or other device and determines their emotions based on that.

[0783] "Emotion recognition results" are data on the user's emotional state obtained based on voice input and facial expression recognition.

[0784] "Customization" means adjusting and optimizing the content and structure of presentation materials based on the results of user emotion recognition.

[0785] The present invention is a system that uses a data processing device to automatically analyze the contents of requirement specifications and proposals, generate optimal presentation materials based on them, and further adjust the contents by recognizing the user's emotions. Specifically, the system is implemented using the following hardware and software.

[0786] Hardware and software used

[0787] Hardware:

[0788] Factory robots (processors for real-time data analysis)

[0789] Camera (for acquiring image data)

[0790] Microphone (for voice input)

[0791] Smartphones, smart glasses, head-mounted displays

[0792] software:

[0793] OCR library (Tesseract OCR)

[0794] Natural language processing engine (spaCy)

[0795] Emotion Recognition Engine (Microsoft Azure Cognitive Services)

[0796] Presentation material generation engine (Python-PowerPoint)

[0797] Process Overview

[0798] The server first receives the requirement specification and proposal files from the user, and then extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, OCR technology is used to obtain the text.

[0799] The extracted text is then run through a natural language processing engine for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[0800] The server then compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[0801] Furthermore, the server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through voice input and facial expression recognition. This allows the server to recognize in real time how the user feels about the material.

[0802] Based on the scoring results and the user's emotion recognition results, the server generates optimal presentation materials. The presentation materials are created based on pre-prepared templates, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the materials based on the user's emotional state.

[0803] Example prompt

[0804] For example, when generating a presentation on equipment inspection for factory robots, the following prompt sentences are used:

[0805] Generate a summary presentation from the following inspection reports:

[0806] 1. Inspection Manual: {manual_text}

[0807] 2. Inspection Report: {report_text}

[0808] Consider the emotions derived from the sentiment analysis: {emotions_score}.

[0809] This allows users to efficiently evaluate proposals based on the requirements specifications and obtain optimal presentation materials that take into consideration the user's feelings. Utilizing factory robots will significantly improve work efficiency and the level of understanding of materials.

[0810] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0811] Step 1:

[0812] The server receives requirement specification and proposal files from users. The input is files in various formats such as PDF, Word, Excel, and text files, and is received via HTTP requests or file upload functions. The output is the received files themselves. Specifically, the user uploads a file, and the server saves the file in storage.

[0813] Step 2:

[0814] The server extracts text information from received files. The input is the received file, and a PDF parser, Word parser, or Excel parser is used. For image format files, OCR (Optical Character Recognition) technology is used to obtain the text. The output is the extracted text data. Specifically, an extraction tool is used to analyze each type of file and extract the text information.

[0815] Step 3:

[0816] The server analyzes the extracted text information using a natural language processing engine (e.g., spaCy). The input is the extracted text data, and it undergoes processes such as tokenization, part-of-speech tagging, dependency parsing, and named entity recognition. The output is the analyzed text data, from which important keywords and phrases have been extracted. Specifically, the server inputs the text data into the natural language processing engine and performs various analytical processes.

[0817] Step 4:

[0818] The server compares each item in the requirements specification with the contents of the proposal. The input is the analyzed text data of the requirements specification and the text data of the proposal, and the degree of match for each item is evaluated using a scoring algorithm such as Cosine Similarity. The output is a match score. Specifically, the server vectorizes the keywords in the requirements specification and proposal and calculates the similarity.

[0819] Step 5:

[0820] The server uses an emotion engine to recognize the user's emotions. The input is the user's voice data and facial expression images, which are analyzed using an emotion recognition engine such as Microsoft Azure Cognitive Services. The output is data indicating the user's emotional state. Specifically, the server inputs the voice data and images into the emotion recognition engine and obtains an emotion score.

[0821] Step 6:

[0822] The server generates optimal presentation materials based on the match scores and emotion recognition results. The input is the match scores and emotional state data, and the presentation materials are constructed using a presentation material generation engine (Python-PowerPoint). The output is the generated presentation materials. Specifically, the server arranges data according to a template and generates the materials.

[0823] Step 7:

[0824] The server saves the generated presentation materials in a specified directory and provides the user with a download link. The input is the generated presentation materials, which are saved in cloud storage. The output is a link to the saved presentation materials. As a specific example, the server uploads the materials to a directory on the cloud and sends the URL to the user by email.

[0825] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0826] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0827] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0828] [Third embodiment]

[0829] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0830] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[0831] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0833] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[0835] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0836] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0837] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0839] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0840] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0841] The present invention is a system that automatically analyzes the contents of an RFP (requirements document) and an RFP response (proposal) to generate optimal presentation materials. This system is specifically implemented as follows using a data processing device.

[0842] Data Import

[0843] Subject: Server

[0844] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares for appropriate analysis.

[0845] Text Extraction

[0846] Subject: Server

[0847] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[0848] Natural Language Processing

[0849] Subject: Server

[0850] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[0851] Match evaluation

[0852] Subject: Server

[0853] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are calculated as a score that indicates how well the parts of the RFP and proposal match.

[0854] Creating presentation materials

[0855] Subject: Server

[0856] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format, placing important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0857] Providing presentation materials

[0858] Subject: Server

[0859] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[0860] Specific examples

[0861] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of match and generates the most appropriate presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format.

[0862] In this way, the user can fairly and efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0863] The processing flow will be explained below.

[0864] Step 1: Data Ingestion

[0865] Subject: Server

[0866] The server receives the requirement specification and proposal files from the user. The user uses the file upload function to upload the files to a specified directory. At this time, the server receives the HTTP request and checks the file format. Supported formats include PDF, Word, Excel, and text files. If the format is inappropriate, the server returns an error message.

[0867] Step 2: Text extraction

[0868] Subject: Server

[0869] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser, Word parser, or Excel parser. The server uses the corresponding library (e.g., PyPDF2, python-docx, pandas, etc.) to extract text from each file. If the file is in image format, the server uses OCR (Optical Character Recognition) technology and an OCR engine such as Tesseract to extract text from the image.

[0870] Step 3: Text cleansing

[0871] Subject: Server

[0872] The server then cleans the extracted text, using regular expressions to filter out unnecessary elements such as headers, footers, page numbers, figure and table titles, etc. This process produces clean text suitable for analysis.

[0873] Step 4: Natural Language Processing

[0874] Subject: Server

[0875] The server parses the cleansed text to extract important keywords and phrases. It uses natural language processing libraries such as NLTK and spaCy to tokenize the text, tag parts of speech, and perform dependency parsing. It also uses named entity recognition (NER) to identify important entities such as company and product names.

[0876] Step 5: Match evaluation

[0877] Subject: Server

[0878] The server compares each item in the requirements specification with the contents of the proposal and performs matching. The server applies a scoring algorithm such as Cosine Similarity based on the keywords in each item to evaluate the degree of match for each item. The evaluation results are compiled as a score that indicates how well each part of the RFP and proposal matches.

[0879] Step 6: Build your presentation materials

[0880] Subject: Server

[0881] The server generates the optimal presentation materials within the specified number of pages based on the scoring results. The server loads a pre-prepared template and prepares the page layout of the presentation materials. Based on the evaluation results, important keywords and explanatory text are appropriately placed on each page. The server generates the materials in PowerPoint format using the python-pptx library.

[0882] Step 7: Save and share your presentation materials

[0883] Subject: Server

[0884] The server saves the generated presentation materials in a specified directory. It creates a link for users to download the presentation materials and notifies them by email. The server also manages access to the generated materials and manages logs to ensure that users can use the materials appropriately.

[0885] Through the above processing steps, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[0886] Example 1

[0887] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0888] Conventional methods require a great deal of time and effort to manually analyze the content of requirement specifications and proposals provided in various formats and create presentation materials. It is also difficult to accurately evaluate the degree of consistency between the content, which can result in inappropriate evaluation of proposals. Furthermore, there is a need for a method that allows users to easily access and use the generated presentation materials.

[0889] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0890] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, and means for saving the presentation materials in a specified directory and providing a download link to the user. This makes it possible to automatically analyze the contents of the requirements specification and the proposal, accurately evaluate the degree of match, and efficiently generate presentation materials to provide to the user.

[0891] A "data processing device" is a device that performs processes such as receiving, analyzing, and generating data, such as a computer or server.

[0892] A "requirements specification" is a document that lists detailed requirements and conditions for a project or product.

[0893] A "proposal" is a document that describes the solutions and proposals provided based on the requirements specification.

[0894] "Text information" is character string data extracted from a document, and is the information to be analyzed.

[0895] "Analysis" is the process of examining textual information in detail and extracting specific patterns or important elements.

[0896] "Important keywords" are words or phrases that are recognized as having particular meaning or value in text information.

[0897] "Degree of agreement" is an index for evaluating how well the requirements specifications and the proposal match.

[0898] "Presentation materials" are materials that visually summarize the analysis results of the requirements specifications and proposals in an easy-to-understand manner, and are mainly provided in slide or document format.

[0899] A "designated directory" is a predetermined location on a file system for saving presentation materials.

[0900] A "download link" is a URL or hyperlink that allows a user to easily obtain presentation materials saved in a specified directory.

[0901] The present invention is a system for automatically analyzing the contents of a requirements specification and a proposal, evaluating the degree of agreement, and generating optimal presentation materials. Specific embodiments of the present invention will be described below.

[0902] Data Import

[0903] Subject: Server

[0904] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. The server checks the format of the received file and prepares for the appropriate parsing. Specifically, it selects the appropriate toolchain by loading a PDF parser for PDF files and a Word parser for Word files.

[0905] Text Extraction

[0906] Subject: Server

[0907] The server extracts text information from each file it receives. It uses a PDF parser, Word parser, or Excel parser as appropriate to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to extract the text information using tools such as Tesseract.

[0908] Natural Language Processing

[0909] Subject: Server

[0910] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text, then uses a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and performs dependency parsing and named entity recognition to understand the context.

[0911] Match evaluation

[0912] Subject: Server

[0913] The server compares each item in the requirements specification with the contents of the proposal to perform matching. Scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. Specifically, TF-IDF vectorization is performed between the text of each RFP item and proposal item, and the similarity score is calculated using the Cosine Similarity function in the Sklearn library.

[0914] Creating presentation materials

[0915] Subject: Server

[0916] The server generates presentation materials in a template-based format based on the scoring results. It uses the Python-pptx library to generate slides and places important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[0917] Providing presentation materials

[0918] Subject: Server

[0919] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access control and log management to ensure users can use the materials appropriately.

[0920] Specific examples

[0921] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user in the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the requirements specification with the proposals to assess their degree of agreement and generates optimal presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format. In this way, the user can fairly and efficiently evaluate the proposals based on the requirements specification and obtain the optimal presentation materials.

[0922] Prompt Sentence Examples

[0923] "We need to evaluate multiple proposals for a new CRM system. Please generate the best presentation materials based on the RFP and proposals below.

[0924] CRM_System_RFP.pdf

[0925] Vendor1_CRM_Proposal.pdf

[0926] Vendor2_CRM_Proposal.pdf

[0927] Please provide generated materials in PowerPoint format."

[0928] In this way, the system of the present invention automatically analyzes the contents of requirement specifications and proposals, and provides an excellent means for efficiently and accurately generating and providing presentation materials.

[0929] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0930] Step 1:

[0931] Data Import

[0932] Subject: Server

[0933] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server saves the received files in a temporary directory, checks the file format, and prepares them for appropriate analysis.

[0934] Input: User uploaded files (PDF, Word, Excel, text, etc.)

[0935] Output: Files saved in the temporary directory and information about the file format.

[0936] Specific behavior:

[0937] A user logs in through a browser, selects a file using the file upload form, and clicks the upload button.

[0938] The server saves the received file in a temporary directory and checks the file format.

[0939] Step 2:

[0940] Text Extraction

[0941] Subject: Server

[0942] The server extracts text information from each file it receives: for PDF files it uses the PyPDF2 library, for Word files it uses the Python-docx library, for Excel files it uses openpyxl, and for image files it uses OCR technology (such as Tesseract).

[0943] Input: A file saved in the temporary directory

[0944] Output: Extracted text information

[0945] Specific behavior:

[0946] Using PyPDF2 to extract text from PDF files.

[0947] Using Python-docx to extract text from Word files.

[0948] Using openpyxl to extract text from an Excel file.

[0949] Extract text from image files using OCR technology (such as Tesseract).

[0950] Step 3:

[0951] Natural Language Processing

[0952] Subject: Server

[0953] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text. It then uses a natural language processing engine such as NLTK or spaCy to extract important keywords and phrases. It also performs dependency parsing and named entity recognition to understand the context.

[0954] Input: Extracted text information

[0955] Output: Clean text and important keywords and phrases

[0956] Specific behavior:

[0957] Use regular expressions to remove unnecessary information and produce clean text.

[0958] It uses NLTK and spaCy for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition.

[0959] Identify keywords and key phrases and understand their context.

[0960] Step 4:

[0961] Match evaluation

[0962] Subject: Server

[0963] The server compares each item in the requirements specification with the contents of the proposal to perform matching. First, it converts the text of each item into a TF-IDF vector and calculates a similarity score using the Cosine Similarity function in the Sklearn library. The degree of match is evaluated based on this score.

[0964] Input: Clean text and important keywords and phrases

[0965] Output: Match score

[0966] Specific behavior:

[0967] Convert the text of each RFP item and proposal item into a TF-IDF vector.

[0968] The similarity score is calculated using the Cosine Similarity function in the sklearn library.

[0969] Save the match score for each item in the requirements specification and proposal in list format.

[0970] Step 5:

[0971] Creating presentation materials

[0972] Subject: Server

[0973] The server generates presentation materials based on the scoring results. It uses the Python-pptx library to generate slides based on templates. It places important keywords and explanatory text on the appropriate pages, and the final materials are generated in PowerPoint or PDF format.

[0974] Input: Match score

[0975] Output: The generated presentation

[0976] Specific behavior:

[0977] Extract key points from the scoring results and embed the content into slides.

[0978] Use the Python-pptx library to generate slides and position content.

[0979] Generate the final presentation in PowerPoint or PDF format.

[0980] Step 6:

[0981] Providing presentation materials

[0982] Subject: Server

[0983] The server saves the generated presentation materials in a specified directory, sends the user an email with a link to download the materials, and performs access control and log management to ensure that users can use the materials appropriately.

[0984] Input: Generated presentation materials

[0985] Output: A link that users can download

[0986] Specific behavior:

[0987] Save the generated PowerPoint file in a specific directory on the server.

[0988] An automatically generated download link for the materials will be sent to the user's email address.

[0989] Record access logs for download links and manage access permissions.

[0990] (Application example 1)

[0991] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0992] Conventional presentation material generation systems require manual analysis of the requirements specifications and proposals and manual compilation of related information into presentation materials, which is time-consuming and labor-intensive. Therefore, there is a need to quickly extract important information and generate presentation materials efficiently. Furthermore, there is no way to efficiently analyze information from data sources within the factory and quickly generate reports and presentation materials in response to management requests, which hinders on-site efficiency.

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

[0994] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of agreement, means for receiving daily work reports or sensor data from a data source within the factory, means for extracting text information from the daily work reports or sensor data, means for analyzing the text information of the daily work reports or sensor data and extracting important keywords, means for evaluating the degree of agreement between the data source within the factory and a request from an upper management level, and means for generating presentation materials related to improving factory efficiency based on the degree of agreement. This not only enables efficient analysis of the requirements specification and proposal contents, extraction of important information, and automatic generation of presentation materials, but also enables efficient analysis of information from the data source within the factory to quickly respond to requests from management.

[0995] A "requirements specification" is a document that describes the requirements and functions required for a system or product.

[0996] A "proposal" is a document that describes the solution or technical approach that is offered in response to a requirements specification.

[0997] "Text information" refers to the text data of the content extracted from the file.

[0998] "Natural language processing" is a technology that uses computers to analyze human language and understand and extract meaning and structure.

[0999] "Important keywords" refer to words or phrases that are particularly meaningful in a document.

[1000] The "degree of agreement" is a numerical value that evaluates the degree of agreement between the requirements specification and the proposal or other document.

[1001] "Presentation materials" are slides or documents that visually summarize specific information or data in an easy-to-understand manner.

[1002] "In-factory data sources" refers to systems and devices that provide information such as daily work reports and sensor data within the factory.

[1003] A "daily work report" is a report that records the work content and progress within a factory.

[1004] "Sensor data" refers to data about the environment and equipment, such as temperature, humidity, and pressure, collected by sensors within the factory.

[1005] "Upper management requests" refers to specific information or reports requested by managers or executives.

[1006] This invention is a system that automatically analyzes the contents of RFPs (requirements documents) and proposals and generates optimal presentation materials. This system is implemented using a data processing device through the following steps.

[1007] Data Import

[1008] Subject: Server

[1009] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares them for appropriate analysis. It also receives daily work reports or sensor data from data sources within the factory.

[1010] Text Extraction

[1011] Subject: Server

[1012] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[1013] Natural Language Processing

[1014] Subject: Server

[1015] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[1016] Match evaluation

[1017] Subject: Server

[1018] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. The evaluation results are calculated as a score indicating how well the parts of the RFP and proposal match. The server also evaluates the degree of match between the data sources within the factory and the contents of the request from upper management.

[1019] Creating presentation materials

[1020] Subject: Server

[1021] The server generates presentation materials based on the scoring results. The materials are constructed in a template-based format, with important keywords and explanatory text placed on the appropriate pages. Presentation materials on factory efficiency are also generated in the same way. The final materials are generated in PowerPoint or PDF format.

[1022] Providing presentation materials

[1023] Subject: Server

[1024] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[1025] Specific examples

[1026] For example, let's say a factory manager receives proposals for a new automation system from multiple vendors. The system compares the proposals with the request for proposals (RFP), automatically extracts the most suitable proposal as a presentation document, and provides it to the manager. Furthermore, the system can analyze daily work reports and sensor data from within the factory, compare them with requests from upper management to evaluate the degree of match, and generate detailed presentation documents on efficiency improvements.

[1027] Prompt Sentence Examples

[1028] Compare the vendor's proposals with the required specifications and generate the optimal proposal as a presentation.

[1029] As described above, by using the present invention, it is possible not only to efficiently analyze the contents of requirement specifications and proposals, extract important information, and automatically generate presentation materials, but also to analyze information from data sources within the factory and quickly respond to requests from management.

[1030] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1031] Step 1:

[1032] Data Import

[1033] Subject: Server

[1034] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality and HTTP requests. It also receives daily work reports and sensor data from data sources within the factory. As a result, inputs are files uploaded by users and data provided by data sources within the factory, and outputs are the various files received by the server.

[1035] Step 2:

[1036] Text Extraction

[1037] Subject: Server

[1038] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR technology to obtain the text. The input is the received files, and the output is the extracted text information.

[1039] Step 3:

[1040] Natural Language Processing

[1041] Subject: Server

[1042] The server analyzes the extracted text. First, it uses regular expressions to remove unnecessary information and generate clean text. Then it uses a natural language processing engine (such as NLTK or spaCy) to extract important keywords and phrases. It then performs dependency parsing and named entity recognition to understand the context. The input is the extracted text information, and the output is the analysis results, including important keywords and phrases.

[1043] Step 4:

[1044] Match evaluation

[1045] Subject: Server

[1046] The server compares each item in the requirements specification with the contents of the proposal to perform matching. It also compares data sources within the factory with the request content from upper management. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are output as a numerical score representing the degree of match between the requirements specification and the proposal, or between the on-site data and the request content. The input is the analyzed keywords or phrases, and the output is a match evaluation score.

[1047] Step 5:

[1048] Creating presentation materials

[1049] Subject: Server

[1050] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format and places important keywords and explanatory text on the appropriate pages. It also generates presentation materials on factory efficiency in a similar way. The inputs are the match evaluation scores and analyzed keywords and phrases, and the output is the final presentation materials (in PowerPoint or PDF format).

[1051] Step 6:

[1052] Providing presentation materials

[1053] Subject: Server

[1054] The server saves the generated presentation materials in a specified directory. It then sends the user an email with a link to download the generated materials. It also performs access management and log management to ensure that users can use the materials appropriately. The input is the generated presentation materials, and the output is a download link for the user and an access log.

[1055] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1056] The present invention is a system that automatically analyzes the contents of an RFP (requirements specification) and an RFP response (proposal), generates optimal presentation materials based on the analysis, and further adjusts the contents by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[1057] Data ingestion and text extraction

[1058] Subject: Server

[1059] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. It extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[1060] Natural language processing and keyword extraction

[1061] Subject: Server

[1062] The extracted text is then purified using regular expressions to produce clean text, after which a natural language processing engine (e.g., NLTK or spaCy) is used to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[1063] Match evaluation

[1064] Subject: Server

[1065] The server compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[1066] emotion recognition

[1067] Subject: Server

[1068] The server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through text analysis and voice analysis, allowing it to recognize in real time how the user feels about the material.

[1069] Building and customizing presentation materials

[1070] Subject: Server

[1071] The server generates an optimal presentation of the specified number of pages based on the scoring results and the user's emotion recognition results. The presentation is created based on a pre-prepared template, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the presentation based on the user's emotional state. For example, if the user is feeling anxious, the content of the presentation can be adjusted to provide more detailed explanations to help the user understand.

[1072] Saving and providing presentation materials

[1073] Subject: Server

[1074] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is created and sent to the user via email. The server also manages access to the materials and manages logs to help users use the materials appropriately.

[1075] Specific examples

[1076] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of agreement and generates an optimal presentation based on the results. Furthermore, it uses an emotion engine to recognize the user's emotions. For example, if the user feels uneasy about the proposal, it adjusts the presentation content to provide more detail. The final presentation is generated in PowerPoint format and provided to the user.

[1077] In this way, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials that take into consideration the user's feelings.

[1078] The processing flow will be explained below.

[1079] Step 1: Data Ingestion

[1080] Subject: Server

[1081] The server receives requirement specification and proposal files from the user. The user uses a web interface to upload files in formats such as PDF, Word, Excel, and text files. The server receives the HTTP request and validates the file format. If the format is supported, the server saves the file in a specified directory; if the format is not supported, it returns an error message.

[1082] Step 2: Text extraction

[1083] Subject: Server

[1084] The server extracts text information from each file it receives. Depending on the file format, it uses a PDF parser (e.g., PyPDF2), a Word parser (python-docx), or an Excel parser (pandas). If the file is an image, it uses OCR (Optical Character Recognition) technology to extract the text using an engine like Tesseract.

[1085] Step 3: Text cleansing

[1086] Subject: Server

[1087] The extracted text data often contains noise, so the server uses regular expressions to remove these unwanted elements, specifically filtering out information such as headers, footers, page numbers, and figure and table titles, to produce clean text.

[1088] Step 4: Natural Language Processing

[1089] Subject: Server

[1090] The server analyzes the cleansed text, first using a natural language processing engine (NLTK or spaCy) to tokenize the text, tag it with parts of speech, perform dependency parsing, and then use named entity recognition (NER) to identify important entities such as company names, people's names, and place names, and extract important keywords and phrases.

[1091] Step 5: Emotion Recognition

[1092] Subject: Server

[1093] The server recognizes the user's emotions using an emotion engine that analyzes the user's input text and voice data to identify their state of mind, using text analysis to identify positive or negative emotions and voice analysis to detect emotions such as tension, excitement, or anxiety.

[1094] Step 6: Match evaluation

[1095] Subject: Server

[1096] The server compares each item in the requirements specification with the contents of the proposal and performs matching. Specifically, it calculates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The scoring results are provided as a numerical value indicating which parts of the RFP and proposal match to what extent.

[1097] Step 7: Build and customize your presentation

[1098] Subject: Server

[1099] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The presentation materials are constructed based on templates, with important keywords and explanatory text placed on designated pages. Furthermore, the content and structure of the materials are dynamically adjusted according to the user's emotional state. For example, if the user is feeling anxious, the server will add more detailed explanations to the materials and modify the content to make them easier for the user to understand.

[1100] Step 8: Save and share your presentation materials

[1101] Subject: Server

[1102] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is generated and sent to the user via email. Access control and log management are implemented to help users access the materials safely and efficiently.

[1103] As a concrete example, suppose a company is considering implementing a new CRM system and has received proposals from multiple vendors. A person in charge (user) at this company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts, cleanses, and analyzes the text information, and extracts important keywords. It then compares the contents of the RFP and proposals, evaluates their degree of agreement, and generates optimal presentation materials based on the evaluation results. It uses an emotion engine to recognize the user's emotions, adjusts the content of the materials appropriately, and presents the materials in a format that is most understandable to the user.

[1104] Example 2

[1105] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1106] In conventional systems, evaluating the degree of agreement between the requirements specification and the proposal required a lot of manual work, which was time-consuming and labor-intensive.In addition, because the presentation materials were generated without taking the user's feelings into consideration, there was also the issue of being unable to flexibly respond to the user's needs and circumstances.

[1107] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for recognizing user emotions, and means for generating presentation materials based on the degree of match and the user emotions. This enables automatic analysis of the requirements specification and the proposal and evaluation of the degree of match, and further enables automatic generation of optimal presentation materials taking user emotions into consideration.

[1108] A "data processing device" is a computer system that analyzes electronic documents such as requirements specifications and proposals, extracts text information and keywords, and evaluates the degree of match.

[1109] A "requirements specification" is a document that details the requirements and specifications for a specific task or project. A proposal is created based on this.

[1110] A "proposal" is a document that details a proposed solution or plan based on the requirements specification.

[1111] "Text information" refers to character string data extracted from electronic documents. This data is the subject of analysis.

[1112] "Keywords" are important words or phrases extracted from text information that represent the content of a document.

[1113] "Conformance" is an index that shows how closely the requirements specifications and the proposal contents match. It is usually expressed as a score.

[1114] "Emotion" refers to the psychological state that a user has toward a presentation material. This emotion is recognized using the emotion engine.

[1115] "Presentation materials" are explanatory materials generated based on the requirements specifications, proposal contents, and user emotion recognition results. They are primarily provided in slide format.

[1116] A "template" is a format with a predefined layout and design that serves as the basis for creating presentation materials.

[1117] An "emotion engine" is a computer algorithm or system that analyzes emotions from a user's voice or text and recognizes their psychological state.

[1118] The present invention is a system that automatically analyzes the contents of a request for proposal (RFP) and a proposal, generates optimal presentation materials based on them, and further adjusts the contents of the materials by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[1119] Data ingestion and text extraction

[1120] Subject: Server

[1121] The server receives RFP and proposal files uploaded by users. Supported file formats include PDF, Word, Excel, and text files, and users send these files to the server via the file upload function or HTTP request. If the received file is in PDF format, text is extracted using PyPDF2 or pdfminer. If the file is in Word format, text is extracted using python-docx, and if it is in Excel format, text is extracted using openpyxl or pandas. If the file is provided in image format, text is extracted from the image using OCR technology such as Tesseract.

[1122] Natural language processing and keyword extraction

[1123] Subject: Server

[1124] The server uses regular expressions to remove unnecessary information from the extracted text data, and then uses natural language processing engines such as NLTK or spaCy to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition on the clean text data to extract important keywords and phrases.

[1125] Match evaluation

[1126] Subject: Server

[1127] To compare each item in the RFP and proposal individually, the server first splits them into text data. Then, it calculates the similarity between each item using a scoring algorithm such as Cosine Similarity. This similarity score is stored in a database on the server and presented to users via a visualization tool.

[1128] emotion recognition

[1129] Subject: Server

[1130] The server receives voice and text input to interface with the user. For voice input, it converts the speech to text using Google Speech-to-Text API or Microsoft Azure Cognitive Services. To analyze the text data, the server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions. The recognition results are used to adjust the presentation materials.

[1131] Building and customizing presentation materials

[1132] Subject: Server

[1133] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The materials are automatically generated using pre-prepared templates and the python-pptx library. For example, important keywords and graphs are placed on slides, and if the user feels anxious, a more detailed explanation slide is added.

[1134] Saving and providing presentation materials

[1135] Subject: Server

[1136] The generated presentation materials are saved in a specified directory on the server. The server generates a download link for the materials and notifies the user of this by email. The SMTP protocol is used to send the email. In addition, the server uses AWS S3's ACL function and its own authentication system for access management to ensure appropriate use of the materials.

[1137] Specific examples

[1138] For example, consider the process of a company considering implementing a new CRM system uploading an RFP called "CRM_System_RFP.pdf" and proposals called "Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf" to a server. The server receives these files and extracts the text using PyPDF2 and Tesseract. It then uses spaCy to extract important keywords and phrases. It then compares the RFP and proposals using cosine similarity and calculates a match score. It then uses IBM Watson Tone Analyzer to recognize the sentiment of the person in charge and adds a detailed explanatory slide if there are any concerns. Finally, the PowerPoint presentation generated using python-pptx is saved in a specified folder and a download link is sent via email.

[1139] In this way, the user can efficiently evaluate the proposal contents corresponding to the RFP and obtain optimal presentation materials that take into consideration emotions.

[1140] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1141] Step 1:

[1142] Subject: User

[1143] Users upload RFP and proposal documents to the server, and input file formats such as PDF, Word, Excel, and text files are supported.

[1144] Step 2:

[1145] Subject: Server

[1146] The server receives the uploaded file. Specifically, it uses HTTP request or SFTP protocol and saves the file in a specified directory on the server. The input is the requirement specification and proposal file sent by the user. The output is the directory path where the received file is saved.

[1147] Step 3:

[1148] Subject: Server

[1149] The server extracts text information from the received file. For PDF files, it uses PyPDF2 or pdfminer, for Word files it uses python-docx, and for Excel files it uses openpyxl or pandas. If the file is an image, it uses Tesseract for OCR. The input is the saved file path, and the output is the extracted text information.

[1150] Step 4:

[1151] Subject: Server

[1152] The server uses regular expressions to remove unnecessary information from the extracted text data, producing clean text data. The input is the extracted text information, and the output is the clean text with the unnecessary information removed.

[1153] Step 5:

[1154] Subject: Server

[1155] The server uses NLTK and spaCy to extract important keywords and phrases from clean text data by tokenizing, part-of-speech tagging, dependency parsing, and named entity recognition. The input is clean text data, and the output is important keywords and phrases.

[1156] Step 6:

[1157] Subject: Server

[1158] The server splits each item in the RFP and proposal into text data and calculates the similarity using a scoring algorithm such as Cosine Similarity. The calculated similarity scores are stored in a database on the server. The input is the text data of the RFP and proposal, and the output is the similarity score for each item.

[1159] Step 7:

[1160] Subject: Server

[1161] The server receives voice and text inputs to interface with the user. For voice inputs, it uses the Google Speech-to-Text API to convert the speech into text and generate input data for text analysis. The inputs are voice and text data, and the output is sentiment information in text format.

[1162] Step 8:

[1163] Subject: Server

[1164] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions and record the recognition results. The input is voice or text data, and the output is an analysis of the user's emotional state.

[1165] Step 9:

[1166] Subject: Server

[1167] The server automatically generates optimal presentation materials based on the scoring results and the user's sentiment analysis results. The materials are created using templates with the python-pptx library. The input is the scoring results and sentiment analysis results, and the output is the generated presentation materials.

[1168] Step 10:

[1169] Subject: Server

[1170] The server saves the generated presentation materials in a specified directory and notifies the user by email using the SMTP protocol to provide a download link. Access is managed using AWS S3's ACL function or a unique authentication system. The input is the generated presentation materials, and the output is the generation of a download link and a notification email.

[1171] This makes the entire system efficient and user-friendly, allowing users to quickly obtain presentation materials that are easy to understand.

[1172] (Application example 2)

[1173] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1174] The traditional process of creating presentation materials involves a lot of manual work, and the task of comparing the requirements specifications with the proposal is particularly time-consuming and labor-intensive. Furthermore, it is difficult to customize materials to suit the user's emotions and situation, which can lead to a lack of understanding and acceptance of the materials.

[1175] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, means for recognizing a user's emotions through voice input or facial expression recognition, and means for customizing the presentation materials based on the emotion recognition results. This makes it possible to efficiently generate optimal presentation materials according to the user's emotions, thereby improving work efficiency and the understanding of the materials.

[1176] "Data processing device" means a computer system for extracting, analyzing, and evaluating text information.

[1177] A "requirements specification" is a document that describes the specific requirements and specifications for a project or product.

[1178] A "proposal" is a document that describes a solution or proposal submitted based on a requirements specification.

[1179] "Text information" is character string data extracted from a document.

[1180] "Important keywords" are words or phrases extracted from text information that are considered to be particularly important for understanding the content of a document.

[1181] "Match" is an evaluation index that indicates how closely the requirements specifications and the proposal contents match.

[1182] "Presentation materials" are explanatory materials that summarize the contents of the requirements specification and proposal.

[1183] "Voice input" is a technology that recognizes a user's speech and converts it into text data.

[1184] "Facial expression recognition" is a technology that captures a user's facial expression using a camera or other device and determines their emotions based on that.

[1185] "Emotion recognition results" are data on the user's emotional state obtained based on voice input and facial expression recognition.

[1186] "Customization" means adjusting and optimizing the content and structure of presentation materials based on the results of user emotion recognition.

[1187] The present invention is a system that uses a data processing device to automatically analyze the contents of requirement specifications and proposals, generate optimal presentation materials based on them, and further adjust the contents by recognizing the user's emotions. Specifically, the system is implemented using the following hardware and software.

[1188] Hardware and software used

[1189] Hardware:

[1190] Factory robots (processors for real-time data analysis)

[1191] Camera (for acquiring image data)

[1192] Microphone (for voice input)

[1193] Smartphones, smart glasses, head-mounted displays

[1194] software:

[1195] OCR library (Tesseract OCR)

[1196] Natural language processing engine (spaCy)

[1197] Emotion Recognition Engine (Microsoft Azure Cognitive Services)

[1198] Presentation material generation engine (Python-PowerPoint)

[1199] Process Overview

[1200] The server first receives the requirement specification and proposal files from the user, and then extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, OCR technology is used to obtain the text.

[1201] The extracted text is then run through a natural language processing engine for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[1202] The server then compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[1203] Furthermore, the server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through voice input and facial expression recognition. This allows the server to recognize in real time how the user feels about the material.

[1204] Based on the scoring results and the user's emotion recognition results, the server generates optimal presentation materials. The presentation materials are created based on pre-prepared templates, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the materials based on the user's emotional state.

[1205] Example prompt

[1206] For example, when generating a presentation on equipment inspection for factory robots, the following prompt sentences are used:

[1207] Generate a summary presentation from the following inspection reports:

[1208] 1. Inspection Manual: {manual_text}

[1209] 2. Inspection Report: {report_text}

[1210] Consider the emotions derived from the sentiment analysis: {emotions_score}.

[1211] This allows users to efficiently evaluate proposals based on the requirements specifications and obtain optimal presentation materials that take into consideration the user's feelings. Utilizing factory robots will significantly improve work efficiency and the level of understanding of materials.

[1212] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1213] Step 1:

[1214] The server receives requirement specification and proposal files from users. The input is files in various formats such as PDF, Word, Excel, and text files, and is received via HTTP requests or file upload functions. The output is the received files themselves. Specifically, the user uploads a file, and the server saves the file in storage.

[1215] Step 2:

[1216] The server extracts text information from received files. The input is the received file, and a PDF parser, Word parser, or Excel parser is used. For image format files, OCR (Optical Character Recognition) technology is used to obtain the text. The output is the extracted text data. Specifically, an extraction tool is used to analyze each type of file and extract the text information.

[1217] Step 3:

[1218] The server analyzes the extracted text information using a natural language processing engine (e.g., spaCy). The input is the extracted text data, and it undergoes processes such as tokenization, part-of-speech tagging, dependency parsing, and named entity recognition. The output is the analyzed text data, from which important keywords and phrases have been extracted. Specifically, the server inputs the text data into the natural language processing engine and performs various analytical processes.

[1219] Step 4:

[1220] The server compares each item in the requirements specification with the contents of the proposal. The input is the analyzed text data of the requirements specification and the text data of the proposal, and the degree of match for each item is evaluated using a scoring algorithm such as Cosine Similarity. The output is a match score. Specifically, the server vectorizes the keywords in the requirements specification and proposal and calculates the similarity.

[1221] Step 5:

[1222] The server uses an emotion engine to recognize the user's emotions. The input is the user's voice data and facial expression images, which are analyzed using an emotion recognition engine such as Microsoft Azure Cognitive Services. The output is data indicating the user's emotional state. Specifically, the server inputs the voice data and images into the emotion recognition engine and obtains an emotion score.

[1223] Step 6:

[1224] The server generates optimal presentation materials based on the match scores and emotion recognition results. The input is the match scores and emotional state data, and the presentation materials are constructed using a presentation material generation engine (Python-PowerPoint). The output is the generated presentation materials. Specifically, the server arranges data according to a template and generates the materials.

[1225] Step 7:

[1226] The server saves the generated presentation materials in a specified directory and provides the user with a download link. The input is the generated presentation materials, which are saved in cloud storage. The output is a link to the saved presentation materials. As a specific example, the server uploads the materials to a directory on the cloud and sends the URL to the user by email.

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

[1228] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[1230] [Fourth embodiment]

[1231] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1232] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1233] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1234] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1235] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[1237] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1238] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1239] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1240] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[1242] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

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

[1244] The present invention is a system that automatically analyzes the contents of an RFP (requirements document) and an RFP response (proposal) to generate optimal presentation materials. This system is specifically implemented as follows using a data processing device.

[1245] Data Import

[1246] Subject: Server

[1247] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares for appropriate analysis.

[1248] Text Extraction

[1249] Subject: Server

[1250] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[1251] Natural Language Processing

[1252] Subject: Server

[1253] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[1254] Match evaluation

[1255] Subject: Server

[1256] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are calculated as a score that indicates how well the parts of the RFP and proposal match.

[1257] Creating presentation materials

[1258] Subject: Server

[1259] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format, placing important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[1260] Providing presentation materials

[1261] Subject: Server

[1262] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[1263] Specific examples

[1264] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of match and generates the most appropriate presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format.

[1265] In this way, the user can fairly and efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[1266] The processing flow will be explained below.

[1267] Step 1: Data Ingestion

[1268] Subject: Server

[1269] The server receives the requirement specification and proposal files from the user. The user uses the file upload function to upload the files to a specified directory. At this time, the server receives the HTTP request and checks the file format. Supported formats include PDF, Word, Excel, and text files. If the format is inappropriate, the server returns an error message.

[1270] Step 2: Text extraction

[1271] Subject: Server

[1272] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser, Word parser, or Excel parser. The server uses the corresponding library (e.g., PyPDF2, python-docx, pandas, etc.) to extract text from each file. If the file is in image format, the server uses OCR (Optical Character Recognition) technology and an OCR engine such as Tesseract to extract text from the image.

[1273] Step 3: Text cleansing

[1274] Subject: Server

[1275] The server then cleans the extracted text, using regular expressions to filter out unnecessary elements such as headers, footers, page numbers, figure and table titles, etc. This process produces clean text suitable for analysis.

[1276] Step 4: Natural Language Processing

[1277] Subject: Server

[1278] The server parses the cleansed text to extract important keywords and phrases. It uses natural language processing libraries such as NLTK and spaCy to tokenize the text, tag parts of speech, and perform dependency parsing. It also uses named entity recognition (NER) to identify important entities such as company and product names.

[1279] Step 5: Match evaluation

[1280] Subject: Server

[1281] The server compares each item in the requirements specification with the contents of the proposal and performs matching. The server applies a scoring algorithm such as Cosine Similarity based on the keywords in each item to evaluate the degree of match for each item. The evaluation results are compiled as a score that indicates how well each part of the RFP and proposal matches.

[1282] Step 6: Build your presentation materials

[1283] Subject: Server

[1284] The server generates the optimal presentation materials within the specified number of pages based on the scoring results. The server loads a pre-prepared template and prepares the page layout of the presentation materials. Based on the evaluation results, important keywords and explanatory text are appropriately placed on each page. The server generates the materials in PowerPoint format using the python-pptx library.

[1285] Step 7: Save and share your presentation materials

[1286] Subject: Server

[1287] The server saves the generated presentation materials in a specified directory. It creates a link for users to download the presentation materials and notifies them by email. The server also manages access to the generated materials and manages logs to ensure that users can use the materials appropriately.

[1288] Through the above processing steps, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials.

[1289] Example 1

[1290] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1291] Conventional methods require a great deal of time and effort to manually analyze the content of requirement specifications and proposals provided in various formats and create presentation materials. It is also difficult to accurately evaluate the degree of consistency between the content, which can result in inappropriate evaluation of proposals. Furthermore, there is a need for a method that allows users to easily access and use the generated presentation materials.

[1292] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1293] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, and means for saving the presentation materials in a specified directory and providing a download link to the user. This makes it possible to automatically analyze the contents of the requirements specification and the proposal, accurately evaluate the degree of match, and efficiently generate presentation materials to provide to the user.

[1294] A "data processing device" is a device that performs processes such as receiving, analyzing, and generating data, such as a computer or server.

[1295] A "requirements specification" is a document that lists detailed requirements and conditions for a project or product.

[1296] A "proposal" is a document that describes the solutions and proposals provided based on the requirements specification.

[1297] "Text information" is character string data extracted from a document, and is the information to be analyzed.

[1298] "Analysis" is the process of examining textual information in detail and extracting specific patterns or important elements.

[1299] "Important keywords" are words or phrases that are recognized as having particular meaning or value in text information.

[1300] "Degree of agreement" is an index for evaluating how well the requirements specifications and the proposal match.

[1301] "Presentation materials" are materials that visually summarize the analysis results of the requirements specifications and proposals in an easy-to-understand manner, and are mainly provided in slide or document format.

[1302] A "designated directory" is a predetermined location on a file system for saving presentation materials.

[1303] A "download link" is a URL or hyperlink that allows a user to easily obtain presentation materials saved in a specified directory.

[1304] The present invention is a system for automatically analyzing the contents of a requirements specification and a proposal, evaluating the degree of agreement, and generating optimal presentation materials. Specific embodiments of the present invention will be described below.

[1305] Data Import

[1306] Subject: Server

[1307] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. The server checks the format of the received file and prepares for the appropriate parsing. Specifically, it selects the appropriate toolchain by loading a PDF parser for PDF files and a Word parser for Word files.

[1308] Text Extraction

[1309] Subject: Server

[1310] The server extracts text information from each file it receives. It uses a PDF parser, Word parser, or Excel parser as appropriate to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to extract the text information using tools such as Tesseract.

[1311] Natural Language Processing

[1312] Subject: Server

[1313] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text, then uses a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and performs dependency parsing and named entity recognition to understand the context.

[1314] Match evaluation

[1315] Subject: Server

[1316] The server compares each item in the requirements specification with the contents of the proposal to perform matching. Scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. Specifically, TF-IDF vectorization is performed between the text of each RFP item and proposal item, and the similarity score is calculated using the Cosine Similarity function in the Sklearn library.

[1317] Creating presentation materials

[1318] Subject: Server

[1319] The server generates presentation materials in a template-based format based on the scoring results. It uses the Python-pptx library to generate slides and places important keywords and explanatory text on the appropriate pages. The final materials are generated in PowerPoint or PDF format.

[1320] Providing presentation materials

[1321] Subject: Server

[1322] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access control and log management to ensure users can use the materials appropriately.

[1323] Specific examples

[1324] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user in the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the requirements specification with the proposals to assess their degree of agreement and generates optimal presentation materials based on the evaluation results. The generated materials are then provided to the user in PowerPoint format. In this way, the user can fairly and efficiently evaluate the proposals based on the requirements specification and obtain the optimal presentation materials.

[1325] Prompt Sentence Examples

[1326] "We need to evaluate multiple proposals for a new CRM system. Please generate the best presentation materials based on the RFP and proposals below.

[1327] CRM_System_RFP.pdf

[1328] Vendor1_CRM_Proposal.pdf

[1329] Vendor2_CRM_Proposal.pdf

[1330] Please provide generated materials in PowerPoint format."

[1331] In this way, the system of the present invention automatically analyzes the contents of requirement specifications and proposals, and provides an excellent means for efficiently and accurately generating and providing presentation materials.

[1332] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1333] Step 1:

[1334] Data Import

[1335] Subject: Server

[1336] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server saves the received files in a temporary directory, checks the file format, and prepares them for appropriate analysis.

[1337] Input: User uploaded files (PDF, Word, Excel, text, etc.)

[1338] Output: Files saved in the temporary directory and information about the file format.

[1339] Specific behavior:

[1340] A user logs in through a browser, selects a file using the file upload form, and clicks the upload button.

[1341] The server saves the received file in a temporary directory and checks the file format.

[1342] Step 2:

[1343] Text Extraction

[1344] Subject: Server

[1345] The server extracts text information from each file it receives: for PDF files it uses the PyPDF2 library, for Word files it uses the Python-docx library, for Excel files it uses openpyxl, and for image files it uses OCR technology (such as Tesseract).

[1346] Input: A file saved in the temporary directory

[1347] Output: Extracted text information

[1348] Specific behavior:

[1349] Using PyPDF2 to extract text from PDF files.

[1350] Using Python-docx to extract text from Word files.

[1351] Using openpyxl to extract text from an Excel file.

[1352] Extract text from image files using OCR technology (such as Tesseract).

[1353] Step 3:

[1354] Natural Language Processing

[1355] Subject: Server

[1356] The server analyzes the extracted text, using regular expressions to remove unnecessary information and generate clean text. It then uses a natural language processing engine such as NLTK or spaCy to extract important keywords and phrases. It also performs dependency parsing and named entity recognition to understand the context.

[1357] Input: Extracted text information

[1358] Output: Clean text and important keywords and phrases

[1359] Specific behavior:

[1360] Use regular expressions to remove unnecessary information and produce clean text.

[1361] It uses NLTK and spaCy for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition.

[1362] Identify keywords and key phrases and understand their context.

[1363] Step 4:

[1364] Match evaluation

[1365] Subject: Server

[1366] The server compares each item in the requirements specification with the contents of the proposal to perform matching. First, it converts the text of each item into a TF-IDF vector and calculates a similarity score using the Cosine Similarity function in the Sklearn library. The degree of match is evaluated based on this score.

[1367] Input: Clean text and important keywords and phrases

[1368] Output: Match score

[1369] Specific behavior:

[1370] Convert the text of each RFP item and proposal item into a TF-IDF vector.

[1371] The similarity score is calculated using the Cosine Similarity function in the sklearn library.

[1372] Save the match score for each item in the requirements specification and proposal in list format.

[1373] Step 5:

[1374] Creating presentation materials

[1375] Subject: Server

[1376] The server generates presentation materials based on the scoring results. It uses the Python-pptx library to generate slides based on templates. It places important keywords and explanatory text on the appropriate pages, and the final materials are generated in PowerPoint or PDF format.

[1377] Input: Match score

[1378] Output: The generated presentation

[1379] Specific behavior:

[1380] Extract key points from the scoring results and embed the content into slides.

[1381] Use the Python-pptx library to generate slides and position content.

[1382] Generate the final presentation in PowerPoint or PDF format.

[1383] Step 6:

[1384] Providing presentation materials

[1385] Subject: Server

[1386] The server saves the generated presentation materials in a specified directory, sends the user an email with a link to download the materials, and performs access control and log management to ensure that users can use the materials appropriately.

[1387] Input: Generated presentation materials

[1388] Output: A link that users can download

[1389] Specific behavior:

[1390] Save the generated PowerPoint file in a specific directory on the server.

[1391] An automatically generated download link for the materials will be sent to the user's email address.

[1392] Record access logs for download links and manage access permissions.

[1393] (Application example 1)

[1394] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1395] Conventional presentation material generation systems require manual analysis of the requirements specifications and proposals and manual compilation of related information into presentation materials, which is time-consuming and labor-intensive. Therefore, there is a need to quickly extract important information and generate presentation materials efficiently. Furthermore, there is no way to efficiently analyze information from data sources within the factory and quickly generate reports and presentation materials in response to management requests, which hinders on-site efficiency.

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

[1397] In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of agreement, means for receiving daily work reports or sensor data from a data source within the factory, means for extracting text information from the daily work reports or sensor data, means for analyzing the text information of the daily work reports or sensor data and extracting important keywords, means for evaluating the degree of agreement between the data source within the factory and a request from an upper management level, and means for generating presentation materials related to improving factory efficiency based on the degree of agreement. This not only enables efficient analysis of the requirements specification and proposal contents, extraction of important information, and automatic generation of presentation materials, but also enables efficient analysis of information from the data source within the factory to quickly respond to requests from management.

[1398] A "requirements specification" is a document that describes the requirements and functions required for a system or product.

[1399] A "proposal" is a document that describes the solution or technical approach that is offered in response to a requirements specification.

[1400] "Text information" refers to the text data of the content extracted from the file.

[1401] "Natural language processing" is a technology that uses computers to analyze human language and understand and extract meaning and structure.

[1402] "Important keywords" refer to words or phrases that are particularly meaningful in a document.

[1403] The "degree of agreement" is a numerical value that evaluates the degree of agreement between the requirements specification and the proposal or other document.

[1404] "Presentation materials" are slides or documents that visually summarize specific information or data in an easy-to-understand manner.

[1405] "In-factory data sources" refers to systems and devices that provide information such as daily work reports and sensor data within the factory.

[1406] A "daily work report" is a report that records the work content and progress within a factory.

[1407] "Sensor data" refers to data about the environment and equipment, such as temperature, humidity, and pressure, collected by sensors within the factory.

[1408] "Upper management requests" refers to specific information or reports requested by managers or executives.

[1409] This invention is a system that automatically analyzes the contents of RFPs (requirements documents) and proposals and generates optimal presentation materials. This system is implemented using a data processing device through the following steps.

[1410] Data Import

[1411] Subject: Server

[1412] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload or HTTP requests. The server also checks the format of the received files and prepares them for appropriate analysis. It also receives daily work reports or sensor data from data sources within the factory.

[1413] Text Extraction

[1414] Subject: Server

[1415] The server extracts text information from the received file. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[1416] Natural Language Processing

[1417] Subject: Server

[1418] The server then analyzes the extracted text, first using regular expressions to remove unnecessary information and generate clean text, then using a natural language processing engine (e.g., NLTK or spaCy) to extract important keywords and phrases, and then performing dependency parsing and named entity recognition to understand the context.

[1419] Match evaluation

[1420] Subject: Server

[1421] The server compares each item in the RFP (requirements document) with the contents of the proposal to perform matching. During this process, scoring algorithms such as Cosine Similarity are used to evaluate the degree of match for each item. The evaluation results are calculated as a score indicating how well the parts of the RFP and proposal match. The server also evaluates the degree of match between the data sources within the factory and the contents of the request from upper management.

[1422] Creating presentation materials

[1423] Subject: Server

[1424] The server generates presentation materials based on the scoring results. The materials are constructed in a template-based format, with important keywords and explanatory text placed on the appropriate pages. Presentation materials on factory efficiency are also generated in the same way. The final materials are generated in PowerPoint or PDF format.

[1425] Providing presentation materials

[1426] Subject: Server

[1427] The server saves the generated presentation materials in a specified directory. It then sends users an email with a link to download the materials. It also performs access management and log management to ensure users can use the materials appropriately.

[1428] Specific examples

[1429] For example, let's say a factory manager receives proposals for a new automation system from multiple vendors. The system compares the proposals with the request for proposals (RFP), automatically extracts the most suitable proposal as a presentation document, and provides it to the manager. Furthermore, the system can analyze daily work reports and sensor data from within the factory, compare them with requests from upper management to evaluate the degree of match, and generate detailed presentation documents on efficiency improvements.

[1430] Prompt Sentence Examples

[1431] Compare the vendor's proposals with the required specifications and generate the optimal proposal as a presentation.

[1432] As described above, by using the present invention, it is possible not only to efficiently analyze the contents of requirement specifications and proposals, extract important information, and automatically generate presentation materials, but also to analyze information from data sources within the factory and quickly respond to requests from management.

[1433] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1434] Step 1:

[1435] Data Import

[1436] Subject: Server

[1437] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality and HTTP requests. It also receives daily work reports and sensor data from data sources within the factory. As a result, inputs are files uploaded by users and data provided by data sources within the factory, and outputs are the various files received by the server.

[1438] Step 2:

[1439] Text Extraction

[1440] Subject: Server

[1441] The server extracts text information from the received files. Depending on the file format, it uses a PDF parser or a Word parser to extract the text. If the file is in image format, it uses OCR technology to obtain the text. The input is the received files, and the output is the extracted text information.

[1442] Step 3:

[1443] Natural Language Processing

[1444] Subject: Server

[1445] The server analyzes the extracted text. First, it uses regular expressions to remove unnecessary information and generate clean text. Then it uses a natural language processing engine (such as NLTK or spaCy) to extract important keywords and phrases. It then performs dependency parsing and named entity recognition to understand the context. The input is the extracted text information, and the output is the analysis results, including important keywords and phrases.

[1446] Step 4:

[1447] Match evaluation

[1448] Subject: Server

[1449] The server compares each item in the requirements specification with the contents of the proposal to perform matching. It also compares data sources within the factory with the request content from upper management. During this process, a scoring algorithm such as Cosine Similarity is used to evaluate the degree of match for each item. The evaluation results are output as a numerical score representing the degree of match between the requirements specification and the proposal, or between the on-site data and the request content. The input is the analyzed keywords or phrases, and the output is a match evaluation score.

[1450] Step 5:

[1451] Creating presentation materials

[1452] Subject: Server

[1453] The server generates presentation materials based on the scoring results. It builds the materials in a template-based format and places important keywords and explanatory text on the appropriate pages. It also generates presentation materials on factory efficiency in a similar way. The inputs are the match evaluation scores and analyzed keywords and phrases, and the output is the final presentation materials (in PowerPoint or PDF format).

[1454] Step 6:

[1455] Providing presentation materials

[1456] Subject: Server

[1457] The server saves the generated presentation materials in a specified directory. It then sends the user an email with a link to download the generated materials. It also performs access management and log management to ensure that users can use the materials appropriately. The input is the generated presentation materials, and the output is a download link for the user and an access log.

[1458] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1459] The present invention is a system that automatically analyzes the contents of an RFP (requirements specification) and an RFP response (proposal), generates optimal presentation materials based on the analysis, and further adjusts the contents by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[1460] Data ingestion and text extraction

[1461] Subject: Server

[1462] The server receives requirement specification and proposal files from users. It supports a variety of formats, including PDF, Word, Excel, and text files, via file upload functionality or HTTP requests. It extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, it uses OCR (Optical Character Recognition) technology to obtain the text.

[1463] Natural language processing and keyword extraction

[1464] Subject: Server

[1465] The extracted text is then purified using regular expressions to produce clean text, after which a natural language processing engine (e.g., NLTK or spaCy) is used to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[1466] Match evaluation

[1467] Subject: Server

[1468] The server compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[1469] emotion recognition

[1470] Subject: Server

[1471] The server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through text analysis and voice analysis, allowing it to recognize in real time how the user feels about the material.

[1472] Building and customizing presentation materials

[1473] Subject: Server

[1474] The server generates an optimal presentation of the specified number of pages based on the scoring results and the user's emotion recognition results. The presentation is created based on a pre-prepared template, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the presentation based on the user's emotional state. For example, if the user is feeling anxious, the content of the presentation can be adjusted to provide more detailed explanations to help the user understand.

[1475] Saving and providing presentation materials

[1476] Subject: Server

[1477] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is created and sent to the user via email. The server also manages access to the materials and manages logs to help users use the materials appropriately.

[1478] Specific examples

[1479] For example, consider a company considering implementing a new CRM system and receiving proposals from multiple vendors. A user at the company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts text from each, and identifies important keywords and phrases. It then compares the contents of the RFP and proposals to assess their degree of agreement and generates an optimal presentation based on the results. Furthermore, it uses an emotion engine to recognize the user's emotions. For example, if the user feels uneasy about the proposal, it adjusts the presentation content to provide more detail. The final presentation is generated in PowerPoint format and provided to the user.

[1480] In this way, the user can efficiently evaluate the proposal content based on the requirements specification and obtain the most suitable presentation materials that take into consideration the user's feelings.

[1481] The processing flow will be explained below.

[1482] Step 1: Data Ingestion

[1483] Subject: Server

[1484] The server receives requirement specification and proposal files from the user. The user uses a web interface to upload files in formats such as PDF, Word, Excel, and text files. The server receives the HTTP request and validates the file format. If the format is supported, the server saves the file in a specified directory; if the format is not supported, it returns an error message.

[1485] Step 2: Text extraction

[1486] Subject: Server

[1487] The server extracts text information from each file it receives. Depending on the file format, it uses a PDF parser (e.g., PyPDF2), a Word parser (python-docx), or an Excel parser (pandas). If the file is an image, it uses OCR (Optical Character Recognition) technology to extract the text using an engine like Tesseract.

[1488] Step 3: Text cleansing

[1489] Subject: Server

[1490] The extracted text data often contains noise, so the server uses regular expressions to remove these unwanted elements, specifically filtering out information such as headers, footers, page numbers, and figure and table titles, to produce clean text.

[1491] Step 4: Natural Language Processing

[1492] Subject: Server

[1493] The server analyzes the cleansed text, first using a natural language processing engine (NLTK or spaCy) to tokenize the text, tag it with parts of speech, perform dependency parsing, and then use named entity recognition (NER) to identify important entities such as company names, people's names, and place names, and extract important keywords and phrases.

[1494] Step 5: Emotion Recognition

[1495] Subject: Server

[1496] The server recognizes the user's emotions using an emotion engine that analyzes the user's input text and voice data to identify their state of mind, using text analysis to identify positive or negative emotions and voice analysis to detect emotions such as tension, excitement, or anxiety.

[1497] Step 6: Match evaluation

[1498] Subject: Server

[1499] The server compares each item in the requirements specification with the contents of the proposal and performs matching. Specifically, it calculates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The scoring results are provided as a numerical value indicating which parts of the RFP and proposal match to what extent.

[1500] Step 7: Build and customize your presentation

[1501] Subject: Server

[1502] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The presentation materials are constructed based on templates, with important keywords and explanatory text placed on designated pages. Furthermore, the content and structure of the materials are dynamically adjusted according to the user's emotional state. For example, if the user is feeling anxious, the server will add more detailed explanations to the materials and modify the content to make them easier for the user to understand.

[1503] Step 8: Save and share your presentation materials

[1504] Subject: Server

[1505] The generated presentation materials are saved in a specified directory on the server. A link to download the materials is generated and sent to the user via email. Access control and log management are implemented to help users access the materials safely and efficiently.

[1506] As a concrete example, suppose a company is considering implementing a new CRM system and has received proposals from multiple vendors. A person in charge (user) at this company uploads the RFP ("CRM_System_RFP.pdf") and proposals ("Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf") to the server. The server receives these files, extracts, cleanses, and analyzes the text information, and extracts important keywords. It then compares the contents of the RFP and proposals, evaluates their degree of agreement, and generates optimal presentation materials based on the evaluation results. It uses an emotion engine to recognize the user's emotions, adjusts the content of the materials appropriately, and presents the materials in a format that is most understandable to the user.

[1507] Example 2

[1508] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1509] In conventional systems, evaluating the degree of agreement between the requirements specification and the proposal required a lot of manual work, which was time-consuming and labor-intensive.In addition, because the presentation materials were generated without taking the user's feelings into consideration, there was also the issue of being unable to flexibly respond to the user's needs and circumstances.

[1510] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for recognizing user emotions, and means for generating presentation materials based on the degree of match and the user emotions. This enables automatic analysis of the requirements specification and the proposal and evaluation of the degree of match, and further enables automatic generation of optimal presentation materials taking user emotions into consideration.

[1511] A "data processing device" is a computer system that analyzes electronic documents such as requirements specifications and proposals, extracts text information and keywords, and evaluates the degree of match.

[1512] A "requirements specification" is a document that details the requirements and specifications for a specific task or project. A proposal is created based on this.

[1513] A "proposal" is a document that details a proposed solution or plan based on the requirements specification.

[1514] "Text information" refers to character string data extracted from electronic documents. This data is the subject of analysis.

[1515] "Keywords" are important words or phrases extracted from text information that represent the content of a document.

[1516] "Conformance" is an index that shows how closely the requirements specifications and the proposal contents match. It is usually expressed as a score.

[1517] "Emotion" refers to the psychological state that a user has toward a presentation material. This emotion is recognized using the emotion engine.

[1518] "Presentation materials" are explanatory materials generated based on the requirements specifications, proposal contents, and user emotion recognition results. They are primarily provided in slide format.

[1519] A "template" is a format with a predefined layout and design that serves as the basis for creating presentation materials.

[1520] An "emotion engine" is a computer algorithm or system that analyzes emotions from a user's voice or text and recognizes their psychological state.

[1521] The present invention is a system that automatically analyzes the contents of a request for proposal (RFP) and a proposal, generates optimal presentation materials based on them, and further adjusts the contents of the materials by recognizing the user's emotions. This system is specifically implemented as follows using a data processing device.

[1522] Data ingestion and text extraction

[1523] Subject: Server

[1524] The server receives RFP and proposal files uploaded by users. Supported file formats include PDF, Word, Excel, and text files, and users send these files to the server via the file upload function or HTTP request. If the received file is in PDF format, text is extracted using PyPDF2 or pdfminer. If the file is in Word format, text is extracted using python-docx, and if it is in Excel format, text is extracted using openpyxl or pandas. If the file is provided in image format, text is extracted from the image using OCR technology such as Tesseract.

[1525] Natural language processing and keyword extraction

[1526] Subject: Server

[1527] The server uses regular expressions to remove unnecessary information from the extracted text data, and then uses natural language processing engines such as NLTK or spaCy to perform tokenization, part-of-speech tagging, dependency parsing, and named entity recognition on the clean text data to extract important keywords and phrases.

[1528] Match evaluation

[1529] Subject: Server

[1530] To compare each item in the RFP and proposal individually, the server first splits them into text data. Then, it calculates the similarity between each item using a scoring algorithm such as Cosine Similarity. This similarity score is stored in a database on the server and presented to users via a visualization tool.

[1531] emotion recognition

[1532] Subject: Server

[1533] The server receives voice and text input to interface with the user. For voice input, it converts the speech to text using Google Speech-to-Text API or Microsoft Azure Cognitive Services. To analyze the text data, the server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions. The recognition results are used to adjust the presentation materials.

[1534] Building and customizing presentation materials

[1535] Subject: Server

[1536] The server generates optimal presentation materials based on the scoring results and the user's emotion recognition results. The materials are automatically generated using pre-prepared templates and the python-pptx library. For example, important keywords and graphs are placed on slides, and if the user feels anxious, a more detailed explanation slide is added.

[1537] Saving and providing presentation materials

[1538] Subject: Server

[1539] The generated presentation materials are saved in a specified directory on the server. The server generates a download link for the materials and notifies the user of this by email. The SMTP protocol is used to send the email. In addition, the server uses AWS S3's ACL function and its own authentication system for access management to ensure appropriate use of the materials.

[1540] Specific examples

[1541] For example, consider the process of a company considering implementing a new CRM system uploading an RFP called "CRM_System_RFP.pdf" and proposals called "Vendor1_CRM_Proposal.pdf" and "Vendor2_CRM_Proposal.pdf" to a server. The server receives these files and extracts the text using PyPDF2 and Tesseract. It then uses spaCy to extract important keywords and phrases. It then compares the RFP and proposals using cosine similarity and calculates a match score. It then uses IBM Watson Tone Analyzer to recognize the sentiment of the person in charge and adds a detailed explanatory slide if there are any concerns. Finally, the PowerPoint presentation generated using python-pptx is saved in a specified folder and a download link is sent via email.

[1542] In this way, the user can efficiently evaluate the proposal contents corresponding to the RFP and obtain optimal presentation materials that take into consideration emotions.

[1543] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1544] Step 1:

[1545] Subject: User

[1546] Users upload RFP and proposal documents to the server, and input file formats such as PDF, Word, Excel, and text files are supported.

[1547] Step 2:

[1548] Subject: Server

[1549] The server receives the uploaded file. Specifically, it uses HTTP request or SFTP protocol and saves the file in a specified directory on the server. The input is the requirement specification and proposal file sent by the user. The output is the directory path where the received file is saved.

[1550] Step 3:

[1551] Subject: Server

[1552] The server extracts text information from the received file. For PDF files, it uses PyPDF2 or pdfminer, for Word files it uses python-docx, and for Excel files it uses openpyxl or pandas. If the file is an image, it uses Tesseract for OCR. The input is the saved file path, and the output is the extracted text information.

[1553] Step 4:

[1554] Subject: Server

[1555] The server uses regular expressions to remove unnecessary information from the extracted text data, producing clean text data. The input is the extracted text information, and the output is the clean text with the unnecessary information removed.

[1556] Step 5:

[1557] Subject: Server

[1558] The server uses NLTK and spaCy to extract important keywords and phrases from clean text data by tokenizing, part-of-speech tagging, dependency parsing, and named entity recognition. The input is clean text data, and the output is important keywords and phrases.

[1559] Step 6:

[1560] Subject: Server

[1561] The server splits each item in the RFP and proposal into text data and calculates the similarity using a scoring algorithm such as Cosine Similarity. The calculated similarity scores are stored in a database on the server. The input is the text data of the RFP and proposal, and the output is the similarity score for each item.

[1562] Step 7:

[1563] Subject: Server

[1564] The server receives voice and text inputs to interface with the user. For voice inputs, it uses the Google Speech-to-Text API to convert the speech into text and generate input data for text analysis. The inputs are voice and text data, and the output is sentiment information in text format.

[1565] Step 8:

[1566] Subject: Server

[1567] The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or AWS Comprehend) to recognize the user's emotions and record the recognition results. The input is voice or text data, and the output is an analysis of the user's emotional state.

[1568] Step 9:

[1569] Subject: Server

[1570] The server automatically generates optimal presentation materials based on the scoring results and the user's sentiment analysis results. The materials are created using templates with the python-pptx library. The input is the scoring results and sentiment analysis results, and the output is the generated presentation materials.

[1571] Step 10:

[1572] Subject: Server

[1573] The server saves the generated presentation materials in a specified directory and notifies the user by email using the SMTP protocol to provide a download link. Access is managed using AWS S3's ACL function or a unique authentication system. The input is the generated presentation materials, and the output is the generation of a download link and a notification email.

[1574] This makes the entire system efficient and user-friendly, allowing users to quickly obtain presentation materials that are easy to understand.

[1575] (Application example 2)

[1576] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1577] The traditional process of creating presentation materials involves a lot of manual work, and the task of comparing the requirements specifications with the proposal is particularly time-consuming and labor-intensive. Furthermore, it is difficult to customize materials to suit the user's emotions and situation, which can lead to a lack of understanding and acceptance of the materials.

[1578] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a requirements specification, means for extracting text information from the requirements specification, means for analyzing the text information and extracting important keywords, means for receiving a proposal, means for extracting text information from the proposal, means for analyzing the text information of the proposal and extracting important keywords, means for evaluating the degree of match between the requirements specification and the proposal based on the important keywords, means for generating presentation materials based on the degree of match, means for recognizing a user's emotions through voice input or facial expression recognition, and means for customizing the presentation materials based on the emotion recognition results. This makes it possible to efficiently generate optimal presentation materials according to the user's emotions, thereby improving work efficiency and the understanding of the materials.

[1579] "Data processing device" means a computer system for extracting, analyzing, and evaluating text information.

[1580] A "requirements specification" is a document that describes the specific requirements and specifications for a project or product.

[1581] A "proposal" is a document that describes a solution or proposal submitted based on a requirements specification.

[1582] "Text information" is character string data extracted from a document.

[1583] "Important keywords" are words or phrases extracted from text information that are considered to be particularly important for understanding the content of a document.

[1584] "Match" is an evaluation index that indicates how closely the requirements specifications and the proposal contents match.

[1585] "Presentation materials" are explanatory materials that summarize the contents of the requirements specification and proposal.

[1586] "Voice input" is a technology that recognizes a user's speech and converts it into text data.

[1587] "Facial expression recognition" is a technology that captures a user's facial expression using a camera or other device and determines their emotions based on that.

[1588] "Emotion recognition results" are data on the user's emotional state obtained based on voice input and facial expression recognition.

[1589] "Customization" means adjusting and optimizing the content and structure of presentation materials based on the results of user emotion recognition.

[1590] The present invention is a system that uses a data processing device to automatically analyze the contents of requirement specifications and proposals, generate optimal presentation materials based on them, and further adjust the contents by recognizing the user's emotions. Specifically, the system is implemented using the following hardware and software.

[1591] Hardware and software used

[1592] Hardware:

[1593] Factory robots (processors for real-time data analysis)

[1594] Camera (for acquiring image data)

[1595] Microphone (for voice input)

[1596] Smartphones, smart glasses, head-mounted displays

[1597] software:

[1598] OCR library (Tesseract OCR)

[1599] Natural language processing engine (spaCy)

[1600] Emotion Recognition Engine (Microsoft Azure Cognitive Services)

[1601] Presentation material generation engine (Python-PowerPoint)

[1602] Process Overview

[1603] The server first receives the requirement specification and proposal files from the user, and then extracts text information from the received files using a PDF parser, Word parser, or Excel parser. If the file is in image format, OCR technology is used to obtain the text.

[1604] The extracted text is then run through a natural language processing engine for tokenization, part-of-speech tagging, dependency parsing, and named entity recognition to extract important keywords and phrases.

[1605] The server then compares each item in the requirements specification with the contents of the proposal and evaluates the degree of match for each item using a scoring algorithm such as Cosine Similarity. The evaluation results are compiled as a score that indicates how well the requirements specification and proposal match.

[1606] Furthermore, the server uses an emotion engine to recognize the user's emotions. The emotion engine grasps the user's emotional state through voice input and facial expression recognition. This allows the server to recognize in real time how the user feels about the material.

[1607] Based on the scoring results and the user's emotion recognition results, the server generates optimal presentation materials. The presentation materials are created based on pre-prepared templates, with important keywords and explanatory text appropriately placed. It is also possible to dynamically adjust the content and structure of the materials based on the user's emotional state.

[1608] Example prompt

[1609] For example, when generating a presentation on equipment inspection for factory robots, the following prompt sentences are used:

[1610] Generate a summary presentation from the following inspection reports:

[1611] 1. Inspection Manual: {manual_text}

[1612] 2. Inspection Report: {report_text}

[1613] Consider the emotions derived from the sentiment analysis: {emotions_score}.

[1614] This allows users to efficiently evaluate proposals based on the requirements specifications and obtain optimal presentation materials that take into consideration the user's feelings. Utilizing factory robots will significantly improve work efficiency and the level of understanding of materials.

[1615] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1616] Step 1:

[1617] The server receives requirement specification and proposal files from users. The input is files in various formats such as PDF, Word, Excel, and text files, and is received via HTTP requests or file upload functions. The output is the received files themselves. Specifically, the user uploads a file, and the server saves the file in storage.

[1618] Step 2:

[1619] The server extracts text information from received files. The input is the received file, and a PDF parser, Word parser, or Excel parser is used. For image format files, OCR (Optical Character Recognition) technology is used to obtain the text. The output is the extracted text data. Specifically, an extraction tool is used to analyze each type of file and extract the text information.

[1620] Step 3:

[1621] The server analyzes the extracted text information using a natural language processing engine (e.g., spaCy). The input is the extracted text data, and it undergoes processes such as tokenization, part-of-speech tagging, dependency parsing, and named entity recognition. The output is the analyzed text data, from which important keywords and phrases have been extracted. Specifically, the server inputs the text data into the natural language processing engine and performs various analytical processes.

[1622] Step 4:

[1623] The server compares each item in the requirements specification with the contents of the proposal. The input is the analyzed text data of the requirements specification and the text data of the proposal, and the degree of match for each item is evaluated using a scoring algorithm such as Cosine Similarity. The output is a match score. Specifically, the server vectorizes the keywords in the requirements specification and proposal and calculates the similarity.

[1624] Step 5:

[1625] The server uses an emotion engine to recognize the user's emotions. The input is the user's voice data and facial expression images, which are analyzed using an emotion recognition engine such as Microsoft Azure Cognitive Services. The output is data indicating the user's emotional state. Specifically, the server inputs the voice data and images into the emotion recognition engine and obtains an emotion score.

[1626] Step 6:

[1627] The server generates optimal presentation materials based on the match scores and emotion recognition results. The input is the match scores and emotional state data, and the presentation materials are constructed using a presentation material generation engine (Python-PowerPoint). The output is the generated presentation materials. Specifically, the server arranges data according to a template and generates the materials.

[1628] Step 7:

[1629] The server saves the generated presentation materials in a specified directory and provides the user with a download link. The input is the generated presentation materials, which are saved in cloud storage. The output is a link to the saved presentation materials. As a specific example, the server uploads the materials to a directory on the cloud and sends the URL to the user by email.

[1630] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1631] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1632] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1633] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1634] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1635] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1636] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1637] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1638] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1639] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1640] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1641] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

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

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

[1644] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1645] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1646] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1647] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1648] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1649] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1650] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1651] The following is further disclosed regarding the above embodiment.

[1652] (Claim 1)

[1653] In a data processing device,

[1654] means for receiving a requirements specification;

[1655] means for extracting text information from the requirements specification;

[1656] means for analyzing the text information and extracting important keywords;

[1657] a means for receiving proposals;

[1658] means for extracting text information from the proposal;

[1659] means for analyzing text information of the proposal and extracting important keywords;

[1660] a means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords;

[1661] The system further includes means for generating presentation materials based on the degree of match.

[1662] (Claim 2)

[1663] 10. The system of claim 1, further comprising means for generating the presentation material based on a template.

[1664] (Claim 3)

[1665] The system according to claim 1, further comprising means for extracting text information from the requirements specification and the proposal even when the requirements specification and the proposal are in various file formats.

[1666] "Example 1"

[1667] (Claim 1)

[1668] In a data processing device,

[1669] means for receiving a requirements specification;

[1670] means for extracting text information from the requirements specification;

[1671] means for analyzing the text information and extracting important keywords;

[1672] a means for receiving proposals;

[1673] means for extracting text information from the proposal;

[1674] means for analyzing text information of the proposal and extracting important keywords;

[1675] a means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords;

[1676] means for generating presentation materials based on the degree of match;

[1677] The system includes means for saving the presentation materials in a designated directory and providing a download link to the user.

[1678] (Claim 2)

[1679] 10. The system of claim 1, further comprising means for generating the presentation material based on a template.

[1680] (Claim 3)

[1681] The system according to claim 1, further comprising means for extracting text information from the requirements specification and the proposal even when the requirements specification and the proposal are in various file formats.

[1682] "Application Example 1"

[1683] (Claim 1)

[1684] means for receiving a requirements specification;

[1685] means for extracting text information from the requirements specification;

[1686] means for analyzing the text information and extracting important keywords;

[1687] a means for receiving proposals;

[1688] means for extracting text information from the proposal;

[1689] means for analyzing text information of the proposal and extracting important keywords;

[1690] a means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords;

[1691] means for generating presentation materials based on the degree of match;

[1692] means for receiving work reports or sensor data from a data source within the factory;

[1693] means for extracting text information from the daily work report or sensor data;

[1694] means for analyzing text information of the daily work report or the sensor data and extracting important keywords;

[1695] means for evaluating the degree of agreement between the data source in the factory and the request content of the upper management layer;

[1696] The system further includes means for generating a presentation material relating to factory efficiency based on the degree of match.

[1697] (Claim 2)

[1698] 10. The system of claim 1, further comprising means for generating the presentation material based on a template.

[1699] (Claim 3)

[1700] The system according to claim 1, further comprising means for extracting text information from the requirements specification and the proposal even when the requirements specification and the proposal are in various file formats.

[1701] "Example 2: Combining Emotion Engines"

[1702] (Claim 1)

[1703] In a data processing device,

[1704] means for receiving a requirements specification;

[1705] means for extracting text information from the requirements specification;

[1706] means for analyzing the text information and extracting important keywords;

[1707] a means for receiving proposals;

[1708] means for extracting text information from the proposal;

[1709] means for analyzing text information of the proposal and extracting important keywords;

[1710] a means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords;

[1711] means for recognizing a user's emotion;

[1712] The system further includes means for generating presentation materials based on the degree of match and the user's emotions.

[1713] (Claim 2)

[1714] 10. The system of claim 1, further comprising means for generating the presentation material based on a template.

[1715] (Claim 3)

[1716] The system according to claim 1, further comprising means for extracting text information from the requirements specification and the proposal even when the requirements specification and the proposal are in various file formats.

[1717] "Application example 2 when combining emotion engines"

[1718] (Claim 1)

[1719] In a data processing device,

[1720] means for receiving a requirements specification;

[1721] means for extracting text information from the requirements specification;

[1722] means for analyzing the text information and extracting important keywords;

[1723] a means for receiving proposals;

[1724] means for extracting text information from the proposal;

[1725] means for analyzing text information of the proposal and extracting important keywords;

[1726] a means for evaluating the degree of agreement between the requirements specification and the proposal based on the important keywords;

[1727] means for generating presentation materials based on the degree of match;

[1728] a means for recognizing a user's emotions through voice input or facial expression recognition;

[1729] means for customizing presentation materials based on the emotion recognition results;

[1730] A system including:

[1731] (Claim 2)

[1732] 10. The system of claim 1, further comprising means for generating the presentation material based on a template.

[1733] (Claim 3)

[1734] The system according to claim 1, further comprising means for extracting text information from the requirements specification and the proposal even when the requirements specification and the proposal are in various file formats. [Explanation of symbols]

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

Claims

1. In a data processing device, means for receiving a requirement specification document; means for extracting text information from the requirement specification document; means for analyzing the text information and extracting important keywords; means for receiving a proposal document; means for extracting text information from the proposal document; means for analyzing the text information of the proposal document and extracting important keywords; means for evaluating the degree of consistency between the requirement specification document and the proposal document based on the important keywords; A system including means for generating presentation materials based on the degree of consistency.

2. The system according to claim 1, further including means for generating the presentation materials based on a template.

3. The system according to claim 1, further including means for extracting text information even when the requirement specification document and the proposal document are in various file formats.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A