System

The system addresses the inefficiencies of conventional search systems by creating an index from document text and metadata, allowing searches with ambiguous keywords and considering synonyms, thus enhancing search accuracy and user experience.

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

Patent Information

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

AI Technical Summary

Technical Problem

Conventional search systems struggle with efficiently and accurately finding documents using vague or ambiguous keywords, often missing relevant results due to a lack of handling synonyms and similar expressions, leading to inefficient and inaccurate searches.

Method used

A system that scans documents, extracts text data, creates an index based on this data and metadata, and allows searching with ambiguous keywords, considering synonyms and similar expressions, while also displaying search results intuitively and efficiently.

Benefits of technology

Enables efficient and accurate document retrieval even with vague keywords, improving search accuracy and user convenience by listing relevant documents based on their content and emotional context.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037239000001_ABST
    Figure 2026037239000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for scanning all documents and extracting text data from the documents; means for creating an index based on the extracted text data; means for searching the index based on an ambiguous keyword entered by a user; means for listing and displaying search results to the user; and means for displaying documents selected from the search results to the user.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

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

[0004] Modern companies and organizations create and store a large number of documents, creating a need for fast and efficient search for necessary information. However, if the file name is unclear or the content is not accurately remembered, using conventional search systems can take a great deal of time and effort to find the desired document. Furthermore, because conventional search systems perform searches based on exact matches of entered keywords, if the keywords are unclear, relevant documents may be overlooked. It is necessary to improve this situation and provide a system that can efficiently and accurately search for necessary documents. [Means for solving the problem]

[0005] To solve the above problems, the present invention provides the following means: A system including means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, means for searching the index based on ambiguous keywords entered by the user, means for listing search results and displaying them to the user, and means for displaying documents selected from the search results to the user. The system also improves search accuracy and efficiency by adding means for acquiring the creation and update dates of documents and means for automatically extracting important keywords from the content of documents and including them in the index. Furthermore, the system improves user convenience by including means for optimizing searches by taking synonyms and similar expressions into account and means for intuitively entering keywords via a user interface.

[0006] A "document" is a digital file containing textual information, including formats such as PDF and PowerPoint.

[0007] "Scanning" is the process of using electronic devices to read the contents of a document and extract text data.

[0008] "Text data" refers to character information extracted from a document, and is the subject of search and analysis.

[0009] An "index" is an index that is organized and stored to enable efficient searches based on text data extracted from multiple documents.

[0010] A "keyword" is a fragment of text that a user enters to search for specific information.

[0011] "Ambiguous keywords" are general or imprecise text that does not have exact matching criteria but is used to search for relevant documents.

[0012] "Searching" is the process of performing keyword-based searches against an index to identify relevant documents.

[0013] "Listing" is the process of displaying documents identified as search results to the user in a list format.

[0014] "User interface" refers to the screen or input means by which a user interacts with a system.

[0015] "Synonyms" are different words that have the same or similar meaning.

[0016] "Similar expressions" are words that have the same meaning but are expressed differently.

[0017] "Metadata" is data that describes the structure and related information of a document, and includes the creation date and time, update date and time, and so on.

[0018] "Optical Character Recognition (OCR) technology" is a technology that identifies characters from images and extracts them as text data. [Brief explanation of the drawings]

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

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

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

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

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

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

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

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

[0027] [First embodiment]

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

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

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

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

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

[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 of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

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

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

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

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

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

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

[0040] The present invention provides a search function using ambiguous keywords in a document management system, which can efficiently and accurately search and present required information from a large amount of documents.

[0041] In an embodiment, the system is configured as follows.

[0042] 1. Creating a file index

[0043] The server periodically scans all documents on your PC and in shared folders, including PDF and PowerPoint files.

[0044] The server extracts the text data from each document, and in the case of PDF files, may use OCR technology to extract text from images.

[0045] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[0046] The server creates an index based on this text data and metadata and stores it in a database. The index is based on the number of times keywords appear and their relevance.

[0047] 2. Enter keywords and search

[0048] The device provides the user with a search box, and the user interface is intuitive, allowing the user to easily enter keywords.

[0049] A user types vague keywords into a search box, such as "success stories" or "reports."

[0050] The terminal transmits the keyword input by the user to the server.

[0051] The server searches the index to identify relevant documents, taking into account synonyms and similar expressions.

[0052] 3. Listing and displaying search results

[0053] The server will then list the search results, sorted by relevance, with each result including the file name, creation date, modification date, and a brief summary of the content.

[0054] The server sends a list of search results to the terminal.

[0055] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0056] 4. Viewing files

[0057] The user selects the desired document from the list and clicks on it.

[0058] The terminal sends a request to the server to retrieve the selected document.

[0059] The server transfers the requested document to the terminal.

[0060] The terminal displays the transferred document to the user.

[0061] Specific examples

[0062] For example, consider the case where a user searches using "success stories" as a keyword.

[0063] 1. Creating a file index

[0064] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0065] The server stores the extracted text and metadata in a database as an index.

[0066] 2. Enter keywords and search

[0067] The device provides the user with a search box.

[0068] A user types "success stories" into the search box.

[0069] The terminal sends the entered keyword to the server.

[0070] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0071] 3. Listing and displaying search results

[0072] The server lists the file "Sales Report Q1 2023" as a search result.

[0073] The server sends a list of search results to the terminal.

[0074] The terminal displays the search results to the user.

[0075] 4. Viewing files

[0076] The user clicks on "Sales Report Q1 2023" from the list.

[0077] The terminal sends a file acquisition request to the server.

[0078] The server transfers the file to the device.

[0079] The terminal displays the file to the user.

[0080] In this way, the present invention makes it possible to efficiently and accurately search for and display required information from a large amount of documents even using vague keywords.

[0081] The processing flow will be explained below.

[0082] Step 1:

[0083] The server scans all document files on the PC and in the shared folder, including PDFs and PowerPoint files (PPT / PPTX).

[0084] Step 2:

[0085] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images as needed.

[0086] Step 3:

[0087] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[0088] Step 4:

[0089] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0090] Step 5:

[0091] The device provides the user with a search box that has an intuitive user interface.

[0092] Step 6:

[0093] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0094] Step 7:

[0095] The terminal transmits the keyword input by the user to the server.

[0096] Step 8:

[0097] The server searches the index based on the received keywords, taking into account synonyms and similar expressions.

[0098] Step 9:

[0099] The server uses the index search results to generate a list of relevant documents, including the file name, creation date, modification date, and a brief summary of the document's contents.

[0100] Step 10:

[0101] The server sends a list of search results to the terminal.

[0102] Step 11:

[0103] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0104] Step 12:

[0105] The user selects a particular document from the list and clicks on it.

[0106] Step 13:

[0107] The terminal sends a request to the server to retrieve the selected document.

[0108] Step 14:

[0109] The server retrieves the requested document and transfers it to the terminal.

[0110] Step 15:

[0111] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0112] Example 1

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

[0114] Conventional document management systems have the problem of making it difficult to search using vague keywords, making it difficult to efficiently and accurately find the necessary information from a large number of documents. Additionally, they are unable to handle synonyms or similar expressions, resulting in low accuracy of search results.

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

[0116] In this invention, the server includes a means for periodically scanning all digital documents and extracting text data from the digital documents, a means for creating an index based on the extracted text data and metadata and storing it in a database, and a means for searching the index based on ambiguous keywords entered by a user and identifying related documents taking into account synonyms and similar expressions, thereby enabling efficient and accurate document searches using ambiguous keywords.

[0117] "Digital documents" refers to documents stored in electronic form, including PDF files and PowerPoint files.

[0118] "Scanning" refers to the process of searching all files in a specified directory at a specific time interval. This process detects new or updated documents.

[0119] "Text data" refers to the textual information in a digital document, including textual information in an image, which may be extracted using OCR technology.

[0120] "Metadata" refers to additional information related to a digital document, such as the file name, creation date and time, modification date and time, and file size.

[0121] An "index" is a searchable data structure generated based on document content and metadata, allowing for efficient keyword searches.

[0122] "Database" refers to a system for storing indexes and other related information for digital documents, typically an SQL or NoSQL database.

[0123] "Ambiguous keywords" refer to abstract or broad search terms that do not precisely specify a particular document or information, but may contain related content.

[0124] "Synonyms" are different words that have similar or identical meanings, improving search precision and relevance.

[0125] "Look-alikes" are phrases or words that have the same or similar meaning but are worded differently, which broadens your search.

[0126] "Search results" refers to a collection of relevant documents extracted from the index based on keywords entered by the user. Search results include the document name and a brief summary of its contents.

[0127] This document management system provides document search functionality using ambiguous keywords, and can efficiently and accurately search and present required information from a large amount of digital documents. This system is composed of three entities: a server, a terminal, and a user, each of which plays a specific role.

[0128] System Components

[0129] 1. Server:

[0130] The server periodically scans all digital documents stored on PCs or in shared folders and extracts text data from them. Specifically, it extracts text from PDF files using OCR technology such as Tesseract or Google® Cloud Vision API. It also obtains metadata such as the document's creation date and update date. Based on this data, the server creates an index using a search engine such as ElasticSearch® or Apache® Solr and stores it in a database.

[0131] 2. Terminal:

[0132] The device holds the user interface that provides the user with a search box. The search box is implemented using front-end frameworks such as React and Angular. When the user enters an ambiguous keyword in the search box, the device sends the keyword to the server via an HTTP request. The device is also responsible for displaying the search results received from the server.

[0133] 3. User:

[0134] Users can operate the system through their terminals and search for relevant documents by entering vague keywords in the search box. For example, they can enter keywords such as "success stories" or "reports" to search for relevant digital documents. After the search results are displayed, users can select the desired document and click to view it.

[0135] Specific examples

[0136] For example, when a user searches using the keyword "success stories," the flow is as follows.

[0137] 1. Create a file index:

[0138] The server scans a file called "Sales Report Q1 2023" and extracts the text from it, which includes phrases like "Project X success story" and "Market reaction." The server stores the extracted text and metadata in a database as an index.

[0139] 2. Enter keywords and search:

[0140] The device provides the user with a search box. The user enters "success stories" into the search box. The device sends the entered keywords to the server via an HTTP request. The server searches the index based on the keyword "success stories" to identify relevant documents, taking into account synonyms and similar expressions.

[0141] 3. Listing and displaying search results:

[0142] The server lists the file "Sales Report Q1 2023" as a search result. The server sends the list of search results to the terminal. The terminal displays the search results to the user.

[0143] 4. Viewing files:

[0144] The user clicks "Sales Report Q1 2023" from the list. The device sends a file acquisition request to the server. The server transfers the file to the device. The device displays the file to the user.

[0145] Prompt Sentence Examples

[0146] For the generative AI model, we can input appropriate prompt sentences for sentence generation and learning as follows:

[0147] "Please explain the function of searching for vague keywords in a document management system. For example, please describe in detail the specific processing steps for searching using the keyword 'success story'."

[0148] The present invention allows users to search and access digital documents efficiently and accurately, even using ambiguous keywords.

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

[0150] Step 1:

[0151] The server periodically scans all digital documents on the PC or in a shared folder.

[0152] How it works: The server uses a scheduler such as a cron job to search the specified directory at regular intervals, finding new or changed documents and processing them.

[0153] Input: All digital documents on your PC or in a shared folder.

[0154] Output: A list of scanned documents.

[0155] Step 2:

[0156] The server extracts text data from the scanned document.

[0157] What it does: The server uses an OCR tool such as Tesseract or Google Cloud Vision API to extract text from the PDF file.

[0158] Input: The scanned document.

[0159] Output: Extracted text data and document metadata (file name, creation date, modification date, etc.).

[0160] Step 3:

[0161] The server creates an index based on the document's text data and metadata and stores it in a database.

[0162] How it works: The server uses a search engine such as ElasticSearch or Apache Solr to create an index and store it in a database. The index is generated based on the number of times keywords appear and their relevance.

[0163] Input: Extracted text data and metadata.

[0164] Output: The indexes created and stored in the database.

[0165] Step 4:

[0166] The device provides a search box to the user.

[0167] What it does: The device uses front-end frameworks such as React and Angular to build an intuitive user interface and provide a search box.

[0168] Input: User interface design information.

[0169] Output: The search box provided to the user.

[0170] Step 5:

[0171] A user types vague keywords into a search box.

[0172] Specific action: A user enters a vague keyword, such as "success story," and clicks the search button.

[0173] Input: Vague keywords entered by the user.

[0174] Output: The entered keyword.

[0175] Step 6:

[0176] The terminal sends the entered keyword to the server.

[0177] Specific operation: The terminal sends the entered keyword to the server using an HTTP request (POST request).

[0178] Input: The keyword entered.

[0179] Output: The keyword sent to the server.

[0180] Step 7:

[0181] The server searches the index based on the submitted keywords and identifies relevant documents, taking into account synonyms and similar expressions.

[0182] How it works: The server uses ElasticSearch's query function to perform keyword searches, and also uses WordNet and BERT models to consider synonyms and similar expressions.

[0183] Input: The keyword entered.

[0184] Output: A list of relevant documents as search results.

[0185] Step 8:

[0186] The server lists the search results, sorts them by relevance, and sends them to the device.

[0187] Specific operation: The server scores the search results, sorts them by relevance, and sends them to the device in JSON format. The scoring is done using an algorithm such as BM25.

[0188] Input: A list of relevant documents.

[0189] Output: The search results list sent to the device.

[0190] Step 9:

[0191] The terminal displays a list of search results to the user.

[0192] How it works: The device uses React or Angular to display search results in a list format. Each result displays the file name, creation date and time, update date and time, and a brief summary of the content.

[0193] Input: The search result list received from the server.

[0194] Output: The search results list displayed to the user.

[0195] Step 10:

[0196] The user selects and clicks on the desired document from the search result list.

[0197] What happens: The user clicks on the document of interest and confirms the selection.

[0198] Input: The document selected by the user.

[0199] Output: User action depending on the selection confirmation.

[0200] Step 11:

[0201] The terminal sends a request to acquire the selected document to the server.

[0202] Specific operation: The terminal uses an HTTP request to send a request to retrieve the selected document to the server.

[0203] Input: Information about the document selected by the user.

[0204] Output: The file get request sent to the server.

[0205] Step 12:

[0206] The server transfers the requested document to the terminal.

[0207] Specific operation: The server transfers the document file to the device over the network, using the HTTPS protocol to maintain secure communication.

[0208] Input: A request to get a file.

[0209] Output: The document file sent to the device.

[0210] Step 13:

[0211] The terminal displays the transferred document to the user.

[0212] Specific behavior: The device displays the document selected by the user using a PDF viewer, slide viewer, etc.

[0213] Input: A document file transferred to the device.

[0214] Output: The document displayed to the user.

[0215] This allows the system to efficiently and accurately search for and provide the required documents to the user even when ambiguous keywords are used.

[0216] (Application example 1)

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

[0218] Logistics centers generate large volumes of documents and data every day, and there is a need to efficiently manage and search them. However, searching with vague keywords is difficult, making it difficult to quickly identify corresponding documents. While OCR technology is being introduced, existing systems for efficient text extraction and document management are insufficient. Furthermore, there is a need to quickly display search results to users and provide an appropriate viewing environment.

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

[0220] In this invention, the server includes a means for scanning all documents and extracting text data from the documents, a means for creating an index based on the extracted text data, and a means for searching the index based on ambiguous keywords entered by the user. This allows documents related to ambiguous keywords to be efficiently searched for and displayed to the user. The system also includes a means for extracting text from images using optical character recognition technology and a means for the robot to display a document list based on the search results, allowing users to quickly identify and view the desired document. This makes document management at logistics centers more efficient and accurate, improving business productivity.

[0221] "Document" means any content containing business information or data, whether in paper or digital format.

[0222] "Scanning" refers to the process of converting paper documents or images into digital form.

[0223] "Text data" refers to data that represents extracted character information in a digital format.

[0224] "Extraction" refers to the act of extracting specific information from a document or image.

[0225] An "index" refers to a table of contents or index in a database created to efficiently search and manage documents.

[0226] "Vague keywords" are general words or phrases that are not specific words or short phrases but are used to search for related information.

[0227] "Optical Character Recognition" (OCR) refers to technology that automatically reads text from images or scanned data.

[0228] A "robot" refers to a mechanical device that is programmed to automate a specific task or process.

[0229] "Display" refers to the act of presenting data on a screen or display so that the information can be viewed by a user.

[0230] "Prompt sentence" refers to a text phrase designed to guide a user through a particular data entry.

[0231] This invention provides a system for efficiently managing documents in a logistics center and quickly searching and displaying related information using ambiguous keywords. Specific embodiments for implementing this system are described below.

[0232] The system consists of hardware including a server, an optical character recognition (OCR)-enabled camera, a robot, and a computer, and software using pytesseract (an OCR library), whoosh (a full-text search engine), and the Python programming language.

[0233] Specifically, the server is configured with the following means:

[0234] A means to scan all documents and extract text data from them

[0235] A means of creating an index based on extracted text data

[0236] A means of searching the index based on vague keywords entered by the user

[0237] A way to list search results and display them to the user

[0238] A means for displaying selected documents from the search results to the user

[0239] A means of extracting text from images using optical character recognition techniques

[0240] A means by which the robot displays a list of documents based on search results

[0241] The server scans the document and extracts text from the image using optical character recognition technology. This text data is processed using the pytesseract library. The extracted text data and associated metadata are stored on the server and indexed using the whoosh search engine.

[0242] The user inputs keywords through the robot. The user interface is intuitive and the format makes it easy to input keywords by following the prompts. Examples of such prompts are as follows:

[0243] If you want to disable the global setting, enter the global keyword.

[0244] Examples: "Success Stories", "Logistics Reports", "Inventory Management"

[0245] Based on the keywords entered by the user, the server searches the index and extracts relevant documents, taking into account synonyms and similar expressions, so even ambiguous keywords can produce appropriate results.

[0246] The search results are sent from the server to the robot, which then displays the results in a list to the user, who can then select the desired document from the list and view it on their device.

[0247] For example, if a user searches for the keyword "success stories," the system will search for all relevant documents and have the robot display a list of results, from which the user can select and view the relevant documents.

[0248] This will enable efficient and accurate document management and rapid retrieval at logistics centers, improving business productivity.

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

[0250] Step 1: Scan and OCR the document

[0251] The server periodically scans all documents and extracts text data from PDF and image files. Specifically, it uses an OCR-enabled camera or image scanner and extracts text from images using the pytesseract library. The input is the document file, and the output is the extracted text data.

[0252] Step 2: Indexing text data and metadata

[0253] The server obtains the extracted text data and metadata such as the creation and update dates of the documents, and creates an index using whoosh. The input is text data and metadata, and the output is an index. Specifically, the index includes the number of times keywords appear and their relevance.

[0254] Step 3: Providing a user interface and entering keywords

[0255] The terminal provides the user with a search box, in which the user inputs vague keywords. The prompt is "Please input keywords. Examples: 'Success stories', 'Logistics reports', 'Inventory management'." The input is the keyword entered by the user, and the output is the search request.

[0256] Step 4: Keyword-based index search

[0257] The server searches the index based on fuzzy keywords submitted by the user. It uses the whoosh search engine to identify relevant documents, taking into account synonyms and similar expressions. The input is the fuzzy keywords and the index, and the output is a list of search results.

[0258] Step 5: Listing and displaying search results

[0259] The server lists the search results and sends the list, sorted by relevance, to the terminal. Specifically, the list includes the file name, creation date and time, update date and time, and a brief summary of the content. The input is the search results, and the output is the list of documents. The terminal displays this list to the user.

[0260] Step 6: Select and view the document

[0261] The user selects and clicks on the desired document from the list. The terminal sends a request for the selected document to the server. The server transfers the requested document to the terminal, and the terminal displays the transferred document to the user. The input is the selected document, and the output is the document displayed to the user.

[0262] Step 7: Robot display of search results

[0263] The robot displays a list of search results sent from the server, allowing the user to quickly identify the desired document. The robot provides a user interface based on prompts, and the user inputs keywords. The input is a list of search results, and the output is the search results displayed to the user.

[0264] Through these steps, document management at the logistics center is efficiently realized.

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

[0266] This invention provides a document management system with a search function that combines an emotion engine that recognizes user emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and user emotions.

[0267] In an embodiment, the system is configured as follows.

[0268] 1. Creating a file index

[0269] The server periodically scans all documents on the PC and in the shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[0270] The server extracts text data from scanned documents. In the case of PDF files, it uses OCR technology to extract character data from images, if necessary.

[0271] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[0272] The server creates an index based on this text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0273] 2. Enter keywords and search

[0274] The device provides the user with a search box that has an intuitive user interface.

[0275] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0276] The terminal transmits the keyword input by the user to the server.

[0277] The server searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[0278] 3. Operation of the Emotion Engine

[0279] The server analyzes the user's search operations and input content, as well as their emotions in real time using facial recognition and voice analysis technologies.

[0280] The server analyzes the emotional data and adjusts the filtering and display order of search results. For example, if the user is excited, positive content such as success stories will be displayed first.

[0281] 4. Listing and displaying search results

[0282] The server generates a list of search results that reflect the sentiment data and sorts them by relevance, including the file name, creation date, modification date, and a brief summary of the document's contents.

[0283] The server sends a list of search results to the terminal.

[0284] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0285] 5. Viewing files

[0286] The user selects a particular document from the list and clicks on it.

[0287] The terminal sends a request to the server to retrieve the selected document.

[0288] The server retrieves the requested document and transfers it to the terminal.

[0289] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0290] Specific examples

[0291] For example, consider a case where a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for highly interesting content.

[0292] 1. Creating a file index

[0293] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0294] The server stores the extracted text and metadata in a database as an index.

[0295] 2. Enter keywords and search

[0296] The device provides the user with a search box.

[0297] A user types "success stories" into the search box.

[0298] The terminal sends the entered keyword to the server.

[0299] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0300] 3. Operation of the Emotion Engine

[0301] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[0302] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[0303] 4. Listing and displaying search results

[0304] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[0305] The server sends a list of search results to the terminal.

[0306] The terminal displays the search results to the user.

[0307] 5. Viewing files

[0308] The user clicks on "Sales Report Q1 2023" from the list.

[0309] The terminal sends a file acquisition request to the server.

[0310] The server transfers the file to the device.

[0311] The terminal displays the file to the user.

[0312] In this way, the present invention can provide more personalized search results and improve the user experience by also taking the user's emotions into consideration.

[0313] The processing flow will be explained below.

[0314] Step 1:

[0315] The server periodically scans all document files on PCs and in shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[0316] Step 2:

[0317] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images.

[0318] Step 3:

[0319] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[0320] Step 4:

[0321] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0322] Step 5:

[0323] The device provides the user with a search box that has an intuitive user interface.

[0324] Step 6:

[0325] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0326] Step 7:

[0327] The terminal transmits the keyword input by the user to the server.

[0328] Step 8:

[0329] Before the server searches the index, the emotion engine analyzes the user's emotions, using facial recognition and voice analysis techniques to recognize the user's current emotional state (e.g., excitement, disappointment, interest, etc.).

[0330] Step 9:

[0331] The server takes into account the user's emotional data and searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[0332] Step 10:

[0333] The server prioritizes search results based on emotional data, for example, if the user is excited, it will prioritize positive success stories.

[0334] Step 11:

[0335] The server lists the search results, sorted by relevance, and includes the file name, creation date, modification date, and a brief summary of the document's contents.

[0336] Step 12:

[0337] The server sends a list of search results to the terminal.

[0338] Step 13:

[0339] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0340] Step 14:

[0341] The user selects a particular document from the list and clicks on it.

[0342] Step 15:

[0343] The terminal sends a request to the server to retrieve the selected document.

[0344] Step 16:

[0345] The server retrieves the requested document and transfers it to the terminal.

[0346] Step 17:

[0347] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0348] Example 2

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

[0350] Conventional document management systems have difficulty in quickly obtaining accurate search results when users enter ambiguous keywords. Furthermore, they are unable to provide search results that take the user's emotions into account, making it difficult to improve the user experience.

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

[0352] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, and means for analyzing user sentiment and adjusting the filtering and display order of search results. This makes it possible to provide highly accurate search results based on the user's vague keywords, and by taking the user's sentiment into consideration, it becomes possible to instantly provide more personalized search results.

[0353] "Scanning" means using an electronic device to read the contents of a paper document or digital file and obtain it as digital data.

[0354] "Text data" refers to character information contained in a document, and is data expressed as a string of characters.

[0355] An "index" is an organized list of data created based on document content and metadata to improve search efficiency.

[0356] "Ambiguous keywords" refer to general words or expressions that are entered to indicate the information a user needs, but do not specifically identify the object of the search.

[0357] "Filtering" refers to the process of selecting only necessary data from a dataset based on specific conditions.

[0358] "Display order" refers to the order in which search results or data lists are displayed to the user, and is determined based on relevance and importance.

[0359] "Emotion analysis" refers to a technology that analyzes a user's facial expressions, voice, text, etc. to identify their current emotional state (e.g., excitement, joy, anger, sadness, happiness, etc.).

[0360] "User experience" refers to the overall experience and satisfaction a user has when using a system.

[0361] The present invention provides a system that recognizes user emotions in a document management system and adjusts search results based on those emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and the user's emotions.

[0362] The system includes the following components:

[0363] 1. Creating a file index

[0364] The server periodically scans all documents in the PC and in the shared folder. For example, it accesses the shared folder " / / fileserver01 / shared" of the host name "File Server 01" and scans files such as "2023 Progress Report.pptx" and "Financial Report.pdf."

[0365] To extract text data from scanned documents, the server uses OCR technology (e.g., Tesseract OCR) to extract text data from images in the case of the PDF file "accounting report.pdf."

[0366] The server retrieves the document metadata (e.g., file name, creation date and time, update date and time, etc.) For example, the server retrieves the creation date and time "2023-04-01" and update date and time "2023-04-15" for the PowerPoint file "2023 Progress Report.pptx."

[0367] The server creates an index based on the extracted text data and metadata and stores it in a database (e.g., Elasticsearch). The index is based on the number of occurrences of keywords such as "success stories" and "progress reports."

[0368] 2. Enter keywords and search

[0369] The device provides the user with a search box. Specifically, the search box is displayed in a web application using React.js.

[0370] A user types a vague keyword (e.g., "success story") into a search box.

[0371] The terminal sends the entered keyword to the server in JSON format.

[0372] The server searches the index based on the entered keywords, taking into account synonyms (e.g., "successful experience") and similar expressions.

[0373] 3. Operation of the Emotion Engine

[0374] The server uses facial expression recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure (registered trademark) Cognitive Services) to analyze users' search operations and input content in real time. Specifically, the server captures the user's facial expressions with a camera and analyzes emotions such as excitement and joy.

[0375] The server uses emotion data to filter and display search results. For example, if it determines that a user is excited, it will prioritize more positive content (e.g., "successful projects").

[0376] 4. Listing and displaying search results

[0377] The server then lists search results that reflect the sentiment data and sorts them by relevance. For example, it adjusts the results so that files such as "Sales Report Q1 2023" and "Project X Success Story" appear at the top of the results.

[0378] The server sends a list of search results to the terminal.

[0379] The terminal displays a list of search results to the user, who can then check and select the desired document from the displayed list.

[0380] 5. Viewing files

[0381] The user selects and clicks on a specific document from the list, for example, "Sales Report Q1 2023."

[0382] The terminal sends a request to the server to retrieve the selected document. The terminal requests the server to retrieve the file using an HTTP request.

[0383] The server retrieves the requested document and transfers it to the device. The file is transferred securely using the HTTPS protocol.

[0384] The device displays the file to the user, specifically displaying the document content using a built-in PDF viewer or presentation viewer.

[0385] Specific examples

[0386] For example, suppose a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for something very interesting.

[0387] 1. Creating a file index

[0388] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0389] The server stores the extracted text and metadata in a database as an index.

[0390] 2. Enter keywords and search

[0391] The device provides the user with a search box.

[0392] A user types "success stories" into the search box.

[0393] The terminal sends the entered keyword to the server.

[0394] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0395] 3. Operation of the Emotion Engine

[0396] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[0397] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[0398] 4. Listing and displaying search results

[0399] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[0400] The server sends a list of search results to the terminal.

[0401] The terminal displays the search results to the user.

[0402] 5. Viewing files

[0403] The user clicks on "Sales Report Q1 2023" from the list.

[0404] The terminal sends a file acquisition request to the server.

[0405] The server transfers the file to the device.

[0406] The terminal displays the file to the user.

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

[0408] Step 1:

[0409] Scan files and extract text data

[0410] The server periodically scans all documents in the PC and in the shared folder. The path to the shared folder (e.g. : / / PC / shared) is required as input.

[0411] Scanned files include PDFs and PowerPoint files (e.g., "2023 Progress Report.pptx" and "Financial Report.pdf").

[0412] The server extracts text data and metadata (file name, creation date and time, and update date and time) from scanned documents. For example, extract text data from the PDF file "Accounting Report.pdf" using Tesseract OCR, and obtain the file name and creation date and time (e.g., 2023-04-01) as metadata.

[0413] The output is a set of extracted text data and metadata.

[0414] Step 2:

[0415] Creating and saving indexes

[0416] The server creates an index based on the extracted text data and metadata. The input is the output data from the previous step.

[0417] Indexing involves calculating the number of occurrences and relevance of extracted keywords (e.g., the number of occurrences of "success stories").

[0418] The server stores the created index in the Elasticsearch database. As an output, you will get the index information stored in the database.

[0419] Step 3:

[0420] Enter keywords and submit a search request

[0421] The device provides the user with a search box, and the input is a user interface (e.g., a web app using React.js).

[0422] A user types vague keywords into a search box (e.g., "success stories").

[0423] The device sends the entered keywords to the server in JSON format, and as output, a search request is sent to the server.

[0424] Step 4:

[0425] Searching the index

[0426] The server searches the index based on the input keyword. The input is the keyword data sent from the terminal.

[0427] When searching, consider synonyms and similar expressions (e.g., "successful experience").

[0428] The server identifies a list of relevant documents and gives the search results as output.

[0429] Step 5:

[0430] Sentiment analysis and search result tailoring

[0431] The server uses facial recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze the user's search operations and input. The input is the user's facial expression data and voice data.

[0432] The server then uses the emotion data to filter and adjust the display order of search results. For example, if it determines that the user is excited, it will prioritize more positive content (e.g., "successful projects"). The adjusted search results are then output.

[0433] Step 6:

[0434] Listing and displaying search results

[0435] The server lists the refined search results and sorts them by relevance (e.g., "Sales report Q1 2023" or "Project X success stories"). The input is the refined search results from the previous step.

[0436] The server sends this list to the terminal.

[0437] The terminal displays the list of search results to the user. As an output, a list of search results is obtained that is displayed to the user.

[0438] Step 7:

[0439] Selecting and browsing files

[0440] The user selects and clicks on a specific document from a list (e.g., "Sales Report Q1 2023"). Input is the user's selection.

[0441] The terminal sends a request to the server to retrieve the selected document.

[0442] The server retrieves the requested document and transfers it to the terminal, and the output is the document data transferred to the terminal.

[0443] The device displays the transferred document file to the user, specifically, by using the built-in PDF viewer or presentation viewer to display the document content.

[0444] (Application example 2)

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

[0446] Conventional document management systems offer search functions based on vague keywords, but they are unable to consider the user's emotions or interest levels, and the search results often do not meet the user's expectations. In addition, particularly in physical stores, product searches and inventory management are often not performed quickly and accurately, making it difficult to improve the user experience.

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

[0448] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, means for searching the index based on vague keywords entered by the user, means for analyzing the user's facial expressions and tone of voice to generate emotion data, means for filtering search results and adjusting the display order based on the generated emotion data, means for listing the search results and displaying them to the user, and means for displaying documents selected from the search results to the user, thereby making it possible to provide personalized search results that take the user's emotions into consideration.

[0449] "Document" refers generally to digital files containing text data, including PDF files, PowerPoint files, and other text files.

[0450] "Text data" refers to the textual information extracted from documents, and may also be extracted from images using OCR technology.

[0451] An "index" is a data structure created to facilitate efficient searches based on text data and metadata within documents.

[0452] "Ambiguous keywords" are abstract and non-specific keywords that are used when it is difficult to identify the information being searched for.

[0453] "Search results" are a list of relevant documents extracted from the index based on keywords or expressions entered by the user.

[0454] "Facial expressions and tone of voice" refer to physical characteristics that indicate the user's emotional state, such as the user's facial movements or the pitch of their voice.

[0455] "Emotional data" refers to data that quantitatively indicates the user's emotional state, analyzed from facial expressions, tone of voice, etc.

[0456] "Filtering" is the process of narrowing search results based on specific criteria.

[0457] The "display order" refers to the order in which search results are presented to the user, and may be adjusted based on emotion data.

[0458] The document management and search system of the present invention is designed to realize inventory management and product search using smart glasses, especially in brick-and-mortar stores. This system is configured as follows, and the specific operating procedure will be explained below.

[0459] Hardware and Software Configuration

[0460] Hardware:

[0461] Smart glasses (e.g., equipped with a high-performance display, camera, and microphone)

[0462] server

[0463] Camera and microphone (built into smart glasses)

[0464] software:

[0465] OCR technology (e.g., Google Cloud Vision)

[0466] Speech analysis engine (e.g. Google Speech-to-Text API)

[0467] Sentiment analysis engine (e.g., Microsoft® Azure Emotion API)

[0468] Database (e.g. MySQL (registered trademark), NoSQL database - MongoDB)

[0469] Server-side index server (e.g. Elasticsearch)

[0470] Data processing and calculation process

[0471] Document data scanning and indexing

[0472] The server periodically scans all documents and extracts text data from PDF files, PowerPoint files, etc. In the case of PDF files, OCR technology is used to extract character data from images as needed. Along with the extracted text data, metadata such as the creation date and update date are also obtained. Based on this data, an index is created and stored in a database. This index is designed based on the number of occurrences and relevance of keywords within the document.

[0473] Keyword input and search

[0474] The user enters vague keywords into a search box using their smart glasses. The glasses then send the voice data to the server, which converts it into text using a speech analysis engine. The server then searches the index based on the entered keywords to identify relevant documents. Synonyms and similar expressions are also taken into account during this process.

[0475] Emotion Engine Operation

[0476] When a user wears the smart glasses, the built-in camera and microphone capture the user's facial expressions and tone of voice to analyze their emotions in real time. The emotion analysis engine generates emotional data such as excitement, joy, and confusion, and sends it to the server. The server then uses this emotional data to filter and display search results. For example, if the user is excited, it will prioritize displaying new and popular products that interest them.

[0477] Listing and displaying search results

[0478] The server takes emotion data into account to create a list of search results, sorting them by relevance. These results are then sent to the smart glasses and displayed as an overlay to the user. The user can then review the list and select the desired document or product.

[0479] Viewing files

[0480] The documents and product details selected by the user are displayed on the smart glasses. The server transfers the requested document file to the terminal, allowing the user to view the contents of the selected document.

[0481] Specific examples

[0482] For example, consider the case where a user puts on smart glasses in a physical store and performs a voice search for "the latest smartphone model." The voice analysis engine converts the speech into text and interprets it as "Do you have the latest smartphone model?" The sentiment analysis engine determines that the user is highly interested and prioritizes displaying new and popular products based on that.

[0483] Prompt Sentence Examples

[0484] Prompt: Describe the process of a smart glasses app that analyzes user sentiment and provides exciting overlays about the latest smartphone models.

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

[0486] Step 1:

[0487] Scanning documents and extracting text data

[0488] The server periodically scans all documents, including PDFs, PowerPoint files, and other digital files, and uses OCR technology (Google Cloud Vision) to extract text data from the images. The extracted text data is then stored as temporary data.

[0489] Input: Document file (PDF, PPTX, etc.)

[0490] Output: Text data

[0491] Step 2:

[0492] Metadata retrieval and indexing

[0493] The server obtains the metadata (creation date, update date, etc.) of the scanned documents. Based on this metadata and the extracted text data, it creates an index of the documents and stores it in a database (MySQL, MongoDB). This index includes the number of times keywords appear and their relevance.

[0494] Input: Text data, metadata

[0495] Output: Index data

[0496] Step 3:

[0497] Receiving voice input and converting it to text

[0498] The device (smart glasses) receives the user's voice input and sends it to the server, which uses a speech analysis engine (Google Speech-to-Text API) to convert the voice data into text, which is then used in the subsequent search process.

[0499] Input: Audio data

[0500] Output: Text data

[0501] Step 4:

[0502] Ambiguous Keyword Search

[0503] The server receives ambiguous keywords converted into text from the user and searches the index, taking into account synonyms and similar expressions, to generate a list of related documents and products.

[0504] Input: Texted keyword

[0505] Output: List of related documents

[0506] Step 5:

[0507] Facial and vocal emotion analysis

[0508] The device (smart glasses) uses a camera and microphone to capture the user's facial expressions and voice. The server uses an emotion analysis engine (Microsoft Azure Emotion API) to generate emotion data from this data. The generated emotion data indicates the user's excitement, joy, confusion, etc.

[0509] Input: facial expression data, voice data

[0510] Output: Emotion data

[0511] Step 6:

[0512] Filtering and sorting search results

[0513] The server adjusts the filtering and display order based on the generated emotion data. For example, if the user is excited, new or popular products will be displayed first. The results are sent to the smart glasses, where they are overlaid on the display.

[0514] Input: Emotion data, related document list

[0515] Output: A filtered and refined list of search results

[0516] Step 7:

[0517] Viewing detailed information

[0518] The user selects a specific document or product from the displayed search results. The server transfers detailed information based on this request to the device, which then displays it on the smart glasses, allowing the user to view the details.

[0519] Input: User's choice

[0520] Output: Detailed information (document content, product specifications, etc.)

[0521] Through these steps, the system achieves efficient and personalized document retrieval and product recommendations.

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

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

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

[0525] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0538] The present invention provides a search function using ambiguous keywords in a document management system, which can efficiently and accurately search and present required information from a large amount of documents.

[0539] In an embodiment, the system is configured as follows.

[0540] 1. Creating a file index

[0541] The server periodically scans all documents on your PC and in shared folders, including PDF and PowerPoint files.

[0542] The server extracts the text data from each document, and in the case of PDF files, may use OCR technology to extract text from images.

[0543] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[0544] The server creates an index based on this text data and metadata and stores it in a database. The index is based on the number of times keywords appear and their relevance.

[0545] 2. Enter keywords and search

[0546] The device provides the user with a search box, and the user interface is intuitive, allowing the user to easily enter keywords.

[0547] A user types vague keywords into a search box, such as "success stories" or "reports."

[0548] The terminal transmits the keyword input by the user to the server.

[0549] The server searches the index to identify relevant documents, taking into account synonyms and similar expressions.

[0550] 3. Listing and displaying search results

[0551] The server will then list the search results, sorted by relevance, with each result including the file name, creation date, modification date, and a brief summary of the content.

[0552] The server sends a list of search results to the terminal.

[0553] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0554] 4. Viewing files

[0555] The user selects the desired document from the list and clicks on it.

[0556] The terminal sends a request to the server to retrieve the selected document.

[0557] The server transfers the requested document to the terminal.

[0558] The terminal displays the transferred document to the user.

[0559] Specific examples

[0560] For example, consider the case where a user searches using "success stories" as a keyword.

[0561] 1. Creating a file index

[0562] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0563] The server stores the extracted text and metadata in a database as an index.

[0564] 2. Enter keywords and search

[0565] The device provides the user with a search box.

[0566] A user types "success stories" into the search box.

[0567] The terminal sends the entered keyword to the server.

[0568] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0569] 3. Listing and displaying search results

[0570] The server lists the file "Sales Report Q1 2023" as a search result.

[0571] The server sends a list of search results to the terminal.

[0572] The terminal displays the search results to the user.

[0573] 4. Viewing files

[0574] The user clicks on "Sales Report Q1 2023" from the list.

[0575] The terminal sends a file acquisition request to the server.

[0576] The server transfers the file to the device.

[0577] The terminal displays the file to the user.

[0578] In this way, the present invention makes it possible to efficiently and accurately search for and display required information from a large amount of documents even using vague keywords.

[0579] The processing flow will be explained below.

[0580] Step 1:

[0581] The server scans all document files on the PC and in the shared folder, including PDFs and PowerPoint files (PPT / PPTX).

[0582] Step 2:

[0583] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images as needed.

[0584] Step 3:

[0585] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[0586] Step 4:

[0587] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0588] Step 5:

[0589] The device provides the user with a search box that has an intuitive user interface.

[0590] Step 6:

[0591] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0592] Step 7:

[0593] The terminal transmits the keyword input by the user to the server.

[0594] Step 8:

[0595] The server searches the index based on the received keywords, taking into account synonyms and similar expressions.

[0596] Step 9:

[0597] The server uses the index search results to generate a list of relevant documents, including the file name, creation date, modification date, and a brief summary of the document's contents.

[0598] Step 10:

[0599] The server sends a list of search results to the terminal.

[0600] Step 11:

[0601] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0602] Step 12:

[0603] The user selects a particular document from the list and clicks on it.

[0604] Step 13:

[0605] The terminal sends a request to the server to retrieve the selected document.

[0606] Step 14:

[0607] The server retrieves the requested document and transfers it to the terminal.

[0608] Step 15:

[0609] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0610] Example 1

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

[0612] Conventional document management systems have the problem of making it difficult to search using vague keywords, making it difficult to efficiently and accurately find the necessary information from a large number of documents. Additionally, they are unable to handle synonyms or similar expressions, resulting in low accuracy of search results.

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

[0614] In this invention, the server includes a means for periodically scanning all digital documents and extracting text data from the digital documents, a means for creating an index based on the extracted text data and metadata and storing it in a database, and a means for searching the index based on ambiguous keywords entered by a user and identifying related documents taking into account synonyms and similar expressions, thereby enabling efficient and accurate document searches using ambiguous keywords.

[0615] "Digital documents" refers to documents stored in electronic form, including PDF files and PowerPoint files.

[0616] "Scanning" refers to the process of searching all files in a specified directory at a specific time interval. This process detects new or updated documents.

[0617] "Text data" refers to the textual information in a digital document, including textual information in an image, which may be extracted using OCR technology.

[0618] "Metadata" refers to additional information related to a digital document, such as the file name, creation date and time, modification date and time, and file size.

[0619] An "index" is a searchable data structure generated based on document content and metadata, allowing for efficient keyword searches.

[0620] "Database" refers to a system for storing indexes and other related information for digital documents, typically an SQL or NoSQL database.

[0621] "Ambiguous keywords" refer to abstract or broad search terms that do not precisely specify a particular document or information, but may contain related content.

[0622] "Synonyms" are different words that have similar or identical meanings, improving search precision and relevance.

[0623] "Look-alikes" are phrases or words that have the same or similar meaning but are worded differently, which broadens your search.

[0624] "Search results" refers to a collection of relevant documents extracted from the index based on keywords entered by the user. Search results include the document name and a brief summary of its contents.

[0625] This document management system provides document search functionality using ambiguous keywords, and can efficiently and accurately search and present required information from a large amount of digital documents. This system is composed of three entities: a server, a terminal, and a user, each of which plays a specific role.

[0626] System Components

[0627] 1. Server:

[0628] The server periodically scans all digital documents stored on PCs or in shared folders and extracts text data from them. Specifically, it extracts text from PDF files using OCR technologies such as Tesseract and Google Cloud Vision API. It also obtains metadata such as the document's creation and modification dates. Based on this data, the server creates an index using a search engine such as ElasticSearch or Apache Solr and stores it in a database.

[0629] 2. Terminal:

[0630] The device holds the user interface that provides the user with a search box. The search box is implemented using front-end frameworks such as React and Angular. When the user enters an ambiguous keyword in the search box, the device sends the keyword to the server via an HTTP request. The device is also responsible for displaying the search results received from the server.

[0631] 3. User:

[0632] Users can operate the system through their terminals and search for relevant documents by entering vague keywords in the search box. For example, they can enter keywords such as "success stories" or "reports" to search for relevant digital documents. After the search results are displayed, users can select the desired document and click to view it.

[0633] Specific examples

[0634] For example, when a user searches using the keyword "success stories," the flow is as follows.

[0635] 1. Create a file index:

[0636] The server scans a file called "Sales Report Q1 2023" and extracts the text from it, which includes phrases like "Project X success story" and "Market reaction." The server stores the extracted text and metadata in a database as an index.

[0637] 2. Enter keywords and search:

[0638] The device provides the user with a search box. The user enters "success stories" into the search box. The device sends the entered keywords to the server via an HTTP request. The server searches the index based on the keyword "success stories" to identify relevant documents, taking into account synonyms and similar expressions.

[0639] 3. Listing and displaying search results:

[0640] The server lists the file "Sales Report Q1 2023" as a search result. The server sends the list of search results to the terminal. The terminal displays the search results to the user.

[0641] 4. Viewing files:

[0642] The user clicks "Sales Report Q1 2023" from the list. The device sends a file acquisition request to the server. The server transfers the file to the device. The device displays the file to the user.

[0643] Prompt Sentence Examples

[0644] For the generative AI model, we can input appropriate prompt sentences for sentence generation and learning as follows:

[0645] "Please explain the function of searching for vague keywords in a document management system. For example, please describe in detail the specific processing steps for searching using the keyword 'success story'."

[0646] The present invention allows users to search and access digital documents efficiently and accurately, even using ambiguous keywords.

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

[0648] Step 1:

[0649] The server periodically scans all digital documents on the PC or in a shared folder.

[0650] How it works: The server uses a scheduler such as a cron job to search the specified directory at regular intervals, finding new or changed documents and processing them.

[0651] Input: All digital documents on your PC or in a shared folder.

[0652] Output: A list of scanned documents.

[0653] Step 2:

[0654] The server extracts text data from the scanned document.

[0655] What it does: The server uses an OCR tool such as Tesseract or Google Cloud Vision API to extract text from the PDF file.

[0656] Input: The scanned document.

[0657] Output: Extracted text data and document metadata (file name, creation date, modification date, etc.).

[0658] Step 3:

[0659] The server creates an index based on the document's text data and metadata and stores it in a database.

[0660] How it works: The server uses a search engine such as ElasticSearch or Apache Solr to create an index and store it in a database. The index is generated based on the number of times keywords appear and their relevance.

[0661] Input: Extracted text data and metadata.

[0662] Output: The indexes created and stored in the database.

[0663] Step 4:

[0664] The device provides a search box to the user.

[0665] What it does: The device uses front-end frameworks such as React and Angular to build an intuitive user interface and provide a search box.

[0666] Input: User interface design information.

[0667] Output: The search box provided to the user.

[0668] Step 5:

[0669] A user types vague keywords into a search box.

[0670] Specific action: A user enters a vague keyword, such as "success story," and clicks the search button.

[0671] Input: Vague keywords entered by the user.

[0672] Output: The entered keyword.

[0673] Step 6:

[0674] The terminal sends the entered keyword to the server.

[0675] Specific operation: The terminal sends the entered keyword to the server using an HTTP request (POST request).

[0676] Input: The keyword entered.

[0677] Output: The keyword sent to the server.

[0678] Step 7:

[0679] The server searches the index based on the submitted keywords and identifies relevant documents, taking into account synonyms and similar expressions.

[0680] How it works: The server uses ElasticSearch's query function to perform keyword searches, and also uses WordNet and BERT models to consider synonyms and similar expressions.

[0681] Input: The keyword entered.

[0682] Output: A list of relevant documents as search results.

[0683] Step 8:

[0684] The server lists the search results, sorts them by relevance, and sends them to the device.

[0685] Specific operation: The server scores the search results, sorts them by relevance, and sends them to the device in JSON format. The scoring is done using an algorithm such as BM25.

[0686] Input: A list of relevant documents.

[0687] Output: The search results list sent to the device.

[0688] Step 9:

[0689] The terminal displays a list of search results to the user.

[0690] How it works: The device uses React or Angular to display search results in a list format. Each result displays the file name, creation date and time, update date and time, and a brief summary of the content.

[0691] Input: The search result list received from the server.

[0692] Output: The search results list displayed to the user.

[0693] Step 10:

[0694] The user selects and clicks on the desired document from the search result list.

[0695] What happens: The user clicks on the document of interest and confirms the selection.

[0696] Input: The document selected by the user.

[0697] Output: User action depending on the selection confirmation.

[0698] Step 11:

[0699] The terminal sends a request to acquire the selected document to the server.

[0700] Specific operation: The terminal uses an HTTP request to send a request to retrieve the selected document to the server.

[0701] Input: Information about the document selected by the user.

[0702] Output: The file get request sent to the server.

[0703] Step 12:

[0704] The server transfers the requested document to the terminal.

[0705] Specific operation: The server transfers the document file to the device over the network, using the HTTPS protocol to maintain secure communication.

[0706] Input: A request to get a file.

[0707] Output: The document file sent to the device.

[0708] Step 13:

[0709] The terminal displays the transferred document to the user.

[0710] Specific behavior: The device displays the document selected by the user using a PDF viewer, slide viewer, etc.

[0711] Input: A document file transferred to the device.

[0712] Output: The document displayed to the user.

[0713] This allows the system to efficiently and accurately search for and provide the required documents to the user even when ambiguous keywords are used.

[0714] (Application example 1)

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

[0716] Logistics centers generate large volumes of documents and data every day, and there is a need to efficiently manage and search them. However, searching with vague keywords is difficult, making it difficult to quickly identify corresponding documents. While OCR technology is being introduced, existing systems for efficient text extraction and document management are insufficient. Furthermore, there is a need to quickly display search results to users and provide an appropriate viewing environment.

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

[0718] In this invention, the server includes a means for scanning all documents and extracting text data from the documents, a means for creating an index based on the extracted text data, and a means for searching the index based on ambiguous keywords entered by the user. This allows documents related to ambiguous keywords to be efficiently searched for and displayed to the user. The system also includes a means for extracting text from images using optical character recognition technology and a means for the robot to display a document list based on the search results, allowing users to quickly identify and view the desired document. This makes document management at logistics centers more efficient and accurate, improving business productivity.

[0719] "Document" means any content containing business information or data, whether in paper or digital format.

[0720] "Scanning" refers to the process of converting paper documents or images into digital form.

[0721] "Text data" refers to data that represents extracted character information in a digital format.

[0722] "Extraction" refers to the act of extracting specific information from a document or image.

[0723] An "index" refers to a table of contents or index in a database created to efficiently search and manage documents.

[0724] "Vague keywords" are general words or phrases that are not specific words or short phrases but are used to search for related information.

[0725] "Optical Character Recognition" (OCR) refers to technology that automatically reads text from images or scanned data.

[0726] A "robot" refers to a mechanical device that is programmed to automate a specific task or process.

[0727] "Display" refers to the act of presenting data on a screen or display so that the information can be viewed by a user.

[0728] "Prompt sentence" refers to a text phrase designed to guide a user through a particular data entry.

[0729] This invention provides a system for efficiently managing documents in a logistics center and quickly searching and displaying related information using ambiguous keywords. Specific embodiments for implementing this system are described below.

[0730] The system consists of hardware including a server, an optical character recognition (OCR)-enabled camera, a robot, and a computer, and software using pytesseract (an OCR library), whoosh (a full-text search engine), and the Python programming language.

[0731] Specifically, the server is configured with the following means:

[0732] A means to scan all documents and extract text data from them

[0733] A means of creating an index based on extracted text data

[0734] A means of searching the index based on vague keywords entered by the user

[0735] A way to list search results and display them to the user

[0736] A means for displaying selected documents from the search results to the user

[0737] A means of extracting text from images using optical character recognition techniques

[0738] A means by which the robot displays a list of documents based on search results

[0739] The server scans the document and extracts text from the image using optical character recognition technology. This text data is processed using the pytesseract library. The extracted text data and associated metadata are stored on the server and indexed using the whoosh search engine.

[0740] The user inputs keywords through the robot. The user interface is intuitive and the format makes it easy to input keywords by following the prompts. Examples of such prompts are as follows:

[0741] If you want to disable the global setting, enter the global keyword.

[0742] Examples: "Success Stories", "Logistics Reports", "Inventory Management"

[0743] Based on the keywords entered by the user, the server searches the index and extracts relevant documents, taking into account synonyms and similar expressions, so even ambiguous keywords can produce appropriate results.

[0744] The search results are sent from the server to the robot, which then displays the results in a list to the user, who can then select the desired document from the list and view it on their device.

[0745] For example, if a user searches for the keyword "success stories," the system will search for all relevant documents and have the robot display a list of results, from which the user can select and view the relevant documents.

[0746] This will enable efficient and accurate document management and rapid retrieval at logistics centers, improving business productivity.

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

[0748] Step 1: Scan and OCR the document

[0749] The server periodically scans all documents and extracts text data from PDF and image files. Specifically, it uses an OCR-enabled camera or image scanner and extracts text from images using the pytesseract library. The input is the document file, and the output is the extracted text data.

[0750] Step 2: Indexing text data and metadata

[0751] The server obtains the extracted text data and metadata such as the creation and update dates of the documents, and creates an index using whoosh. The input is text data and metadata, and the output is an index. Specifically, the index includes the number of times keywords appear and their relevance.

[0752] Step 3: Providing a user interface and entering keywords

[0753] The terminal provides the user with a search box, in which the user inputs vague keywords. The prompt is "Please input keywords. Examples: 'Success stories', 'Logistics reports', 'Inventory management'." The input is the keyword entered by the user, and the output is the search request.

[0754] Step 4: Keyword-based index search

[0755] The server searches the index based on fuzzy keywords submitted by the user. It uses the whoosh search engine to identify relevant documents, taking into account synonyms and similar expressions. The input is the fuzzy keywords and the index, and the output is a list of search results.

[0756] Step 5: Listing and displaying search results

[0757] The server lists the search results and sends the list, sorted by relevance, to the terminal. Specifically, the list includes the file name, creation date and time, update date and time, and a brief summary of the content. The input is the search results, and the output is the list of documents. The terminal displays this list to the user.

[0758] Step 6: Select and view the document

[0759] The user selects and clicks on the desired document from the list. The terminal sends a request for the selected document to the server. The server transfers the requested document to the terminal, and the terminal displays the transferred document to the user. The input is the selected document, and the output is the document displayed to the user.

[0760] Step 7: Robot display of search results

[0761] The robot displays a list of search results sent from the server, allowing the user to quickly identify the desired document. The robot provides a user interface based on prompts, and the user inputs keywords. The input is a list of search results, and the output is the search results displayed to the user.

[0762] Through these steps, document management at the logistics center is efficiently realized.

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

[0764] This invention provides a document management system with a search function that combines an emotion engine that recognizes user emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and user emotions.

[0765] In an embodiment, the system is configured as follows.

[0766] 1. Creating a file index

[0767] The server periodically scans all documents on the PC and in the shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[0768] The server extracts text data from scanned documents. In the case of PDF files, it uses OCR technology to extract character data from images, if necessary.

[0769] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[0770] The server creates an index based on this text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0771] 2. Enter keywords and search

[0772] The device provides the user with a search box that has an intuitive user interface.

[0773] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0774] The terminal transmits the keyword input by the user to the server.

[0775] The server searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[0776] 3. Operation of the Emotion Engine

[0777] The server analyzes the user's search operations and input content, as well as their emotions in real time using facial recognition and voice analysis technologies.

[0778] The server analyzes the emotional data and adjusts the filtering and display order of search results. For example, if the user is excited, positive content such as success stories will be displayed first.

[0779] 4. Listing and displaying search results

[0780] The server generates a list of search results that reflect the sentiment data and sorts them by relevance, including the file name, creation date, modification date, and a brief summary of the document's contents.

[0781] The server sends a list of search results to the terminal.

[0782] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0783] 5. Viewing files

[0784] The user selects a particular document from the list and clicks on it.

[0785] The terminal sends a request to the server to retrieve the selected document.

[0786] The server retrieves the requested document and transfers it to the terminal.

[0787] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0788] Specific examples

[0789] For example, consider a case where a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for highly interesting content.

[0790] 1. Creating a file index

[0791] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0792] The server stores the extracted text and metadata in a database as an index.

[0793] 2. Enter keywords and search

[0794] The device provides the user with a search box.

[0795] A user types "success stories" into the search box.

[0796] The terminal sends the entered keyword to the server.

[0797] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0798] 3. Operation of the Emotion Engine

[0799] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[0800] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[0801] 4. Listing and displaying search results

[0802] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[0803] The server sends a list of search results to the terminal.

[0804] The terminal displays the search results to the user.

[0805] 5. Viewing files

[0806] The user clicks on "Sales Report Q1 2023" from the list.

[0807] The terminal sends a file acquisition request to the server.

[0808] The server transfers the file to the device.

[0809] The terminal displays the file to the user.

[0810] In this way, the present invention can provide more personalized search results and improve the user experience by also taking the user's emotions into consideration.

[0811] The processing flow will be explained below.

[0812] Step 1:

[0813] The server periodically scans all document files on PCs and in shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[0814] Step 2:

[0815] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images.

[0816] Step 3:

[0817] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[0818] Step 4:

[0819] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[0820] Step 5:

[0821] The device provides the user with a search box that has an intuitive user interface.

[0822] Step 6:

[0823] A user types vague keywords into a search box, for example, "success stories" or "reports."

[0824] Step 7:

[0825] The terminal transmits the keyword input by the user to the server.

[0826] Step 8:

[0827] Before the server searches the index, the emotion engine analyzes the user's emotions, using facial recognition and voice analysis techniques to recognize the user's current emotional state (e.g., excitement, disappointment, interest, etc.).

[0828] Step 9:

[0829] The server takes into account the user's emotional data and searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[0830] Step 10:

[0831] The server prioritizes search results based on emotional data, for example, if the user is excited, it will prioritize positive success stories.

[0832] Step 11:

[0833] The server lists the search results, sorted by relevance, and includes the file name, creation date, modification date, and a brief summary of the document's contents.

[0834] Step 12:

[0835] The server sends a list of search results to the terminal.

[0836] Step 13:

[0837] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[0838] Step 14:

[0839] The user selects a particular document from the list and clicks on it.

[0840] Step 15:

[0841] The terminal sends a request to the server to retrieve the selected document.

[0842] Step 16:

[0843] The server retrieves the requested document and transfers it to the terminal.

[0844] Step 17:

[0845] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[0846] Example 2

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

[0848] Conventional document management systems have difficulty in quickly obtaining accurate search results when users enter ambiguous keywords. Furthermore, they are unable to provide search results that take the user's emotions into account, making it difficult to improve the user experience.

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

[0850] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, and means for analyzing user sentiment and adjusting the filtering and display order of search results. This makes it possible to provide highly accurate search results based on the user's vague keywords, and by taking the user's sentiment into consideration, it becomes possible to instantly provide more personalized search results.

[0851] "Scanning" means using an electronic device to read the contents of a paper document or digital file and obtain it as digital data.

[0852] "Text data" refers to character information contained in a document, and is data expressed as a string of characters.

[0853] An "index" is an organized list of data created based on document content and metadata to improve search efficiency.

[0854] "Ambiguous keywords" refer to general words or expressions that are entered to indicate the information a user needs, but do not specifically identify the object of the search.

[0855] "Filtering" refers to the process of selecting only necessary data from a dataset based on specific conditions.

[0856] "Display order" refers to the order in which search results or data lists are displayed to the user, and is determined based on relevance and importance.

[0857] "Emotion analysis" refers to a technology that analyzes a user's facial expressions, voice, text, etc. to identify their current emotional state (e.g., excitement, joy, anger, sadness, happiness, etc.).

[0858] "User experience" refers to the overall experience and satisfaction a user has when using a system.

[0859] The present invention provides a system that recognizes user emotions in a document management system and adjusts search results based on those emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and the user's emotions.

[0860] The system includes the following components:

[0861] 1. Creating a file index

[0862] The server periodically scans all documents in the PC and in the shared folder. For example, it accesses the shared folder " / / fileserver01 / shared" of the host name "File Server 01" and scans files such as "2023 Progress Report.pptx" and "Financial Report.pdf."

[0863] To extract text data from scanned documents, the server uses OCR technology (e.g., Tesseract OCR) to extract text data from images in the case of the PDF file "accounting report.pdf."

[0864] The server retrieves the document metadata (e.g., file name, creation date and time, update date and time, etc.) For example, the server retrieves the creation date and time "2023-04-01" and update date and time "2023-04-15" for the PowerPoint file "2023 Progress Report.pptx."

[0865] The server creates an index based on the extracted text data and metadata and stores it in a database (e.g., Elasticsearch). The index is based on the number of occurrences of keywords such as "success stories" and "progress reports."

[0866] 2. Enter keywords and search

[0867] The device provides the user with a search box. Specifically, the search box is displayed in a web application using React.js.

[0868] A user types a vague keyword (e.g., "success story") into a search box.

[0869] The terminal sends the entered keyword to the server in JSON format.

[0870] The server searches the index based on the entered keywords, taking into account synonyms (e.g., "successful experience") and similar expressions.

[0871] 3. Operation of the Emotion Engine

[0872] The server uses facial expression recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze users' search operations and input content in real time. Specifically, the server captures the user's facial expressions with a camera and analyzes emotions such as excitement and joy.

[0873] The server uses emotion data to filter and display search results. For example, if it determines that a user is excited, it will prioritize more positive content (e.g., "successful projects").

[0874] 4. Listing and displaying search results

[0875] The server then lists search results that reflect the sentiment data and sorts them by relevance. For example, it adjusts the results so that files such as "Sales Report Q1 2023" and "Project X Success Story" appear at the top of the results.

[0876] The server sends a list of search results to the terminal.

[0877] The terminal displays a list of search results to the user, who can then check and select the desired document from the displayed list.

[0878] 5. Viewing files

[0879] The user selects and clicks on a specific document from the list, for example, "Sales Report Q1 2023."

[0880] The terminal sends a request to the server to retrieve the selected document. The terminal requests the server to retrieve the file using an HTTP request.

[0881] The server retrieves the requested document and transfers it to the device. The file is transferred securely using the HTTPS protocol.

[0882] The device displays the file to the user, specifically displaying the document content using a built-in PDF viewer or presentation viewer.

[0883] Specific examples

[0884] For example, suppose a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for something very interesting.

[0885] 1. Creating a file index

[0886] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[0887] The server stores the extracted text and metadata in a database as an index.

[0888] 2. Enter keywords and search

[0889] The device provides the user with a search box.

[0890] A user types "success stories" into the search box.

[0891] The terminal sends the entered keyword to the server.

[0892] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[0893] 3. Operation of the Emotion Engine

[0894] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[0895] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[0896] 4. Listing and displaying search results

[0897] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[0898] The server sends a list of search results to the terminal.

[0899] The terminal displays the search results to the user.

[0900] 5. Viewing files

[0901] The user clicks on "Sales Report Q1 2023" from the list.

[0902] The terminal sends a file acquisition request to the server.

[0903] The server transfers the file to the device.

[0904] The terminal displays the file to the user.

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

[0906] Step 1:

[0907] Scan files and extract text data

[0908] The server periodically scans all documents in the PC and in the shared folder. The path to the shared folder (e.g. : / / PC / shared) is required as input.

[0909] Scanned files include PDFs and PowerPoint files (e.g., "2023 Progress Report.pptx" and "Financial Report.pdf").

[0910] The server extracts text data and metadata (file name, creation date and time, and update date and time) from scanned documents. For example, extract text data from the PDF file "Accounting Report.pdf" using Tesseract OCR, and obtain the file name and creation date and time (e.g., 2023-04-01) as metadata.

[0911] The output is a set of extracted text data and metadata.

[0912] Step 2:

[0913] Creating and saving indexes

[0914] The server creates an index based on the extracted text data and metadata. The input is the output data from the previous step.

[0915] Indexing involves calculating the number of occurrences and relevance of extracted keywords (e.g., the number of occurrences of "success stories").

[0916] The server stores the created index in the Elasticsearch database. As an output, you will get the index information stored in the database.

[0917] Step 3:

[0918] Enter keywords and submit a search request

[0919] The device provides the user with a search box, and the input is a user interface (e.g., a web app using React.js).

[0920] A user types vague keywords into a search box (e.g., "success stories").

[0921] The device sends the entered keywords to the server in JSON format, and as output, a search request is sent to the server.

[0922] Step 4:

[0923] Searching the index

[0924] The server searches the index based on the input keyword. The input is the keyword data sent from the terminal.

[0925] When searching, consider synonyms and similar expressions (e.g., "successful experience").

[0926] The server identifies a list of relevant documents and gives the search results as output.

[0927] Step 5:

[0928] Sentiment analysis and search result tailoring

[0929] The server uses facial recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze the user's search operations and input. The input is the user's facial expression data and voice data.

[0930] The server then uses the emotion data to filter and adjust the display order of search results. For example, if it determines that the user is excited, it will prioritize more positive content (e.g., "successful projects"). The adjusted search results are then output.

[0931] Step 6:

[0932] Listing and displaying search results

[0933] The server lists the refined search results and sorts them by relevance (e.g., "Sales report Q1 2023" or "Project X success stories"). The input is the refined search results from the previous step.

[0934] The server sends this list to the terminal.

[0935] The terminal displays the list of search results to the user. As an output, a list of search results is obtained that is displayed to the user.

[0936] Step 7:

[0937] Selecting and browsing files

[0938] The user selects and clicks on a specific document from a list (e.g., "Sales Report Q1 2023"). Input is the user's selection.

[0939] The terminal sends a request to the server to retrieve the selected document.

[0940] The server retrieves the requested document and transfers it to the terminal, and the output is the document data transferred to the terminal.

[0941] The device displays the transferred document file to the user, specifically, by using the built-in PDF viewer or presentation viewer to display the document content.

[0942] (Application example 2)

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

[0944] Conventional document management systems offer search functions based on vague keywords, but they are unable to consider the user's emotions or interest levels, and the search results often do not meet the user's expectations. In addition, particularly in physical stores, product searches and inventory management are often not performed quickly and accurately, making it difficult to improve the user experience.

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

[0946] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, means for searching the index based on vague keywords entered by the user, means for analyzing the user's facial expressions and tone of voice to generate emotion data, means for filtering search results and adjusting the display order based on the generated emotion data, means for listing the search results and displaying them to the user, and means for displaying documents selected from the search results to the user, thereby making it possible to provide personalized search results that take the user's emotions into consideration.

[0947] "Document" refers generally to digital files containing text data, including PDF files, PowerPoint files, and other text files.

[0948] "Text data" refers to the textual information extracted from documents, and may also be extracted from images using OCR technology.

[0949] An "index" is a data structure created to facilitate efficient searches based on text data and metadata within documents.

[0950] "Ambiguous keywords" are abstract and non-specific keywords that are used when it is difficult to identify the information being searched for.

[0951] "Search results" are a list of relevant documents extracted from the index based on keywords or expressions entered by the user.

[0952] "Facial expressions and tone of voice" refer to physical characteristics that indicate the user's emotional state, such as the user's facial movements or the pitch of their voice.

[0953] "Emotional data" refers to data that quantitatively indicates the user's emotional state, analyzed from facial expressions, tone of voice, etc.

[0954] "Filtering" is the process of narrowing search results based on specific criteria.

[0955] The "display order" refers to the order in which search results are presented to the user, and may be adjusted based on emotion data.

[0956] The document management and search system of the present invention is designed to realize inventory management and product search using smart glasses, especially in brick-and-mortar stores. This system is configured as follows, and the specific operating procedure will be explained below.

[0957] Hardware and Software Configuration

[0958] Hardware:

[0959] Smart glasses (e.g., equipped with a high-performance display, camera, and microphone)

[0960] server

[0961] Camera and microphone (built into smart glasses)

[0962] software:

[0963] OCR technology (e.g., Google Cloud Vision)

[0964] Speech analysis engine (e.g. Google Speech-to-Text API)

[0965] Sentiment analysis engine (e.g. Microsoft Azure Emotion API)

[0966] Databases (e.g. MySQL, NoSQL databases - MongoDB)

[0967] Server-side index server (e.g. Elasticsearch)

[0968] Data processing and calculation process

[0969] Document data scanning and indexing

[0970] The server periodically scans all documents and extracts text data from PDF files, PowerPoint files, etc. In the case of PDF files, OCR technology is used to extract character data from images as needed. Along with the extracted text data, metadata such as the creation date and update date are also obtained. Based on this data, an index is created and stored in a database. This index is designed based on the number of occurrences and relevance of keywords within the document.

[0971] Keyword input and search

[0972] The user enters vague keywords into a search box using their smart glasses. The glasses then send the voice data to the server, which converts it into text using a speech analysis engine. The server then searches the index based on the entered keywords to identify relevant documents. Synonyms and similar expressions are also taken into account during this process.

[0973] Emotion Engine Operation

[0974] When a user wears the smart glasses, the built-in camera and microphone capture the user's facial expressions and tone of voice to analyze their emotions in real time. The emotion analysis engine generates emotional data such as excitement, joy, and confusion, and sends it to the server. The server then uses this emotional data to filter and display search results. For example, if the user is excited, it will prioritize displaying new and popular products that interest them.

[0975] Listing and displaying search results

[0976] The server takes emotion data into account to create a list of search results, sorting them by relevance. These results are then sent to the smart glasses and displayed as an overlay to the user. The user can then review the list and select the desired document or product.

[0977] Viewing files

[0978] The documents and product details selected by the user are displayed on the smart glasses. The server transfers the requested document file to the terminal, allowing the user to view the contents of the selected document.

[0979] Specific examples

[0980] For example, consider the case where a user puts on smart glasses in a physical store and performs a voice search for "the latest smartphone model." The voice analysis engine converts the speech into text and interprets it as "Do you have the latest smartphone model?" The sentiment analysis engine determines that the user is highly interested and prioritizes displaying new and popular products based on that.

[0981] Prompt Sentence Examples

[0982] Prompt: Describe the process of a smart glasses app that analyzes user sentiment and provides exciting overlays about the latest smartphone models.

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

[0984] Step 1:

[0985] Scanning documents and extracting text data

[0986] The server periodically scans all documents, including PDFs, PowerPoint files, and other digital files, and uses OCR technology (Google Cloud Vision) to extract text data from the images. The extracted text data is then stored as temporary data.

[0987] Input: Document file (PDF, PPTX, etc.)

[0988] Output: Text data

[0989] Step 2:

[0990] Metadata retrieval and indexing

[0991] The server obtains the metadata (creation date, update date, etc.) of the scanned documents. Based on this metadata and the extracted text data, it creates an index of the documents and stores it in a database (MySQL, MongoDB). This index includes the number of times keywords appear and their relevance.

[0992] Input: Text data, metadata

[0993] Output: Index data

[0994] Step 3:

[0995] Receiving voice input and converting it to text

[0996] The device (smart glasses) receives the user's voice input and sends it to the server, which uses a speech analysis engine (Google Speech-to-Text API) to convert the voice data into text, which is then used in the subsequent search process.

[0997] Input: Audio data

[0998] Output: Text data

[0999] Step 4:

[1000] Ambiguous Keyword Search

[1001] The server receives ambiguous keywords converted into text from the user and searches the index, taking into account synonyms and similar expressions, to generate a list of related documents and products.

[1002] Input: Texted keyword

[1003] Output: List of related documents

[1004] Step 5:

[1005] Facial and vocal emotion analysis

[1006] The device (smart glasses) uses a camera and microphone to capture the user's facial expressions and voice. The server uses an emotion analysis engine (Microsoft Azure Emotion API) to generate emotion data from this data. The generated emotion data indicates the user's excitement, joy, confusion, etc.

[1007] Input: facial expression data, voice data

[1008] Output: Emotion data

[1009] Step 6:

[1010] Filtering and sorting search results

[1011] The server adjusts the filtering and display order based on the generated emotion data. For example, if the user is excited, new or popular products will be displayed first. The results are sent to the smart glasses, where they are overlaid on the display.

[1012] Input: Emotion data, related document list

[1013] Output: A filtered and refined list of search results

[1014] Step 7:

[1015] Viewing detailed information

[1016] The user selects a specific document or product from the displayed search results. The server transfers detailed information based on this request to the device, which then displays it on the smart glasses, allowing the user to view the details.

[1017] Input: User's choice

[1018] Output: Detailed information (document content, product specifications, etc.)

[1019] Through these steps, the system achieves efficient and personalized document retrieval and product recommendations.

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

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

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

[1023] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[1036] The present invention provides a search function using ambiguous keywords in a document management system, which can efficiently and accurately search and present required information from a large amount of documents.

[1037] In an embodiment, the system is configured as follows.

[1038] 1. Creating a file index

[1039] The server periodically scans all documents on your PC and in shared folders, including PDF and PowerPoint files.

[1040] The server extracts the text data from each document, and in the case of PDF files, may use OCR technology to extract text from images.

[1041] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[1042] The server creates an index based on this text data and metadata and stores it in a database. The index is based on the number of times keywords appear and their relevance.

[1043] 2. Enter keywords and search

[1044] The device provides the user with a search box, and the user interface is intuitive, allowing the user to easily enter keywords.

[1045] A user types vague keywords into a search box, such as "success stories" or "reports."

[1046] The terminal transmits the keyword input by the user to the server.

[1047] The server searches the index to identify relevant documents, taking into account synonyms and similar expressions.

[1048] 3. Listing and displaying search results

[1049] The server will then list the search results, sorted by relevance, with each result including the file name, creation date, modification date, and a brief summary of the content.

[1050] The server sends a list of search results to the terminal.

[1051] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1052] 4. Viewing files

[1053] The user selects the desired document from the list and clicks on it.

[1054] The terminal sends a request to the server to retrieve the selected document.

[1055] The server transfers the requested document to the terminal.

[1056] The terminal displays the transferred document to the user.

[1057] Specific examples

[1058] For example, consider the case where a user searches using "success stories" as a keyword.

[1059] 1. Creating a file index

[1060] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1061] The server stores the extracted text and metadata in a database as an index.

[1062] 2. Enter keywords and search

[1063] The device provides the user with a search box.

[1064] A user types "success stories" into the search box.

[1065] The terminal sends the entered keyword to the server.

[1066] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1067] 3. Listing and displaying search results

[1068] The server lists the file "Sales Report Q1 2023" as a search result.

[1069] The server sends a list of search results to the terminal.

[1070] The terminal displays the search results to the user.

[1071] 4. Viewing files

[1072] The user clicks on "Sales Report Q1 2023" from the list.

[1073] The terminal sends a file acquisition request to the server.

[1074] The server transfers the file to the device.

[1075] The terminal displays the file to the user.

[1076] In this way, the present invention makes it possible to efficiently and accurately search for and display required information from a large amount of documents even using vague keywords.

[1077] The processing flow will be explained below.

[1078] Step 1:

[1079] The server scans all document files on the PC and in the shared folder, including PDFs and PowerPoint files (PPT / PPTX).

[1080] Step 2:

[1081] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images as needed.

[1082] Step 3:

[1083] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[1084] Step 4:

[1085] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1086] Step 5:

[1087] The device provides the user with a search box that has an intuitive user interface.

[1088] Step 6:

[1089] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1090] Step 7:

[1091] The terminal transmits the keyword input by the user to the server.

[1092] Step 8:

[1093] The server searches the index based on the received keywords, taking into account synonyms and similar expressions.

[1094] Step 9:

[1095] The server uses the index search results to generate a list of relevant documents, including the file name, creation date, modification date, and a brief summary of the document's contents.

[1096] Step 10:

[1097] The server sends a list of search results to the terminal.

[1098] Step 11:

[1099] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1100] Step 12:

[1101] The user selects a particular document from the list and clicks on it.

[1102] Step 13:

[1103] The terminal sends a request to the server to retrieve the selected document.

[1104] Step 14:

[1105] The server retrieves the requested document and transfers it to the terminal.

[1106] Step 15:

[1107] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1108] Example 1

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

[1110] Conventional document management systems have the problem of making it difficult to search using vague keywords, making it difficult to efficiently and accurately find the necessary information from a large number of documents. Additionally, they are unable to handle synonyms or similar expressions, resulting in low accuracy of search results.

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

[1112] In this invention, the server includes a means for periodically scanning all digital documents and extracting text data from the digital documents, a means for creating an index based on the extracted text data and metadata and storing it in a database, and a means for searching the index based on ambiguous keywords entered by a user and identifying related documents taking into account synonyms and similar expressions, thereby enabling efficient and accurate document searches using ambiguous keywords.

[1113] "Digital documents" refers to documents stored in electronic form, including PDF files and PowerPoint files.

[1114] "Scanning" refers to the process of searching all files in a specified directory at a specific time interval. This process detects new or updated documents.

[1115] "Text data" refers to the textual information in a digital document, including textual information in an image, which may be extracted using OCR technology.

[1116] "Metadata" refers to additional information related to a digital document, such as the file name, creation date and time, modification date and time, and file size.

[1117] An "index" is a searchable data structure generated based on document content and metadata, allowing for efficient keyword searches.

[1118] "Database" refers to a system for storing indexes and other related information for digital documents, typically an SQL or NoSQL database.

[1119] "Ambiguous keywords" refer to abstract or broad search terms that do not precisely specify a particular document or information, but may contain related content.

[1120] "Synonyms" are different words that have similar or identical meanings, improving search precision and relevance.

[1121] "Look-alikes" are phrases or words that have the same or similar meaning but are worded differently, which broadens your search.

[1122] "Search results" refers to a collection of relevant documents extracted from the index based on keywords entered by the user. Search results include the document name and a brief summary of its contents.

[1123] This document management system provides document search functionality using ambiguous keywords, and can efficiently and accurately search and present required information from a large amount of digital documents. This system is composed of three entities: a server, a terminal, and a user, each of which plays a specific role.

[1124] System Components

[1125] 1. Server:

[1126] The server periodically scans all digital documents stored on PCs or in shared folders and extracts text data from them. Specifically, it extracts text from PDF files using OCR technologies such as Tesseract and Google Cloud Vision API. It also obtains metadata such as the document's creation and modification dates. Based on this data, the server creates an index using a search engine such as ElasticSearch or Apache Solr and stores it in a database.

[1127] 2. Terminal:

[1128] The device holds the user interface that provides the user with a search box. The search box is implemented using front-end frameworks such as React and Angular. When the user enters an ambiguous keyword in the search box, the device sends the keyword to the server via an HTTP request. The device is also responsible for displaying the search results received from the server.

[1129] 3. User:

[1130] Users can operate the system through their terminals and search for relevant documents by entering vague keywords in the search box. For example, they can enter keywords such as "success stories" or "reports" to search for relevant digital documents. After the search results are displayed, users can select the desired document and click to view it.

[1131] Specific examples

[1132] For example, when a user searches using the keyword "success stories," the flow is as follows.

[1133] 1. Create a file index:

[1134] The server scans a file called "Sales Report Q1 2023" and extracts the text from it, which includes phrases like "Project X success story" and "Market reaction." The server stores the extracted text and metadata in a database as an index.

[1135] 2. Enter keywords and search:

[1136] The device provides the user with a search box. The user enters "success stories" into the search box. The device sends the entered keywords to the server via an HTTP request. The server searches the index based on the keyword "success stories" to identify relevant documents, taking into account synonyms and similar expressions.

[1137] 3. Listing and displaying search results:

[1138] The server lists the file "Sales Report Q1 2023" as a search result. The server sends the list of search results to the terminal. The terminal displays the search results to the user.

[1139] 4. Viewing files:

[1140] The user clicks "Sales Report Q1 2023" from the list. The device sends a file acquisition request to the server. The server transfers the file to the device. The device displays the file to the user.

[1141] Prompt Sentence Examples

[1142] For the generative AI model, we can input appropriate prompt sentences for sentence generation and learning as follows:

[1143] "Please explain the function of searching for vague keywords in a document management system. For example, please describe in detail the specific processing steps for searching using the keyword 'success story'."

[1144] The present invention allows users to search and access digital documents efficiently and accurately, even using ambiguous keywords.

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

[1146] Step 1:

[1147] The server periodically scans all digital documents on the PC or in a shared folder.

[1148] How it works: The server uses a scheduler such as a cron job to search the specified directory at regular intervals, finding new or changed documents and processing them.

[1149] Input: All digital documents on your PC or in a shared folder.

[1150] Output: A list of scanned documents.

[1151] Step 2:

[1152] The server extracts text data from the scanned document.

[1153] What it does: The server uses an OCR tool such as Tesseract or Google Cloud Vision API to extract text from the PDF file.

[1154] Input: The scanned document.

[1155] Output: Extracted text data and document metadata (file name, creation date, modification date, etc.).

[1156] Step 3:

[1157] The server creates an index based on the document's text data and metadata and stores it in a database.

[1158] How it works: The server uses a search engine such as ElasticSearch or Apache Solr to create an index and store it in a database. The index is generated based on the number of times keywords appear and their relevance.

[1159] Input: Extracted text data and metadata.

[1160] Output: The indexes created and stored in the database.

[1161] Step 4:

[1162] The device provides a search box to the user.

[1163] What it does: The device uses front-end frameworks such as React and Angular to build an intuitive user interface and provide a search box.

[1164] Input: User interface design information.

[1165] Output: The search box provided to the user.

[1166] Step 5:

[1167] A user types vague keywords into a search box.

[1168] Specific action: A user enters a vague keyword, such as "success story," and clicks the search button.

[1169] Input: Vague keywords entered by the user.

[1170] Output: The entered keyword.

[1171] Step 6:

[1172] The terminal sends the entered keyword to the server.

[1173] Specific operation: The terminal sends the entered keyword to the server using an HTTP request (POST request).

[1174] Input: The keyword entered.

[1175] Output: The keyword sent to the server.

[1176] Step 7:

[1177] The server searches the index based on the submitted keywords and identifies relevant documents, taking into account synonyms and similar expressions.

[1178] How it works: The server uses ElasticSearch's query function to perform keyword searches, and also uses WordNet and BERT models to consider synonyms and similar expressions.

[1179] Input: The keyword entered.

[1180] Output: A list of relevant documents as search results.

[1181] Step 8:

[1182] The server lists the search results, sorts them by relevance, and sends them to the device.

[1183] Specific operation: The server scores the search results, sorts them by relevance, and sends them to the device in JSON format. The scoring is done using an algorithm such as BM25.

[1184] Input: A list of relevant documents.

[1185] Output: The search results list sent to the device.

[1186] Step 9:

[1187] The terminal displays a list of search results to the user.

[1188] How it works: The device uses React or Angular to display search results in a list format. Each result displays the file name, creation date and time, update date and time, and a brief summary of the content.

[1189] Input: The search result list received from the server.

[1190] Output: The search results list displayed to the user.

[1191] Step 10:

[1192] The user selects and clicks on the desired document from the search result list.

[1193] What happens: The user clicks on the document of interest and confirms the selection.

[1194] Input: The document selected by the user.

[1195] Output: User action depending on the selection confirmation.

[1196] Step 11:

[1197] The terminal sends a request to acquire the selected document to the server.

[1198] Specific operation: The terminal uses an HTTP request to send a request to retrieve the selected document to the server.

[1199] Input: Information about the document selected by the user.

[1200] Output: The file get request sent to the server.

[1201] Step 12:

[1202] The server transfers the requested document to the terminal.

[1203] Specific operation: The server transfers the document file to the device over the network, using the HTTPS protocol to maintain secure communication.

[1204] Input: A request to get a file.

[1205] Output: The document file sent to the device.

[1206] Step 13:

[1207] The terminal displays the transferred document to the user.

[1208] Specific behavior: The device displays the document selected by the user using a PDF viewer, slide viewer, etc.

[1209] Input: A document file transferred to the device.

[1210] Output: The document displayed to the user.

[1211] This allows the system to efficiently and accurately search for and provide the required documents to the user even when ambiguous keywords are used.

[1212] (Application example 1)

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

[1214] Logistics centers generate large volumes of documents and data every day, and there is a need to efficiently manage and search them. However, searching with vague keywords is difficult, making it difficult to quickly identify corresponding documents. While OCR technology is being introduced, existing systems for efficient text extraction and document management are insufficient. Furthermore, there is a need to quickly display search results to users and provide an appropriate viewing environment.

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

[1216] In this invention, the server includes a means for scanning all documents and extracting text data from the documents, a means for creating an index based on the extracted text data, and a means for searching the index based on ambiguous keywords entered by the user. This allows documents related to ambiguous keywords to be efficiently searched for and displayed to the user. The system also includes a means for extracting text from images using optical character recognition technology and a means for the robot to display a document list based on the search results, allowing users to quickly identify and view the desired document. This makes document management at logistics centers more efficient and accurate, improving business productivity.

[1217] "Document" means any content containing business information or data, whether in paper or digital format.

[1218] "Scanning" refers to the process of converting paper documents or images into digital form.

[1219] "Text data" refers to data that represents extracted character information in a digital format.

[1220] "Extraction" refers to the act of extracting specific information from a document or image.

[1221] An "index" refers to a table of contents or index in a database created to efficiently search and manage documents.

[1222] "Vague keywords" are general words or phrases that are not specific words or short phrases but are used to search for related information.

[1223] "Optical Character Recognition" (OCR) refers to technology that automatically reads text from images or scanned data.

[1224] A "robot" refers to a mechanical device that is programmed to automate a specific task or process.

[1225] "Display" refers to the act of presenting data on a screen or display so that the information can be viewed by a user.

[1226] "Prompt sentence" refers to a text phrase designed to guide a user through a particular data entry.

[1227] This invention provides a system for efficiently managing documents in a logistics center and quickly searching and displaying related information using ambiguous keywords. Specific embodiments for implementing this system are described below.

[1228] The system consists of hardware including a server, an optical character recognition (OCR)-enabled camera, a robot, and a computer, and software using pytesseract (an OCR library), whoosh (a full-text search engine), and the Python programming language.

[1229] Specifically, the server is configured with the following means:

[1230] A means to scan all documents and extract text data from them

[1231] A means of creating an index based on extracted text data

[1232] A means of searching the index based on vague keywords entered by the user

[1233] A way to list search results and display them to the user

[1234] A means for displaying selected documents from the search results to the user

[1235] A means of extracting text from images using optical character recognition techniques

[1236] A means by which the robot displays a list of documents based on search results

[1237] The server scans the document and extracts text from the image using optical character recognition technology. This text data is processed using the pytesseract library. The extracted text data and associated metadata are stored on the server and indexed using the whoosh search engine.

[1238] The user inputs keywords through the robot. The user interface is intuitive and the format makes it easy to input keywords by following the prompts. Examples of such prompts are as follows:

[1239] If you want to disable the global setting, enter the global keyword.

[1240] Examples: "Success Stories", "Logistics Reports", "Inventory Management"

[1241] Based on the keywords entered by the user, the server searches the index and extracts relevant documents, taking into account synonyms and similar expressions, so even ambiguous keywords can produce appropriate results.

[1242] The search results are sent from the server to the robot, which then displays the results in a list to the user, who can then select the desired document from the list and view it on their device.

[1243] For example, if a user searches for the keyword "success stories," the system will search for all relevant documents and have the robot display a list of results, from which the user can select and view the relevant documents.

[1244] This will enable efficient and accurate document management and rapid retrieval at logistics centers, improving business productivity.

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

[1246] Step 1: Scan and OCR the document

[1247] The server periodically scans all documents and extracts text data from PDF and image files. Specifically, it uses an OCR-enabled camera or image scanner and extracts text from images using the pytesseract library. The input is the document file, and the output is the extracted text data.

[1248] Step 2: Indexing text data and metadata

[1249] The server obtains the extracted text data and metadata such as the creation and update dates of the documents, and creates an index using whoosh. The input is text data and metadata, and the output is an index. Specifically, the index includes the number of times keywords appear and their relevance.

[1250] Step 3: Providing a user interface and entering keywords

[1251] The terminal provides the user with a search box, in which the user inputs vague keywords. The prompt is "Please input keywords. Examples: 'Success stories', 'Logistics reports', 'Inventory management'." The input is the keyword entered by the user, and the output is the search request.

[1252] Step 4: Keyword-based index search

[1253] The server searches the index based on fuzzy keywords submitted by the user. It uses the whoosh search engine to identify relevant documents, taking into account synonyms and similar expressions. The input is the fuzzy keywords and the index, and the output is a list of search results.

[1254] Step 5: Listing and displaying search results

[1255] The server lists the search results and sends the list, sorted by relevance, to the terminal. Specifically, the list includes the file name, creation date and time, update date and time, and a brief summary of the content. The input is the search results, and the output is the list of documents. The terminal displays this list to the user.

[1256] Step 6: Select and view the document

[1257] The user selects and clicks on the desired document from the list. The terminal sends a request for the selected document to the server. The server transfers the requested document to the terminal, and the terminal displays the transferred document to the user. The input is the selected document, and the output is the document displayed to the user.

[1258] Step 7: Robot display of search results

[1259] The robot displays a list of search results sent from the server, allowing the user to quickly identify the desired document. The robot provides a user interface based on prompts, and the user inputs keywords. The input is a list of search results, and the output is the search results displayed to the user.

[1260] Through these steps, document management at the logistics center is efficiently realized.

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

[1262] This invention provides a document management system with a search function that combines an emotion engine that recognizes user emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and user emotions.

[1263] In an embodiment, the system is configured as follows.

[1264] 1. Creating a file index

[1265] The server periodically scans all documents on the PC and in the shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[1266] The server extracts text data from scanned documents. In the case of PDF files, it uses OCR technology to extract character data from images, if necessary.

[1267] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[1268] The server creates an index based on this text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1269] 2. Enter keywords and search

[1270] The device provides the user with a search box that has an intuitive user interface.

[1271] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1272] The terminal transmits the keyword input by the user to the server.

[1273] The server searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[1274] 3. Operation of the Emotion Engine

[1275] The server analyzes the user's search operations and input content, as well as their emotions in real time using facial recognition and voice analysis technologies.

[1276] The server analyzes the emotional data and adjusts the filtering and display order of search results. For example, if the user is excited, positive content such as success stories will be displayed first.

[1277] 4. Listing and displaying search results

[1278] The server generates a list of search results that reflect the sentiment data and sorts them by relevance, including the file name, creation date, modification date, and a brief summary of the document's contents.

[1279] The server sends a list of search results to the terminal.

[1280] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1281] 5. Viewing files

[1282] The user selects a particular document from the list and clicks on it.

[1283] The terminal sends a request to the server to retrieve the selected document.

[1284] The server retrieves the requested document and transfers it to the terminal.

[1285] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1286] Specific examples

[1287] For example, consider a case where a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for highly interesting content.

[1288] 1. Creating a file index

[1289] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1290] The server stores the extracted text and metadata in a database as an index.

[1291] 2. Enter keywords and search

[1292] The device provides the user with a search box.

[1293] A user types "success stories" into the search box.

[1294] The terminal sends the entered keyword to the server.

[1295] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1296] 3. Operation of the Emotion Engine

[1297] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[1298] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[1299] 4. Listing and displaying search results

[1300] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[1301] The server sends a list of search results to the terminal.

[1302] The terminal displays the search results to the user.

[1303] 5. Viewing files

[1304] The user clicks on "Sales Report Q1 2023" from the list.

[1305] The terminal sends a file acquisition request to the server.

[1306] The server transfers the file to the device.

[1307] The terminal displays the file to the user.

[1308] In this way, the present invention can provide more personalized search results and improve the user experience by also taking the user's emotions into consideration.

[1309] The processing flow will be explained below.

[1310] Step 1:

[1311] The server periodically scans all document files on PCs and in shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[1312] Step 2:

[1313] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images.

[1314] Step 3:

[1315] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[1316] Step 4:

[1317] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1318] Step 5:

[1319] The device provides the user with a search box that has an intuitive user interface.

[1320] Step 6:

[1321] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1322] Step 7:

[1323] The terminal transmits the keyword input by the user to the server.

[1324] Step 8:

[1325] Before the server searches the index, the emotion engine analyzes the user's emotions, using facial recognition and voice analysis techniques to recognize the user's current emotional state (e.g., excitement, disappointment, interest, etc.).

[1326] Step 9:

[1327] The server takes into account the user's emotional data and searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[1328] Step 10:

[1329] The server prioritizes search results based on emotional data, for example, if the user is excited, it will prioritize positive success stories.

[1330] Step 11:

[1331] The server lists the search results, sorted by relevance, and includes the file name, creation date, modification date, and a brief summary of the document's contents.

[1332] Step 12:

[1333] The server sends a list of search results to the terminal.

[1334] Step 13:

[1335] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1336] Step 14:

[1337] The user selects a particular document from the list and clicks on it.

[1338] Step 15:

[1339] The terminal sends a request to the server to retrieve the selected document.

[1340] Step 16:

[1341] The server retrieves the requested document and transfers it to the terminal.

[1342] Step 17:

[1343] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1344] Example 2

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

[1346] Conventional document management systems have difficulty in quickly obtaining accurate search results when users enter ambiguous keywords. Furthermore, they are unable to provide search results that take the user's emotions into account, making it difficult to improve the user experience.

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

[1348] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, and means for analyzing user sentiment and adjusting the filtering and display order of search results. This makes it possible to provide highly accurate search results based on the user's vague keywords, and by taking the user's sentiment into consideration, it becomes possible to instantly provide more personalized search results.

[1349] "Scanning" means using an electronic device to read the contents of a paper document or digital file and obtain it as digital data.

[1350] "Text data" refers to character information contained in a document, and is data expressed as a string of characters.

[1351] An "index" is an organized list of data created based on document content and metadata to improve search efficiency.

[1352] "Ambiguous keywords" refer to general words or expressions that are entered to indicate the information a user needs, but do not specifically identify the object of the search.

[1353] "Filtering" refers to the process of selecting only necessary data from a dataset based on specific conditions.

[1354] "Display order" refers to the order in which search results or data lists are displayed to the user, and is determined based on relevance and importance.

[1355] "Emotion analysis" refers to a technology that analyzes a user's facial expressions, voice, text, etc. to identify their current emotional state (e.g., excitement, joy, anger, sadness, happiness, etc.).

[1356] "User experience" refers to the overall experience and satisfaction a user has when using a system.

[1357] The present invention provides a system that recognizes user emotions in a document management system and adjusts search results based on those emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and the user's emotions.

[1358] The system includes the following components:

[1359] 1. Creating a file index

[1360] The server periodically scans all documents in the PC and in the shared folder. For example, it accesses the shared folder " / / fileserver01 / shared" of the host name "File Server 01" and scans files such as "2023 Progress Report.pptx" and "Financial Report.pdf."

[1361] To extract text data from scanned documents, the server uses OCR technology (e.g., Tesseract OCR) to extract text data from images in the case of the PDF file "accounting report.pdf."

[1362] The server retrieves the document metadata (e.g., file name, creation date and time, update date and time, etc.) For example, the server retrieves the creation date and time "2023-04-01" and update date and time "2023-04-15" for the PowerPoint file "2023 Progress Report.pptx."

[1363] The server creates an index based on the extracted text data and metadata and stores it in a database (e.g., Elasticsearch). The index is based on the number of occurrences of keywords such as "success stories" and "progress reports."

[1364] 2. Enter keywords and search

[1365] The device provides the user with a search box. Specifically, the search box is displayed in a web application using React.js.

[1366] A user types a vague keyword (e.g., "success story") into a search box.

[1367] The terminal sends the entered keyword to the server in JSON format.

[1368] The server searches the index based on the entered keywords, taking into account synonyms (e.g., "successful experience") and similar expressions.

[1369] 3. Operation of the Emotion Engine

[1370] The server uses facial expression recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze users' search operations and input content in real time. Specifically, the server captures the user's facial expressions with a camera and analyzes emotions such as excitement and joy.

[1371] The server uses emotion data to filter and display search results. For example, if it determines that a user is excited, it will prioritize more positive content (e.g., "successful projects").

[1372] 4. Listing and displaying search results

[1373] The server then lists search results that reflect the sentiment data and sorts them by relevance. For example, it adjusts the results so that files such as "Sales Report Q1 2023" and "Project X Success Story" appear at the top of the results.

[1374] The server sends a list of search results to the terminal.

[1375] The terminal displays a list of search results to the user, who can then check and select the desired document from the displayed list.

[1376] 5. Viewing files

[1377] The user selects and clicks on a specific document from the list, for example, "Sales Report Q1 2023."

[1378] The terminal sends a request to the server to retrieve the selected document. The terminal requests the server to retrieve the file using an HTTP request.

[1379] The server retrieves the requested document and transfers it to the device. The file is transferred securely using the HTTPS protocol.

[1380] The device displays the file to the user, specifically displaying the document content using a built-in PDF viewer or presentation viewer.

[1381] Specific examples

[1382] For example, suppose a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for something very interesting.

[1383] 1. Creating a file index

[1384] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1385] The server stores the extracted text and metadata in a database as an index.

[1386] 2. Enter keywords and search

[1387] The device provides the user with a search box.

[1388] A user types "success stories" into the search box.

[1389] The terminal sends the entered keyword to the server.

[1390] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1391] 3. Operation of the Emotion Engine

[1392] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[1393] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[1394] 4. Listing and displaying search results

[1395] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[1396] The server sends a list of search results to the terminal.

[1397] The terminal displays the search results to the user.

[1398] 5. Viewing files

[1399] The user clicks on "Sales Report Q1 2023" from the list.

[1400] The terminal sends a file acquisition request to the server.

[1401] The server transfers the file to the device.

[1402] The terminal displays the file to the user.

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

[1404] Step 1:

[1405] Scan files and extract text data

[1406] The server periodically scans all documents in the PC and in the shared folder. The path to the shared folder (e.g. : / / PC / shared) is required as input.

[1407] Scanned files include PDFs and PowerPoint files (e.g., "2023 Progress Report.pptx" and "Financial Report.pdf").

[1408] The server extracts text data and metadata (file name, creation date and time, and update date and time) from scanned documents. For example, extract text data from the PDF file "Accounting Report.pdf" using Tesseract OCR, and obtain the file name and creation date and time (e.g., 2023-04-01) as metadata.

[1409] The output is a set of extracted text data and metadata.

[1410] Step 2:

[1411] Creating and saving indexes

[1412] The server creates an index based on the extracted text data and metadata. The input is the output data from the previous step.

[1413] Indexing involves calculating the number of occurrences and relevance of extracted keywords (e.g., the number of occurrences of "success stories").

[1414] The server stores the created index in the Elasticsearch database. As an output, you will get the index information stored in the database.

[1415] Step 3:

[1416] Enter keywords and submit a search request

[1417] The device provides the user with a search box, and the input is a user interface (e.g., a web app using React.js).

[1418] A user types vague keywords into a search box (e.g., "success stories").

[1419] The device sends the entered keywords to the server in JSON format, and as output, a search request is sent to the server.

[1420] Step 4:

[1421] Searching the index

[1422] The server searches the index based on the input keyword. The input is the keyword data sent from the terminal.

[1423] When searching, consider synonyms and similar expressions (e.g., "successful experience").

[1424] The server identifies a list of relevant documents and gives the search results as output.

[1425] Step 5:

[1426] Sentiment analysis and search result tailoring

[1427] The server uses facial recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze the user's search operations and input. The input is the user's facial expression data and voice data.

[1428] The server then uses the emotion data to filter and adjust the display order of search results. For example, if it determines that the user is excited, it will prioritize more positive content (e.g., "successful projects"). The adjusted search results are then output.

[1429] Step 6:

[1430] Listing and displaying search results

[1431] The server lists the refined search results and sorts them by relevance (e.g., "Sales report Q1 2023" or "Project X success stories"). The input is the refined search results from the previous step.

[1432] The server sends this list to the terminal.

[1433] The terminal displays the list of search results to the user. As an output, a list of search results is obtained that is displayed to the user.

[1434] Step 7:

[1435] Selecting and browsing files

[1436] The user selects and clicks on a specific document from a list (e.g., "Sales Report Q1 2023"). Input is the user's selection.

[1437] The terminal sends a request to the server to retrieve the selected document.

[1438] The server retrieves the requested document and transfers it to the terminal, and the output is the document data transferred to the terminal.

[1439] The device displays the transferred document file to the user, specifically, by using the built-in PDF viewer or presentation viewer to display the document content.

[1440] (Application example 2)

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

[1442] Conventional document management systems offer search functions based on vague keywords, but they are unable to consider the user's emotions or interest levels, and the search results often do not meet the user's expectations. In addition, particularly in physical stores, product searches and inventory management are often not performed quickly and accurately, making it difficult to improve the user experience.

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

[1444] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, means for searching the index based on vague keywords entered by the user, means for analyzing the user's facial expressions and tone of voice to generate emotion data, means for filtering search results and adjusting the display order based on the generated emotion data, means for listing the search results and displaying them to the user, and means for displaying documents selected from the search results to the user, thereby making it possible to provide personalized search results that take the user's emotions into consideration.

[1445] "Document" refers generally to digital files containing text data, including PDF files, PowerPoint files, and other text files.

[1446] "Text data" refers to the textual information extracted from documents, and may also be extracted from images using OCR technology.

[1447] An "index" is a data structure created to facilitate efficient searches based on text data and metadata within documents.

[1448] "Ambiguous keywords" are abstract and non-specific keywords that are used when it is difficult to identify the information being searched for.

[1449] "Search results" are a list of relevant documents extracted from the index based on keywords or expressions entered by the user.

[1450] "Facial expressions and tone of voice" refer to physical characteristics that indicate the user's emotional state, such as the user's facial movements or the pitch of their voice.

[1451] "Emotional data" refers to data that quantitatively indicates the user's emotional state, analyzed from facial expressions, tone of voice, etc.

[1452] "Filtering" is the process of narrowing search results based on specific criteria.

[1453] The "display order" refers to the order in which search results are presented to the user, and may be adjusted based on emotion data.

[1454] The document management and search system of the present invention is designed to realize inventory management and product search using smart glasses, especially in brick-and-mortar stores. This system is configured as follows, and the specific operating procedure will be explained below.

[1455] Hardware and Software Configuration

[1456] Hardware:

[1457] Smart glasses (e.g., equipped with a high-performance display, camera, and microphone)

[1458] server

[1459] Camera and microphone (built into smart glasses)

[1460] software:

[1461] OCR technology (e.g., Google Cloud Vision)

[1462] Speech analysis engine (e.g. Google Speech-to-Text API)

[1463] Sentiment analysis engine (e.g. Microsoft Azure Emotion API)

[1464] Databases (e.g. MySQL, NoSQL databases - MongoDB)

[1465] Server-side index server (e.g. Elasticsearch)

[1466] Data processing and calculation process

[1467] Document data scanning and indexing

[1468] The server periodically scans all documents and extracts text data from PDF files, PowerPoint files, etc. In the case of PDF files, OCR technology is used to extract character data from images as needed. Along with the extracted text data, metadata such as the creation date and update date are also obtained. Based on this data, an index is created and stored in a database. This index is designed based on the number of occurrences and relevance of keywords within the document.

[1469] Keyword input and search

[1470] The user enters vague keywords into a search box using their smart glasses. The glasses then send the voice data to the server, which converts it into text using a speech analysis engine. The server then searches the index based on the entered keywords to identify relevant documents. Synonyms and similar expressions are also taken into account during this process.

[1471] Emotion Engine Operation

[1472] When a user wears the smart glasses, the built-in camera and microphone capture the user's facial expressions and tone of voice to analyze their emotions in real time. The emotion analysis engine generates emotional data such as excitement, joy, and confusion, and sends it to the server. The server then uses this emotional data to filter and display search results. For example, if the user is excited, it will prioritize displaying new and popular products that interest them.

[1473] Listing and displaying search results

[1474] The server takes emotion data into account to create a list of search results, sorting them by relevance. These results are then sent to the smart glasses and displayed as an overlay to the user. The user can then review the list and select the desired document or product.

[1475] Viewing files

[1476] The documents and product details selected by the user are displayed on the smart glasses. The server transfers the requested document file to the terminal, allowing the user to view the contents of the selected document.

[1477] Specific examples

[1478] For example, consider the case where a user puts on smart glasses in a physical store and performs a voice search for "the latest smartphone model." The voice analysis engine converts the speech into text and interprets it as "Do you have the latest smartphone model?" The sentiment analysis engine determines that the user is highly interested and prioritizes displaying new and popular products based on that.

[1479] Prompt Sentence Examples

[1480] Prompt: Describe the process of a smart glasses app that analyzes user sentiment and provides exciting overlays about the latest smartphone models.

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

[1482] Step 1:

[1483] Scanning documents and extracting text data

[1484] The server periodically scans all documents, including PDFs, PowerPoint files, and other digital files, and uses OCR technology (Google Cloud Vision) to extract text data from the images. The extracted text data is then stored as temporary data.

[1485] Input: Document file (PDF, PPTX, etc.)

[1486] Output: Text data

[1487] Step 2:

[1488] Metadata retrieval and indexing

[1489] The server obtains the metadata (creation date, update date, etc.) of the scanned documents. Based on this metadata and the extracted text data, it creates an index of the documents and stores it in a database (MySQL, MongoDB). This index includes the number of times keywords appear and their relevance.

[1490] Input: Text data, metadata

[1491] Output: Index data

[1492] Step 3:

[1493] Receiving voice input and converting it to text

[1494] The device (smart glasses) receives the user's voice input and sends it to the server, which uses a speech analysis engine (Google Speech-to-Text API) to convert the voice data into text, which is then used in the subsequent search process.

[1495] Input: Audio data

[1496] Output: Text data

[1497] Step 4:

[1498] Ambiguous Keyword Search

[1499] The server receives ambiguous keywords converted into text from the user and searches the index, taking into account synonyms and similar expressions, to generate a list of related documents and products.

[1500] Input: Texted keyword

[1501] Output: List of related documents

[1502] Step 5:

[1503] Facial and vocal emotion analysis

[1504] The device (smart glasses) uses a camera and microphone to capture the user's facial expressions and voice. The server uses an emotion analysis engine (Microsoft Azure Emotion API) to generate emotion data from this data. The generated emotion data indicates the user's excitement, joy, confusion, etc.

[1505] Input: facial expression data, voice data

[1506] Output: Emotion data

[1507] Step 6:

[1508] Filtering and sorting search results

[1509] The server adjusts the filtering and display order based on the generated emotion data. For example, if the user is excited, new or popular products will be displayed first. The results are sent to the smart glasses, where they are overlaid on the display.

[1510] Input: Emotion data, related document list

[1511] Output: A filtered and refined list of search results

[1512] Step 7:

[1513] Viewing detailed information

[1514] The user selects a specific document or product from the displayed search results. The server transfers detailed information based on this request to the device, which then displays it on the smart glasses, allowing the user to view the details.

[1515] Input: User's choice

[1516] Output: Detailed information (document content, product specifications, etc.)

[1517] Through these steps, the system achieves efficient and personalized document retrieval and product recommendations.

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

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

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

[1521] [Fourth embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

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

[1535] The present invention provides a search function using ambiguous keywords in a document management system, which can efficiently and accurately search and present required information from a large amount of documents.

[1536] In an embodiment, the system is configured as follows.

[1537] 1. Creating a file index

[1538] The server periodically scans all documents on your PC and in shared folders, including PDF and PowerPoint files.

[1539] The server extracts the text data from each document, and in the case of PDF files, may use OCR technology to extract text from images.

[1540] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[1541] The server creates an index based on this text data and metadata and stores it in a database. The index is based on the number of times keywords appear and their relevance.

[1542] 2. Enter keywords and search

[1543] The device provides the user with a search box, and the user interface is intuitive, allowing the user to easily enter keywords.

[1544] A user types vague keywords into a search box, such as "success stories" or "reports."

[1545] The terminal transmits the keyword input by the user to the server.

[1546] The server searches the index to identify relevant documents, taking into account synonyms and similar expressions.

[1547] 3. Listing and displaying search results

[1548] The server will then list the search results, sorted by relevance, with each result including the file name, creation date, modification date, and a brief summary of the content.

[1549] The server sends a list of search results to the terminal.

[1550] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1551] 4. Viewing files

[1552] The user selects the desired document from the list and clicks on it.

[1553] The terminal sends a request to the server to retrieve the selected document.

[1554] The server transfers the requested document to the terminal.

[1555] The terminal displays the transferred document to the user.

[1556] Specific examples

[1557] For example, consider the case where a user searches using "success stories" as a keyword.

[1558] 1. Creating a file index

[1559] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1560] The server stores the extracted text and metadata in a database as an index.

[1561] 2. Enter keywords and search

[1562] The device provides the user with a search box.

[1563] A user types "success stories" into the search box.

[1564] The terminal sends the entered keyword to the server.

[1565] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1566] 3. Listing and displaying search results

[1567] The server lists the file "Sales Report Q1 2023" as a search result.

[1568] The server sends a list of search results to the terminal.

[1569] The terminal displays the search results to the user.

[1570] 4. Viewing files

[1571] The user clicks on "Sales Report Q1 2023" from the list.

[1572] The terminal sends a file acquisition request to the server.

[1573] The server transfers the file to the device.

[1574] The terminal displays the file to the user.

[1575] In this way, the present invention makes it possible to efficiently and accurately search for and display required information from a large amount of documents even using vague keywords.

[1576] The processing flow will be explained below.

[1577] Step 1:

[1578] The server scans all document files on the PC and in the shared folder, including PDFs and PowerPoint files (PPT / PPTX).

[1579] Step 2:

[1580] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images as needed.

[1581] Step 3:

[1582] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[1583] Step 4:

[1584] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1585] Step 5:

[1586] The device provides the user with a search box that has an intuitive user interface.

[1587] Step 6:

[1588] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1589] Step 7:

[1590] The terminal transmits the keyword input by the user to the server.

[1591] Step 8:

[1592] The server searches the index based on the received keywords, taking into account synonyms and similar expressions.

[1593] Step 9:

[1594] The server uses the index search results to generate a list of relevant documents, including the file name, creation date, modification date, and a brief summary of the document's contents.

[1595] Step 10:

[1596] The server sends a list of search results to the terminal.

[1597] Step 11:

[1598] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1599] Step 12:

[1600] The user selects a particular document from the list and clicks on it.

[1601] Step 13:

[1602] The terminal sends a request to the server to retrieve the selected document.

[1603] Step 14:

[1604] The server retrieves the requested document and transfers it to the terminal.

[1605] Step 15:

[1606] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1607] Example 1

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

[1609] Conventional document management systems have the problem of making it difficult to search using vague keywords, making it difficult to efficiently and accurately find the necessary information from a large number of documents. Additionally, they are unable to handle synonyms or similar expressions, resulting in low accuracy of search results.

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

[1611] In this invention, the server includes a means for periodically scanning all digital documents and extracting text data from the digital documents, a means for creating an index based on the extracted text data and metadata and storing it in a database, and a means for searching the index based on ambiguous keywords entered by a user and identifying related documents taking into account synonyms and similar expressions, thereby enabling efficient and accurate document searches using ambiguous keywords.

[1612] "Digital documents" refers to documents stored in electronic form, including PDF files and PowerPoint files.

[1613] "Scanning" refers to the process of searching all files in a specified directory at a specific time interval. This process detects new or updated documents.

[1614] "Text data" refers to the textual information in a digital document, including textual information in an image, which may be extracted using OCR technology.

[1615] "Metadata" refers to additional information related to a digital document, such as the file name, creation date and time, modification date and time, and file size.

[1616] An "index" is a searchable data structure generated based on document content and metadata, allowing for efficient keyword searches.

[1617] "Database" refers to a system for storing indexes and other related information for digital documents, typically an SQL or NoSQL database.

[1618] "Ambiguous keywords" refer to abstract or broad search terms that do not precisely specify a particular document or information, but may contain related content.

[1619] "Synonyms" are different words that have similar or identical meanings, improving search precision and relevance.

[1620] "Look-alikes" are phrases or words that have the same or similar meaning but are worded differently, which broadens your search.

[1621] "Search results" refers to a collection of relevant documents extracted from the index based on keywords entered by the user. Search results include the document name and a brief summary of its contents.

[1622] This document management system provides document search functionality using ambiguous keywords, and can efficiently and accurately search and present required information from a large amount of digital documents. This system is composed of three entities: a server, a terminal, and a user, each of which plays a specific role.

[1623] System Components

[1624] 1. Server:

[1625] The server periodically scans all digital documents stored on PCs or in shared folders and extracts text data from them. Specifically, it extracts text from PDF files using OCR technologies such as Tesseract and Google Cloud Vision API. It also obtains metadata such as the document's creation and modification dates. Based on this data, the server creates an index using a search engine such as ElasticSearch or Apache Solr and stores it in a database.

[1626] 2. Terminal:

[1627] The device holds the user interface that provides the user with a search box. The search box is implemented using front-end frameworks such as React and Angular. When the user enters an ambiguous keyword in the search box, the device sends the keyword to the server via an HTTP request. The device is also responsible for displaying the search results received from the server.

[1628] 3. User:

[1629] Users can operate the system through their terminals and search for relevant documents by entering vague keywords in the search box. For example, they can enter keywords such as "success stories" or "reports" to search for relevant digital documents. After the search results are displayed, users can select the desired document and click to view it.

[1630] Specific examples

[1631] For example, when a user searches using the keyword "success stories," the flow is as follows.

[1632] 1. Create a file index:

[1633] The server scans a file called "Sales Report Q1 2023" and extracts the text from it, which includes phrases like "Project X success story" and "Market reaction." The server stores the extracted text and metadata in a database as an index.

[1634] 2. Enter keywords and search:

[1635] The device provides the user with a search box. The user enters "success stories" into the search box. The device sends the entered keywords to the server via an HTTP request. The server searches the index based on the keyword "success stories" to identify relevant documents, taking into account synonyms and similar expressions.

[1636] 3. Listing and displaying search results:

[1637] The server lists the file "Sales Report Q1 2023" as a search result. The server sends the list of search results to the terminal. The terminal displays the search results to the user.

[1638] 4. Viewing files:

[1639] The user clicks "Sales Report Q1 2023" from the list. The device sends a file acquisition request to the server. The server transfers the file to the device. The device displays the file to the user.

[1640] Prompt Sentence Examples

[1641] For the generative AI model, we can input appropriate prompt sentences for sentence generation and learning as follows:

[1642] "Please explain the function of searching for vague keywords in a document management system. For example, please describe in detail the specific processing steps for searching using the keyword 'success story'."

[1643] The present invention allows users to search and access digital documents efficiently and accurately, even using ambiguous keywords.

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

[1645] Step 1:

[1646] The server periodically scans all digital documents on the PC or in a shared folder.

[1647] How it works: The server uses a scheduler such as a cron job to search the specified directory at regular intervals, finding new or changed documents and processing them.

[1648] Input: All digital documents on your PC or in a shared folder.

[1649] Output: A list of scanned documents.

[1650] Step 2:

[1651] The server extracts text data from the scanned document.

[1652] What it does: The server uses an OCR tool such as Tesseract or Google Cloud Vision API to extract text from the PDF file.

[1653] Input: The scanned document.

[1654] Output: Extracted text data and document metadata (file name, creation date, modification date, etc.).

[1655] Step 3:

[1656] The server creates an index based on the document's text data and metadata and stores it in a database.

[1657] How it works: The server uses a search engine such as ElasticSearch or Apache Solr to create an index and store it in a database. The index is generated based on the number of times keywords appear and their relevance.

[1658] Input: Extracted text data and metadata.

[1659] Output: The indexes created and stored in the database.

[1660] Step 4:

[1661] The device provides a search box to the user.

[1662] What it does: The device uses front-end frameworks such as React and Angular to build an intuitive user interface and provide a search box.

[1663] Input: User interface design information.

[1664] Output: The search box provided to the user.

[1665] Step 5:

[1666] A user types vague keywords into a search box.

[1667] Specific action: A user enters a vague keyword, such as "success story," and clicks the search button.

[1668] Input: Vague keywords entered by the user.

[1669] Output: The entered keyword.

[1670] Step 6:

[1671] The terminal sends the entered keyword to the server.

[1672] Specific operation: The terminal sends the entered keyword to the server using an HTTP request (POST request).

[1673] Input: The keyword entered.

[1674] Output: The keyword sent to the server.

[1675] Step 7:

[1676] The server searches the index based on the submitted keywords and identifies relevant documents, taking into account synonyms and similar expressions.

[1677] How it works: The server uses ElasticSearch's query function to perform keyword searches, and also uses WordNet and BERT models to consider synonyms and similar expressions.

[1678] Input: The keyword entered.

[1679] Output: A list of relevant documents as search results.

[1680] Step 8:

[1681] The server lists the search results, sorts them by relevance, and sends them to the device.

[1682] Specific operation: The server scores the search results, sorts them by relevance, and sends them to the device in JSON format. The scoring is done using an algorithm such as BM25.

[1683] Input: A list of relevant documents.

[1684] Output: The search results list sent to the device.

[1685] Step 9:

[1686] The terminal displays a list of search results to the user.

[1687] How it works: The device uses React or Angular to display search results in a list format. Each result displays the file name, creation date and time, update date and time, and a brief summary of the content.

[1688] Input: The search result list received from the server.

[1689] Output: The search results list displayed to the user.

[1690] Step 10:

[1691] The user selects and clicks on the desired document from the search result list.

[1692] What happens: The user clicks on the document of interest and confirms the selection.

[1693] Input: The document selected by the user.

[1694] Output: User action depending on the selection confirmation.

[1695] Step 11:

[1696] The terminal sends a request to acquire the selected document to the server.

[1697] Specific operation: The terminal uses an HTTP request to send a request to retrieve the selected document to the server.

[1698] Input: Information about the document selected by the user.

[1699] Output: The file get request sent to the server.

[1700] Step 12:

[1701] The server transfers the requested document to the terminal.

[1702] Specific operation: The server transfers the document file to the device over the network, using the HTTPS protocol to maintain secure communication.

[1703] Input: A request to get a file.

[1704] Output: The document file sent to the device.

[1705] Step 13:

[1706] The terminal displays the transferred document to the user.

[1707] Specific behavior: The device displays the document selected by the user using a PDF viewer, slide viewer, etc.

[1708] Input: A document file transferred to the device.

[1709] Output: The document displayed to the user.

[1710] This allows the system to efficiently and accurately search for and provide the required documents to the user even when ambiguous keywords are used.

[1711] (Application example 1)

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

[1713] Logistics centers generate large volumes of documents and data every day, and there is a need to efficiently manage and search them. However, searching with vague keywords is difficult, making it difficult to quickly identify corresponding documents. While OCR technology is being introduced, existing systems for efficient text extraction and document management are insufficient. Furthermore, there is a need to quickly display search results to users and provide an appropriate viewing environment.

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

[1715] In this invention, the server includes a means for scanning all documents and extracting text data from the documents, a means for creating an index based on the extracted text data, and a means for searching the index based on ambiguous keywords entered by the user. This allows documents related to ambiguous keywords to be efficiently searched for and displayed to the user. The system also includes a means for extracting text from images using optical character recognition technology and a means for the robot to display a document list based on the search results, allowing users to quickly identify and view the desired document. This makes document management at logistics centers more efficient and accurate, improving business productivity.

[1716] "Document" means any content containing business information or data, whether in paper or digital format.

[1717] "Scanning" refers to the process of converting paper documents or images into digital form.

[1718] "Text data" refers to data that represents extracted character information in a digital format.

[1719] "Extraction" refers to the act of extracting specific information from a document or image.

[1720] An "index" refers to a table of contents or index in a database created to efficiently search and manage documents.

[1721] "Vague keywords" are general words or phrases that are not specific words or short phrases but are used to search for related information.

[1722] "Optical Character Recognition" (OCR) refers to technology that automatically reads text from images or scanned data.

[1723] A "robot" refers to a mechanical device that is programmed to automate a specific task or process.

[1724] "Display" refers to the act of presenting data on a screen or display so that the information can be viewed by a user.

[1725] "Prompt sentence" refers to a text phrase designed to guide a user through a particular data entry.

[1726] This invention provides a system for efficiently managing documents in a logistics center and quickly searching and displaying related information using ambiguous keywords. Specific embodiments for implementing this system are described below.

[1727] The system consists of hardware including a server, an optical character recognition (OCR)-enabled camera, a robot, and a computer, and software using pytesseract (an OCR library), whoosh (a full-text search engine), and the Python programming language.

[1728] Specifically, the server is configured with the following means:

[1729] A means to scan all documents and extract text data from them

[1730] A means of creating an index based on extracted text data

[1731] A means of searching the index based on vague keywords entered by the user

[1732] A way to list search results and display them to the user

[1733] A means for displaying selected documents from the search results to the user

[1734] A means of extracting text from images using optical character recognition techniques

[1735] A means by which the robot displays a list of documents based on search results

[1736] The server scans the document and extracts text from the image using optical character recognition technology. This text data is processed using the pytesseract library. The extracted text data and associated metadata are stored on the server and indexed using the whoosh search engine.

[1737] The user inputs keywords through the robot. The user interface is intuitive and the format makes it easy to input keywords by following the prompts. Examples of such prompts are as follows:

[1738] If you want to disable the global setting, enter the global keyword.

[1739] Examples: "Success Stories", "Logistics Reports", "Inventory Management"

[1740] Based on the keywords entered by the user, the server searches the index and extracts relevant documents, taking into account synonyms and similar expressions, so even ambiguous keywords can produce appropriate results.

[1741] The search results are sent from the server to the robot, which then displays the results in a list to the user, who can then select the desired document from the list and view it on their device.

[1742] For example, if a user searches for the keyword "success stories," the system will search for all relevant documents and have the robot display a list of results, from which the user can select and view the relevant documents.

[1743] This will enable efficient and accurate document management and rapid retrieval at logistics centers, improving business productivity.

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

[1745] Step 1: Scan and OCR the document

[1746] The server periodically scans all documents and extracts text data from PDF and image files. Specifically, it uses an OCR-enabled camera or image scanner and extracts text from images using the pytesseract library. The input is the document file, and the output is the extracted text data.

[1747] Step 2: Indexing text data and metadata

[1748] The server obtains the extracted text data and metadata such as the creation and update dates of the documents, and creates an index using whoosh. The input is text data and metadata, and the output is an index. Specifically, the index includes the number of times keywords appear and their relevance.

[1749] Step 3: Providing a user interface and entering keywords

[1750] The terminal provides the user with a search box, in which the user inputs vague keywords. The prompt is "Please input keywords. Examples: 'Success stories', 'Logistics reports', 'Inventory management'." The input is the keyword entered by the user, and the output is the search request.

[1751] Step 4: Keyword-based index search

[1752] The server searches the index based on fuzzy keywords submitted by the user. It uses the whoosh search engine to identify relevant documents, taking into account synonyms and similar expressions. The input is the fuzzy keywords and the index, and the output is a list of search results.

[1753] Step 5: Listing and displaying search results

[1754] The server lists the search results and sends the list, sorted by relevance, to the terminal. Specifically, the list includes the file name, creation date and time, update date and time, and a brief summary of the content. The input is the search results, and the output is the list of documents. The terminal displays this list to the user.

[1755] Step 6: Select and view the document

[1756] The user selects and clicks on the desired document from the list. The terminal sends a request for the selected document to the server. The server transfers the requested document to the terminal, and the terminal displays the transferred document to the user. The input is the selected document, and the output is the document displayed to the user.

[1757] Step 7: Robot display of search results

[1758] The robot displays a list of search results sent from the server, allowing the user to quickly identify the desired document. The robot provides a user interface based on prompts, and the user inputs keywords. The input is a list of search results, and the output is the search results displayed to the user.

[1759] Through these steps, document management at the logistics center is efficiently realized.

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

[1761] This invention provides a document management system with a search function that combines an emotion engine that recognizes user emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and user emotions.

[1762] In an embodiment, the system is configured as follows.

[1763] 1. Creating a file index

[1764] The server periodically scans all documents on the PC and in the shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[1765] The server extracts text data from scanned documents. In the case of PDF files, it uses OCR technology to extract character data from images, if necessary.

[1766] The server retrieves the document metadata (file name, creation date, modification date, etc.).

[1767] The server creates an index based on this text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1768] 2. Enter keywords and search

[1769] The device provides the user with a search box that has an intuitive user interface.

[1770] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1771] The terminal transmits the keyword input by the user to the server.

[1772] The server searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[1773] 3. Operation of the Emotion Engine

[1774] The server analyzes the user's search operations and input content, as well as their emotions in real time using facial recognition and voice analysis technologies.

[1775] The server analyzes the emotional data and adjusts the filtering and display order of search results. For example, if the user is excited, positive content such as success stories will be displayed first.

[1776] 4. Listing and displaying search results

[1777] The server generates a list of search results that reflect the sentiment data and sorts them by relevance, including the file name, creation date, modification date, and a brief summary of the document's contents.

[1778] The server sends a list of search results to the terminal.

[1779] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1780] 5. Viewing files

[1781] The user selects a particular document from the list and clicks on it.

[1782] The terminal sends a request to the server to retrieve the selected document.

[1783] The server retrieves the requested document and transfers it to the terminal.

[1784] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1785] Specific examples

[1786] For example, consider a case where a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for highly interesting content.

[1787] 1. Creating a file index

[1788] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1789] The server stores the extracted text and metadata in a database as an index.

[1790] 2. Enter keywords and search

[1791] The device provides the user with a search box.

[1792] A user types "success stories" into the search box.

[1793] The terminal sends the entered keyword to the server.

[1794] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1795] 3. Operation of the Emotion Engine

[1796] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[1797] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[1798] 4. Listing and displaying search results

[1799] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[1800] The server sends a list of search results to the terminal.

[1801] The terminal displays the search results to the user.

[1802] 5. Viewing files

[1803] The user clicks on "Sales Report Q1 2023" from the list.

[1804] The terminal sends a file acquisition request to the server.

[1805] The server transfers the file to the device.

[1806] The terminal displays the file to the user.

[1807] In this way, the present invention can provide more personalized search results and improve the user experience by also taking the user's emotions into consideration.

[1808] The processing flow will be explained below.

[1809] Step 1:

[1810] The server periodically scans all document files on PCs and in shared folders, including PDFs and PowerPoint files (PPT / PPTX).

[1811] Step 2:

[1812] The server extracts text data from scanned document files. In the case of PDF files, OCR technology is used to extract character data from images.

[1813] Step 3:

[1814] The server obtains the metadata of the document file (file name, creation date and time, update date and time, etc.).

[1815] Step 4:

[1816] The server creates an index based on the extracted text data and metadata and stores it in a database. The index is designed based on the frequency and relevance of keywords.

[1817] Step 5:

[1818] The device provides the user with a search box that has an intuitive user interface.

[1819] Step 6:

[1820] A user types vague keywords into a search box, for example, "success stories" or "reports."

[1821] Step 7:

[1822] The terminal transmits the keyword input by the user to the server.

[1823] Step 8:

[1824] Before the server searches the index, the emotion engine analyzes the user's emotions, using facial recognition and voice analysis techniques to recognize the user's current emotional state (e.g., excitement, disappointment, interest, etc.).

[1825] Step 9:

[1826] The server takes into account the user's emotional data and searches the index based on the entered keywords, taking into account synonyms and similar expressions.

[1827] Step 10:

[1828] The server prioritizes search results based on emotional data, for example, if the user is excited, it will prioritize positive success stories.

[1829] Step 11:

[1830] The server lists the search results, sorted by relevance, and includes the file name, creation date, modification date, and a brief summary of the document's contents.

[1831] Step 12:

[1832] The server sends a list of search results to the terminal.

[1833] Step 13:

[1834] The terminal displays a list of search results to the user, who can then review the list and select the desired document.

[1835] Step 14:

[1836] The user selects a particular document from the list and clicks on it.

[1837] Step 15:

[1838] The terminal sends a request to the server to retrieve the selected document.

[1839] Step 16:

[1840] The server retrieves the requested document and transfers it to the terminal.

[1841] Step 17:

[1842] The terminal displays the transferred document file to the user, who can then view the contents of the selected document.

[1843] Example 2

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

[1845] Conventional document management systems have difficulty in quickly obtaining accurate search results when users enter ambiguous keywords. Furthermore, they are unable to provide search results that take the user's emotions into account, making it difficult to improve the user experience.

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

[1847] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, and means for analyzing user sentiment and adjusting the filtering and display order of search results. This makes it possible to provide highly accurate search results based on the user's vague keywords, and by taking the user's sentiment into consideration, it becomes possible to instantly provide more personalized search results.

[1848] "Scanning" means using an electronic device to read the contents of a paper document or digital file and obtain it as digital data.

[1849] "Text data" refers to character information contained in a document, and is data expressed as a string of characters.

[1850] An "index" is an organized list of data created based on document content and metadata to improve search efficiency.

[1851] "Ambiguous keywords" refer to general words or expressions that are entered to indicate the information a user needs, but do not specifically identify the object of the search.

[1852] "Filtering" refers to the process of selecting only necessary data from a dataset based on specific conditions.

[1853] "Display order" refers to the order in which search results or data lists are displayed to the user, and is determined based on relevance and importance.

[1854] "Emotion analysis" refers to a technology that analyzes a user's facial expressions, voice, text, etc. to identify their current emotional state (e.g., excitement, joy, anger, sadness, happiness, etc.).

[1855] "User experience" refers to the overall experience and satisfaction a user has when using a system.

[1856] The present invention provides a system that recognizes user emotions in a document management system and adjusts search results based on those emotions. This system can efficiently and accurately search for and present necessary information based on ambiguous keywords and the user's emotions.

[1857] The system includes the following components:

[1858] 1. Creating a file index

[1859] The server periodically scans all documents in the PC and in the shared folder. For example, it accesses the shared folder " / / fileserver01 / shared" of the host name "File Server 01" and scans files such as "2023 Progress Report.pptx" and "Financial Report.pdf."

[1860] To extract text data from scanned documents, the server uses OCR technology (e.g., Tesseract OCR) to extract text data from images in the case of the PDF file "accounting report.pdf."

[1861] The server retrieves the document metadata (e.g., file name, creation date and time, update date and time, etc.) For example, the server retrieves the creation date and time "2023-04-01" and update date and time "2023-04-15" for the PowerPoint file "2023 Progress Report.pptx."

[1862] The server creates an index based on the extracted text data and metadata and stores it in a database (e.g., Elasticsearch). The index is based on the number of occurrences of keywords such as "success stories" and "progress reports."

[1863] 2. Enter keywords and search

[1864] The device provides the user with a search box. Specifically, the search box is displayed in a web application using React.js.

[1865] A user types a vague keyword (e.g., "success story") into a search box.

[1866] The terminal sends the entered keyword to the server in JSON format.

[1867] The server searches the index based on the entered keywords, taking into account synonyms (e.g., "successful experience") and similar expressions.

[1868] 3. Operation of the Emotion Engine

[1869] The server uses facial expression recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze users' search operations and input content in real time. Specifically, the server captures the user's facial expressions with a camera and analyzes emotions such as excitement and joy.

[1870] The server uses emotion data to filter and display search results. For example, if it determines that a user is excited, it will prioritize more positive content (e.g., "successful projects").

[1871] 4. Listing and displaying search results

[1872] The server then lists search results that reflect the sentiment data and sorts them by relevance. For example, it adjusts the results so that files such as "Sales Report Q1 2023" and "Project X Success Story" appear at the top of the results.

[1873] The server sends a list of search results to the terminal.

[1874] The terminal displays a list of search results to the user, who can then check and select the desired document from the displayed list.

[1875] 5. Viewing files

[1876] The user selects and clicks on a specific document from the list, for example, "Sales Report Q1 2023."

[1877] The terminal sends a request to the server to retrieve the selected document. The terminal requests the server to retrieve the file using an HTTP request.

[1878] The server retrieves the requested document and transfers it to the device. The file is transferred securely using the HTTPS protocol.

[1879] The device displays the file to the user, specifically displaying the document content using a built-in PDF viewer or presentation viewer.

[1880] Specific examples

[1881] For example, suppose a user searches for the keyword "success stories" and the emotion engine recognizes that the user is looking for something very interesting.

[1882] 1. Creating a file index

[1883] The server scans a file called "Sales Report Q1 2023" and extracts the text inside, which includes phrases like "Project X success story" and "Market response."

[1884] The server stores the extracted text and metadata in a database as an index.

[1885] 2. Enter keywords and search

[1886] The device provides the user with a search box.

[1887] A user types "success stories" into the search box.

[1888] The terminal sends the entered keyword to the server.

[1889] The server searches the index for the keyword "success story" to identify relevant documents, taking into account synonyms and similar expressions.

[1890] 3. Operation of the Emotion Engine

[1891] The server uses an emotion engine to analyze whether the user's search operations and input content indicate a high level of interest.

[1892] The server reflects the sentiment data and prioritizes more positive and interesting success stories in the search results.

[1893] 4. Listing and displaying search results

[1894] The server lists the file "Sales Report Q1 2023" as a search result and adjusts the relevance based on the sentiment data.

[1895] The server sends a list of search results to the terminal.

[1896] The terminal displays the search results to the user.

[1897] 5. Viewing files

[1898] The user clicks on "Sales Report Q1 2023" from the list.

[1899] The terminal sends a file acquisition request to the server.

[1900] The server transfers the file to the device.

[1901] The terminal displays the file to the user.

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

[1903] Step 1:

[1904] Scan files and extract text data

[1905] The server periodically scans all documents in the PC and in the shared folder. The path to the shared folder (e.g. : / / PC / shared) is required as input.

[1906] Scanned files include PDFs and PowerPoint files (e.g., "2023 Progress Report.pptx" and "Financial Report.pdf").

[1907] The server extracts text data and metadata (file name, creation date and time, and update date and time) from scanned documents. For example, extract text data from the PDF file "Accounting Report.pdf" using Tesseract OCR, and obtain the file name and creation date and time (e.g., 2023-04-01) as metadata.

[1908] The output is a set of extracted text data and metadata.

[1909] Step 2:

[1910] Creating and saving indexes

[1911] The server creates an index based on the extracted text data and metadata. The input is the output data from the previous step.

[1912] Indexing involves calculating the number of occurrences and relevance of extracted keywords (e.g., the number of occurrences of "success stories").

[1913] The server stores the created index in the Elasticsearch database. As an output, you will get the index information stored in the database.

[1914] Step 3:

[1915] Enter keywords and submit a search request

[1916] The device provides the user with a search box, and the input is a user interface (e.g., a web app using React.js).

[1917] A user types vague keywords into a search box (e.g., "success stories").

[1918] The device sends the entered keywords to the server in JSON format, and as output, a search request is sent to the server.

[1919] Step 4:

[1920] Searching the index

[1921] The server searches the index based on the input keyword. The input is the keyword data sent from the terminal.

[1922] When searching, consider synonyms and similar expressions (e.g., "successful experience").

[1923] The server identifies a list of relevant documents and gives the search results as output.

[1924] Step 5:

[1925] Sentiment analysis and search result tailoring

[1926] The server uses facial recognition technology (e.g., OpenCV) and voice analysis technology (e.g., Azure Cognitive Services) to analyze the user's search operations and input. The input is the user's facial expression data and voice data.

[1927] The server then uses the emotion data to filter and adjust the display order of search results. For example, if it determines that the user is excited, it will prioritize more positive content (e.g., "successful projects"). The adjusted search results are then output.

[1928] Step 6:

[1929] Listing and displaying search results

[1930] The server lists the refined search results and sorts them by relevance (e.g., "Sales report Q1 2023" or "Project X success stories"). The input is the refined search results from the previous step.

[1931] The server sends this list to the terminal.

[1932] The terminal displays the list of search results to the user. As an output, a list of search results is obtained that is displayed to the user.

[1933] Step 7:

[1934] Selecting and browsing files

[1935] The user selects and clicks on a specific document from a list (e.g., "Sales Report Q1 2023"). Input is the user's selection.

[1936] The terminal sends a request to the server to retrieve the selected document.

[1937] The server retrieves the requested document and transfers it to the terminal, and the output is the document data transferred to the terminal.

[1938] The device displays the transferred document file to the user, specifically, by using the built-in PDF viewer or presentation viewer to display the document content.

[1939] (Application example 2)

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

[1941] Conventional document management systems offer search functions based on vague keywords, but they are unable to consider the user's emotions or interest levels, and the search results often do not meet the user's expectations. In addition, particularly in physical stores, product searches and inventory management are often not performed quickly and accurately, making it difficult to improve the user experience.

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

[1943] In this invention, the server includes means for scanning all documents and extracting text data from the documents, means for creating an index based on the extracted text data, means for searching the index based on vague keywords entered by the user, means for analyzing the user's facial expressions and tone of voice to generate emotion data, means for filtering search results and adjusting the display order based on the generated emotion data, means for listing the search results and displaying them to the user, and means for displaying documents selected from the search results to the user, thereby making it possible to provide personalized search results that take the user's emotions into consideration.

[1944] "Document" refers generally to digital files containing text data, including PDF files, PowerPoint files, and other text files.

[1945] "Text data" refers to the textual information extracted from documents, and may also be extracted from images using OCR technology.

[1946] An "index" is a data structure created to facilitate efficient searches based on text data and metadata within documents.

[1947] "Ambiguous keywords" are abstract and non-specific keywords that are used when it is difficult to identify the information being searched for.

[1948] "Search results" are a list of relevant documents extracted from the index based on keywords or expressions entered by the user.

[1949] "Facial expressions and tone of voice" refer to physical characteristics that indicate the user's emotional state, such as the user's facial movements or the pitch of their voice.

[1950] "Emotional data" refers to data that quantitatively indicates the user's emotional state, analyzed from facial expressions, tone of voice, etc.

[1951] "Filtering" is the process of narrowing search results based on specific criteria.

[1952] The "display order" refers to the order in which search results are presented to the user, and may be adjusted based on emotion data.

[1953] The document management and search system of the present invention is designed to realize inventory management and product search using smart glasses, especially in brick-and-mortar stores. This system is configured as follows, and the specific operating procedure will be explained below.

[1954] Hardware and Software Configuration

[1955] Hardware:

[1956] Smart glasses (e.g., equipped with a high-performance display, camera, and microphone)

[1957] server

[1958] Camera and microphone (built into smart glasses)

[1959] software:

[1960] OCR technology (e.g., Google Cloud Vision)

[1961] Speech analysis engine (e.g. Google Speech-to-Text API)

[1962] Sentiment analysis engine (e.g. Microsoft Azure Emotion API)

[1963] Databases (e.g. MySQL, NoSQL databases - MongoDB)

[1964] Server-side index server (e.g. Elasticsearch)

[1965] Data processing and calculation process

[1966] Document data scanning and indexing

[1967] The server periodically scans all documents and extracts text data from PDF files, PowerPoint files, etc. In the case of PDF files, OCR technology is used to extract character data from images as needed. Along with the extracted text data, metadata such as the creation date and update date are also obtained. Based on this data, an index is created and stored in a database. This index is designed based on the number of occurrences and relevance of keywords within the document.

[1968] Keyword input and search

[1969] The user enters vague keywords into a search box using their smart glasses. The glasses then send the voice data to the server, which converts it into text using a speech analysis engine. The server then searches the index based on the entered keywords to identify relevant documents. Synonyms and similar expressions are also taken into account during this process.

[1970] Emotion Engine Operation

[1971] When a user wears the smart glasses, the built-in camera and microphone capture the user's facial expressions and tone of voice to analyze their emotions in real time. The emotion analysis engine generates emotional data such as excitement, joy, and confusion, and sends it to the server. The server then uses this emotional data to filter and display search results. For example, if the user is excited, it will prioritize displaying new and popular products that interest them.

[1972] Listing and displaying search results

[1973] The server takes emotion data into account to create a list of search results, sorting them by relevance. These results are then sent to the smart glasses and displayed as an overlay to the user. The user can then review the list and select the desired document or product.

[1974] Viewing files

[1975] The documents and product details selected by the user are displayed on the smart glasses. The server transfers the requested document file to the terminal, allowing the user to view the contents of the selected document.

[1976] Specific examples

[1977] For example, consider the case where a user puts on smart glasses in a physical store and performs a voice search for "the latest smartphone model." The voice analysis engine converts the speech into text and interprets it as "Do you have the latest smartphone model?" The sentiment analysis engine determines that the user is highly interested and prioritizes displaying new and popular products based on that.

[1978] Prompt Sentence Examples

[1979] Prompt: Describe the process of a smart glasses app that analyzes user sentiment and provides exciting overlays about the latest smartphone models.

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

[1981] Step 1:

[1982] Scanning documents and extracting text data

[1983] The server periodically scans all documents, including PDFs, PowerPoint files, and other digital files, and uses OCR technology (Google Cloud Vision) to extract text data from the images. The extracted text data is then stored as temporary data.

[1984] Input: Document file (PDF, PPTX, etc.)

[1985] Output: Text data

[1986] Step 2:

[1987] Metadata retrieval and indexing

[1988] The server obtains the metadata (creation date, update date, etc.) of the scanned documents. Based on this metadata and the extracted text data, it creates an index of the documents and stores it in a database (MySQL, MongoDB). This index includes the number of times keywords appear and their relevance.

[1989] Input: Text data, metadata

[1990] Output: Index data

[1991] Step 3:

[1992] Receiving voice input and converting it to text

[1993] The device (smart glasses) receives the user's voice input and sends it to the server, which uses a speech analysis engine (Google Speech-to-Text API) to convert the voice data into text, which is then used in the subsequent search process.

[1994] Input: Audio data

[1995] Output: Text data

[1996] Step 4:

[1997] Ambiguous Keyword Search

[1998] The server receives ambiguous keywords converted into text from the user and searches the index, taking into account synonyms and similar expressions, to generate a list of related documents and products.

[1999] Input: Texted keyword

[2000] Output: List of related documents

[2001] Step 5:

[2002] Facial and vocal emotion analysis

[2003] The device (smart glasses) uses a camera and microphone to capture the user's facial expressions and voice. The server uses an emotion analysis engine (Microsoft Azure Emotion API) to generate emotion data from this data. The generated emotion data indicates the user's excitement, joy, confusion, etc.

[2004] Input: facial expression data, voice data

[2005] Output: Emotion data

[2006] Step 6:

[2007] Filtering and sorting search results

[2008] The server adjusts the filtering and display order based on the generated emotion data. For example, if the user is excited, new or popular products will be displayed first. The results are sent to the smart glasses, where they are overlaid on the display.

[2009] Input: Emotion data, related document list

[2010] Output: A filtered and refined list of search results

[2011] Step 7:

[2012] Viewing detailed information

[2013] The user selects a specific document or product from the displayed search results. The server transfers detailed information based on this request to the device, which then displays it on the smart glasses, allowing the user to view the details.

[2014] Input: User's choice

[2015] Output: Detailed information (document content, product specifications, etc.)

[2016] Through these steps, the system achieves efficient and personalized document retrieval and product recommendations.

[2017] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

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

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

[2020] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[2021] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[2022] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[2023] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[2024] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[2025] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[2026] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[2027] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[2028] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[2029] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[2030] 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.

[2031] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[2032] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[2033] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[2034] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[2035] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[2036] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[2037] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[2038] The following is further disclosed regarding the above embodiment.

[2039] (Claim 1)

[2040] means for scanning all documents and extracting text data from the documents;

[2041] means for creating an index based on the extracted text data;

[2042] a means for searching the index based on user-entered ambiguous keywords;

[2043] A means of listing and displaying search results to the user;

[2044] means for displaying selected documents from the search results to the user;

[2045] A system including:

[2046] (Claim 2)

[2047] The system according to claim 1, wherein the creation date and update date of the document are obtained.

[2048] (Claim 3)

[2049] 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the document and included in the index.

[2050] (Claim 4)

[2051] The system of claim 1, wherein the search is optimized taking into account synonyms and similar expressions.

[2052] (Claim 5)

[2053] 10. The system of claim 1, further comprising means for intuitively inputting keywords via a user interface.

[2054] "Example 1"

[2055] (Claim 1)

[2056] means for periodically scanning all digital documents and extracting text data from the digital documents;

[2057] a means for creating an index based on the extracted text data and metadata and storing the index in a database;

[2058] A means for searching the index based on ambiguous keywords entered by a user and identifying relevant documents taking into account synonyms and similar expressions;

[2059] A means to list search results and display them to the user in order of relevance;

[2060] means for retrieving and displaying documents selected from the search results to the user;

[2061] A system including:

[2062] (Claim 2)

[2063] The system according to claim 1, wherein the system obtains the creation date and update date of the digital document.

[2064] (Claim 3)

[2065] 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the digital documents and included in the index.

[2066] "Application Example 1"

[2067] (Claim 1)

[2068] means for scanning all documents and extracting text data from the documents;

[2069] means for creating an index based on the extracted text data;

[2070] a means for searching the index based on user-entered ambiguous keywords;

[2071] A means of listing and displaying search results to the user;

[2072] means for displaying selected documents from the search results to the user;

[2073] means for extracting text from an image using optical character recognition techniques;

[2074] a means for the robot to display a list of documents based on the search results;

[2075] A system including:

[2076] (Claim 2)

[2077] The system according to claim 1, wherein the creation date and update date of the document are obtained.

[2078] (Claim 3)

[2079] 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the document and included in the index.

[2080] (Claim 4)

[2081] 10. The system of claim 1, wherein the index includes text data extracted using optical character recognition technology.

[2082] (Claim 5)

[2083] 2. The system according to claim 1, further comprising means for the robot to display search results and for the user to input keywords based on a prompt sentence.

[2084] "Example 2: Combining Emotion Engines"

[2085] (Claim 1)

[2086] means for scanning all documents and extracting text data from the documents;

[2087] means for creating an index based on the extracted text data;

[2088] a means for searching the index based on user-entered ambiguous keywords;

[2089] A means of analyzing user sentiment and adjusting the filtering and display order of search results;

[2090] A means of listing and displaying search results to the user;

[2091] means for displaying selected documents from the search results to the user;

[2092] A system including:

[2093] (Claim 2)

[2094] The system according to claim 1, wherein the creation date and update date of the document are obtained.

[2095] (Claim 3)

[2096] 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the document and included in the index.

[2097] "Application example 2 when combining emotion engines"

[2098] (Claim 1)

[2099] means for scanning all documents and extracting text data from the documents;

[2100] means for creating an index based on the extracted text data;

[2101] a means for searching the index based on user-entered ambiguous keywords;

[2102] A means for analyzing a user's facial expression and tone of voice to generate emotion data;

[2103] means for filtering and ordering search results based on the generated emotion data;

[2104] A means of listing and displaying search results to the user;

[2105] means for displaying selected documents from the search results to the user;

[2106] A system including:

[2107] (Claim 2)

[2108] The system according to claim 1, wherein the creation date and update date of the document are obtained.

[2109] (Claim 3)

[2110] 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the document and included in the index. [Explanation of symbols]

[2111] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for scanning all documents and extracting text data from the documents; means for creating an index based on the extracted text data; a means for searching the index based on user-entered ambiguous keywords; A means of listing and displaying search results to the user; means for displaying selected documents from the search results to the user; A system including:

2. The system according to claim 1, further comprising: acquiring a creation date and an update date of a document.

3. 10. The system of claim 1, wherein important keywords are automatically extracted from the content of the documents and included in the index.

4. The system of claim 1 , wherein the search is optimized by taking into account synonyms and similar expressions.

5. 2. The system according to claim 1, further comprising means for intuitively inputting keywords via a user interface.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A