system

A system using natural language processing to analyze and extract requirements from government bidding specifications efficiently identifies suitable products, addressing inefficiencies and cost issues in existing systems by providing quick and accurate product selection.

JP2026064681APending Publication Date: 2026-04-14SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The process of selecting appropriate products for government agency bids requires in-depth knowledge and time, leading to inefficiencies and increased costs, with existing systems failing to provide quick and accurate responses.

Method used

A system that uses natural language processing to analyze government bidding specifications, extract functional requirements, search for product information from multiple sources, and list suitable products, enabling efficient and accurate selection.

Benefits of technology

Enables users to quickly and accurately find products that meet bidding requirements, improving efficiency and fairness in the bidding process while reducing costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064681000001_ABST
    Figure 2026064681000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for users to upload government bidding specifications, A means for analyzing the contents of the uploaded specification document and extracting functional requirements and conditions, A means of searching for product information based on extracted requirements and listing products that meet those requirements, A means of providing users with a list of potential products, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

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

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Based on the bidding specifications of government agencies, the work of selecting appropriate products requires in-depth knowledge and experience of specific products and takes a great deal of time and effort. Therefore, specific companies or individuals cannot quickly and accurately respond to many bidding cases, and the efficiency of the bidding work may decrease, and fairness may also be impaired. Furthermore, there is a problem that the introduction and management costs of related systems also increase, making it difficult for the country to reduce expenses.

Means for Solving the Problems

[0005] To solve the above problems, the present invention provides the following means. Specifically, it comprises a system including means for users to upload government agency bid specifications, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for product information based on the extracted requirements and listing products that meet the requirements, and means for providing the listed product candidates to the user. The analysis means uses natural language processing to extract functional requirements and conditions from the specifications, and the search means collects product information from multiple sources, including databases and the internet. As a result, users can easily find products that meet the bid requirements and respond quickly and accurately to many bid projects.

[0006] A "user" refers to an individual or organization that operates the system to upload government bidding specifications and select appropriate products.

[0007] A "server" refers to a computer system that analyzes the contents of the bidding specifications, extracts functional requirements and conditions, and searches and filters product information.

[0008] "Upload method" refers to the interface and protocol that users use to submit bid specifications to the system.

[0009] "Analysis means" refers to a function that analyzes the contents of uploaded specifications using natural language processing technology and extracts functional requirements and conditions.

[0010] "Functional requirements" refer to the specific conditions regarding the required functions and performance described in the bidding specifications.

[0011] "Extraction means" refers to a technical method for extracting functional requirements and conditions identified through analysis and using them for other processing.

[0012] "Search method" refers to the technology used to search for appropriate product information from databases or the internet based on extracted functional requirements and conditions.

[0013] "Product information" refers to data such as specifications, performance, price, and purchase information for a specific product.

[0014] "Listing method" refers to a function that selects products that meet the requirements from the searched product information and organizes them in a list format.

[0015] "Means of delivery" refers to interfaces and technologies that display an organized product list to the user and assist in their selection.

[0016] "Natural language processing" refers to a set of technologies and methods that enable computers to understand and analyze human language.

[0017] A "database" refers to a collection of structured data containing product information that is referenced by search tools.

[0018] "Internet information sources" refers to all online information resources, including publicly available websites and product APIs. [Brief explanation of the drawing]

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

Embodiments for Carrying Out the Invention

[0020] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.

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

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

[0023] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

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

[0025] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0027] [First Embodiment]

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

[0029] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0030] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0032] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0033] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0034] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

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

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

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

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

[0040] This invention is a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system mainly consists of the following steps: uploading the specifications, analyzing the specifications, extracting requirements, searching for product information, listing candidate products, and displaying the results.

[0041] A natural language explanation of the program's processing.

[0042] 1. Upload the specifications.

[0043] Users upload government bidding specifications to the system. Users send specifications in PDF or Word file format to the system using a dedicated interface.

[0044] 2. Analysis of the specifications

[0045] The server receives the uploaded specification document and analyzes its contents. The server uses natural language processing (NLP) techniques to extract key functional requirements and conditions from the entire text. Specifically, it identifies requirements such as "document scanning," "OCR recognition," "text processing speed of less than 1 second," and "resolution of 1920x1080 or higher."

[0046] 3. Extracting Requirements

[0047] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0048] 4. Search for product information

[0049] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries multiple product catalogs, online product information sites, and APIs to collect product information that meets the criteria.

[0050] 5. List of candidate products

[0051] The server filters the search results and lists products that meet the requirements. This list includes information such as the product name, key specifications, price, and URL for purchase.

[0052] 6. Displaying the results

[0053] The terminal provides the user with a list of potential products. The user can view the displayed information through the interface and check the details. For example, product names, scan speeds, resolutions, and prices are displayed in a table format for easy comparison.

[0054] Specific example

[0055] Example of a specification document

[0056] The following is an excerpt from the specifications uploaded by the user:

[0057] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0058] Connection interface: USB 3.0

[0059] Supported formats: PDF, JPEG, PNG

[0060] System processing flow

[0061] 1. The user uploads the above specifications to the system.

[0062] 2. The server receives the specifications and analyzes their contents using natural language processing.

[0063] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[0064] 4. The server searches for product information in the database and on the internet based on these requirements.

[0065] 5. The server lists candidate products and filters them, for example, as follows:

[0066] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0067] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0068] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[0069] This allows users to efficiently and accurately select products that meet bidding requirements, thereby improving the efficiency and fairness of the bidding process.

[0070] The following describes the processing flow.

[0071] Step 1:

[0072] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in file formats such as PDF and Word using drag-and-drop or file selection functions.

[0073] Step 2:

[0074] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0075] Step 3:

[0076] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0077] Step 4:

[0078] The server extracts functional requirements and conditions from the analysis results and saves them as structured data. For example, to search for products that meet the "resolution" condition, it generates specific filter conditions such as "resolution >= 1920x1080".

[0079] Step 5:

[0080] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries product catalogs, online product information sites, and APIs to retrieve product information that meets the requirements. During this process, it also integrates data obtained from multiple sources.

[0081] Step 6:

[0082] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0083] Step 7:

[0084] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0085] Step 8:

[0086] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0087] This series of processes allows users to quickly and efficiently select products that meet the necessary requirements based on government bidding specifications.

[0088] (Example 1)

[0089] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0090] In a system that quickly and accurately searches for and lists products that meet requirements based on government bidding specifications and provides them to users, it is necessary to eliminate the hassle of manual searches and the collection of inaccurate information, thereby improving efficiency and accuracy. Furthermore, it is required to collect the latest product information from multiple sources and update it in real time.

[0091] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0092] In this invention, the server includes means for the user to upload documents, means for analyzing the uploaded documents and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing objects that meet the requirements, and means for providing the user with the listed candidate objects. This enables the user to efficiently and accurately select products that meet the bidding requirements.

[0093] "Documents" refer to documents, including bidding specifications in PDF or Word format, that are uploaded to the system.

[0094] A "user" is an individual or organization that accesses the system and uploads and reviews bid specifications.

[0095] The "analysis means" refers to a combination of software and hardware used to analyze the content of uploaded documents using natural language processing technology and extract important functional requirements and conditions.

[0096] "Functional requirements" refer to the necessary functions and performance conditions extracted from a document by the analysis method. Examples include "document scanning," "OCR recognition," and "text processing speed."

[0097] "Conditions" refer to specific requirements or constraints extracted from a document by the analysis tool. For example, "resolution 1920x1080 or higher" or "USB 3.0".

[0098] A "search tool" is a software and hardware system for retrieving relevant information from databases and network sources based on extracted requirements.

[0099] "Target object" refers to a product or service that meets the bidding requirements, as identified through analytical and search methods.

[0100] "Listing" refers to the operation or process of organizing objects identified through a search method and presenting them to the user in a list format.

[0101] "Means of provision" refers to a combination of interface and hardware that displays the listed items on the user's terminal, enabling the user to view, compare, and select them.

[0102] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system uses natural language processing (NLP) technology to analyze the specifications, searches for product information based on the extracted requirements, and provides the results to the user.

[0103] Uploading the specifications

[0104] Users upload documents to the system. Users submit specifications in PDF or Word file format to the system using a dedicated interface. This process requires an internet connection, and users access the system via a web browser.

[0105] Analysis of specifications

[0106] The server receives the uploaded document and analyzes it using natural language processing technology. Specifically, it uses software such as Google® Cloud Natural Language API and SpaCy library to extract important functional requirements and conditions from the entire document. This process includes text analysis algorithms to identify keywords and important phrases in the specification.

[0107] Extracting requirements

[0108] The server extracts specific requirements from the analysis results and structures them systematically. The server then categorizes these requirements and generates a parameter set for subsequent search operations. This data is stored in a database on the server.

[0109] Product Information Search

[0110] The server accesses multiple information sources, including databases and network resources, to search for information based on extracted requirements. For example, it might use Amazon APIs or APIs from various product manufacturers to collect product information in real time. The server then analyzes this information and lists products that meet the requirements.

[0111] List of candidate products

[0112] The server filters the search results and lists products that meet the requirements. The list includes product names, key specifications, prices, and URLs for purchasing the products, and the server organizes and stores this information.

[0113] Displaying Results

[0114] The terminal provides the user with a list of candidate products received from the server. The user can view this information and check the details through the interface. Products are displayed in a table format, making it easy for the user to compare the features of each product.

[0115] Specific example

[0116] The following is an excerpt from the specifications uploaded by the user:

[0117] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0118] Connection interface: USB 3.0

[0119] Supported formats: PDF, JPEG, PNG

[0120] When a user uploads the above specifications to the system, the server analyzes the specifications and extracts the requirements. The server then searches for information based on requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG," and lists candidate products. For example, it might filter the results as follows:

[0121] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0122] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0123] As a result, the terminal displays a list of potential products to the user, allowing the user to compare and consider them. This enables the user to efficiently and accurately select a product that meets the bidding requirements.

[0124] Example of a prompt

[0125] "Please extract the functional requirements based on the following specifications and list the product information that meets them: document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher, USB 3.0, PDF, JPEG, PNG."

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

[0127] Step 1:

[0128] The user accesses the system interface and opens the upload window. The user selects the bid specification file in PDF or Word format and clicks the upload button.

[0129] Input: Tender specification file (PDF or Word)

[0130] Output: Specification file uploaded to the server

[0131] Step 2:

[0132] The server receives and saves the uploaded specification file. The server checks the file format and starts processing it as the appropriate format.

[0133] Input: Uploaded specification file

[0134] Output: Document data converted to a parseable format.

[0135] Step 3:

[0136] The server invokes a natural language processing (NLP) engine to analyze the document data. Specifically, it uses the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document.

[0137] Input: Document data converted to a parseable format.

[0138] Output: List of extracted functional requirements and conditions

[0139] Step 4:

[0140] The server organizes the extracted requirements and groups them by category. This generates a specific set of parameters to be used in subsequent search operations.

[0141] Input: List of extracted functional requirements and conditions

[0142] Output: Structured parameter set

[0143] Step 5:

[0144] The server queries databases and network sources (e.g., Amazon APIs and product manufacturer APIs) to find appropriate product information based on the requirements.

[0145] Input: Structured parameter set

[0146] Output: List of information on multiple candidate products

[0147] Step 6:

[0148] The server filters the search results and ultimately lists products that meet the requirements. Here, you organize the details such as product name, key specifications, price, and purchase URL.

[0149] Input: List of information on multiple candidate products

[0150] Output: A detailed list of the final listed products

[0151] Step 7:

[0152] The terminal displays the final product list received from the server in the user interface. The user can compare the displayed products and view details.

[0153] Input: A detailed list of the final listed products

[0154] Output: Product information displayed on the user interface

[0155] (Application Example 1)

[0156] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0157] In government bidding processes, the task of quickly and accurately searching for and comparing products that meet the requirements of the specifications is extremely labor-intensive. Furthermore, product information is scattered across multiple sources on the internet, making it difficult to find the right product. Moreover, the use of generative AI models, a new technology, demands more sophisticated requirements extraction. To solve these problems, a system is needed that efficiently and automatically searches for product information and proposes the most suitable product.

[0158] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0159] In this invention, the server includes means for a user to upload a government agency's bidding specification using a terminal; means for analyzing the contents of the uploaded specification and extracting functional requirements and conditions; means for searching for product information from a database and internet sources based on the extracted requirements and listing products that meet the requirements; means for providing the listed product candidates to the user's terminal; and means for using prompt statements to automatically extract the requirements of the specification using a generative AI model. This enables the user to quickly and accurately select a product that meets the bidding requirements.

[0160] A "terminal" is an electronic device used by users to upload bidding specifications or to view and compare product information.

[0161] A "server" is a central control unit that analyzes the contents of uploaded specifications and performs requirements extraction, product information search, and listing.

[0162] A "specification document" is a document that outlines the functional requirements and conditions presented when a government agency submits a tender request.

[0163] "Functional requirements" refer to the specific performance and conditions described in the specifications, and serve as the selection criteria for bids.

[0164] "Conditions" refer to supplementary selection requirements described in the specifications other than functional requirements.

[0165] A "database" is a digital information repository where product information is systematically stored.

[0166] "Information sources" refer to all resources that provide product information, including those on the internet and elsewhere.

[0167] "Listing" refers to selecting suitable candidates from the searched product information and displaying them in a list format.

[0168] A "generative AI model" is an artificial intelligence technology that uses advanced algorithms such as natural language processing to extract requirements from specifications.

[0169] A "prompt statement" is an instruction given to a generative AI model to extract requirements.

[0170] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to users. Specific embodiments for implementing this invention are described below.

[0171] System Overview

[0172] This system mainly consists of the following components:

[0173] 1. Terminal:

[0174] These are electronic devices used by users to upload government bidding specifications and to view and compare product information. Examples include smartphones, tablets, and personal computers.

[0175] 2. Server:

[0176] The system receives uploaded specifications, analyzes their contents, and extracts requirements. Furthermore, based on these extracted requirements, it searches for product information from databases and internet sources, and lists products that meet the requirements. The server is a chain software, utilizing software such as Flask, pdfminer, and the OpenAI® API.

[0177] Software and hardware to be used

[0178] Flask:

[0179] It is a Python microframework and will be used as the web server for this system.

[0180] pdfminer:

[0181] This is a Python library for extracting text from PDF documents.

[0182] OpenAI API:

[0183] It is used in generative AI models to extract requirements from specifications.

[0184] Data processing and calculation

[0185] The server processes the contents of the bid specification document uploaded by the user as follows:

[0186] 1. Text extraction:

[0187] Use pdfminer to extract text from a PDF specification document.

[0188] 2. Requirements Extraction:

[0189] The extracted text is processed using the OpenAI API, with prompt text input to perform natural language processing. This allows for the identification and extraction of specific functional requirements and conditions.

[0190] 3. Search for product information:

[0191] After the requirements are extracted, the server uses them to search for products that match the criteria from the database and multiple product information sources on the internet (e.g., APIs, online product information sites).

[0192] 4. List them:

[0193] From the searched product information, a list of product candidates that meet the requirements is generated and provided to the user's terminal.

[0194] Examples of specific cases and prompt statements

[0195] As a concrete example, the system operates in the following steps:

[0196] 1. The user uploads the following specifications via a smartphone app.

[0197] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0198] Connection interface: USB 3.0

[0199] Supported formats: PDF, JPEG, PNG

[0200] 2. The server uses pdfminer to extract the text from the specification document, and then uses the OpenAI API to input the following prompts.

[0201] Extract the requirements from the following text:

[0202] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0203] Connection interface: USB 3.0

[0204] Supported formats: PDF, JPEG, PNG

[0205] 3. The OpenAI API extracts the requirements, and the server searches for product information based on these requirements.

[0206] 4. List the products that meet the requirements and display them on the user's smartphone, for example, as shown below.

[0207] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0208] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0209] In this way, users can efficiently select the most suitable product.

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

[0211] Step 1:

[0212] Users upload government bidding specifications using their devices.

[0213] Users submit specifications in PDF or Word file format to the system via a dedicated interface. The input is the specification file, and the output is the specification data transferred to the server.

[0214] Step 2:

[0215] The server receives the uploaded specification file and analyzes its contents.

[0216] The server first uses the pdfminer library to extract text from the PDF specification document. This text becomes the target of analysis; the input is the raw data from the specification file, and the output is the extracted text data.

[0217] Step 3:

[0218] The server uses a generated AI model to analyze the contents of the specification document and extract the requirements.

[0219] The server uses the OpenAI API to input prompts for the extracted text. These prompts function as instructions for extracting the requirements from the specification. The input data consists of text data and prompts, and the output is a list of requirements.

[0220] Step 4:

[0221] The server searches for product information from databases and internet sources based on the extracted requirements.

[0222] Using database queries and internet APIs, the server collects product information that matches the requirements. The input is a list of requirements, and the output is a list of candidate products that satisfy the conditions.

[0223] Step 5:

[0224] The server filters the search results and lists products that meet the requirements.

[0225] The server filters the collected product information to identify products that fully meet the requirements. For example, it compares specifications such as scan speed, resolution, and supported formats. The input is the product information from the search results, and the output is a list of filtered product candidates.

[0226] Step 6:

[0227] The server provides the user's terminal with a list of potential products.

[0228] The server sends a list of product candidates to the user's terminal, and the user views and compares this information through the interface. The input is a filtered list of product candidates, and the output is the product information displayed to the user.

[0229] Step 7:

[0230] The user compares and considers the provided product candidates and selects the most suitable product.

[0231] Users can view product information provided on their device, compare the specifications and conditions of each product, and select the most suitable product. The input is the product information displayed to the user, and the output is the selected optimal product.

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

[0233] This invention is a system that automatically searches for and lists products that meet requirements based on government agency bidding specifications, and further recognizes the user's sentiment and dynamically adjusts the method of providing product candidates based on that information. This system mainly consists of the following steps: uploading specifications, analyzing specifications, extracting requirements, searching for product information, listing candidate products, displaying results, and recognizing the user's sentiment.

[0234] A natural language explanation of the program's processing.

[0235] 1. Upload the specifications.

[0236] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[0237] 2. Analysis of the specifications

[0238] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0239] 3. Extracting Requirements

[0240] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0241] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0242] 4. Search for product information

[0243] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[0244] 5. List of candidate products

[0245] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0246] 6. Display of Results and Sentiment Recognition

[0247] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0248] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0249] 7. Emotion Recognition and Dynamic Adjustment

[0250] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine.

[0251] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[0252] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[0253] Specific example

[0254] Example of a specification document

[0255] The following is an excerpt from the specifications uploaded by the user:

[0256] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0257] Connection interface: USB 3.0

[0258] Supported formats: PDF, JPEG, PNG

[0259] System processing flow

[0260] 1. The user uploads the above specifications to the system.

[0261] 2. The server receives the specifications and analyzes their contents using natural language processing.

[0262] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[0263] 4. The server searches for product information in the database and on the internet based on these requirements.

[0264] 5. The server lists candidate products and filters them, for example, as follows:

[0265] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0266] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0267] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[0268] 7. The device captures the user's facial expressions and voice, and the emotion engine recognizes the user's emotional state.

[0269] 8. The server dynamically adjusts the display order and highlights of the product list based on sentiment information to help users easily understand it.

[0270] This allows users to efficiently and accurately select products that meet bidding requirements, while also providing information that takes user emotions into consideration, thereby improving the efficiency and fairness of the bidding process.

[0271] The following describes the processing flow.

[0272] Step 1:

[0273] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[0274] Step 2:

[0275] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0276] Step 3:

[0277] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0278] Step 4:

[0279] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0280] Step 5:

[0281] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[0282] Step 6:

[0283] The server filters the product information it has obtained and lists up the products that meet the requirements. For example, filtering is performed with "scanning speed of 1 second or less", "USB 3.0 connection interface", and "supported formats are PDF, JPEG, PNG", and the remaining products are listed as candidates.

[0284] Step 7:

[0285] The server sorts out the listed product information and converts it into a data format for providing to the user. For example, it is converted into JSON format or HTML format, including necessary product names, specifications, prices, purchase destination URLs, etc.

[0286] Step 8:

[0287] The terminal displays the formatted product list on the user interface. The user can view the displayed product list and check the detailed information and comparison information of each product. The user interface displays the product information in a table format or the like so that the user can easily understand and select.

[0288] Step 9:

[0289] The terminal captures the user's expression and voice in real time via the user interface and sends them to the emotion engine. Devices such as cameras and microphones are used for the capture.

[0290] Step 10:

[0291] The emotion engine analyzes the received expression and voice data and recognizes the user's emotional state. For example, when the user is confused, it is classified as "confused", and when the user is satisfied, it is classified as "satisfied".

[0292] Step 11:

[0293] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[0294] This series of processes not only allows users to efficiently and accurately select products that meet bidding requirements, but also provides information that takes users' feelings into consideration, thereby improving the efficiency and fairness of the bidding process.

[0295] (Example 2)

[0296] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0297] Government bidding processes involve numerous specifications, and selecting products that meet these requirements is extremely time-consuming and complex. Furthermore, simply listing product information without considering the user's emotional state makes it difficult for users to make appropriate choices. This can reduce the efficiency and fairness of the bidding process. Therefore, there is a need for a system that analyzes bidding specifications, quickly and accurately lists products that meet the requirements, and dynamically adjusts the information delivery method based on user emotions.

[0298] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for the user to upload the bidding specifications of government agencies, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for product information based on the extracted requirements and listing products that meet the requirements, means for providing the listed product candidates to the user, and means for recognizing the user's emotional state and dynamically adjusting the display order and points of focus of the product candidates based on that information. This makes it possible not only to select products that quickly and accurately meet the bidding requirements, but also to provide information based on the user's emotions. As a result, the efficiency of the bidding process is improved and fairness is ensured.

[0299] "Government agencies" refer to government agencies and local authorities that perform public duties.

[0300] A "bidding specification" refers to a document in which a government agency details the requirements and conditions necessary for a particular task or project.

[0301] A "user" refers to an individual or organization that uses the system to upload bidding specifications and search for and select product information.

[0302] "Means of uploading" refers to the functions and methods that users use to import bidding specifications into the system.

[0303] "Analysis means" refers to the techniques and methods used to analyze the contents of uploaded specifications and extract important information and requirements.

[0304] "Natural language processing" refers to the techniques and methods that enable computers to understand and process human language.

[0305] "Functional requirements" refer to items that describe in detail the performance and characteristics that a particular product or system must meet.

[0306] "Conditions" refer to other requirements and constraints imposed on the products or systems described in the specification.

[0307] "Search means" refers to the methods and techniques for searching appropriate product information from databases or the Internet based on the extracted requirements.

[0308] "Product information" refers to detailed information such as the name, specifications, price, and purchase source of the product.

[0309] "Means for listing up" refers to the methods and functions for selecting products that meet the requirements from the searched product information and arranging them in a list.

[0310] "Emotional state" refers to the psychological state of the user and includes, for example, confusion, satisfaction, and interest.

[0311] "Means for recognizing" refers to the technologies and methods for analyzing the user's expression and voice to identify their emotional state.

[0312] "Means for dynamically adjusting" refers to the functions and methods for changing the display method and provided content of the product information in real time based on the recognized emotional state of the user.

[0313] The system of the present invention is such that the user uploads the bidding specification of the official agency to the system, analyzes the content of the specification, automatically searches and lists up products that meet the requirements, recognizes the user's emotion, and dynamically adjusts the provision method based on that information. This system is mainly implemented using the following hardware and software.

[0314] Hardware and software to be used

[0315] Web browser (e.g., Chrome, Firefox)

[0316] Web server software (e.g., Apache (registered trademark) HTTP Server, NGINX)

[0317] Natural language processing tools (e.g., TextRazor, spaCy)

[0318] Database systems (e.g., MongoDB, MySQL®)

[0319] Product information search APIs (e.g., Amazon Product Advertising API, Google Shopping API)

[0320] Frontend frameworks (e.g., React, Vue.js)

[0321] Emotion recognition libraries (e.g., OpenCV, DeepFace)

[0322] Edge devices and lightweight models (e.g., TENSORFLOW®).js

[0323] User actions and system processing

[0324] 1. Upload the specifications.

[0325] Users upload bidding specifications (in PDF or Word format) to the system via a dedicated web browser interface. Files can be easily imported using a file selection dialog or drag-and-drop functionality.

[0326] 2. Receiving and preparing files for analysis

[0327] The server receives and stores uploaded files using web server software. Next, it launches the appropriate parser (e.g., PDF parser, Word parser) depending on the file format and prepares to convert the contents of the specification document into text data.

[0328] 3. Analysis of the specifications and extraction of requirements

[0329] The server uses natural language processing tools such as TextRazor and spaCy to analyze text data. It divides the data into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080." The extracted results are stored in a database and used for subsequent search processes.

[0330] 4. Search for product information

[0331] Based on the extracted requirements, the server uses APIs such as the Amazon Product Advertising API and the Google Shopping API to retrieve appropriate product information from the internet. The search results are then filtered by integrating product catalog information and online product information.

[0332] 5. List of candidate products

[0333] The server lists filtered product information and organizes the products that meet the requirements. This information is then converted to HTML or JSON format and provided to the terminal.

[0334] 6. Display of Results and Sentiment Recognition

[0335] The terminal displays a product list sent from the server in the user interface. Using front-end frameworks such as React or Vue.js, the product information is displayed in a table format to make it easier for the user to compare products.

[0336] 7. Emotion Recognition and Dynamic Adjustment

[0337] The device uses a webcam and microphone to capture the user's facial expressions and voice in real time. This data is preprocessed on the edge device and analyzed using emotion recognition libraries (e.g., OpenCV, DeepFace). The analysis results are sent to a server, which dynamically adjusts the display order and focus points of the product list based on the user's emotional state.

[0338] Examples of specific cases and prompt statements

[0339] Specific example

[0340] 1. The user uploads a bidding specification document like the following:

[0341] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0342] Connection interface: USB 3.0

[0343] Supported formats: PDF, JPEG, PNG

[0344] 2. The server receives this and uses TextRazor to extract requirements such as "document scan," "OCR recognition," and "resolution 1920x1080."

[0345] 3. The server queries the Amazon Product Advertising API to collect and filter product information that meets the criteria.

[0346] 4. The terminal displays the listed product information in the user interface. The user compares the details of each product.

[0347] 5. The device captures the user's facial expressions and voice, and analyzes them using an emotion recognition library. For example, if the user appears confused, the server highlights and redisplays key points of the product information.

[0348] Example of a prompt

[0349] 1. Program Generation: "Generate a program for a system that automatically searches and lists requirements based on government bidding specifications, recognizes user sentiment, and dynamically adjusts the delivery method."

[0350] 2. Data Analysis: "Please explain how to extract requirements from uploaded PDF or Word specification documents and analyze them using natural language processing (NLP)."

[0351] 3. Product Search: "How can I search for product information from databases and internet sources based on the extracted requirements?"

[0352] 4. Emotion Recognition: "Please explain how to analyze a user's facial expressions and voice to recognize their emotions and adjust product displays based on that feedback."

[0353] In this way, products that efficiently and accurately meet bidding requirements are selected, and information is provided based on user sentiment. This improves the efficiency and fairness of the bidding process.

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

[0355] Step 1: Upload the specifications

[0356] Users upload bidding specifications to the system. This is done using a web browser, either via drag-and-drop or a file selection dialog. Input data consists of specifications in PDF or Word file format, and output is a file stored on the server. Specifically, the moment a file is uploaded to the server, it is received by the web server software.

[0357] Step 2: Receiving and preparing files for analysis

[0358] The server receives uploaded files using web server software (e.g., Apache HTTP Server, NGINX) and temporarily stores them. Next, it starts a parser appropriate to the file format. The input data is a file stored on the server, and the output is text data. Specifically, a PDF parser or Word parser is started, and preparations are made to convert the file into text data.

[0359] Step 3: Analysis of the specifications

[0360] The server analyzes text data using natural language processing (NLP) tools (e.g., TextRazor, spaCy). The input data is a specification document converted into text, and the output is a set of requirements extracted through the analysis. Specifically, the NLP tool divides the text into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080."

[0361] Step 4: Extract and structure requirements

[0362] The server classifies the keywords and phrases extracted through analysis. The input data consists of the extracted keywords and phrases, and the output is a structured requirements dataset. Specifically, the server classifies the keywords by purpose and organizes them as functional requirements and performance requirements. This dataset is stored in a database (e.g., MongoDB, MySQL).

[0363] Step 5: Search for product information

[0364] The server searches for product information from databases and internet sources based on a requirements dataset. The input data is a structured requirements dataset, and the output is the retrieved product information. Specifically, it uses the Amazon Product Advertising API and Google Shopping API to query product information that meets the requirements and retrieve the relevant information.

[0365] Step 6: List and filter candidate products

[0366] The server filters the searched product information and lists products that meet the requirements. The input data is the searched product information, and the output is a list of filtered candidate products. Specifically, it filters based on conditions such as "scan speed of 1 second or less," "USB 3.0," and "resolution 1920x1080," and selects the appropriate products. This candidate list is converted into JSON or HTML format.

[0367] Step 7: Displaying Results and Recognizing Sentiments

[0368] The device displays a list of candidate products sent from the server in the user interface. The input data is a filtered list of candidate products, and the output is the product information displayed to the user. Specifically, it uses a frontend framework such as React or Vue.js to display the product information in a table format that makes it easy for the user to compare. The device also uses a webcam and microphone to capture the user's facial expressions and voice. This becomes the input data for emotion recognition.

[0369] Step 8: Emotion Recognition and Dynamic Adjustment

[0370] The server analyzes the user's emotional state using emotion recognition libraries (e.g., OpenCV, DeepFace) based on facial and audio data sent from the terminal. The input data is captured facial and audio data, and the output is information about the user's emotional state. Specifically, the system dynamically adjusts the product display order and points of focus to match the emotional state based on the analysis results. For example, if the user is confused, important product specifications are highlighted to help the user understand the information more easily.

[0371] (Application Example 2)

[0372] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".

[0373] Inventory management and product picking processes in logistics centers are complex, requiring accurate classification and rapid retrieval of diverse product data. Furthermore, improving operator efficiency and addressing emotional aspects such as fatigue and stress are also necessary. Traditional systems often fail to adequately address these challenges.

[0374] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to upload government agency bidding specifications, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing candidates that meet the requirements, means for providing the listed candidates to the user, and means for recognizing the user's emotions in real time and dynamically adjusting the content provided. As a result, the operator can efficiently and accurately perform inventory management and picking processes, and emotional considerations can be taken into account in real time.

[0375] A "government tender specification" is a document presented by a government agency or public institution that details the technical and commercial conditions for the provision of products or services.

[0376] A "user" refers to an individual or organization that utilizes the system, and is the entity that provides input information or receives results.

[0377] "Means" refers to abstract or specific methods, including the functions of the methods or devices used to achieve a particular objective.

[0378] "Uploading" refers to the act of a user transferring data from their device to a server via the internet.

[0379] "Analysis" refers to the process of breaking down data and information into its components and revealing their structure.

[0380] "Functional requirements and conditions" refer to various requirements and constraints, such as performance, characteristics, and operating environment, that a particular product or service must meet.

[0381] "Searching" refers to the process of finding information in databases or on the internet based on specific criteria.

[0382] "Listing" refers to the act of displaying a list of candidates that meet certain criteria, based on data obtained through a search.

[0383] "Provision" refers to the act of a system presenting information or services to a user.

[0384] "Emotions" refer to the user's psychological state and include different emotional responses such as satisfaction, confusion, and fatigue.

[0385] "Real-time" refers to a state in which information is processed and provided instantly in synchronization with real-world time.

[0386] "Dynamic adjustment" refers to the process by which a system instantly changes how information is displayed and in what order, in response to the user's emotions and circumstances.

[0387] A "logistics center" refers to a facility where the storage, management, and shipping of goods are carried out in a centralized manner.

[0388] "Inventory management" refers to the process of understanding and appropriately maintaining the inventory status of goods at a logistics center.

[0389] "Picking" refers to the process of retrieving specific items from inventory based on orders or other criteria.

[0390] This invention provides an application to be installed on a smartphone, smart glasses, or robot carried by an operator in the inventory management and product picking process at a logistics center. This application is implemented using the following hardware and software.

[0391] Hardware and software to be used

[0392] Smartphone: A device carried by the operator that communicates with the server via an internet connection.

[0393] Smart glasses: A wearable device worn by operators that displays information on a screen.

[0394] Robot: A device that autonomously moves around within a logistics center and picks up goods.

[0395] Server: Processes data centrally and sends the results to the user's terminal.

[0396] NLPProcessor: A virtual library that uses natural language processing technology to extract requirements from bidding specifications.

[0397] EmotionRecognizer: A virtual library that recognizes the operator's emotions in real time.

[0398] Inventory Database: A database for managing inventory information at a logistics center.

[0399] pyecharts: A chart generation library for visualizing inventory information.

[0400] OpenCV: A camera control library for capturing the operator's facial expressions.

[0401] Webcam: Used to capture the operator's facial expressions in real time.

[0402] System processing flow

[0403] 1. The server receives the specifications uploaded by the operator, analyzes the contents using an NLP Processor, and extracts the functional requirements and conditions.

[0404] 2. The server searches for inventory information from the Inventory Database and internet sources based on the extracted requirements and lists potential products that meet the requirements.

[0405] 3. The terminal provides the operator with a list of potential products and displays an efficient picking route.

[0406] 4. The terminal captures the operator's facial expressions and voice in real time via a webcam and recognizes emotions using an EmotionRecognizer.

[0407] 5. The server dynamically adjusts the information displayed and picking instructions based on recognized emotions, thereby reducing operator stress and fatigue.

[0408] Specific example

[0409] For example, an operator uploads a specification document like this:

[0410] Required item: Item A, Quantity 10, Storage location: Section 1

[0411] Required item: Item B, Quantity 5, Storage location: Section 2

[0412] The server uses an NLP Processor to analyze the specifications and generate a list of requested items. Next, it searches the Inventory Database for item inventory information. After the candidates are listed, the terminal presents the operator with an efficient picking route. Simultaneously, the terminal uses a webcam to capture the operator's facial expressions and an EmotionRecognizer to recognize their emotions. For example, if the operator appears tired, the server can suggest slowing down their work pace based on that emotional information.

[0413] This system allows logistics center operators to perform inventory management and picking processes efficiently and accurately, while also enabling real-time emotional considerations.

[0414] Examples of prompts for a generative AI model:

[0415] You are a logistics center operator. Read the following specifications and set up a system to search for relevant inventory and provide the optimal picking route. Additionally, the system should recognize operator emotions in real time and provide appropriate support. Please proceed with the work using the following specifications as a guide:

[0416] Required items: Item A, Quantity 10, Storage location: Section 1

[0417] Required items: Item B, Quantity 5, Storage location: Section 2

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

[0419] Step 1:

[0420] Users upload inventory lists and picking lists for their logistics centers to the system. Specifically, users upload specification documents in Excel or CSV file format using a dedicated interface via drag-and-drop or file selection. In this process, the input is the file selected by the user, and the output is the contents of that file stored on the server.

[0421] Step 2:

[0422] The server receives the uploaded specification document and analyzes its contents using an NLP Processor. Specifically, it launches a parser appropriate to the file format and converts the specification document's contents into text data. This text data is then analyzed using natural language processing techniques to extract functional requirements and conditions. For example, it identifies requirements such as "Product A, Quantity 10, Storage Location Section 1". The input is the uploaded specification document file, and the output is the set of extracted requirements.

[0423] Step 3:

[0424] The server searches for corresponding inventory information from the Inventory Database and internet sources based on the extracted requirements. Specifically, it generates database queries to find the location, quantity, and other details of products that match the requirements. The search results are output as a list of product information that meets the criteria. The input is the set of extracted requirements, and the output is a list of product information that matches the search.

[0425] Step 4:

[0426] The terminal provides the operator with a list of product information received from the server and displays an efficient picking route. Specifically, it uses visualization tools such as pyecharts to illustrate the route of the product list and provides the operator with picking instructions. The input is the product information list sent from the server, and the output is the picking route displayed on the operator's terminal.

[0427] Step 5:

[0428] The terminal uses a webcam to capture the operator's facial expressions and voice in real time, and uses EmotionRecognizer to recognize emotions. Specifically, it uses OpenCV to extract facial feature points and inputs the data into an emotion classification algorithm to infer emotions. The input is the captured facial and voice data, and the output is the recognized emotional state.

[0429] Step 6:

[0430] The server dynamically adjusts the displayed information and picking instructions based on emotional information from the EmotionRecognizer. Specifically, it provides appropriate actions, such as displaying a pop-up suggesting a break if the operator is tired. The input is the recognized emotional state, and the output is the adjusted information display and instructions.

[0431] Step 7:

[0432] The server and terminals work together to monitor the operator's work status in real time and track progress. Specifically, it records the operator's work speed and error rate, and provides feedback as needed. Input is data on the operator's actions during work, and output is progress reports and improvement suggestions.

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

[0434] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0435] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0436] [Second Embodiment]

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

[0438] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0439] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0441] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0443] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0444] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[0447] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[0449] This invention is a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system mainly consists of the following steps: uploading the specifications, analyzing the specifications, extracting requirements, searching for product information, listing candidate products, and displaying the results.

[0450] A natural language explanation of the program's processing.

[0451] 1. Upload the specifications.

[0452] Users upload government bidding specifications to the system. Users send specifications in PDF or Word file format to the system using a dedicated interface.

[0453] 2. Analysis of the specifications

[0454] The server receives the uploaded specification document and analyzes its contents. The server uses natural language processing (NLP) techniques to extract key functional requirements and conditions from the entire text. Specifically, it identifies requirements such as "document scanning," "OCR recognition," "text processing speed of less than 1 second," and "resolution of 1920x1080 or higher."

[0455] 3. Extracting Requirements

[0456] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0457] 4. Search for product information

[0458] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries multiple product catalogs, online product information sites, and APIs to collect product information that meets the criteria.

[0459] 5. List of candidate products

[0460] The server filters the search results and lists products that meet the requirements. This list includes information such as the product name, key specifications, price, and URL for purchase.

[0461] 6. Displaying the results

[0462] The terminal provides the user with a list of potential products. The user can view the displayed information through the interface and check the details. For example, product names, scan speeds, resolutions, and prices are displayed in a table format for easy comparison.

[0463] Specific example

[0464] Example of a specification document

[0465] The following is an excerpt from the specifications uploaded by the user:

[0466] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0467] Connection interface: USB 3.0

[0468] Supported formats: PDF, JPEG, PNG

[0469] System processing flow

[0470] 1. The user uploads the above specifications to the system.

[0471] 2. The server receives the specifications and analyzes their contents using natural language processing.

[0472] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[0473] 4. The server searches for product information in the database and on the internet based on these requirements.

[0474] 5. The server lists candidate products and filters them, for example, as follows:

[0475] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0476] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0477] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[0478] This allows users to efficiently and accurately select products that meet bidding requirements, thereby improving the efficiency and fairness of the bidding process.

[0479] The following describes the processing flow.

[0480] Step 1:

[0481] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in file formats such as PDF and Word using drag-and-drop or file selection functions.

[0482] Step 2:

[0483] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0484] Step 3:

[0485] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0486] Step 4:

[0487] The server extracts functional requirements and conditions from the analysis results and saves them as structured data. For example, to search for products that meet the "resolution" condition, it generates specific filter conditions such as "resolution >= 1920x1080".

[0488] Step 5:

[0489] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries product catalogs, online product information sites, and APIs to retrieve product information that meets the requirements. During this process, it also integrates data obtained from multiple sources.

[0490] Step 6:

[0491] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0492] Step 7:

[0493] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0494] Step 8:

[0495] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0496] This series of processes allows users to quickly and efficiently select products that meet the necessary requirements based on government bidding specifications.

[0497] (Example 1)

[0498] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0499] In a system that quickly and accurately searches for and lists products that meet requirements based on government bidding specifications and provides them to users, it is necessary to eliminate the hassle of manual searches and the collection of inaccurate information, thereby improving efficiency and accuracy. Furthermore, it is required to collect the latest product information from multiple sources and update it in real time.

[0500] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0501] In this invention, the server includes means for the user to upload documents, means for analyzing the uploaded documents and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing objects that meet the requirements, and means for providing the user with the listed candidate objects. This enables the user to efficiently and accurately select products that meet the bidding requirements.

[0502] "Documents" refer to documents, including bidding specifications in PDF or Word format, that are uploaded to the system.

[0503] A "user" is an individual or organization that accesses the system and uploads and reviews bid specifications.

[0504] The "analysis means" refers to a combination of software and hardware used to analyze the content of uploaded documents using natural language processing technology and extract important functional requirements and conditions.

[0505] "Functional requirements" refer to the necessary functions and performance conditions extracted from a document by the analysis method. Examples include "document scanning," "OCR recognition," and "text processing speed."

[0506] "Conditions" refer to specific requirements or constraints extracted from a document by the analysis tool. For example, "resolution 1920x1080 or higher" or "USB 3.0".

[0507] A "search tool" is a software and hardware system for retrieving relevant information from databases and network sources based on extracted requirements.

[0508] "Target object" refers to a product or service that meets the bidding requirements, as identified through analytical and search methods.

[0509] "Listing" refers to the operation or process of organizing objects identified through a search method and presenting them to the user in a list format.

[0510] "Means of provision" refers to a combination of interface and hardware that displays the listed items on the user's terminal, enabling the user to view, compare, and select them.

[0511] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system uses natural language processing (NLP) technology to analyze the specifications, searches for product information based on the extracted requirements, and provides the results to the user.

[0512] Uploading the specifications

[0513] Users upload documents to the system. Users submit specifications in PDF or Word file format to the system using a dedicated interface. This process requires an internet connection, and users access the system via a web browser.

[0514] Analysis of specifications

[0515] The server receives uploaded documents and analyzes them using natural language processing techniques. Specifically, it uses software such as the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document. This process includes text analysis algorithms to identify keywords and important phrases within the specifications.

[0516] Extracting requirements

[0517] The server extracts specific requirements from the analysis results and structures them systematically. The server then categorizes these requirements and generates a parameter set for subsequent search operations. This data is stored in a database on the server.

[0518] Product Information Search

[0519] The server accesses multiple information sources, including databases and network resources, to search for information based on extracted requirements. For example, it might use Amazon APIs or APIs from various product manufacturers to collect product information in real time. The server then analyzes this information and lists products that meet the requirements.

[0520] List of candidate products

[0521] The server filters the search results and lists products that meet the requirements. The list includes product names, key specifications, prices, and URLs for purchasing the products, and the server organizes and stores this information.

[0522] Displaying Results

[0523] The terminal provides the user with a list of candidate products received from the server. The user can view this information and check the details through the interface. Products are displayed in a table format, making it easy for the user to compare the features of each product.

[0524] Specific example

[0525] The following is an excerpt from the specifications uploaded by the user:

[0526] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0527] Connection interface: USB 3.0

[0528] Supported formats: PDF, JPEG, PNG

[0529] When a user uploads the above specifications to the system, the server analyzes the specifications and extracts the requirements. The server then searches for information based on requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG," and lists candidate products. For example, it might filter the results as follows:

[0530] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0531] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0532] As a result, the terminal displays a list of potential products to the user, allowing the user to compare and consider them. This enables the user to efficiently and accurately select a product that meets the bidding requirements.

[0533] Example of a prompt

[0534] "Please extract the functional requirements based on the following specifications and list the product information that meets them: document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher, USB 3.0, PDF, JPEG, PNG."

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

[0536] Step 1:

[0537] The user accesses the system interface and opens the upload window. The user selects the bid specification file in PDF or Word format and clicks the upload button.

[0538] Input: Tender specification file (PDF or Word)

[0539] Output: Specification file uploaded to the server

[0540] Step 2:

[0541] The server receives and saves the uploaded specification file. The server checks the file format and starts processing it as the appropriate format.

[0542] Input: Uploaded specification file

[0543] Output: Document data converted to a parseable format.

[0544] Step 3:

[0545] The server invokes a natural language processing (NLP) engine to analyze the document data. Specifically, it uses the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document.

[0546] Input: Document data converted to a parseable format.

[0547] Output: List of extracted functional requirements and conditions

[0548] Step 4:

[0549] The server organizes the extracted requirements and groups them by category. This generates a specific set of parameters to be used in subsequent search operations.

[0550] Input: List of extracted functional requirements and conditions

[0551] Output: Structured parameter set

[0552] Step 5:

[0553] The server queries databases and network sources (e.g., Amazon APIs and product manufacturer APIs) to find appropriate product information based on the requirements.

[0554] Input: Structured parameter set

[0555] Output: List of information on multiple candidate products

[0556] Step 6:

[0557] The server filters the search results and ultimately lists products that meet the requirements. Here, you organize the details such as product name, key specifications, price, and purchase URL.

[0558] Input: List of information on multiple candidate products

[0559] Output: A detailed list of the final listed products

[0560] Step 7:

[0561] The terminal displays the final product list received from the server in the user interface. The user can compare the displayed products and view details.

[0562] Input: A detailed list of the final listed products

[0563] Output: Product information displayed on the user interface

[0564] (Application Example 1)

[0565] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0566] In government bidding processes, the task of quickly and accurately searching for and comparing products that meet the requirements of the specifications is extremely labor-intensive. Furthermore, product information is scattered across multiple sources on the internet, making it difficult to find the right product. Moreover, the use of generative AI models, a new technology, demands more sophisticated requirements extraction. To solve these problems, a system is needed that efficiently and automatically searches for product information and proposes the most suitable product.

[0567] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0568] In this invention, the server includes means for a user to upload a government agency's bidding specification using a terminal; means for analyzing the contents of the uploaded specification and extracting functional requirements and conditions; means for searching for product information from a database and internet sources based on the extracted requirements and listing products that meet the requirements; means for providing the listed product candidates to the user's terminal; and means for using prompt statements to automatically extract the requirements of the specification using a generative AI model. This enables the user to quickly and accurately select a product that meets the bidding requirements.

[0569] A "terminal" is an electronic device used by users to upload bidding specifications or to view and compare product information.

[0570] A "server" is a central control unit that analyzes the contents of uploaded specifications and performs requirements extraction, product information search, and listing.

[0571] A "specification document" is a document that outlines the functional requirements and conditions presented when a government agency submits a tender request.

[0572] "Functional requirements" refer to the specific performance and conditions described in the specifications, and serve as the selection criteria for bids.

[0573] "Conditions" refer to supplementary selection requirements described in the specifications other than functional requirements.

[0574] A "database" is a digital information repository where product information is systematically stored.

[0575] "Information sources" refer to all resources that provide product information, including those on the internet and elsewhere.

[0576] "Listing" refers to selecting suitable candidates from the searched product information and displaying them in a list format.

[0577] A "generative AI model" is an artificial intelligence technology that uses advanced algorithms such as natural language processing to extract requirements from specifications.

[0578] A "prompt statement" is an instruction given to a generative AI model to extract requirements.

[0579] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to users. Specific embodiments for implementing this invention are described below.

[0580] System Overview

[0581] This system mainly consists of the following components:

[0582] 1. Terminal:

[0583] These are electronic devices used by users to upload government bidding specifications and to view and compare product information. Examples include smartphones, tablets, and personal computers.

[0584] 2. Server:

[0585] The system receives uploaded specifications, analyzes their contents, and extracts requirements. Furthermore, based on these extracted requirements, it searches for product information from databases and internet sources, and lists products that meet the requirements. The server is a chain software, utilizing software such as Flask, pdfminer, and OpenAI API.

[0586] Software and hardware to be used

[0587] Flask:

[0588] It is a Python microframework and will be used as the web server for this system.

[0589] pdfminer:

[0590] This is a Python library for extracting text from PDF documents.

[0591] OpenAI API:

[0592] It is used in generative AI models to extract requirements from specifications.

[0593] Data processing and calculation

[0594] The server processes the contents of the bid specification document uploaded by the user as follows:

[0595] 1. Text extraction:

[0596] Use pdfminer to extract text from a PDF specification document.

[0597] 2. Requirements Extraction:

[0598] The extracted text is processed using the OpenAI API, with prompt text input to perform natural language processing. This allows for the identification and extraction of specific functional requirements and conditions.

[0599] 3. Search for product information:

[0600] After the requirements are extracted, the server uses them to search for products that match the criteria from the database and multiple product information sources on the internet (e.g., APIs, online product information sites).

[0601] 4. List them:

[0602] From the searched product information, a list of product candidates that meet the requirements is generated and provided to the user's terminal.

[0603] Examples of specific cases and prompt statements

[0604] As a concrete example, the system operates in the following steps:

[0605] 1. The user uploads the following specifications via a smartphone app.

[0606] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0607] Connection interface: USB 3.0

[0608] Supported formats: PDF, JPEG, PNG

[0609] 2. The server uses pdfminer to extract the text from the specification document, and then uses the OpenAI API to input the following prompts.

[0610] Extract the requirements from the following text:

[0611] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0612] Connection interface: USB 3.0

[0613] Supported formats: PDF, JPEG, PNG

[0614] 3. The OpenAI API extracts the requirements, and the server searches for product information based on these requirements.

[0615] 4. List the products that meet the requirements and display them on the user's smartphone, for example, as shown below.

[0616] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0617] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0618] In this way, users can efficiently select the most suitable product.

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

[0620] Step 1:

[0621] Users upload government bidding specifications using their devices.

[0622] Users submit specifications in PDF or Word file format to the system via a dedicated interface. The input is the specification file, and the output is the specification data transferred to the server.

[0623] Step 2:

[0624] The server receives the uploaded specification file and analyzes its contents.

[0625] The server first uses the pdfminer library to extract text from the PDF specification document. This text becomes the target of analysis; the input is the raw data from the specification file, and the output is the extracted text data.

[0626] Step 3:

[0627] The server uses a generated AI model to analyze the contents of the specification document and extract the requirements.

[0628] The server uses the OpenAI API to input prompts for the extracted text. These prompts function as instructions for extracting the requirements from the specification. The input data consists of text data and prompts, and the output is a list of requirements.

[0629] Step 4:

[0630] The server searches for product information from databases and internet sources based on the extracted requirements.

[0631] Using database queries and internet APIs, the server collects product information that matches the requirements. The input is a list of requirements, and the output is a list of candidate products that satisfy the conditions.

[0632] Step 5:

[0633] The server filters the search results and lists products that meet the requirements.

[0634] The server filters the collected product information to identify products that fully meet the requirements. For example, it compares specifications such as scan speed, resolution, and supported formats. The input is the product information from the search results, and the output is a list of filtered product candidates.

[0635] Step 6:

[0636] The server provides the user's terminal with a list of potential products.

[0637] The server sends a list of product candidates to the user's terminal, and the user views and compares this information through the interface. The input is a filtered list of product candidates, and the output is the product information displayed to the user.

[0638] Step 7:

[0639] The user compares and considers the provided product candidates and selects the most suitable product.

[0640] Users can view product information provided on their device, compare the specifications and conditions of each product, and select the most suitable product. The input is the product information displayed to the user, and the output is the selected optimal product.

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

[0642] This invention is a system that automatically searches for and lists products that meet requirements based on government agency bidding specifications, and further recognizes the user's sentiment and dynamically adjusts the method of providing product candidates based on that information. This system mainly consists of the following steps: uploading specifications, analyzing specifications, extracting requirements, searching for product information, listing candidate products, displaying results, and recognizing the user's sentiment.

[0643] A natural language explanation of the program's processing.

[0644] 1. Upload the specifications.

[0645] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[0646] 2. Analysis of the specifications

[0647] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0648] 3. Extracting Requirements

[0649] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0650] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0651] 4. Search for product information

[0652] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[0653] 5. List of candidate products

[0654] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0655] 6. Display of Results and Sentiment Recognition

[0656] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0657] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0658] 7. Emotion Recognition and Dynamic Adjustment

[0659] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine.

[0660] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[0661] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[0662] Specific example

[0663] Example of a specification document

[0664] The following is an excerpt from the specifications uploaded by the user:

[0665] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0666] Connection interface: USB 3.0

[0667] Supported formats: PDF, JPEG, PNG

[0668] System processing flow

[0669] 1. The user uploads the above specifications to the system.

[0670] 2. The server receives the specifications and analyzes their contents using natural language processing.

[0671] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[0672] 4. The server searches for product information in the database and on the internet based on these requirements.

[0673] 5. The server lists candidate products and filters them, for example, as follows:

[0674] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0675] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0676] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[0677] 7. The device captures the user's facial expressions and voice, and the emotion engine recognizes the user's emotional state.

[0678] 8. The server dynamically adjusts the display order and highlights of the product list based on sentiment information to help users easily understand it.

[0679] This allows users to efficiently and accurately select products that meet bidding requirements, while also providing information that takes user emotions into consideration, thereby improving the efficiency and fairness of the bidding process.

[0680] The following describes the processing flow.

[0681] Step 1:

[0682] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[0683] Step 2:

[0684] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0685] Step 3:

[0686] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0687] Step 4:

[0688] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0689] Step 5:

[0690] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[0691] Step 6:

[0692] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0693] Step 7:

[0694] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0695] Step 8:

[0696] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0697] Step 9:

[0698] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine. Devices such as cameras and microphones are used for capture.

[0699] Step 10:

[0700] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[0701] Step 11:

[0702] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[0703] This series of processes not only allows users to efficiently and accurately select products that meet bidding requirements, but also provides information that takes users' feelings into consideration, thereby improving the efficiency and fairness of the bidding process.

[0704] (Example 2)

[0705] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0706] Government bidding processes involve numerous specifications, and selecting products that meet these requirements is extremely time-consuming and complex. Furthermore, simply listing product information without considering the user's emotional state makes it difficult for users to make appropriate choices. This can reduce the efficiency and fairness of the bidding process. Therefore, there is a need for a system that analyzes bidding specifications, quickly and accurately lists products that meet the requirements, and dynamically adjusts the information delivery method based on user emotions.

[0707] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for the user to upload the bidding specifications of government agencies, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for product information based on the extracted requirements and listing products that meet the requirements, means for providing the listed product candidates to the user, and means for recognizing the user's emotional state and dynamically adjusting the display order and points of focus of the product candidates based on that information. This makes it possible not only to select products that quickly and accurately meet the bidding requirements, but also to provide information based on the user's emotions. As a result, the efficiency of the bidding process is improved and fairness is ensured.

[0708] "Government agencies" refer to government agencies and local authorities that perform public duties.

[0709] A "bidding specification" refers to a document in which a government agency details the requirements and conditions necessary for a particular task or project.

[0710] A "user" refers to an individual or organization that uses the system to upload bidding specifications and search for and select product information.

[0711] "Means of uploading" refers to the functions and methods that users use to import bidding specifications into the system.

[0712] "Analysis means" refers to the techniques and methods used to analyze the contents of uploaded specifications and extract important information and requirements.

[0713] "Natural language processing" refers to the techniques and methods that enable computers to understand and process human language.

[0714] "Functional requirements" refer to items that describe in detail the performance and characteristics that a particular product or system must meet.

[0715] "Conditions" refer to other requirements and constraints that apply to the product or system as described in the specifications.

[0716] "Search methods" refer to methods and technologies for finding appropriate product information from databases or the internet based on extracted requirements.

[0717] "Product information" refers to detailed information such as the product name, specifications, price, and where to purchase it.

[0718] "Methods for listing" refer to methods and functions for selecting products that meet the requirements from the searched product information and organizing them into a list.

[0719] "Emotional state" refers to the user's psychological state, including, for example, confusion, satisfaction, and interest.

[0720] "Means of recognition" refers to technologies and methods for analyzing a user's facial expressions and voice to identify their emotional state.

[0721] "Means of dynamic adjustment" refers to functions and methods for changing the way product information is displayed and the content provided in real time based on the recognized emotional state of the user.

[0722] The present invention's system allows users to upload government tender specifications, analyzes the contents of the specifications, automatically searches for and lists products that meet the requirements, recognizes the user's sentiment, and dynamically adjusts the delivery method based on that information. This system is primarily implemented using the following hardware and software.

[0723] Hardware and software to be used

[0724] Web browser (e.g., Chrome, Firefox)

[0725] Web server software (e.g., Apache HTTP Server, NGINX)

[0726] Natural language processing tools (e.g., TextRazor, spaCy)

[0727] Database systems (e.g., MongoDB, MySQL)

[0728] Product information search APIs (e.g., Amazon Product Advertising API, Google Shopping API)

[0729] Frontend frameworks (e.g., React, Vue.js)

[0730] Emotion recognition libraries (e.g., OpenCV, DeepFace)

[0731] Edge devices and lightweight models (e.g., TensorFlow.js)

[0732] User actions and system processing

[0733] 1. Upload the specifications.

[0734] Users upload bidding specifications (in PDF or Word format) to the system via a dedicated web browser interface. Files can be easily imported using a file selection dialog or drag-and-drop functionality.

[0735] 2. Receiving and preparing files for analysis

[0736] The server receives and stores uploaded files using web server software. Next, it launches the appropriate parser (e.g., PDF parser, Word parser) depending on the file format and prepares to convert the contents of the specification document into text data.

[0737] 3. Analysis of the specifications and extraction of requirements

[0738] The server uses natural language processing tools such as TextRazor and spaCy to analyze text data. It divides the data into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080." The extracted results are stored in a database and used for subsequent search processes.

[0739] 4. Search for product information

[0740] Based on the extracted requirements, the server uses APIs such as the Amazon Product Advertising API and the Google Shopping API to retrieve appropriate product information from the internet. The search results are then filtered by integrating product catalog information and online product information.

[0741] 5. List of candidate products

[0742] The server lists filtered product information and organizes the products that meet the requirements. This information is then converted to HTML or JSON format and provided to the terminal.

[0743] 6. Display of Results and Sentiment Recognition

[0744] The terminal displays a product list sent from the server in the user interface. Using front-end frameworks such as React or Vue.js, the product information is displayed in a table format to make it easier for the user to compare products.

[0745] 7. Emotion Recognition and Dynamic Adjustment

[0746] The device uses a webcam and microphone to capture the user's facial expressions and voice in real time. This data is preprocessed on the edge device and analyzed using emotion recognition libraries (e.g., OpenCV, DeepFace). The analysis results are sent to a server, which dynamically adjusts the display order and focus points of the product list based on the user's emotional state.

[0747] Examples of specific cases and prompt statements

[0748] Specific example

[0749] 1. The user uploads a bidding specification document like the following:

[0750] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0751] Connection interface: USB 3.0

[0752] Supported formats: PDF, JPEG, PNG

[0753] 2. The server receives this and uses TextRazor to extract requirements such as "document scan," "OCR recognition," and "resolution 1920x1080."

[0754] 3. The server queries the Amazon Product Advertising API to collect and filter product information that meets the criteria.

[0755] 4. The terminal displays the listed product information in the user interface. The user compares the details of each product.

[0756] 5. The device captures the user's facial expressions and voice, and analyzes them using an emotion recognition library. For example, if the user appears confused, the server highlights and redisplays key points of the product information.

[0757] Example of a prompt

[0758] 1. Program Generation: "Generate a program for a system that automatically searches and lists requirements based on government bidding specifications, recognizes user sentiment, and dynamically adjusts the delivery method."

[0759] 2. Data Analysis: "Please explain how to extract requirements from uploaded PDF or Word specification documents and analyze them using natural language processing (NLP)."

[0760] 3. Product Search: "How can I search for product information from databases and internet sources based on the extracted requirements?"

[0761] 4. Emotion Recognition: "Please explain how to analyze a user's facial expressions and voice to recognize their emotions and adjust product displays based on that feedback."

[0762] In this way, products that efficiently and accurately meet bidding requirements are selected, and information is provided based on user sentiment. This improves the efficiency and fairness of the bidding process.

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

[0764] Step 1: Upload the specifications

[0765] Users upload bidding specifications to the system. This is done using a web browser, either via drag-and-drop or a file selection dialog. Input data consists of specifications in PDF or Word file format, and output is a file stored on the server. Specifically, the moment a file is uploaded to the server, it is received by the web server software.

[0766] Step 2: Receiving and preparing files for analysis

[0767] The server receives uploaded files using web server software (e.g., Apache HTTP Server, NGINX) and temporarily stores them. Next, it starts a parser appropriate to the file format. The input data is a file stored on the server, and the output is text data. Specifically, a PDF parser or Word parser is started, and preparations are made to convert the file into text data.

[0768] Step 3: Analysis of the specifications

[0769] The server analyzes text data using natural language processing (NLP) tools (e.g., TextRazor, spaCy). The input data is a specification document converted into text, and the output is a set of requirements extracted through the analysis. Specifically, the NLP tool divides the text into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080."

[0770] Step 4: Extract and structure requirements

[0771] The server classifies the keywords and phrases extracted through analysis. The input data consists of the extracted keywords and phrases, and the output is a structured requirements dataset. Specifically, the server classifies the keywords by purpose and organizes them as functional requirements and performance requirements. This dataset is stored in a database (e.g., MongoDB, MySQL).

[0772] Step 5: Search for product information

[0773] The server searches for product information from databases and internet sources based on a requirements dataset. The input data is a structured requirements dataset, and the output is the retrieved product information. Specifically, it uses the Amazon Product Advertising API and Google Shopping API to query product information that meets the requirements and retrieve the relevant information.

[0774] Step 6: List and filter candidate products

[0775] The server filters the searched product information and lists products that meet the requirements. The input data is the searched product information, and the output is a list of filtered candidate products. Specifically, it filters based on conditions such as "scan speed of 1 second or less," "USB 3.0," and "resolution 1920x1080," and selects the appropriate products. This candidate list is converted into JSON or HTML format.

[0776] Step 7: Displaying Results and Recognizing Sentiments

[0777] The device displays a list of candidate products sent from the server in the user interface. The input data is a filtered list of candidate products, and the output is the product information displayed to the user. Specifically, it uses a frontend framework such as React or Vue.js to display the product information in a table format that makes it easy for the user to compare. The device also uses a webcam and microphone to capture the user's facial expressions and voice. This becomes the input data for emotion recognition.

[0778] Step 8: Emotion Recognition and Dynamic Adjustment

[0779] The server analyzes the user's emotional state using emotion recognition libraries (e.g., OpenCV, DeepFace) based on facial and audio data sent from the terminal. The input data is captured facial and audio data, and the output is information about the user's emotional state. Specifically, the system dynamically adjusts the product display order and points of focus to match the emotional state based on the analysis results. For example, if the user is confused, important product specifications are highlighted to help the user understand the information more easily.

[0780] (Application Example 2)

[0781] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0782] Inventory management and product picking processes in logistics centers are complex, requiring accurate classification and rapid retrieval of diverse product data. Furthermore, improving operator efficiency and addressing emotional aspects such as fatigue and stress are also necessary. Traditional systems often fail to adequately address these challenges.

[0783] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to upload government agency bidding specifications, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing candidates that meet the requirements, means for providing the listed candidates to the user, and means for recognizing the user's emotions in real time and dynamically adjusting the content provided. As a result, the operator can efficiently and accurately perform inventory management and picking processes, and emotional considerations can be taken into account in real time.

[0784] A "government tender specification" is a document presented by a government agency or public institution that details the technical and commercial conditions for the provision of products or services.

[0785] A "user" refers to an individual or organization that utilizes the system, and is the entity that provides input information or receives results.

[0786] "Means" refers to abstract or specific methods, including the functions of the methods or devices used to achieve a particular objective.

[0787] "Uploading" refers to the act of a user transferring data from their device to a server via the internet.

[0788] "Analysis" refers to the process of breaking down data and information into its components and revealing their structure.

[0789] "Functional requirements and conditions" refer to various requirements and constraints, such as performance, characteristics, and operating environment, that a particular product or service must meet.

[0790] "Searching" refers to the process of finding information in databases or on the internet based on specific criteria.

[0791] "Listing" refers to the act of displaying a list of candidates that meet certain criteria, based on data obtained through a search.

[0792] "Provision" refers to the act of a system presenting information or services to a user.

[0793] "Emotions" refer to the user's psychological state and include different emotional responses such as satisfaction, confusion, and fatigue.

[0794] "Real-time" refers to a state in which information is processed and provided instantly in synchronization with real-world time.

[0795] "Dynamic adjustment" refers to the process by which a system instantly changes how information is displayed and in what order, in response to the user's emotions and circumstances.

[0796] A "logistics center" refers to a facility where the storage, management, and shipping of goods are carried out in a centralized manner.

[0797] "Inventory management" refers to the process of understanding and appropriately maintaining the inventory status of goods at a logistics center.

[0798] "Picking" refers to the process of retrieving specific items from inventory based on orders or other criteria.

[0799] This invention provides an application to be installed on a smartphone, smart glasses, or robot carried by an operator in the inventory management and product picking process at a logistics center. This application is implemented using the following hardware and software.

[0800] Hardware and software to be used

[0801] Smartphone: A device carried by the operator that communicates with the server via an internet connection.

[0802] Smart glasses: A wearable device worn by operators that displays information on a screen.

[0803] Robot: A device that autonomously moves around within a logistics center and picks up goods.

[0804] Server: Processes data centrally and sends the results to the user's terminal.

[0805] NLPProcessor: A virtual library that uses natural language processing technology to extract requirements from bidding specifications.

[0806] EmotionRecognizer: A virtual library that recognizes the operator's emotions in real time.

[0807] Inventory Database: A database for managing inventory information at a logistics center.

[0808] pyecharts: A chart generation library for visualizing inventory information.

[0809] OpenCV: A camera control library for capturing the operator's facial expressions.

[0810] Webcam: Used to capture the operator's facial expressions in real time.

[0811] System processing flow

[0812] 1. The server receives the specifications uploaded by the operator, analyzes the contents using an NLP Processor, and extracts the functional requirements and conditions.

[0813] 2. The server searches for inventory information from the Inventory Database and internet sources based on the extracted requirements and lists potential products that meet the requirements.

[0814] 3. The terminal provides the operator with a list of potential products and displays an efficient picking route.

[0815] 4. The terminal captures the operator's facial expressions and voice in real time via a webcam and recognizes emotions using an EmotionRecognizer.

[0816] 5. The server dynamically adjusts the information displayed and picking instructions based on recognized emotions, thereby reducing operator stress and fatigue.

[0817] Specific example

[0818] For example, an operator uploads a specification document like this:

[0819] Required item: Item A, Quantity 10, Storage location: Section 1

[0820] Required item: Item B, Quantity 5, Storage location: Section 2

[0821] The server uses an NLP Processor to analyze the specifications and generate a list of requested items. Next, it searches the Inventory Database for item inventory information. After the candidates are listed, the terminal presents the operator with an efficient picking route. Simultaneously, the terminal uses a webcam to capture the operator's facial expressions and an EmotionRecognizer to recognize their emotions. For example, if the operator appears tired, the server can suggest slowing down their work pace based on that emotional information.

[0822] This system allows logistics center operators to perform inventory management and picking processes efficiently and accurately, while also enabling real-time emotional considerations.

[0823] Examples of prompts for a generative AI model:

[0824] You are a logistics center operator. Read the following specifications and set up a system to search for relevant inventory and provide the optimal picking route. Additionally, the system should recognize operator emotions in real time and provide appropriate support. Please proceed with the work using the following specifications as a guide:

[0825] Required items: Item A, Quantity 10, Storage location: Section 1

[0826] Required items: Item B, Quantity 5, Storage location: Section 2

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

[0828] Step 1:

[0829] Users upload inventory lists and picking lists for their logistics centers to the system. Specifically, users upload specification documents in Excel or CSV file format using a dedicated interface via drag-and-drop or file selection. In this process, the input is the file selected by the user, and the output is the contents of that file stored on the server.

[0830] Step 2:

[0831] The server receives the uploaded specification document and analyzes its contents using an NLP Processor. Specifically, it launches a parser appropriate to the file format and converts the specification document's contents into text data. This text data is then analyzed using natural language processing techniques to extract functional requirements and conditions. For example, it identifies requirements such as "Product A, Quantity 10, Storage Location Section 1". The input is the uploaded specification document file, and the output is the set of extracted requirements.

[0832] Step 3:

[0833] The server searches for corresponding inventory information from the Inventory Database and internet sources based on the extracted requirements. Specifically, it generates database queries to find the location, quantity, and other details of products that match the requirements. The search results are output as a list of product information that meets the criteria. The input is the set of extracted requirements, and the output is a list of product information that matches the search.

[0834] Step 4:

[0835] The terminal provides the operator with a list of product information received from the server and displays an efficient picking route. Specifically, it uses visualization tools such as pyecharts to illustrate the route of the product list and provides the operator with picking instructions. The input is the product information list sent from the server, and the output is the picking route displayed on the operator's terminal.

[0836] Step 5:

[0837] The terminal uses a webcam to capture the operator's facial expressions and voice in real time, and uses EmotionRecognizer to recognize emotions. Specifically, it uses OpenCV to extract facial feature points and inputs the data into an emotion classification algorithm to infer emotions. The input is the captured facial and voice data, and the output is the recognized emotional state.

[0838] Step 6:

[0839] The server dynamically adjusts the displayed information and picking instructions based on emotional information from the EmotionRecognizer. Specifically, it provides appropriate actions, such as displaying a pop-up suggesting a break if the operator is tired. The input is the recognized emotional state, and the output is the adjusted information display and instructions.

[0840] Step 7:

[0841] The server and terminals work together to monitor the operator's work status in real time and track progress. Specifically, it records the operator's work speed and error rate, and provides feedback as needed. Input is data on the operator's actions during work, and output is progress reports and improvement suggestions.

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

[0843] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0844] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0845] [Third Embodiment]

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

[0847] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0848] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0850] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0852] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0853] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[0856] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0857] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0858] This invention is a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system mainly consists of the following steps: uploading the specifications, analyzing the specifications, extracting requirements, searching for product information, listing candidate products, and displaying the results.

[0859] A natural language explanation of the program's processing.

[0860] 1. Upload the specifications.

[0861] Users upload government bidding specifications to the system. Users send specifications in PDF or Word file format to the system using a dedicated interface.

[0862] 2. Analysis of the specifications

[0863] The server receives the uploaded specification document and analyzes its contents. The server uses natural language processing (NLP) techniques to extract key functional requirements and conditions from the entire text. Specifically, it identifies requirements such as "document scanning," "OCR recognition," "text processing speed of less than 1 second," and "resolution of 1920x1080 or higher."

[0864] 3. Extracting Requirements

[0865] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[0866] 4. Search for product information

[0867] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries multiple product catalogs, online product information sites, and APIs to collect product information that meets the criteria.

[0868] 5. List of candidate products

[0869] The server filters the search results and lists products that meet the requirements. This list includes information such as the product name, key specifications, price, and URL for purchase.

[0870] 6. Displaying the results

[0871] The terminal provides the user with a list of potential products. The user can view the displayed information through the interface and check the details. For example, product names, scan speeds, resolutions, and prices are displayed in a table format for easy comparison.

[0872] Specific example

[0873] Example of a specification document

[0874] The following is an excerpt from the specifications uploaded by the user:

[0875] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0876] Connection interface: USB 3.0

[0877] Supported formats: PDF, JPEG, PNG

[0878] System processing flow

[0879] 1. The user uploads the above specifications to the system.

[0880] 2. The server receives the specifications and analyzes their contents using natural language processing.

[0881] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[0882] 4. The server searches for product information in the database and on the internet based on these requirements.

[0883] 5. The server lists candidate products and filters them, for example, as follows:

[0884] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0885] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0886] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[0887] This allows users to efficiently and accurately select products that meet bidding requirements, thereby improving the efficiency and fairness of the bidding process.

[0888] The following describes the processing flow.

[0889] Step 1:

[0890] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in file formats such as PDF and Word using drag-and-drop or file selection functions.

[0891] Step 2:

[0892] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[0893] Step 3:

[0894] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[0895] Step 4:

[0896] The server extracts functional requirements and conditions from the analysis results and saves them as structured data. For example, to search for products that meet the "resolution" condition, it generates specific filter conditions such as "resolution >= 1920x1080".

[0897] Step 5:

[0898] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries product catalogs, online product information sites, and APIs to retrieve product information that meets the requirements. During this process, it also integrates data obtained from multiple sources.

[0899] Step 6:

[0900] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[0901] Step 7:

[0902] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[0903] Step 8:

[0904] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[0905] This series of processes allows users to quickly and efficiently select products that meet the necessary requirements based on government bidding specifications.

[0906] (Example 1)

[0907] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0908] In a system that quickly and accurately searches for and lists products that meet requirements based on government bidding specifications and provides them to users, it is necessary to eliminate the hassle of manual searches and the collection of inaccurate information, thereby improving efficiency and accuracy. Furthermore, it is required to collect the latest product information from multiple sources and update it in real time.

[0909] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0910] In this invention, the server includes means for the user to upload documents, means for analyzing the uploaded documents and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing objects that meet the requirements, and means for providing the user with the listed candidate objects. This enables the user to efficiently and accurately select products that meet the bidding requirements.

[0911] "Documents" refer to documents, including bidding specifications in PDF or Word format, that are uploaded to the system.

[0912] A "user" is an individual or organization that accesses the system and uploads and reviews bid specifications.

[0913] The "analysis means" refers to a combination of software and hardware used to analyze the content of uploaded documents using natural language processing technology and extract important functional requirements and conditions.

[0914] "Functional requirements" refer to the necessary functions and performance conditions extracted from a document by the analysis method. Examples include "document scanning," "OCR recognition," and "text processing speed."

[0915] "Conditions" refer to specific requirements or constraints extracted from a document by the analysis tool. For example, "resolution 1920x1080 or higher" or "USB 3.0".

[0916] A "search tool" is a software and hardware system for retrieving relevant information from databases and network sources based on extracted requirements.

[0917] "Target object" refers to a product or service that meets the bidding requirements, as identified through analytical and search methods.

[0918] "Listing" refers to the operation or process of organizing objects identified through a search method and presenting them to the user in a list format.

[0919] "Means of provision" refers to a combination of interface and hardware that displays the listed items on the user's terminal, enabling the user to view, compare, and select them.

[0920] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system uses natural language processing (NLP) technology to analyze the specifications, searches for product information based on the extracted requirements, and provides the results to the user.

[0921] Uploading the specifications

[0922] Users upload documents to the system. Users submit specifications in PDF or Word file format to the system using a dedicated interface. This process requires an internet connection, and users access the system via a web browser.

[0923] Analysis of specifications

[0924] The server receives uploaded documents and analyzes them using natural language processing techniques. Specifically, it uses software such as the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document. This process includes text analysis algorithms to identify keywords and important phrases within the specifications.

[0925] Extracting requirements

[0926] The server extracts specific requirements from the analysis results and structures them systematically. The server then categorizes these requirements and generates a parameter set for subsequent search operations. This data is stored in a database on the server.

[0927] Product Information Search

[0928] The server accesses multiple information sources, including databases and network resources, to search for information based on extracted requirements. For example, it might use Amazon APIs or APIs from various product manufacturers to collect product information in real time. The server then analyzes this information and lists products that meet the requirements.

[0929] List of candidate products

[0930] The server filters the search results and lists products that meet the requirements. The list includes product names, key specifications, prices, and URLs for purchasing the products, and the server organizes and stores this information.

[0931] Displaying Results

[0932] The terminal provides the user with a list of candidate products received from the server. The user can view this information and check the details through the interface. Products are displayed in a table format, making it easy for the user to compare the features of each product.

[0933] Specific example

[0934] The following is an excerpt from the specifications uploaded by the user:

[0935] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[0936] Connection interface: USB 3.0

[0937] Supported formats: PDF, JPEG, PNG

[0938] When a user uploads the above specifications to the system, the server analyzes the specifications and extracts the requirements. The server then searches for information based on requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG," and lists candidate products. For example, it might filter the results as follows:

[0939] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[0940] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[0941] As a result, the terminal displays a list of potential products to the user, allowing the user to compare and consider them. This enables the user to efficiently and accurately select a product that meets the bidding requirements.

[0942] Example of a prompt

[0943] "Please extract the functional requirements based on the following specifications and list the product information that meets them: document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher, USB 3.0, PDF, JPEG, PNG."

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

[0945] Step 1:

[0946] The user accesses the system interface and opens the upload window. The user selects the bid specification file in PDF or Word format and clicks the upload button.

[0947] Input: Tender specification file (PDF or Word)

[0948] Output: Specification file uploaded to the server

[0949] Step 2:

[0950] The server receives and saves the uploaded specification file. The server checks the file format and starts processing it as the appropriate format.

[0951] Input: Uploaded specification file

[0952] Output: Document data converted to a parseable format.

[0953] Step 3:

[0954] The server invokes a natural language processing (NLP) engine to analyze the document data. Specifically, it uses the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document.

[0955] Input: Document data converted to a parseable format.

[0956] Output: List of extracted functional requirements and conditions

[0957] Step 4:

[0958] The server organizes the extracted requirements and groups them by category. This generates a specific set of parameters to be used in subsequent search operations.

[0959] Input: List of extracted functional requirements and conditions

[0960] Output: Structured parameter set

[0961] Step 5:

[0962] The server queries databases and network sources (e.g., Amazon APIs and product manufacturer APIs) to find appropriate product information based on the requirements.

[0963] Input: Structured parameter set

[0964] Output: List of information on multiple candidate products

[0965] Step 6:

[0966] The server filters the search results and ultimately lists products that meet the requirements. Here, you organize the details such as product name, key specifications, price, and purchase URL.

[0967] Input: List of information on multiple candidate products

[0968] Output: A detailed list of the final listed products

[0969] Step 7:

[0970] The terminal displays the final product list received from the server in the user interface. The user can compare the displayed products and view details.

[0971] Input: A detailed list of the final listed products

[0972] Output: Product information displayed on the user interface

[0973] (Application Example 1)

[0974] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0975] In government bidding processes, the task of quickly and accurately searching for and comparing products that meet the requirements of the specifications is extremely labor-intensive. Furthermore, product information is scattered across multiple sources on the internet, making it difficult to find the right product. Moreover, the use of generative AI models, a new technology, demands more sophisticated requirements extraction. To solve these problems, a system is needed that efficiently and automatically searches for product information and proposes the most suitable product.

[0976] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0977] In this invention, the server includes means for a user to upload a government agency's bidding specification using a terminal; means for analyzing the contents of the uploaded specification and extracting functional requirements and conditions; means for searching for product information from a database and internet sources based on the extracted requirements and listing products that meet the requirements; means for providing the listed product candidates to the user's terminal; and means for using prompt statements to automatically extract the requirements of the specification using a generative AI model. This enables the user to quickly and accurately select a product that meets the bidding requirements.

[0978] A "terminal" is an electronic device used by users to upload bidding specifications or to view and compare product information.

[0979] A "server" is a central control unit that analyzes the contents of uploaded specifications and performs requirements extraction, product information search, and listing.

[0980] A "specification document" is a document that outlines the functional requirements and conditions presented when a government agency submits a tender request.

[0981] "Functional requirements" refer to the specific performance and conditions described in the specifications, and serve as the selection criteria for bids.

[0982] "Conditions" refer to supplementary selection requirements described in the specifications other than functional requirements.

[0983] A "database" is a digital information repository where product information is systematically stored.

[0984] "Information sources" refer to all resources that provide product information, including those on the internet and elsewhere.

[0985] "Listing" refers to selecting suitable candidates from the searched product information and displaying them in a list format.

[0986] A "generative AI model" is an artificial intelligence technology that uses advanced algorithms such as natural language processing to extract requirements from specifications.

[0987] A "prompt statement" is an instruction given to a generative AI model to extract requirements.

[0988] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to users. Specific embodiments for implementing this invention are described below.

[0989] System Overview

[0990] This system mainly consists of the following components:

[0991] 1. Terminal:

[0992] These are electronic devices used by users to upload government bidding specifications and to view and compare product information. Examples include smartphones, tablets, and personal computers.

[0993] 2. Server:

[0994] The system receives uploaded specifications, analyzes their contents, and extracts requirements. Furthermore, based on these extracted requirements, it searches for product information from databases and internet sources, and lists products that meet the requirements. The server is a chain software, utilizing software such as Flask, pdfminer, and OpenAI API.

[0995] Software and hardware to be used

[0996] Flask:

[0997] It is a Python microframework and will be used as the web server for this system.

[0998] pdfminer:

[0999] This is a Python library for extracting text from PDF documents.

[1000] OpenAI API:

[1001] It is used in generative AI models to extract requirements from specifications.

[1002] Data processing and calculation

[1003] The server processes the contents of the bid specification document uploaded by the user as follows:

[1004] 1. Text extraction:

[1005] Use pdfminer to extract text from a PDF specification document.

[1006] 2. Requirements Extraction:

[1007] The extracted text is processed using the OpenAI API, with prompt text input to perform natural language processing. This allows for the identification and extraction of specific functional requirements and conditions.

[1008] 3. Search for product information:

[1009] After the requirements are extracted, the server uses them to search for products that match the criteria from the database and multiple product information sources on the internet (e.g., APIs, online product information sites).

[1010] 4. List them:

[1011] From the searched product information, a list of product candidates that meet the requirements is generated and provided to the user's terminal.

[1012] Examples of specific cases and prompt statements

[1013] As a concrete example, the system operates in the following steps:

[1014] 1. The user uploads the following specifications via a smartphone app.

[1015] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1016] Connection interface: USB 3.0

[1017] Supported formats: PDF, JPEG, PNG

[1018] 2. The server uses pdfminer to extract the text from the specification document, and then uses the OpenAI API to input the following prompts.

[1019] Extract the requirements from the following text:

[1020] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1021] Connection interface: USB 3.0

[1022] Supported formats: PDF, JPEG, PNG

[1023] 3. The OpenAI API extracts the requirements, and the server searches for product information based on these requirements.

[1024] 4. List the products that meet the requirements and display them on the user's smartphone, for example, as shown below.

[1025] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1026] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1027] In this way, users can efficiently select the most suitable product.

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

[1029] Step 1:

[1030] Users upload government bidding specifications using their devices.

[1031] Users submit specifications in PDF or Word file format to the system via a dedicated interface. The input is the specification file, and the output is the specification data transferred to the server.

[1032] Step 2:

[1033] The server receives the uploaded specification file and analyzes its contents.

[1034] The server first uses the pdfminer library to extract text from the PDF specification document. This text becomes the target of analysis; the input is the raw data from the specification file, and the output is the extracted text data.

[1035] Step 3:

[1036] The server uses a generated AI model to analyze the contents of the specification document and extract the requirements.

[1037] The server uses the OpenAI API to input prompts for the extracted text. These prompts function as instructions for extracting the requirements from the specification. The input data consists of text data and prompts, and the output is a list of requirements.

[1038] Step 4:

[1039] The server searches for product information from databases and internet sources based on the extracted requirements.

[1040] Using database queries and internet APIs, the server collects product information that matches the requirements. The input is a list of requirements, and the output is a list of candidate products that satisfy the conditions.

[1041] Step 5:

[1042] The server filters the search results and lists products that meet the requirements.

[1043] The server filters the collected product information to identify products that fully meet the requirements. For example, it compares specifications such as scan speed, resolution, and supported formats. The input is the product information from the search results, and the output is a list of filtered product candidates.

[1044] Step 6:

[1045] The server provides the user's terminal with a list of potential products.

[1046] The server sends a list of product candidates to the user's terminal, and the user views and compares this information through the interface. The input is a filtered list of product candidates, and the output is the product information displayed to the user.

[1047] Step 7:

[1048] The user compares and considers the provided product candidates and selects the most suitable product.

[1049] Users can view product information provided on their device, compare the specifications and conditions of each product, and select the most suitable product. The input is the product information displayed to the user, and the output is the selected optimal product.

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

[1051] This invention is a system that automatically searches for and lists products that meet requirements based on government agency bidding specifications, and further recognizes the user's sentiment and dynamically adjusts the method of providing product candidates based on that information. This system mainly consists of the following steps: uploading specifications, analyzing specifications, extracting requirements, searching for product information, listing candidate products, displaying results, and recognizing the user's sentiment.

[1052] A natural language explanation of the program's processing.

[1053] 1. Upload the specifications.

[1054] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[1055] 2. Analysis of the specifications

[1056] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[1057] 3. Extracting Requirements

[1058] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[1059] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[1060] 4. Search for product information

[1061] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[1062] 5. List of candidate products

[1063] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[1064] 6. Display of Results and Sentiment Recognition

[1065] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[1066] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[1067] 7. Emotion Recognition and Dynamic Adjustment

[1068] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine.

[1069] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[1070] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[1071] Specific example

[1072] Example of a specification document

[1073] The following is an excerpt from the specifications uploaded by the user:

[1074] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1075] Connection interface: USB 3.0

[1076] Supported formats: PDF, JPEG, PNG

[1077] System processing flow

[1078] 1. The user uploads the above specifications to the system.

[1079] 2. The server receives the specifications and analyzes their contents using natural language processing.

[1080] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[1081] 4. The server searches for product information in the database and on the internet based on these requirements.

[1082] 5. The server lists candidate products and filters them, for example, as follows:

[1083] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1084] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1085] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[1086] 7. The device captures the user's facial expressions and voice, and the emotion engine recognizes the user's emotional state.

[1087] 8. The server dynamically adjusts the display order and highlights of the product list based on sentiment information to help users easily understand it.

[1088] This allows users to efficiently and accurately select products that meet bidding requirements, while also providing information that takes user emotions into consideration, thereby improving the efficiency and fairness of the bidding process.

[1089] The following describes the processing flow.

[1090] Step 1:

[1091] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[1092] Step 2:

[1093] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[1094] Step 3:

[1095] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[1096] Step 4:

[1097] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[1098] Step 5:

[1099] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[1100] Step 6:

[1101] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[1102] Step 7:

[1103] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[1104] Step 8:

[1105] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[1106] Step 9:

[1107] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine. Devices such as cameras and microphones are used for capture.

[1108] Step 10:

[1109] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[1110] Step 11:

[1111] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[1112] This series of processes not only allows users to efficiently and accurately select products that meet bidding requirements, but also provides information that takes users' feelings into consideration, thereby improving the efficiency and fairness of the bidding process.

[1113] (Example 2)

[1114] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1115] Government bidding processes involve numerous specifications, and selecting products that meet these requirements is extremely time-consuming and complex. Furthermore, simply listing product information without considering the user's emotional state makes it difficult for users to make appropriate choices. This can reduce the efficiency and fairness of the bidding process. Therefore, there is a need for a system that analyzes bidding specifications, quickly and accurately lists products that meet the requirements, and dynamically adjusts the information delivery method based on user emotions.

[1116] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for the user to upload the bidding specifications of government agencies, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for product information based on the extracted requirements and listing products that meet the requirements, means for providing the listed product candidates to the user, and means for recognizing the user's emotional state and dynamically adjusting the display order and points of focus of the product candidates based on that information. This makes it possible not only to select products that quickly and accurately meet the bidding requirements, but also to provide information based on the user's emotions. As a result, the efficiency of the bidding process is improved and fairness is ensured.

[1117] "Government agencies" refer to government agencies and local authorities that perform public duties.

[1118] A "bidding specification" refers to a document in which a government agency details the requirements and conditions necessary for a particular task or project.

[1119] A "user" refers to an individual or organization that uses the system to upload bidding specifications and search for and select product information.

[1120] "Means of uploading" refers to the functions and methods that users use to import bidding specifications into the system.

[1121] "Analysis means" refers to the techniques and methods used to analyze the contents of uploaded specifications and extract important information and requirements.

[1122] "Natural language processing" refers to the techniques and methods that enable computers to understand and process human language.

[1123] "Functional requirements" refer to items that describe in detail the performance and characteristics that a particular product or system must meet.

[1124] "Conditions" refer to other requirements and constraints that apply to the product or system as described in the specifications.

[1125] "Search methods" refer to methods and technologies for finding appropriate product information from databases or the internet based on extracted requirements.

[1126] "Product information" refers to detailed information such as the product name, specifications, price, and where to purchase it.

[1127] "Methods for listing" refer to methods and functions for selecting products that meet the requirements from the searched product information and organizing them into a list.

[1128] "Emotional state" refers to the user's psychological state, including, for example, confusion, satisfaction, and interest.

[1129] "Means of recognition" refers to technologies and methods for analyzing a user's facial expressions and voice to identify their emotional state.

[1130] "Means of dynamic adjustment" refers to functions and methods for changing the way product information is displayed and the content provided in real time based on the recognized emotional state of the user.

[1131] The present invention's system allows users to upload government tender specifications, analyzes the contents of the specifications, automatically searches for and lists products that meet the requirements, recognizes the user's sentiment, and dynamically adjusts the delivery method based on that information. This system is primarily implemented using the following hardware and software.

[1132] Hardware and software to be used

[1133] Web browser (e.g., Chrome, Firefox)

[1134] Web server software (e.g., Apache HTTP Server, NGINX)

[1135] Natural language processing tools (e.g., TextRazor, spaCy)

[1136] Database systems (e.g., MongoDB, MySQL)

[1137] Product information search APIs (e.g., Amazon Product Advertising API, Google Shopping API)

[1138] Frontend frameworks (e.g., React, Vue.js)

[1139] Emotion recognition libraries (e.g., OpenCV, DeepFace)

[1140] Edge devices and lightweight models (e.g., TensorFlow.js)

[1141] User actions and system processing

[1142] 1. Upload the specifications.

[1143] Users upload bidding specifications (in PDF or Word format) to the system via a dedicated web browser interface. Files can be easily imported using a file selection dialog or drag-and-drop functionality.

[1144] 2. Receiving and preparing files for analysis

[1145] The server receives and stores uploaded files using web server software. Next, it launches the appropriate parser (e.g., PDF parser, Word parser) depending on the file format and prepares to convert the contents of the specification document into text data.

[1146] 3. Analysis of the specifications and extraction of requirements

[1147] The server uses natural language processing tools such as TextRazor and spaCy to analyze text data. It divides the data into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080." The extracted results are stored in a database and used for subsequent search processes.

[1148] 4. Search for product information

[1149] Based on the extracted requirements, the server uses APIs such as the Amazon Product Advertising API and the Google Shopping API to retrieve appropriate product information from the internet. The search results are then filtered by integrating product catalog information and online product information.

[1150] 5. List of candidate products

[1151] The server lists filtered product information and organizes the products that meet the requirements. This information is then converted to HTML or JSON format and provided to the terminal.

[1152] 6. Display of Results and Sentiment Recognition

[1153] The terminal displays a product list sent from the server in the user interface. Using front-end frameworks such as React or Vue.js, the product information is displayed in a table format to make it easier for the user to compare products.

[1154] 7. Emotion Recognition and Dynamic Adjustment

[1155] The device uses a webcam and microphone to capture the user's facial expressions and voice in real time. This data is preprocessed on the edge device and analyzed using emotion recognition libraries (e.g., OpenCV, DeepFace). The analysis results are sent to a server, which dynamically adjusts the display order and focus points of the product list based on the user's emotional state.

[1156] Examples of specific cases and prompt statements

[1157] Specific example

[1158] 1. The user uploads a bidding specification document like the following:

[1159] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1160] Connection interface: USB 3.0

[1161] Supported formats: PDF, JPEG, PNG

[1162] 2. The server receives this and uses TextRazor to extract requirements such as "document scan," "OCR recognition," and "resolution 1920x1080."

[1163] 3. The server queries the Amazon Product Advertising API to collect and filter product information that meets the criteria.

[1164] 4. The terminal displays the listed product information in the user interface. The user compares the details of each product.

[1165] 5. The device captures the user's facial expressions and voice, and analyzes them using an emotion recognition library. For example, if the user appears confused, the server highlights and redisplays key points of the product information.

[1166] Example of a prompt

[1167] 1. Program Generation: "Generate a program for a system that automatically searches and lists requirements based on government bidding specifications, recognizes user sentiment, and dynamically adjusts the delivery method."

[1168] 2. Data Analysis: "Please explain how to extract requirements from uploaded PDF or Word specification documents and analyze them using natural language processing (NLP)."

[1169] 3. Product Search: "How can I search for product information from databases and internet sources based on the extracted requirements?"

[1170] 4. Emotion Recognition: "Please explain how to analyze a user's facial expressions and voice to recognize their emotions and adjust product displays based on that feedback."

[1171] In this way, products that efficiently and accurately meet bidding requirements are selected, and information is provided based on user sentiment. This improves the efficiency and fairness of the bidding process.

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

[1173] Step 1: Upload the specifications

[1174] Users upload bidding specifications to the system. This is done using a web browser, either via drag-and-drop or a file selection dialog. Input data consists of specifications in PDF or Word file format, and output is a file stored on the server. Specifically, the moment a file is uploaded to the server, it is received by the web server software.

[1175] Step 2: Receiving and preparing files for analysis

[1176] The server receives uploaded files using web server software (e.g., Apache HTTP Server, NGINX) and temporarily stores them. Next, it starts a parser appropriate to the file format. The input data is a file stored on the server, and the output is text data. Specifically, a PDF parser or Word parser is started, and preparations are made to convert the file into text data.

[1177] Step 3: Analysis of the specifications

[1178] The server analyzes text data using natural language processing (NLP) tools (e.g., TextRazor, spaCy). The input data is a specification document converted into text, and the output is a set of requirements extracted through the analysis. Specifically, the NLP tool divides the text into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080."

[1179] Step 4: Extract and structure requirements

[1180] The server classifies the keywords and phrases extracted through analysis. The input data consists of the extracted keywords and phrases, and the output is a structured requirements dataset. Specifically, the server classifies the keywords by purpose and organizes them as functional requirements and performance requirements. This dataset is stored in a database (e.g., MongoDB, MySQL).

[1181] Step 5: Search for product information

[1182] The server searches for product information from databases and internet sources based on a requirements dataset. The input data is a structured requirements dataset, and the output is the retrieved product information. Specifically, it uses the Amazon Product Advertising API and Google Shopping API to query product information that meets the requirements and retrieve the relevant information.

[1183] Step 6: List and filter candidate products

[1184] The server filters the searched product information and lists products that meet the requirements. The input data is the searched product information, and the output is a list of filtered candidate products. Specifically, it filters based on conditions such as "scan speed of 1 second or less," "USB 3.0," and "resolution 1920x1080," and selects the appropriate products. This candidate list is converted into JSON or HTML format.

[1185] Step 7: Displaying Results and Recognizing Sentiments

[1186] The device displays a list of candidate products sent from the server in the user interface. The input data is a filtered list of candidate products, and the output is the product information displayed to the user. Specifically, it uses a frontend framework such as React or Vue.js to display the product information in a table format that makes it easy for the user to compare. The device also uses a webcam and microphone to capture the user's facial expressions and voice. This becomes the input data for emotion recognition.

[1187] Step 8: Emotion Recognition and Dynamic Adjustment

[1188] The server analyzes the user's emotional state using emotion recognition libraries (e.g., OpenCV, DeepFace) based on facial and audio data sent from the terminal. The input data is captured facial and audio data, and the output is information about the user's emotional state. Specifically, the system dynamically adjusts the product display order and points of focus to match the emotional state based on the analysis results. For example, if the user is confused, important product specifications are highlighted to help the user understand the information more easily.

[1189] (Application Example 2)

[1190] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1191] Inventory management and product picking processes in logistics centers are complex, requiring accurate classification and rapid retrieval of diverse product data. Furthermore, improving operator efficiency and addressing emotional aspects such as fatigue and stress are also necessary. Traditional systems often fail to adequately address these challenges.

[1192] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to upload government agency bidding specifications, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing candidates that meet the requirements, means for providing the listed candidates to the user, and means for recognizing the user's emotions in real time and dynamically adjusting the content provided. As a result, the operator can efficiently and accurately perform inventory management and picking processes, and emotional considerations can be taken into account in real time.

[1193] A "government tender specification" is a document presented by a government agency or public institution that details the technical and commercial conditions for the provision of products or services.

[1194] A "user" refers to an individual or organization that utilizes the system, and is the entity that provides input information or receives results.

[1195] "Means" refers to abstract or specific methods, including the functions of the methods or devices used to achieve a particular objective.

[1196] "Uploading" refers to the act of a user transferring data from their device to a server via the internet.

[1197] "Analysis" refers to the process of breaking down data and information into its components and revealing their structure.

[1198] "Functional requirements and conditions" refer to various requirements and constraints, such as performance, characteristics, and operating environment, that a particular product or service must meet.

[1199] "Searching" refers to the process of finding information in databases or on the internet based on specific criteria.

[1200] "Listing" refers to the act of displaying a list of candidates that meet certain criteria, based on data obtained through a search.

[1201] "Provision" refers to the act of a system presenting information or services to a user.

[1202] "Emotions" refer to the user's psychological state and include different emotional responses such as satisfaction, confusion, and fatigue.

[1203] "Real-time" refers to a state in which information is processed and provided instantly in synchronization with real-world time.

[1204] "Dynamic adjustment" refers to the process by which a system instantly changes how information is displayed and in what order, in response to the user's emotions and circumstances.

[1205] A "logistics center" refers to a facility where the storage, management, and shipping of goods are carried out in a centralized manner.

[1206] "Inventory management" refers to the process of understanding and appropriately maintaining the inventory status of goods at a logistics center.

[1207] "Picking" refers to the process of retrieving specific items from inventory based on orders or other criteria.

[1208] This invention provides an application to be installed on a smartphone, smart glasses, or robot carried by an operator in the inventory management and product picking process at a logistics center. This application is implemented using the following hardware and software.

[1209] Hardware and software to be used

[1210] Smartphone: A device carried by the operator that communicates with the server via an internet connection.

[1211] Smart glasses: A wearable device worn by operators that displays information on a screen.

[1212] Robot: A device that autonomously moves around within a logistics center and picks up goods.

[1213] Server: Processes data centrally and sends the results to the user's terminal.

[1214] NLPProcessor: A virtual library that uses natural language processing technology to extract requirements from bidding specifications.

[1215] EmotionRecognizer: A virtual library that recognizes the operator's emotions in real time.

[1216] Inventory Database: A database for managing inventory information at a logistics center.

[1217] pyecharts: A chart generation library for visualizing inventory information.

[1218] OpenCV: A camera control library for capturing the operator's facial expressions.

[1219] Webcam: Used to capture the operator's facial expressions in real time.

[1220] System processing flow

[1221] 1. The server receives the specifications uploaded by the operator, analyzes the contents using an NLP Processor, and extracts the functional requirements and conditions.

[1222] 2. The server searches for inventory information from the Inventory Database and internet sources based on the extracted requirements and lists potential products that meet the requirements.

[1223] 3. The terminal provides the operator with a list of potential products and displays an efficient picking route.

[1224] 4. The terminal captures the operator's facial expressions and voice in real time via a webcam and recognizes emotions using an EmotionRecognizer.

[1225] 5. The server dynamically adjusts the information displayed and picking instructions based on recognized emotions, thereby reducing operator stress and fatigue.

[1226] Specific example

[1227] For example, an operator uploads a specification document like this:

[1228] Required item: Item A, Quantity 10, Storage location: Section 1

[1229] Required item: Item B, Quantity 5, Storage location: Section 2

[1230] The server uses an NLP Processor to analyze the specifications and generate a list of requested items. Next, it searches the Inventory Database for item inventory information. After the candidates are listed, the terminal presents the operator with an efficient picking route. Simultaneously, the terminal uses a webcam to capture the operator's facial expressions and an EmotionRecognizer to recognize their emotions. For example, if the operator appears tired, the server can suggest slowing down their work pace based on that emotional information.

[1231] This system allows logistics center operators to perform inventory management and picking processes efficiently and accurately, while also enabling real-time emotional considerations.

[1232] Examples of prompts for a generative AI model:

[1233] You are a logistics center operator. Read the following specifications and set up a system to search for relevant inventory and provide the optimal picking route. Additionally, the system should recognize operator emotions in real time and provide appropriate support. Please proceed with the work using the following specifications as a guide:

[1234] Required items: Item A, Quantity 10, Storage location: Section 1

[1235] Required items: Item B, Quantity 5, Storage location: Section 2

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

[1237] Step 1:

[1238] Users upload inventory lists and picking lists for their logistics centers to the system. Specifically, users upload specification documents in Excel or CSV file format using a dedicated interface via drag-and-drop or file selection. In this process, the input is the file selected by the user, and the output is the contents of that file stored on the server.

[1239] Step 2:

[1240] The server receives the uploaded specification document and analyzes its contents using an NLP Processor. Specifically, it launches a parser appropriate to the file format and converts the specification document's contents into text data. This text data is then analyzed using natural language processing techniques to extract functional requirements and conditions. For example, it identifies requirements such as "Product A, Quantity 10, Storage Location Section 1". The input is the uploaded specification document file, and the output is the set of extracted requirements.

[1241] Step 3:

[1242] The server searches for corresponding inventory information from the Inventory Database and internet sources based on the extracted requirements. Specifically, it generates database queries to find the location, quantity, and other details of products that match the requirements. The search results are output as a list of product information that meets the criteria. The input is the set of extracted requirements, and the output is a list of product information that matches the search.

[1243] Step 4:

[1244] The terminal provides the operator with a list of product information received from the server and displays an efficient picking route. Specifically, it uses visualization tools such as pyecharts to illustrate the route of the product list and provides the operator with picking instructions. The input is the product information list sent from the server, and the output is the picking route displayed on the operator's terminal.

[1245] Step 5:

[1246] The terminal uses a webcam to capture the operator's facial expressions and voice in real time, and uses EmotionRecognizer to recognize emotions. Specifically, it uses OpenCV to extract facial feature points and inputs the data into an emotion classification algorithm to infer emotions. The input is the captured facial and voice data, and the output is the recognized emotional state.

[1247] Step 6:

[1248] The server dynamically adjusts the displayed information and picking instructions based on emotional information from the EmotionRecognizer. Specifically, it provides appropriate actions, such as displaying a pop-up suggesting a break if the operator is tired. The input is the recognized emotional state, and the output is the adjusted information display and instructions.

[1249] Step 7:

[1250] The server and terminals work together to monitor the operator's work status in real time and track progress. Specifically, it records the operator's work speed and error rate, and provides feedback as needed. Input is data on the operator's actions during work, and output is progress reports and improvement suggestions.

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

[1252] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[1254] [Fourth Embodiment]

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

[1256] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1257] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1258] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1259] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[1261] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1262] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1263] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[1266] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[1268] This invention is a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system mainly consists of the following steps: uploading the specifications, analyzing the specifications, extracting requirements, searching for product information, listing candidate products, and displaying the results.

[1269] A natural language explanation of the program's processing.

[1270] 1. Upload the specifications.

[1271] Users upload government bidding specifications to the system. Users send specifications in PDF or Word file format to the system using a dedicated interface.

[1272] 2. Analysis of the specifications

[1273] The server receives the uploaded specification document and analyzes its contents. The server uses natural language processing (NLP) techniques to extract key functional requirements and conditions from the entire text. Specifically, it identifies requirements such as "document scanning," "OCR recognition," "text processing speed of less than 1 second," and "resolution of 1920x1080 or higher."

[1274] 3. Extracting Requirements

[1275] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[1276] 4. Search for product information

[1277] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries multiple product catalogs, online product information sites, and APIs to collect product information that meets the criteria.

[1278] 5. List of candidate products

[1279] The server filters the search results and lists products that meet the requirements. This list includes information such as the product name, key specifications, price, and URL for purchase.

[1280] 6. Displaying the results

[1281] The terminal provides the user with a list of potential products. The user can view the displayed information through the interface and check the details. For example, product names, scan speeds, resolutions, and prices are displayed in a table format for easy comparison.

[1282] Specific example

[1283] Example of a specification document

[1284] The following is an excerpt from the specifications uploaded by the user:

[1285] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1286] Connection interface: USB 3.0

[1287] Supported formats: PDF, JPEG, PNG

[1288] System processing flow

[1289] 1. The user uploads the above specifications to the system.

[1290] 2. The server receives the specifications and analyzes their contents using natural language processing.

[1291] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[1292] 4. The server searches for product information in the database and on the internet based on these requirements.

[1293] 5. The server lists candidate products and filters them, for example, as follows:

[1294] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1295] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1296] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[1297] This allows users to efficiently and accurately select products that meet bidding requirements, thereby improving the efficiency and fairness of the bidding process.

[1298] The following describes the processing flow.

[1299] Step 1:

[1300] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in file formats such as PDF and Word using drag-and-drop or file selection functions.

[1301] Step 2:

[1302] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[1303] Step 3:

[1304] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[1305] Step 4:

[1306] The server extracts functional requirements and conditions from the analysis results and saves them as structured data. For example, to search for products that meet the "resolution" condition, it generates specific filter conditions such as "resolution >= 1920x1080".

[1307] Step 5:

[1308] Based on the extracted requirements, the server searches for product information from databases and internet sources. The server queries product catalogs, online product information sites, and APIs to retrieve product information that meets the requirements. During this process, it also integrates data obtained from multiple sources.

[1309] Step 6:

[1310] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[1311] Step 7:

[1312] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[1313] Step 8:

[1314] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[1315] This series of processes allows users to quickly and efficiently select products that meet the necessary requirements based on government bidding specifications.

[1316] (Example 1)

[1317] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1318] In a system that quickly and accurately searches for and lists products that meet requirements based on government bidding specifications and provides them to users, it is necessary to eliminate the hassle of manual searches and the collection of inaccurate information, thereby improving efficiency and accuracy. Furthermore, it is required to collect the latest product information from multiple sources and update it in real time.

[1319] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1320] In this invention, the server includes means for the user to upload documents, means for analyzing the uploaded documents and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing objects that meet the requirements, and means for providing the user with the listed candidate objects. This enables the user to efficiently and accurately select products that meet the bidding requirements.

[1321] "Documents" refer to documents, including bidding specifications in PDF or Word format, that are uploaded to the system.

[1322] A "user" is an individual or organization that accesses the system and uploads and reviews bid specifications.

[1323] The "analysis means" refers to a combination of software and hardware used to analyze the content of uploaded documents using natural language processing technology and extract important functional requirements and conditions.

[1324] "Functional requirements" refer to the necessary functions and performance conditions extracted from a document by the analysis method. Examples include "document scanning," "OCR recognition," and "text processing speed."

[1325] "Conditions" refer to specific requirements or constraints extracted from a document by the analysis tool. For example, "resolution 1920x1080 or higher" or "USB 3.0".

[1326] A "search tool" is a software and hardware system for retrieving relevant information from databases and network sources based on extracted requirements.

[1327] "Target object" refers to a product or service that meets the bidding requirements, as identified through analytical and search methods.

[1328] "Listing" refers to the operation or process of organizing objects identified through a search method and presenting them to the user in a list format.

[1329] "Means of provision" refers to a combination of interface and hardware that displays the listed items on the user's terminal, enabling the user to view, compare, and select them.

[1330] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to the user. This system uses natural language processing (NLP) technology to analyze the specifications, searches for product information based on the extracted requirements, and provides the results to the user.

[1331] Uploading the specifications

[1332] Users upload documents to the system. Users submit specifications in PDF or Word file format to the system using a dedicated interface. This process requires an internet connection, and users access the system via a web browser.

[1333] Analysis of specifications

[1334] The server receives uploaded documents and analyzes them using natural language processing techniques. Specifically, it uses software such as the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document. This process includes text analysis algorithms to identify keywords and important phrases within the specifications.

[1335] Extracting requirements

[1336] The server extracts specific requirements from the analysis results and structures them systematically. The server then categorizes these requirements and generates a parameter set for subsequent search operations. This data is stored in a database on the server.

[1337] Product Information Search

[1338] The server accesses multiple information sources, including databases and network resources, to search for information based on extracted requirements. For example, it might use Amazon APIs or APIs from various product manufacturers to collect product information in real time. The server then analyzes this information and lists products that meet the requirements.

[1339] List of candidate products

[1340] The server filters the search results and lists products that meet the requirements. The list includes product names, key specifications, prices, and URLs for purchasing the products, and the server organizes and stores this information.

[1341] Displaying Results

[1342] The terminal provides the user with a list of candidate products received from the server. The user can view this information and check the details through the interface. Products are displayed in a table format, making it easy for the user to compare the features of each product.

[1343] Specific example

[1344] The following is an excerpt from the specifications uploaded by the user:

[1345] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1346] Connection interface: USB 3.0

[1347] Supported formats: PDF, JPEG, PNG

[1348] When a user uploads the above specifications to the system, the server analyzes the specifications and extracts the requirements. The server then searches for information based on requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG," and lists candidate products. For example, it might filter the results as follows:

[1349] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1350] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1351] As a result, the terminal displays a list of potential products to the user, allowing the user to compare and consider them. This enables the user to efficiently and accurately select a product that meets the bidding requirements.

[1352] Example of a prompt

[1353] "Please extract the functional requirements based on the following specifications and list the product information that meets them: document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher, USB 3.0, PDF, JPEG, PNG."

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

[1355] Step 1:

[1356] The user accesses the system interface and opens the upload window. The user selects the bid specification file in PDF or Word format and clicks the upload button.

[1357] Input: Tender specification file (PDF or Word)

[1358] Output: Specification file uploaded to the server

[1359] Step 2:

[1360] The server receives and saves the uploaded specification file. The server checks the file format and starts processing it as the appropriate format.

[1361] Input: Uploaded specification file

[1362] Output: Document data converted to a parseable format.

[1363] Step 3:

[1364] The server invokes a natural language processing (NLP) engine to analyze the document data. Specifically, it uses the Google Cloud Natural Language API and the SpaCy library to extract key functional requirements and conditions from the entire document.

[1365] Input: Document data converted to a parseable format.

[1366] Output: List of extracted functional requirements and conditions

[1367] Step 4:

[1368] The server organizes the extracted requirements and groups them by category. This generates a specific set of parameters to be used in subsequent search operations.

[1369] Input: List of extracted functional requirements and conditions

[1370] Output: Structured parameter set

[1371] Step 5:

[1372] The server queries databases and network sources (e.g., Amazon APIs and product manufacturer APIs) to find appropriate product information based on the requirements.

[1373] Input: Structured parameter set

[1374] Output: List of information on multiple candidate products

[1375] Step 6:

[1376] The server filters the search results and ultimately lists products that meet the requirements. Here, you organize the details such as product name, key specifications, price, and purchase URL.

[1377] Input: List of information on multiple candidate products

[1378] Output: A detailed list of the final listed products

[1379] Step 7:

[1380] The terminal displays the final product list received from the server in the user interface. The user can compare the displayed products and view details.

[1381] Input: A detailed list of the final listed products

[1382] Output: Product information displayed on the user interface

[1383] (Application Example 1)

[1384] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1385] In government bidding processes, the task of quickly and accurately searching for and comparing products that meet the requirements of the specifications is extremely labor-intensive. Furthermore, product information is scattered across multiple sources on the internet, making it difficult to find the right product. Moreover, the use of generative AI models, a new technology, demands more sophisticated requirements extraction. To solve these problems, a system is needed that efficiently and automatically searches for product information and proposes the most suitable product.

[1386] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1387] In this invention, the server includes means for a user to upload a government agency's bidding specification using a terminal; means for analyzing the contents of the uploaded specification and extracting functional requirements and conditions; means for searching for product information from a database and internet sources based on the extracted requirements and listing products that meet the requirements; means for providing the listed product candidates to the user's terminal; and means for using prompt statements to automatically extract the requirements of the specification using a generative AI model. This enables the user to quickly and accurately select a product that meets the bidding requirements.

[1388] A "terminal" is an electronic device used by users to upload bidding specifications or to view and compare product information.

[1389] A "server" is a central control unit that analyzes the contents of uploaded specifications and performs requirements extraction, product information search, and listing.

[1390] A "specification document" is a document that outlines the functional requirements and conditions presented when a government agency submits a tender request.

[1391] "Functional requirements" refer to the specific performance and conditions described in the specifications, and serve as the selection criteria for bids.

[1392] "Conditions" refer to supplementary selection requirements described in the specifications other than functional requirements.

[1393] A "database" is a digital information repository where product information is systematically stored.

[1394] "Information sources" refer to all resources that provide product information, including those on the internet and elsewhere.

[1395] "Listing" refers to selecting suitable candidates from the searched product information and displaying them in a list format.

[1396] A "generative AI model" is an artificial intelligence technology that uses advanced algorithms such as natural language processing to extract requirements from specifications.

[1397] A "prompt statement" is an instruction given to a generative AI model to extract requirements.

[1398] This invention relates to a system that automatically searches for and lists products that meet the requirements of government agency tender specifications and provides them to users. Specific embodiments for implementing this invention are described below.

[1399] System Overview

[1400] This system mainly consists of the following components:

[1401] 1. Terminal:

[1402] These are electronic devices used by users to upload government bidding specifications and to view and compare product information. Examples include smartphones, tablets, and personal computers.

[1403] 2. Server:

[1404] The system receives uploaded specifications, analyzes their contents, and extracts requirements. Furthermore, based on these extracted requirements, it searches for product information from databases and internet sources, and lists products that meet the requirements. The server is a chain software, utilizing software such as Flask, pdfminer, and OpenAI API.

[1405] Software and hardware to be used

[1406] Flask:

[1407] It is a Python microframework and will be used as the web server for this system.

[1408] pdfminer:

[1409] This is a Python library for extracting text from PDF documents.

[1410] OpenAI API:

[1411] It is used in generative AI models to extract requirements from specifications.

[1412] Data processing and calculation

[1413] The server processes the contents of the bid specification document uploaded by the user as follows:

[1414] 1. Text extraction:

[1415] Use pdfminer to extract text from a PDF specification document.

[1416] 2. Requirements Extraction:

[1417] The extracted text is processed using the OpenAI API, with prompt text input to perform natural language processing. This allows for the identification and extraction of specific functional requirements and conditions.

[1418] 3. Search for product information:

[1419] After the requirements are extracted, the server uses them to search for products that match the criteria from the database and multiple product information sources on the internet (e.g., APIs, online product information sites).

[1420] 4. List them:

[1421] From the searched product information, a list of product candidates that meet the requirements is generated and provided to the user's terminal.

[1422] Examples of specific cases and prompt statements

[1423] As a concrete example, the system operates in the following steps:

[1424] 1. The user uploads the following specifications via a smartphone app.

[1425] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1426] Connection interface: USB 3.0

[1427] Supported formats: PDF, JPEG, PNG

[1428] 2. The server uses pdfminer to extract the text from the specification document, and then uses the OpenAI API to input the following prompts.

[1429] Extract the requirements from the following text:

[1430] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1431] Connection interface: USB 3.0

[1432] Supported formats: PDF, JPEG, PNG

[1433] 3. The OpenAI API extracts the requirements, and the server searches for product information based on these requirements.

[1434] 4. List the products that meet the requirements and display them on the user's smartphone, for example, as shown below.

[1435] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1436] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1437] In this way, users can efficiently select the most suitable product.

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

[1439] Step 1:

[1440] Users upload government bidding specifications using their devices.

[1441] Users submit specifications in PDF or Word file format to the system via a dedicated interface. The input is the specification file, and the output is the specification data transferred to the server.

[1442] Step 2:

[1443] The server receives the uploaded specification file and analyzes its contents.

[1444] The server first uses the pdfminer library to extract text from the PDF specification document. This text becomes the target of analysis; the input is the raw data from the specification file, and the output is the extracted text data.

[1445] Step 3:

[1446] The server uses a generated AI model to analyze the contents of the specification document and extract the requirements.

[1447] The server uses the OpenAI API to input prompts for the extracted text. These prompts function as instructions for extracting the requirements from the specification. The input data consists of text data and prompts, and the output is a list of requirements.

[1448] Step 4:

[1449] The server searches for product information from databases and internet sources based on the extracted requirements.

[1450] Using database queries and internet APIs, the server collects product information that matches the requirements. The input is a list of requirements, and the output is a list of candidate products that satisfy the conditions.

[1451] Step 5:

[1452] The server filters the search results and lists products that meet the requirements.

[1453] The server filters the collected product information to identify products that fully meet the requirements. For example, it compares specifications such as scan speed, resolution, and supported formats. The input is the product information from the search results, and the output is a list of filtered product candidates.

[1454] Step 6:

[1455] The server provides the user's terminal with a list of potential products.

[1456] The server sends a list of product candidates to the user's terminal, and the user views and compares this information through the interface. The input is a filtered list of product candidates, and the output is the product information displayed to the user.

[1457] Step 7:

[1458] The user compares and considers the provided product candidates and selects the most suitable product.

[1459] Users can view product information provided on their device, compare the specifications and conditions of each product, and select the most suitable product. The input is the product information displayed to the user, and the output is the selected optimal product.

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

[1461] This invention is a system that automatically searches for and lists products that meet requirements based on government agency bidding specifications, and further recognizes the user's sentiment and dynamically adjusts the method of providing product candidates based on that information. This system mainly consists of the following steps: uploading specifications, analyzing specifications, extracting requirements, searching for product information, listing candidate products, displaying results, and recognizing the user's sentiment.

[1462] A natural language explanation of the program's processing.

[1463] 1. Upload the specifications.

[1464] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[1465] 2. Analysis of the specifications

[1466] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[1467] 3. Extracting Requirements

[1468] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[1469] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[1470] 4. Search for product information

[1471] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[1472] 5. List of candidate products

[1473] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[1474] 6. Display of Results and Sentiment Recognition

[1475] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[1476] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[1477] 7. Emotion Recognition and Dynamic Adjustment

[1478] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine.

[1479] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[1480] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[1481] Specific example

[1482] Example of a specification document

[1483] The following is an excerpt from the specifications uploaded by the user:

[1484] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1485] Connection interface: USB 3.0

[1486] Supported formats: PDF, JPEG, PNG

[1487] System processing flow

[1488] 1. The user uploads the above specifications to the system.

[1489] 2. The server receives the specifications and analyzes their contents using natural language processing.

[1490] 3. The server extracts requirements such as "document scanning," "OCR recognition," "text processing speed of 1 second or less," "resolution of 1920x1080 or higher," "USB 3.0," and "PDF, JPEG, PNG."

[1491] 4. The server searches for product information in the database and on the internet based on these requirements.

[1492] 5. The server lists candidate products and filters them, for example, as follows:

[1493] Product A: Scan speed 1 second, resolution 1920x1080, USB 3.0, supported formats: PDF, JPEG, PNG

[1494] Product B: Scan speed 0.8 seconds, resolution 3840x2160, USB 3.0, supported formats: PDF, JPEG, PNG

[1495] 6. The terminal displays a list of potential products to the user, allowing the user to compare and consider the products.

[1496] 7. The device captures the user's facial expressions and voice, and the emotion engine recognizes the user's emotional state.

[1497] 8. The server dynamically adjusts the display order and highlights of the product list based on sentiment information to help users easily understand it.

[1498] This allows users to efficiently and accurately select products that meet bidding requirements, while also providing information that takes user emotions into consideration, thereby improving the efficiency and fairness of the bidding process.

[1499] The following describes the processing flow.

[1500] Step 1:

[1501] Users upload government bidding specifications to the system. Using a dedicated interface, users upload specifications in PDF or Word file format via drag-and-drop or file selection.

[1502] Step 2:

[1503] The server receives the uploaded specification document and prepares to parse the file. Specifically, it starts a parser appropriate to the file format and converts the contents of the specification document into text data.

[1504] Step 3:

[1505] The server analyzes the text data using natural language processing (NLP) techniques. It divides the text into sentences and paragraphs and extracts important keywords and phrases. For example, it identifies requirements such as "document scanning," "OCR recognition," and "resolution 1920x1080."

[1506] Step 4:

[1507] The server explicitly extracts functional requirements and conditions from the analysis results and systematically structures them. This process generates a specific set of parameters to be used in subsequent search operations.

[1508] Step 5:

[1509] The server searches for product information from databases and internet sources based on the extracted requirements. The server queries multiple product catalogs, online product information sites, and APIs to retrieve product information that meets the criteria. During this process, it also integrates data obtained from multiple sources.

[1510] Step 6:

[1511] The server filters the acquired product information and lists products that meet the requirements. For example, it filters products based on "scan speed of 1 second or less," "USB 3.0 connection interface," and "supported formats: PDF, JPEG, PNG," and lists the remaining products as candidates.

[1512] Step 7:

[1513] The server organizes the listed product information and converts it into a data format for the user. For example, it converts it to JSON or HTML format and includes necessary product names, specifications, prices, and purchase URLs.

[1514] Step 8:

[1515] The terminal displays a formatted product list in the user interface. Users can browse the displayed product list and check detailed information and comparison information for each product. The user interface displays product information in a table format, etc., to make it easy for users to understand and select products.

[1516] Step 9:

[1517] The device captures the user's facial expressions and voice in real time via the user interface and sends them to the emotion engine. Devices such as cameras and microphones are used for capture.

[1518] Step 10:

[1519] The emotion engine analyzes the facial expressions and voice data it receives to recognize the user's emotional state. For example, if the user is confused, it is classified as "confused," and if they are satisfied, it is classified as "satisfied."

[1520] Step 11:

[1521] The server receives feedback from the emotion engine and dynamically adjusts the display order and highlights of product candidates based on that information. For example, if the user is confused, key product specifications and recommended points are highlighted to make the information easier to understand.

[1522] This series of processes not only allows users to efficiently and accurately select products that meet bidding requirements, but also provides information that takes users' feelings into consideration, thereby improving the efficiency and fairness of the bidding process.

[1523] (Example 2)

[1524] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1525] Government bidding processes involve numerous specifications, and selecting products that meet these requirements is extremely time-consuming and complex. Furthermore, simply listing product information without considering the user's emotional state makes it difficult for users to make appropriate choices. This can reduce the efficiency and fairness of the bidding process. Therefore, there is a need for a system that analyzes bidding specifications, quickly and accurately lists products that meet the requirements, and dynamically adjusts the information delivery method based on user emotions.

[1526] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for the user to upload the bidding specifications of government agencies, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for product information based on the extracted requirements and listing products that meet the requirements, means for providing the listed product candidates to the user, and means for recognizing the user's emotional state and dynamically adjusting the display order and points of focus of the product candidates based on that information. This makes it possible not only to select products that quickly and accurately meet the bidding requirements, but also to provide information based on the user's emotions. As a result, the efficiency of the bidding process is improved and fairness is ensured.

[1527] "Government agencies" refer to government agencies and local authorities that perform public duties.

[1528] A "bidding specification" refers to a document in which a government agency details the requirements and conditions necessary for a particular task or project.

[1529] A "user" refers to an individual or organization that uses the system to upload bidding specifications and search for and select product information.

[1530] "Means of uploading" refers to the functions and methods that users use to import bidding specifications into the system.

[1531] "Analysis means" refers to the techniques and methods used to analyze the contents of uploaded specifications and extract important information and requirements.

[1532] "Natural language processing" refers to the techniques and methods that enable computers to understand and process human language.

[1533] "Functional requirements" refer to items that describe in detail the performance and characteristics that a particular product or system must meet.

[1534] "Conditions" refer to other requirements and constraints that apply to the product or system as described in the specifications.

[1535] "Search methods" refer to methods and technologies for finding appropriate product information from databases or the internet based on extracted requirements.

[1536] "Product information" refers to detailed information such as the product name, specifications, price, and where to purchase it.

[1537] "Methods for listing" refer to methods and functions for selecting products that meet the requirements from the searched product information and organizing them into a list.

[1538] "Emotional state" refers to the user's psychological state, including, for example, confusion, satisfaction, and interest.

[1539] "Means of recognition" refers to technologies and methods for analyzing a user's facial expressions and voice to identify their emotional state.

[1540] "Means of dynamic adjustment" refers to functions and methods for changing the way product information is displayed and the content provided in real time based on the recognized emotional state of the user.

[1541] The present invention's system allows users to upload government tender specifications, analyzes the contents of the specifications, automatically searches for and lists products that meet the requirements, recognizes the user's sentiment, and dynamically adjusts the delivery method based on that information. This system is primarily implemented using the following hardware and software.

[1542] Hardware and software to be used

[1543] Web browser (e.g., Chrome, Firefox)

[1544] Web server software (e.g., Apache HTTP Server, NGINX)

[1545] Natural language processing tools (e.g., TextRazor, spaCy)

[1546] Database systems (e.g., MongoDB, MySQL)

[1547] Product information search APIs (e.g., Amazon Product Advertising API, Google Shopping API)

[1548] Frontend frameworks (e.g., React, Vue.js)

[1549] Emotion recognition libraries (e.g., OpenCV, DeepFace)

[1550] Edge devices and lightweight models (e.g., TensorFlow.js)

[1551] User actions and system processing

[1552] 1. Upload the specifications.

[1553] Users upload bidding specifications (in PDF or Word format) to the system via a dedicated web browser interface. Files can be easily imported using a file selection dialog or drag-and-drop functionality.

[1554] 2. Receiving and preparing files for analysis

[1555] The server receives and stores uploaded files using web server software. Next, it launches the appropriate parser (e.g., PDF parser, Word parser) depending on the file format and prepares to convert the contents of the specification document into text data.

[1556] 3. Analysis of the specifications and extraction of requirements

[1557] The server uses natural language processing tools such as TextRazor and spaCy to analyze text data. It divides the data into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080." The extracted results are stored in a database and used for subsequent search processes.

[1558] 4. Search for product information

[1559] Based on the extracted requirements, the server uses APIs such as the Amazon Product Advertising API and the Google Shopping API to retrieve appropriate product information from the internet. The search results are then filtered by integrating product catalog information and online product information.

[1560] 5. List of candidate products

[1561] The server lists filtered product information and organizes the products that meet the requirements. This information is then converted to HTML or JSON format and provided to the terminal.

[1562] 6. Display of Results and Sentiment Recognition

[1563] The terminal displays a product list sent from the server in the user interface. Using front-end frameworks such as React or Vue.js, the product information is displayed in a table format to make it easier for the user to compare products.

[1564] 7. Emotion Recognition and Dynamic Adjustment

[1565] The device uses a webcam and microphone to capture the user's facial expressions and voice in real time. This data is preprocessed on the edge device and analyzed using emotion recognition libraries (e.g., OpenCV, DeepFace). The analysis results are sent to a server, which dynamically adjusts the display order and focus points of the product list based on the user's emotional state.

[1566] Examples of specific cases and prompt statements

[1567] Specific example

[1568] 1. The user uploads a bidding specification document like the following:

[1569] Required features: Document scanning, OCR recognition, text processing speed of 1 second or less, resolution of 1920x1080 or higher.

[1570] Connection interface: USB 3.0

[1571] Supported formats: PDF, JPEG, PNG

[1572] 2. The server receives this and uses TextRazor to extract requirements such as "document scan," "OCR recognition," and "resolution 1920x1080."

[1573] 3. The server queries the Amazon Product Advertising API to collect and filter product information that meets the criteria.

[1574] 4. The terminal displays the listed product information in the user interface. The user compares the details of each product.

[1575] 5. The device captures the user's facial expressions and voice, and analyzes them using an emotion recognition library. For example, if the user appears confused, the server highlights and redisplays key points of the product information.

[1576] Example of a prompt

[1577] 1. Program Generation: "Generate a program for a system that automatically searches and lists requirements based on government bidding specifications, recognizes user sentiment, and dynamically adjusts the delivery method."

[1578] 2. Data Analysis: "Please explain how to extract requirements from uploaded PDF or Word specification documents and analyze them using natural language processing (NLP)."

[1579] 3. Product Search: "How can I search for product information from databases and internet sources based on the extracted requirements?"

[1580] 4. Emotion Recognition: "Please explain how to analyze a user's facial expressions and voice to recognize their emotions and adjust product displays based on that feedback."

[1581] In this way, products that efficiently and accurately meet bidding requirements are selected, and information is provided based on user sentiment. This improves the efficiency and fairness of the bidding process.

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

[1583] Step 1: Upload the specifications

[1584] Users upload bidding specifications to the system. This is done using a web browser, either via drag-and-drop or a file selection dialog. Input data consists of specifications in PDF or Word file format, and output is a file stored on the server. Specifically, the moment a file is uploaded to the server, it is received by the web server software.

[1585] Step 2: Receiving and preparing files for analysis

[1586] The server receives uploaded files using web server software (e.g., Apache HTTP Server, NGINX) and temporarily stores them. Next, it starts a parser appropriate to the file format. The input data is a file stored on the server, and the output is text data. Specifically, a PDF parser or Word parser is started, and preparations are made to convert the file into text data.

[1587] Step 3: Analysis of the specifications

[1588] The server analyzes text data using natural language processing (NLP) tools (e.g., TextRazor, spaCy). The input data is a specification document converted into text, and the output is a set of requirements extracted through the analysis. Specifically, the NLP tool divides the text into sentences and paragraphs and extracts keywords and phrases such as "document scan," "OCR recognition," and "resolution 1920x1080."

[1589] Step 4: Extract and structure requirements

[1590] The server classifies the keywords and phrases extracted through analysis. The input data consists of the extracted keywords and phrases, and the output is a structured requirements dataset. Specifically, the server classifies the keywords by purpose and organizes them as functional requirements and performance requirements. This dataset is stored in a database (e.g., MongoDB, MySQL).

[1591] Step 5: Search for product information

[1592] The server searches for product information from databases and internet sources based on a requirements dataset. The input data is a structured requirements dataset, and the output is the retrieved product information. Specifically, it uses the Amazon Product Advertising API and Google Shopping API to query product information that meets the requirements and retrieve the relevant information.

[1593] Step 6: List and filter candidate products

[1594] The server filters the searched product information and lists products that meet the requirements. The input data is the searched product information, and the output is a list of filtered candidate products. Specifically, it filters based on conditions such as "scan speed of 1 second or less," "USB 3.0," and "resolution 1920x1080," and selects the appropriate products. This candidate list is converted into JSON or HTML format.

[1595] Step 7: Displaying Results and Recognizing Sentiments

[1596] The device displays a list of candidate products sent from the server in the user interface. The input data is a filtered list of candidate products, and the output is the product information displayed to the user. Specifically, it uses a frontend framework such as React or Vue.js to display the product information in a table format that makes it easy for the user to compare. The device also uses a webcam and microphone to capture the user's facial expressions and voice. This becomes the input data for emotion recognition.

[1597] Step 8: Emotion Recognition and Dynamic Adjustment

[1598] The server analyzes the user's emotional state using emotion recognition libraries (e.g., OpenCV, DeepFace) based on facial and audio data sent from the terminal. The input data is captured facial and audio data, and the output is information about the user's emotional state. Specifically, the system dynamically adjusts the product display order and points of focus to match the emotional state based on the analysis results. For example, if the user is confused, important product specifications are highlighted to help the user understand the information more easily.

[1599] (Application Example 2)

[1600] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1601] Inventory management and product picking processes in logistics centers are complex, requiring accurate classification and rapid retrieval of diverse product data. Furthermore, improving operator efficiency and addressing emotional aspects such as fatigue and stress are also necessary. Traditional systems often fail to adequately address these challenges.

[1602] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to upload government agency bidding specifications, means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions, means for searching for information based on the extracted requirements and listing candidates that meet the requirements, means for providing the listed candidates to the user, and means for recognizing the user's emotions in real time and dynamically adjusting the content provided. As a result, the operator can efficiently and accurately perform inventory management and picking processes, and emotional considerations can be taken into account in real time.

[1603] A "government tender specification" is a document presented by a government agency or public institution that details the technical and commercial conditions for the provision of products or services.

[1604] A "user" refers to an individual or organization that utilizes the system, and is the entity that provides input information or receives results.

[1605] "Means" refers to abstract or specific methods, including the functions of the methods or devices used to achieve a particular objective.

[1606] "Uploading" refers to the act of a user transferring data from their device to a server via the internet.

[1607] "Analysis" refers to the process of breaking down data and information into its components and revealing their structure.

[1608] "Functional requirements and conditions" refer to various requirements and constraints, such as performance, characteristics, and operating environment, that a particular product or service must meet.

[1609] "Searching" refers to the process of finding information in databases or on the internet based on specific criteria.

[1610] "Listing" refers to the act of displaying a list of candidates that meet certain criteria, based on data obtained through a search.

[1611] "Provision" refers to the act of a system presenting information or services to a user.

[1612] "Emotions" refer to the user's psychological state and include different emotional responses such as satisfaction, confusion, and fatigue.

[1613] "Real-time" refers to a state in which information is processed and provided instantly in synchronization with real-world time.

[1614] "Dynamic adjustment" refers to the process by which a system instantly changes how information is displayed and in what order, in response to the user's emotions and circumstances.

[1615] A "logistics center" refers to a facility where the storage, management, and shipping of goods are carried out in a centralized manner.

[1616] "Inventory management" refers to the process of understanding and appropriately maintaining the inventory status of goods at a logistics center.

[1617] "Picking" refers to the process of retrieving specific items from inventory based on orders or other criteria.

[1618] This invention provides an application to be installed on a smartphone, smart glasses, or robot carried by an operator in the inventory management and product picking process at a logistics center. This application is implemented using the following hardware and software.

[1619] Hardware and software to be used

[1620] Smartphone: A device carried by the operator that communicates with the server via an internet connection.

[1621] Smart glasses: A wearable device worn by operators that displays information on a screen.

[1622] Robot: A device that autonomously moves around within a logistics center and picks up goods.

[1623] Server: Processes data centrally and sends the results to the user's terminal.

[1624] NLPProcessor: A virtual library that uses natural language processing technology to extract requirements from bidding specifications.

[1625] EmotionRecognizer: A virtual library that recognizes the operator's emotions in real time.

[1626] Inventory Database: A database for managing inventory information at a logistics center.

[1627] pyecharts: A chart generation library for visualizing inventory information.

[1628] OpenCV: A camera control library for capturing the operator's facial expressions.

[1629] Webcam: Used to capture the operator's facial expressions in real time.

[1630] System processing flow

[1631] 1. The server receives the specifications uploaded by the operator, analyzes the contents using an NLP Processor, and extracts the functional requirements and conditions.

[1632] 2. The server searches for inventory information from the Inventory Database and internet sources based on the extracted requirements and lists potential products that meet the requirements.

[1633] 3. The terminal provides the operator with a list of potential products and displays an efficient picking route.

[1634] 4. The terminal captures the operator's facial expressions and voice in real time via a webcam and recognizes emotions using an EmotionRecognizer.

[1635] 5. The server dynamically adjusts the information displayed and picking instructions based on recognized emotions, thereby reducing operator stress and fatigue.

[1636] Specific example

[1637] For example, an operator uploads a specification document like this:

[1638] Required item: Item A, Quantity 10, Storage location: Section 1

[1639] Required item: Item B, Quantity 5, Storage location: Section 2

[1640] The server uses an NLP Processor to analyze the specifications and generate a list of requested items. Next, it searches the Inventory Database for item inventory information. After the candidates are listed, the terminal presents the operator with an efficient picking route. Simultaneously, the terminal uses a webcam to capture the operator's facial expressions and an EmotionRecognizer to recognize their emotions. For example, if the operator appears tired, the server can suggest slowing down their work pace based on that emotional information.

[1641] This system allows logistics center operators to perform inventory management and picking processes efficiently and accurately, while also enabling real-time emotional considerations.

[1642] Examples of prompts for a generative AI model:

[1643] You are a logistics center operator. Read the following specifications and set up a system to search for relevant inventory and provide the optimal picking route. Additionally, the system should recognize operator emotions in real time and provide appropriate support. Please proceed with the work using the following specifications as a guide:

[1644] Required items: Item A, Quantity 10, Storage location: Section 1

[1645] Required items: Item B, Quantity 5, Storage location: Section 2

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

[1647] Step 1:

[1648] Users upload inventory lists and picking lists for their logistics centers to the system. Specifically, users upload specification documents in Excel or CSV file format using a dedicated interface via drag-and-drop or file selection. In this process, the input is the file selected by the user, and the output is the contents of that file stored on the server.

[1649] Step 2:

[1650] The server receives the uploaded specification document and analyzes its contents using an NLP Processor. Specifically, it launches a parser appropriate to the file format and converts the specification document's contents into text data. This text data is then analyzed using natural language processing techniques to extract functional requirements and conditions. For example, it identifies requirements such as "Product A, Quantity 10, Storage Location Section 1". The input is the uploaded specification document file, and the output is the set of extracted requirements.

[1651] Step 3:

[1652] The server searches for corresponding inventory information from the Inventory Database and internet sources based on the extracted requirements. Specifically, it generates database queries to find the location, quantity, and other details of products that match the requirements. The search results are output as a list of product information that meets the criteria. The input is the set of extracted requirements, and the output is a list of product information that matches the search.

[1653] Step 4:

[1654] The terminal provides the operator with a list of product information received from the server and displays an efficient picking route. Specifically, it uses visualization tools such as pyecharts to illustrate the route of the product list and provides the operator with picking instructions. The input is the product information list sent from the server, and the output is the picking route displayed on the operator's terminal.

[1655] Step 5:

[1656] The terminal uses a webcam to capture the operator's facial expressions and voice in real time, and uses EmotionRecognizer to recognize emotions. Specifically, it uses OpenCV to extract facial feature points and inputs the data into an emotion classification algorithm to infer emotions. The input is the captured facial and voice data, and the output is the recognized emotional state.

[1657] Step 6:

[1658] The server dynamically adjusts the displayed information and picking instructions based on emotional information from the EmotionRecognizer. Specifically, it provides appropriate actions, such as displaying a pop-up suggesting a break if the operator is tired. The input is the recognized emotional state, and the output is the adjusted information display and instructions.

[1659] Step 7:

[1660] The server and terminals work together to monitor the operator's work status in real time and track progress. Specifically, it records the operator's work speed and error rate, and provides feedback as needed. Input is data on the operator's actions during work, and output is progress reports and improvement suggestions.

[1661] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1662] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1663] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1664] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1665] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1666] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1667] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1668] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1669] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1670] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1671] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1672] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1673] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

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

[1675] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1676] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1677] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1678] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1679] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1680] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1681] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.

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

[1683] (Claim 1)

[1684] A means for users to upload government bidding specifications,

[1685] A means for analyzing the contents of the uploaded specification document and extracting functional requirements and conditions,

[1686] A means of searching for product information based on extracted requirements and listing products that meet those requirements,

[1687] A means of providing users with a list of potential products,

[1688] A system that includes this.

[1689] (Claim 2)

[1690] The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from the specifications.

[1691] (Claim 3)

[1692] The system according to claim 1, wherein the search means collects product information from a database and multiple information sources on the internet.

[1693] "Example 1"

[1694] (Claim 1)

[1695] The means by which users upload documents,

[1696] A means for analyzing uploaded documents and extracting functional requirements and conditions,

[1697] A means for searching for information based on extracted requirements and listing objects that meet those requirements,

[1698] A means of providing the user with a list of potential target objects,

[1699] A system that includes this.

[1700] (Claim 2)

[1701] The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from a document.

[1702] (Claim 3)

[1703] The system according to claim 1, wherein the search means collects information from a database and multiple information sources on a network.

[1704] "Application Example 1"

[1705] (Claim 1)

[1706] A method for users to upload government bidding specifications using their devices,

[1707] A server means for analyzing the contents of the uploaded specifications and extracting functional requirements and conditions,

[1708] A means for searching for product information from databases and internet sources based on extracted requirements and listing products that meet the requirements,

[1709] A means of providing the listed product candidates to the user's terminal,

[1710] A system that includes this.

[1711] (Claim 2)

[1712] The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from the specifications.

[1713] (Claim 3)

[1714] The system according to claim 1, wherein the search means collects product information from a database and multiple information sources on the internet.

[1715] (Claim 4)

[1716] The system according to claim 1, which uses a generative AI model to extract functional requirements and conditions, and automatically extracts requirements from a specification using prompt statements.

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

[1718] (Claim 1)

[1719] A means for users to upload government bidding specifications,

[1720] A means for analyzing the contents of the uploaded specification document and extracting functional requirements and conditions,

[1721] A means of searching for product information based on extracted requirements and listing products that meet those requirements,

[1722] A means of providing users with a list of potential products,

[1723] A means of recognizing the user's emotional state and dynamically adjusting the display order and points of focus of product candidates based on that information,

[1724] A system that includes this.

[1725] (Claim 2)

[1726] The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from the specifications.

[1727] (Claim 3)

[1728] The system according to claim 1, wherein the search means collects product information from a database and multiple information sources on the internet.

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

[1730] (Claim 1)

[1731] A means for users to upload government bidding specifications,

[1732] A means for analyzing the contents of the uploaded specification document and extracting functional requirements and conditions,

[1733] A means of searching for information based on the extracted requirements and listing candidates that meet the requirements,

[1734] A means of providing the user with a list of candidates,

[1735] A means to recognize user emotions in real time and dynamically adjust the content provided,

[1736] A system that includes this.

[1737] (Claim 2)

[1738] The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from the specifications.

[1739] (Claim 3)

[1740] The system according to claim 1, wherein the search means collects information from a database and multiple information sources on the internet. [Explanation of Symbols]

[1741] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for users to upload government bidding specifications, A means for analyzing the contents of the uploaded specification document and extracting functional requirements and conditions, A means of searching for product information based on extracted requirements and listing products that meet those requirements, A means of providing users with a list of potential products, A system that includes this.

2. The system according to claim 1, wherein the analysis means uses natural language processing to extract functional requirements and conditions from the specifications.

3. The system according to claim 1, wherein the search means collects product information from a database and multiple information sources on the internet.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A