System
A system that uses natural language processing to identify and recommend experts within a company's communication data streamlines internal communication, addressing the challenge of finding specific expertise and enhancing productivity.
Patent Information
- Application Number
- JP2024125398
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
In corporate communication, it is difficult to quickly find people with specific expertise, especially when expertise is limited to specific individuals or when the number of employees increases, leading to reduced productivity and delays in information sharing.
A system that automatically monitors internal company communication data, identifies messages containing specific keywords, identifies people with relevant expertise, and generates and sends recommendation messages using a natural language processing engine and internal communication tools.
This system expedites projects and problem solving by improving productivity and streamlining information sharing by quickly identifying and connecting users with the right experts.
Smart Images

Figure 2026023463000001_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 corporate communication, it is difficult to quickly find people with specific expertise. This problem is particularly pronounced when expertise or skills are limited to specific individuals or when the number of employees increases. In such situations, it takes time and effort to identify people with the appropriate knowledge, which can lead to reduced productivity and delays in information sharing. [Means for solving the problem]
[0005] The present invention provides a system that automatically monitors internal company communication data, identifies messages containing specific keywords, identifies people with the relevant expertise, and generates and sends recommendation messages. This system includes a means for acquiring communication data, a means for analyzing the data using a natural language processing engine, a means for searching for people with the relevant expertise, a means for generating recommendation messages, and a means for sending the generated messages. This means expedites projects and problem solving that require specific expertise, improving productivity and streamlining information sharing.
[0006] "Internal communication data" refers to the collection of messages and information sent and received via communication tools used within a company.
[0007] "Means for acquiring" refers to the function or method for collecting specific data and storing it within the system.
[0008] A "natural language processing engine" is software or algorithms that analyze human language and understand its meaning and structure.
[0009] The "analyzing means" is a method or function for analyzing the acquired data and extracting necessary information.
[0010] A "person with specialized knowledge" refers to someone who has advanced knowledge and experience in a particular field or skill.
[0011] A "search means" is a method or function for searching a database or other information source to find information that meets specific criteria.
[0012] A "recommendation message" is a form of text or notification that is generated to introduce a particular person or piece of information.
[0013] A "generating means" is a method or function for creating new text or messages based on specific information or data.
[0014] A "transmitting means" is a method or function for sending a generated message or data to a particular recipient or system. [Brief explanation of the drawings]
[0015] [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
[0016] 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.
[0017] First, the terms used in the following description will be explained.
[0018] 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).
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 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.
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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."
[0036] The present invention provides a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. This system includes a series of processes in which a server collects internal communication data in real time, analyzes it using a natural language processing engine, searches for people with the expertise based on the analysis results, and generates and sends recommendation messages.
[0037] 1. Collecting conversation data
[0038] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0039] 2. Conversation Analysis
[0040] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of messages, identifying specific keywords and phrases and determining whether they require expertise.
[0041] 3. Identifying people with expertise
[0042] Based on the analysis, the server searches an internal database that includes employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0043] 4. Generating Recommendation Messages
[0044] The server generates a recommendation message based on the information about the identified people, which introduces the most appropriate people to the contributor seeking specific expertise.
[0045] 5. Sending recommended messages
[0046] Server-generated recommendation messages are automatically posted via internal communication tools, allowing users seeking expertise to quickly connect with the right people.
[0047] Specific examples
[0048] scenario:
[0049] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0050] 2. The server collects this message in real time and uses an NLP engine to analyze that the request is for "someone knowledgeable about marketing strategies."
[0051] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0052] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0053] 5. The server automatically posts this message to User A's chat.
[0054] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0055] This can improve the efficiency of internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0056] The processing flow will be explained below.
[0057] Step 1:
[0058] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0059] Step 2:
[0060] The server passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is input into the NLP engine, which identifies keywords and phrases and determines whether the message requires expertise.
[0061] Step 3:
[0062] The server uses the results of the NLP engine's analysis to search an internal database for people with expertise related to the identified keywords or topics, which details each employee's area of expertise and skill set.
[0063] Step 4:
[0064] The server generates a recommendation message based on the identified person information. Specifically, it creates a message containing the names of the found experts and their expertise. This message introduces the most appropriate expert for the requested information.
[0065] Step 5:
[0066] The server-generated recommendation message is automatically sent to a chat room using an internal communication tool, specifically, an API endpoint is used to post the message and make it visible to all interested parties.
[0067] Specific examples
[0068] scenario:
[0069] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0070] 2. The server collects this message in real time and uses an NLP engine to analyze that "someone knowledgeable about marketing strategies" is needed.
[0071] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0072] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0073] 5. The server automatically posts this message to User A's chat.
[0074] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0075] This improves the efficiency of internal communications and enables quick identification and referral of individuals with specific expertise.
[0076] Example 1
[0077] 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."
[0078] In today's corporate environment, there is a need to improve the efficiency of internal communication and quickly identify people with specific expertise. However, conventional systems make it difficult to efficiently find people with the appropriate expertise among a large number of employees, resulting in communication delays and reduced productivity. There is an urgent need to develop a system that solves these problems.
[0079] 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.
[0080] In this invention, the server includes means for acquiring internal communication data, means for analyzing the acquired communication data with a natural language processing engine, means for searching for people with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, means for sending the generated recommendation message to an internal communication tool, means for identifying specific keywords and phrases, means for personalizing the generated message using a template engine, and means for automatically posting the generated message to the internal communication tool, thereby enabling the efficiency of internal communication and the rapid identification and introduction of people with specific specialized knowledge.
[0081] "Internal communications data" refers to information such as text messages, voice messages, files, and images generated and transmitted by electronic communications means used within a company.
[0082] "Communication tools" is a general term for software applications used within companies for communication purposes, such as chat software, email systems, and voice call systems.
[0083] A "natural language processing engine" is an algorithm and software that uses machine learning and statistical methods to understand and analyze human language.
[0084] "Specialist experts" are employees with advanced knowledge and experience in a particular field or skill set.
[0085] A "database" is a system and collection of data designed to efficiently store, search, and manage large amounts of data.
[0086] A "keyword" is a word or phrase with a particular meaning that is contained within communication data.
[0087] A "template engine" is a software component that populates data according to a predefined format to generate dynamic content.
[0088] "Recommended Messages" are automatically generated messages to improve internal communications, including introducing people with the right expertise for a particular issue.
[0089] "Real-time" means that processing occurs almost immediately, with results available without delay.
[0090] The present invention is a system that streamlines internal communication and quickly identifies people with specific expertise. This system is mainly centered around a server, and executes a series of processes in cooperation with each other.
[0091] The server uses the API of internal communication tools (such as Slack or Microsoft Teams) to obtain internal communication data in real time. The obtained data is kept up to date by polling at regular intervals.
[0092] The server then uses a natural language processing (NLP) engine (e.g., a generative AI model such as GPT-3) to analyze the captured communication data, identifying specific keywords and phrases and determining whether the message content requires expert knowledge.
[0093] The server then uses the analysis results to search an internal database (using, for example, MySQL or PostgreSQL) to identify employees with specific expertise, including their areas of expertise, skill sets, and past project experience.
[0094] Based on the identified employee information, the server generates a recommendation message, using a template engine (e.g., Handlebars or Mustache) to dynamically create personalized content.
[0095] Finally, the generated recommendation messages are automatically sent through internal company communication tools, allowing users seeking expertise to immediately connect with the right people.
[0096] Examples:
[0097] User A posts "Is there anyone who is knowledgeable about marketing strategy?" on an internal chat tool. This message is collected in real time by the server, analyzed by an NLP engine (e.g., GPT-3), and determines that "someone who is knowledgeable about marketing strategy" is desired. The server searches its internal database and identifies person Y as someone who is knowledgeable about "marketing strategy." The server then generates a personalized recommendation message such as "Someone who is knowledgeable about marketing strategy is person Y," and automatically sends this message to User A. User A then contacts the recommended person Y to quickly resolve the problem.
[0098] This will streamline internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0099] Example prompt sentence:
[0100] "Identify employees with expertise in marketing strategies."
[0101] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0102] Program processing flow
[0103] Step 1: Collect conversation data
[0104] Specific behavior:
[0105] The server uses the API of the internal communication tool to obtain conversation data in real time, periodically sending requests to the API to poll for new messages.
[0106] input:
[0107] Raw conversation data obtained through APIs of internal communication tools (e.g., Slack and Microsoft Teams).
[0108] output:
[0109] Conversation data collected (text messages, sender information, timestamps, etc.).
[0110] Data processing:
[0111] The raw data obtained is partially filtered to extract only the necessary information (text, sender, timestamp, etc.).
[0112] Step 2: Analyzing the conversation
[0113] Specific behavior:
[0114] The server inputs the collected conversation data into an NLP engine (e.g., GPT-3) to analyze the message content and identify specific keywords and phrases.
[0115] input:
[0116] Extracted conversation data (text messages).
[0117] output:
[0118] Analysis results (data showing whether specific keywords or phrases are included).
[0119] Data Calculation:
[0120] The NLP engine analyzes the text data to identify words and phrases that require expertise, and the results are returned to the server in JSON format.
[0121] Step 3: Identify people with expertise
[0122] Specific behavior:
[0123] The server uses the analysis results to search an internal database to identify people with specific expertise and executes an SQL query to retrieve relevant employee information.
[0124] input:
[0125] Analysis results (keywords and phrases that call for specific expertise).
[0126] output:
[0127] Information about the person with the identified expertise (name, title, contact details).
[0128] Data processing:
[0129] Use SQL queries to filter and retrieve expertise-related employee information from the database.
[0130] Step 4: Generate a suggested message
[0131] Specific behavior:
[0132] The server uses a template engine (e.g., Handlebars) to generate a recommendation message based on the identified person's information.
[0133] input:
[0134] Information about people with identified expertise.
[0135] output:
[0136] Personalized recommendation messages.
[0137] Data Calculation:
[0138] A template engine is used to embed the retrieved person information into a template to generate a complete recommendation message.
[0139] Step 5: Sending recommended messages
[0140] Specific behavior:
[0141] The server automatically posts the recommended messages to the internal communication tool, and sends the messages using the communication tool's API.
[0142] input:
[0143] Personalized recommendation messages.
[0144] output:
[0145] A suggested message to post to the user's chat.
[0146] Data Calculation:
[0147] Calls the API to post the generated message to the specified channel or chat.
[0148] Examples:
[0149] scenario:
[0150] User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0151] 1. Step 1: The server retrieves this message via the Slack API.
[0152] Input: Raw conversation data obtained via the Slack API.
[0153] Output: Text data: "Does anyone know anything about marketing strategies?"
[0154] Specific behavior: Polls and collects Slack channel messages.
[0155] 2. Step 2: The server parses this message using its NLP engine and identifies the specific keyword "marketing strategy."
[0156] Input: Text data: "Does anyone know anything about marketing strategies?"
[0157] Output: Analysis results for "Marketing Strategy" (determining that a specific skill set is required).
[0158] Specific operation: The NLP engine extracts the keyword "marketing strategy" and analyzes that specialized knowledge is required.
[0159] 3. Step 3: The server searches its internal database to identify Mr. Y, who is knowledgeable about "marketing strategies."
[0160] Input: Analysis results for "Marketing Strategy".
[0161] Output: Mr. Y's information (name, position, contact information).
[0162] What it does: Executes an SQL query to retrieve relevant employee information from the database.
[0163] 4. Step 4: The server uses a template engine to generate a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0164] Input: Mr. Y's information.
[0165] Output: A personalized recommendation message saying, "The person who is knowledgeable about marketing strategies is Mr. / Ms. Y."
[0166] What it does: Generates recommendation messages using a template engine.
[0167] 5. Step 5: The server-generated recommendation message is automatically sent to User A via the Slack API.
[0168] Input: A personalized recommendation message.
[0169] Output: Suggested message posted to User A's chat.
[0170] Specific behavior: Sends a message using the Slack API.
[0171] This series of processes allows user A to quickly contact person Y and resolve the problem.
[0172] (Application example 1)
[0173] 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."
[0174] When an abnormality occurs in a factory, it is difficult to quickly and appropriately identify someone with the necessary expertise and request their assistance, which can lead to problems that cannot be resolved quickly, resulting in a decline in productivity and safety.
[0175] 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.
[0176] In this invention, the server includes means for detecting an abnormality, means for transmitting details of the detected abnormality to the server, means for analyzing the details of the abnormality using a natural language processing engine, and means for searching for a person with specialized knowledge based on the analysis results. This makes it possible to quickly and appropriately identify a person with specialized knowledge and request their assistance when an abnormality occurs in a factory.
[0177] "Abnormal" refers to an event that occurs within a factory that differs from normal operating conditions.
[0178] "Server" refers to a device or system that receives, analyzes, and processes data.
[0179] A "natural language processing engine" refers to a software engine that analyzes human language and understands its meaning.
[0180] "Person with specialized knowledge" refers to an employee who has advanced knowledge or skills in a particular technology or field.
[0181] "Means for detecting abnormalities" refers to a system that uses sensors, cameras, etc. to detect events that deviate from normal operating conditions.
[0182] "Means for sending details about anomalies to a server" refers to a mechanism that executes a process for sending data about detected anomalies to a server in real time.
[0183] "Means for analyzing details of anomalies using a natural language processing engine" refers to a mechanism that uses a natural language processing engine to decipher received anomaly data and execute a process to analyze its meaning.
[0184] "Means for searching for people with specialized knowledge based on the analysis results" refers to a process for identifying people with specific specialized knowledge from a database based on the analyzed data.
[0185] This invention is a system that quickly and appropriately identifies a person with specialized knowledge and requests their assistance when an abnormality occurs in a factory. To implement the invention, the following hardware and software are required.
[0186] Hardware: Factory robots (anomaly detection sensors, cameras, internal communication modules), servers
[0187] Software: Natural language processing engine (NLPEngine library), database client (DatabaseClient library), real-time communication API (requests library)
[0188] The server may use a system including the following means:
[0189] 1. Means of detecting abnormalities
[0190] Factory robots use sensors and cameras to automatically detect abnormalities, such as machine failures, improper operation, or line stoppages.
[0191] 2. A means of sending details about detected anomalies to the server
[0192] Details of the detected anomaly are sent to a server via the robot's internal communications module, including the type of anomaly, its location, and its current status.
[0193] 3. A method for analyzing the details of anomalies using a natural language processing engine
[0194] The server inputs the received anomaly data into a natural language processing engine to analyze its meaning, identifying specific keywords and phrases and determining whether they require specialized knowledge.
[0195] 4. A method for searching for people with specialized knowledge based on analysis results
[0196] Based on the analysis results, the server uses a database client to identify people with the expertise from a database that records the specialties, skill sets, and past project experience of employees in the factory.
[0197] 5. Generating and sending recommendation messages
[0198] The server generates a recommendation message for requesting assistance based on the information of the identified expert. This message is automatically sent to the expert's device. The expert receives the request for assistance in real time and can respond promptly.
[0199] Specific examples
[0200] For example, if part A breaks down on a factory production line, a robot will detect the situation and say, "Part A has broken down. Repair is required." The server will receive this message in real time and use a natural language processing engine to determine that "repair of part A" is required. The server will then search its database and identify "Mr. Y" as someone knowledgeable in repairing part A. The server will then generate a recommendation message saying, "Mr. Y is the right person to repair part A," and automatically send it to Mr. Y's device.
[0201] Prompt Sentence Examples
[0202] "Part A has failed and needs to be repaired."
[0203] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0204] Step 1:
[0205] Factory robots detect abnormalities. They use sensors and cameras to monitor operating conditions in real time, detecting, for example, machine failures, line stoppages, and improper operations. They use data obtained from sensors and cameras as input, and process and calculate the data to detect abnormalities. They generate data indicating abnormalities as output.
[0206] Step 2:
[0207] The robot sends details of the detected anomaly to the server. The anomaly data output here includes the type of anomaly, the location where it occurred, the current situation, etc. This data is sent to the server via the communication module. The input is the anomaly data from the robot, and the output is the anomaly data sent to the server.
[0208] Step 3:
[0209] The server inputs the received anomaly data into a natural language processing engine (NLPEngine) and analyzes the content. The natural language processing engine extracts specific keywords and phrases and determines what kind of specialized knowledge is required for the content. The input is the anomaly data, and the output is the analysis results.
[0210] Step 4:
[0211] The server uses a database client to search for people with specialized knowledge based on the analysis results. The database records the specialties, skill sets, and past project experience of employees in the factory. The input is the analysis results, and the output is information on the identified experts.
[0212] Step 5:
[0213] The server generates a recommended message for requesting assistance based on the identified expert information. It uses a generative AI model to create an appropriate prompt. The input is the expert information and anomaly data, and the output is the recommended message.
[0214] Step 6:
[0215] The server automatically sends the generated recommendation message to the expert's terminal. The message is sent in real time using a communication API. The input is the recommendation message, and the output is the message displayed on the expert's terminal.
[0216] 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.
[0217] The present invention is a system that automatically identifies people with specific expertise using internal communication tools and supports rapid collaboration. Furthermore, the present invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0218] 1. Collecting conversation data
[0219] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0220] 2. Conversation Analysis
[0221] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of the messages, which involves identifying specific keywords and phrases and determining whether they require expertise.
[0222] 3. Emotion Analysis
[0223] Furthermore, the server inputs the collected conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the user's emotional state (e.g., urgency, stress level, etc.) when posting a question.
[0224] 4. Identifying people with expertise
[0225] The server uses the results of the NLP and emotion engines to search an internal database that details employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0226] 5. Generating Recommendation Messages
[0227] The server generates recommendation messages based on the information of the identified people. These messages introduce the most appropriate people to the poster seeking specific expertise. The content of the messages can also be adjusted depending on the user's emotional state.
[0228] 6. Sending recommended messages
[0229] Server-generated recommendation messages are automatically posted via internal company communication tools, allowing users seeking expertise to quickly connect with the right people.
[0230] Specific examples
[0231] scenario:
[0232] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0233] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0234] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0235] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0236] 5. The server generates a recommendation message such as, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0237] 6. The server automatically posts this message to User A's chat.
[0238] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0239] This improves the efficiency of internal communications, allows for quick identification and referral to individuals with specific expertise, and allows for more appropriate responses by taking into account the user's emotional state.
[0240] The processing flow will be explained below.
[0241] Step 1:
[0242] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0243] Step 2:
[0244] The server then passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is fed into the NLP engine, which identifies specific keywords and phrases and determines whether the message calls for expertise.
[0245] Step 3:
[0246] The server passes the collected conversation data to the emotion engine for analysis. Specifically, the message text is input into the emotion engine to identify the user's emotional state (e.g., urgency, stress level, etc.).
[0247] Step 4:
[0248] The server uses the results of the NLP and emotion engines to search an internal database to identify people with specific expertise. Specifically, it retrieves people with expertise related to the identified keywords or topics. This database contains detailed records of each employee's area of expertise and skill set.
[0249] Step 5:
[0250] The server generates a recommendation message based on the identified person's information. Specifically, it creates a message that includes the name and expertise of the found expert. Furthermore, it adjusts the tone and content of the message depending on the user's emotional state.
[0251] Step 6:
[0252] The server generates a recommendation message and automatically posts it to the company's internal communication tool. Specifically, the message is posted using an API endpoint, and all stakeholders can view the message.
[0253] Specific examples
[0254] scenario:
[0255] 1. User A posts on an internal chat tool, "I need help with an important client presentation."
[0256] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0257] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0258] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "client presentations."
[0259] 5. The server generates a recommendation message such as, "Y is the person who knows about client presentations. It seems urgent, so please contact him as soon as possible." The tone of this message is adjusted to reflect User A's sense of urgency.
[0260] 6. The server automatically posts this message to User A's chat.
[0261] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0262] This step significantly improves the efficiency of internal communication, quickly identifies and recommends people with specific expertise, and takes into account the user's emotional state to provide more relevant and effective support.
[0263] Example 2
[0264] 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."
[0265] Conventional internal communication tools have difficulty quickly identifying people with specific expertise and providing information at the right time. Furthermore, they are unable to respond taking into account the user's emotional state, resulting in insufficient support in emergencies or stressful situations.
[0266] 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 means for acquiring internal company communication data, means for analyzing the acquired communication data with a natural language processing engine, means for analyzing the acquired communication data with an emotion engine, means for searching for a person with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, and means for sending the generated recommendation message to an internal company communication tool. This makes it possible to analyze internal company communication data in real time, provide appropriate support according to the user's emotional state, and quickly identify and introduce a person with specialized knowledge.
[0267] "Internal communication data" refers to text-based communication information such as emails, chats, and messages that take place within a company.
[0268] A "natural language processing engine" is a software technology that analyzes text data to understand its contents and extract information.
[0269] An "emotion engine" is a software technology for recognizing and analyzing emotional states (e.g., joy, anger, sadness, surprise, etc.) from text data.
[0270] A "person with specialized knowledge" is an individual employee with particular knowledge or skill set whose details are recorded in an internal database.
[0271] "Communication tools" are software such as email, chat tools, and messaging applications that support communication between employees.
[0272] A "recommendation message" is a message that is generated based on the analysis results and includes information about appropriate people, and is intended to provide appropriate support to the user.
[0273] This invention is a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. Furthermore, this invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0274] The server first uses the API of the internal communication tool to obtain internal communication data. This data is periodically polled to obtain the latest conversation content. The obtained communication data is then input into a natural language processing (NLP) engine to analyze the content of the message. This analysis process identifies specific keywords and phrases and determines whether they require specialized knowledge. Common NLP engines used include Google Cloud Natural Language and IBM Watson Natural Language Understanding.
[0275] The server then inputs the same conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the emotional state (e.g., urgency, stress level, etc.) of the user when they posted the question. The emotion engine can be implemented using the Emotion Recognition API from Azure Cognitive Services.
[0276] Based on the analysis results of the NLP engine and emotion engine, the server searches an internal database to identify people with specific expertise. This database contains detailed records of employees' areas of expertise, skill sets, past project experience, etc. The server then generates a recommendation message based on the information about the identified people. This message contains content that introduces the most appropriate person to the poster seeking specific expertise. It is also possible to adjust the content of the message depending on the user's emotional state.
[0277] Finally, the server automatically posts the generated recommendation message to the company's internal communication tools, allowing users seeking expertise to quickly connect with the right person. This all-automatic process significantly improves the efficiency of internal communication.
[0278] (Example)
[0279] scenario:
[0280] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0281] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0282] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0283] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0284] 5. The server generates a recommendation message saying, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0285] 6. The server automatically posts this message to User A's chat.
[0286] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0287] An example of a prompt for a generative AI model is:
[0288] "I urgently need help with an important client presentation. Can anyone help me with this?"
[0289] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0290] Step 1:
[0291] The server retrieves internal communication data. The input is real-time message data retrieved from the API of the internal communication tool. The server periodically polls and stores new messages in a temporary database. Specifically, it accesses the API endpoint using an HTTP request to retrieve the message data.
[0292] Step 2:
[0293] The server sends the retrieved message data to a natural language processing (NLP) engine for analysis. The input is the message data stored in a temporary database, and the output is the analysis results. This analysis process identifies specific keywords and phrases and determines whether the message requires expertise. Specifically, it sends an API request to the NLP engine to perform text analysis.
[0294] Step 3:
[0295] The server sends the same message data to the emotion engine to analyze the user's emotions. The input is the message data stored in the temporary database, and the output is the emotion analysis result. The emotion engine identifies the emotional state (e.g., urgency, stress level, etc.) from the text. Specifically, it sends an API request to the emotion engine to extract emotion data from the text.
[0296] Step 4:
[0297] The server searches an internal database based on the analysis results of the NLP engine and sentiment engine to identify people with expertise. The input is the results of the NLP and sentiment analysis and the internal database, and the output is information about the people with identified expertise. Specifically, it runs a database query to find appropriate people based on their related areas of expertise and skill sets.
[0298] Step 5:
[0299] The server generates a recommendation message based on the information of the identified person. The input is the information of the identified person and the result of emotion analysis, and the output is a recommendation message. This message introduces appropriate people and includes adjustments according to the user's emotional state. Specifically, the recommendation message is generated according to a template, and the wording is adjusted according to the user's urgency and stress level.
[0300] Step 6:
[0301] The server automatically sends the generated recommendation message to the internal communication tool. The input is the generated recommendation message, and the output is posting of the message to the user. As a specific operation, the API of the internal communication tool is used to send the generated message to the specified user.
[0302] (Application example 2)
[0303] 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."
[0304] In today's large factories and organizations, rapid troubleshooting and sharing of expertise are essential, and delays in resolving problems directly impact productivity. However, when problems arise with employees or robots, there is a lack of ways to quickly identify and efficiently contact people with the appropriate expertise. Furthermore, traditional methods can be difficult to use in urgent or stressful situations.
[0305] 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.
[0306] In this invention, the server includes means for acquiring in-house communication data, means for analyzing the acquired communication data with a natural language processing engine, means for using an emotion analysis engine that recognizes the emotional state of a user, means for searching for a person with specialized knowledge based on the analysis results, means for searching a database of people with specialized knowledge, means for generating a message recommending a person with specialized knowledge, and means for transmitting the generated recommendation message to an in-house communication tool. This enables people with specialized knowledge to be quickly identified, enabling quick troubleshooting and efficient problem resolution.
[0307] "Internal communication data" refers to data related to communication between employees within a company or organization, such as emails, chat messages, and meeting contents.
[0308] A "natural language processing engine" is a software component that analyzes text data and performs grammatical and semantic analysis, sentiment analysis, keyword extraction, and more.
[0309] "Persons with specialized knowledge" are employees or experts with advanced knowledge and experience in a particular technology or field.
[0310] An "emotion analysis engine" is a software component that identifies emotional states from text data, and can determine, for example, urgency or stress levels.
[0311] A "database" is a system for storing information in an organized manner and for searching and retrieving it quickly and efficiently.
[0312] A "recommendation message" is a message that is generated based on specific conditions or analysis results and provides useful information or recommendations for actions to the user.
[0313] "Communication tools" are software or platforms used by employees to communicate with each other in real time, such as through text messaging, voice, or video chat.
[0314] The system for implementing this invention acquires internal company communication data, analyzes it, identifies people with specialized knowledge, and recommends them to users. This system is composed of the following main components:
[0315] Hardware Configuration
[0316] 1. Server: Responsible for central data processing and storage, it collects communication data in real time, performs natural language processing and sentiment analysis, searches for people with specialized knowledge, and generates and sends recommendation messages.
[0317] 2. Smartphone, smart glasses, or head-mounted display: Used as a device to receive recommendation messages.
[0318] Software Configuration
[0319] 1. Natural language processing engine (NLP engine): Analyzes internal communication data and extracts specific keywords and phrases.
[0320] 2. Emotion analysis engine: Recognizes the user's emotional state and determines the level of urgency and stress.
[0321] 3. Database system: A database for storing and retrieving information about people with specialized knowledge.
[0322] 4. Communication Tool API: Used to connect with internal communication tools, collect conversation data in real time, and send recommendation messages.
[0323] Data manipulation and calculation
[0324] 1. Data collection: Using communication tool APIs, we obtain real-time internal communication data, including chat messages between employees and meeting minutes.
[0325] 2. Natural Language Processing: The collected data is fed into an NLP engine to detect specific keywords and phrases. This step extracts content that requires expertise from the analyzed data.
[0326] 3. Sentiment Analysis: Based on the results of the NLP engine, the sentiment analysis engine evaluates the user's emotional state, for example, determining the level of urgency or stress.
[0327] 4. Expertise search: Based on the results of NLP and sentiment analysis, the internal database is searched to identify people with specific expertise.
[0328] 5. Generating recommendation messages: Based on the searched information of people with expertise, appropriate recommendation messages are generated for the user. The recommendation messages are adjusted based on the results of sentiment analysis and according to the level of urgency and stress.
[0329] 6. Sending recommendation message: The generated recommendation message is sent to the user's smart device via the company's internal communication tool.
[0330] Specific examples
[0331] For example, a robot in a factory detects an error in the control system and sends a message saying, "I would like to fix the error in the control system." Based on this message, the server extracts specific keywords and evaluates the urgency using a sentiment analysis engine. As a result, an engineer with expertise in control systems is identified, and a recommendation message is sent to the engineer's smartphone saying, "Person B is an expert in fixing control system errors. Please contact him immediately."
[0332] Prompt Sentence Examples
[0333] "We're looking for a technician with expertise to fix a specific control system error. What's this technician's name and how can we contact him in an emergency?"
[0334] This configuration allows for quick identification of people with specialized knowledge and efficient problem resolution.
[0335] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0336] Step 1:
[0337] Data collection
[0338] The server uses the communication tool API to obtain real-time internal communication data. Input includes chat messages between employees and meeting notes. The data is sent to the server in JSON format and stored in storage.
[0339] Step 2:
[0340] Natural Language Processing
[0341] The communication data acquired by the server is input into an NLP engine to detect specific keywords and phrases. For example, specific technical terms such as "control system" and "error" are extracted. Chat messages saved in storage are used as input, and analysis results are obtained as output. The analysis results are saved as text data containing information about specific technologies and problems.
[0342] Step 3:
[0343] Emotion analysis
[0344] The server inputs the results of the NLP engine into an emotion analysis engine to evaluate the user's emotional state. For example, it identifies the level of urgency or stress. The analysis results of the NLP engine are used as input, and the evaluation result of the emotional state is obtained as output. The evaluation result is saved as numerical data related to the urgency or stress level.
[0345] Step 4:
[0346] Find people with expertise
[0347] The server uses the results of NLP and sentiment analysis to search its internal database to identify people with specific expertise. Specific keywords and sentiment analysis results are used as input, and a list of relevant experts is provided as output. For example, to identify engineers who are knowledgeable in "control systems," data including the engineer's name and contact information is returned.
[0348] Step 5:
[0349] Generating recommendation messages
[0350] The server generates an appropriate recommendation message for the user based on the information of the identified person with expertise. The content of the recommendation message is adjusted according to the urgency and stress level. The data of the person with expertise and the evaluation results of the emotion analysis are used as input, and a text message to be sent to the user is generated as output. For example, a message may be generated that reads, "Person B is knowledgeable about correcting control system errors. Please contact him as soon as possible."
[0351] Step 6:
[0352] Send a recommendation message
[0353] The server sends the generated recommendation message to the user's device via the company's internal communication tool. The generated text message is used as input, and the output is received by the user's device, such as a smartphone or smart glasses. This allows the user to quickly access the recommended expert and solve the problem.
[0354] 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.
[0355] 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.
[0356] 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.
[0357] [Second embodiment]
[0358] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0359] 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.
[0360] 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).
[0361] 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.
[0362] 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.
[0363] 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).
[0364] 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.
[0365] 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.
[0366] 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.
[0367] 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.
[0368] 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.
[0369] 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."
[0370] The present invention provides a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. This system includes a series of processes in which a server collects internal communication data in real time, analyzes it using a natural language processing engine, searches for people with the expertise based on the analysis results, and generates and sends recommendation messages.
[0371] 1. Collecting conversation data
[0372] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0373] 2. Conversation Analysis
[0374] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of messages, identifying specific keywords and phrases and determining whether they require expertise.
[0375] 3. Identifying people with expertise
[0376] Based on the analysis, the server searches an internal database that includes employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0377] 4. Generating Recommendation Messages
[0378] The server generates a recommendation message based on the information about the identified people, which introduces the most appropriate people to the contributor seeking specific expertise.
[0379] 5. Sending recommended messages
[0380] Server-generated recommendation messages are automatically posted via internal communication tools, allowing users seeking expertise to quickly connect with the right people.
[0381] Specific examples
[0382] scenario:
[0383] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0384] 2. The server collects this message in real time and uses an NLP engine to analyze that the request is for "someone knowledgeable about marketing strategies."
[0385] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0386] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0387] 5. The server automatically posts this message to User A's chat.
[0388] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0389] This can improve the efficiency of internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0390] The processing flow will be explained below.
[0391] Step 1:
[0392] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0393] Step 2:
[0394] The server passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is input into the NLP engine, which identifies keywords and phrases and determines whether the message requires expertise.
[0395] Step 3:
[0396] The server uses the results of the NLP engine's analysis to search an internal database for people with expertise related to the identified keywords or topics, which details each employee's area of expertise and skill set.
[0397] Step 4:
[0398] The server generates a recommendation message based on the identified person information. Specifically, it creates a message containing the names of the found experts and their expertise. This message introduces the most appropriate expert for the requested information.
[0399] Step 5:
[0400] The server-generated recommendation message is automatically sent to a chat room using an internal communication tool, specifically, an API endpoint is used to post the message and make it visible to all interested parties.
[0401] Specific examples
[0402] scenario:
[0403] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0404] 2. The server collects this message in real time and uses an NLP engine to analyze that "someone knowledgeable about marketing strategies" is needed.
[0405] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0406] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0407] 5. The server automatically posts this message to User A's chat.
[0408] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0409] This improves the efficiency of internal communications and enables quick identification and referral of individuals with specific expertise.
[0410] Example 1
[0411] 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."
[0412] In today's corporate environment, there is a need to improve the efficiency of internal communication and quickly identify people with specific expertise. However, conventional systems make it difficult to efficiently find people with the appropriate expertise among a large number of employees, resulting in communication delays and reduced productivity. There is an urgent need to develop a system that solves these problems.
[0413] 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.
[0414] In this invention, the server includes means for acquiring internal communication data, means for analyzing the acquired communication data with a natural language processing engine, means for searching for people with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, means for sending the generated recommendation message to an internal communication tool, means for identifying specific keywords and phrases, means for personalizing the generated message using a template engine, and means for automatically posting the generated message to the internal communication tool, thereby enabling the efficiency of internal communication and the rapid identification and introduction of people with specific specialized knowledge.
[0415] "Internal communications data" refers to information such as text messages, voice messages, files, and images generated and transmitted by electronic communications means used within a company.
[0416] "Communication tools" is a general term for software applications used within companies for communication purposes, such as chat software, email systems, and voice call systems.
[0417] A "natural language processing engine" is an algorithm and software that uses machine learning and statistical methods to understand and analyze human language.
[0418] "Specialist experts" are employees with advanced knowledge and experience in a particular field or skill set.
[0419] A "database" is a system and collection of data designed to efficiently store, search, and manage large amounts of data.
[0420] A "keyword" is a word or phrase with a particular meaning that is contained within communication data.
[0421] A "template engine" is a software component that populates data according to a predefined format to generate dynamic content.
[0422] "Recommended Messages" are automatically generated messages to improve internal communications, including introducing people with the right expertise for a particular issue.
[0423] "Real-time" means that processing occurs almost immediately, with results available without delay.
[0424] The present invention is a system that streamlines internal communication and quickly identifies people with specific expertise. This system is mainly centered around a server, and executes a series of processes in cooperation with each other.
[0425] The server uses the API of internal communication tools (such as Slack or Microsoft Teams) to obtain internal communication data in real time. The obtained data is kept up to date by polling at regular intervals.
[0426] The server then uses a natural language processing (NLP) engine (e.g., a generative AI model such as GPT-3) to analyze the captured communication data, identifying specific keywords and phrases and determining whether the message content requires expert knowledge.
[0427] The server then uses the analysis results to search an internal database (using, for example, MySQL or PostgreSQL) to identify employees with specific expertise, including their areas of expertise, skill sets, and past project experience.
[0428] Based on the identified employee information, the server generates a recommendation message, using a template engine (e.g., Handlebars or Mustache) to dynamically create personalized content.
[0429] Finally, the generated recommendation messages are automatically sent through internal company communication tools, allowing users seeking expertise to immediately connect with the right people.
[0430] Examples:
[0431] User A posts "Is there anyone who is knowledgeable about marketing strategy?" on an internal chat tool. This message is collected in real time by the server, analyzed by an NLP engine (e.g., GPT-3), and determines that "someone who is knowledgeable about marketing strategy" is desired. The server searches its internal database and identifies person Y as someone who is knowledgeable about "marketing strategy." The server then generates a personalized recommendation message such as "Someone who is knowledgeable about marketing strategy is person Y," and automatically sends this message to User A. User A then contacts the recommended person Y to quickly resolve the problem.
[0432] This will streamline internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0433] Example prompt sentence:
[0434] "Identify employees with expertise in marketing strategies."
[0435] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0436] Program processing flow
[0437] Step 1: Collect conversation data
[0438] Specific behavior:
[0439] The server uses the API of the internal communication tool to obtain conversation data in real time, periodically sending requests to the API to poll for new messages.
[0440] input:
[0441] Raw conversation data obtained through APIs of internal communication tools (e.g., Slack and Microsoft Teams).
[0442] output:
[0443] Conversation data collected (text messages, sender information, timestamps, etc.).
[0444] Data processing:
[0445] The raw data obtained is partially filtered to extract only the necessary information (text, sender, timestamp, etc.).
[0446] Step 2: Analyzing the conversation
[0447] Specific behavior:
[0448] The server inputs the collected conversation data into an NLP engine (e.g., GPT-3) to analyze the message content and identify specific keywords and phrases.
[0449] input:
[0450] Extracted conversation data (text messages).
[0451] output:
[0452] Analysis results (data showing whether specific keywords or phrases are included).
[0453] Data Calculation:
[0454] The NLP engine analyzes the text data to identify words and phrases that require expertise, and the results are returned to the server in JSON format.
[0455] Step 3: Identify people with expertise
[0456] Specific behavior:
[0457] The server uses the analysis results to search an internal database to identify people with specific expertise and executes an SQL query to retrieve relevant employee information.
[0458] input:
[0459] Analysis results (keywords and phrases that call for specific expertise).
[0460] output:
[0461] Information about the person with the identified expertise (name, title, contact details).
[0462] Data processing:
[0463] Use SQL queries to filter and retrieve expertise-related employee information from the database.
[0464] Step 4: Generate a suggested message
[0465] Specific behavior:
[0466] The server uses a template engine (e.g., Handlebars) to generate a recommendation message based on the identified person's information.
[0467] input:
[0468] Information about people with identified expertise.
[0469] output:
[0470] Personalized recommendation messages.
[0471] Data Calculation:
[0472] A template engine is used to embed the retrieved person information into a template to generate a complete recommendation message.
[0473] Step 5: Sending recommended messages
[0474] Specific behavior:
[0475] The server automatically posts the recommended messages to the internal communication tool, and sends the messages using the communication tool's API.
[0476] input:
[0477] Personalized recommendation messages.
[0478] output:
[0479] A suggested message to post to the user's chat.
[0480] Data Calculation:
[0481] Calls the API to post the generated message to the specified channel or chat.
[0482] Examples:
[0483] scenario:
[0484] User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0485] 1. Step 1: The server retrieves this message via the Slack API.
[0486] Input: Raw conversation data obtained via the Slack API.
[0487] Output: Text data: "Does anyone know anything about marketing strategies?"
[0488] Specific behavior: Polls and collects Slack channel messages.
[0489] 2. Step 2: The server parses this message using its NLP engine and identifies the specific keyword "marketing strategy."
[0490] Input: Text data: "Does anyone know anything about marketing strategies?"
[0491] Output: Analysis results for "Marketing Strategy" (determining that a specific skill set is required).
[0492] Specific operation: The NLP engine extracts the keyword "marketing strategy" and analyzes that specialized knowledge is required.
[0493] 3. Step 3: The server searches its internal database to identify Mr. Y, who is knowledgeable about "marketing strategies."
[0494] Input: Analysis results for "Marketing Strategy".
[0495] Output: Mr. Y's information (name, position, contact information).
[0496] What it does: Executes an SQL query to retrieve relevant employee information from the database.
[0497] 4. Step 4: The server uses a template engine to generate a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0498] Input: Mr. Y's information.
[0499] Output: A personalized recommendation message saying, "The person who is knowledgeable about marketing strategies is Mr. / Ms. Y."
[0500] What it does: Generates recommendation messages using a template engine.
[0501] 5. Step 5: The server-generated recommendation message is automatically sent to User A via the Slack API.
[0502] Input: A personalized recommendation message.
[0503] Output: Suggested message posted to User A's chat.
[0504] Specific behavior: Sends a message using the Slack API.
[0505] This series of processes allows user A to quickly contact person Y and resolve the problem.
[0506] (Application example 1)
[0507] 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."
[0508] When an abnormality occurs in a factory, it is difficult to quickly and appropriately identify someone with the necessary expertise and request their assistance, which can lead to problems that cannot be resolved quickly, resulting in a decline in productivity and safety.
[0509] 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.
[0510] In this invention, the server includes means for detecting an abnormality, means for transmitting details of the detected abnormality to the server, means for analyzing the details of the abnormality using a natural language processing engine, and means for searching for a person with specialized knowledge based on the analysis results. This makes it possible to quickly and appropriately identify a person with specialized knowledge and request their assistance when an abnormality occurs in a factory.
[0511] "Abnormal" refers to an event that occurs within a factory that differs from normal operating conditions.
[0512] "Server" refers to a device or system that receives, analyzes, and processes data.
[0513] A "natural language processing engine" refers to a software engine that analyzes human language and understands its meaning.
[0514] "Person with specialized knowledge" refers to an employee who has advanced knowledge or skills in a particular technology or field.
[0515] "Means for detecting abnormalities" refers to a system that uses sensors, cameras, etc. to detect events that deviate from normal operating conditions.
[0516] "Means for sending details about anomalies to a server" refers to a mechanism that executes a process for sending data about detected anomalies to a server in real time.
[0517] "Means for analyzing details of anomalies using a natural language processing engine" refers to a mechanism that uses a natural language processing engine to decipher received anomaly data and execute a process to analyze its meaning.
[0518] "Means for searching for people with specialized knowledge based on the analysis results" refers to a process for identifying people with specific specialized knowledge from a database based on the analyzed data.
[0519] This invention is a system that quickly and appropriately identifies a person with specialized knowledge and requests their assistance when an abnormality occurs in a factory. To implement the invention, the following hardware and software are required.
[0520] Hardware: Factory robots (anomaly detection sensors, cameras, internal communication modules), servers
[0521] Software: Natural language processing engine (NLPEngine library), database client (DatabaseClient library), real-time communication API (requests library)
[0522] The server may use a system including the following means:
[0523] 1. Means of detecting abnormalities
[0524] Factory robots use sensors and cameras to automatically detect abnormalities, such as machine failures, improper operation, or line stoppages.
[0525] 2. A means of sending details about detected anomalies to the server
[0526] Details of the detected anomaly are sent to a server via the robot's internal communications module, including the type of anomaly, its location, and its current status.
[0527] 3. A method for analyzing the details of anomalies using a natural language processing engine
[0528] The server inputs the received anomaly data into a natural language processing engine to analyze its meaning, identifying specific keywords and phrases and determining whether they require specialized knowledge.
[0529] 4. A method for searching for people with specialized knowledge based on analysis results
[0530] Based on the analysis results, the server uses a database client to identify people with the expertise from a database that records the specialties, skill sets, and past project experience of employees in the factory.
[0531] 5. Generating and sending recommendation messages
[0532] The server generates a recommendation message for requesting assistance based on the information of the identified expert. This message is automatically sent to the expert's device. The expert receives the request for assistance in real time and can respond promptly.
[0533] Specific examples
[0534] For example, if part A breaks down on a factory production line, a robot will detect the situation and say, "Part A has broken down. Repair is required." The server will receive this message in real time and use a natural language processing engine to determine that "repair of part A" is required. The server will then search its database and identify "Mr. Y" as someone knowledgeable in repairing part A. The server will then generate a recommendation message saying, "Mr. Y is the right person to repair part A," and automatically send it to Mr. Y's device.
[0535] Prompt Sentence Examples
[0536] "Part A has failed and needs to be repaired."
[0537] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0538] Step 1:
[0539] Factory robots detect abnormalities. They use sensors and cameras to monitor operating conditions in real time, detecting, for example, machine failures, line stoppages, and improper operations. They use data obtained from sensors and cameras as input, and process and calculate the data to detect abnormalities. They generate data indicating abnormalities as output.
[0540] Step 2:
[0541] The robot sends details of the detected anomaly to the server. The anomaly data output here includes the type of anomaly, the location where it occurred, the current situation, etc. This data is sent to the server via the communication module. The input is the anomaly data from the robot, and the output is the anomaly data sent to the server.
[0542] Step 3:
[0543] The server inputs the received anomaly data into a natural language processing engine (NLPEngine) and analyzes the content. The natural language processing engine extracts specific keywords and phrases and determines what kind of specialized knowledge is required for the content. The input is the anomaly data, and the output is the analysis results.
[0544] Step 4:
[0545] The server uses a database client to search for people with specialized knowledge based on the analysis results. The database records the specialties, skill sets, and past project experience of employees in the factory. The input is the analysis results, and the output is information on the identified experts.
[0546] Step 5:
[0547] The server generates a recommended message for requesting assistance based on the identified expert information. It uses a generative AI model to create an appropriate prompt. The input is the expert information and anomaly data, and the output is the recommended message.
[0548] Step 6:
[0549] The server automatically sends the generated recommendation message to the expert's terminal. The message is sent in real time using a communication API. The input is the recommendation message, and the output is the message displayed on the expert's terminal.
[0550] 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.
[0551] The present invention is a system that automatically identifies people with specific expertise using internal communication tools and supports rapid collaboration. Furthermore, the present invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0552] 1. Collecting conversation data
[0553] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0554] 2. Conversation Analysis
[0555] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of the messages, which involves identifying specific keywords and phrases and determining whether they require expertise.
[0556] 3. Emotion Analysis
[0557] Furthermore, the server inputs the collected conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the user's emotional state (e.g., urgency, stress level, etc.) when posting a question.
[0558] 4. Identifying people with expertise
[0559] The server uses the results of the NLP and emotion engines to search an internal database that details employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0560] 5. Generating Recommendation Messages
[0561] The server generates recommendation messages based on the information of the identified people. These messages introduce the most appropriate people to the poster seeking specific expertise. The content of the messages can also be adjusted depending on the user's emotional state.
[0562] 6. Sending recommended messages
[0563] Server-generated recommendation messages are automatically posted via internal company communication tools, allowing users seeking expertise to quickly connect with the right people.
[0564] Specific examples
[0565] scenario:
[0566] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0567] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0568] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0569] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0570] 5. The server generates a recommendation message such as, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0571] 6. The server automatically posts this message to User A's chat.
[0572] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0573] This improves the efficiency of internal communications, allows for quick identification and referral to individuals with specific expertise, and allows for more appropriate responses by taking into account the user's emotional state.
[0574] The processing flow will be explained below.
[0575] Step 1:
[0576] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0577] Step 2:
[0578] The server then passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is fed into the NLP engine, which identifies specific keywords and phrases and determines whether the message calls for expertise.
[0579] Step 3:
[0580] The server passes the collected conversation data to the emotion engine for analysis. Specifically, the message text is input into the emotion engine to identify the user's emotional state (e.g., urgency, stress level, etc.).
[0581] Step 4:
[0582] The server uses the results of the NLP and emotion engines to search an internal database to identify people with specific expertise. Specifically, it retrieves people with expertise related to the identified keywords or topics. This database contains detailed records of each employee's area of expertise and skill set.
[0583] Step 5:
[0584] The server generates a recommendation message based on the identified person's information. Specifically, it creates a message that includes the name and expertise of the found expert. Furthermore, it adjusts the tone and content of the message depending on the user's emotional state.
[0585] Step 6:
[0586] The server generates a recommendation message and automatically posts it to the company's internal communication tool. Specifically, the message is posted using an API endpoint, and all stakeholders can view the message.
[0587] Specific examples
[0588] scenario:
[0589] 1. User A posts on an internal chat tool, "I need help with an important client presentation."
[0590] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0591] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0592] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "client presentations."
[0593] 5. The server generates a recommendation message such as, "Y is the person who knows about client presentations. It seems urgent, so please contact him as soon as possible." The tone of this message is adjusted to reflect User A's sense of urgency.
[0594] 6. The server automatically posts this message to User A's chat.
[0595] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0596] This step significantly improves the efficiency of internal communication, quickly identifies and recommends people with specific expertise, and takes into account the user's emotional state to provide more relevant and effective support.
[0597] Example 2
[0598] 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."
[0599] Conventional internal communication tools have difficulty quickly identifying people with specific expertise and providing information at the right time. Furthermore, they are unable to respond taking into account the user's emotional state, resulting in insufficient support in emergencies or stressful situations.
[0600] 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 means for acquiring internal company communication data, means for analyzing the acquired communication data with a natural language processing engine, means for analyzing the acquired communication data with an emotion engine, means for searching for a person with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, and means for sending the generated recommendation message to an internal company communication tool. This makes it possible to analyze internal company communication data in real time, provide appropriate support according to the user's emotional state, and quickly identify and introduce a person with specialized knowledge.
[0601] "Internal communication data" refers to text-based communication information such as emails, chats, and messages that take place within a company.
[0602] A "natural language processing engine" is a software technology that analyzes text data to understand its contents and extract information.
[0603] An "emotion engine" is a software technology for recognizing and analyzing emotional states (e.g., joy, anger, sadness, surprise, etc.) from text data.
[0604] A "person with specialized knowledge" is an individual employee with particular knowledge or skill set whose details are recorded in an internal database.
[0605] "Communication tools" are software such as email, chat tools, and messaging applications that support communication between employees.
[0606] A "recommendation message" is a message that is generated based on the analysis results and includes information about appropriate people, and is intended to provide appropriate support to the user.
[0607] This invention is a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. Furthermore, this invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0608] The server first uses the API of the internal communication tool to obtain internal communication data. This data is periodically polled to obtain the latest conversation content. The obtained communication data is then input into a natural language processing (NLP) engine to analyze the content of the message. This analysis process identifies specific keywords and phrases and determines whether they require specialized knowledge. Common NLP engines used include Google Cloud Natural Language and IBM Watson Natural Language Understanding.
[0609] The server then inputs the same conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the emotional state (e.g., urgency, stress level, etc.) of the user when they posted the question. The emotion engine can be implemented using the Emotion Recognition API from Azure Cognitive Services.
[0610] Based on the analysis results of the NLP engine and emotion engine, the server searches an internal database to identify people with specific expertise. This database contains detailed records of employees' areas of expertise, skill sets, past project experience, etc. The server then generates a recommendation message based on the information about the identified people. This message contains content that introduces the most appropriate person to the poster seeking specific expertise. It is also possible to adjust the content of the message depending on the user's emotional state.
[0611] Finally, the server automatically posts the generated recommendation message to the company's internal communication tools, allowing users seeking expertise to quickly connect with the right person. This all-automatic process significantly improves the efficiency of internal communication.
[0612] (Example)
[0613] scenario:
[0614] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0615] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0616] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0617] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0618] 5. The server generates a recommendation message saying, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0619] 6. The server automatically posts this message to User A's chat.
[0620] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0621] An example of a prompt for a generative AI model is:
[0622] "I urgently need help with an important client presentation. Can anyone help me with this?"
[0623] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0624] Step 1:
[0625] The server retrieves internal communication data. The input is real-time message data retrieved from the API of the internal communication tool. The server periodically polls and stores new messages in a temporary database. Specifically, it accesses the API endpoint using an HTTP request to retrieve the message data.
[0626] Step 2:
[0627] The server sends the retrieved message data to a natural language processing (NLP) engine for analysis. The input is the message data stored in a temporary database, and the output is the analysis results. This analysis process identifies specific keywords and phrases and determines whether the message requires expertise. Specifically, it sends an API request to the NLP engine to perform text analysis.
[0628] Step 3:
[0629] The server sends the same message data to the emotion engine to analyze the user's emotions. The input is the message data stored in the temporary database, and the output is the emotion analysis result. The emotion engine identifies the emotional state (e.g., urgency, stress level, etc.) from the text. Specifically, it sends an API request to the emotion engine to extract emotion data from the text.
[0630] Step 4:
[0631] The server searches an internal database based on the analysis results of the NLP engine and sentiment engine to identify people with expertise. The input is the results of the NLP and sentiment analysis and the internal database, and the output is information about the people with identified expertise. Specifically, it runs a database query to find appropriate people based on their related areas of expertise and skill sets.
[0632] Step 5:
[0633] The server generates a recommendation message based on the information of the identified person. The input is the information of the identified person and the result of emotion analysis, and the output is a recommendation message. This message introduces appropriate people and includes adjustments according to the user's emotional state. Specifically, the recommendation message is generated according to a template, and the wording is adjusted according to the user's urgency and stress level.
[0634] Step 6:
[0635] The server automatically sends the generated recommendation message to the internal communication tool. The input is the generated recommendation message, and the output is posting of the message to the user. As a specific operation, the API of the internal communication tool is used to send the generated message to the specified user.
[0636] (Application example 2)
[0637] 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."
[0638] In today's large factories and organizations, rapid troubleshooting and sharing of expertise are essential, and delays in resolving problems directly impact productivity. However, when problems arise with employees or robots, there is a lack of ways to quickly identify and efficiently contact people with the appropriate expertise. Furthermore, traditional methods can be difficult to use in urgent or stressful situations.
[0639] 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.
[0640] In this invention, the server includes means for acquiring in-house communication data, means for analyzing the acquired communication data with a natural language processing engine, means for using an emotion analysis engine that recognizes the emotional state of a user, means for searching for a person with specialized knowledge based on the analysis results, means for searching a database of people with specialized knowledge, means for generating a message recommending a person with specialized knowledge, and means for transmitting the generated recommendation message to an in-house communication tool. This enables people with specialized knowledge to be quickly identified, enabling quick troubleshooting and efficient problem resolution.
[0641] "Internal communication data" refers to data related to communication between employees within a company or organization, such as emails, chat messages, and meeting contents.
[0642] A "natural language processing engine" is a software component that analyzes text data and performs grammatical and semantic analysis, sentiment analysis, keyword extraction, and more.
[0643] "Persons with specialized knowledge" are employees or experts with advanced knowledge and experience in a particular technology or field.
[0644] An "emotion analysis engine" is a software component that identifies emotional states from text data, and can determine, for example, urgency or stress levels.
[0645] A "database" is a system for storing information in an organized manner and for searching and retrieving it quickly and efficiently.
[0646] A "recommendation message" is a message that is generated based on specific conditions or analysis results and provides useful information or recommendations for actions to the user.
[0647] "Communication tools" are software or platforms used by employees to communicate with each other in real time, such as through text messaging, voice, or video chat.
[0648] The system for implementing this invention acquires internal company communication data, analyzes it, identifies people with specialized knowledge, and recommends them to users. This system is composed of the following main components:
[0649] Hardware Configuration
[0650] 1. Server: Responsible for central data processing and storage, it collects communication data in real time, performs natural language processing and sentiment analysis, searches for people with specialized knowledge, and generates and sends recommendation messages.
[0651] 2. Smartphone, smart glasses, or head-mounted display: Used as a device to receive recommendation messages.
[0652] Software Configuration
[0653] 1. Natural language processing engine (NLP engine): Analyzes internal communication data and extracts specific keywords and phrases.
[0654] 2. Emotion analysis engine: Recognizes the user's emotional state and determines the level of urgency and stress.
[0655] 3. Database system: A database for storing and retrieving information about people with specialized knowledge.
[0656] 4. Communication Tool API: Used to connect with internal communication tools, collect conversation data in real time, and send recommendation messages.
[0657] Data manipulation and calculation
[0658] 1. Data collection: Using communication tool APIs, we obtain real-time internal communication data, including chat messages between employees and meeting minutes.
[0659] 2. Natural Language Processing: The collected data is fed into an NLP engine to detect specific keywords and phrases. This step extracts content that requires expertise from the analyzed data.
[0660] 3. Sentiment Analysis: Based on the results of the NLP engine, the sentiment analysis engine evaluates the user's emotional state, for example, determining the level of urgency or stress.
[0661] 4. Expertise search: Based on the results of NLP and sentiment analysis, the internal database is searched to identify people with specific expertise.
[0662] 5. Generating recommendation messages: Based on the searched information of people with expertise, appropriate recommendation messages are generated for the user. The recommendation messages are adjusted based on the results of sentiment analysis and according to the level of urgency and stress.
[0663] 6. Sending recommendation message: The generated recommendation message is sent to the user's smart device via the company's internal communication tool.
[0664] Specific examples
[0665] For example, a robot in a factory detects an error in the control system and sends a message saying, "I would like to fix the error in the control system." Based on this message, the server extracts specific keywords and evaluates the urgency using a sentiment analysis engine. As a result, an engineer with expertise in control systems is identified, and a recommendation message is sent to the engineer's smartphone saying, "Person B is an expert in fixing control system errors. Please contact him immediately."
[0666] Prompt Sentence Examples
[0667] "We're looking for a technician with expertise to fix a specific control system error. What's this technician's name and how can we contact him in an emergency?"
[0668] This configuration allows for quick identification of people with specialized knowledge and efficient problem resolution.
[0669] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0670] Step 1:
[0671] Data collection
[0672] The server uses the communication tool API to obtain real-time internal communication data. Input includes chat messages between employees and meeting notes. The data is sent to the server in JSON format and stored in storage.
[0673] Step 2:
[0674] Natural Language Processing
[0675] The communication data acquired by the server is input into an NLP engine to detect specific keywords and phrases. For example, specific technical terms such as "control system" and "error" are extracted. Chat messages saved in storage are used as input, and analysis results are obtained as output. The analysis results are saved as text data containing information about specific technologies and problems.
[0676] Step 3:
[0677] Emotion analysis
[0678] The server inputs the results of the NLP engine into an emotion analysis engine to evaluate the user's emotional state. For example, it identifies the level of urgency or stress. The analysis results of the NLP engine are used as input, and the evaluation result of the emotional state is obtained as output. The evaluation result is saved as numerical data related to the urgency or stress level.
[0679] Step 4:
[0680] Find people with expertise
[0681] The server uses the results of NLP and sentiment analysis to search its internal database to identify people with specific expertise. Specific keywords and sentiment analysis results are used as input, and a list of relevant experts is provided as output. For example, to identify engineers who are knowledgeable in "control systems," data including the engineer's name and contact information is returned.
[0682] Step 5:
[0683] Generating recommendation messages
[0684] The server generates an appropriate recommendation message for the user based on the information of the identified person with expertise. The content of the recommendation message is adjusted according to the urgency and stress level. The data of the person with expertise and the evaluation results of the emotion analysis are used as input, and a text message to be sent to the user is generated as output. For example, a message may be generated that reads, "Person B is knowledgeable about correcting control system errors. Please contact him as soon as possible."
[0685] Step 6:
[0686] Send a recommendation message
[0687] The server sends the generated recommendation message to the user's device via the company's internal communication tool. The generated text message is used as input, and the output is received by the user's device, such as a smartphone or smart glasses. This allows the user to quickly access the recommended expert and solve the problem.
[0688] 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.
[0689] 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.
[0690] 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.
[0691] [Third embodiment]
[0692] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0693] 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.
[0694] 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).
[0695] 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.
[0696] 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.
[0697] 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).
[0698] 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.
[0699] 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.
[0700] 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.
[0701] 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.
[0702] 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.
[0703] 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."
[0704] The present invention provides a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. This system includes a series of processes in which a server collects internal communication data in real time, analyzes it using a natural language processing engine, searches for people with the expertise based on the analysis results, and generates and sends recommendation messages.
[0705] 1. Collecting conversation data
[0706] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0707] 2. Conversation Analysis
[0708] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of messages, identifying specific keywords and phrases and determining whether they require expertise.
[0709] 3. Identifying people with expertise
[0710] Based on the analysis, the server searches an internal database that includes employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0711] 4. Generating Recommendation Messages
[0712] The server generates a recommendation message based on the information about the identified people, which introduces the most appropriate people to the contributor seeking specific expertise.
[0713] 5. Sending recommended messages
[0714] Server-generated recommendation messages are automatically posted via internal communication tools, allowing users seeking expertise to quickly connect with the right people.
[0715] Specific examples
[0716] scenario:
[0717] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0718] 2. The server collects this message in real time and uses an NLP engine to analyze that the request is for "someone knowledgeable about marketing strategies."
[0719] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0720] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0721] 5. The server automatically posts this message to User A's chat.
[0722] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0723] This can improve the efficiency of internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0724] The processing flow will be explained below.
[0725] Step 1:
[0726] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0727] Step 2:
[0728] The server passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is input into the NLP engine, which identifies keywords and phrases and determines whether the message requires expertise.
[0729] Step 3:
[0730] The server uses the results of the NLP engine's analysis to search an internal database for people with expertise related to the identified keywords or topics, which details each employee's area of expertise and skill set.
[0731] Step 4:
[0732] The server generates a recommendation message based on the identified person information. Specifically, it creates a message containing the names of the found experts and their expertise. This message introduces the most appropriate expert for the requested information.
[0733] Step 5:
[0734] The server-generated recommendation message is automatically sent to a chat room using an internal communication tool, specifically, an API endpoint is used to post the message and make it visible to all interested parties.
[0735] Specific examples
[0736] scenario:
[0737] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0738] 2. The server collects this message in real time and uses an NLP engine to analyze that "someone knowledgeable about marketing strategies" is needed.
[0739] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[0740] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0741] 5. The server automatically posts this message to User A's chat.
[0742] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0743] This improves the efficiency of internal communications and enables quick identification and referral of individuals with specific expertise.
[0744] Example 1
[0745] 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."
[0746] In today's corporate environment, there is a need to improve the efficiency of internal communication and quickly identify people with specific expertise. However, conventional systems make it difficult to efficiently find people with the appropriate expertise among a large number of employees, resulting in communication delays and reduced productivity. There is an urgent need to develop a system that solves these problems.
[0747] 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.
[0748] In this invention, the server includes means for acquiring internal communication data, means for analyzing the acquired communication data with a natural language processing engine, means for searching for people with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, means for sending the generated recommendation message to an internal communication tool, means for identifying specific keywords and phrases, means for personalizing the generated message using a template engine, and means for automatically posting the generated message to the internal communication tool, thereby enabling the efficiency of internal communication and the rapid identification and introduction of people with specific specialized knowledge.
[0749] "Internal communications data" refers to information such as text messages, voice messages, files, and images generated and transmitted by electronic communications means used within a company.
[0750] "Communication tools" is a general term for software applications used within companies for communication purposes, such as chat software, email systems, and voice call systems.
[0751] A "natural language processing engine" is an algorithm and software that uses machine learning and statistical methods to understand and analyze human language.
[0752] "Specialist experts" are employees with advanced knowledge and experience in a particular field or skill set.
[0753] A "database" is a system and collection of data designed to efficiently store, search, and manage large amounts of data.
[0754] A "keyword" is a word or phrase with a particular meaning that is contained within communication data.
[0755] A "template engine" is a software component that populates data according to a predefined format to generate dynamic content.
[0756] "Recommended Messages" are automatically generated messages to improve internal communications, including introducing people with the right expertise for a particular issue.
[0757] "Real-time" means that processing occurs almost immediately, with results available without delay.
[0758] The present invention is a system that streamlines internal communication and quickly identifies people with specific expertise. This system is mainly centered around a server, and executes a series of processes in cooperation with each other.
[0759] The server uses the API of internal communication tools (such as Slack or Microsoft Teams) to obtain internal communication data in real time. The obtained data is kept up to date by polling at regular intervals.
[0760] The server then uses a natural language processing (NLP) engine (e.g., a generative AI model such as GPT-3) to analyze the captured communication data, identifying specific keywords and phrases and determining whether the message content requires expert knowledge.
[0761] The server then uses the analysis results to search an internal database (using, for example, MySQL or PostgreSQL) to identify employees with specific expertise, including their areas of expertise, skill sets, and past project experience.
[0762] Based on the identified employee information, the server generates a recommendation message, using a template engine (e.g., Handlebars or Mustache) to dynamically create personalized content.
[0763] Finally, the generated recommendation messages are automatically sent through internal company communication tools, allowing users seeking expertise to immediately connect with the right people.
[0764] Examples:
[0765] User A posts "Is there anyone who is knowledgeable about marketing strategy?" on an internal chat tool. This message is collected in real time by the server, analyzed by an NLP engine (e.g., GPT-3), and determines that "someone who is knowledgeable about marketing strategy" is desired. The server searches its internal database and identifies person Y as someone who is knowledgeable about "marketing strategy." The server then generates a personalized recommendation message such as "Someone who is knowledgeable about marketing strategy is person Y," and automatically sends this message to User A. User A then contacts the recommended person Y to quickly resolve the problem.
[0766] This will streamline internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[0767] Example prompt sentence:
[0768] "Identify employees with expertise in marketing strategies."
[0769] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0770] Program processing flow
[0771] Step 1: Collect conversation data
[0772] Specific behavior:
[0773] The server uses the API of the internal communication tool to obtain conversation data in real time, periodically sending requests to the API to poll for new messages.
[0774] input:
[0775] Raw conversation data obtained through APIs of internal communication tools (e.g., Slack and Microsoft Teams).
[0776] output:
[0777] Conversation data collected (text messages, sender information, timestamps, etc.).
[0778] Data processing:
[0779] The raw data obtained is partially filtered to extract only the necessary information (text, sender, timestamp, etc.).
[0780] Step 2: Analyzing the conversation
[0781] Specific behavior:
[0782] The server inputs the collected conversation data into an NLP engine (e.g., GPT-3) to analyze the message content and identify specific keywords and phrases.
[0783] input:
[0784] Extracted conversation data (text messages).
[0785] output:
[0786] Analysis results (data showing whether specific keywords or phrases are included).
[0787] Data Calculation:
[0788] The NLP engine analyzes the text data to identify words and phrases that require expertise, and the results are returned to the server in JSON format.
[0789] Step 3: Identify people with expertise
[0790] Specific behavior:
[0791] The server uses the analysis results to search an internal database to identify people with specific expertise and executes an SQL query to retrieve relevant employee information.
[0792] input:
[0793] Analysis results (keywords and phrases that call for specific expertise).
[0794] output:
[0795] Information about the person with the identified expertise (name, title, contact details).
[0796] Data processing:
[0797] Use SQL queries to filter and retrieve expertise-related employee information from the database.
[0798] Step 4: Generate a suggested message
[0799] Specific behavior:
[0800] The server uses a template engine (e.g., Handlebars) to generate a recommendation message based on the identified person's information.
[0801] input:
[0802] Information about people with identified expertise.
[0803] output:
[0804] Personalized recommendation messages.
[0805] Data Calculation:
[0806] A template engine is used to embed the retrieved person information into a template to generate a complete recommendation message.
[0807] Step 5: Sending recommended messages
[0808] Specific behavior:
[0809] The server automatically posts the recommended messages to the internal communication tool, and sends the messages using the communication tool's API.
[0810] input:
[0811] Personalized recommendation messages.
[0812] output:
[0813] A suggested message to post to the user's chat.
[0814] Data Calculation:
[0815] Calls the API to post the generated message to the specified channel or chat.
[0816] Examples:
[0817] scenario:
[0818] User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[0819] 1. Step 1: The server retrieves this message via the Slack API.
[0820] Input: Raw conversation data obtained via the Slack API.
[0821] Output: Text data: "Does anyone know anything about marketing strategies?"
[0822] Specific behavior: Polls and collects Slack channel messages.
[0823] 2. Step 2: The server parses this message using its NLP engine and identifies the specific keyword "marketing strategy."
[0824] Input: Text data: "Does anyone know anything about marketing strategies?"
[0825] Output: Analysis results for "Marketing Strategy" (determining that a specific skill set is required).
[0826] Specific operation: The NLP engine extracts the keyword "marketing strategy" and analyzes that specialized knowledge is required.
[0827] 3. Step 3: The server searches its internal database to identify Mr. Y, who is knowledgeable about "marketing strategies."
[0828] Input: Analysis results for "Marketing Strategy".
[0829] Output: Mr. Y's information (name, position, contact information).
[0830] What it does: Executes an SQL query to retrieve relevant employee information from the database.
[0831] 4. Step 4: The server uses a template engine to generate a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[0832] Input: Mr. Y's information.
[0833] Output: A personalized recommendation message saying, "The person who is knowledgeable about marketing strategies is Mr. / Ms. Y."
[0834] What it does: Generates recommendation messages using a template engine.
[0835] 5. Step 5: The server-generated recommendation message is automatically sent to User A via the Slack API.
[0836] Input: A personalized recommendation message.
[0837] Output: Suggested message posted to User A's chat.
[0838] Specific behavior: Sends a message using the Slack API.
[0839] This series of processes allows user A to quickly contact person Y and resolve the problem.
[0840] (Application example 1)
[0841] 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."
[0842] When an abnormality occurs in a factory, it is difficult to quickly and appropriately identify someone with the necessary expertise and request their assistance, which can lead to problems that cannot be resolved quickly, resulting in a decline in productivity and safety.
[0843] 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.
[0844] In this invention, the server includes means for detecting an abnormality, means for transmitting details of the detected abnormality to the server, means for analyzing the details of the abnormality using a natural language processing engine, and means for searching for a person with specialized knowledge based on the analysis results. This makes it possible to quickly and appropriately identify a person with specialized knowledge and request their assistance when an abnormality occurs in a factory.
[0845] "Abnormal" refers to an event that occurs within a factory that differs from normal operating conditions.
[0846] "Server" refers to a device or system that receives, analyzes, and processes data.
[0847] A "natural language processing engine" refers to a software engine that analyzes human language and understands its meaning.
[0848] "Person with specialized knowledge" refers to an employee who has advanced knowledge or skills in a particular technology or field.
[0849] "Means for detecting abnormalities" refers to a system that uses sensors, cameras, etc. to detect events that deviate from normal operating conditions.
[0850] "Means for sending details about anomalies to a server" refers to a mechanism that executes a process for sending data about detected anomalies to a server in real time.
[0851] "Means for analyzing details of anomalies using a natural language processing engine" refers to a mechanism that uses a natural language processing engine to decipher received anomaly data and execute a process to analyze its meaning.
[0852] "Means for searching for people with specialized knowledge based on the analysis results" refers to a process for identifying people with specific specialized knowledge from a database based on the analyzed data.
[0853] This invention is a system that quickly and appropriately identifies a person with specialized knowledge and requests their assistance when an abnormality occurs in a factory. To implement the invention, the following hardware and software are required.
[0854] Hardware: Factory robots (anomaly detection sensors, cameras, internal communication modules), servers
[0855] Software: Natural language processing engine (NLPEngine library), database client (DatabaseClient library), real-time communication API (requests library)
[0856] The server may use a system including the following means:
[0857] 1. Means of detecting abnormalities
[0858] Factory robots use sensors and cameras to automatically detect abnormalities, such as machine failures, improper operation, or line stoppages.
[0859] 2. A means of sending details about detected anomalies to the server
[0860] Details of the detected anomaly are sent to a server via the robot's internal communications module, including the type of anomaly, its location, and its current status.
[0861] 3. A method for analyzing the details of anomalies using a natural language processing engine
[0862] The server inputs the received anomaly data into a natural language processing engine to analyze its meaning, identifying specific keywords and phrases and determining whether they require specialized knowledge.
[0863] 4. A method for searching for people with specialized knowledge based on analysis results
[0864] Based on the analysis results, the server uses a database client to identify people with the expertise from a database that records the specialties, skill sets, and past project experience of employees in the factory.
[0865] 5. Generating and sending recommendation messages
[0866] The server generates a recommendation message for requesting assistance based on the information of the identified expert. This message is automatically sent to the expert's device. The expert receives the request for assistance in real time and can respond promptly.
[0867] Specific examples
[0868] For example, if part A breaks down on a factory production line, a robot will detect the situation and say, "Part A has broken down. Repair is required." The server will receive this message in real time and use a natural language processing engine to determine that "repair of part A" is required. The server will then search its database and identify "Mr. Y" as someone knowledgeable in repairing part A. The server will then generate a recommendation message saying, "Mr. Y is the right person to repair part A," and automatically send it to Mr. Y's device.
[0869] Prompt Sentence Examples
[0870] "Part A has failed and needs to be repaired."
[0871] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0872] Step 1:
[0873] Factory robots detect abnormalities. They use sensors and cameras to monitor operating conditions in real time, detecting, for example, machine failures, line stoppages, and improper operations. They use data obtained from sensors and cameras as input, and process and calculate the data to detect abnormalities. They generate data indicating abnormalities as output.
[0874] Step 2:
[0875] The robot sends details of the detected anomaly to the server. The anomaly data output here includes the type of anomaly, the location where it occurred, the current situation, etc. This data is sent to the server via the communication module. The input is the anomaly data from the robot, and the output is the anomaly data sent to the server.
[0876] Step 3:
[0877] The server inputs the received anomaly data into a natural language processing engine (NLPEngine) and analyzes the content. The natural language processing engine extracts specific keywords and phrases and determines what kind of specialized knowledge is required for the content. The input is the anomaly data, and the output is the analysis results.
[0878] Step 4:
[0879] The server uses a database client to search for people with specialized knowledge based on the analysis results. The database records the specialties, skill sets, and past project experience of employees in the factory. The input is the analysis results, and the output is information on the identified experts.
[0880] Step 5:
[0881] The server generates a recommended message for requesting assistance based on the identified expert information. It uses a generative AI model to create an appropriate prompt. The input is the expert information and anomaly data, and the output is the recommended message.
[0882] Step 6:
[0883] The server automatically sends the generated recommendation message to the expert's terminal. The message is sent in real time using a communication API. The input is the recommendation message, and the output is the message displayed on the expert's terminal.
[0884] 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.
[0885] The present invention is a system that automatically identifies people with specific expertise using internal communication tools and supports rapid collaboration. Furthermore, the present invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0886] 1. Collecting conversation data
[0887] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[0888] 2. Conversation Analysis
[0889] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of the messages, which involves identifying specific keywords and phrases and determining whether they require expertise.
[0890] 3. Emotion Analysis
[0891] Furthermore, the server inputs the collected conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the user's emotional state (e.g., urgency, stress level, etc.) when posting a question.
[0892] 4. Identifying people with expertise
[0893] The server uses the results of the NLP and emotion engines to search an internal database that details employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[0894] 5. Generating Recommendation Messages
[0895] The server generates recommendation messages based on the information of the identified people. These messages introduce the most appropriate people to the poster seeking specific expertise. The content of the messages can also be adjusted depending on the user's emotional state.
[0896] 6. Sending recommended messages
[0897] Server-generated recommendation messages are automatically posted via internal company communication tools, allowing users seeking expertise to quickly connect with the right people.
[0898] Specific examples
[0899] scenario:
[0900] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0901] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0902] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0903] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0904] 5. The server generates a recommendation message such as, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0905] 6. The server automatically posts this message to User A's chat.
[0906] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0907] This improves the efficiency of internal communications, allows for quick identification and referral to individuals with specific expertise, and allows for more appropriate responses by taking into account the user's emotional state.
[0908] The processing flow will be explained below.
[0909] Step 1:
[0910] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[0911] Step 2:
[0912] The server then passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is fed into the NLP engine, which identifies specific keywords and phrases and determines whether the message calls for expertise.
[0913] Step 3:
[0914] The server passes the collected conversation data to the emotion engine for analysis. Specifically, the message text is input into the emotion engine to identify the user's emotional state (e.g., urgency, stress level, etc.).
[0915] Step 4:
[0916] The server uses the results of the NLP and emotion engines to search an internal database to identify people with specific expertise. Specifically, it retrieves people with expertise related to the identified keywords or topics. This database contains detailed records of each employee's area of expertise and skill set.
[0917] Step 5:
[0918] The server generates a recommendation message based on the identified person's information. Specifically, it creates a message that includes the name and expertise of the found expert. Furthermore, it adjusts the tone and content of the message depending on the user's emotional state.
[0919] Step 6:
[0920] The server generates a recommendation message and automatically posts it to the company's internal communication tool. Specifically, the message is posted using an API endpoint, and all stakeholders can view the message.
[0921] Specific examples
[0922] scenario:
[0923] 1. User A posts on an internal chat tool, "I need help with an important client presentation."
[0924] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0925] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0926] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "client presentations."
[0927] 5. The server generates a recommendation message such as, "Y is the person who knows about client presentations. It seems urgent, so please contact him as soon as possible." The tone of this message is adjusted to reflect User A's sense of urgency.
[0928] 6. The server automatically posts this message to User A's chat.
[0929] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0930] This step significantly improves the efficiency of internal communication, quickly identifies and recommends people with specific expertise, and takes into account the user's emotional state to provide more relevant and effective support.
[0931] Example 2
[0932] 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."
[0933] Conventional internal communication tools have difficulty quickly identifying people with specific expertise and providing information at the right time. Furthermore, they are unable to respond taking into account the user's emotional state, resulting in insufficient support in emergencies or stressful situations.
[0934] 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 means for acquiring internal company communication data, means for analyzing the acquired communication data with a natural language processing engine, means for analyzing the acquired communication data with an emotion engine, means for searching for a person with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, and means for sending the generated recommendation message to an internal company communication tool. This makes it possible to analyze internal company communication data in real time, provide appropriate support according to the user's emotional state, and quickly identify and introduce a person with specialized knowledge.
[0935] "Internal communication data" refers to text-based communication information such as emails, chats, and messages that take place within a company.
[0936] A "natural language processing engine" is a software technology that analyzes text data to understand its contents and extract information.
[0937] An "emotion engine" is a software technology for recognizing and analyzing emotional states (e.g., joy, anger, sadness, surprise, etc.) from text data.
[0938] A "person with specialized knowledge" is an individual employee with particular knowledge or skill set whose details are recorded in an internal database.
[0939] "Communication tools" are software such as email, chat tools, and messaging applications that support communication between employees.
[0940] A "recommendation message" is a message that is generated based on the analysis results and includes information about appropriate people, and is intended to provide appropriate support to the user.
[0941] This invention is a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. Furthermore, this invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[0942] The server first uses the API of the internal communication tool to obtain internal communication data. This data is periodically polled to obtain the latest conversation content. The obtained communication data is then input into a natural language processing (NLP) engine to analyze the content of the message. This analysis process identifies specific keywords and phrases and determines whether they require specialized knowledge. Common NLP engines used include Google Cloud Natural Language and IBM Watson Natural Language Understanding.
[0943] The server then inputs the same conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the emotional state (e.g., urgency, stress level, etc.) of the user when they posted the question. The emotion engine can be implemented using the Emotion Recognition API from Azure Cognitive Services.
[0944] Based on the analysis results of the NLP engine and emotion engine, the server searches an internal database to identify people with specific expertise. This database contains detailed records of employees' areas of expertise, skill sets, past project experience, etc. The server then generates a recommendation message based on the information about the identified people. This message contains content that introduces the most appropriate person to the poster seeking specific expertise. It is also possible to adjust the content of the message depending on the user's emotional state.
[0945] Finally, the server automatically posts the generated recommendation message to the company's internal communication tools, allowing users seeking expertise to quickly connect with the right person. This all-automatic process significantly improves the efficiency of internal communication.
[0946] (Example)
[0947] scenario:
[0948] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[0949] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[0950] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[0951] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[0952] 5. The server generates a recommendation message saying, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[0953] 6. The server automatically posts this message to User A's chat.
[0954] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[0955] An example of a prompt for a generative AI model is:
[0956] "I urgently need help with an important client presentation. Can anyone help me with this?"
[0957] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0958] Step 1:
[0959] The server retrieves internal communication data. The input is real-time message data retrieved from the API of the internal communication tool. The server periodically polls and stores new messages in a temporary database. Specifically, it accesses the API endpoint using an HTTP request to retrieve the message data.
[0960] Step 2:
[0961] The server sends the retrieved message data to a natural language processing (NLP) engine for analysis. The input is the message data stored in a temporary database, and the output is the analysis results. This analysis process identifies specific keywords and phrases and determines whether the message requires expertise. Specifically, it sends an API request to the NLP engine to perform text analysis.
[0962] Step 3:
[0963] The server sends the same message data to the emotion engine to analyze the user's emotions. The input is the message data stored in the temporary database, and the output is the emotion analysis result. The emotion engine identifies the emotional state (e.g., urgency, stress level, etc.) from the text. Specifically, it sends an API request to the emotion engine to extract emotion data from the text.
[0964] Step 4:
[0965] The server searches an internal database based on the analysis results of the NLP engine and sentiment engine to identify people with expertise. The input is the results of the NLP and sentiment analysis and the internal database, and the output is information about the people with identified expertise. Specifically, it runs a database query to find appropriate people based on their related areas of expertise and skill sets.
[0966] Step 5:
[0967] The server generates a recommendation message based on the information of the identified person. The input is the information of the identified person and the result of emotion analysis, and the output is a recommendation message. This message introduces appropriate people and includes adjustments according to the user's emotional state. Specifically, the recommendation message is generated according to a template, and the wording is adjusted according to the user's urgency and stress level.
[0968] Step 6:
[0969] The server automatically sends the generated recommendation message to the internal communication tool. The input is the generated recommendation message, and the output is posting of the message to the user. As a specific operation, the API of the internal communication tool is used to send the generated message to the specified user.
[0970] (Application example 2)
[0971] 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."
[0972] In today's large factories and organizations, rapid troubleshooting and sharing of expertise are essential, and delays in resolving problems directly impact productivity. However, when problems arise with employees or robots, there is a lack of ways to quickly identify and efficiently contact people with the appropriate expertise. Furthermore, traditional methods can be difficult to use in urgent or stressful situations.
[0973] 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.
[0974] In this invention, the server includes means for acquiring in-house communication data, means for analyzing the acquired communication data with a natural language processing engine, means for using an emotion analysis engine that recognizes the emotional state of a user, means for searching for a person with specialized knowledge based on the analysis results, means for searching a database of people with specialized knowledge, means for generating a message recommending a person with specialized knowledge, and means for transmitting the generated recommendation message to an in-house communication tool. This enables people with specialized knowledge to be quickly identified, enabling quick troubleshooting and efficient problem resolution.
[0975] "Internal communication data" refers to data related to communication between employees within a company or organization, such as emails, chat messages, and meeting contents.
[0976] A "natural language processing engine" is a software component that analyzes text data and performs grammatical and semantic analysis, sentiment analysis, keyword extraction, and more.
[0977] "Persons with specialized knowledge" are employees or experts with advanced knowledge and experience in a particular technology or field.
[0978] An "emotion analysis engine" is a software component that identifies emotional states from text data, and can determine, for example, urgency or stress levels.
[0979] A "database" is a system for storing information in an organized manner and for searching and retrieving it quickly and efficiently.
[0980] A "recommendation message" is a message that is generated based on specific conditions or analysis results and provides useful information or recommendations for actions to the user.
[0981] "Communication tools" are software or platforms used by employees to communicate with each other in real time, such as through text messaging, voice, or video chat.
[0982] The system for implementing this invention acquires internal company communication data, analyzes it, identifies people with specialized knowledge, and recommends them to users. This system is composed of the following main components:
[0983] Hardware Configuration
[0984] 1. Server: Responsible for central data processing and storage, it collects communication data in real time, performs natural language processing and sentiment analysis, searches for people with specialized knowledge, and generates and sends recommendation messages.
[0985] 2. Smartphone, smart glasses, or head-mounted display: Used as a device to receive recommendation messages.
[0986] Software Configuration
[0987] 1. Natural language processing engine (NLP engine): Analyzes internal communication data and extracts specific keywords and phrases.
[0988] 2. Emotion analysis engine: Recognizes the user's emotional state and determines the level of urgency and stress.
[0989] 3. Database system: A database for storing and retrieving information about people with specialized knowledge.
[0990] 4. Communication Tool API: Used to connect with internal communication tools, collect conversation data in real time, and send recommendation messages.
[0991] Data manipulation and calculation
[0992] 1. Data collection: Using communication tool APIs, we obtain real-time internal communication data, including chat messages between employees and meeting minutes.
[0993] 2. Natural Language Processing: The collected data is fed into an NLP engine to detect specific keywords and phrases. This step extracts content that requires expertise from the analyzed data.
[0994] 3. Sentiment Analysis: Based on the results of the NLP engine, the sentiment analysis engine evaluates the user's emotional state, for example, determining the level of urgency or stress.
[0995] 4. Expertise search: Based on the results of NLP and sentiment analysis, the internal database is searched to identify people with specific expertise.
[0996] 5. Generating recommendation messages: Based on the searched information of people with expertise, appropriate recommendation messages are generated for the user. The recommendation messages are adjusted based on the results of sentiment analysis and according to the level of urgency and stress.
[0997] 6. Sending recommendation message: The generated recommendation message is sent to the user's smart device via the company's internal communication tool.
[0998] Specific examples
[0999] For example, a robot in a factory detects an error in the control system and sends a message saying, "I would like to fix the error in the control system." Based on this message, the server extracts specific keywords and evaluates the urgency using a sentiment analysis engine. As a result, an engineer with expertise in control systems is identified, and a recommendation message is sent to the engineer's smartphone saying, "Person B is an expert in fixing control system errors. Please contact him immediately."
[1000] Prompt Sentence Examples
[1001] "We're looking for a technician with expertise to fix a specific control system error. What's this technician's name and how can we contact him in an emergency?"
[1002] This configuration allows for quick identification of people with specialized knowledge and efficient problem resolution.
[1003] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1004] Step 1:
[1005] Data collection
[1006] The server uses the communication tool API to obtain real-time internal communication data. Input includes chat messages between employees and meeting notes. The data is sent to the server in JSON format and stored in storage.
[1007] Step 2:
[1008] Natural Language Processing
[1009] The communication data acquired by the server is input into an NLP engine to detect specific keywords and phrases. For example, specific technical terms such as "control system" and "error" are extracted. Chat messages saved in storage are used as input, and analysis results are obtained as output. The analysis results are saved as text data containing information about specific technologies and problems.
[1010] Step 3:
[1011] Emotion analysis
[1012] The server inputs the results of the NLP engine into an emotion analysis engine to evaluate the user's emotional state. For example, it identifies the level of urgency or stress. The analysis results of the NLP engine are used as input, and the evaluation result of the emotional state is obtained as output. The evaluation result is saved as numerical data related to the urgency or stress level.
[1013] Step 4:
[1014] Find people with expertise
[1015] The server uses the results of NLP and sentiment analysis to search its internal database to identify people with specific expertise. Specific keywords and sentiment analysis results are used as input, and a list of relevant experts is provided as output. For example, to identify engineers who are knowledgeable in "control systems," data including the engineer's name and contact information is returned.
[1016] Step 5:
[1017] Generating recommendation messages
[1018] The server generates an appropriate recommendation message for the user based on the information of the identified person with expertise. The content of the recommendation message is adjusted according to the urgency and stress level. The data of the person with expertise and the evaluation results of the emotion analysis are used as input, and a text message to be sent to the user is generated as output. For example, a message may be generated that reads, "Person B is knowledgeable about correcting control system errors. Please contact him as soon as possible."
[1019] Step 6:
[1020] Send a recommendation message
[1021] The server sends the generated recommendation message to the user's device via the company's internal communication tool. The generated text message is used as input, and the output is received by the user's device, such as a smartphone or smart glasses. This allows the user to quickly access the recommended expert and solve the problem.
[1022] 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.
[1023] 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.
[1024] 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.
[1025] [Fourth embodiment]
[1026] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1027] 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.
[1028] 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).
[1029] 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.
[1030] 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.
[1031] 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).
[1032] 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.
[1033] 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.
[1034] 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.
[1035] 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.
[1036] 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.
[1037] 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.
[1038] 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."
[1039] The present invention provides a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. This system includes a series of processes in which a server collects internal communication data in real time, analyzes it using a natural language processing engine, searches for people with the expertise based on the analysis results, and generates and sends recommendation messages.
[1040] 1. Collecting conversation data
[1041] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[1042] 2. Conversation Analysis
[1043] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of messages, identifying specific keywords and phrases and determining whether they require expertise.
[1044] 3. Identifying people with expertise
[1045] Based on the analysis, the server searches an internal database that includes employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[1046] 4. Generating Recommendation Messages
[1047] The server generates a recommendation message based on the information about the identified people, which introduces the most appropriate people to the contributor seeking specific expertise.
[1048] 5. Sending recommended messages
[1049] Server-generated recommendation messages are automatically posted via internal communication tools, allowing users seeking expertise to quickly connect with the right people.
[1050] Specific examples
[1051] scenario:
[1052] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[1053] 2. The server collects this message in real time and uses an NLP engine to analyze that the request is for "someone knowledgeable about marketing strategies."
[1054] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[1055] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[1056] 5. The server automatically posts this message to User A's chat.
[1057] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[1058] This can improve the efficiency of internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[1059] The processing flow will be explained below.
[1060] Step 1:
[1061] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[1062] Step 2:
[1063] The server passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is input into the NLP engine, which identifies keywords and phrases and determines whether the message requires expertise.
[1064] Step 3:
[1065] The server uses the results of the NLP engine's analysis to search an internal database for people with expertise related to the identified keywords or topics, which details each employee's area of expertise and skill set.
[1066] Step 4:
[1067] The server generates a recommendation message based on the identified person information. Specifically, it creates a message containing the names of the found experts and their expertise. This message introduces the most appropriate expert for the requested information.
[1068] Step 5:
[1069] The server-generated recommendation message is automatically sent to a chat room using an internal communication tool, specifically, an API endpoint is used to post the message and make it visible to all interested parties.
[1070] Specific examples
[1071] scenario:
[1072] 1. User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[1073] 2. The server collects this message in real time and uses an NLP engine to analyze that "someone knowledgeable about marketing strategies" is needed.
[1074] 3. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "marketing strategies."
[1075] 4. The server generates a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[1076] 5. The server automatically posts this message to User A's chat.
[1077] 6. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[1078] This improves the efficiency of internal communications and enables quick identification and referral of individuals with specific expertise.
[1079] Example 1
[1080] 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."
[1081] In today's corporate environment, there is a need to improve the efficiency of internal communication and quickly identify people with specific expertise. However, conventional systems make it difficult to efficiently find people with the appropriate expertise among a large number of employees, resulting in communication delays and reduced productivity. There is an urgent need to develop a system that solves these problems.
[1082] 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.
[1083] In this invention, the server includes means for acquiring internal communication data, means for analyzing the acquired communication data with a natural language processing engine, means for searching for people with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, means for sending the generated recommendation message to an internal communication tool, means for identifying specific keywords and phrases, means for personalizing the generated message using a template engine, and means for automatically posting the generated message to the internal communication tool, thereby enabling the efficiency of internal communication and the rapid identification and introduction of people with specific specialized knowledge.
[1084] "Internal communications data" refers to information such as text messages, voice messages, files, and images generated and transmitted by electronic communications means used within a company.
[1085] "Communication tools" is a general term for software applications used within companies for communication purposes, such as chat software, email systems, and voice call systems.
[1086] A "natural language processing engine" is an algorithm and software that uses machine learning and statistical methods to understand and analyze human language.
[1087] "Specialist experts" are employees with advanced knowledge and experience in a particular field or skill set.
[1088] A "database" is a system and collection of data designed to efficiently store, search, and manage large amounts of data.
[1089] A "keyword" is a word or phrase with a particular meaning that is contained within communication data.
[1090] A "template engine" is a software component that populates data according to a predefined format to generate dynamic content.
[1091] "Recommended Messages" are automatically generated messages to improve internal communications, including introducing people with the right expertise for a particular issue.
[1092] "Real-time" means that processing occurs almost immediately, with results available without delay.
[1093] The present invention is a system that streamlines internal communication and quickly identifies people with specific expertise. This system is mainly centered around a server, and executes a series of processes in cooperation with each other.
[1094] The server uses the API of internal communication tools (such as Slack or Microsoft Teams) to obtain internal communication data in real time. The obtained data is kept up to date by polling at regular intervals.
[1095] The server then uses a natural language processing (NLP) engine (e.g., a generative AI model such as GPT-3) to analyze the captured communication data, identifying specific keywords and phrases and determining whether the message content requires expert knowledge.
[1096] The server then uses the analysis results to search an internal database (using, for example, MySQL or PostgreSQL) to identify employees with specific expertise, including their areas of expertise, skill sets, and past project experience.
[1097] Based on the identified employee information, the server generates a recommendation message, using a template engine (e.g., Handlebars or Mustache) to dynamically create personalized content.
[1098] Finally, the generated recommendation messages are automatically sent through internal company communication tools, allowing users seeking expertise to immediately connect with the right people.
[1099] Examples:
[1100] User A posts "Is there anyone who is knowledgeable about marketing strategy?" on an internal chat tool. This message is collected in real time by the server, analyzed by an NLP engine (e.g., GPT-3), and determines that "someone who is knowledgeable about marketing strategy" is desired. The server searches its internal database and identifies person Y as someone who is knowledgeable about "marketing strategy." The server then generates a personalized recommendation message such as "Someone who is knowledgeable about marketing strategy is person Y," and automatically sends this message to User A. User A then contacts the recommended person Y to quickly resolve the problem.
[1101] This will streamline internal communication, enable quick identification and introduction of people with specific expertise, and contribute to improved productivity.
[1102] Example prompt sentence:
[1103] "Identify employees with expertise in marketing strategies."
[1104] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1105] Program processing flow
[1106] Step 1: Collect conversation data
[1107] Specific behavior:
[1108] The server uses the API of the internal communication tool to obtain conversation data in real time, periodically sending requests to the API to poll for new messages.
[1109] input:
[1110] Raw conversation data obtained through APIs of internal communication tools (e.g., Slack and Microsoft Teams).
[1111] output:
[1112] Conversation data collected (text messages, sender information, timestamps, etc.).
[1113] Data processing:
[1114] The raw data obtained is partially filtered to extract only the necessary information (text, sender, timestamp, etc.).
[1115] Step 2: Analyzing the conversation
[1116] Specific behavior:
[1117] The server inputs the collected conversation data into an NLP engine (e.g., GPT-3) to analyze the message content and identify specific keywords and phrases.
[1118] input:
[1119] Extracted conversation data (text messages).
[1120] output:
[1121] Analysis results (data showing whether specific keywords or phrases are included).
[1122] Data Calculation:
[1123] The NLP engine analyzes the text data to identify words and phrases that require expertise, and the results are returned to the server in JSON format.
[1124] Step 3: Identify people with expertise
[1125] Specific behavior:
[1126] The server uses the analysis results to search an internal database to identify people with specific expertise and executes an SQL query to retrieve relevant employee information.
[1127] input:
[1128] Analysis results (keywords and phrases that call for specific expertise).
[1129] output:
[1130] Information about the person with the identified expertise (name, title, contact details).
[1131] Data processing:
[1132] Use SQL queries to filter and retrieve expertise-related employee information from the database.
[1133] Step 4: Generate a suggested message
[1134] Specific behavior:
[1135] The server uses a template engine (e.g., Handlebars) to generate a recommendation message based on the identified person's information.
[1136] input:
[1137] Information about people with identified expertise.
[1138] output:
[1139] Personalized recommendation messages.
[1140] Data Calculation:
[1141] A template engine is used to embed the retrieved person information into a template to generate a complete recommendation message.
[1142] Step 5: Sending recommended messages
[1143] Specific behavior:
[1144] The server automatically posts the recommended messages to the internal communication tool, and sends the messages using the communication tool's API.
[1145] input:
[1146] Personalized recommendation messages.
[1147] output:
[1148] A suggested message to post to the user's chat.
[1149] Data Calculation:
[1150] Calls the API to post the generated message to the specified channel or chat.
[1151] Examples:
[1152] scenario:
[1153] User A posts on an internal chat tool, "Is there anyone who knows about marketing strategies?"
[1154] 1. Step 1: The server retrieves this message via the Slack API.
[1155] Input: Raw conversation data obtained via the Slack API.
[1156] Output: Text data: "Does anyone know anything about marketing strategies?"
[1157] Specific behavior: Polls and collects Slack channel messages.
[1158] 2. Step 2: The server parses this message using its NLP engine and identifies the specific keyword "marketing strategy."
[1159] Input: Text data: "Does anyone know anything about marketing strategies?"
[1160] Output: Analysis results for "Marketing Strategy" (determining that a specific skill set is required).
[1161] Specific operation: The NLP engine extracts the keyword "marketing strategy" and analyzes that specialized knowledge is required.
[1162] 3. Step 3: The server searches its internal database to identify Mr. Y, who is knowledgeable about "marketing strategies."
[1163] Input: Analysis results for "Marketing Strategy".
[1164] Output: Mr. Y's information (name, position, contact information).
[1165] What it does: Executes an SQL query to retrieve relevant employee information from the database.
[1166] 4. Step 4: The server uses a template engine to generate a recommendation message such as "Mr. Y is knowledgeable about marketing strategies."
[1167] Input: Mr. Y's information.
[1168] Output: A personalized recommendation message saying, "The person who is knowledgeable about marketing strategies is Mr. / Ms. Y."
[1169] What it does: Generates recommendation messages using a template engine.
[1170] 5. Step 5: The server-generated recommendation message is automatically sent to User A via the Slack API.
[1171] Input: A personalized recommendation message.
[1172] Output: Suggested message posted to User A's chat.
[1173] Specific behavior: Sends a message using the Slack API.
[1174] This series of processes allows user A to quickly contact person Y and resolve the problem.
[1175] (Application example 1)
[1176] 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."
[1177] When an abnormality occurs in a factory, it is difficult to quickly and appropriately identify someone with the necessary expertise and request their assistance, which can lead to problems that cannot be resolved quickly, resulting in a decline in productivity and safety.
[1178] 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.
[1179] In this invention, the server includes means for detecting an abnormality, means for transmitting details of the detected abnormality to the server, means for analyzing the details of the abnormality using a natural language processing engine, and means for searching for a person with specialized knowledge based on the analysis results. This makes it possible to quickly and appropriately identify a person with specialized knowledge and request their assistance when an abnormality occurs in a factory.
[1180] "Abnormal" refers to an event that occurs within a factory that differs from normal operating conditions.
[1181] "Server" refers to a device or system that receives, analyzes, and processes data.
[1182] A "natural language processing engine" refers to a software engine that analyzes human language and understands its meaning.
[1183] "Person with specialized knowledge" refers to an employee who has advanced knowledge or skills in a particular technology or field.
[1184] "Means for detecting abnormalities" refers to a system that uses sensors, cameras, etc. to detect events that deviate from normal operating conditions.
[1185] "Means for sending details about anomalies to a server" refers to a mechanism that executes a process for sending data about detected anomalies to a server in real time.
[1186] "Means for analyzing details of anomalies using a natural language processing engine" refers to a mechanism that uses a natural language processing engine to decipher received anomaly data and execute a process to analyze its meaning.
[1187] "Means for searching for people with specialized knowledge based on the analysis results" refers to a process for identifying people with specific specialized knowledge from a database based on the analyzed data.
[1188] This invention is a system that quickly and appropriately identifies a person with specialized knowledge and requests their assistance when an abnormality occurs in a factory. To implement the invention, the following hardware and software are required.
[1189] Hardware: Factory robots (anomaly detection sensors, cameras, internal communication modules), servers
[1190] Software: Natural language processing engine (NLPEngine library), database client (DatabaseClient library), real-time communication API (requests library)
[1191] The server may use a system including the following means:
[1192] 1. Means of detecting abnormalities
[1193] Factory robots use sensors and cameras to automatically detect abnormalities, such as machine failures, improper operation, or line stoppages.
[1194] 2. A means of sending details about detected anomalies to the server
[1195] Details of the detected anomaly are sent to a server via the robot's internal communications module, including the type of anomaly, its location, and its current status.
[1196] 3. A method for analyzing the details of anomalies using a natural language processing engine
[1197] The server inputs the received anomaly data into a natural language processing engine to analyze its meaning, identifying specific keywords and phrases and determining whether they require specialized knowledge.
[1198] 4. A method for searching for people with specialized knowledge based on analysis results
[1199] Based on the analysis results, the server uses a database client to identify people with the expertise from a database that records the specialties, skill sets, and past project experience of employees in the factory.
[1200] 5. Generating and sending recommendation messages
[1201] The server generates a recommendation message for requesting assistance based on the information of the identified expert. This message is automatically sent to the expert's device. The expert receives the request for assistance in real time and can respond promptly.
[1202] Specific examples
[1203] For example, if part A breaks down on a factory production line, a robot will detect the situation and say, "Part A has broken down. Repair is required." The server will receive this message in real time and use a natural language processing engine to determine that "repair of part A" is required. The server will then search its database and identify "Mr. Y" as someone knowledgeable in repairing part A. The server will then generate a recommendation message saying, "Mr. Y is the right person to repair part A," and automatically send it to Mr. Y's device.
[1204] Prompt Sentence Examples
[1205] "Part A has failed and needs to be repaired."
[1206] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1207] Step 1:
[1208] Factory robots detect abnormalities. They use sensors and cameras to monitor operating conditions in real time, detecting, for example, machine failures, line stoppages, and improper operations. They use data obtained from sensors and cameras as input, and process and calculate the data to detect abnormalities. They generate data indicating abnormalities as output.
[1209] Step 2:
[1210] The robot sends details of the detected anomaly to the server. The anomaly data output here includes the type of anomaly, the location where it occurred, the current situation, etc. This data is sent to the server via the communication module. The input is the anomaly data from the robot, and the output is the anomaly data sent to the server.
[1211] Step 3:
[1212] The server inputs the received anomaly data into a natural language processing engine (NLPEngine) and analyzes the content. The natural language processing engine extracts specific keywords and phrases and determines what kind of specialized knowledge is required for the content. The input is the anomaly data, and the output is the analysis results.
[1213] Step 4:
[1214] The server uses a database client to search for people with specialized knowledge based on the analysis results. The database records the specialties, skill sets, and past project experience of employees in the factory. The input is the analysis results, and the output is information on the identified experts.
[1215] Step 5:
[1216] The server generates a recommended message for requesting assistance based on the identified expert information. It uses a generative AI model to create an appropriate prompt. The input is the expert information and anomaly data, and the output is the recommended message.
[1217] Step 6:
[1218] The server automatically sends the generated recommendation message to the expert's terminal. The message is sent in real time using a communication API. The input is the recommendation message, and the output is the message displayed on the expert's terminal.
[1219] 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.
[1220] The present invention is a system that automatically identifies people with specific expertise using internal communication tools and supports rapid collaboration. Furthermore, the present invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[1221] 1. Collecting conversation data
[1222] The server uses the API of the internal communication tool to collect conversation data in real time, and this data is periodically polled to obtain the latest conversation content.
[1223] 2. Conversation Analysis
[1224] The server feeds the collected conversation data into a natural language processing (NLP) engine that analyzes the content of the messages, which involves identifying specific keywords and phrases and determining whether they require expertise.
[1225] 3. Emotion Analysis
[1226] Furthermore, the server inputs the collected conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the user's emotional state (e.g., urgency, stress level, etc.) when posting a question.
[1227] 4. Identifying people with expertise
[1228] The server uses the results of the NLP and emotion engines to search an internal database that details employees' areas of expertise, skill sets, and past project experience to identify people with specific expertise.
[1229] 5. Generating Recommendation Messages
[1230] The server generates recommendation messages based on the information of the identified people. These messages introduce the most appropriate people to the poster seeking specific expertise. The content of the messages can also be adjusted depending on the user's emotional state.
[1231] 6. Sending recommended messages
[1232] Server-generated recommendation messages are automatically posted via internal company communication tools, allowing users seeking expertise to quickly connect with the right people.
[1233] Specific examples
[1234] scenario:
[1235] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[1236] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[1237] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[1238] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[1239] 5. The server generates a recommendation message such as, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[1240] 6. The server automatically posts this message to User A's chat.
[1241] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[1242] This improves the efficiency of internal communications, allows for quick identification and referral to individuals with specific expertise, and allows for more appropriate responses by taking into account the user's emotional state.
[1243] The processing flow will be explained below.
[1244] Step 1:
[1245] The server collects conversation data in real time from the API of the internal communication tool. Specifically, it accesses the API endpoint and retrieves the latest chat messages. This operation is repeated at regular intervals to ensure that the latest information is always collected.
[1246] Step 2:
[1247] The server then passes the collected conversation data to a natural language processing (NLP) engine for analysis. Specifically, the message text is fed into the NLP engine, which identifies specific keywords and phrases and determines whether the message calls for expertise.
[1248] Step 3:
[1249] The server passes the collected conversation data to the emotion engine for analysis. Specifically, the message text is input into the emotion engine to identify the user's emotional state (e.g., urgency, stress level, etc.).
[1250] Step 4:
[1251] The server uses the results of the NLP and emotion engines to search an internal database to identify people with specific expertise. Specifically, it retrieves people with expertise related to the identified keywords or topics. This database contains detailed records of each employee's area of expertise and skill set.
[1252] Step 5:
[1253] The server generates a recommendation message based on the identified person's information. Specifically, it creates a message that includes the name and expertise of the found expert. Furthermore, it adjusts the tone and content of the message depending on the user's emotional state.
[1254] Step 6:
[1255] The server generates a recommendation message and automatically posts it to the company's internal communication tool. Specifically, the message is posted using an API endpoint, and all stakeholders can view the message.
[1256] Specific examples
[1257] scenario:
[1258] 1. User A posts on an internal chat tool, "I need help with an important client presentation."
[1259] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[1260] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[1261] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about "client presentations."
[1262] 5. The server generates a recommendation message such as, "Y is the person who knows about client presentations. It seems urgent, so please contact him as soon as possible." The tone of this message is adjusted to reflect User A's sense of urgency.
[1263] 6. The server automatically posts this message to User A's chat.
[1264] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[1265] This step significantly improves the efficiency of internal communication, quickly identifies and recommends people with specific expertise, and takes into account the user's emotional state to provide more relevant and effective support.
[1266] Example 2
[1267] 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."
[1268] Conventional internal communication tools have difficulty quickly identifying people with specific expertise and providing information at the right time. Furthermore, they are unable to respond taking into account the user's emotional state, resulting in insufficient support in emergencies or stressful situations.
[1269] 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 means for acquiring internal company communication data, means for analyzing the acquired communication data with a natural language processing engine, means for analyzing the acquired communication data with an emotion engine, means for searching for a person with specialized knowledge based on the analysis results, means for generating a message recommending the searched person with specialized knowledge, and means for sending the generated recommendation message to an internal company communication tool. This makes it possible to analyze internal company communication data in real time, provide appropriate support according to the user's emotional state, and quickly identify and introduce a person with specialized knowledge.
[1270] "Internal communication data" refers to text-based communication information such as emails, chats, and messages that take place within a company.
[1271] A "natural language processing engine" is a software technology that analyzes text data to understand its contents and extract information.
[1272] An "emotion engine" is a software technology for recognizing and analyzing emotional states (e.g., joy, anger, sadness, surprise, etc.) from text data.
[1273] A "person with specialized knowledge" is an individual employee with particular knowledge or skill set whose details are recorded in an internal database.
[1274] "Communication tools" are software such as email, chat tools, and messaging applications that support communication between employees.
[1275] A "recommendation message" is a message that is generated based on the analysis results and includes information about appropriate people, and is intended to provide appropriate support to the user.
[1276] This invention is a system that uses internal communication tools to automatically identify people with specific expertise and support rapid collaboration. Furthermore, this invention provides more advanced support by combining it with an emotion engine that recognizes the user's emotions.
[1277] The server first uses the API of the internal communication tool to obtain internal communication data. This data is periodically polled to obtain the latest conversation content. The obtained communication data is then input into a natural language processing (NLP) engine to analyze the content of the message. This analysis process identifies specific keywords and phrases and determines whether they require specialized knowledge. Common NLP engines used include Google Cloud Natural Language and IBM Watson Natural Language Understanding.
[1278] The server then inputs the same conversation data into an emotion engine to recognize the user's emotions. This analysis identifies the emotional state (e.g., urgency, stress level, etc.) of the user when they posted the question. The emotion engine can be implemented using the Emotion Recognition API from Azure Cognitive Services.
[1279] Based on the analysis results of the NLP engine and emotion engine, the server searches an internal database to identify people with specific expertise. This database contains detailed records of employees' areas of expertise, skill sets, past project experience, etc. The server then generates a recommendation message based on the information about the identified people. This message contains content that introduces the most appropriate person to the poster seeking specific expertise. It is also possible to adjust the content of the message depending on the user's emotional state.
[1280] Finally, the server automatically posts the generated recommendation message to the company's internal communication tools, allowing users seeking expertise to quickly connect with the right person. This all-automatic process significantly improves the efficiency of internal communication.
[1281] (Example)
[1282] scenario:
[1283] 1. User A posts a message that creates a sense of urgency, saying, "I need help with an important client presentation."
[1284] 2. The server collects this message in real time and uses an NLP engine to analyze it as a request for expertise, such as "I need help with a client presentation."
[1285] 3. The server analyzes the same message using its emotion engine and determines that User A feels an urgency.
[1286] 4. The server searches its internal database and identifies Mr. Y as someone knowledgeable about client presentations.
[1287] 5. The server generates a recommendation message saying, "Mr. Y is knowledgeable about an important client presentation. It seems urgent, so please contact him as soon as possible."
[1288] 6. The server automatically posts this message to User A's chat.
[1289] 7. User A contacts the recommended person, Mr. Y, and resolves the issue promptly.
[1290] An example of a prompt for a generative AI model is:
[1291] "I urgently need help with an important client presentation. Can anyone help me with this?"
[1292] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1293] Step 1:
[1294] The server retrieves internal communication data. The input is real-time message data retrieved from the API of the internal communication tool. The server periodically polls and stores new messages in a temporary database. Specifically, it accesses the API endpoint using an HTTP request to retrieve the message data.
[1295] Step 2:
[1296] The server sends the retrieved message data to a natural language processing (NLP) engine for analysis. The input is the message data stored in a temporary database, and the output is the analysis results. This analysis process identifies specific keywords and phrases and determines whether the message requires expertise. Specifically, it sends an API request to the NLP engine to perform text analysis.
[1297] Step 3:
[1298] The server sends the same message data to the emotion engine to analyze the user's emotions. The input is the message data stored in the temporary database, and the output is the emotion analysis result. The emotion engine identifies the emotional state (e.g., urgency, stress level, etc.) from the text. Specifically, it sends an API request to the emotion engine to extract emotion data from the text.
[1299] Step 4:
[1300] The server searches an internal database based on the analysis results of the NLP engine and sentiment engine to identify people with expertise. The input is the results of the NLP and sentiment analysis and the internal database, and the output is information about the people with identified expertise. Specifically, it runs a database query to find appropriate people based on their related areas of expertise and skill sets.
[1301] Step 5:
[1302] The server generates a recommendation message based on the information of the identified person. The input is the information of the identified person and the result of emotion analysis, and the output is a recommendation message. This message introduces appropriate people and includes adjustments according to the user's emotional state. Specifically, the recommendation message is generated according to a template, and the wording is adjusted according to the user's urgency and stress level.
[1303] Step 6:
[1304] The server automatically sends the generated recommendation message to the internal communication tool. The input is the generated recommendation message, and the output is posting of the message to the user. As a specific operation, the API of the internal communication tool is used to send the generated message to the specified user.
[1305] (Application example 2)
[1306] 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."
[1307] In today's large factories and organizations, rapid troubleshooting and sharing of expertise are essential, and delays in resolving problems directly impact productivity. However, when problems arise with employees or robots, there is a lack of ways to quickly identify and efficiently contact people with the appropriate expertise. Furthermore, traditional methods can be difficult to use in urgent or stressful situations.
[1308] 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.
[1309] In this invention, the server includes means for acquiring in-house communication data, means for analyzing the acquired communication data with a natural language processing engine, means for using an emotion analysis engine that recognizes the emotional state of a user, means for searching for a person with specialized knowledge based on the analysis results, means for searching a database of people with specialized knowledge, means for generating a message recommending a person with specialized knowledge, and means for transmitting the generated recommendation message to an in-house communication tool. This enables people with specialized knowledge to be quickly identified, enabling quick troubleshooting and efficient problem resolution.
[1310] "Internal communication data" refers to data related to communication between employees within a company or organization, such as emails, chat messages, and meeting contents.
[1311] A "natural language processing engine" is a software component that analyzes text data and performs grammatical and semantic analysis, sentiment analysis, keyword extraction, and more.
[1312] "Persons with specialized knowledge" are employees or experts with advanced knowledge and experience in a particular technology or field.
[1313] An "emotion analysis engine" is a software component that identifies emotional states from text data, and can determine, for example, urgency or stress levels.
[1314] A "database" is a system for storing information in an organized manner and for searching and retrieving it quickly and efficiently.
[1315] A "recommendation message" is a message that is generated based on specific conditions or analysis results and provides useful information or recommendations for actions to the user.
[1316] "Communication tools" are software or platforms used by employees to communicate with each other in real time, such as through text messaging, voice, or video chat.
[1317] The system for implementing this invention acquires internal company communication data, analyzes it, identifies people with specialized knowledge, and recommends them to users. This system is composed of the following main components:
[1318] Hardware Configuration
[1319] 1. Server: Responsible for central data processing and storage, it collects communication data in real time, performs natural language processing and sentiment analysis, searches for people with specialized knowledge, and generates and sends recommendation messages.
[1320] 2. Smartphone, smart glasses, or head-mounted display: Used as a device to receive recommendation messages.
[1321] Software Configuration
[1322] 1. Natural language processing engine (NLP engine): Analyzes internal communication data and extracts specific keywords and phrases.
[1323] 2. Emotion analysis engine: Recognizes the user's emotional state and determines the level of urgency and stress.
[1324] 3. Database system: A database for storing and retrieving information about people with specialized knowledge.
[1325] 4. Communication Tool API: Used to connect with internal communication tools, collect conversation data in real time, and send recommendation messages.
[1326] Data manipulation and calculation
[1327] 1. Data collection: Using communication tool APIs, we obtain real-time internal communication data, including chat messages between employees and meeting minutes.
[1328] 2. Natural Language Processing: The collected data is fed into an NLP engine to detect specific keywords and phrases. This step extracts content that requires expertise from the analyzed data.
[1329] 3. Sentiment Analysis: Based on the results of the NLP engine, the sentiment analysis engine evaluates the user's emotional state, for example, determining the level of urgency or stress.
[1330] 4. Expertise search: Based on the results of NLP and sentiment analysis, the internal database is searched to identify people with specific expertise.
[1331] 5. Generating recommendation messages: Based on the searched information of people with expertise, appropriate recommendation messages are generated for the user. The recommendation messages are adjusted based on the results of sentiment analysis and according to the level of urgency and stress.
[1332] 6. Sending recommendation message: The generated recommendation message is sent to the user's smart device via the company's internal communication tool.
[1333] Specific examples
[1334] For example, a robot in a factory detects an error in the control system and sends a message saying, "I would like to fix the error in the control system." Based on this message, the server extracts specific keywords and evaluates the urgency using a sentiment analysis engine. As a result, an engineer with expertise in control systems is identified, and a recommendation message is sent to the engineer's smartphone saying, "Person B is an expert in fixing control system errors. Please contact him immediately."
[1335] Prompt Sentence Examples
[1336] "We're looking for a technician with expertise to fix a specific control system error. What's this technician's name and how can we contact him in an emergency?"
[1337] This configuration allows for quick identification of people with specialized knowledge and efficient problem resolution.
[1338] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1339] Step 1:
[1340] Data collection
[1341] The server uses the communication tool API to obtain real-time internal communication data. Input includes chat messages between employees and meeting notes. The data is sent to the server in JSON format and stored in storage.
[1342] Step 2:
[1343] Natural Language Processing
[1344] The communication data acquired by the server is input into an NLP engine to detect specific keywords and phrases. For example, specific technical terms such as "control system" and "error" are extracted. Chat messages saved in storage are used as input, and analysis results are obtained as output. The analysis results are saved as text data containing information about specific technologies and problems.
[1345] Step 3:
[1346] Emotion analysis
[1347] The server inputs the results of the NLP engine into an emotion analysis engine to evaluate the user's emotional state. For example, it identifies the level of urgency or stress. The analysis results of the NLP engine are used as input, and the evaluation result of the emotional state is obtained as output. The evaluation result is saved as numerical data related to the urgency or stress level.
[1348] Step 4:
[1349] Find people with expertise
[1350] The server uses the results of NLP and sentiment analysis to search its internal database to identify people with specific expertise. Specific keywords and sentiment analysis results are used as input, and a list of relevant experts is provided as output. For example, to identify engineers who are knowledgeable in "control systems," data including the engineer's name and contact information is returned.
[1351] Step 5:
[1352] Generating recommendation messages
[1353] The server generates an appropriate recommendation message for the user based on the information of the identified person with expertise. The content of the recommendation message is adjusted according to the urgency and stress level. The data of the person with expertise and the evaluation results of the emotion analysis are used as input, and a text message to be sent to the user is generated as output. For example, a message may be generated that reads, "Person B is knowledgeable about correcting control system errors. Please contact him as soon as possible."
[1354] Step 6:
[1355] Send a recommendation message
[1356] The server sends the generated recommendation message to the user's device via the company's internal communication tool. The generated text message is used as input, and the output is received by the user's device, such as a smartphone or smart glasses. This allows the user to quickly access the recommended expert and solve the problem.
[1357] 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.
[1358] 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.
[1359] 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.
[1360] 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.
[1361] 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.
[1362] 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.
[1363] 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).
[1364] 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.
[1365] 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."
[1366] 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.
[1367] 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).
[1368] 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.
[1369] 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.
[1370] 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.
[1371] 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.
[1372] 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.
[1373] 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.
[1374] 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.
[1375] 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.
[1376] 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.
[1377] 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.
[1378] The following is further disclosed regarding the above embodiment.
[1379] (Claim 1)
[1380] A means of obtaining internal company communication data;
[1381] means for analyzing the acquired communication data using a natural language processing engine;
[1382] A means for searching for people with specialized knowledge based on the analysis results;
[1383] means for generating a message recommending a person having the retrieved expertise;
[1384] The system includes a means for transmitting the generated recommendation message to an internal company communication tool.
[1385] (Claim 2)
[1386] 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
[1387] (Claim 3)
[1388] 10. The system of claim 1, further comprising means for performing a search using a database of persons with specialized knowledge.
[1389] "Example 1"
[1390] (Claim 1)
[1391] A means of obtaining internal company communication data;
[1392] means for analyzing the acquired communication data using a natural language processing engine;
[1393] A means for searching for people with specialized knowledge based on the analysis results;
[1394] means for generating a message recommending a person having the retrieved expertise;
[1395] a means for sending the generated recommendation message to an internal company communication tool;
[1396] A means of identifying specific keywords and phrases;
[1397] A means to personalize generated messages using a template engine;
[1398] A system that includes a means for automatically posting generated messages to internal company communication tools.
[1399] (Claim 2)
[1400] 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
[1401] (Claim 3)
[1402] 10. The system of claim 1, further comprising means for performing a search using a database of persons with specialized knowledge.
[1403] "Application Example 1"
[1404] (Claim 1)
[1405] a means for detecting an anomaly;
[1406] means for transmitting details regarding the detected anomaly to a server;
[1407] A means of analyzing the details of the anomaly using a natural language processing engine;
[1408] A means for searching for people with specialized knowledge based on the analysis results;
[1409] means for generating a message recommending a person having the retrieved expertise;
[1410] The system includes means for automatically sending the generated recommendation message.
[1411] (Claim 2)
[1412] 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
[1413] (Claim 3)
[1414] 10. The system of claim 1, further comprising means for performing a search using a database of persons with specialized knowledge.
[1415] "Example 2: Combining Emotion Engines"
[1416] (Claim 1)
[1417] A means of obtaining internal company communication data;
[1418] means for analyzing the acquired communication data using a natural language processing engine;
[1419] A means for analyzing the acquired communication data using an emotion engine;
[1420] A means for searching for people with specialized knowledge based on the analysis results;
[1421] means for generating a message recommending a person having the retrieved expertise;
[1422] The system includes a means for transmitting the generated recommendation message to an internal company communication tool.
[1423] (Claim 2)
[1424] 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
[1425] (Claim 3)
[1426] 10. The system of claim 1, further comprising means for performing a search using a database of persons with specialized knowledge.
[1427] "Application example 2 when combining emotion engines"
[1428] (Claim 1)
[1429] A means of obtaining internal company communication data;
[1430] means for analyzing the acquired communication data using a natural language processing engine;
[1431] A means for searching for people with specialized knowledge based on the analysis results;
[1432] means for using an emotion analysis engine to recognize the emotional state of a user;
[1433] means for searching a database of persons having the searched expertise;
[1434] means for generating a message recommending a person with expertise;
[1435] The system includes a means for transmitting the generated recommendation message to an internal company communication tool.
[1436] (Claim 2)
[1437] 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
[1438] (Claim 3)
[1439] 10. The system of claim 1, further comprising means for performing a search using a database of persons with specialized knowledge. [Explanation of symbols]
[1440] 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 of obtaining internal company communication data; means for analyzing the acquired communication data using a natural language processing engine; A means for searching for people with specialized knowledge based on the analysis results; means for generating a message recommending a person having the retrieved expertise; The system includes a means for transmitting the generated recommendation message to an internal company communication tool.
2. 2. The system according to claim 1, further comprising means for identifying messages containing specific keywords from among the communication data.
3. 10. The system of claim 1, further comprising means for searching a database of persons with specialized knowledge.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A