System
A system efficiently manages and secures data within a local network by navigating, indexing, and analyzing natural language inquiries to provide accurate and up-to-date information based on access permissions.
Patent Information
- Application Number
- JP2024115264
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Managing vast amounts of data and files within a local network is difficult, with inefficient search processes, and there are challenges in ensuring information confidentiality and appropriate access rights.
A system that automatically navigates a local network, collects metadata based on access permissions, indexes it in a searchable database, receives natural language inquiries, analyzes them using NLP, searches the database, and notifies users of the results, ensuring efficient and secure access to relevant information.
Enables quick and accurate retrieval of necessary information while maintaining security and adhering to access rights, with the system automatically updating to provide the latest data.
Smart Images

Figure 2026014267000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's business environment, vast amounts of data and files are generated every day, making their management and search extremely difficult. When specific information is needed, efficiently locating the file can be difficult, consuming a lot of time and effort. Information confidentiality and access rights must also be considered, and inappropriate access can be a problem. Therefore, there is a need for a system that can efficiently and securely search for and provide the necessary information. [Means for solving the problem]
[0005] The present invention provides a system that allows a user to quickly and accurately locate files and web pages within a local network. The system includes the following means:
[0006] A means of automatically navigating the local network and collecting metadata of files and web pages based on predefined access permissions;
[0007] A means of indexing the collected metadata and storing it in a searchable database;
[0008] means for receiving natural language inquiries from users;
[0009] A means for analyzing the received inquiry using natural language processing and generating a search query;
[0010] means for searching an index database to identify relevant files and web pages based on a search query;
[0011] a means of informing the user of the location of identified files and web pages and how to access them;
[0012] It is a system including:
[0013] This allows users to efficiently search for the information they need and obtain results according to their access rights.The system also automatically traverses the network and accumulates the latest data, making it possible to always provide the latest information.
[0014] A "local network" is a computer network of limited scope used within a single organization or building.
[0015] "Roaming" is the act of a server or agent automatically patrolling resources (files, web pages, etc.) within a network to collect information.
[0016] "Metadata" refers to data that indicates attribute information about a file or web page (such as file name, creation date, update date, keywords, etc.).
[0017] "Indexing" is the process of organizing and storing collected metadata so that it can be efficiently searched.
[0018] A "database" is a system that stores large amounts of data in an organized manner and makes it easy to search and extract data.
[0019] "Natural language processing" is a set of techniques and methods that allow computers to understand human language.
[0020] A "search query" is a keyword or phrase used to search for specific information.
[0021] "Access privileges" are rights or entitlements that determine whether a user can access specific data or resources.
[0022] A "user" is a person or entity that uses the system to search for information.
[0023] "Notification" is the act of providing a specific message or information to a designated recipient. [Brief explanation of the drawings]
[0024] [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
[0025] 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.
[0026] First, the terms used in the following description will be explained.
[0027] 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).
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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."
[0032] [First embodiment]
[0033] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0034] 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.
[0035] 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).
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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."
[0045] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides them to users. This system is comprised of a server, a terminal, and a user component that work together.
[0046] 1. Network navigation and data collection
[0047] The server automatically scans designated folders and websites within the local network according to a predefined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, keywords, etc.).
[0048] 2. Building and updating indexes
[0049] The server organizes the collected metadata and stores it in a searchable index database. The index is built by associating it with the file metadata, allowing for fast searches. The index database is periodically updated to reflect new or changed data.
[0050] 3. Receiving inquiries from users
[0051] Users can send natural language queries to the chatbot from their own devices, such as "Where can I find documents related to XX?" The device then forwards the messages to the server in real time.
[0052] 4. Intention Analysis Using Natural Language Processing
[0053] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0054] 5. Search and generate results
[0055] The server searches the index database based on the extracted keywords, generating a list of identified files and web pages, then checking the user's access privileges. Only information for which access privileges have been confirmed is retained.
[0056] 6. Notification of Results
[0057] The server generates a message to notify the user based on the final search results. For example, it may create a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0058] Specific examples
[0059] For example, a sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted.
[0060] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the server checks the user's access privileges and returns only the information that the user has access to. The server then generates a message stating "This Month's Sales Report is in the Sales Department folder on the shared drive" and sends it to the terminal. The terminal displays this message to the user, allowing the user to quickly and accurately obtain the information they need.
[0061] This system solves the problems of managing huge amounts of data and access rights within the network, making it possible to provide information efficiently and safely.
[0062] The processing flow will be explained below.
[0063] Step 1: Scan the network
[0064] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0065] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0066] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0067] Step 2: Indexing Metadata
[0068] The server organizes the collected metadata and stores it in a searchable index database.
[0069] The server periodically updates this index to reflect newly discovered or changed data.
[0070] Step 3: Receiving user inquiries
[0071] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0072] The terminal forwards this message to the server in real time.
[0073] Step 4: Natural Language Processing
[0074] The server passes the received message to a natural language processing (NLP) engine.
[0075] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0076] Step 5: Generate and execute a search query
[0077] The server generates a search query based on the keywords extracted from the NLP engine.
[0078] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0079] Step 6: Verify access permissions
[0080] The server checks the user's access rights to the files and web pages in the search results.
[0081] The server retrieves only the information to which the user has access rights.
[0082] Step 7: Generate a result message
[0083] The server generates a message to respond to the user based on the filtered search results.
[0084] The server sends the generated result message to the terminal.
[0085] Step 8: Presenting the results
[0086] The terminal displays the messages received from the server to the user.
[0087] The user can access the required files or web pages based on the information presented.
[0088] Example 1
[0089] 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."
[0090] Modern companies and organizations store vast amounts of digital data within their local networks. However, it can be difficult to quickly and accurately identify the files and web pages you need. Furthermore, if access permissions are not properly managed, the risk of unnecessary data leakage increases. Therefore, a system for efficiently and securely searching and providing digital data is needed.
[0091] 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.
[0092] In this invention, the server includes means for automatically navigating within a local network and collecting metadata of digital data based on predetermined access rights, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant digital data, and means for notifying users of the storage location and access method of the identified digital data, thereby enabling users to quickly and accurately obtain the information they need.
[0093] A "local network" is a computer network used within a specific, limited area.
[0094] "Migration" is the act of automatically moving within a network and collecting data.
[0095] "Access rights" are the permissions and restrictions for specific users or groups to access digital data.
[0096] "Digital data" is electronic information such as files or web pages that can be processed by a computer.
[0097] "Metadata" is attribute information of digital data, and includes the file name, creation date, update date, keywords, and the like.
[0098] "Indexing" is the process of organizing digital data based on specific attributes and storing them in a database so that they can be efficiently searched.
[0099] A "database" is an information system for efficiently managing data and storing it in a searchable form.
[0100] "Natural language" is a language that humans use in their daily lives and that can be analyzed and processed by computers and machines.
[0101] "Natural language processing" is a technology that allows computers to understand and analyze human language.
[0102] A "search query" is a specific request or question for retrieving information in a database.
[0103] "Notification" is the act of sending information to a user and informing them.
[0104] A "search result" is a set of information retrieved from a database based on a search query.
[0105] "Filtering" is the process of narrowing search results based on specific criteria.
[0106] A "chatbot" is an automated response system for conducting conversations in natural language.
[0107] The present invention relates to a system for quickly and accurately locating the location of digital data within a local network and providing it to users. This system is comprised of a server, a terminal, and a user component that work together.
[0108] 1. Network navigation and data collection
[0109] The server automatically scans designated folders and websites within the local network according to a predetermined schedule. Python or shell scripts are used for these scans. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, and keywords). For example, the server scans the " / shared / docs" folder and the "http: / / internal-portal" web page every day at 2:00 AM and records the scan results in " / var / log / scans / scan_results.log."
[0110] 2. Building and updating indexes
[0111] The server organizes the collected metadata and stores it in a searchable index database. Specifically, it uses a search engine such as Elasticsearch to build the index. The index is built by putting file metadata in JSON format into Elasticsearch. The index database is then periodically updated to reflect new or changed data. The update process is automated using a Cron job, which runs the "update_index.py" script every day at 3:00 AM.
[0112] 3. Receiving inquiries from users
[0113] The user makes a query to the chatbot in natural language from their device. For example, they send a message such as, "Where is this month's sales report?" The device then forwards this message to the server in real time. The device uses chat apps such as Slack and Microsoft Teams.
[0114] 4. Intention Analysis Using Natural Language Processing
[0115] The server passes the received message to a natural language processing (NLP) engine to analyze the user's intent. The NLP engine uses spaCy or the Google Cloud Natural Language API. The NLP engine tokenizes the message and extracts important keywords and phrases. The resulting keyword is "This month's sales report." The extracted keywords are then used in the subsequent search process.
[0116] 5. Search and generate results
[0117] The server searches the index database based on the keywords obtained from the NLP engine. Specifically, it uses Elasticsearch's query API to execute the search. A list of identified digital data is generated as a result of the search. From this list, further processing is performed to verify the user's access permissions. For example, an LDAP server is used to obtain user permission information, and only accessible data is retained as a result.
[0118] 6. Notification of Results
[0119] The server generates a message to notify the user based on the final search results. For example, a message such as "This month's sales report can be found in the Sales Department folder on the shared drive" is generated. This message is then sent to the user's device via the chat app. The device displays this message to the user, allowing them to quickly check the results.
[0120] Specific examples
[0121] For example, a sales department user sends a message to a chatbot on Slack asking, "Where is this month's sales report?" This message is passed to the server and analyzed by spaCy. As a result of the analysis, the keyword "this month's sales report" is extracted. The server then queries Elasticsearch to identify "this month's sales report" in the sales department folder. The server then references the LDAP server, verifies the user's permissions, and generates a message saying, "This month's sales report can be found in the sales department folder on the shared drive," which is sent to the user's device via Slack. The device then displays this message to the user and provides them with the necessary information.
[0122] Prompt Sentence Examples
[0123] Examples of prompts include:
[0124] "Where is this month's sales report?"
[0125] "Where are the sales department meeting materials?"
[0126] This allows users to quickly and accurately obtain the information they need.
[0127] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0128] Step 1:
[0129] Network migration and data collection
[0130] The server automatically traverses the local network according to a set schedule and collects metadata from specified folders and websites. Specifically, it uses Python and shell scripts to scan the " / shared / docs" folder and the "http: / / internal-portal" webpages every day at 2:00 AM. The input is the URLs of the folders and webpages to be scanned, and the output is metadata such as file names, creation dates, modification dates, and keywords. The scan results are recorded in " / var / log / scans / scan_results.log".
[0131] Step 2:
[0132] Building and updating indexes
[0133] The server indexes the collected metadata and stores it in a search engine such as Elasticsearch. Specifically, the scan result metadata is input into Elasticsearch in JSON format. The input is the collected metadata, and the output is an index database entry. The index is updated every day at 3:00 AM by running the "update_index.py" script as a Cron job to reflect new or changed data.
[0134] Step 3:
[0135] Receiving inquiries from users
[0136] A user makes a query in natural language from a device. For example, a message such as "Where is this month's sales report?" can be sent using a chat app such as Slack or Microsoft Teams. The input is a natural language message from the user, and the output is the transfer of that message to the server. The device transfers the message to the server in real time, and it is registered in the server's query receiving queue.
[0137] Step 4:
[0138] Intention analysis using natural language processing
[0139] The server passes the received message to a natural language processing engine (spaCy or Google Cloud Natural Language API) to analyze the user's intent. Specifically, the NLP engine tokenizes the message and extracts important keywords and phrases. The input is the natural language message from the user, and the output is the extracted keywords (e.g., "This month's sales report").
[0140] Step 5:
[0141] Searching and generating results
[0142] The server searches the index database based on the keywords obtained from the NLP engine. It uses Elasticsearch's query API to generate a list of relevant digital data. It then checks the user's access permissions with the LDAP server and returns only the information that can be accessed. The input is the extracted keywords and the user's access rights information, and the output is a list of identified digital data.
[0143] Step 6:
[0144] Notification of results
[0145] The server generates a notification message for the user based on the final search results. For example, it creates a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The input is a list of identified digital data, and the output is the generated notification message. This message is sent to the user's device via the chat app, and the device displays it to the user.
[0146] (Application example 1)
[0147] 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."
[0148] There is a need for a means to quickly and accurately identify and provide maintenance procedures and manuals for various equipment and processes within a factory to workers. Conventional methods require a lot of time and effort to manually search and check information, reducing efficiency. Furthermore, insufficient verification of access rights raises concerns about information leaks and the provision of incorrect information. The present invention aims to solve these problems and improve work efficiency and safety within factories.
[0149] 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.
[0150] In this invention, the server includes: means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions; means for indexing the collected metadata and storing it in a searchable database; means for receiving inquiries in natural language from users; means for analyzing the received inquiries using natural language processing and generating search queries; means for searching the index database based on the search queries and identifying relevant files and web pages; means for verifying the user's access permissions and filtering only accessible information; means for notifying the user of the storage location and access method of the relevant files and web pages; and means for receiving natural language inquiries from users via a smart device via voice input and displaying the results, thereby enabling fast and accurate searching and provision of maintenance procedures and manuals within a factory.
[0151] A "local network" is a network of computers or devices connected within a particular area or facility.
[0152] "Access privileges" refer to the rights of a user to access certain information or resources.
[0153] "Metadata" refers to information about a file or web page (such as file name, creation date, update date, keywords, etc.) that describes the attributes and characteristics of the data.
[0154] "Indexing" is the process of organizing information and making it searchable.
[0155] A "database" is a collection of data that is organized so that it can be efficiently managed, searched, and retrieved.
[0156] "Natural language" refers to languages that humans use on a daily basis (for example, Japanese or English).
[0157] "Natural language processing" is a technology that allows computers to understand, interpret, and generate natural human language.
[0158] A "search query" refers to a keyword or phrase entered to search for specific information.
[0159] "Filtering" is the process of selecting and excluding data based on specific criteria.
[0160] "Smart device" refers to an electronic device with advanced functionality that has internet connectivity and allows interaction with the user.
[0161] "Voice input" is a method in which a user inputs instructions by voice.
[0162] The present invention is a system for quickly and accurately identifying and providing maintenance procedures and manuals in a factory to workers. This system functions in cooperation with a server, terminals (e.g., smart devices or smart glasses), and users.
[0163] First, the server automatically traverses the local network and collects metadata for files and web pages based on the access privileges it has set. This metadata includes file names, creation dates, modification dates, keywords, etc. Then, it indexes the collected metadata and stores it in a searchable database. This index database is updated periodically.
[0164] A user makes a query in natural language from their own terminal (e.g., a smart device or smart glasses). The query is entered as a specific question such as "What is the maintenance procedure for XX?" This input can also be accepted as voice input. The terminal transfers the entered message to the server in real time.
[0165] The server analyzes the received message using a natural language processing (NLP) engine to understand the user's intent. Important keywords and phrases are extracted and a search query is generated. The server then searches an index database based on the generated search query to identify relevant files and web pages. At this time, the server checks the user's access permissions and filters out only the information that the user can access.
[0166] The server generates a notification message for the user based on the filtered search results. This message includes the location of the file or web page and how to access it. The notification message is sent to the terminal and displayed to the user. For example, the message might read, "The maintenance procedure for XX is located in the shared folder 'Maintenance / Robotic Arm' on the factory server."
[0167] As a concrete example, consider a scenario in which a veteran factory worker asks a question through smart glasses, "What are the routine maintenance procedures for the robotic arm?" This question is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "routine maintenance procedures for the robotic arm" is extracted, and the server searches the index database. After the user's access rights are confirmed, the search results are notified to the user.
[0168] An example prompt has the following format:
[0169] "What are the routine maintenance procedures for the robotic arm?"
[0170] This allows users to quickly and accurately obtain the information they need, improving work efficiency and safety within the factory.
[0171] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0172] Step 1:
[0173] The server automatically traverses the local network and collects metadata for files and web pages based on the specified access permissions. The input for this step is the specified folders and websites within the network, and the output is the metadata. Specifically, the server periodically scans according to a schedule and collects metadata such as file names, creation dates, modification dates, and keywords.
[0174] Step 2:
[0175] The server indexes the collected metadata and stores it in a searchable database. The input to this step is the metadata collected in step 1, and the output is an indexed database. Specifically, the server organizes the metadata and links related information to create an index database.
[0176] Step 3:
[0177] The user makes a query in natural language from the terminal. The input for this step is the query entered as the user's voice or text, and the output is a message transferred from the terminal to the server. Specifically, the user speaks to the smart glasses and asks, "What are the maintenance procedures for XX?"
[0178] Step 4:
[0179] The server analyzes the received query using a natural language processing (NLP) engine. The input for this step is the message sent by the user, and the output is the analyzed keywords and search query. Specifically, the server uses the NLP engine to analyze the intent of the query and extract important keywords and phrases.
[0180] Step 5:
[0181] The server searches the index database based on the generated search query to identify relevant files and web pages. The input to this step is the parsed search query, and the output is a list of identified files and web pages. Specifically, the server rapidly searches the index database and extracts relevant information.
[0182] Step 6:
[0183] The server checks the user's access privileges and filters out only the information that can be accessed. The input to this step is a list of identified files or web pages and the user's access privileges, and the output is a list of information that the user can access. Specifically, the server uses an access control system to check the user's privileges and leaves only the information that is permitted.
[0184] Step 7:
[0185] The server generates a message to notify the user based on the filtered search results and sends it to the terminal. The input to this step is a list of information that the user can access, and the output is a notification message. Specifically, the server creates a message such as "The maintenance procedure for XX is in the shared folder 'Maintenance / Robotic Arm' on the factory server," and sends it to the user's terminal.
[0186] Step 8:
[0187] The terminal displays the received message to the user. The input of this step is the notification message sent from the server, and the output is the user's view of the displayed information. Specifically, the smart glasses display a message on the screen to notify the user. This process allows the user to quickly and accurately obtain the information they need.
[0188] 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.
[0189] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides information when necessary, taking into account the user's feelings. This system works in cooperation with the components of a server, a terminal, and a user.
[0190] 1. Network navigation and data collection
[0191] The server automatically scans designated folders and websites within the local network according to a pre-defined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata (file name, creation date, modification date, keywords, etc.) for each file and web page.
[0192] 2. Metadata Indexing
[0193] The server organizes the collected metadata and stores it in a searchable index database. The index is built from the collected metadata, allowing for fast searches. The index is periodically updated to reflect new or changed data.
[0194] 3. Use of Emotion Engine
[0195] When the server receives a query from a user, it identifies the user's emotional state using an emotion engine, which can analyze emotions from the user's text messages and voice inputs.
[0196] 4. Receiving inquiries from users
[0197] The user sends a natural language query to the chatbot from their device, such as "Where can I find documents related to XX?" The device then forwards this message to the server in real time.
[0198] 5. Intention Analysis Using Natural Language Processing
[0199] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0200] 6. Search and generate results
[0201] The server searches the index database based on the extracted keywords and lists the files and web pages that match the search results. The files and web pages identified as search results are listed, and the results are generated based on this list.
[0202] 7. Check access permissions
[0203] The server checks the user's access permissions for the files and web pages in the search results, and only the information the user has permission to access is retained.
[0204] 8. Adjusting the results
[0205] The server takes into account the user's emotional state and adjusts how search results are presented: for example, if the user is in a hurry, it will display important information first to reduce the user's stress.
[0206] 9. Generating the Result Message
[0207] The server generates a message to respond to the user based on the final search results. For example, it may generate a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0208] Specific examples
[0209] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted. At this time, the emotion engine also kicks in and detects that the user is impatient.
[0210] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0211] This system solves the problems of managing the vast amount of data and access rights within the network, and also takes user emotions into consideration to provide more appropriate information.
[0212] The processing flow will be explained below.
[0213] Step 1: Scan the network
[0214] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0215] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0216] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0217] Step 2: Indexing Metadata
[0218] The server organizes the collected metadata and stores it in a searchable index database.
[0219] The server periodically updates this index to reflect newly discovered or changed data.
[0220] Step 3: Receiving user inquiries
[0221] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0222] The terminal transfers the received message to the server in real time.
[0223] Step 4: Natural Language Processing
[0224] The server passes the received message to a natural language processing (NLP) engine.
[0225] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0226] The server uses an emotion engine to recognize the user's emotional state, for example, determining whether the user is anxious based on the text's style and keywords.
[0227] Step 5: Generate and execute a search query
[0228] The server generates a search query based on the keywords extracted from the NLP engine.
[0229] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0230] Step 6: Verify access permissions
[0231] The server checks the user's access rights to the files and web pages in the search results.
[0232] The server retrieves only the information to which the user has access rights.
[0233] Step 7: Refine your search results
[0234] The server adjusts how search results are presented based on the user's emotional state.
[0235] If the user is in a hurry, the server will prioritize presenting the most important information to reduce the user's stress.
[0236] Step 8: Generate and notify result messages
[0237] The server generates a message to respond to the user based on the filtered search results, for example, "This month's sales report can be found in the Sales Department folder on the shared drive."
[0238] The terminal displays the generated result message to the user.
[0239] Step 9: Feedback and learning
[0240] The user accesses the required files and web pages based on the presented information.
[0241] The server collects user feedback and uses it to improve the accuracy of the emotion engine and NLP engine.
[0242] Examples:
[0243] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted, and at this time, the emotion engine also kicks in and detects that the user is impatient.
[0244] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0245] Example 2
[0246] 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."
[0247] Conventional systems have difficulty quickly and accurately searching the vast amount of digital information stored on local networks. Furthermore, they do not provide information that takes user emotions into account, resulting in a poor user experience. Furthermore, users' access privileges are unclear, creating a risk of unauthorized data being accessed. Therefore, a new system is needed that efficiently and safely provides necessary information and presents it based on user emotions.
[0248] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for automatically roaming within a local network and collecting metadata of digital information based on predetermined access permissions, a means for indexing the collected metadata and storing it in a searchable database, and a means for receiving inquiries from users in natural language. This makes it possible to quickly and accurately search vast amounts of digital information and efficiently provide necessary information. In addition, by using a means for analyzing the user's emotional state and adjusting the presentation method of search results based on the results, an improved user experience can be achieved. Furthermore, by checking the user's access permissions and providing only accessible information, data security is ensured and information can be provided safely.
[0249] A "local network" is a network of interconnected computers or devices within a limited range.
[0250] "Digital information" is data such as text, images, audio, and video that is stored or transmitted electronically.
[0251] "Metadata" is data that describes information about digital information, and specifically includes the file name, creation date, update date, keywords, and the like.
[0252] "Indexing" refers to building a searchable index based on collected metadata.
[0253] A "searchable database" is a database that allows fast and efficient searching of indexed data.
[0254] "Natural language" refers to the language used by humans on a daily basis, and is distinct from specific technical terms or formal languages such as program code.
[0255] "Natural language processing" is a technology that allows computers to understand, analyze, and generate natural language.
[0256] A "search query" is a search request that contains keywords or phrases related to the information a user is seeking.
[0257] "Emotional state" refers to the user's emotional or psychological state, including, for example, impatience, tension, relief, etc.
[0258] "Access privileges" are privileges that determine whether a user is permitted to access particular digital information.
[0259] "Search result presentation" refers to how search results are displayed to the user.
[0260] A "server" is a computer system that provides services to other computers and devices on a network.
[0261] The present invention relates to a system that quickly and accurately identifies digital information within a local network and provides information based on the user's emotional state. The system involves the cooperation of server, terminal, and user components.
[0262] Configuration and Operation Procedures
[0263] Network migration and data collection
[0264] The server automatically scans designated folders and web pages within the local network according to a pre-set schedule. Crontab (a Linux scheduling tool) or Windows Task Scheduler can be used for this scanning. The server collects metadata from each piece of digital information scanned. This metadata includes file names, creation dates, modification dates, keywords, file sizes, and more.
[0265] Metadata Indexing
[0266] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database that is periodically updated to reflect new or changed digital information.
[0267] Use of emotion engine
[0268] When the server receives a user inquiry, it analyzes the user's emotional state using Google Cloud Natural Language API and IBM Watson sentiment analysis.
[0269] Receiving inquiries from users
[0270] Users send natural language inquiries to the chatbot from their devices, such as "Where is this month's sales report?". The messaging platform used is Slack or Microsoft Teams. The device forwards this message to the server in real time.
[0271] Intention analysis using natural language processing
[0272] The server analyzes the received message using a natural language processing (NLP) engine, such as spaCy or Google Cloud Natural Language, to understand the user's intent and extract key keywords and phrases.
[0273] Searching and generating results
[0274] The server searches the index database based on the extracted keywords and lists the relevant digital information. For example, files such as "Sales Report_2023_10.xlsx" are included in the search results.
[0275] Checking access permissions
[0276] The server checks the user's access rights to the digital information in the search results, using authentication systems such as LDAP or Active Directory to ensure that only information that the user has access to is displayed in the search results.
[0277] Adjusting the results
[0278] The server adjusts the way search results are presented based on the analysis of the user's emotional state. For example, if the user is feeling anxious, it will quickly display important information to reduce the user's stress.
[0279] Generate result message
[0280] The server generates a response message for the user based on the final search results. Using a generative AI model, it creates a message such as "This month's sales report can be found in the Sales Department folder on the shared drive." The device displays this message to the user.
[0281] Examples of specific examples and prompts
[0282] Specific examples
[0283] A sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server, where the NLP engine extracts the keyword "this month's sales report." The emotion engine also works to analyze the user's impatience. The server then searches the index database to identify the location of "Sales Report_2023_10.xlsx" and checks the user's access permissions. The server then generates and quickly presents a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The device displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0284] Examples of prompts to input to the AI model
[0285] "Where is this month's sales report?" (Emotion: Impatience)
[0286] "Please tell me where today's meeting materials are saved. (Emotion: Tension)"
[0287] "I would like to know where the latest budget reconciliation documents are for each department. (Emotion: Neutral)"
[0288] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0289] Step 1:
[0290] The server scans designated folders and web pages within the local network according to a pre-set schedule.
[0291] Input: Path information of the specified folder or web page
[0292] Output: Collected metadata (file name, creation date, modification date, keywords, file size, etc.)
[0293] What it does: Runs periodic scan tasks using Crontab or Windows Task Scheduler to extract necessary metadata from each folder and web page.
[0294] Step 2:
[0295] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database.
[0296] Input: Collected metadata
[0297] Output: Indexed database
[0298] Specific operation: Using the ElasticSearch API, the collected metadata is organized and classified, and stored in an index database in an easily searchable format.
[0299] Step 3:
[0300] Users send queries to the chatbot in natural language from their own devices.
[0301] Input: A natural language message from the user (e.g., "Where is this month's sales report?")
[0302] Output: Transfer message from terminal to server
[0303] Specific behavior: Sends user messages to the server via messaging platforms such as Slack and Microsoft Teams.
[0304] Step 4:
[0305] The terminal transfers the user's messages to the server in real time.
[0306] Input: User's natural language message
[0307] Output: Message sent to the server
[0308] Specific operation: Relays user messages to the server via the messaging platform's API.
[0309] Step 5:
[0310] The server analyzes the received message using a natural language processing (NLP) engine.
[0311] Input: User's natural language message
[0312] Output: Extracted keywords and phrases (e.g., "This month's sales report")
[0313] What it does: It uses spaCy and Google Cloud Natural Language to analyze the text of messages and identify important words and phrases.
[0314] Step 6:
[0315] The server uses the analysis results and an emotion engine to analyze the user's emotional state.
[0316] Input: User's natural language message
[0317] Output: Emotion analysis results (e.g., impatience, tension, etc.)
[0318] What it does: It uses Google Cloud Natural Language API and IBM Watson's sentiment analysis capabilities to determine the user's emotional state from the message.
[0319] Step 7:
[0320] The server searches the index database based on the extracted keywords and lists the relevant digital information.
[0321] Input: Extracted keywords or phrases
[0322] Output: List of search results (e.g. "Sales Report_2023_10.xlsx")
[0323] Specific operation: ElasticSearch is used to search the index database for data matching keywords and generate a result list.
[0324] Step 8:
[0325] The server checks the user's access rights to the digital information in the search results.
[0326] Input: Search result list, user access permission information
[0327] Output: List of accessible data
[0328] Specific operation: Uses LDAP or Active Directory to verify user authentication information and filter only the digital information that has been granted access.
[0329] Step 9:
[0330] The server adjusts how search results are presented depending on the user's emotional state.
[0331] Input: Search result list, sentiment analysis results
[0332] Output: Adjusted search results
[0333] Specific behavior: Using a generative AI model, the way information is presented is optimized, such as prioritizing important information when the user is in a hurry.
[0334] Step 10:
[0335] The server generates a message in response to the user based on the final search results and transmits it to the terminal.
[0336] Input: Tailored search results, user query
[0337] Output: Reply message to the user
[0338] Specific operation: An appropriate message is generated using a generative AI model and sent to the device using the message platform's API.
[0339] Step 11:
[0340] The terminal displays messages from the server to the user.
[0341] Input: Reply message from the server
[0342] Output: The message displayed to the user
[0343] Specific behavior: A reply message will be displayed in the chat window of Slack or Microsoft Teams, providing the information the user is looking for.
[0344] (Application example 2)
[0345] 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."
[0346] In today's digital society, quickly and accurately finding specific information from a large number of files and web pages on a local network is an important challenge. However, conventional systems simply present information without considering the user's emotional state or urgency, which often causes stress for users. This leads to problems such as reduced efficiency and satisfaction in information seeking.
[0347] 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.
[0348] In this invention, the server includes means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant files and web pages, means for notifying the user of the storage location and access method of the identified files and web pages, and means for analyzing the user's emotional state and adjusting search results and notification content according to the user's emotional state, thereby enabling information to be presented taking into account the user's emotional state and level of urgency.
[0349] A "local network" is a network that allows a group of digital devices connected within a specific range to communicate with each other.
[0350] "Metadata" is information about a file or web page (e.g., file name, creation date, update date, keywords, etc.), and is not the data itself but additional information that describes its characteristics and content.
[0351] "Indexing" is the process of organizing collected metadata and storing it in a database so that it can be searched quickly and efficiently.
[0352] "Natural language processing" is a technology that analyzes inquiries made in natural language by users and understands their intent and content.
[0353] A "search query" is a series of keywords or phrases generated to search a database.
[0354] "Emotional state" refers to the user's emotional state (e.g., anxious, calm, neutral), and is a psychological state analyzed from the user's input or voice.
[0355] The present invention relates to a system that provides an "emotionally responsive shopping assistant" smartphone app that enables users to efficiently search for products in physical stores. The system includes a server that automatically navigates within a local network, collects metadata of files and web pages based on predetermined access privileges, indexes the collected metadata, and stores it in a searchable database; a server that receives queries in natural language from users, analyzes the queries using natural language processing, and generates search queries; and a server that searches the index database based on the search queries, identifies relevant files and web pages, and notifies the user of their storage locations and how to access them.
[0356] The system also analyzes the user's emotional state and adjusts search results and notification content accordingly, reducing user stress and improving the efficiency of information seeking. The user's emotional state is analyzed using a natural language processing engine (using the SentimentIntensityAnalyzer in the NLTK library).
[0357] System configuration
[0358] 1. Metadata collection and indexing:
[0359] The server periodically scans the local network and collects metadata about files and web pages based on user access permissions, which is then stored in an index database and updated as needed.
[0360] 2. Receiving inquiries from users:
[0361] Users send natural language queries to the chatbot from their smartphones, and the messages are forwarded to the server in real time.
[0362] 3. Natural Language Processing and Search Query Generation:
[0363] The server analyzes the received inquiry using a natural language processing engine, such as spaCy or NLTK, to generate a search query.
[0364] 4. Search and generate results:
[0365] The server then searches the index database based on the generated search query to identify the relevant files and web pages, while also checking the user's access permissions, and only extracts information that the user has access to.
[0366] 5. User emotional state analysis:
[0367] The server analyzes the user's emotional state using a natural language processing engine, using the SentimentIntensityAnalyzer from the NLTK library.
[0368] 6. Coordination and Notification of Results:
[0369] The server then adjusts search results and notification content based on the analyzed user's emotional state, presenting them in the most optimal way to the user: providing quick information to impatient users and detailed information to calm users.
[0370] Specific examples
[0371] For example, if a user asks "Where are the tables in stock?" in a store, they type this message into the app, which sends it to the server, generating a prompt like this:
[0372] Analyze the user's emotional state when they ask for information about the table's inventory location and provide the appropriate information. If the message sounds urgent, provide quick information; if it sounds calm, provide detailed information.
[0373] This prompt is input into a natural language processing engine to analyze the user's emotional state, after which the server generates appropriate search results and notifies the user, allowing the user to quickly and accurately obtain the information they need.
[0374] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0375] Step 1:
[0376] Metadata collection
[0377] The server automatically scans the local network periodically and collects metadata (such as file names, creation dates, update dates, and keywords) for files and web pages based on the specified access permissions. It receives the path of a specified folder or website within the local network as input and outputs the collected metadata. This makes it possible to collect information based on the user's access permissions.
[0378] Step 2:
[0379] Metadata Indexing
[0380] The server stores the collected metadata in an index database. The collected metadata is given as input, and the data stored in the index database is output. This allows for fast and efficient data searches.
[0381] Step 3:
[0382] Receiving inquiries from users
[0383] The user uses their device to send a natural language inquiry (e.g., "Where is the table in stock?") to the chatbot. The user's inquiry message is given as input, and a message is output that is forwarded to the server. This allows the server to receive the user's inquiry.
[0384] Step 4:
[0385] Natural Language Processing and Search Query Generation
[0386] The server analyzes the received query using a natural language processing engine (e.g., spaCy or NLTK). As input, it takes the user's message and outputs the search query, which extracts relevant keywords and phrases.
[0387] Step 5:
[0388] Searching and generating results
[0389] The server searches the index database based on the generated search query to identify the relevant files and web pages. The search query is given as input, and a list of relevant files and web pages is output as search results. This identifies the appropriate information.
[0390] Step 6:
[0391] Check user access permissions
[0392] The server checks the user's access permissions for the identified files and web pages. As input, it takes the list of identified files and web pages and the user's access permissions, and outputs only the information the user has access to. This ensures proper authorization.
[0393] Step 7:
[0394] User emotional state analysis
[0395] The server analyzes the user's emotional state using a natural language processing engine (e.g., NLTK's SentimentIntensityAnalyzer). The user's message is given as input, and the analyzed emotional state of the user is output. This allows the user's emotional state to be understood.
[0396] Step 8:
[0397] Coordination and notification of results
[0398] The server adjusts search results and notification content based on the user's emotional state. The analyzed user's emotional state and search results are given as input, and the adjusted notification content is output. This reduces the user's stress and provides optimal information.
[0399] 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.
[0400] 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.
[0401] 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.
[0402] [Second embodiment]
[0403] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0404] 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.
[0405] 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).
[0406] 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.
[0407] 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.
[0408] 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).
[0409] 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.
[0410] 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.
[0411] 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.
[0412] 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.
[0413] 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.
[0414] 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."
[0415] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides them to users. This system is comprised of a server, a terminal, and a user component that work together.
[0416] 1. Network navigation and data collection
[0417] The server automatically scans designated folders and websites within the local network according to a predefined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, keywords, etc.).
[0418] 2. Building and updating indexes
[0419] The server organizes the collected metadata and stores it in a searchable index database. The index is built by associating it with the file metadata, allowing for fast searches. The index database is periodically updated to reflect new or changed data.
[0420] 3. Receiving inquiries from users
[0421] Users can send natural language queries to the chatbot from their own devices, such as "Where can I find documents related to XX?" The device then forwards the messages to the server in real time.
[0422] 4. Intention Analysis Using Natural Language Processing
[0423] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0424] 5. Search and generate results
[0425] The server searches the index database based on the extracted keywords, generating a list of identified files and web pages, then checking the user's access privileges. Only information for which access privileges have been confirmed is retained.
[0426] 6. Notification of Results
[0427] The server generates a message to notify the user based on the final search results. For example, it may create a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0428] Specific examples
[0429] For example, a sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted.
[0430] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the server checks the user's access privileges and returns only the information that the user has access to. The server then generates a message stating "This Month's Sales Report is in the Sales Department folder on the shared drive" and sends it to the terminal. The terminal displays this message to the user, allowing the user to quickly and accurately obtain the information they need.
[0431] This system solves the problems of managing huge amounts of data and access rights within the network, making it possible to provide information efficiently and safely.
[0432] The processing flow will be explained below.
[0433] Step 1: Scan the network
[0434] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0435] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0436] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0437] Step 2: Indexing Metadata
[0438] The server organizes the collected metadata and stores it in a searchable index database.
[0439] The server periodically updates this index to reflect newly discovered or changed data.
[0440] Step 3: Receiving user inquiries
[0441] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0442] The terminal forwards this message to the server in real time.
[0443] Step 4: Natural Language Processing
[0444] The server passes the received message to a natural language processing (NLP) engine.
[0445] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0446] Step 5: Generate and execute a search query
[0447] The server generates a search query based on the keywords extracted from the NLP engine.
[0448] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0449] Step 6: Verify access permissions
[0450] The server checks the user's access rights to the files and web pages in the search results.
[0451] The server retrieves only the information to which the user has access rights.
[0452] Step 7: Generate a result message
[0453] The server generates a message to respond to the user based on the filtered search results.
[0454] The server sends the generated result message to the terminal.
[0455] Step 8: Presenting the results
[0456] The terminal displays the messages received from the server to the user.
[0457] The user can access the required files or web pages based on the information presented.
[0458] Example 1
[0459] 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."
[0460] Modern companies and organizations store vast amounts of digital data within their local networks. However, it can be difficult to quickly and accurately identify the files and web pages you need. Furthermore, if access permissions are not properly managed, the risk of unnecessary data leakage increases. Therefore, a system for efficiently and securely searching and providing digital data is needed.
[0461] 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.
[0462] In this invention, the server includes means for automatically navigating within a local network and collecting metadata of digital data based on predetermined access rights, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant digital data, and means for notifying users of the storage location and access method of the identified digital data, thereby enabling users to quickly and accurately obtain the information they need.
[0463] A "local network" is a computer network used within a specific, limited area.
[0464] "Migration" is the act of automatically moving within a network and collecting data.
[0465] "Access rights" are the permissions and restrictions for specific users or groups to access digital data.
[0466] "Digital data" is electronic information such as files or web pages that can be processed by a computer.
[0467] "Metadata" is attribute information of digital data, and includes the file name, creation date, update date, keywords, and the like.
[0468] "Indexing" is the process of organizing digital data based on specific attributes and storing them in a database so that they can be efficiently searched.
[0469] A "database" is an information system for efficiently managing data and storing it in a searchable form.
[0470] "Natural language" is a language that humans use in their daily lives and that can be analyzed and processed by computers and machines.
[0471] "Natural language processing" is a technology that allows computers to understand and analyze human language.
[0472] A "search query" is a specific request or question for retrieving information in a database.
[0473] "Notification" is the act of sending information to a user and informing them.
[0474] A "search result" is a set of information retrieved from a database based on a search query.
[0475] "Filtering" is the process of narrowing search results based on specific criteria.
[0476] A "chatbot" is an automated response system for conducting conversations in natural language.
[0477] The present invention relates to a system for quickly and accurately locating the location of digital data within a local network and providing it to users. This system is comprised of a server, a terminal, and a user component that work together.
[0478] 1. Network navigation and data collection
[0479] The server automatically scans designated folders and websites within the local network according to a predetermined schedule. Python or shell scripts are used for these scans. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, and keywords). For example, the server scans the " / shared / docs" folder and the "http: / / internal-portal" web page every day at 2:00 AM and records the scan results in " / var / log / scans / scan_results.log."
[0480] 2. Building and updating indexes
[0481] The server organizes the collected metadata and stores it in a searchable index database. Specifically, it uses a search engine such as Elasticsearch to build the index. The index is built by putting file metadata in JSON format into Elasticsearch. The index database is then periodically updated to reflect new or changed data. The update process is automated using a Cron job, which runs the "update_index.py" script every day at 3:00 AM.
[0482] 3. Receiving inquiries from users
[0483] The user makes a query to the chatbot in natural language from their device. For example, they send a message such as, "Where is this month's sales report?" The device then forwards this message to the server in real time. The device uses chat apps such as Slack and Microsoft Teams.
[0484] 4. Intention Analysis Using Natural Language Processing
[0485] The server passes the received message to a natural language processing (NLP) engine to analyze the user's intent. The NLP engine uses spaCy or the Google Cloud Natural Language API. The NLP engine tokenizes the message and extracts important keywords and phrases. The resulting keyword is "This month's sales report." The extracted keywords are then used in the subsequent search process.
[0486] 5. Search and generate results
[0487] The server searches the index database based on the keywords obtained from the NLP engine. Specifically, it uses Elasticsearch's query API to execute the search. A list of identified digital data is generated as a result of the search. From this list, further processing is performed to verify the user's access permissions. For example, an LDAP server is used to obtain user permission information, and only accessible data is retained as a result.
[0488] 6. Notification of Results
[0489] The server generates a message to notify the user based on the final search results. For example, a message such as "This month's sales report can be found in the Sales Department folder on the shared drive" is generated. This message is then sent to the user's device via the chat app. The device displays this message to the user, allowing them to quickly check the results.
[0490] Specific examples
[0491] For example, a sales department user sends a message to a chatbot on Slack asking, "Where is this month's sales report?" This message is passed to the server and analyzed by spaCy. As a result of the analysis, the keyword "this month's sales report" is extracted. The server then queries Elasticsearch to identify "this month's sales report" in the sales department folder. The server then references the LDAP server, verifies the user's permissions, and generates a message saying, "This month's sales report can be found in the sales department folder on the shared drive," which is sent to the user's device via Slack. The device then displays this message to the user and provides them with the necessary information.
[0492] Prompt Sentence Examples
[0493] Examples of prompts include:
[0494] "Where is this month's sales report?"
[0495] "Where are the sales department meeting materials?"
[0496] This allows users to quickly and accurately obtain the information they need.
[0497] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0498] Step 1:
[0499] Network migration and data collection
[0500] The server automatically traverses the local network according to a set schedule and collects metadata from specified folders and websites. Specifically, it uses Python and shell scripts to scan the " / shared / docs" folder and the "http: / / internal-portal" webpages every day at 2:00 AM. The input is the URLs of the folders and webpages to be scanned, and the output is metadata such as file names, creation dates, modification dates, and keywords. The scan results are recorded in " / var / log / scans / scan_results.log".
[0501] Step 2:
[0502] Building and updating indexes
[0503] The server indexes the collected metadata and stores it in a search engine such as Elasticsearch. Specifically, the scan result metadata is input into Elasticsearch in JSON format. The input is the collected metadata, and the output is an index database entry. The index is updated every day at 3:00 AM by running the "update_index.py" script as a Cron job to reflect new or changed data.
[0504] Step 3:
[0505] Receiving inquiries from users
[0506] A user makes a query in natural language from a device. For example, a message such as "Where is this month's sales report?" can be sent using a chat app such as Slack or Microsoft Teams. The input is a natural language message from the user, and the output is the transfer of that message to the server. The device transfers the message to the server in real time, and it is registered in the server's query receiving queue.
[0507] Step 4:
[0508] Intention analysis using natural language processing
[0509] The server passes the received message to a natural language processing engine (spaCy or Google Cloud Natural Language API) to analyze the user's intent. Specifically, the NLP engine tokenizes the message and extracts important keywords and phrases. The input is the natural language message from the user, and the output is the extracted keywords (e.g., "This month's sales report").
[0510] Step 5:
[0511] Searching and generating results
[0512] The server searches the index database based on the keywords obtained from the NLP engine. It uses Elasticsearch's query API to generate a list of relevant digital data. It then checks the user's access permissions with the LDAP server and returns only the information that can be accessed. The input is the extracted keywords and the user's access rights information, and the output is a list of identified digital data.
[0513] Step 6:
[0514] Notification of results
[0515] The server generates a notification message for the user based on the final search results. For example, it creates a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The input is a list of identified digital data, and the output is the generated notification message. This message is sent to the user's device via the chat app, and the device displays it to the user.
[0516] (Application example 1)
[0517] 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."
[0518] There is a need for a means to quickly and accurately identify and provide maintenance procedures and manuals for various equipment and processes within a factory to workers. Conventional methods require a lot of time and effort to manually search and check information, reducing efficiency. Furthermore, insufficient verification of access rights raises concerns about information leaks and the provision of incorrect information. The present invention aims to solve these problems and improve work efficiency and safety within factories.
[0519] 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.
[0520] In this invention, the server includes: means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions; means for indexing the collected metadata and storing it in a searchable database; means for receiving inquiries in natural language from users; means for analyzing the received inquiries using natural language processing and generating search queries; means for searching the index database based on the search queries and identifying relevant files and web pages; means for verifying the user's access permissions and filtering only accessible information; means for notifying the user of the storage location and access method of the relevant files and web pages; and means for receiving natural language inquiries from users via a smart device via voice input and displaying the results, thereby enabling fast and accurate searching and provision of maintenance procedures and manuals within a factory.
[0521] A "local network" is a network of computers or devices connected within a particular area or facility.
[0522] "Access privileges" refer to the rights of a user to access certain information or resources.
[0523] "Metadata" refers to information about a file or web page (such as file name, creation date, update date, keywords, etc.) that describes the attributes and characteristics of the data.
[0524] "Indexing" is the process of organizing information and making it searchable.
[0525] A "database" is a collection of data that is organized so that it can be efficiently managed, searched, and retrieved.
[0526] "Natural language" refers to languages that humans use on a daily basis (for example, Japanese or English).
[0527] "Natural language processing" is a technology that allows computers to understand, interpret, and generate natural human language.
[0528] A "search query" refers to a keyword or phrase entered to search for specific information.
[0529] "Filtering" is the process of selecting and excluding data based on specific criteria.
[0530] "Smart device" refers to an electronic device with advanced functionality that has internet connectivity and allows interaction with the user.
[0531] "Voice input" is a method in which a user inputs instructions by voice.
[0532] The present invention is a system for quickly and accurately identifying and providing maintenance procedures and manuals in a factory to workers. This system functions in cooperation with a server, terminals (e.g., smart devices or smart glasses), and users.
[0533] First, the server automatically traverses the local network and collects metadata for files and web pages based on the access privileges it has set. This metadata includes file names, creation dates, modification dates, keywords, etc. Then, it indexes the collected metadata and stores it in a searchable database. This index database is updated periodically.
[0534] A user makes a query in natural language from their own terminal (e.g., a smart device or smart glasses). The query is entered as a specific question such as "What is the maintenance procedure for XX?" This input can also be accepted as voice input. The terminal transfers the entered message to the server in real time.
[0535] The server analyzes the received message using a natural language processing (NLP) engine to understand the user's intent. Important keywords and phrases are extracted and a search query is generated. The server then searches an index database based on the generated search query to identify relevant files and web pages. At this time, the server checks the user's access permissions and filters out only the information that the user can access.
[0536] The server generates a notification message for the user based on the filtered search results. This message includes the location of the file or web page and how to access it. The notification message is sent to the terminal and displayed to the user. For example, the message might read, "The maintenance procedure for XX is located in the shared folder 'Maintenance / Robotic Arm' on the factory server."
[0537] As a concrete example, consider a scenario in which a veteran factory worker asks a question through smart glasses, "What are the routine maintenance procedures for the robotic arm?" This question is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "routine maintenance procedures for the robotic arm" is extracted, and the server searches the index database. After the user's access rights are confirmed, the search results are notified to the user.
[0538] An example prompt has the following format:
[0539] "What are the routine maintenance procedures for the robotic arm?"
[0540] This allows users to quickly and accurately obtain the information they need, improving work efficiency and safety within the factory.
[0541] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0542] Step 1:
[0543] The server automatically traverses the local network and collects metadata for files and web pages based on the specified access permissions. The input for this step is the specified folders and websites within the network, and the output is the metadata. Specifically, the server periodically scans according to a schedule and collects metadata such as file names, creation dates, modification dates, and keywords.
[0544] Step 2:
[0545] The server indexes the collected metadata and stores it in a searchable database. The input to this step is the metadata collected in step 1, and the output is an indexed database. Specifically, the server organizes the metadata and links related information to create an index database.
[0546] Step 3:
[0547] The user makes a query in natural language from the terminal. The input for this step is the query entered as the user's voice or text, and the output is a message transferred from the terminal to the server. Specifically, the user speaks to the smart glasses and asks, "What are the maintenance procedures for XX?"
[0548] Step 4:
[0549] The server analyzes the received query using a natural language processing (NLP) engine. The input for this step is the message sent by the user, and the output is the analyzed keywords and search query. Specifically, the server uses the NLP engine to analyze the intent of the query and extract important keywords and phrases.
[0550] Step 5:
[0551] The server searches the index database based on the generated search query to identify relevant files and web pages. The input to this step is the parsed search query, and the output is a list of identified files and web pages. Specifically, the server rapidly searches the index database and extracts relevant information.
[0552] Step 6:
[0553] The server checks the user's access privileges and filters out only the information that can be accessed. The input to this step is a list of identified files or web pages and the user's access privileges, and the output is a list of information that the user can access. Specifically, the server uses an access control system to check the user's privileges and leaves only the information that is permitted.
[0554] Step 7:
[0555] The server generates a message to notify the user based on the filtered search results and sends it to the terminal. The input to this step is a list of information that the user can access, and the output is a notification message. Specifically, the server creates a message such as "The maintenance procedure for XX is in the shared folder 'Maintenance / Robotic Arm' on the factory server," and sends it to the user's terminal.
[0556] Step 8:
[0557] The terminal displays the received message to the user. The input of this step is the notification message sent from the server, and the output is the user's view of the displayed information. Specifically, the smart glasses display a message on the screen to notify the user. This process allows the user to quickly and accurately obtain the information they need.
[0558] 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.
[0559] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides information when necessary, taking into account the user's feelings. This system works in cooperation with the components of a server, a terminal, and a user.
[0560] 1. Network navigation and data collection
[0561] The server automatically scans designated folders and websites within the local network according to a pre-defined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata (file name, creation date, modification date, keywords, etc.) for each file and web page.
[0562] 2. Metadata Indexing
[0563] The server organizes the collected metadata and stores it in a searchable index database. The index is built from the collected metadata, allowing for fast searches. The index is periodically updated to reflect new or changed data.
[0564] 3. Use of Emotion Engine
[0565] When the server receives a query from a user, it identifies the user's emotional state using an emotion engine, which can analyze emotions from the user's text messages and voice inputs.
[0566] 4. Receiving inquiries from users
[0567] The user sends a natural language query to the chatbot from their device, such as "Where can I find documents related to XX?" The device then forwards this message to the server in real time.
[0568] 5. Intention Analysis Using Natural Language Processing
[0569] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0570] 6. Search and generate results
[0571] The server searches the index database based on the extracted keywords and lists the files and web pages that match the search results. The files and web pages identified as search results are listed, and the results are generated based on this list.
[0572] 7. Check access permissions
[0573] The server checks the user's access permissions for the files and web pages in the search results, and only the information the user has permission to access is retained.
[0574] 8. Adjusting the results
[0575] The server takes into account the user's emotional state and adjusts how search results are presented: for example, if the user is in a hurry, it will display important information first to reduce the user's stress.
[0576] 9. Generating the Result Message
[0577] The server generates a message to respond to the user based on the final search results. For example, it may generate a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0578] Specific examples
[0579] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted. At this time, the emotion engine also kicks in and detects that the user is impatient.
[0580] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0581] This system solves the problems of managing the vast amount of data and access rights within the network, and also takes user emotions into consideration to provide more appropriate information.
[0582] The processing flow will be explained below.
[0583] Step 1: Scan the network
[0584] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0585] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0586] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0587] Step 2: Indexing Metadata
[0588] The server organizes the collected metadata and stores it in a searchable index database.
[0589] The server periodically updates this index to reflect newly discovered or changed data.
[0590] Step 3: Receiving user inquiries
[0591] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0592] The terminal transfers the received message to the server in real time.
[0593] Step 4: Natural Language Processing
[0594] The server passes the received message to a natural language processing (NLP) engine.
[0595] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0596] The server uses an emotion engine to recognize the user's emotional state, for example, determining whether the user is anxious based on the text's style and keywords.
[0597] Step 5: Generate and execute a search query
[0598] The server generates a search query based on the keywords extracted from the NLP engine.
[0599] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0600] Step 6: Verify access permissions
[0601] The server checks the user's access rights to the files and web pages in the search results.
[0602] The server retrieves only the information to which the user has access rights.
[0603] Step 7: Refine your search results
[0604] The server adjusts how search results are presented based on the user's emotional state.
[0605] If the user is in a hurry, the server will prioritize presenting the most important information to reduce the user's stress.
[0606] Step 8: Generate and notify result messages
[0607] The server generates a message to respond to the user based on the filtered search results, for example, "This month's sales report can be found in the Sales Department folder on the shared drive."
[0608] The terminal displays the generated result message to the user.
[0609] Step 9: Feedback and learning
[0610] The user accesses the required files and web pages based on the presented information.
[0611] The server collects user feedback and uses it to improve the accuracy of the emotion engine and NLP engine.
[0612] Examples:
[0613] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted, and at this time, the emotion engine also kicks in and detects that the user is impatient.
[0614] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0615] Example 2
[0616] 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."
[0617] Conventional systems have difficulty quickly and accurately searching the vast amount of digital information stored on local networks. Furthermore, they do not provide information that takes user emotions into account, resulting in a poor user experience. Furthermore, users' access privileges are unclear, creating a risk of unauthorized data being accessed. Therefore, a new system is needed that efficiently and safely provides necessary information and presents it based on user emotions.
[0618] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for automatically roaming within a local network and collecting metadata of digital information based on predetermined access permissions, a means for indexing the collected metadata and storing it in a searchable database, and a means for receiving inquiries from users in natural language. This makes it possible to quickly and accurately search vast amounts of digital information and efficiently provide necessary information. In addition, by using a means for analyzing the user's emotional state and adjusting the presentation method of search results based on the results, an improved user experience can be achieved. Furthermore, by checking the user's access permissions and providing only accessible information, data security is ensured and information can be provided safely.
[0619] A "local network" is a network of interconnected computers or devices within a limited range.
[0620] "Digital information" is data such as text, images, audio, and video that is stored or transmitted electronically.
[0621] "Metadata" is data that describes information about digital information, and specifically includes the file name, creation date, update date, keywords, and the like.
[0622] "Indexing" refers to building a searchable index based on collected metadata.
[0623] A "searchable database" is a database that allows fast and efficient searching of indexed data.
[0624] "Natural language" refers to the language used by humans on a daily basis, and is distinct from specific technical terms or formal languages such as program code.
[0625] "Natural language processing" is a technology that allows computers to understand, analyze, and generate natural language.
[0626] A "search query" is a search request that contains keywords or phrases related to the information a user is seeking.
[0627] "Emotional state" refers to the user's emotional or psychological state, including, for example, impatience, tension, relief, etc.
[0628] "Access privileges" are privileges that determine whether a user is permitted to access particular digital information.
[0629] "Search result presentation" refers to how search results are displayed to the user.
[0630] A "server" is a computer system that provides services to other computers and devices on a network.
[0631] The present invention relates to a system that quickly and accurately identifies digital information within a local network and provides information based on the user's emotional state. The system involves the cooperation of server, terminal, and user components.
[0632] Configuration and Operation Procedures
[0633] Network migration and data collection
[0634] The server automatically scans designated folders and web pages within the local network according to a pre-set schedule. Crontab (a Linux scheduling tool) or Windows Task Scheduler can be used for this scanning. The server collects metadata from each piece of digital information scanned. This metadata includes file names, creation dates, modification dates, keywords, file sizes, and more.
[0635] Metadata Indexing
[0636] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database that is periodically updated to reflect new or changed digital information.
[0637] Use of emotion engine
[0638] When the server receives a user inquiry, it analyzes the user's emotional state using Google Cloud Natural Language API and IBM Watson sentiment analysis.
[0639] Receiving inquiries from users
[0640] Users send natural language inquiries to the chatbot from their devices, such as "Where is this month's sales report?". The messaging platform used is Slack or Microsoft Teams. The device forwards this message to the server in real time.
[0641] Intention analysis using natural language processing
[0642] The server analyzes the received message using a natural language processing (NLP) engine, such as spaCy or Google Cloud Natural Language, to understand the user's intent and extract key keywords and phrases.
[0643] Searching and generating results
[0644] The server searches the index database based on the extracted keywords and lists the relevant digital information. For example, files such as "Sales Report_2023_10.xlsx" are included in the search results.
[0645] Checking access permissions
[0646] The server checks the user's access rights to the digital information in the search results, using authentication systems such as LDAP or Active Directory to ensure that only information that the user has access to is displayed in the search results.
[0647] Adjusting the results
[0648] The server adjusts the way search results are presented based on the analysis of the user's emotional state. For example, if the user is feeling anxious, it will quickly display important information to reduce the user's stress.
[0649] Generate result message
[0650] The server generates a response message for the user based on the final search results. Using a generative AI model, it creates a message such as "This month's sales report can be found in the Sales Department folder on the shared drive." The device displays this message to the user.
[0651] Examples of specific examples and prompts
[0652] Specific examples
[0653] A sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server, where the NLP engine extracts the keyword "this month's sales report." The emotion engine also works to analyze the user's impatience. The server then searches the index database to identify the location of "Sales Report_2023_10.xlsx" and checks the user's access permissions. The server then generates and quickly presents a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The device displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0654] Examples of prompts to input to the AI model
[0655] "Where is this month's sales report?" (Emotion: Impatience)
[0656] "Please tell me where today's meeting materials are saved. (Emotion: Tension)"
[0657] "I would like to know where the latest budget reconciliation documents are for each department. (Emotion: Neutral)"
[0658] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0659] Step 1:
[0660] The server scans designated folders and web pages within the local network according to a pre-set schedule.
[0661] Input: Path information of the specified folder or web page
[0662] Output: Collected metadata (file name, creation date, modification date, keywords, file size, etc.)
[0663] What it does: Runs periodic scan tasks using Crontab or Windows Task Scheduler to extract necessary metadata from each folder and web page.
[0664] Step 2:
[0665] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database.
[0666] Input: Collected metadata
[0667] Output: Indexed database
[0668] Specific operation: Using the ElasticSearch API, the collected metadata is organized and classified, and stored in an index database in an easily searchable format.
[0669] Step 3:
[0670] Users send queries to the chatbot in natural language from their own devices.
[0671] Input: A natural language message from the user (e.g., "Where is this month's sales report?")
[0672] Output: Transfer message from terminal to server
[0673] Specific behavior: Sends user messages to the server via messaging platforms such as Slack and Microsoft Teams.
[0674] Step 4:
[0675] The terminal transfers the user's messages to the server in real time.
[0676] Input: User's natural language message
[0677] Output: Message sent to the server
[0678] Specific operation: Relays user messages to the server via the messaging platform's API.
[0679] Step 5:
[0680] The server analyzes the received message using a natural language processing (NLP) engine.
[0681] Input: User's natural language message
[0682] Output: Extracted keywords and phrases (e.g., "This month's sales report")
[0683] What it does: It uses spaCy and Google Cloud Natural Language to analyze the text of messages and identify important words and phrases.
[0684] Step 6:
[0685] The server uses the analysis results and an emotion engine to analyze the user's emotional state.
[0686] Input: User's natural language message
[0687] Output: Emotion analysis results (e.g., impatience, tension, etc.)
[0688] What it does: It uses Google Cloud Natural Language API and IBM Watson's sentiment analysis capabilities to determine the user's emotional state from the message.
[0689] Step 7:
[0690] The server searches the index database based on the extracted keywords and lists the relevant digital information.
[0691] Input: Extracted keywords or phrases
[0692] Output: List of search results (e.g. "Sales Report_2023_10.xlsx")
[0693] Specific operation: ElasticSearch is used to search the index database for data matching keywords and generate a result list.
[0694] Step 8:
[0695] The server checks the user's access rights to the digital information in the search results.
[0696] Input: Search result list, user access permission information
[0697] Output: List of accessible data
[0698] Specific operation: Uses LDAP or Active Directory to verify user authentication information and filter only the digital information that has been granted access.
[0699] Step 9:
[0700] The server adjusts how search results are presented depending on the user's emotional state.
[0701] Input: Search result list, sentiment analysis results
[0702] Output: Adjusted search results
[0703] Specific behavior: Using a generative AI model, the way information is presented is optimized, such as prioritizing important information when the user is in a hurry.
[0704] Step 10:
[0705] The server generates a message in response to the user based on the final search results and transmits it to the terminal.
[0706] Input: Tailored search results, user query
[0707] Output: Reply message to the user
[0708] Specific operation: An appropriate message is generated using a generative AI model and sent to the device using the message platform's API.
[0709] Step 11:
[0710] The terminal displays messages from the server to the user.
[0711] Input: Reply message from the server
[0712] Output: The message displayed to the user
[0713] Specific behavior: A reply message will be displayed in the chat window of Slack or Microsoft Teams, providing the information the user is looking for.
[0714] (Application example 2)
[0715] 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."
[0716] In today's digital society, quickly and accurately finding specific information from a large number of files and web pages on a local network is an important challenge. However, conventional systems simply present information without considering the user's emotional state or urgency, which often causes stress for users. This leads to problems such as reduced efficiency and satisfaction in information seeking.
[0717] 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.
[0718] In this invention, the server includes means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant files and web pages, means for notifying the user of the storage location and access method of the identified files and web pages, and means for analyzing the user's emotional state and adjusting search results and notification content according to the user's emotional state, thereby enabling information to be presented taking into account the user's emotional state and level of urgency.
[0719] A "local network" is a network that allows a group of digital devices connected within a specific range to communicate with each other.
[0720] "Metadata" is information about a file or web page (e.g., file name, creation date, update date, keywords, etc.), and is not the data itself but additional information that describes its characteristics and content.
[0721] "Indexing" is the process of organizing collected metadata and storing it in a database so that it can be searched quickly and efficiently.
[0722] "Natural language processing" is a technology that analyzes inquiries made in natural language by users and understands their intent and content.
[0723] A "search query" is a series of keywords or phrases generated to search a database.
[0724] "Emotional state" refers to the user's emotional state (e.g., anxious, calm, neutral), and is a psychological state analyzed from the user's input or voice.
[0725] The present invention relates to a system that provides an "emotionally responsive shopping assistant" smartphone app that enables users to efficiently search for products in physical stores. The system includes a server that automatically navigates within a local network, collects metadata of files and web pages based on predetermined access privileges, indexes the collected metadata, and stores it in a searchable database; a server that receives queries in natural language from users, analyzes the queries using natural language processing, and generates search queries; and a server that searches the index database based on the search queries, identifies relevant files and web pages, and notifies the user of their storage locations and how to access them.
[0726] The system also analyzes the user's emotional state and adjusts search results and notification content accordingly, reducing user stress and improving the efficiency of information seeking. The user's emotional state is analyzed using a natural language processing engine (using the SentimentIntensityAnalyzer in the NLTK library).
[0727] System configuration
[0728] 1. Metadata collection and indexing:
[0729] The server periodically scans the local network and collects metadata about files and web pages based on user access permissions, which is then stored in an index database and updated as needed.
[0730] 2. Receiving inquiries from users:
[0731] Users send natural language queries to the chatbot from their smartphones, and the messages are forwarded to the server in real time.
[0732] 3. Natural Language Processing and Search Query Generation:
[0733] The server analyzes the received inquiry using a natural language processing engine, such as spaCy or NLTK, to generate a search query.
[0734] 4. Search and generate results:
[0735] The server then searches the index database based on the generated search query to identify the relevant files and web pages, while also checking the user's access permissions, and only extracts information that the user has access to.
[0736] 5. User emotional state analysis:
[0737] The server analyzes the user's emotional state using a natural language processing engine, using the SentimentIntensityAnalyzer from the NLTK library.
[0738] 6. Coordination and Notification of Results:
[0739] The server then adjusts search results and notification content based on the analyzed user's emotional state, presenting them in the most optimal way to the user: providing quick information to impatient users and detailed information to calm users.
[0740] Specific examples
[0741] For example, if a user asks "Where are the tables in stock?" in a store, they type this message into the app, which sends it to the server, generating a prompt like this:
[0742] Analyze the user's emotional state when they ask for information about the table's inventory location and provide the appropriate information. If the message sounds urgent, provide quick information; if it sounds calm, provide detailed information.
[0743] This prompt is input into a natural language processing engine to analyze the user's emotional state, after which the server generates appropriate search results and notifies the user, allowing the user to quickly and accurately obtain the information they need.
[0744] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0745] Step 1:
[0746] Metadata collection
[0747] The server automatically scans the local network periodically and collects metadata (such as file names, creation dates, update dates, and keywords) for files and web pages based on the specified access permissions. It receives the path of a specified folder or website within the local network as input and outputs the collected metadata. This makes it possible to collect information based on the user's access permissions.
[0748] Step 2:
[0749] Metadata Indexing
[0750] The server stores the collected metadata in an index database. The collected metadata is given as input, and the data stored in the index database is output. This allows for fast and efficient data searches.
[0751] Step 3:
[0752] Receiving inquiries from users
[0753] The user uses their device to send a natural language inquiry (e.g., "Where is the table in stock?") to the chatbot. The user's inquiry message is given as input, and a message is output that is forwarded to the server. This allows the server to receive the user's inquiry.
[0754] Step 4:
[0755] Natural Language Processing and Search Query Generation
[0756] The server analyzes the received query using a natural language processing engine (e.g., spaCy or NLTK). As input, it takes the user's message and outputs the search query, which extracts relevant keywords and phrases.
[0757] Step 5:
[0758] Searching and generating results
[0759] The server searches the index database based on the generated search query to identify the relevant files and web pages. The search query is given as input, and a list of relevant files and web pages is output as search results. This identifies the appropriate information.
[0760] Step 6:
[0761] Check user access permissions
[0762] The server checks the user's access permissions for the identified files and web pages. As input, it takes the list of identified files and web pages and the user's access permissions, and outputs only the information the user has access to. This ensures proper authorization.
[0763] Step 7:
[0764] User emotional state analysis
[0765] The server analyzes the user's emotional state using a natural language processing engine (e.g., NLTK's SentimentIntensityAnalyzer). The user's message is given as input, and the analyzed emotional state of the user is output. This allows the user's emotional state to be understood.
[0766] Step 8:
[0767] Coordination and notification of results
[0768] The server adjusts search results and notification content based on the user's emotional state. The analyzed user's emotional state and search results are given as input, and the adjusted notification content is output. This reduces the user's stress and provides optimal information.
[0769] 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.
[0770] 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.
[0771] 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.
[0772] [Third embodiment]
[0773] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0774] 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.
[0775] 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).
[0776] 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.
[0777] 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.
[0778] 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).
[0779] 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.
[0780] 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.
[0781] 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.
[0782] 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.
[0783] 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.
[0784] 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."
[0785] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides them to users. This system is comprised of a server, a terminal, and a user component that work together.
[0786] 1. Network navigation and data collection
[0787] The server automatically scans designated folders and websites within the local network according to a predefined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, keywords, etc.).
[0788] 2. Building and updating indexes
[0789] The server organizes the collected metadata and stores it in a searchable index database. The index is built by associating it with the file metadata, allowing for fast searches. The index database is periodically updated to reflect new or changed data.
[0790] 3. Receiving inquiries from users
[0791] Users can send natural language queries to the chatbot from their own devices, such as "Where can I find documents related to XX?" The device then forwards the messages to the server in real time.
[0792] 4. Intention Analysis Using Natural Language Processing
[0793] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0794] 5. Search and generate results
[0795] The server searches the index database based on the extracted keywords, generating a list of identified files and web pages, then checking the user's access privileges. Only information for which access privileges have been confirmed is retained.
[0796] 6. Notification of Results
[0797] The server generates a message to notify the user based on the final search results. For example, it may create a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0798] Specific examples
[0799] For example, a sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted.
[0800] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the server checks the user's access privileges and returns only the information that the user has access to. The server then generates a message stating "This Month's Sales Report is in the Sales Department folder on the shared drive" and sends it to the terminal. The terminal displays this message to the user, allowing the user to quickly and accurately obtain the information they need.
[0801] This system solves the problems of managing huge amounts of data and access rights within the network, making it possible to provide information efficiently and safely.
[0802] The processing flow will be explained below.
[0803] Step 1: Scan the network
[0804] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0805] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0806] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0807] Step 2: Indexing Metadata
[0808] The server organizes the collected metadata and stores it in a searchable index database.
[0809] The server periodically updates this index to reflect newly discovered or changed data.
[0810] Step 3: Receiving user inquiries
[0811] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0812] The terminal forwards this message to the server in real time.
[0813] Step 4: Natural Language Processing
[0814] The server passes the received message to a natural language processing (NLP) engine.
[0815] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0816] Step 5: Generate and execute a search query
[0817] The server generates a search query based on the keywords extracted from the NLP engine.
[0818] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0819] Step 6: Verify access permissions
[0820] The server checks the user's access rights to the files and web pages in the search results.
[0821] The server retrieves only the information to which the user has access rights.
[0822] Step 7: Generate a result message
[0823] The server generates a message to respond to the user based on the filtered search results.
[0824] The server sends the generated result message to the terminal.
[0825] Step 8: Presenting the results
[0826] The terminal displays the messages received from the server to the user.
[0827] The user can access the required files or web pages based on the information presented.
[0828] Example 1
[0829] 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."
[0830] Modern companies and organizations store vast amounts of digital data within their local networks. However, it can be difficult to quickly and accurately identify the files and web pages you need. Furthermore, if access permissions are not properly managed, the risk of unnecessary data leakage increases. Therefore, a system for efficiently and securely searching and providing digital data is needed.
[0831] 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.
[0832] In this invention, the server includes means for automatically navigating within a local network and collecting metadata of digital data based on predetermined access rights, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant digital data, and means for notifying users of the storage location and access method of the identified digital data, thereby enabling users to quickly and accurately obtain the information they need.
[0833] A "local network" is a computer network used within a specific, limited area.
[0834] "Migration" is the act of automatically moving within a network and collecting data.
[0835] "Access rights" are the permissions and restrictions for specific users or groups to access digital data.
[0836] "Digital data" is electronic information such as files or web pages that can be processed by a computer.
[0837] "Metadata" is attribute information of digital data, and includes the file name, creation date, update date, keywords, and the like.
[0838] "Indexing" is the process of organizing digital data based on specific attributes and storing them in a database so that they can be efficiently searched.
[0839] A "database" is an information system for efficiently managing data and storing it in a searchable form.
[0840] "Natural language" is a language that humans use in their daily lives and that can be analyzed and processed by computers and machines.
[0841] "Natural language processing" is a technology that allows computers to understand and analyze human language.
[0842] A "search query" is a specific request or question for retrieving information in a database.
[0843] "Notification" is the act of sending information to a user and informing them.
[0844] A "search result" is a set of information retrieved from a database based on a search query.
[0845] "Filtering" is the process of narrowing search results based on specific criteria.
[0846] A "chatbot" is an automated response system for conducting conversations in natural language.
[0847] The present invention relates to a system for quickly and accurately locating the location of digital data within a local network and providing it to users. This system is comprised of a server, a terminal, and a user component that work together.
[0848] 1. Network navigation and data collection
[0849] The server automatically scans designated folders and websites within the local network according to a predetermined schedule. Python or shell scripts are used for these scans. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, and keywords). For example, the server scans the " / shared / docs" folder and the "http: / / internal-portal" web page every day at 2:00 AM and records the scan results in " / var / log / scans / scan_results.log."
[0850] 2. Building and updating indexes
[0851] The server organizes the collected metadata and stores it in a searchable index database. Specifically, it uses a search engine such as Elasticsearch to build the index. The index is built by putting file metadata in JSON format into Elasticsearch. The index database is then periodically updated to reflect new or changed data. The update process is automated using a Cron job, which runs the "update_index.py" script every day at 3:00 AM.
[0852] 3. Receiving inquiries from users
[0853] The user makes a query to the chatbot in natural language from their device. For example, they send a message such as, "Where is this month's sales report?" The device then forwards this message to the server in real time. The device uses chat apps such as Slack and Microsoft Teams.
[0854] 4. Intention Analysis Using Natural Language Processing
[0855] The server passes the received message to a natural language processing (NLP) engine to analyze the user's intent. The NLP engine uses spaCy or the Google Cloud Natural Language API. The NLP engine tokenizes the message and extracts important keywords and phrases. The resulting keyword is "This month's sales report." The extracted keywords are then used in the subsequent search process.
[0856] 5. Search and generate results
[0857] The server searches the index database based on the keywords obtained from the NLP engine. Specifically, it uses Elasticsearch's query API to execute the search. A list of identified digital data is generated as a result of the search. From this list, further processing is performed to verify the user's access permissions. For example, an LDAP server is used to obtain user permission information, and only accessible data is retained as a result.
[0858] 6. Notification of Results
[0859] The server generates a message to notify the user based on the final search results. For example, a message such as "This month's sales report can be found in the Sales Department folder on the shared drive" is generated. This message is then sent to the user's device via the chat app. The device displays this message to the user, allowing them to quickly check the results.
[0860] Specific examples
[0861] For example, a sales department user sends a message to a chatbot on Slack asking, "Where is this month's sales report?" This message is passed to the server and analyzed by spaCy. As a result of the analysis, the keyword "this month's sales report" is extracted. The server then queries Elasticsearch to identify "this month's sales report" in the sales department folder. The server then references the LDAP server, verifies the user's permissions, and generates a message saying, "This month's sales report can be found in the sales department folder on the shared drive," which is sent to the user's device via Slack. The device then displays this message to the user and provides them with the necessary information.
[0862] Prompt Sentence Examples
[0863] Examples of prompts include:
[0864] "Where is this month's sales report?"
[0865] "Where are the sales department meeting materials?"
[0866] This allows users to quickly and accurately obtain the information they need.
[0867] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0868] Step 1:
[0869] Network migration and data collection
[0870] The server automatically traverses the local network according to a set schedule and collects metadata from specified folders and websites. Specifically, it uses Python and shell scripts to scan the " / shared / docs" folder and the "http: / / internal-portal" webpages every day at 2:00 AM. The input is the URLs of the folders and webpages to be scanned, and the output is metadata such as file names, creation dates, modification dates, and keywords. The scan results are recorded in " / var / log / scans / scan_results.log".
[0871] Step 2:
[0872] Building and updating indexes
[0873] The server indexes the collected metadata and stores it in a search engine such as Elasticsearch. Specifically, the scan result metadata is input into Elasticsearch in JSON format. The input is the collected metadata, and the output is an index database entry. The index is updated every day at 3:00 AM by running the "update_index.py" script as a Cron job to reflect new or changed data.
[0874] Step 3:
[0875] Receiving inquiries from users
[0876] A user makes a query in natural language from a device. For example, a message such as "Where is this month's sales report?" can be sent using a chat app such as Slack or Microsoft Teams. The input is a natural language message from the user, and the output is the transfer of that message to the server. The device transfers the message to the server in real time, and it is registered in the server's query receiving queue.
[0877] Step 4:
[0878] Intention analysis using natural language processing
[0879] The server passes the received message to a natural language processing engine (spaCy or Google Cloud Natural Language API) to analyze the user's intent. Specifically, the NLP engine tokenizes the message and extracts important keywords and phrases. The input is the natural language message from the user, and the output is the extracted keywords (e.g., "This month's sales report").
[0880] Step 5:
[0881] Searching and generating results
[0882] The server searches the index database based on the keywords obtained from the NLP engine. It uses Elasticsearch's query API to generate a list of relevant digital data. It then checks the user's access permissions with the LDAP server and returns only the information that can be accessed. The input is the extracted keywords and the user's access rights information, and the output is a list of identified digital data.
[0883] Step 6:
[0884] Notification of results
[0885] The server generates a notification message for the user based on the final search results. For example, it creates a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The input is a list of identified digital data, and the output is the generated notification message. This message is sent to the user's device via the chat app, and the device displays it to the user.
[0886] (Application example 1)
[0887] 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."
[0888] There is a need for a means to quickly and accurately identify and provide maintenance procedures and manuals for various equipment and processes within a factory to workers. Conventional methods require a lot of time and effort to manually search and check information, reducing efficiency. Furthermore, insufficient verification of access rights raises concerns about information leaks and the provision of incorrect information. The present invention aims to solve these problems and improve work efficiency and safety within factories.
[0889] 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.
[0890] In this invention, the server includes: means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions; means for indexing the collected metadata and storing it in a searchable database; means for receiving inquiries in natural language from users; means for analyzing the received inquiries using natural language processing and generating search queries; means for searching the index database based on the search queries and identifying relevant files and web pages; means for verifying the user's access permissions and filtering only accessible information; means for notifying the user of the storage location and access method of the relevant files and web pages; and means for receiving natural language inquiries from users via a smart device via voice input and displaying the results, thereby enabling fast and accurate searching and provision of maintenance procedures and manuals within a factory.
[0891] A "local network" is a network of computers or devices connected within a particular area or facility.
[0892] "Access privileges" refer to the rights of a user to access certain information or resources.
[0893] "Metadata" refers to information about a file or web page (such as file name, creation date, update date, keywords, etc.) that describes the attributes and characteristics of the data.
[0894] "Indexing" is the process of organizing information and making it searchable.
[0895] A "database" is a collection of data that is organized so that it can be efficiently managed, searched, and retrieved.
[0896] "Natural language" refers to languages that humans use on a daily basis (for example, Japanese or English).
[0897] "Natural language processing" is a technology that allows computers to understand, interpret, and generate natural human language.
[0898] A "search query" refers to a keyword or phrase entered to search for specific information.
[0899] "Filtering" is the process of selecting and excluding data based on specific criteria.
[0900] "Smart device" refers to an electronic device with advanced functionality that has internet connectivity and allows interaction with the user.
[0901] "Voice input" is a method in which a user inputs instructions by voice.
[0902] The present invention is a system for quickly and accurately identifying and providing maintenance procedures and manuals in a factory to workers. This system functions in cooperation with a server, terminals (e.g., smart devices or smart glasses), and users.
[0903] First, the server automatically traverses the local network and collects metadata for files and web pages based on the access privileges it has set. This metadata includes file names, creation dates, modification dates, keywords, etc. Then, it indexes the collected metadata and stores it in a searchable database. This index database is updated periodically.
[0904] A user makes a query in natural language from their own terminal (e.g., a smart device or smart glasses). The query is entered as a specific question such as "What is the maintenance procedure for XX?" This input can also be accepted as voice input. The terminal transfers the entered message to the server in real time.
[0905] The server analyzes the received message using a natural language processing (NLP) engine to understand the user's intent. Important keywords and phrases are extracted and a search query is generated. The server then searches an index database based on the generated search query to identify relevant files and web pages. At this time, the server checks the user's access permissions and filters out only the information that the user can access.
[0906] The server generates a notification message for the user based on the filtered search results. This message includes the location of the file or web page and how to access it. The notification message is sent to the terminal and displayed to the user. For example, the message might read, "The maintenance procedure for XX is located in the shared folder 'Maintenance / Robotic Arm' on the factory server."
[0907] As a concrete example, consider a scenario in which a veteran factory worker asks a question through smart glasses, "What are the routine maintenance procedures for the robotic arm?" This question is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "routine maintenance procedures for the robotic arm" is extracted, and the server searches the index database. After the user's access rights are confirmed, the search results are notified to the user.
[0908] An example prompt has the following format:
[0909] "What are the routine maintenance procedures for the robotic arm?"
[0910] This allows users to quickly and accurately obtain the information they need, improving work efficiency and safety within the factory.
[0911] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0912] Step 1:
[0913] The server automatically traverses the local network and collects metadata for files and web pages based on the specified access permissions. The input for this step is the specified folders and websites within the network, and the output is the metadata. Specifically, the server periodically scans according to a schedule and collects metadata such as file names, creation dates, modification dates, and keywords.
[0914] Step 2:
[0915] The server indexes the collected metadata and stores it in a searchable database. The input to this step is the metadata collected in step 1, and the output is an indexed database. Specifically, the server organizes the metadata and links related information to create an index database.
[0916] Step 3:
[0917] The user makes a query in natural language from the terminal. The input for this step is the query entered as the user's voice or text, and the output is a message transferred from the terminal to the server. Specifically, the user speaks to the smart glasses and asks, "What are the maintenance procedures for XX?"
[0918] Step 4:
[0919] The server analyzes the received query using a natural language processing (NLP) engine. The input for this step is the message sent by the user, and the output is the analyzed keywords and search query. Specifically, the server uses the NLP engine to analyze the intent of the query and extract important keywords and phrases.
[0920] Step 5:
[0921] The server searches the index database based on the generated search query to identify relevant files and web pages. The input to this step is the parsed search query, and the output is a list of identified files and web pages. Specifically, the server rapidly searches the index database and extracts relevant information.
[0922] Step 6:
[0923] The server checks the user's access privileges and filters out only the information that can be accessed. The input to this step is a list of identified files or web pages and the user's access privileges, and the output is a list of information that the user can access. Specifically, the server uses an access control system to check the user's privileges and leaves only the information that is permitted.
[0924] Step 7:
[0925] The server generates a message to notify the user based on the filtered search results and sends it to the terminal. The input to this step is a list of information that the user can access, and the output is a notification message. Specifically, the server creates a message such as "The maintenance procedure for XX is in the shared folder 'Maintenance / Robotic Arm' on the factory server," and sends it to the user's terminal.
[0926] Step 8:
[0927] The terminal displays the received message to the user. The input of this step is the notification message sent from the server, and the output is the user's view of the displayed information. Specifically, the smart glasses display a message on the screen to notify the user. This process allows the user to quickly and accurately obtain the information they need.
[0928] 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.
[0929] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides information when necessary, taking into account the user's feelings. This system works in cooperation with the components of a server, a terminal, and a user.
[0930] 1. Network navigation and data collection
[0931] The server automatically scans designated folders and websites within the local network according to a pre-defined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata (file name, creation date, modification date, keywords, etc.) for each file and web page.
[0932] 2. Metadata Indexing
[0933] The server organizes the collected metadata and stores it in a searchable index database. The index is built from the collected metadata, allowing for fast searches. The index is periodically updated to reflect new or changed data.
[0934] 3. Use of Emotion Engine
[0935] When the server receives a query from a user, it identifies the user's emotional state using an emotion engine, which can analyze emotions from the user's text messages and voice inputs.
[0936] 4. Receiving inquiries from users
[0937] The user sends a natural language query to the chatbot from their device, such as "Where can I find documents related to XX?" The device then forwards this message to the server in real time.
[0938] 5. Intention Analysis Using Natural Language Processing
[0939] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[0940] 6. Search and generate results
[0941] The server searches the index database based on the extracted keywords and lists the files and web pages that match the search results. The files and web pages identified as search results are listed, and the results are generated based on this list.
[0942] 7. Check access permissions
[0943] The server checks the user's access permissions for the files and web pages in the search results, and only the information the user has permission to access is retained.
[0944] 8. Adjusting the results
[0945] The server takes into account the user's emotional state and adjusts how search results are presented: for example, if the user is in a hurry, it will display important information first to reduce the user's stress.
[0946] 9. Generating the Result Message
[0947] The server generates a message to respond to the user based on the final search results. For example, it may generate a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[0948] Specific examples
[0949] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted. At this time, the emotion engine also kicks in and detects that the user is impatient.
[0950] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0951] This system solves the problems of managing the vast amount of data and access rights within the network, and also takes user emotions into consideration to provide more appropriate information.
[0952] The processing flow will be explained below.
[0953] Step 1: Scan the network
[0954] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[0955] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[0956] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[0957] Step 2: Indexing Metadata
[0958] The server organizes the collected metadata and stores it in a searchable index database.
[0959] The server periodically updates this index to reflect newly discovered or changed data.
[0960] Step 3: Receiving user inquiries
[0961] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[0962] The terminal transfers the received message to the server in real time.
[0963] Step 4: Natural Language Processing
[0964] The server passes the received message to a natural language processing (NLP) engine.
[0965] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[0966] The server uses an emotion engine to recognize the user's emotional state, for example, determining whether the user is anxious based on the text's style and keywords.
[0967] Step 5: Generate and execute a search query
[0968] The server generates a search query based on the keywords extracted from the NLP engine.
[0969] The server uses the generated search query to search an index database and lists relevant files and web pages.
[0970] Step 6: Verify access permissions
[0971] The server checks the user's access rights to the files and web pages in the search results.
[0972] The server retrieves only the information to which the user has access rights.
[0973] Step 7: Refine your search results
[0974] The server adjusts how search results are presented based on the user's emotional state.
[0975] If the user is in a hurry, the server will prioritize presenting the most important information to reduce the user's stress.
[0976] Step 8: Generate and notify result messages
[0977] The server generates a message to respond to the user based on the filtered search results, for example, "This month's sales report can be found in the Sales Department folder on the shared drive."
[0978] The terminal displays the generated result message to the user.
[0979] Step 9: Feedback and learning
[0980] The user accesses the required files and web pages based on the presented information.
[0981] The server collects user feedback and uses it to improve the accuracy of the emotion engine and NLP engine.
[0982] Examples:
[0983] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted, and at this time, the emotion engine also kicks in and detects that the user is impatient.
[0984] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[0985] Example 2
[0986] 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."
[0987] Conventional systems have difficulty quickly and accurately searching the vast amount of digital information stored on local networks. Furthermore, they do not provide information that takes user emotions into account, resulting in a poor user experience. Furthermore, users' access privileges are unclear, creating a risk of unauthorized data being accessed. Therefore, a new system is needed that efficiently and safely provides necessary information and presents it based on user emotions.
[0988] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for automatically roaming within a local network and collecting metadata of digital information based on predetermined access permissions, a means for indexing the collected metadata and storing it in a searchable database, and a means for receiving inquiries from users in natural language. This makes it possible to quickly and accurately search vast amounts of digital information and efficiently provide necessary information. In addition, by using a means for analyzing the user's emotional state and adjusting the presentation method of search results based on the results, an improved user experience can be achieved. Furthermore, by checking the user's access permissions and providing only accessible information, data security is ensured and information can be provided safely.
[0989] A "local network" is a network of interconnected computers or devices within a limited range.
[0990] "Digital information" is data such as text, images, audio, and video that is stored or transmitted electronically.
[0991] "Metadata" is data that describes information about digital information, and specifically includes the file name, creation date, update date, keywords, and the like.
[0992] "Indexing" refers to building a searchable index based on collected metadata.
[0993] A "searchable database" is a database that allows fast and efficient searching of indexed data.
[0994] "Natural language" refers to the language used by humans on a daily basis, and is distinct from specific technical terms or formal languages such as program code.
[0995] "Natural language processing" is a technology that allows computers to understand, analyze, and generate natural language.
[0996] A "search query" is a search request that contains keywords or phrases related to the information a user is seeking.
[0997] "Emotional state" refers to the user's emotional or psychological state, including, for example, impatience, tension, relief, etc.
[0998] "Access privileges" are privileges that determine whether a user is permitted to access particular digital information.
[0999] "Search result presentation" refers to how search results are displayed to the user.
[1000] A "server" is a computer system that provides services to other computers and devices on a network.
[1001] The present invention relates to a system that quickly and accurately identifies digital information within a local network and provides information based on the user's emotional state. The system involves the cooperation of server, terminal, and user components.
[1002] Configuration and Operation Procedures
[1003] Network migration and data collection
[1004] The server automatically scans designated folders and web pages within the local network according to a pre-set schedule. Crontab (a Linux scheduling tool) or Windows Task Scheduler can be used for this scanning. The server collects metadata from each piece of digital information scanned. This metadata includes file names, creation dates, modification dates, keywords, file sizes, and more.
[1005] Metadata Indexing
[1006] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database that is periodically updated to reflect new or changed digital information.
[1007] Use of emotion engine
[1008] When the server receives a user inquiry, it analyzes the user's emotional state using Google Cloud Natural Language API and IBM Watson sentiment analysis.
[1009] Receiving inquiries from users
[1010] Users send natural language inquiries to the chatbot from their devices, such as "Where is this month's sales report?". The messaging platform used is Slack or Microsoft Teams. The device forwards this message to the server in real time.
[1011] Intention analysis using natural language processing
[1012] The server analyzes the received message using a natural language processing (NLP) engine, such as spaCy or Google Cloud Natural Language, to understand the user's intent and extract key keywords and phrases.
[1013] Searching and generating results
[1014] The server searches the index database based on the extracted keywords and lists the relevant digital information. For example, files such as "Sales Report_2023_10.xlsx" are included in the search results.
[1015] Checking access permissions
[1016] The server checks the user's access rights to the digital information in the search results, using authentication systems such as LDAP or Active Directory to ensure that only information that the user has access to is displayed in the search results.
[1017] Adjusting the results
[1018] The server adjusts the way search results are presented based on the analysis of the user's emotional state. For example, if the user is feeling anxious, it will quickly display important information to reduce the user's stress.
[1019] Generate result message
[1020] The server generates a response message for the user based on the final search results. Using a generative AI model, it creates a message such as "This month's sales report can be found in the Sales Department folder on the shared drive." The device displays this message to the user.
[1021] Examples of specific examples and prompts
[1022] Specific examples
[1023] A sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server, where the NLP engine extracts the keyword "this month's sales report." The emotion engine also works to analyze the user's impatience. The server then searches the index database to identify the location of "Sales Report_2023_10.xlsx" and checks the user's access permissions. The server then generates and quickly presents a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The device displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[1024] Examples of prompts to input to the AI model
[1025] "Where is this month's sales report?" (Emotion: Impatience)
[1026] "Please tell me where today's meeting materials are saved. (Emotion: Tension)"
[1027] "I would like to know where the latest budget reconciliation documents are for each department. (Emotion: Neutral)"
[1028] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1029] Step 1:
[1030] The server scans designated folders and web pages within the local network according to a pre-set schedule.
[1031] Input: Path information of the specified folder or web page
[1032] Output: Collected metadata (file name, creation date, modification date, keywords, file size, etc.)
[1033] What it does: Runs periodic scan tasks using Crontab or Windows Task Scheduler to extract necessary metadata from each folder and web page.
[1034] Step 2:
[1035] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database.
[1036] Input: Collected metadata
[1037] Output: Indexed database
[1038] Specific operation: Using the ElasticSearch API, the collected metadata is organized and classified, and stored in an index database in an easily searchable format.
[1039] Step 3:
[1040] Users send queries to the chatbot in natural language from their own devices.
[1041] Input: A natural language message from the user (e.g., "Where is this month's sales report?")
[1042] Output: Transfer message from terminal to server
[1043] Specific behavior: Sends user messages to the server via messaging platforms such as Slack and Microsoft Teams.
[1044] Step 4:
[1045] The terminal transfers the user's messages to the server in real time.
[1046] Input: User's natural language message
[1047] Output: Message sent to the server
[1048] Specific operation: Relays user messages to the server via the messaging platform's API.
[1049] Step 5:
[1050] The server analyzes the received message using a natural language processing (NLP) engine.
[1051] Input: User's natural language message
[1052] Output: Extracted keywords and phrases (e.g., "This month's sales report")
[1053] What it does: It uses spaCy and Google Cloud Natural Language to analyze the text of messages and identify important words and phrases.
[1054] Step 6:
[1055] The server uses the analysis results and an emotion engine to analyze the user's emotional state.
[1056] Input: User's natural language message
[1057] Output: Emotion analysis results (e.g., impatience, tension, etc.)
[1058] What it does: It uses Google Cloud Natural Language API and IBM Watson's sentiment analysis capabilities to determine the user's emotional state from the message.
[1059] Step 7:
[1060] The server searches the index database based on the extracted keywords and lists the relevant digital information.
[1061] Input: Extracted keywords or phrases
[1062] Output: List of search results (e.g. "Sales Report_2023_10.xlsx")
[1063] Specific operation: ElasticSearch is used to search the index database for data matching keywords and generate a result list.
[1064] Step 8:
[1065] The server checks the user's access rights to the digital information in the search results.
[1066] Input: Search result list, user access permission information
[1067] Output: List of accessible data
[1068] Specific operation: Uses LDAP or Active Directory to verify user authentication information and filter only the digital information that has been granted access.
[1069] Step 9:
[1070] The server adjusts how search results are presented depending on the user's emotional state.
[1071] Input: Search result list, sentiment analysis results
[1072] Output: Adjusted search results
[1073] Specific behavior: Using a generative AI model, the way information is presented is optimized, such as prioritizing important information when the user is in a hurry.
[1074] Step 10:
[1075] The server generates a message in response to the user based on the final search results and transmits it to the terminal.
[1076] Input: Tailored search results, user query
[1077] Output: Reply message to the user
[1078] Specific operation: An appropriate message is generated using a generative AI model and sent to the device using the message platform's API.
[1079] Step 11:
[1080] The terminal displays messages from the server to the user.
[1081] Input: Reply message from the server
[1082] Output: The message displayed to the user
[1083] Specific behavior: A reply message will be displayed in the chat window of Slack or Microsoft Teams, providing the information the user is looking for.
[1084] (Application example 2)
[1085] 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."
[1086] In today's digital society, quickly and accurately finding specific information from a large number of files and web pages on a local network is an important challenge. However, conventional systems simply present information without considering the user's emotional state or urgency, which often causes stress for users. This leads to problems such as reduced efficiency and satisfaction in information seeking.
[1087] 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.
[1088] In this invention, the server includes means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant files and web pages, means for notifying the user of the storage location and access method of the identified files and web pages, and means for analyzing the user's emotional state and adjusting search results and notification content according to the user's emotional state, thereby enabling information to be presented taking into account the user's emotional state and level of urgency.
[1089] A "local network" is a network that allows a group of digital devices connected within a specific range to communicate with each other.
[1090] "Metadata" is information about a file or web page (e.g., file name, creation date, update date, keywords, etc.), and is not the data itself but additional information that describes its characteristics and content.
[1091] "Indexing" is the process of organizing collected metadata and storing it in a database so that it can be searched quickly and efficiently.
[1092] "Natural language processing" is a technology that analyzes inquiries made in natural language by users and understands their intent and content.
[1093] A "search query" is a series of keywords or phrases generated to search a database.
[1094] "Emotional state" refers to the user's emotional state (e.g., anxious, calm, neutral), and is a psychological state analyzed from the user's input or voice.
[1095] The present invention relates to a system that provides an "emotionally responsive shopping assistant" smartphone app that enables users to efficiently search for products in physical stores. The system includes a server that automatically navigates within a local network, collects metadata of files and web pages based on predetermined access privileges, indexes the collected metadata, and stores it in a searchable database; a server that receives queries in natural language from users, analyzes the queries using natural language processing, and generates search queries; and a server that searches the index database based on the search queries, identifies relevant files and web pages, and notifies the user of their storage locations and how to access them.
[1096] The system also analyzes the user's emotional state and adjusts search results and notification content accordingly, reducing user stress and improving the efficiency of information seeking. The user's emotional state is analyzed using a natural language processing engine (using the SentimentIntensityAnalyzer in the NLTK library).
[1097] System configuration
[1098] 1. Metadata collection and indexing:
[1099] The server periodically scans the local network and collects metadata about files and web pages based on user access permissions, which is then stored in an index database and updated as needed.
[1100] 2. Receiving inquiries from users:
[1101] Users send natural language queries to the chatbot from their smartphones, and the messages are forwarded to the server in real time.
[1102] 3. Natural Language Processing and Search Query Generation:
[1103] The server analyzes the received inquiry using a natural language processing engine, such as spaCy or NLTK, to generate a search query.
[1104] 4. Search and generate results:
[1105] The server then searches the index database based on the generated search query to identify the relevant files and web pages, while also checking the user's access permissions, and only extracts information that the user has access to.
[1106] 5. User emotional state analysis:
[1107] The server analyzes the user's emotional state using a natural language processing engine, using the SentimentIntensityAnalyzer from the NLTK library.
[1108] 6. Coordination and Notification of Results:
[1109] The server then adjusts search results and notification content based on the analyzed user's emotional state, presenting them in the most optimal way to the user: providing quick information to impatient users and detailed information to calm users.
[1110] Specific examples
[1111] For example, if a user asks "Where are the tables in stock?" in a store, they type this message into the app, which sends it to the server, generating a prompt like this:
[1112] Analyze the user's emotional state when they ask for information about the table's inventory location and provide the appropriate information. If the message sounds urgent, provide quick information; if it sounds calm, provide detailed information.
[1113] This prompt is input into a natural language processing engine to analyze the user's emotional state, after which the server generates appropriate search results and notifies the user, allowing the user to quickly and accurately obtain the information they need.
[1114] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1115] Step 1:
[1116] Metadata collection
[1117] The server automatically scans the local network periodically and collects metadata (such as file names, creation dates, update dates, and keywords) for files and web pages based on the specified access permissions. It receives the path of a specified folder or website within the local network as input and outputs the collected metadata. This makes it possible to collect information based on the user's access permissions.
[1118] Step 2:
[1119] Metadata Indexing
[1120] The server stores the collected metadata in an index database. The collected metadata is given as input, and the data stored in the index database is output. This allows for fast and efficient data searches.
[1121] Step 3:
[1122] Receiving inquiries from users
[1123] The user uses their device to send a natural language inquiry (e.g., "Where is the table in stock?") to the chatbot. The user's inquiry message is given as input, and a message is output that is forwarded to the server. This allows the server to receive the user's inquiry.
[1124] Step 4:
[1125] Natural Language Processing and Search Query Generation
[1126] The server analyzes the received query using a natural language processing engine (e.g., spaCy or NLTK). As input, it takes the user's message and outputs the search query, which extracts relevant keywords and phrases.
[1127] Step 5:
[1128] Searching and generating results
[1129] The server searches the index database based on the generated search query to identify the relevant files and web pages. The search query is given as input, and a list of relevant files and web pages is output as search results. This identifies the appropriate information.
[1130] Step 6:
[1131] Check user access permissions
[1132] The server checks the user's access permissions for the identified files and web pages. As input, it takes the list of identified files and web pages and the user's access permissions, and outputs only the information the user has access to. This ensures proper authorization.
[1133] Step 7:
[1134] User emotional state analysis
[1135] The server analyzes the user's emotional state using a natural language processing engine (e.g., NLTK's SentimentIntensityAnalyzer). The user's message is given as input, and the analyzed emotional state of the user is output. This allows the user's emotional state to be understood.
[1136] Step 8:
[1137] Coordination and notification of results
[1138] The server adjusts search results and notification content based on the user's emotional state. The analyzed user's emotional state and search results are given as input, and the adjusted notification content is output. This reduces the user's stress and provides optimal information.
[1139] 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.
[1140] 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.
[1141] 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.
[1142] [Fourth embodiment]
[1143] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1144] 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.
[1145] 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).
[1146] 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.
[1147] 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.
[1148] 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).
[1149] 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.
[1150] 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.
[1151] 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.
[1152] 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.
[1153] 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.
[1154] 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.
[1155] 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."
[1156] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides them to users. This system is comprised of a server, a terminal, and a user component that work together.
[1157] 1. Network navigation and data collection
[1158] The server automatically scans designated folders and websites within the local network according to a predefined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, keywords, etc.).
[1159] 2. Building and updating indexes
[1160] The server organizes the collected metadata and stores it in a searchable index database. The index is built by associating it with the file metadata, allowing for fast searches. The index database is periodically updated to reflect new or changed data.
[1161] 3. Receiving inquiries from users
[1162] Users can send natural language queries to the chatbot from their own devices, such as "Where can I find documents related to XX?" The device then forwards the messages to the server in real time.
[1163] 4. Intention Analysis Using Natural Language Processing
[1164] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[1165] 5. Search and generate results
[1166] The server searches the index database based on the extracted keywords, generating a list of identified files and web pages, then checking the user's access privileges. Only information for which access privileges have been confirmed is retained.
[1167] 6. Notification of Results
[1168] The server generates a message to notify the user based on the final search results. For example, it may create a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[1169] Specific examples
[1170] For example, a sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted.
[1171] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the server checks the user's access privileges and returns only the information that the user has access to. The server then generates a message stating "This Month's Sales Report is in the Sales Department folder on the shared drive" and sends it to the terminal. The terminal displays this message to the user, allowing the user to quickly and accurately obtain the information they need.
[1172] This system solves the problems of managing huge amounts of data and access rights within the network, making it possible to provide information efficiently and safely.
[1173] The processing flow will be explained below.
[1174] Step 1: Scan the network
[1175] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[1176] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[1177] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[1178] Step 2: Indexing Metadata
[1179] The server organizes the collected metadata and stores it in a searchable index database.
[1180] The server periodically updates this index to reflect newly discovered or changed data.
[1181] Step 3: Receiving user inquiries
[1182] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[1183] The terminal forwards this message to the server in real time.
[1184] Step 4: Natural Language Processing
[1185] The server passes the received message to a natural language processing (NLP) engine.
[1186] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[1187] Step 5: Generate and execute a search query
[1188] The server generates a search query based on the keywords extracted from the NLP engine.
[1189] The server uses the generated search query to search an index database and lists relevant files and web pages.
[1190] Step 6: Verify access permissions
[1191] The server checks the user's access rights to the files and web pages in the search results.
[1192] The server retrieves only the information to which the user has access rights.
[1193] Step 7: Generate a result message
[1194] The server generates a message to respond to the user based on the filtered search results.
[1195] The server sends the generated result message to the terminal.
[1196] Step 8: Presenting the results
[1197] The terminal displays the messages received from the server to the user.
[1198] The user can access the required files or web pages based on the information presented.
[1199] Example 1
[1200] 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."
[1201] Modern companies and organizations store vast amounts of digital data within their local networks. However, it can be difficult to quickly and accurately identify the files and web pages you need. Furthermore, if access permissions are not properly managed, the risk of unnecessary data leakage increases. Therefore, a system for efficiently and securely searching and providing digital data is needed.
[1202] 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.
[1203] In this invention, the server includes means for automatically navigating within a local network and collecting metadata of digital data based on predetermined access rights, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant digital data, and means for notifying users of the storage location and access method of the identified digital data, thereby enabling users to quickly and accurately obtain the information they need.
[1204] A "local network" is a computer network used within a specific, limited area.
[1205] "Migration" is the act of automatically moving within a network and collecting data.
[1206] "Access rights" are the permissions and restrictions for specific users or groups to access digital data.
[1207] "Digital data" is electronic information such as files or web pages that can be processed by a computer.
[1208] "Metadata" is attribute information of digital data, and includes the file name, creation date, update date, keywords, and the like.
[1209] "Indexing" is the process of organizing digital data based on specific attributes and storing them in a database so that they can be efficiently searched.
[1210] A "database" is an information system for efficiently managing data and storing it in a searchable form.
[1211] "Natural language" is a language that humans use in their daily lives and that can be analyzed and processed by computers and machines.
[1212] "Natural language processing" is a technology that allows computers to understand and analyze human language.
[1213] A "search query" is a specific request or question for retrieving information in a database.
[1214] "Notification" is the act of sending information to a user and informing them.
[1215] A "search result" is a set of information retrieved from a database based on a search query.
[1216] "Filtering" is the process of narrowing search results based on specific criteria.
[1217] A "chatbot" is an automated response system for conducting conversations in natural language.
[1218] The present invention relates to a system for quickly and accurately locating the location of digital data within a local network and providing it to users. This system is comprised of a server, a terminal, and a user component that work together.
[1219] 1. Network navigation and data collection
[1220] The server automatically scans designated folders and websites within the local network according to a predetermined schedule. Python or shell scripts are used for these scans. The scope of the scan is set based on user access privileges and departments. The scan collects metadata for each file and web page (such as file name, creation date, modification date, and keywords). For example, the server scans the " / shared / docs" folder and the "http: / / internal-portal" web page every day at 2:00 AM and records the scan results in " / var / log / scans / scan_results.log."
[1221] 2. Building and updating indexes
[1222] The server organizes the collected metadata and stores it in a searchable index database. Specifically, it uses a search engine such as Elasticsearch to build the index. The index is built by putting file metadata in JSON format into Elasticsearch. The index database is then periodically updated to reflect new or changed data. The update process is automated using a Cron job, which runs the "update_index.py" script every day at 3:00 AM.
[1223] 3. Receiving inquiries from users
[1224] The user makes a query to the chatbot in natural language from their device. For example, they send a message such as, "Where is this month's sales report?" The device then forwards this message to the server in real time. The device uses chat apps such as Slack and Microsoft Teams.
[1225] 4. Intention Analysis Using Natural Language Processing
[1226] The server passes the received message to a natural language processing (NLP) engine to analyze the user's intent. The NLP engine uses spaCy or the Google Cloud Natural Language API. The NLP engine tokenizes the message and extracts important keywords and phrases. The resulting keyword is "This month's sales report." The extracted keywords are then used in the subsequent search process.
[1227] 5. Search and generate results
[1228] The server searches the index database based on the keywords obtained from the NLP engine. Specifically, it uses Elasticsearch's query API to execute the search. A list of identified digital data is generated as a result of the search. From this list, further processing is performed to verify the user's access permissions. For example, an LDAP server is used to obtain user permission information, and only accessible data is retained as a result.
[1229] 6. Notification of Results
[1230] The server generates a message to notify the user based on the final search results. For example, a message such as "This month's sales report can be found in the Sales Department folder on the shared drive" is generated. This message is then sent to the user's device via the chat app. The device displays this message to the user, allowing them to quickly check the results.
[1231] Specific examples
[1232] For example, a sales department user sends a message to a chatbot on Slack asking, "Where is this month's sales report?" This message is passed to the server and analyzed by spaCy. As a result of the analysis, the keyword "this month's sales report" is extracted. The server then queries Elasticsearch to identify "this month's sales report" in the sales department folder. The server then references the LDAP server, verifies the user's permissions, and generates a message saying, "This month's sales report can be found in the sales department folder on the shared drive," which is sent to the user's device via Slack. The device then displays this message to the user and provides them with the necessary information.
[1233] Prompt Sentence Examples
[1234] Examples of prompts include:
[1235] "Where is this month's sales report?"
[1236] "Where are the sales department meeting materials?"
[1237] This allows users to quickly and accurately obtain the information they need.
[1238] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1239] Step 1:
[1240] Network migration and data collection
[1241] The server automatically traverses the local network according to a set schedule and collects metadata from specified folders and websites. Specifically, it uses Python and shell scripts to scan the " / shared / docs" folder and the "http: / / internal-portal" webpages every day at 2:00 AM. The input is the URLs of the folders and webpages to be scanned, and the output is metadata such as file names, creation dates, modification dates, and keywords. The scan results are recorded in " / var / log / scans / scan_results.log".
[1242] Step 2:
[1243] Building and updating indexes
[1244] The server indexes the collected metadata and stores it in a search engine such as Elasticsearch. Specifically, the scan result metadata is input into Elasticsearch in JSON format. The input is the collected metadata, and the output is an index database entry. The index is updated every day at 3:00 AM by running the "update_index.py" script as a Cron job to reflect new or changed data.
[1245] Step 3:
[1246] Receiving inquiries from users
[1247] A user makes a query in natural language from a device. For example, a message such as "Where is this month's sales report?" can be sent using a chat app such as Slack or Microsoft Teams. The input is a natural language message from the user, and the output is the transfer of that message to the server. The device transfers the message to the server in real time, and it is registered in the server's query receiving queue.
[1248] Step 4:
[1249] Intention analysis using natural language processing
[1250] The server passes the received message to a natural language processing engine (spaCy or Google Cloud Natural Language API) to analyze the user's intent. Specifically, the NLP engine tokenizes the message and extracts important keywords and phrases. The input is the natural language message from the user, and the output is the extracted keywords (e.g., "This month's sales report").
[1251] Step 5:
[1252] Searching and generating results
[1253] The server searches the index database based on the keywords obtained from the NLP engine. It uses Elasticsearch's query API to generate a list of relevant digital data. It then checks the user's access permissions with the LDAP server and returns only the information that can be accessed. The input is the extracted keywords and the user's access rights information, and the output is a list of identified digital data.
[1254] Step 6:
[1255] Notification of results
[1256] The server generates a notification message for the user based on the final search results. For example, it creates a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The input is a list of identified digital data, and the output is the generated notification message. This message is sent to the user's device via the chat app, and the device displays it to the user.
[1257] (Application example 1)
[1258] 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."
[1259] There is a need for a means to quickly and accurately identify and provide maintenance procedures and manuals for various equipment and processes within a factory to workers. Conventional methods require a lot of time and effort to manually search and check information, reducing efficiency. Furthermore, insufficient verification of access rights raises concerns about information leaks and the provision of incorrect information. The present invention aims to solve these problems and improve work efficiency and safety within factories.
[1260] 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.
[1261] In this invention, the server includes: means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions; means for indexing the collected metadata and storing it in a searchable database; means for receiving inquiries in natural language from users; means for analyzing the received inquiries using natural language processing and generating search queries; means for searching the index database based on the search queries and identifying relevant files and web pages; means for verifying the user's access permissions and filtering only accessible information; means for notifying the user of the storage location and access method of the relevant files and web pages; and means for receiving natural language inquiries from users via a smart device via voice input and displaying the results, thereby enabling fast and accurate searching and provision of maintenance procedures and manuals within a factory.
[1262] A "local network" is a network of computers or devices connected within a particular area or facility.
[1263] "Access privileges" refer to the rights of a user to access certain information or resources.
[1264] "Metadata" refers to information about a file or web page (such as file name, creation date, update date, keywords, etc.) that describes the attributes and characteristics of the data.
[1265] "Indexing" is the process of organizing information and making it searchable.
[1266] A "database" is a collection of data that is organized so that it can be efficiently managed, searched, and retrieved.
[1267] "Natural language" refers to languages that humans use on a daily basis (for example, Japanese or English).
[1268] "Natural language processing" is a technology that allows computers to understand, interpret, and generate natural human language.
[1269] A "search query" refers to a keyword or phrase entered to search for specific information.
[1270] "Filtering" is the process of selecting and excluding data based on specific criteria.
[1271] "Smart device" refers to an electronic device with advanced functionality that has internet connectivity and allows interaction with the user.
[1272] "Voice input" is a method in which a user inputs instructions by voice.
[1273] The present invention is a system for quickly and accurately identifying and providing maintenance procedures and manuals in a factory to workers. This system functions in cooperation with a server, terminals (e.g., smart devices or smart glasses), and users.
[1274] First, the server automatically traverses the local network and collects metadata for files and web pages based on the access privileges it has set. This metadata includes file names, creation dates, modification dates, keywords, etc. Then, it indexes the collected metadata and stores it in a searchable database. This index database is updated periodically.
[1275] A user makes a query in natural language from their own terminal (e.g., a smart device or smart glasses). The query is entered as a specific question such as "What is the maintenance procedure for XX?" This input can also be accepted as voice input. The terminal transfers the entered message to the server in real time.
[1276] The server analyzes the received message using a natural language processing (NLP) engine to understand the user's intent. Important keywords and phrases are extracted and a search query is generated. The server then searches an index database based on the generated search query to identify relevant files and web pages. At this time, the server checks the user's access permissions and filters out only the information that the user can access.
[1277] The server generates a notification message for the user based on the filtered search results. This message includes the location of the file or web page and how to access it. The notification message is sent to the terminal and displayed to the user. For example, the message might read, "The maintenance procedure for XX is located in the shared folder 'Maintenance / Robotic Arm' on the factory server."
[1278] As a concrete example, consider a scenario in which a veteran factory worker asks a question through smart glasses, "What are the routine maintenance procedures for the robotic arm?" This question is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "routine maintenance procedures for the robotic arm" is extracted, and the server searches the index database. After the user's access rights are confirmed, the search results are notified to the user.
[1279] An example prompt has the following format:
[1280] "What are the routine maintenance procedures for the robotic arm?"
[1281] This allows users to quickly and accurately obtain the information they need, improving work efficiency and safety within the factory.
[1282] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1283] Step 1:
[1284] The server automatically traverses the local network and collects metadata for files and web pages based on the specified access permissions. The input for this step is the specified folders and websites within the network, and the output is the metadata. Specifically, the server periodically scans according to a schedule and collects metadata such as file names, creation dates, modification dates, and keywords.
[1285] Step 2:
[1286] The server indexes the collected metadata and stores it in a searchable database. The input to this step is the metadata collected in step 1, and the output is an indexed database. Specifically, the server organizes the metadata and links related information to create an index database.
[1287] Step 3:
[1288] The user makes a query in natural language from the terminal. The input for this step is the query entered as the user's voice or text, and the output is a message transferred from the terminal to the server. Specifically, the user speaks to the smart glasses and asks, "What are the maintenance procedures for XX?"
[1289] Step 4:
[1290] The server analyzes the received query using a natural language processing (NLP) engine. The input for this step is the message sent by the user, and the output is the analyzed keywords and search query. Specifically, the server uses the NLP engine to analyze the intent of the query and extract important keywords and phrases.
[1291] Step 5:
[1292] The server searches the index database based on the generated search query to identify relevant files and web pages. The input to this step is the parsed search query, and the output is a list of identified files and web pages. Specifically, the server rapidly searches the index database and extracts relevant information.
[1293] Step 6:
[1294] The server checks the user's access privileges and filters out only the information that can be accessed. The input to this step is a list of identified files or web pages and the user's access privileges, and the output is a list of information that the user can access. Specifically, the server uses an access control system to check the user's privileges and leaves only the information that is permitted.
[1295] Step 7:
[1296] The server generates a message to notify the user based on the filtered search results and sends it to the terminal. The input to this step is a list of information that the user can access, and the output is a notification message. Specifically, the server creates a message such as "The maintenance procedure for XX is in the shared folder 'Maintenance / Robotic Arm' on the factory server," and sends it to the user's terminal.
[1297] Step 8:
[1298] The terminal displays the received message to the user. The input of this step is the notification message sent from the server, and the output is the user's view of the displayed information. Specifically, the smart glasses display a message on the screen to notify the user. This process allows the user to quickly and accurately obtain the information they need.
[1299] 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.
[1300] The present invention relates to a system that quickly and accurately identifies the location of files and web pages within a local network and provides information when necessary, taking into account the user's feelings. This system works in cooperation with the components of a server, a terminal, and a user.
[1301] 1. Network navigation and data collection
[1302] The server automatically scans designated folders and websites within the local network according to a pre-defined schedule. The scope of the scan is set based on user access privileges and departments. The scan collects metadata (file name, creation date, modification date, keywords, etc.) for each file and web page.
[1303] 2. Metadata Indexing
[1304] The server organizes the collected metadata and stores it in a searchable index database. The index is built from the collected metadata, allowing for fast searches. The index is periodically updated to reflect new or changed data.
[1305] 3. Use of Emotion Engine
[1306] When the server receives a query from a user, it identifies the user's emotional state using an emotion engine, which can analyze emotions from the user's text messages and voice inputs.
[1307] 4. Receiving inquiries from users
[1308] The user sends a natural language query to the chatbot from their device, such as "Where can I find documents related to XX?" The device then forwards this message to the server in real time.
[1309] 5. Intention Analysis Using Natural Language Processing
[1310] The server analyzes the received message using a natural language processing (NLP) engine, which understands the user's intent and extracts important keywords and phrases. For example, the phrase "This month's sales report" might be extracted.
[1311] 6. Search and generate results
[1312] The server searches the index database based on the extracted keywords and lists the files and web pages that match the search results. The files and web pages identified as search results are listed, and the results are generated based on this list.
[1313] 7. Check access permissions
[1314] The server checks the user's access permissions for the files and web pages in the search results, and only the information the user has permission to access is retained.
[1315] 8. Adjusting the results
[1316] The server takes into account the user's emotional state and adjusts how search results are presented: for example, if the user is in a hurry, it will display important information first to reduce the user's stress.
[1317] 9. Generating the Result Message
[1318] The server generates a message to respond to the user based on the final search results. For example, it may generate a message saying, "This month's sales report can be found in the Sales Department folder on the shared drive." The terminal displays this message to the user.
[1319] Specific examples
[1320] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted. At this time, the emotion engine also kicks in and detects that the user is impatient.
[1321] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[1322] This system solves the problems of managing the vast amount of data and access rights within the network, and also takes user emotions into consideration to provide more appropriate information.
[1323] The processing flow will be explained below.
[1324] Step 1: Scan the network
[1325] The server automatically crawls designated folders and websites within the local network according to a pre-set schedule.
[1326] The server collects metadata for each file and web page (such as filename, creation date, update date, keywords, etc.).
[1327] The server checks file and web page access permissions and collects data based on the appropriate permissions.
[1328] Step 2: Indexing Metadata
[1329] The server organizes the collected metadata and stores it in a searchable index database.
[1330] The server periodically updates this index to reflect newly discovered or changed data.
[1331] Step 3: Receiving user inquiries
[1332] Users send natural language queries to the chatbot from their own devices, such as "Where can I find information about XX?"
[1333] The terminal transfers the received message to the server in real time.
[1334] Step 4: Natural Language Processing
[1335] The server passes the received message to a natural language processing (NLP) engine.
[1336] The server's NLP engine parses the message and extracts keywords and semantic requests to understand the user's intent.
[1337] The server uses an emotion engine to recognize the user's emotional state, for example, determining whether the user is anxious based on the text's style and keywords.
[1338] Step 5: Generate and execute a search query
[1339] The server generates a search query based on the keywords extracted from the NLP engine.
[1340] The server uses the generated search query to search an index database and lists relevant files and web pages.
[1341] Step 6: Verify access permissions
[1342] The server checks the user's access rights to the files and web pages in the search results.
[1343] The server retrieves only the information to which the user has access rights.
[1344] Step 7: Refine your search results
[1345] The server adjusts how search results are presented based on the user's emotional state.
[1346] If the user is in a hurry, the server will prioritize presenting the most important information to reduce the user's stress.
[1347] Step 8: Generate and notify result messages
[1348] The server generates a message to respond to the user based on the filtered search results, for example, "This month's sales report can be found in the Sales Department folder on the shared drive."
[1349] The terminal displays the generated result message to the user.
[1350] Step 9: Feedback and learning
[1351] The user accesses the required files and web pages based on the presented information.
[1352] The server collects user feedback and uses it to improve the accuracy of the emotion engine and NLP engine.
[1353] Examples:
[1354] For example, a sales department user sends a message to a chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server and analyzed by the NLP engine. As a result of the analysis, the keyword "this month's sales report" is extracted, and at this time, the emotion engine also kicks in and detects that the user is impatient.
[1355] Next, the server searches the index database to identify where the "This Month's Sales Report" is stored. At this time, the user's access privileges are also checked, and only accessible information is retained as a result. The server then generates a message saying, "This month's sales report is in the Sales Department folder on the shared drive," promptly presenting it to the user, taking into account their impatience. The terminal displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[1356] Example 2
[1357] 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."
[1358] Conventional systems have difficulty quickly and accurately searching the vast amount of digital information stored on local networks. Furthermore, they do not provide information that takes user emotions into account, resulting in a poor user experience. Furthermore, users' access privileges are unclear, creating a risk of unauthorized data being accessed. Therefore, a new system is needed that efficiently and safely provides necessary information and presents it based on user emotions.
[1359] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for automatically roaming within a local network and collecting metadata of digital information based on predetermined access permissions, a means for indexing the collected metadata and storing it in a searchable database, and a means for receiving inquiries from users in natural language. This makes it possible to quickly and accurately search vast amounts of digital information and efficiently provide necessary information. In addition, by using a means for analyzing the user's emotional state and adjusting the presentation method of search results based on the results, an improved user experience can be achieved. Furthermore, by checking the user's access permissions and providing only accessible information, data security is ensured and information can be provided safely.
[1360] A "local network" is a network of interconnected computers or devices within a limited range.
[1361] "Digital information" is data such as text, images, audio, and video that is stored or transmitted electronically.
[1362] "Metadata" is data that describes information about digital information, and specifically includes the file name, creation date, update date, keywords, and the like.
[1363] "Indexing" refers to building a searchable index based on collected metadata.
[1364] A "searchable database" is a database that allows fast and efficient searching of indexed data.
[1365] "Natural language" refers to the language used by humans on a daily basis, and is distinct from specific technical terms or formal languages such as program code.
[1366] "Natural language processing" is a technology that allows computers to understand, analyze, and generate natural language.
[1367] A "search query" is a search request that contains keywords or phrases related to the information a user is seeking.
[1368] "Emotional state" refers to the user's emotional or psychological state, including, for example, impatience, tension, relief, etc.
[1369] "Access privileges" are privileges that determine whether a user is permitted to access particular digital information.
[1370] "Search result presentation" refers to how search results are displayed to the user.
[1371] A "server" is a computer system that provides services to other computers and devices on a network.
[1372] The present invention relates to a system that quickly and accurately identifies digital information within a local network and provides information based on the user's emotional state. The system involves the cooperation of server, terminal, and user components.
[1373] Configuration and Operation Procedures
[1374] Network migration and data collection
[1375] The server automatically scans designated folders and web pages within the local network according to a pre-set schedule. Crontab (a Linux scheduling tool) or Windows Task Scheduler can be used for this scanning. The server collects metadata from each piece of digital information scanned. This metadata includes file names, creation dates, modification dates, keywords, file sizes, and more.
[1376] Metadata Indexing
[1377] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database that is periodically updated to reflect new or changed digital information.
[1378] Use of emotion engine
[1379] When the server receives a user inquiry, it analyzes the user's emotional state using Google Cloud Natural Language API and IBM Watson sentiment analysis.
[1380] Receiving inquiries from users
[1381] Users send natural language inquiries to the chatbot from their devices, such as "Where is this month's sales report?". The messaging platform used is Slack or Microsoft Teams. The device forwards this message to the server in real time.
[1382] Intention analysis using natural language processing
[1383] The server analyzes the received message using a natural language processing (NLP) engine, such as spaCy or Google Cloud Natural Language, to understand the user's intent and extract key keywords and phrases.
[1384] Searching and generating results
[1385] The server searches the index database based on the extracted keywords and lists the relevant digital information. For example, files such as "Sales Report_2023_10.xlsx" are included in the search results.
[1386] Checking access permissions
[1387] The server checks the user's access rights to the digital information in the search results, using authentication systems such as LDAP or Active Directory to ensure that only information that the user has access to is displayed in the search results.
[1388] Adjusting the results
[1389] The server adjusts the way search results are presented based on the analysis of the user's emotional state. For example, if the user is feeling anxious, it will quickly display important information to reduce the user's stress.
[1390] Generate result message
[1391] The server generates a response message for the user based on the final search results. Using a generative AI model, it creates a message such as "This month's sales report can be found in the Sales Department folder on the shared drive." The device displays this message to the user.
[1392] Examples of specific examples and prompts
[1393] Specific examples
[1394] A sales department user sends a message to the chatbot from their device asking, "Where is this month's sales report?" This message is passed to the server, where the NLP engine extracts the keyword "this month's sales report." The emotion engine also works to analyze the user's impatience. The server then searches the index database to identify the location of "Sales Report_2023_10.xlsx" and checks the user's access permissions. The server then generates and quickly presents a message saying, "This month's sales report is in the Sales Department folder on the shared drive." The device displays this message to the user, allowing them to quickly and accurately obtain the information they need.
[1395] Examples of prompts to input to the AI model
[1396] "Where is this month's sales report?" (Emotion: Impatience)
[1397] "Please tell me where today's meeting materials are saved. (Emotion: Tension)"
[1398] "I would like to know where the latest budget reconciliation documents are for each department. (Emotion: Neutral)"
[1399] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1400] Step 1:
[1401] The server scans designated folders and web pages within the local network according to a pre-set schedule.
[1402] Input: Path information of the specified folder or web page
[1403] Output: Collected metadata (file name, creation date, modification date, keywords, file size, etc.)
[1404] What it does: Runs periodic scan tasks using Crontab or Windows Task Scheduler to extract necessary metadata from each folder and web page.
[1405] Step 2:
[1406] The server indexes the collected metadata using a search engine such as ElasticSearch and stores it in a searchable database.
[1407] Input: Collected metadata
[1408] Output: Indexed database
[1409] Specific operation: Using the ElasticSearch API, the collected metadata is organized and classified, and stored in an index database in an easily searchable format.
[1410] Step 3:
[1411] Users send queries to the chatbot in natural language from their own devices.
[1412] Input: A natural language message from the user (e.g., "Where is this month's sales report?")
[1413] Output: Transfer message from terminal to server
[1414] Specific behavior: Sends user messages to the server via messaging platforms such as Slack and Microsoft Teams.
[1415] Step 4:
[1416] The terminal transfers the user's messages to the server in real time.
[1417] Input: User's natural language message
[1418] Output: Message sent to the server
[1419] Specific operation: Relays user messages to the server via the messaging platform's API.
[1420] Step 5:
[1421] The server analyzes the received message using a natural language processing (NLP) engine.
[1422] Input: User's natural language message
[1423] Output: Extracted keywords and phrases (e.g., "This month's sales report")
[1424] What it does: It uses spaCy and Google Cloud Natural Language to analyze the text of messages and identify important words and phrases.
[1425] Step 6:
[1426] The server uses the analysis results and an emotion engine to analyze the user's emotional state.
[1427] Input: User's natural language message
[1428] Output: Emotion analysis results (e.g., impatience, tension, etc.)
[1429] What it does: It uses Google Cloud Natural Language API and IBM Watson's sentiment analysis capabilities to determine the user's emotional state from the message.
[1430] Step 7:
[1431] The server searches the index database based on the extracted keywords and lists the relevant digital information.
[1432] Input: Extracted keywords or phrases
[1433] Output: List of search results (e.g. "Sales Report_2023_10.xlsx")
[1434] Specific operation: ElasticSearch is used to search the index database for data matching keywords and generate a result list.
[1435] Step 8:
[1436] The server checks the user's access rights to the digital information in the search results.
[1437] Input: Search result list, user access permission information
[1438] Output: List of accessible data
[1439] Specific operation: Uses LDAP or Active Directory to verify user authentication information and filter only the digital information that has been granted access.
[1440] Step 9:
[1441] The server adjusts how search results are presented depending on the user's emotional state.
[1442] Input: Search result list, sentiment analysis results
[1443] Output: Adjusted search results
[1444] Specific behavior: Using a generative AI model, the way information is presented is optimized, such as prioritizing important information when the user is in a hurry.
[1445] Step 10:
[1446] The server generates a message in response to the user based on the final search results and transmits it to the terminal.
[1447] Input: Tailored search results, user query
[1448] Output: Reply message to the user
[1449] Specific operation: An appropriate message is generated using a generative AI model and sent to the device using the message platform's API.
[1450] Step 11:
[1451] The terminal displays messages from the server to the user.
[1452] Input: Reply message from the server
[1453] Output: The message displayed to the user
[1454] Specific behavior: A reply message will be displayed in the chat window of Slack or Microsoft Teams, providing the information the user is looking for.
[1455] (Application example 2)
[1456] 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."
[1457] In today's digital society, quickly and accurately finding specific information from a large number of files and web pages on a local network is an important challenge. However, conventional systems simply present information without considering the user's emotional state or urgency, which often causes stress for users. This leads to problems such as reduced efficiency and satisfaction in information seeking.
[1458] 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.
[1459] In this invention, the server includes means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access permissions, means for indexing the collected metadata and storing it in a searchable database, means for receiving inquiries in natural language from users, means for analyzing the received inquiries using natural language processing and generating search queries, means for searching the index database based on the search queries and identifying relevant files and web pages, means for notifying the user of the storage location and access method of the identified files and web pages, and means for analyzing the user's emotional state and adjusting search results and notification content according to the user's emotional state, thereby enabling information to be presented taking into account the user's emotional state and level of urgency.
[1460] A "local network" is a network that allows a group of digital devices connected within a specific range to communicate with each other.
[1461] "Metadata" is information about a file or web page (e.g., file name, creation date, update date, keywords, etc.), and is not the data itself but additional information that describes its characteristics and content.
[1462] "Indexing" is the process of organizing collected metadata and storing it in a database so that it can be searched quickly and efficiently.
[1463] "Natural language processing" is a technology that analyzes inquiries made in natural language by users and understands their intent and content.
[1464] A "search query" is a series of keywords or phrases generated to search a database.
[1465] "Emotional state" refers to the user's emotional state (e.g., anxious, calm, neutral), and is a psychological state analyzed from the user's input or voice.
[1466] The present invention relates to a system that provides an "emotionally responsive shopping assistant" smartphone app that enables users to efficiently search for products in physical stores. The system includes a server that automatically navigates within a local network, collects metadata of files and web pages based on predetermined access privileges, indexes the collected metadata, and stores it in a searchable database; a server that receives queries in natural language from users, analyzes the queries using natural language processing, and generates search queries; and a server that searches the index database based on the search queries, identifies relevant files and web pages, and notifies the user of their storage locations and how to access them.
[1467] The system also analyzes the user's emotional state and adjusts search results and notification content accordingly, reducing user stress and improving the efficiency of information seeking. The user's emotional state is analyzed using a natural language processing engine (using the SentimentIntensityAnalyzer in the NLTK library).
[1468] System configuration
[1469] 1. Metadata collection and indexing:
[1470] The server periodically scans the local network and collects metadata about files and web pages based on user access permissions, which is then stored in an index database and updated as needed.
[1471] 2. Receiving inquiries from users:
[1472] Users send natural language queries to the chatbot from their smartphones, and the messages are forwarded to the server in real time.
[1473] 3. Natural Language Processing and Search Query Generation:
[1474] The server analyzes the received inquiry using a natural language processing engine, such as spaCy or NLTK, to generate a search query.
[1475] 4. Search and generate results:
[1476] The server then searches the index database based on the generated search query to identify the relevant files and web pages, while also checking the user's access permissions, and only extracts information that the user has access to.
[1477] 5. User emotional state analysis:
[1478] The server analyzes the user's emotional state using a natural language processing engine, using the SentimentIntensityAnalyzer from the NLTK library.
[1479] 6. Coordination and Notification of Results:
[1480] The server then adjusts search results and notification content based on the analyzed user's emotional state, presenting them in the most optimal way to the user: providing quick information to impatient users and detailed information to calm users.
[1481] Specific examples
[1482] For example, if a user asks "Where are the tables in stock?" in a store, they type this message into the app, which sends it to the server, generating a prompt like this:
[1483] Analyze the user's emotional state when they ask for information about the table's inventory location and provide the appropriate information. If the message sounds urgent, provide quick information; if it sounds calm, provide detailed information.
[1484] This prompt is input into a natural language processing engine to analyze the user's emotional state, after which the server generates appropriate search results and notifies the user, allowing the user to quickly and accurately obtain the information they need.
[1485] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1486] Step 1:
[1487] Metadata collection
[1488] The server automatically scans the local network periodically and collects metadata (such as file names, creation dates, update dates, and keywords) for files and web pages based on the specified access permissions. It receives the path of a specified folder or website within the local network as input and outputs the collected metadata. This makes it possible to collect information based on the user's access permissions.
[1489] Step 2:
[1490] Metadata Indexing
[1491] The server stores the collected metadata in an index database. The collected metadata is given as input, and the data stored in the index database is output. This allows for fast and efficient data searches.
[1492] Step 3:
[1493] Receiving inquiries from users
[1494] The user uses their device to send a natural language inquiry (e.g., "Where is the table in stock?") to the chatbot. The user's inquiry message is given as input, and a message is output that is forwarded to the server. This allows the server to receive the user's inquiry.
[1495] Step 4:
[1496] Natural Language Processing and Search Query Generation
[1497] The server analyzes the received query using a natural language processing engine (e.g., spaCy or NLTK). As input, it takes the user's message and outputs the search query, which extracts relevant keywords and phrases.
[1498] Step 5:
[1499] Searching and generating results
[1500] The server searches the index database based on the generated search query to identify the relevant files and web pages. The search query is given as input, and a list of relevant files and web pages is output as search results. This identifies the appropriate information.
[1501] Step 6:
[1502] Check user access permissions
[1503] The server checks the user's access permissions for the identified files and web pages. As input, it takes the list of identified files and web pages and the user's access permissions, and outputs only the information the user has access to. This ensures proper authorization.
[1504] Step 7:
[1505] User emotional state analysis
[1506] The server analyzes the user's emotional state using a natural language processing engine (e.g., NLTK's SentimentIntensityAnalyzer). The user's message is given as input, and the analyzed emotional state of the user is output. This allows the user's emotional state to be understood.
[1507] Step 8:
[1508] Coordination and notification of results
[1509] The server adjusts search results and notification content based on the user's emotional state. The analyzed user's emotional state and search results are given as input, and the adjusted notification content is output. This reduces the user's stress and provides optimal information.
[1510] 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.
[1511] 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.
[1512] 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.
[1513] 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.
[1514] 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.
[1515] 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.
[1516] 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).
[1517] 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.
[1518] 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."
[1519] 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.
[1520] 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).
[1521] 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.
[1522] 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.
[1523] 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.
[1524] 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.
[1525] 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.
[1526] 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.
[1527] 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.
[1528] 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.
[1529] 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.
[1530] 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.
[1531] The following is further disclosed regarding the above embodiment.
[1532] (Claim 1)
[1533] A means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access rights;
[1534] a means for indexing and storing the collected metadata in a searchable database;
[1535] means for receiving a natural language inquiry from a user;
[1536] A means for analyzing the received inquiry using natural language processing and generating a search query;
[1537] means for searching the index database to identify relevant files and web pages based on the search query;
[1538] a means of informing the user of the location of the identified files or web pages and how to access them;
[1539] A system including:
[1540] (Claim 2)
[1541] 10. The system of claim 1, further comprising means for verifying a user's access rights and extracting only accessible data as search results.
[1542] (Claim 3)
[1543] 10. The system of claim 1, further comprising means for filtering search results to present only information accessible to the user.
[1544] "Example 1"
[1545] (Claim 1)
[1546] means for automatically roaming within a local network and collecting metadata of digital data based on predetermined access rights;
[1547] a means for indexing and storing the collected metadata in a searchable database;
[1548] means for receiving a natural language inquiry from a user;
[1549] A means for analyzing the received inquiry using natural language processing and generating a search query;
[1550] means for searching the index database based on the search query to identify relevant digital data;
[1551] means for informing the user where the identified digital data is stored and how to access it;
[1552] A system including:
[1553] (Claim 2)
[1554] 10. The system of claim 1, further comprising means for verifying a user's access rights and extracting only accessible data as search results.
[1555] (Claim 3)
[1556] 10. The system of claim 1, further comprising means for filtering search results to present only information accessible to the user.
[1557] "Application Example 1"
[1558] (Claim 1)
[1559] A means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access rights;
[1560] a means for indexing and storing the collected metadata in a searchable database;
[1561] means for receiving a natural language inquiry from a user;
[1562] A means for analyzing the received inquiry using natural language processing and generating a search query;
[1563] means for searching the index database to identify relevant files and web pages based on the search query;
[1564] A means to check user access privileges and filter only the information they can access;
[1565] A means of informing users where such files or web pages are stored and how to access them;
[1566] means for receiving a user's natural language query via a smart device by voice input and displaying the result;
[1567] A system including:
[1568] (Claim 2)
[1569] 10. The system of claim 1, further comprising means for verifying a user's access rights and extracting only accessible data as search results.
[1570] (Claim 3)
[1571] 10. The system of claim 1, further comprising means for filtering search results to present only information accessible to the user.
[1572] "Example 2: Combining Emotion Engines"
[1573] (Claim 1)
[1574] means for automatically roaming within a local network and collecting metadata of digital information based on predetermined access rights;
[1575] a means for indexing and storing the collected metadata in a searchable database;
[1576] means for receiving a natural language inquiry from a user;
[1577] A means for analyzing the received inquiry using natural language processing and generating a search query;
[1578] means for searching the index database based on the search query to identify relevant digital information;
[1579] a means of informing the user where the identified digital information is stored and how to access it;
[1580] means for analyzing a user's emotional state and adjusting the presentation of search results based on the analysis;
[1581] A system including:
[1582] (Claim 2)
[1583] 10. The system of claim 1, further comprising means for verifying a user's access privileges and extracting only accessible digital information as search results.
[1584] (Claim 3)
[1585] 10. The system of claim 1, further comprising means for filtering search results to present only information accessible to the user.
[1586] "Application example 2 when combining emotion engines"
[1587] (Claim 1)
[1588] A means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access rights;
[1589] a means for indexing and storing the collected metadata in a searchable database;
[1590] means for receiving a natural language inquiry from a user;
[1591] A means for analyzing the received inquiry using natural language processing and generating a search query;
[1592] means for searching the index database to identify relevant files and web pages based on the search query;
[1593] a means of informing the user of the location of the identified files or web pages and how to access them;
[1594] A means for analyzing the emotional state of a user and adjusting search results and notification content according to the emotional state;
[1595] A system including:
[1596] (Claim 2)
[1597] 10. The system of claim 1, further comprising means for verifying a user's access rights and extracting only accessible data as search results.
[1598] (Claim 3)
[1599] 10. The system of claim 1, further comprising means for filtering search results to present only information accessible to the user. [Explanation of symbols]
[1600] 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. A means for automatically navigating a local network and collecting metadata of files and web pages based on predetermined access rights; a means for indexing and storing the collected metadata in a searchable database; means for receiving a natural language inquiry from a user; A means for analyzing the received inquiry using natural language processing and generating a search query; means for searching the index database to identify relevant files and web pages based on the search query; a means of informing the user of the location of the identified files or web pages and how to access them; A system including:
2. The system according to claim 1 , further comprising means for checking a user's access authority and extracting only accessible data as search results.
3. The system of claim 1 , further comprising means for filtering search results to present only information accessible to the user.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A