system
The system efficiently collects, analyzes, and explains log data defects using generative AI, facilitating quick user notification and response to system issues.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Modern systems generate large amounts of log data, making it difficult and time-consuming to manually analyze defects, especially in environments requiring real-time detection and countermeasures, and there is a lack of efficient methods to explain identified defects in an easy-to-understand manner.
A system that automatically collects log data, analyzes it to identify defects, generates natural language explanations using generative AI, and notifies users of the defects and countermeasures.
Enables rapid identification and understanding of defects from massive log data, allowing for quick response and implementation of countermeasures.
Smart Images

Figure 2026037448000001_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] Modern systems generate large amounts of log data, and manually analyzing this data to identify defects is extremely time-consuming and labor-intensive. This makes it difficult to respond quickly, especially in environments where real-time defect detection and countermeasures are required. Furthermore, while it is important to explain identified defects in an easy-to-understand manner, automating this process is not easy. There is a need for a system that can solve these issues, efficiently and quickly detect defects, and take appropriate countermeasures. [Means for solving the problem]
[0005] The present invention first provides a means for automatically collecting log data. This means collects and stores massive amounts of log data in real time. Then, it provides a means for analyzing the collected log data and identifying defects. This analysis means detects patterns of errors and defects and tally their frequency and type. It also provides a means for generating natural language explanations for identified defects using generative AI. This means presents the cause of the defect and countermeasures in an easy-to-understand format. Finally, it provides a means for notifying the user of the generated explanation on their device, enabling a rapid response. This makes it possible to efficiently identify defects from massive amounts of log data and take countermeasures.
[0006] "Log data" refers to records of system and application operating status, error information, events, etc.
[0007] "Means for collection" refers to a function for automatically capturing and saving log data.
[0008] "Means for analyzing and identifying defects" refers to methods and functions for analyzing collected log data and detecting system abnormalities and errors.
[0009] "Generative AI" is a system that uses artificial intelligence to generate sentences in natural language that are easy for humans to understand based on input data.
[0010] "Means for generating explanations in natural language" is a function that uses generative AI to write down the causes of defects and solutions in a form that humans can understand.
[0011] The "notification means" is a function for transmitting the generated natural language explanation to the user's terminal and notifying the user.
[0012] A "user terminal" is a device, such as a computer or mobile device, that receives notifications. [Brief explanation of the drawings]
[0013] [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
[0014] 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.
[0015] First, the terms used in the following description will be explained.
[0016] 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).
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 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.
[0024] 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).
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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."
[0034] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0035] Log collection server
[0036] Server Operation
[0037] To collect log data, the server automatically opens the log file and reads its contents. This allows the overall system operating status and error information to be aggregated in real time. The server saves the collected log data in list format for subsequent analysis.
[0038] Data analysis server
[0039] Server Operation
[0040] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it detects error patterns (e.g., "ERROR," "FAIL," "CRITICAL," etc.) and counts the number of occurrences. As a result, summary information is generated that can be used to understand the malfunction trends of the entire system.
[0041] Generative AI Server
[0042] Server Operation
[0043] The generative AI server receives summary information about the defect and generates a natural language explanation based on the information. To do this, it first generates a prompt (a list of summary information) and sends it to the generative AI. Based on this prompt, the generative AI generates a sentence that explains in detail the cause of the defect and how to deal with it. The generated sentence is saved in a form that is both easy to understand and specific.
[0044] Notification terminal
[0045] Device behavior
[0046] To quickly inform users of the malfunction, the device receives the generated natural language description and sends it to the user's designated email address or mobile device. This allows users to quickly understand the current status of the system and take appropriate measures.
[0047] Specific examples
[0048] For example, if your system log file contains the following entry:
[0049] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0050] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0051] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0052] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0053] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0054] ERROR: Failed to connect to database occurs twice
[0055] FAIL: Memory allocation failed 1 time
[0056] CRITICAL: Disk space exhausted occurred once
[0057] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0058] According to the log data, the following issues are occurring:
[0059] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0060] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0061] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0062] This explanatory message is sent to the user's device, allowing the user to quickly identify the system malfunction and take appropriate measures.
[0063] The above is a specific embodiment of the present invention. This system supports efficient and rapid detection and countermeasures for defects by linking the functions of log collection, data analysis, explanation generation using generative AI, and user notification.
[0064] The processing flow will be explained below.
[0065] Step 1:
[0066] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[0067] Step 2:
[0068] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[0069] Step 3:
[0070] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[0071] Step 4:
[0072] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[0073] Step 5:
[0074] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy for users to understand.
[0075] Step 6:
[0076] The device retrieves the generated natural language description and sends a notification to the user's email address or mobile device, including details of the problem and a solution.
[0077] Step 7:
[0078] The user receives a notification from the device, checks the details of the problem, and takes action to resolve the system problem based on the proposed solution.
[0079] Example 1
[0080] 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."
[0081] Currently, many systems collect and analyze log data, but these tasks are often done manually, resulting in the time it takes to quickly identify errors and malfunctions and implement countermeasures. It is also difficult to extract specific error patterns from the vast amount of log data and obtain the information needed to take specific countermeasures. Furthermore, there are insufficient means of notifying users of this information in an easy-to-understand format. Therefore, there is a need for a system that can perform all processes from collecting and analyzing log data to generating and notifying natural language using generative AI.
[0082] 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.
[0083] In this invention, the server includes a means for collecting log data, a means for analyzing the collected log data and identifying defects, and a means for counting the number of occurrences of error patterns and generating summary information of the defects. This makes it possible to quickly identify defects from a huge amount of log data, and to generate specific and easy-to-understand natural language explanations using generative AI based on the summary information, and notify the user.
[0084] "Log data" is information that records the operating status of systems and applications, errors, events, etc.
[0085] "Means of collection" refers to equipment or software that automatically collects and stores log data from specific locations.
[0086] "Means of analysis" refers to programs and algorithms that investigate and analyze collected log data and identify defects or abnormalities.
[0087] A "glitch" is an error or problem that causes a system or application to not function properly.
[0088] "Error patterns" refer to the types and formats of errors that frequently appear in log data.
[0089] "Summary information" is information that succinctly describes the occurrence of malfunctions and error patterns obtained from collected and analyzed log data.
[0090] "Generative AI" is a system that automatically generates text and content using artificial intelligence technology.
[0091] A "prompt" or "prompt" is a text or instruction input to a generative AI, and is the information that forms the basis of the content that the AI generates.
[0092] "Means for generating explanations in natural language" refers to methods or systems that use generative AI to generate easy-to-understand natural language sentences based on summary information.
[0093] The "user terminal" is a device for receiving the generated natural language explanation, and includes a computer, a smartphone, etc.
[0094] The "notification means" is a method or system for transmitting the generated natural language explanation to the user's terminal.
[0095] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0096] Log collection server
[0097] Server Operation
[0098] To collect log data, the server automatically opens the log files and reads their contents. Specifically, a log collection program running on the server monitors the log files in a specified directory in real time and reads them whenever a new entry is added. For example, the Python watchdog library can be used to monitor the directory and automatically collect the contents of any changes made to the log files. The collected log data is temporarily saved in list format or in a database.
[0099] Data analysis server
[0100] Server Operation
[0101] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it uses the Python Pandas library to convert the log data into a data frame, searches for entries containing error patterns such as "ERROR," "FAIL," or "CRITICAL," and counts their occurrence frequency. As a result, summary information is generated that allows for an understanding of malfunction trends across the system. This summary information is saved in JSON format.
[0102] Generative AI Server
[0103] Server Operation
[0104] The generative AI server receives the summary information and uses the generative AI to generate a natural language explanation based on that information. First, it creates a prompt to be input to the generative AI. This prompt takes the summary information as input and provides a detailed explanation of the cause of the problem and countermeasures. The generative AI used may be, for example, OpenAI's (registered trademark) GPT-4 (registered trademark). The generated explanation is stored in a database and is ready to be sent to the notification device.
[0105] Notification terminal
[0106] Device behavior
[0107] To quickly inform users of the malfunction, the device receives the generated natural language description. Specifically, the description is sent to the user's email address or mobile device using an email sending service such as SendGrid or a mobile notification service such as Firebase Cloud Messaging. This allows the user to quickly understand the system malfunction and take appropriate measures.
[0108] Specific examples
[0109] For example, if your system log file contains the following entry:
[0110] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0111] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0112] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0113] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0114] The server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error patterns as follows:
[0115] ERROR: Failed to connect to database occurs twice
[0116] FAIL: Memory allocation failed 1 time
[0117] CRITICAL: Disk space exhausted occurred once
[0118] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0119] According to the log data, the following issues are occurring:
[0120] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0121] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0122] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0123] Examples of prompts that can be used include:
[0124] The following issues are occurring:
[0125] Database connection failed twice
[0126] 1 memory allocation failure
[0127] 1 out of disk space
[0128] Please provide details and solutions.
[0129] By notifying the user of this explanatory text on their terminal, the user can quickly identify the system malfunction and take appropriate measures. The above is a specific embodiment for carrying out the present invention.
[0130] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0131] Step 1:
[0132] Collecting log data
[0133] The server periodically monitors log files from a specified directory or database and reads new log data whenever it appears. Specifically, it uses the Python watchdog library to monitor the directory. As input, the path of the log file is given, and as new log entries are detected, they are added sequentially to a list. The output is a list of collected log entries.
[0134] Specific behavior:
[0135] Example: A server monitors / var / log / app.log for new entries in real time. Every time a new entry is added, it is added to a list.
[0136] Step 2:
[0137] Analyzing log data
[0138] The server converts the collected log data into a data frame and extracts entries containing error patterns such as "ERROR," "FAIL," and "CRITICAL." The input is the list of log entries obtained in step 1, and the output is summary information that counts the frequency of occurrence of the error pattern. Specifically, the log data is converted into a data frame using Python's Pandas library, and filtering and counting are performed for each error pattern.
[0139] Specific behavior:
[0140] Example: Convert log data into a data frame and count error patterns.
[0141] Convert the log entry into a data frame (e.g. "2023-10-01 12:00:00 ERROR: Failed to connect to database" ).
[0142] Step 3:
[0143] Generate summary information
[0144] The server generates summary information based on the frequency of occurrence of error patterns. The input is the count result of the frequency of occurrence of error patterns obtained in step 2, and the output is summary information saved in JSON format. Specifically, the analysis results are converted into dictionary format and saved in a file in JSON format.
[0145] Specific behavior:
[0146] Example: Use Python's json module to convert the error pattern count results into a dictionary and save it as a JSON file.
[0147] Summary information is saved to a file called "error_summary.json".
[0148] Step 4:
[0149] Natural language description generation
[0150] The server uses generative AI to generate a natural language explanation based on the summary information. The input is the summary information obtained in step 3, and the output is the generated natural language explanation. Specifically, a prompt sentence is created for the generative AI model, which then inputs it to generate the explanation. For this purpose, a generative AI such as OpenAI's GPT-4 is used.
[0151] Specific behavior:
[0152] Example: Generate a prompt sentence and send it to a generative AI model to generate an explanation.
[0153] Example prompt:
[0154] The following issues are occurring:
[0155] Database connection failed twice
[0156] 1 memory allocation failure
[0157] 1 out of disk space
[0158] Please provide details and solutions.
[0159] Step 5:
[0160] User Notification
[0161] The device notifies the user of the generated natural language description. The input is the natural language description obtained in step 4, and the output is a notification sent to the user's email address or mobile device. Specifically, notifications are sent using email sending services such as SendGrid or mobile notification services such as Firebase Cloud Messaging.
[0162] Specific behavior:
[0163] Example: Send an explanation via email.
[0164] Use SendGrid's API to send an email to "user@example.com".
[0165] Email subject: "System malfunction notification"
[0166] Email content:
[0167] According to the log data, the following issues are occurring:
[0168] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0169] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0170] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0171] (Application example 1)
[0172] 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."
[0173] With conventional factory robot management systems, it was difficult to identify malfunctions from the vast amount of log data, analyze their causes, and implement appropriate countermeasures. Furthermore, there was a lack of a means to quickly and accurately communicate the details of the malfunction and countermeasures to users. This resulted in prolonged robot downtime and reduced production efficiency.
[0174] 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.
[0175] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for notifying a user of the generated natural language explanations, means for collecting operation logs of each robot in real time if the target system is a factory robot, and means for the generative AI to generate specific countermeasures for the defects in natural language based on the log analysis results if the target system is a factory robot. This makes it possible to quickly identify defects in factory robots and provide appropriate countermeasures.
[0176] "Log data" refers to data that records information such as the operating status of a system or device, and error messages.
[0177] "Collection means" refers to a device or method for acquiring and storing log data from the target system.
[0178] "Means of analysis" refers to algorithms or software used to analyze collected log data and identify defects.
[0179] A "glitch" is an error or problem that prevents a system or device from working properly.
[0180] "Generative AI" is a technology that uses artificial intelligence to generate text and summaries.
[0181] "Means for generating explanations in natural language" refers to a method that uses generative AI to generate the details of defects and countermeasures in a format that is easy for humans to understand.
[0182] The "means for notifying the user's terminal" is a communication means for conveying the generated explanation in natural language to the user.
[0183] A "factory robot" is a machine used to automate work in a factory.
[0184] An "operation log" is a record of the operation of a factory robot, and is data that includes the work progress status and error messages.
[0185] "Means of collecting data in real time" refers to a method of instantly acquiring and recording the operation logs of factory robots.
[0186] "Specific measures" are specific methods or procedures taken to resolve the problem.
[0187] "Log analysis results" are the results of analyzing collected log data, and are information that identifies defects and indicates their trends.
[0188] This invention is a system for realizing effective management of factory robots. The system includes a server that collects and analyzes log data, a server that generates information using generative AI, and a user terminal.
[0189] Log collection and analysis
[0190] The server collects real-time operation logs from each factory robot, including the robot's operating status and error messages. Dedicated log collection software (e.g., LogCollector) is used to collect the log data.
[0191] The collected log data is analyzed by dedicated data analysis software (e.g., LogAnalyzer), which analyzes the log data to extract error patterns and identify system malfunctions.
[0192] Explanation generation using generative AI
[0193] The analysis results are sent to a generative AI (e.g., GPT-4). The generative AI generates specific cause analyses and countermeasures in natural language based on the results of the log analysis. A prompt statement is used in the generation process to call the generative AI. For example, the following prompt statement is used:
[0194] According to the log data, the following issues are occurring:
[0195] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[0196] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[0197] User Notification
[0198] The generated natural language explanation is sent to the user's device. An email transmission system (e.g., smtplib) is used to send the notification to the user's device. The user can quickly understand the specific problem information and the steps to take to resolve it.
[0199] Hardware and software used
[0200] The following hardware and software are used to implement the system:
[0201] Hardware: Industrial PC (for robot operation), log data management server, SMTP server (for email notifications)
[0202] Software: Python program, log_collector library (log collection), log_analyzer library (log analysis), ai_generator library (generative AI), smtplib library (email sending)
[0203] With the above configuration, the present invention can effectively manage the log data of factory robots, identify malfunctions, and quickly notify users of countermeasures.
[0204] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0205] Step 1:
[0206] The server collects operation logs from factory robots in real time. The target systems are factory robots, and the operation status and error messages of each robot are recorded in the log data. Dedicated log collection software (e.g., LogCollector) is used to collect the logs. The input is the robot operation log, and the output is the collected log data.
[0207] Step 2:
[0208] The server analyzes the collected log data. Dedicated data analysis software (e.g., LogAnalyzer) is used for log analysis. The software extracts error patterns from the log data and identifies system malfunctions. The input is the collected log data, and the output is the malfunction identification results (a list of error patterns).
[0209] Step 3:
[0210] The server sends the analysis results to a generative AI. The generative AI (e.g., GPT-4) generates specific cause analyses and countermeasures in natural language based on the log analysis results. The input is a list of error patterns, and the output is a description of the problem generated in natural language.
[0211] Step 4:
[0212] The generated explanation is then converted into a prompt and sent to the generative AI. The prompt is a statement describing specific countermeasures based on information extracted from the log data. An example of a prompt is the following:
[0213] According to the log data, the following issues are occurring:
[0214] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[0215] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[0216] Step 5:
[0217] The server notifies the user's device of the generated description. The notification is sent to the user's device using an email transmission system (e.g., smtplib). The input is the generated natural language description, and the output is an email notification to the user. By receiving this notification, the user can quickly understand specific information about the problem and the steps to take to resolve it.
[0218] Through these steps, the server can effectively manage the log data of factory robots, quickly identify defects using generative AI, and notify users of countermeasures.
[0219] 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.
[0220] The present invention relates to a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described in detail below.
[0221] Log collection server
[0222] Server Operation
[0223] The server automatically opens the log file, reads all lines, and stores them in a list, allowing for real-time collection of system activity and error information.
[0224] Data analysis server
[0225] Server Operation
[0226] The server analyzes the collected log data and extracts error-related log entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). Based on the extracted error logs, it aggregates the type of error and the number of occurrences, and generates summary information about the problem.
[0227] Generative AI Server
[0228] Server Operation
[0229] The server uses the summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[0230] Emotion Engine
[0231] Server Operation
[0232] The emotion engine analyzes the emotional data sent from the user's device and recognizes the user's current emotional state. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[0233] Notification terminal
[0234] Device behavior
[0235] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0236] Specific examples
[0237] For example, if your system log file contains the following entry:
[0238] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0239] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0240] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0241] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0242] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0243] ERROR: Failed to connect to database occurs twice
[0244] FAIL: Memory allocation failed 1 time
[0245] CRITICAL: Disk space exhausted occurred once
[0246] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0247] According to the log data, the following issues are occurring:
[0248] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0249] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0250] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0251] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[0252] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[0253] ...
[0254] The above notification is sent to the user's terminal, allowing the user to take appropriate measures promptly.
[0255] This concludes the description of the embodiment of the present invention, which provides users with appropriate information and countermeasures by combining log data collection, data analysis, explanation generation using generative AI, and an emotion engine.
[0256] The processing flow will be explained below.
[0257] Step 1:
[0258] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[0259] Step 2:
[0260] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[0261] Step 3:
[0262] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[0263] Step 4:
[0264] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[0265] Step 5:
[0266] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy to understand and useful to the user.
[0267] Step 6:
[0268] The emotion engine receives emotion data from the user's device and analyzes the user's emotional state, recognizing emotions such as frustration and relief.
[0269] Step 7:
[0270] The server receives the analysis results of the emotion engine and adjusts the tone of the natural language explanations created by the generative AI. For example, if the user is feeling frustrated, the explanation will be changed to a more polite and friendly tone.
[0271] Step 8:
[0272] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0273] Step 9:
[0274] The user receives a notification from the device, checks the details of the problem and the proposed solution, and takes action to resolve the system problem according to the proposed solution.
[0275] Example 2
[0276] 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."
[0277] While conventional systems can identify problems by collecting and analyzing log data, it is difficult to provide an explanation of the problem in a way that is easy for users to understand and in an appropriate tone. Furthermore, notifications do not take into account the user's emotional state, resulting in a poor user experience.
[0278] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0279] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for analyzing user emotion data and adjusting the tone and expression of the generated natural language explanations, and means for notifying the user of the generated natural language explanations. This makes it possible to provide the user with appropriate and easy-to-understand explanations of defects and to notify them according to the user's emotional state.
[0280] "Log data" refers to data that records the operating status and error information of systems and applications.
[0281] "Analysis" is the process of extracting specific patterns or information from collected data.
[0282] A "glitch" is an error or problem that prevents a system or application from working properly.
[0283] "Generative AI" is a system that uses artificial intelligence technology to generate natural language sentences from given data.
[0284] A "natural language explanation" is a document that describes specialized technical information in a way that is easy for users to understand.
[0285] "Emotion data" is information that indicates the user's current emotional state.
[0286] "Adjusting tone and expression" means changing the wording of the generated text depending on the user's emotional state.
[0287] A "terminal" is an electronic device used by a user, such as a computer, smartphone, or tablet.
[0288] The present invention relates to a system that identifies defects from log data, generates explanations in natural language using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. A specific embodiment of this system will be described in detail.
[0289] Log collection server operation
[0290] The server automatically opens the system log file, reads all lines, and stores them in a list. This operation collects system operation status and error information in real time. A general server computer is used as the hardware, and Python is used as the software.
[0291] Data analysis server operation
[0292] The server analyzes the collected log data and extracts error-related log entries. To do this, it uses a Python regular expression library to detect patterns such as "ERROR," "FAIL," and "CRITICAL." Based on the extracted error logs, it tallys up the type of error and the number of occurrences, and generates summary information about the problem.
[0293] Operation of generative AI server
[0294] The server uses summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI used is, for example, GPT-4. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to resolve it. This explanation is saved in a format that is easy for the user to understand.
[0295] Emotion Engine Operation
[0296] The server analyzes the emotion data sent from the user's device and recognizes the user's current emotional state. The emotion engine uses, for example, IBM Watson (registered trademark) or Google (registered trademark) Cloud Natural Language API. The emotion engine recognizes the user's emotion and adjusts the tone and expression of the explanation created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanation will be made more friendly.
[0297] Notification terminal operation
[0298] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0299] Specific examples
[0300] For example, if your system log file contains the following entry:
[0301] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0302] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0303] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0304] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0305] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0306] ERROR: Failed to connect to database occurs twice
[0307] FAIL: Memory allocation failed 1 time
[0308] CRITICAL: Disk space exhausted occurred once
[0309] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0310] According to the log data, the following issues are occurring:
[0311] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0312] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0313] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0314] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[0315] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[0316] ...
[0317] The generated explanation is sent to the user's device, allowing the user to quickly take appropriate measures, improving the user experience and enabling system troubles to be resolved more quickly.
[0318] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0319] Program processing flow
[0320] Step 1: Collect log data
[0321] Specific explanation
[0322] The server periodically scans the system's log files and collects the most recent log entries.
[0323] input
[0324] The path and contents of the log file.
[0325] Data processing / data calculation
[0326] The server opens the log file and reads each line into a list.
[0327] output
[0328] A list of log entries.
[0329] Step 2: Analyze the error log
[0330] Specific explanation
[0331] The server uses regular expressions to parse the collected log data to extract error log entries.
[0332] input
[0333] A list of log entries.
[0334] Data processing / data calculation
[0335] The server filters out lines containing keywords such as "ERROR", "FAIL" and "CRITICAL".
[0336] output
[0337] A list of error log entries.
[0338] Step 3: Generate defect summary information
[0339] Specific explanation
[0340] The server aggregates the error log entries and generates a failure summary.
[0341] input
[0342] A list of error log entries.
[0343] Data processing / data calculation
[0344] The number of occurrences of each error pattern is tallied.
[0345] output
[0346] Defect summary information.
[0347] Step 4: Prompt creation and explanation generation
[0348] Specific explanation
[0349] The server creates a prompt to send to the generative AI based on the defect summary information, and generates a defect description in natural language.
[0350] input
[0351] Defect summary information.
[0352] Data processing / data calculation
[0353] The server creates a prompt and sends it to the generative AI, which then generates a natural-language explanation that includes the cause of the problem and a solution.
[0354] output
[0355] The generated defect description.
[0356] Step 5: Analyze the sentiment data
[0357] Specific explanation
[0358] The server analyzes the user's emotional data and recognizes the user's current emotional state.
[0359] input
[0360] Emotion data sent by the user.
[0361] Data processing / data calculation
[0362] The server analyzes the emotional data to determine the user's emotional state.
[0363] output
[0364] The user's emotional state.
[0365] Step 6: Adjust the tone of your description
[0366] Specific explanation
[0367] The server adjusts the tone of the generated description based on the analyzed emotional state.
[0368] input
[0369] Generated defect descriptions and the user's emotional state.
[0370] Data processing / data calculation
[0371] The wording and expression of the generated description are adapted to the user's emotional state.
[0372] output
[0373] Adjusted bug description.
[0374] Step 7: Notify users
[0375] Specific explanation
[0376] The terminal obtains the adjusted defect description and defect summary information and notifies the user.
[0377] input
[0378] Adjusted defect description and defect summary information.
[0379] Data processing / data calculation
[0380] The device creates a notification message and sends it to the user's email address or mobile device.
[0381] output
[0382] Notifications sent to users.
[0383] Specific examples
[0384] Prompt Sentence Examples
[0385] Please generate a description of the cause and solution of the problem based on the following problem information.
[0386] Bug Information:
[0387] I've had two database connection failures.
[0388] One memory allocation failure occurred.
[0389] One critical error occurred: insufficient disk space.
[0390] Specific processing of the program
[0391] Collecting log data
[0392] The server automatically scans the system log files and reads every line. It uses a Python script to read the log files in a specified directory and save them in a list format.
[0393] Analyzing the error log
[0394] The server uses a regular expression library to extract lines containing keywords such as "ERROR", "FAIL", and "CRITICAL" from the log data, and stores the extracted error logs in a new list.
[0395] Generate defect summary information
[0396] The server counts the number of occurrences of each error pattern based on the extracted error log entries, and saves the count results as summary information.
[0397] Prompt creation and explanation generation
[0398] The server creates a prompt based on the summary information and sends it to a generative AI, such as GPT-4, which receives the prompt and generates a natural language explanation that includes the cause of the problem and a solution.
[0399] Emotional Data Analysis
[0400] The server receives the emotional data sent from the user's device and analyzes the emotional state using IBM Watson or Google Cloud Natural Language API. The analysis results are saved as the user's emotional state.
[0401] Adjusting the tone of the description
[0402] The server adjusts the tone and expression of the generated explanation based on the user's emotional state: if the emotional state is "frustrated," the explanation is modified to be more friendly.
[0403] User Notification
[0404] The terminal creates a notification message containing the tailored fault description and summary information and sends it to the user's email address or mobile device using an SMTP server, allowing the user to take appropriate measures promptly.
[0405] (Application example 2)
[0406] 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."
[0407] Modern factories employ many robots, and there is a need to monitor their behavior and performance in real time. However, it is not easy to analyze the robot's operation logs, identify malfunctions, and notify managers of prompt and appropriate countermeasures. Furthermore, the content of notifications is uniform, making it difficult to respond to the manager's emotional state. An effective system to solve this problem is needed.
[0408] 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.
[0409] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying malfunctions, means for generating a natural language explanation of information about the malfunction using generative AI, means for notifying the user of the generated natural language explanation, means for recognizing the user's emotion, and means for adjusting the tone and expression of the notification content based on the recognized emotion. This makes it possible to monitor the operating status of the robot in real time and, when a malfunction occurs, notify the user of appropriate countermeasures according to the emotion.
[0410] "Log data" is data that records the operating status of a system or device.
[0411] "Analysis" is the act of examining collected data in detail and extracting specific information.
[0412] A "failure" is a condition or error in which a system or device does not function properly.
[0413] "Generative AI" refers to technology that uses artificial intelligence to automatically generate text and information.
[0414] A "natural language explanation" is an explanation written in a natural language that is easy for humans to understand.
[0415] "Notification" refers to the act or means of informing others of information.
[0416] A "terminal" is a device or equipment connected to an information processing system.
[0417] Emotions are the state of mind and feelings of a person.
[0418] "Tone" refers to the tone or mood of a sentence or statement.
[0419] "Expression" is the act of expressing thoughts and feelings in words or letters.
[0420] This invention is a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining it with an emotion engine that recognizes the user's emotions. Specific embodiments are described below.
[0421] Log collection server
[0422] The server automatically collects log data by opening the log file and reading all lines, thereby collecting information on system operation status and errors in real time.
[0423] Data analysis server
[0424] The server analyzes the collected log data and identifies the problem. The analysis method uses regular expression patterns (e.g., "ERROR," "FAIL," "CRITICAL") and compiles the error type and number of occurrences based on the error log data to generate summary information about the problem.
[0425] Generative AI Server
[0426] The server creates a prompt for the generative AI to generate an explanation based on the summary information of the defect. The generative AI uses this prompt to generate a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[0427] Emotion Engine
[0428] The emotion engine analyzes the user's emotions by analyzing the emotional data sent from the user's device and recognizing their current emotional state. Based on this, the emotion engine adjusts the tone and expression of the explanations created by the generative AI. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[0429] Notification terminal
[0430] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device, which may be adjusted based on the analysis results of the emotion engine.
[0431] Hardware and software used
[0432] To implement this invention, a log collection server, a data analysis server, a generative AI server, and an emotion engine are required. Python or OpenAI APIs are suitable software. EmotionRecognizer can also be used for emotion recognition.
[0433] Specific examples
[0434] For example, if your system log file contains the following entry:
[0435] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[0436] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[0437] The data analysis server analyzes these entries and extracts the error information. The generative AI server generates a natural language explanation like this:
[0438] According to the log data, the following issues are occurring:
[0439] An error occurred while connecting to the operational server. Please check your network connection.
[0440] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[0441] If the emotion engine recognizes the admin's emotion as "frustrated", the notification terminal will send a notification in a friendly tone like this:
[0442] Dear user, we are experiencing some issues, but don't worry, the following errors have been detected:
[0443] Failed to connect to operational server. Please check your network connection.
[0444] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[0445] Prompt Sentence Examples
[0446] Please explain the cause of the problem and what to do based on the error log below.
[0447] Error log:
[0448] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[0449] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[0450] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0451] Step 1:
[0452] The server collects log data by opening the specified log file, reading all lines, and storing them in a list. The input is the raw log data, and the output is a list of the log data line by line.
[0453] Step 2:
[0454] The server analyzes the collected log data and identifies the failures. Specifically, it detects error patterns in the log data using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). The input is the list of log data obtained in step 1, and the output is a list of detected error logs.
[0455] Step 3:
[0456] The server generates summary information of the error based on the detected error logs. Specifically, it aggregates the type of error and the number of occurrences and generates the summary information of the error. The input is the list of error logs obtained in step 2, and the output is the summary information of the error logs.
[0457] Step 4:
[0458] The server uses the summary information of the defect to create a prompt for the generative AI to generate an explanation. Specifically, the summary information of the defect is converted into text and input to the generative AI as a prompt. This input is the summary information obtained in step 3, and the output is a prompt sentence.
[0459] Step 5:
[0460] The server uses a generative AI to generate a natural language explanation based on the prompt. Specifically, it calls the generative AI's API, inputs the prompt, and obtains a natural language explanation. The input is the prompt obtained in step 4, and the output is a natural language explanation.
[0461] Step 6:
[0462] The server receives the user's emotional data and analyzes it with the emotion engine. Specifically, the emotion engine analyzes the emotional data sent from the user's device and identifies the user's emotional state. The input is the emotional data from the user, and the output is the identified emotional state of the user.
[0463] Step 7:
[0464] The server adjusts the tone and expression of the natural language explanation generated by the generative AI based on the user's emotional state. Specifically, it changes the tone and expression of the explanation according to the recognized emotional state. The input is the natural language explanation obtained in step 5 and the emotional state obtained in step 6, and the output is the adjusted natural language explanation.
[0465] Step 8:
[0466] The server notifies the user's device of the adjusted natural language description and summary information of the error log. Specifically, it sends a notification by email or to a mobile device. The input is the adjusted description obtained in step 7 and the summary information obtained in step 3, and the output is a notification to the user's device.
[0467] Step 9:
[0468] The user receives the notification and takes appropriate measures. Specifically, the user checks the system status based on the notified information and takes the necessary action. The input is the received notification, and the output is the action taken.
[0469] 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.
[0470] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0471] 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.
[0472] [Second embodiment]
[0473] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0474] 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.
[0475] 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).
[0476] 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.
[0477] 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.
[0478] 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).
[0479] 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.
[0480] 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.
[0481] 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.
[0482] 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.
[0483] 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.
[0484] 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."
[0485] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0486] Log collection server
[0487] Server Operation
[0488] To collect log data, the server automatically opens the log file and reads its contents. This allows the overall system operating status and error information to be aggregated in real time. The server saves the collected log data in list format for subsequent analysis.
[0489] Data analysis server
[0490] Server Operation
[0491] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it detects error patterns (e.g., "ERROR," "FAIL," "CRITICAL," etc.) and counts the number of occurrences. As a result, summary information is generated that can be used to understand the malfunction trends of the entire system.
[0492] Generative AI Server
[0493] Server Operation
[0494] The generative AI server receives summary information about the defect and generates a natural language explanation based on the information. To do this, it first generates a prompt (a list of summary information) and sends it to the generative AI. Based on this prompt, the generative AI generates a sentence that explains in detail the cause of the defect and how to deal with it. The generated sentence is saved in a form that is both easy to understand and specific.
[0495] Notification terminal
[0496] Device behavior
[0497] To quickly inform users of the malfunction, the device receives the generated natural language description and sends it to the user's designated email address or mobile device. This allows users to quickly understand the current status of the system and take appropriate measures.
[0498] Specific examples
[0499] For example, if your system log file contains the following entry:
[0500] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0501] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0502] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0503] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0504] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0505] ERROR: Failed to connect to database occurs twice
[0506] FAIL: Memory allocation failed 1 time
[0507] CRITICAL: Disk space exhausted occurred once
[0508] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0509] According to the log data, the following issues are occurring:
[0510] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0511] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0512] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0513] This explanatory message is sent to the user's device, allowing the user to quickly identify the system malfunction and take appropriate measures.
[0514] The above is a specific embodiment of the present invention. This system supports efficient and rapid detection and countermeasures for defects by linking the functions of log collection, data analysis, explanation generation using generative AI, and user notification.
[0515] The processing flow will be explained below.
[0516] Step 1:
[0517] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[0518] Step 2:
[0519] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[0520] Step 3:
[0521] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[0522] Step 4:
[0523] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[0524] Step 5:
[0525] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy for users to understand.
[0526] Step 6:
[0527] The device retrieves the generated natural language description and sends a notification to the user's email address or mobile device, including details of the problem and a solution.
[0528] Step 7:
[0529] The user receives a notification from the device, checks the details of the problem, and takes action to resolve the system problem based on the proposed solution.
[0530] Example 1
[0531] 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."
[0532] Currently, many systems collect and analyze log data, but these tasks are often done manually, resulting in the time it takes to quickly identify errors and malfunctions and implement countermeasures. It is also difficult to extract specific error patterns from the vast amount of log data and obtain the information needed to take specific countermeasures. Furthermore, there are insufficient means of notifying users of this information in an easy-to-understand format. Therefore, there is a need for a system that can perform all processes from collecting and analyzing log data to generating and notifying natural language using generative AI.
[0533] 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.
[0534] In this invention, the server includes a means for collecting log data, a means for analyzing the collected log data and identifying defects, and a means for counting the number of occurrences of error patterns and generating summary information of the defects. This makes it possible to quickly identify defects from a huge amount of log data, and to generate specific and easy-to-understand natural language explanations using generative AI based on the summary information, and notify the user.
[0535] "Log data" is information that records the operating status of systems and applications, errors, events, etc.
[0536] "Means of collection" refers to equipment or software that automatically collects and stores log data from specific locations.
[0537] "Means of analysis" refers to programs and algorithms that investigate and analyze collected log data and identify defects or abnormalities.
[0538] A "glitch" is an error or problem that causes a system or application to not function properly.
[0539] "Error patterns" refer to the types and formats of errors that frequently appear in log data.
[0540] "Summary information" is information that succinctly describes the occurrence of malfunctions and error patterns obtained from collected and analyzed log data.
[0541] "Generative AI" is a system that automatically generates text and content using artificial intelligence technology.
[0542] A "prompt" or "prompt" is a text or instruction input to a generative AI, and is the information that forms the basis of the content that the AI generates.
[0543] "Means for generating explanations in natural language" refers to methods or systems that use generative AI to generate easy-to-understand natural language sentences based on summary information.
[0544] The "user terminal" is a device for receiving the generated natural language explanation, and includes a computer, a smartphone, etc.
[0545] The "notification means" is a method or system for transmitting the generated natural language explanation to the user's terminal.
[0546] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0547] Log collection server
[0548] Server Operation
[0549] To collect log data, the server automatically opens the log files and reads their contents. Specifically, a log collection program running on the server monitors the log files in a specified directory in real time and reads them whenever a new entry is added. For example, the Python watchdog library can be used to monitor the directory and automatically collect the contents of any changes made to the log files. The collected log data is temporarily saved in list format or in a database.
[0550] Data analysis server
[0551] Server Operation
[0552] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it uses the Python Pandas library to convert the log data into a data frame, searches for entries containing error patterns such as "ERROR," "FAIL," or "CRITICAL," and counts their occurrence frequency. As a result, summary information is generated that allows for an understanding of malfunction trends across the system. This summary information is saved in JSON format.
[0553] Generative AI Server
[0554] Server Operation
[0555] The generative AI server receives the summary information and uses the generative AI to generate a natural language explanation based on that information. First, it creates a prompt to be input to the generative AI. This prompt takes the summary information as input and provides a detailed explanation of the cause of the problem and countermeasures. The generative AI used may be, for example, OpenAI's GPT-4. The generated explanation is stored in a database and is ready to be sent to the notification device.
[0556] Notification terminal
[0557] Device behavior
[0558] To quickly inform users of the malfunction, the device receives the generated natural language description. Specifically, the description is sent to the user's email address or mobile device using an email sending service such as SendGrid or a mobile notification service such as Firebase Cloud Messaging. This allows the user to quickly understand the system malfunction and take appropriate measures.
[0559] Specific examples
[0560] For example, if your system log file contains the following entry:
[0561] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0562] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0563] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0564] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0565] The server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error patterns as follows:
[0566] ERROR: Failed to connect to database occurs twice
[0567] FAIL: Memory allocation failed 1 time
[0568] CRITICAL: Disk space exhausted occurred once
[0569] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0570] According to the log data, the following issues are occurring:
[0571] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0572] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0573] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0574] Examples of prompts that can be used include:
[0575] The following issues are occurring:
[0576] Database connection failed twice
[0577] 1 memory allocation failure
[0578] 1 out of disk space
[0579] Please provide details and solutions.
[0580] By notifying the user of this explanatory text on their terminal, the user can quickly identify the system malfunction and take appropriate measures. The above is a specific embodiment for carrying out the present invention.
[0581] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0582] Step 1:
[0583] Collecting log data
[0584] The server periodically monitors log files from a specified directory or database and reads new log data whenever it appears. Specifically, it uses the Python watchdog library to monitor the directory. As input, the path of the log file is given, and as new log entries are detected, they are added sequentially to a list. The output is a list of collected log entries.
[0585] Specific behavior:
[0586] Example: A server monitors / var / log / app.log for new entries in real time. Every time a new entry is added, it is added to a list.
[0587] Step 2:
[0588] Analyzing log data
[0589] The server converts the collected log data into a data frame and extracts entries containing error patterns such as "ERROR," "FAIL," and "CRITICAL." The input is the list of log entries obtained in step 1, and the output is summary information that counts the frequency of occurrence of the error pattern. Specifically, the log data is converted into a data frame using Python's Pandas library, and filtering and counting are performed for each error pattern.
[0590] Specific behavior:
[0591] Example: Convert log data into a data frame and count error patterns.
[0592] Convert the log entry into a data frame (e.g. "2023-10-01 12:00:00 ERROR: Failed to connect to database" ).
[0593] Step 3:
[0594] Generate summary information
[0595] The server generates summary information based on the frequency of occurrence of error patterns. The input is the count result of the frequency of occurrence of error patterns obtained in step 2, and the output is summary information saved in JSON format. Specifically, the analysis results are converted into dictionary format and saved in a file in JSON format.
[0596] Specific behavior:
[0597] Example: Use Python's json module to convert the error pattern count results into a dictionary and save it as a JSON file.
[0598] Summary information is saved to a file called "error_summary.json".
[0599] Step 4:
[0600] Natural language description generation
[0601] The server uses generative AI to generate a natural language explanation based on the summary information. The input is the summary information obtained in step 3, and the output is the generated natural language explanation. Specifically, a prompt sentence is created for the generative AI model, which then inputs it to generate the explanation. For this purpose, a generative AI such as OpenAI's GPT-4 is used.
[0602] Specific behavior:
[0603] Example: Generate a prompt sentence and send it to a generative AI model to generate an explanation.
[0604] Example prompt:
[0605] The following issues are occurring:
[0606] Database connection failed twice
[0607] 1 memory allocation failure
[0608] 1 out of disk space
[0609] Please provide details and solutions.
[0610] Step 5:
[0611] User Notification
[0612] The device notifies the user of the generated natural language description. The input is the natural language description obtained in step 4, and the output is a notification sent to the user's email address or mobile device. Specifically, notifications are sent using email sending services such as SendGrid or mobile notification services such as Firebase Cloud Messaging.
[0613] Specific behavior:
[0614] Example: Send an explanation via email.
[0615] Use SendGrid's API to send an email to "user@example.com".
[0616] Email subject: "System malfunction notification"
[0617] Email content:
[0618] According to the log data, the following issues are occurring:
[0619] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0620] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0621] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0622] (Application example 1)
[0623] 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."
[0624] With conventional factory robot management systems, it was difficult to identify malfunctions from the vast amount of log data, analyze their causes, and implement appropriate countermeasures. Furthermore, there was a lack of a means to quickly and accurately communicate the details of the malfunction and countermeasures to users. This resulted in prolonged robot downtime and reduced production efficiency.
[0625] 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.
[0626] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for notifying a user of the generated natural language explanations, means for collecting operation logs of each robot in real time if the target system is a factory robot, and means for the generative AI to generate specific countermeasures for the defects in natural language based on the log analysis results if the target system is a factory robot. This makes it possible to quickly identify defects in factory robots and provide appropriate countermeasures.
[0627] "Log data" refers to data that records information such as the operating status of a system or device, and error messages.
[0628] "Collection means" refers to a device or method for acquiring and storing log data from the target system.
[0629] "Means of analysis" refers to algorithms or software used to analyze collected log data and identify defects.
[0630] A "glitch" is an error or problem that prevents a system or device from working properly.
[0631] "Generative AI" is a technology that uses artificial intelligence to generate text and summaries.
[0632] "Means for generating explanations in natural language" refers to a method that uses generative AI to generate the details of defects and countermeasures in a format that is easy for humans to understand.
[0633] The "means for notifying the user's terminal" is a communication means for conveying the generated explanation in natural language to the user.
[0634] A "factory robot" is a machine used to automate work in a factory.
[0635] An "operation log" is a record of the operation of a factory robot, and is data that includes the work progress status and error messages.
[0636] "Means of collecting data in real time" refers to a method of instantly acquiring and recording the operation logs of factory robots.
[0637] "Specific measures" are specific methods or procedures taken to resolve the problem.
[0638] "Log analysis results" are the results of analyzing collected log data, and are information that identifies defects and indicates their trends.
[0639] This invention is a system for realizing effective management of factory robots. The system includes a server that collects and analyzes log data, a server that generates information using generative AI, and a user terminal.
[0640] Log collection and analysis
[0641] The server collects real-time operation logs from each factory robot, including the robot's operating status and error messages. Dedicated log collection software (e.g., LogCollector) is used to collect the log data.
[0642] The collected log data is analyzed by dedicated data analysis software (e.g., LogAnalyzer), which analyzes the log data to extract error patterns and identify system malfunctions.
[0643] Explanation generation using generative AI
[0644] The analysis results are sent to a generative AI (e.g., GPT-4). The generative AI generates specific cause analyses and countermeasures in natural language based on the results of the log analysis. A prompt statement is used in the generation process to call the generative AI. For example, the following prompt statement is used:
[0645] According to the log data, the following issues are occurring:
[0646] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[0647] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[0648] User Notification
[0649] The generated natural language explanation is sent to the user's device. An email transmission system (e.g., smtplib) is used to send the notification to the user's device. The user can quickly understand the specific problem information and the steps to take to resolve it.
[0650] Hardware and software used
[0651] The following hardware and software are used to implement the system:
[0652] Hardware: Industrial PC (for robot operation), log data management server, SMTP server (for email notifications)
[0653] Software: Python program, log_collector library (log collection), log_analyzer library (log analysis), ai_generator library (generative AI), smtplib library (email sending)
[0654] With the above configuration, the present invention can effectively manage the log data of factory robots, identify malfunctions, and quickly notify users of countermeasures.
[0655] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0656] Step 1:
[0657] The server collects operation logs from factory robots in real time. The target systems are factory robots, and the operation status and error messages of each robot are recorded in the log data. Dedicated log collection software (e.g., LogCollector) is used to collect the logs. The input is the robot operation log, and the output is the collected log data.
[0658] Step 2:
[0659] The server analyzes the collected log data. Dedicated data analysis software (e.g., LogAnalyzer) is used for log analysis. The software extracts error patterns from the log data and identifies system malfunctions. The input is the collected log data, and the output is the malfunction identification results (a list of error patterns).
[0660] Step 3:
[0661] The server sends the analysis results to a generative AI. The generative AI (e.g., GPT-4) generates specific cause analyses and countermeasures in natural language based on the log analysis results. The input is a list of error patterns, and the output is a description of the problem generated in natural language.
[0662] Step 4:
[0663] The generated explanation is then converted into a prompt and sent to the generative AI. The prompt is a statement describing specific countermeasures based on information extracted from the log data. An example of a prompt is the following:
[0664] According to the log data, the following issues are occurring:
[0665] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[0666] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[0667] Step 5:
[0668] The server notifies the user's device of the generated description. The notification is sent to the user's device using an email transmission system (e.g., smtplib). The input is the generated natural language description, and the output is an email notification to the user. By receiving this notification, the user can quickly understand specific information about the problem and the steps to take to resolve it.
[0669] Through these steps, the server can effectively manage the log data of factory robots, quickly identify defects using generative AI, and notify users of countermeasures.
[0670] 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.
[0671] The present invention relates to a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described in detail below.
[0672] Log collection server
[0673] Server Operation
[0674] The server automatically opens the log file, reads all lines, and stores them in a list, allowing for real-time collection of system activity and error information.
[0675] Data analysis server
[0676] Server Operation
[0677] The server analyzes the collected log data and extracts error-related log entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). Based on the extracted error logs, it aggregates the type of error and the number of occurrences, and generates summary information about the problem.
[0678] Generative AI Server
[0679] Server Operation
[0680] The server uses the summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[0681] Emotion Engine
[0682] Server Operation
[0683] The emotion engine analyzes the emotional data sent from the user's device and recognizes the user's current emotional state. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[0684] Notification terminal
[0685] Device behavior
[0686] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0687] Specific examples
[0688] For example, if your system log file contains the following entry:
[0689] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0690] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0691] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0692] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0693] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0694] ERROR: Failed to connect to database occurs twice
[0695] FAIL: Memory allocation failed 1 time
[0696] CRITICAL: Disk space exhausted occurred once
[0697] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0698] According to the log data, the following issues are occurring:
[0699] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0700] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0701] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0702] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[0703] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[0704] ...
[0705] The above notification is sent to the user's terminal, allowing the user to take appropriate measures promptly.
[0706] This concludes the description of the embodiment of the present invention, which provides users with appropriate information and countermeasures by combining log data collection, data analysis, explanation generation using generative AI, and an emotion engine.
[0707] The processing flow will be explained below.
[0708] Step 1:
[0709] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[0710] Step 2:
[0711] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[0712] Step 3:
[0713] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[0714] Step 4:
[0715] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[0716] Step 5:
[0717] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy to understand and useful to the user.
[0718] Step 6:
[0719] The emotion engine receives emotion data from the user's device and analyzes the user's emotional state, recognizing emotions such as frustration and relief.
[0720] Step 7:
[0721] The server receives the analysis results of the emotion engine and adjusts the tone of the natural language explanations created by the generative AI. For example, if the user is feeling frustrated, the explanation will be changed to a more polite and friendly tone.
[0722] Step 8:
[0723] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0724] Step 9:
[0725] The user receives a notification from the device, checks the details of the problem and the proposed solution, and takes action to resolve the system problem according to the proposed solution.
[0726] Example 2
[0727] 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."
[0728] While conventional systems can identify problems by collecting and analyzing log data, it is difficult to provide an explanation of the problem in a way that is easy for users to understand and in an appropriate tone. Furthermore, notifications do not take into account the user's emotional state, resulting in a poor user experience.
[0729] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0730] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for analyzing user emotion data and adjusting the tone and expression of the generated natural language explanations, and means for notifying the user of the generated natural language explanations. This makes it possible to provide the user with appropriate and easy-to-understand explanations of defects and to notify them according to the user's emotional state.
[0731] "Log data" refers to data that records the operating status and error information of systems and applications.
[0732] "Analysis" is the process of extracting specific patterns or information from collected data.
[0733] A "glitch" is an error or problem that prevents a system or application from working properly.
[0734] "Generative AI" is a system that uses artificial intelligence technology to generate natural language sentences from given data.
[0735] A "natural language explanation" is a document that describes specialized technical information in a way that is easy for users to understand.
[0736] "Emotion data" is information that indicates the user's current emotional state.
[0737] "Adjusting tone and expression" means changing the wording of the generated text depending on the user's emotional state.
[0738] A "terminal" is an electronic device used by a user, such as a computer, smartphone, or tablet.
[0739] The present invention relates to a system that identifies defects from log data, generates explanations in natural language using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. A specific embodiment of this system will be described in detail.
[0740] Log collection server operation
[0741] The server automatically opens the system log file, reads all lines, and stores them in a list. This operation collects system operation status and error information in real time. A general server computer is used as the hardware, and Python is used as the software.
[0742] Data analysis server operation
[0743] The server analyzes the collected log data and extracts error-related log entries. To do this, it uses a Python regular expression library to detect patterns such as "ERROR," "FAIL," and "CRITICAL." Based on the extracted error logs, it tallys up the type of error and the number of occurrences, and generates summary information about the problem.
[0744] Operation of generative AI server
[0745] The server uses summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI used is, for example, GPT-4. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to resolve it. This explanation is saved in a format that is easy for the user to understand.
[0746] Emotion Engine Operation
[0747] The server analyzes the emotion data sent from the user's device and recognizes the user's current emotional state. The emotion engine uses, for example, IBM Watson or Google Cloud Natural Language API. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[0748] Notification terminal operation
[0749] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[0750] Specific examples
[0751] For example, if your system log file contains the following entry:
[0752] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0753] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0754] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0755] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0756] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0757] ERROR: Failed to connect to database occurs twice
[0758] FAIL: Memory allocation failed 1 time
[0759] CRITICAL: Disk space exhausted occurred once
[0760] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0761] According to the log data, the following issues are occurring:
[0762] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0763] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0764] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0765] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[0766] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[0767] ...
[0768] The generated explanation is sent to the user's device, allowing the user to quickly take appropriate measures, improving the user experience and enabling system troubles to be resolved more quickly.
[0769] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0770] Program processing flow
[0771] Step 1: Collect log data
[0772] Specific explanation
[0773] The server periodically scans the system's log files and collects the most recent log entries.
[0774] input
[0775] The path and contents of the log file.
[0776] Data processing / data calculation
[0777] The server opens the log file and reads each line into a list.
[0778] output
[0779] A list of log entries.
[0780] Step 2: Analyze the error log
[0781] Specific explanation
[0782] The server uses regular expressions to parse the collected log data to extract error log entries.
[0783] input
[0784] A list of log entries.
[0785] Data processing / data calculation
[0786] The server filters out lines containing keywords such as "ERROR", "FAIL" and "CRITICAL".
[0787] output
[0788] A list of error log entries.
[0789] Step 3: Generate defect summary information
[0790] Specific explanation
[0791] The server aggregates the error log entries and generates a failure summary.
[0792] input
[0793] A list of error log entries.
[0794] Data processing / data calculation
[0795] The number of occurrences of each error pattern is tallied.
[0796] output
[0797] Defect summary information.
[0798] Step 4: Prompt creation and explanation generation
[0799] Specific explanation
[0800] The server creates a prompt to send to the generative AI based on the defect summary information, and generates a defect description in natural language.
[0801] input
[0802] Defect summary information.
[0803] Data processing / data calculation
[0804] The server creates a prompt and sends it to the generative AI, which then generates a natural-language explanation that includes the cause of the problem and a solution.
[0805] output
[0806] The generated defect description.
[0807] Step 5: Analyze the sentiment data
[0808] Specific explanation
[0809] The server analyzes the user's emotional data and recognizes the user's current emotional state.
[0810] input
[0811] Emotion data sent by the user.
[0812] Data processing / data calculation
[0813] The server analyzes the emotional data to determine the user's emotional state.
[0814] output
[0815] The user's emotional state.
[0816] Step 6: Adjust the tone of your description
[0817] Specific explanation
[0818] The server adjusts the tone of the generated description based on the analyzed emotional state.
[0819] input
[0820] Generated defect descriptions and the user's emotional state.
[0821] Data processing / data calculation
[0822] The wording and expression of the generated description are adapted to the user's emotional state.
[0823] output
[0824] Adjusted bug description.
[0825] Step 7: Notify users
[0826] Specific explanation
[0827] The terminal obtains the adjusted defect description and defect summary information and notifies the user.
[0828] input
[0829] Adjusted defect description and defect summary information.
[0830] Data processing / data calculation
[0831] The device creates a notification message and sends it to the user's email address or mobile device.
[0832] output
[0833] Notifications sent to users.
[0834] Specific examples
[0835] Prompt Sentence Examples
[0836] Please generate a description of the cause and solution of the problem based on the following problem information.
[0837] Bug Information:
[0838] I've had two database connection failures.
[0839] One memory allocation failure occurred.
[0840] One critical error occurred: insufficient disk space.
[0841] Specific processing of the program
[0842] Collecting log data
[0843] The server automatically scans the system log files and reads every line. It uses a Python script to read the log files in a specified directory and save them in a list format.
[0844] Analyzing the error log
[0845] The server uses a regular expression library to extract lines containing keywords such as "ERROR", "FAIL", and "CRITICAL" from the log data, and stores the extracted error logs in a new list.
[0846] Generate defect summary information
[0847] The server counts the number of occurrences of each error pattern based on the extracted error log entries, and saves the count results as summary information.
[0848] Prompt creation and explanation generation
[0849] The server creates a prompt based on the summary information and sends it to a generative AI, such as GPT-4, which receives the prompt and generates a natural language explanation that includes the cause of the problem and a solution.
[0850] Emotional Data Analysis
[0851] The server receives the emotional data sent from the user's device and analyzes the emotional state using IBM Watson or Google Cloud Natural Language API. The analysis results are saved as the user's emotional state.
[0852] Adjusting the tone of the description
[0853] The server adjusts the tone and expression of the generated explanation based on the user's emotional state: if the emotional state is "frustrated," the explanation is modified to be more friendly.
[0854] User Notification
[0855] The terminal creates a notification message containing the tailored fault description and summary information and sends it to the user's email address or mobile device using an SMTP server, allowing the user to take appropriate measures promptly.
[0856] (Application example 2)
[0857] 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."
[0858] Modern factories employ many robots, and there is a need to monitor their behavior and performance in real time. However, it is not easy to analyze the robot's operation logs, identify malfunctions, and notify managers of prompt and appropriate countermeasures. Furthermore, the content of notifications is uniform, making it difficult to respond to the manager's emotional state. An effective system to solve this problem is needed.
[0859] 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.
[0860] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying malfunctions, means for generating a natural language explanation of information about the malfunction using generative AI, means for notifying the user of the generated natural language explanation, means for recognizing the user's emotion, and means for adjusting the tone and expression of the notification content based on the recognized emotion. This makes it possible to monitor the operating status of the robot in real time and, when a malfunction occurs, notify the user of appropriate countermeasures according to the emotion.
[0861] "Log data" is data that records the operating status of a system or device.
[0862] "Analysis" is the act of examining collected data in detail and extracting specific information.
[0863] A "failure" is a condition or error in which a system or device does not function properly.
[0864] "Generative AI" refers to technology that uses artificial intelligence to automatically generate text and information.
[0865] A "natural language explanation" is an explanation written in a natural language that is easy for humans to understand.
[0866] "Notification" refers to the act or means of informing others of information.
[0867] A "terminal" is a device or equipment connected to an information processing system.
[0868] Emotions are the state of mind and feelings of a person.
[0869] "Tone" refers to the tone or mood of a sentence or statement.
[0870] "Expression" is the act of expressing thoughts and feelings in words or letters.
[0871] This invention is a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining it with an emotion engine that recognizes the user's emotions. Specific embodiments are described below.
[0872] Log collection server
[0873] The server automatically collects log data by opening the log file and reading all lines, thereby collecting information on system operation status and errors in real time.
[0874] Data analysis server
[0875] The server analyzes the collected log data and identifies the problem. The analysis method uses regular expression patterns (e.g., "ERROR," "FAIL," "CRITICAL") and compiles the error type and number of occurrences based on the error log data to generate summary information about the problem.
[0876] Generative AI Server
[0877] The server creates a prompt for the generative AI to generate an explanation based on the summary information of the defect. The generative AI uses this prompt to generate a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[0878] Emotion Engine
[0879] The emotion engine analyzes the user's emotions by analyzing the emotional data sent from the user's device and recognizing their current emotional state. Based on this, the emotion engine adjusts the tone and expression of the explanations created by the generative AI. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[0880] Notification terminal
[0881] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device, which may be adjusted based on the analysis results of the emotion engine.
[0882] Hardware and software used
[0883] To implement this invention, a log collection server, a data analysis server, a generative AI server, and an emotion engine are required. Python or OpenAI APIs are suitable software. EmotionRecognizer can also be used for emotion recognition.
[0884] Specific examples
[0885] For example, if your system log file contains the following entry:
[0886] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[0887] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[0888] The data analysis server analyzes these entries and extracts the error information. The generative AI server generates a natural language explanation like this:
[0889] According to the log data, the following issues are occurring:
[0890] An error occurred while connecting to the operational server. Please check your network connection.
[0891] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[0892] If the emotion engine recognizes the admin's emotion as "frustrated", the notification terminal will send a notification in a friendly tone like this:
[0893] Dear user, we are experiencing some issues, but don't worry, the following errors have been detected:
[0894] Failed to connect to operational server. Please check your network connection.
[0895] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[0896] Prompt Sentence Examples
[0897] Please explain the cause of the problem and what to do based on the error log below.
[0898] Error log:
[0899] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[0900] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[0901] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0902] Step 1:
[0903] The server collects log data by opening the specified log file, reading all lines, and storing them in a list. The input is the raw log data, and the output is a list of the log data line by line.
[0904] Step 2:
[0905] The server analyzes the collected log data and identifies the failures. Specifically, it detects error patterns in the log data using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). The input is the list of log data obtained in step 1, and the output is a list of detected error logs.
[0906] Step 3:
[0907] The server generates summary information of the error based on the detected error logs. Specifically, it aggregates the type of error and the number of occurrences and generates the summary information of the error. The input is the list of error logs obtained in step 2, and the output is the summary information of the error logs.
[0908] Step 4:
[0909] The server uses the summary information of the defect to create a prompt for the generative AI to generate an explanation. Specifically, the summary information of the defect is converted into text and input to the generative AI as a prompt. This input is the summary information obtained in step 3, and the output is a prompt sentence.
[0910] Step 5:
[0911] The server uses a generative AI to generate a natural language explanation based on the prompt. Specifically, it calls the generative AI's API, inputs the prompt, and obtains a natural language explanation. The input is the prompt obtained in step 4, and the output is a natural language explanation.
[0912] Step 6:
[0913] The server receives the user's emotional data and analyzes it with the emotion engine. Specifically, the emotion engine analyzes the emotional data sent from the user's device and identifies the user's emotional state. The input is the emotional data from the user, and the output is the identified emotional state of the user.
[0914] Step 7:
[0915] The server adjusts the tone and expression of the natural language explanation generated by the generative AI based on the user's emotional state. Specifically, it changes the tone and expression of the explanation according to the recognized emotional state. The input is the natural language explanation obtained in step 5 and the emotional state obtained in step 6, and the output is the adjusted natural language explanation.
[0916] Step 8:
[0917] The server notifies the user's device of the adjusted natural language description and summary information of the error log. Specifically, it sends a notification by email or to a mobile device. The input is the adjusted description obtained in step 7 and the summary information obtained in step 3, and the output is a notification to the user's device.
[0918] Step 9:
[0919] The user receives the notification and takes appropriate measures. Specifically, the user checks the system status based on the notified information and takes the necessary action. The input is the received notification, and the output is the action taken.
[0920] 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.
[0921] 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.
[0922] 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.
[0923] [Third embodiment]
[0924] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0925] 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.
[0926] 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).
[0927] 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.
[0928] 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.
[0929] 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).
[0930] 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.
[0931] 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.
[0932] 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.
[0933] 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.
[0934] 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.
[0935] 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."
[0936] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0937] Log collection server
[0938] Server Operation
[0939] To collect log data, the server automatically opens the log file and reads its contents. This allows the overall system operating status and error information to be aggregated in real time. The server saves the collected log data in list format for subsequent analysis.
[0940] Data analysis server
[0941] Server Operation
[0942] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it detects error patterns (e.g., "ERROR," "FAIL," "CRITICAL," etc.) and counts the number of occurrences. As a result, summary information is generated that can be used to understand the malfunction trends of the entire system.
[0943] Generative AI Server
[0944] Server Operation
[0945] The generative AI server receives summary information about the defect and generates a natural language explanation based on the information. To do this, it first generates a prompt (a list of summary information) and sends it to the generative AI. Based on this prompt, the generative AI generates a sentence that explains in detail the cause of the defect and how to deal with it. The generated sentence is saved in a form that is both easy to understand and specific.
[0946] Notification terminal
[0947] Device behavior
[0948] To quickly inform users of the malfunction, the device receives the generated natural language description and sends it to the user's designated email address or mobile device. This allows users to quickly understand the current status of the system and take appropriate measures.
[0949] Specific examples
[0950] For example, if your system log file contains the following entry:
[0951] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[0952] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[0953] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[0954] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[0955] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[0956] ERROR: Failed to connect to database occurs twice
[0957] FAIL: Memory allocation failed 1 time
[0958] CRITICAL: Disk space exhausted occurred once
[0959] Based on this summary information, the generative AI server generates a natural language explanation like this:
[0960] According to the log data, the following issues are occurring:
[0961] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[0962] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[0963] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[0964] This explanatory message is sent to the user's device, allowing the user to quickly identify the system malfunction and take appropriate measures.
[0965] The above is a specific embodiment of the present invention. This system supports efficient and rapid detection and countermeasures for defects by linking the functions of log collection, data analysis, explanation generation using generative AI, and user notification.
[0966] The processing flow will be explained below.
[0967] Step 1:
[0968] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[0969] Step 2:
[0970] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[0971] Step 3:
[0972] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[0973] Step 4:
[0974] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[0975] Step 5:
[0976] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy for users to understand.
[0977] Step 6:
[0978] The device retrieves the generated natural language description and sends a notification to the user's email address or mobile device, including details of the problem and a solution.
[0979] Step 7:
[0980] The user receives a notification from the device, checks the details of the problem, and takes action to resolve the system problem based on the proposed solution.
[0981] Example 1
[0982] 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."
[0983] Currently, many systems collect and analyze log data, but these tasks are often done manually, resulting in the time it takes to quickly identify errors and malfunctions and implement countermeasures. It is also difficult to extract specific error patterns from the vast amount of log data and obtain the information needed to take specific countermeasures. Furthermore, there are insufficient means of notifying users of this information in an easy-to-understand format. Therefore, there is a need for a system that can perform all processes from collecting and analyzing log data to generating and notifying natural language using generative AI.
[0984] 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.
[0985] In this invention, the server includes a means for collecting log data, a means for analyzing the collected log data and identifying defects, and a means for counting the number of occurrences of error patterns and generating summary information of the defects. This makes it possible to quickly identify defects from a huge amount of log data, and to generate specific and easy-to-understand natural language explanations using generative AI based on the summary information, and notify the user.
[0986] "Log data" is information that records the operating status of systems and applications, errors, events, etc.
[0987] "Means of collection" refers to equipment or software that automatically collects and stores log data from specific locations.
[0988] "Means of analysis" refers to programs and algorithms that investigate and analyze collected log data and identify defects or abnormalities.
[0989] A "glitch" is an error or problem that causes a system or application to not function properly.
[0990] "Error patterns" refer to the types and formats of errors that frequently appear in log data.
[0991] "Summary information" is information that succinctly describes the occurrence of malfunctions and error patterns obtained from collected and analyzed log data.
[0992] "Generative AI" is a system that automatically generates text and content using artificial intelligence technology.
[0993] A "prompt" or "prompt" is a text or instruction input to a generative AI, and is the information that forms the basis of the content that the AI generates.
[0994] "Means for generating explanations in natural language" refers to methods or systems that use generative AI to generate easy-to-understand natural language sentences based on summary information.
[0995] The "user terminal" is a device for receiving the generated natural language explanation, and includes a computer, a smartphone, etc.
[0996] The "notification means" is a method or system for transmitting the generated natural language explanation to the user's terminal.
[0997] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[0998] Log collection server
[0999] Server Operation
[1000] To collect log data, the server automatically opens the log files and reads their contents. Specifically, a log collection program running on the server monitors the log files in a specified directory in real time and reads them whenever a new entry is added. For example, the Python watchdog library can be used to monitor the directory and automatically collect the contents of any changes made to the log files. The collected log data is temporarily saved in list format or in a database.
[1001] Data analysis server
[1002] Server Operation
[1003] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it uses the Python Pandas library to convert the log data into a data frame, searches for entries containing error patterns such as "ERROR," "FAIL," or "CRITICAL," and counts their occurrence frequency. As a result, summary information is generated that allows for an understanding of malfunction trends across the system. This summary information is saved in JSON format.
[1004] Generative AI Server
[1005] Server Operation
[1006] The generative AI server receives the summary information and uses the generative AI to generate a natural language explanation based on that information. First, it creates a prompt to be input to the generative AI. This prompt takes the summary information as input and provides a detailed explanation of the cause of the problem and countermeasures. The generative AI used may be, for example, OpenAI's GPT-4. The generated explanation is stored in a database and is ready to be sent to the notification device.
[1007] Notification terminal
[1008] Device behavior
[1009] To quickly inform users of the malfunction, the device receives the generated natural language description. Specifically, the description is sent to the user's email address or mobile device using an email sending service such as SendGrid or a mobile notification service such as Firebase Cloud Messaging. This allows the user to quickly understand the system malfunction and take appropriate measures.
[1010] Specific examples
[1011] For example, if your system log file contains the following entry:
[1012] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1013] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1014] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1015] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1016] The server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error patterns as follows:
[1017] ERROR: Failed to connect to database occurs twice
[1018] FAIL: Memory allocation failed 1 time
[1019] CRITICAL: Disk space exhausted occurred once
[1020] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1021] According to the log data, the following issues are occurring:
[1022] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1023] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1024] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1025] Examples of prompts that can be used include:
[1026] The following issues are occurring:
[1027] Database connection failed twice
[1028] 1 memory allocation failure
[1029] 1 out of disk space
[1030] Please provide details and solutions.
[1031] By notifying the user of this explanatory text on their terminal, the user can quickly identify the system malfunction and take appropriate measures. The above is a specific embodiment for carrying out the present invention.
[1032] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1033] Step 1:
[1034] Collecting log data
[1035] The server periodically monitors log files from a specified directory or database and reads new log data whenever it appears. Specifically, it uses the Python watchdog library to monitor the directory. As input, the path of the log file is given, and as new log entries are detected, they are added sequentially to a list. The output is a list of collected log entries.
[1036] Specific behavior:
[1037] Example: A server monitors / var / log / app.log for new entries in real time. Every time a new entry is added, it is added to a list.
[1038] Step 2:
[1039] Analyzing log data
[1040] The server converts the collected log data into a data frame and extracts entries containing error patterns such as "ERROR," "FAIL," and "CRITICAL." The input is the list of log entries obtained in step 1, and the output is summary information that counts the frequency of occurrence of the error pattern. Specifically, the log data is converted into a data frame using Python's Pandas library, and filtering and counting are performed for each error pattern.
[1041] Specific behavior:
[1042] Example: Convert log data into a data frame and count error patterns.
[1043] Convert the log entry into a data frame (e.g. "2023-10-01 12:00:00 ERROR: Failed to connect to database" ).
[1044] Step 3:
[1045] Generate summary information
[1046] The server generates summary information based on the frequency of occurrence of error patterns. The input is the count result of the frequency of occurrence of error patterns obtained in step 2, and the output is summary information saved in JSON format. Specifically, the analysis results are converted into dictionary format and saved in a file in JSON format.
[1047] Specific behavior:
[1048] Example: Use Python's json module to convert the error pattern count results into a dictionary and save it as a JSON file.
[1049] Summary information is saved to a file called "error_summary.json".
[1050] Step 4:
[1051] Natural language description generation
[1052] The server uses generative AI to generate a natural language explanation based on the summary information. The input is the summary information obtained in step 3, and the output is the generated natural language explanation. Specifically, a prompt sentence is created for the generative AI model, which then inputs it to generate the explanation. For this purpose, a generative AI such as OpenAI's GPT-4 is used.
[1053] Specific behavior:
[1054] Example: Generate a prompt sentence and send it to a generative AI model to generate an explanation.
[1055] Example prompt:
[1056] The following issues are occurring:
[1057] Database connection failed twice
[1058] 1 memory allocation failure
[1059] 1 out of disk space
[1060] Please provide details and solutions.
[1061] Step 5:
[1062] User Notification
[1063] The device notifies the user of the generated natural language description. The input is the natural language description obtained in step 4, and the output is a notification sent to the user's email address or mobile device. Specifically, notifications are sent using email sending services such as SendGrid or mobile notification services such as Firebase Cloud Messaging.
[1064] Specific behavior:
[1065] Example: Send an explanation via email.
[1066] Use SendGrid's API to send an email to "user@example.com".
[1067] Email subject: "System malfunction notification"
[1068] Email content:
[1069] According to the log data, the following issues are occurring:
[1070] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1071] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1072] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1073] (Application example 1)
[1074] 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."
[1075] With conventional factory robot management systems, it was difficult to identify malfunctions from the vast amount of log data, analyze their causes, and implement appropriate countermeasures. Furthermore, there was a lack of a means to quickly and accurately communicate the details of the malfunction and countermeasures to users. This resulted in prolonged robot downtime and reduced production efficiency.
[1076] 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.
[1077] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for notifying a user of the generated natural language explanations, means for collecting operation logs of each robot in real time if the target system is a factory robot, and means for the generative AI to generate specific countermeasures for the defects in natural language based on the log analysis results if the target system is a factory robot. This makes it possible to quickly identify defects in factory robots and provide appropriate countermeasures.
[1078] "Log data" refers to data that records information such as the operating status of a system or device, and error messages.
[1079] "Collection means" refers to a device or method for acquiring and storing log data from the target system.
[1080] "Means of analysis" refers to algorithms or software used to analyze collected log data and identify defects.
[1081] A "glitch" is an error or problem that prevents a system or device from working properly.
[1082] "Generative AI" is a technology that uses artificial intelligence to generate text and summaries.
[1083] "Means for generating explanations in natural language" refers to a method that uses generative AI to generate the details of defects and countermeasures in a format that is easy for humans to understand.
[1084] The "means for notifying the user's terminal" is a communication means for conveying the generated explanation in natural language to the user.
[1085] A "factory robot" is a machine used to automate work in a factory.
[1086] An "operation log" is a record of the operation of a factory robot, and is data that includes the work progress status and error messages.
[1087] "Means of collecting data in real time" refers to a method of instantly acquiring and recording the operation logs of factory robots.
[1088] "Specific measures" are specific methods or procedures taken to resolve the problem.
[1089] "Log analysis results" are the results of analyzing collected log data, and are information that identifies defects and indicates their trends.
[1090] This invention is a system for realizing effective management of factory robots. The system includes a server that collects and analyzes log data, a server that generates information using generative AI, and a user terminal.
[1091] Log collection and analysis
[1092] The server collects real-time operation logs from each factory robot, including the robot's operating status and error messages. Dedicated log collection software (e.g., LogCollector) is used to collect the log data.
[1093] The collected log data is analyzed by dedicated data analysis software (e.g., LogAnalyzer), which analyzes the log data to extract error patterns and identify system malfunctions.
[1094] Explanation generation using generative AI
[1095] The analysis results are sent to a generative AI (e.g., GPT-4). The generative AI generates specific cause analyses and countermeasures in natural language based on the results of the log analysis. A prompt statement is used in the generation process to call the generative AI. For example, the following prompt statement is used:
[1096] According to the log data, the following issues are occurring:
[1097] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[1098] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[1099] User Notification
[1100] The generated natural language explanation is sent to the user's device. An email transmission system (e.g., smtplib) is used to send the notification to the user's device. The user can quickly understand the specific problem information and the steps to take to resolve it.
[1101] Hardware and software used
[1102] The following hardware and software are used to implement the system:
[1103] Hardware: Industrial PC (for robot operation), log data management server, SMTP server (for email notifications)
[1104] Software: Python program, log_collector library (log collection), log_analyzer library (log analysis), ai_generator library (generative AI), smtplib library (email sending)
[1105] With the above configuration, the present invention can effectively manage the log data of factory robots, identify malfunctions, and quickly notify users of countermeasures.
[1106] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1107] Step 1:
[1108] The server collects operation logs from factory robots in real time. The target systems are factory robots, and the operation status and error messages of each robot are recorded in the log data. Dedicated log collection software (e.g., LogCollector) is used to collect the logs. The input is the robot operation log, and the output is the collected log data.
[1109] Step 2:
[1110] The server analyzes the collected log data. Dedicated data analysis software (e.g., LogAnalyzer) is used for log analysis. The software extracts error patterns from the log data and identifies system malfunctions. The input is the collected log data, and the output is the malfunction identification results (a list of error patterns).
[1111] Step 3:
[1112] The server sends the analysis results to a generative AI. The generative AI (e.g., GPT-4) generates specific cause analyses and countermeasures in natural language based on the log analysis results. The input is a list of error patterns, and the output is a description of the problem generated in natural language.
[1113] Step 4:
[1114] The generated explanation is then converted into a prompt and sent to the generative AI. The prompt is a statement describing specific countermeasures based on information extracted from the log data. An example of a prompt is the following:
[1115] According to the log data, the following issues are occurring:
[1116] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[1117] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[1118] Step 5:
[1119] The server notifies the user's device of the generated description. The notification is sent to the user's device using an email transmission system (e.g., smtplib). The input is the generated natural language description, and the output is an email notification to the user. By receiving this notification, the user can quickly understand specific information about the problem and the steps to take to resolve it.
[1120] Through these steps, the server can effectively manage the log data of factory robots, quickly identify defects using generative AI, and notify users of countermeasures.
[1121] 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.
[1122] The present invention relates to a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described in detail below.
[1123] Log collection server
[1124] Server Operation
[1125] The server automatically opens the log file, reads all lines, and stores them in a list, allowing for real-time collection of system activity and error information.
[1126] Data analysis server
[1127] Server Operation
[1128] The server analyzes the collected log data and extracts error-related log entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). Based on the extracted error logs, it aggregates the type of error and the number of occurrences, and generates summary information about the problem.
[1129] Generative AI Server
[1130] Server Operation
[1131] The server uses the summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[1132] Emotion Engine
[1133] Server Operation
[1134] The emotion engine analyzes the emotional data sent from the user's device and recognizes the user's current emotional state. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1135] Notification terminal
[1136] Device behavior
[1137] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1138] Specific examples
[1139] For example, if your system log file contains the following entry:
[1140] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1141] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1142] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1143] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1144] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[1145] ERROR: Failed to connect to database occurs twice
[1146] FAIL: Memory allocation failed 1 time
[1147] CRITICAL: Disk space exhausted occurred once
[1148] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1149] According to the log data, the following issues are occurring:
[1150] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1151] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1152] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1153] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[1154] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[1155] ...
[1156] The above notification is sent to the user's terminal, allowing the user to take appropriate measures promptly.
[1157] This concludes the description of the embodiment of the present invention, which provides users with appropriate information and countermeasures by combining log data collection, data analysis, explanation generation using generative AI, and an emotion engine.
[1158] The processing flow will be explained below.
[1159] Step 1:
[1160] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[1161] Step 2:
[1162] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[1163] Step 3:
[1164] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[1165] Step 4:
[1166] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[1167] Step 5:
[1168] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy to understand and useful to the user.
[1169] Step 6:
[1170] The emotion engine receives emotion data from the user's device and analyzes the user's emotional state, recognizing emotions such as frustration and relief.
[1171] Step 7:
[1172] The server receives the analysis results of the emotion engine and adjusts the tone of the natural language explanations created by the generative AI. For example, if the user is feeling frustrated, the explanation will be changed to a more polite and friendly tone.
[1173] Step 8:
[1174] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1175] Step 9:
[1176] The user receives a notification from the device, checks the details of the problem and the proposed solution, and takes action to resolve the system problem according to the proposed solution.
[1177] Example 2
[1178] 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."
[1179] While conventional systems can identify problems by collecting and analyzing log data, it is difficult to provide an explanation of the problem in a way that is easy for users to understand and in an appropriate tone. Furthermore, notifications do not take into account the user's emotional state, resulting in a poor user experience.
[1180] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1181] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for analyzing user emotion data and adjusting the tone and expression of the generated natural language explanations, and means for notifying the user of the generated natural language explanations. This makes it possible to provide the user with appropriate and easy-to-understand explanations of defects and to notify them according to the user's emotional state.
[1182] "Log data" refers to data that records the operating status and error information of systems and applications.
[1183] "Analysis" is the process of extracting specific patterns or information from collected data.
[1184] A "glitch" is an error or problem that prevents a system or application from working properly.
[1185] "Generative AI" is a system that uses artificial intelligence technology to generate natural language sentences from given data.
[1186] A "natural language explanation" is a document that describes specialized technical information in a way that is easy for users to understand.
[1187] "Emotion data" is information that indicates the user's current emotional state.
[1188] "Adjusting tone and expression" means changing the wording of the generated text depending on the user's emotional state.
[1189] A "terminal" is an electronic device used by a user, such as a computer, smartphone, or tablet.
[1190] The present invention relates to a system that identifies defects from log data, generates explanations in natural language using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. A specific embodiment of this system will be described in detail.
[1191] Log collection server operation
[1192] The server automatically opens the system log file, reads all lines, and stores them in a list. This operation collects system operation status and error information in real time. A general server computer is used as the hardware, and Python is used as the software.
[1193] Data analysis server operation
[1194] The server analyzes the collected log data and extracts error-related log entries. To do this, it uses a Python regular expression library to detect patterns such as "ERROR," "FAIL," and "CRITICAL." Based on the extracted error logs, it tallys up the type of error and the number of occurrences, and generates summary information about the problem.
[1195] Operation of generative AI server
[1196] The server uses summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI used is, for example, GPT-4. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to resolve it. This explanation is saved in a format that is easy for the user to understand.
[1197] Emotion Engine Operation
[1198] The server analyzes the emotion data sent from the user's device and recognizes the user's current emotional state. The emotion engine uses, for example, IBM Watson or Google Cloud Natural Language API. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1199] Notification terminal operation
[1200] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1201] Specific examples
[1202] For example, if your system log file contains the following entry:
[1203] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1204] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1205] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1206] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1207] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[1208] ERROR: Failed to connect to database occurs twice
[1209] FAIL: Memory allocation failed 1 time
[1210] CRITICAL: Disk space exhausted occurred once
[1211] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1212] According to the log data, the following issues are occurring:
[1213] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1214] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1215] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1216] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[1217] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[1218] ...
[1219] The generated explanation is sent to the user's device, allowing the user to quickly take appropriate measures, improving the user experience and enabling system troubles to be resolved more quickly.
[1220] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1221] Program processing flow
[1222] Step 1: Collect log data
[1223] Specific explanation
[1224] The server periodically scans the system's log files and collects the most recent log entries.
[1225] input
[1226] The path and contents of the log file.
[1227] Data processing / data calculation
[1228] The server opens the log file and reads each line into a list.
[1229] output
[1230] A list of log entries.
[1231] Step 2: Analyze the error log
[1232] Specific explanation
[1233] The server uses regular expressions to parse the collected log data to extract error log entries.
[1234] input
[1235] A list of log entries.
[1236] Data processing / data calculation
[1237] The server filters out lines containing keywords such as "ERROR", "FAIL" and "CRITICAL".
[1238] output
[1239] A list of error log entries.
[1240] Step 3: Generate defect summary information
[1241] Specific explanation
[1242] The server aggregates the error log entries and generates a failure summary.
[1243] input
[1244] A list of error log entries.
[1245] Data processing / data calculation
[1246] The number of occurrences of each error pattern is tallied.
[1247] output
[1248] Defect summary information.
[1249] Step 4: Prompt creation and explanation generation
[1250] Specific explanation
[1251] The server creates a prompt to send to the generative AI based on the defect summary information, and generates a defect description in natural language.
[1252] input
[1253] Defect summary information.
[1254] Data processing / data calculation
[1255] The server creates a prompt and sends it to the generative AI, which then generates a natural-language explanation that includes the cause of the problem and a solution.
[1256] output
[1257] The generated defect description.
[1258] Step 5: Analyze the sentiment data
[1259] Specific explanation
[1260] The server analyzes the user's emotional data and recognizes the user's current emotional state.
[1261] input
[1262] Emotion data sent by the user.
[1263] Data processing / data calculation
[1264] The server analyzes the emotional data to determine the user's emotional state.
[1265] output
[1266] The user's emotional state.
[1267] Step 6: Adjust the tone of your description
[1268] Specific explanation
[1269] The server adjusts the tone of the generated description based on the analyzed emotional state.
[1270] input
[1271] Generated defect descriptions and the user's emotional state.
[1272] Data processing / data calculation
[1273] The wording and expression of the generated description are adapted to the user's emotional state.
[1274] output
[1275] Adjusted bug description.
[1276] Step 7: Notify users
[1277] Specific explanation
[1278] The terminal obtains the adjusted defect description and defect summary information and notifies the user.
[1279] input
[1280] Adjusted defect description and defect summary information.
[1281] Data processing / data calculation
[1282] The device creates a notification message and sends it to the user's email address or mobile device.
[1283] output
[1284] Notifications sent to users.
[1285] Specific examples
[1286] Prompt Sentence Examples
[1287] Please generate a description of the cause and solution of the problem based on the following problem information.
[1288] Bug Information:
[1289] I've had two database connection failures.
[1290] One memory allocation failure occurred.
[1291] One critical error occurred: insufficient disk space.
[1292] Specific processing of the program
[1293] Collecting log data
[1294] The server automatically scans the system log files and reads every line. It uses a Python script to read the log files in a specified directory and save them in a list format.
[1295] Analyzing the error log
[1296] The server uses a regular expression library to extract lines containing keywords such as "ERROR", "FAIL", and "CRITICAL" from the log data, and stores the extracted error logs in a new list.
[1297] Generate defect summary information
[1298] The server counts the number of occurrences of each error pattern based on the extracted error log entries, and saves the count results as summary information.
[1299] Prompt creation and explanation generation
[1300] The server creates a prompt based on the summary information and sends it to a generative AI, such as GPT-4, which receives the prompt and generates a natural language explanation that includes the cause of the problem and a solution.
[1301] Emotional Data Analysis
[1302] The server receives the emotional data sent from the user's device and analyzes the emotional state using IBM Watson or Google Cloud Natural Language API. The analysis results are saved as the user's emotional state.
[1303] Adjusting the tone of the description
[1304] The server adjusts the tone and expression of the generated explanation based on the user's emotional state: if the emotional state is "frustrated," the explanation is modified to be more friendly.
[1305] User Notification
[1306] The terminal creates a notification message containing the tailored fault description and summary information and sends it to the user's email address or mobile device using an SMTP server, allowing the user to take appropriate measures promptly.
[1307] (Application example 2)
[1308] 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."
[1309] Modern factories employ many robots, and there is a need to monitor their behavior and performance in real time. However, it is not easy to analyze the robot's operation logs, identify malfunctions, and notify managers of prompt and appropriate countermeasures. Furthermore, the content of notifications is uniform, making it difficult to respond to the manager's emotional state. An effective system to solve this problem is needed.
[1310] 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.
[1311] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying malfunctions, means for generating a natural language explanation of information about the malfunction using generative AI, means for notifying the user of the generated natural language explanation, means for recognizing the user's emotion, and means for adjusting the tone and expression of the notification content based on the recognized emotion. This makes it possible to monitor the operating status of the robot in real time and, when a malfunction occurs, notify the user of appropriate countermeasures according to the emotion.
[1312] "Log data" is data that records the operating status of a system or device.
[1313] "Analysis" is the act of examining collected data in detail and extracting specific information.
[1314] A "failure" is a condition or error in which a system or device does not function properly.
[1315] "Generative AI" refers to technology that uses artificial intelligence to automatically generate text and information.
[1316] A "natural language explanation" is an explanation written in a natural language that is easy for humans to understand.
[1317] "Notification" refers to the act or means of informing others of information.
[1318] A "terminal" is a device or equipment connected to an information processing system.
[1319] Emotions are the state of mind and feelings of a person.
[1320] "Tone" refers to the tone or mood of a sentence or statement.
[1321] "Expression" is the act of expressing thoughts and feelings in words or letters.
[1322] This invention is a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining it with an emotion engine that recognizes the user's emotions. Specific embodiments are described below.
[1323] Log collection server
[1324] The server automatically collects log data by opening the log file and reading all lines, thereby collecting information on system operation status and errors in real time.
[1325] Data analysis server
[1326] The server analyzes the collected log data and identifies the problem. The analysis method uses regular expression patterns (e.g., "ERROR," "FAIL," "CRITICAL") and compiles the error type and number of occurrences based on the error log data to generate summary information about the problem.
[1327] Generative AI Server
[1328] The server creates a prompt for the generative AI to generate an explanation based on the summary information of the defect. The generative AI uses this prompt to generate a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[1329] Emotion Engine
[1330] The emotion engine analyzes the user's emotions by analyzing the emotional data sent from the user's device and recognizing their current emotional state. Based on this, the emotion engine adjusts the tone and expression of the explanations created by the generative AI. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1331] Notification terminal
[1332] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device, which may be adjusted based on the analysis results of the emotion engine.
[1333] Hardware and software used
[1334] To implement this invention, a log collection server, a data analysis server, a generative AI server, and an emotion engine are required. Python or OpenAI APIs are suitable software. EmotionRecognizer can also be used for emotion recognition.
[1335] Specific examples
[1336] For example, if your system log file contains the following entry:
[1337] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[1338] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[1339] The data analysis server analyzes these entries and extracts the error information. The generative AI server generates a natural language explanation like this:
[1340] According to the log data, the following issues are occurring:
[1341] An error occurred while connecting to the operational server. Please check your network connection.
[1342] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[1343] If the emotion engine recognizes the admin's emotion as "frustrated", the notification terminal will send a notification in a friendly tone like this:
[1344] Dear user, we are experiencing some issues, but don't worry, the following errors have been detected:
[1345] Failed to connect to operational server. Please check your network connection.
[1346] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[1347] Prompt Sentence Examples
[1348] Please explain the cause of the problem and what to do based on the error log below.
[1349] Error log:
[1350] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[1351] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[1352] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1353] Step 1:
[1354] The server collects log data by opening the specified log file, reading all lines, and storing them in a list. The input is the raw log data, and the output is a list of the log data line by line.
[1355] Step 2:
[1356] The server analyzes the collected log data and identifies the failures. Specifically, it detects error patterns in the log data using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). The input is the list of log data obtained in step 1, and the output is a list of detected error logs.
[1357] Step 3:
[1358] The server generates summary information of the error based on the detected error logs. Specifically, it aggregates the type of error and the number of occurrences and generates the summary information of the error. The input is the list of error logs obtained in step 2, and the output is the summary information of the error logs.
[1359] Step 4:
[1360] The server uses the summary information of the defect to create a prompt for the generative AI to generate an explanation. Specifically, the summary information of the defect is converted into text and input to the generative AI as a prompt. This input is the summary information obtained in step 3, and the output is a prompt sentence.
[1361] Step 5:
[1362] The server uses a generative AI to generate a natural language explanation based on the prompt. Specifically, it calls the generative AI's API, inputs the prompt, and obtains a natural language explanation. The input is the prompt obtained in step 4, and the output is a natural language explanation.
[1363] Step 6:
[1364] The server receives the user's emotional data and analyzes it with the emotion engine. Specifically, the emotion engine analyzes the emotional data sent from the user's device and identifies the user's emotional state. The input is the emotional data from the user, and the output is the identified emotional state of the user.
[1365] Step 7:
[1366] The server adjusts the tone and expression of the natural language explanation generated by the generative AI based on the user's emotional state. Specifically, it changes the tone and expression of the explanation according to the recognized emotional state. The input is the natural language explanation obtained in step 5 and the emotional state obtained in step 6, and the output is the adjusted natural language explanation.
[1367] Step 8:
[1368] The server notifies the user's device of the adjusted natural language description and summary information of the error log. Specifically, it sends a notification by email or to a mobile device. The input is the adjusted description obtained in step 7 and the summary information obtained in step 3, and the output is a notification to the user's device.
[1369] Step 9:
[1370] The user receives the notification and takes appropriate measures. Specifically, the user checks the system status based on the notified information and takes the necessary action. The input is the received notification, and the output is the action taken.
[1371] 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.
[1372] 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.
[1373] 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.
[1374] [Fourth embodiment]
[1375] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1376] 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.
[1377] 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).
[1378] 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.
[1379] 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.
[1380] 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).
[1381] 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.
[1382] 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.
[1383] 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.
[1384] 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.
[1385] 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.
[1386] 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.
[1387] 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."
[1388] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[1389] Log collection server
[1390] Server Operation
[1391] To collect log data, the server automatically opens the log file and reads its contents. This allows the overall system operating status and error information to be aggregated in real time. The server saves the collected log data in list format for subsequent analysis.
[1392] Data analysis server
[1393] Server Operation
[1394] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it detects error patterns (e.g., "ERROR," "FAIL," "CRITICAL," etc.) and counts the number of occurrences. As a result, summary information is generated that can be used to understand the malfunction trends of the entire system.
[1395] Generative AI Server
[1396] Server Operation
[1397] The generative AI server receives summary information about the defect and generates a natural language explanation based on the information. To do this, it first generates a prompt (a list of summary information) and sends it to the generative AI. Based on this prompt, the generative AI generates a sentence that explains in detail the cause of the defect and how to deal with it. The generated sentence is saved in a form that is both easy to understand and specific.
[1398] Notification terminal
[1399] Device behavior
[1400] To quickly inform users of the malfunction, the device receives the generated natural language description and sends it to the user's designated email address or mobile device. This allows users to quickly understand the current status of the system and take appropriate measures.
[1401] Specific examples
[1402] For example, if your system log file contains the following entry:
[1403] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1404] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1405] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1406] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1407] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[1408] ERROR: Failed to connect to database occurs twice
[1409] FAIL: Memory allocation failed 1 time
[1410] CRITICAL: Disk space exhausted occurred once
[1411] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1412] According to the log data, the following issues are occurring:
[1413] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1414] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1415] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1416] This explanatory message is sent to the user's device, allowing the user to quickly identify the system malfunction and take appropriate measures.
[1417] The above is a specific embodiment of the present invention. This system supports efficient and rapid detection and countermeasures for defects by linking the functions of log collection, data analysis, explanation generation using generative AI, and user notification.
[1418] The processing flow will be explained below.
[1419] Step 1:
[1420] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[1421] Step 2:
[1422] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[1423] Step 3:
[1424] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[1425] Step 4:
[1426] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[1427] Step 5:
[1428] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy for users to understand.
[1429] Step 6:
[1430] The device retrieves the generated natural language description and sends a notification to the user's email address or mobile device, including details of the problem and a solution.
[1431] Step 7:
[1432] The user receives a notification from the device, checks the details of the problem, and takes action to resolve the system problem based on the proposed solution.
[1433] Example 1
[1434] 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."
[1435] Currently, many systems collect and analyze log data, but these tasks are often done manually, resulting in the time it takes to quickly identify errors and malfunctions and implement countermeasures. It is also difficult to extract specific error patterns from the vast amount of log data and obtain the information needed to take specific countermeasures. Furthermore, there are insufficient means of notifying users of this information in an easy-to-understand format. Therefore, there is a need for a system that can perform all processes from collecting and analyzing log data to generating and notifying natural language using generative AI.
[1436] 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.
[1437] In this invention, the server includes a means for collecting log data, a means for analyzing the collected log data and identifying defects, and a means for counting the number of occurrences of error patterns and generating summary information of the defects. This makes it possible to quickly identify defects from a huge amount of log data, and to generate specific and easy-to-understand natural language explanations using generative AI based on the summary information, and notify the user.
[1438] "Log data" is information that records the operating status of systems and applications, errors, events, etc.
[1439] "Means of collection" refers to equipment or software that automatically collects and stores log data from specific locations.
[1440] "Means of analysis" refers to programs and algorithms that investigate and analyze collected log data and identify defects or abnormalities.
[1441] A "glitch" is an error or problem that causes a system or application to not function properly.
[1442] "Error patterns" refer to the types and formats of errors that frequently appear in log data.
[1443] "Summary information" is information that succinctly describes the occurrence of malfunctions and error patterns obtained from collected and analyzed log data.
[1444] "Generative AI" is a system that automatically generates text and content using artificial intelligence technology.
[1445] A "prompt" or "prompt" is a text or instruction input to a generative AI, and is the information that forms the basis of the content that the AI generates.
[1446] "Means for generating explanations in natural language" refers to methods or systems that use generative AI to generate easy-to-understand natural language sentences based on summary information.
[1447] The "user terminal" is a device for receiving the generated natural language explanation, and includes a computer, a smartphone, etc.
[1448] The "notification means" is a method or system for transmitting the generated natural language explanation to the user's terminal.
[1449] The present invention relates to a system that identifies defects from a huge amount of log data, explains their trends in natural language using generative AI, and notifies users. A specific embodiment of this system will be described in detail.
[1450] Log collection server
[1451] Server Operation
[1452] To collect log data, the server automatically opens the log files and reads their contents. Specifically, a log collection program running on the server monitors the log files in a specified directory in real time and reads them whenever a new entry is added. For example, the Python watchdog library can be used to monitor the directory and automatically collect the contents of any changes made to the log files. The collected log data is temporarily saved in list format or in a database.
[1453] Data analysis server
[1454] Server Operation
[1455] The server responsible for the analysis process receives the collected log data and extracts entries related to malfunctions. Specifically, it uses the Python Pandas library to convert the log data into a data frame, searches for entries containing error patterns such as "ERROR," "FAIL," or "CRITICAL," and counts their occurrence frequency. As a result, summary information is generated that allows for an understanding of malfunction trends across the system. This summary information is saved in JSON format.
[1456] Generative AI Server
[1457] Server Operation
[1458] The generative AI server receives the summary information and uses the generative AI to generate a natural language explanation based on that information. First, it creates a prompt to be input to the generative AI. This prompt takes the summary information as input and provides a detailed explanation of the cause of the problem and countermeasures. The generative AI used may be, for example, OpenAI's GPT-4. The generated explanation is stored in a database and is ready to be sent to the notification device.
[1459] Notification terminal
[1460] Device behavior
[1461] To quickly inform users of the malfunction, the device receives the generated natural language description. Specifically, the description is sent to the user's email address or mobile device using an email sending service such as SendGrid or a mobile notification service such as Firebase Cloud Messaging. This allows the user to quickly understand the system malfunction and take appropriate measures.
[1462] Specific examples
[1463] For example, if your system log file contains the following entry:
[1464] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1465] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1466] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1467] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1468] The server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error patterns as follows:
[1469] ERROR: Failed to connect to database occurs twice
[1470] FAIL: Memory allocation failed 1 time
[1471] CRITICAL: Disk space exhausted occurred once
[1472] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1473] According to the log data, the following issues are occurring:
[1474] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1475] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1476] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1477] Examples of prompts that can be used include:
[1478] The following issues are occurring:
[1479] Database connection failed twice
[1480] 1 memory allocation failure
[1481] 1 out of disk space
[1482] Please provide details and solutions.
[1483] By notifying the user of this explanatory text on their terminal, the user can quickly identify the system malfunction and take appropriate measures. The above is a specific embodiment for carrying out the present invention.
[1484] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1485] Step 1:
[1486] Collecting log data
[1487] The server periodically monitors log files from a specified directory or database and reads new log data whenever it appears. Specifically, it uses the Python watchdog library to monitor the directory. As input, the path of the log file is given, and as new log entries are detected, they are added sequentially to a list. The output is a list of collected log entries.
[1488] Specific behavior:
[1489] Example: A server monitors / var / log / app.log for new entries in real time. Every time a new entry is added, it is added to a list.
[1490] Step 2:
[1491] Analyzing log data
[1492] The server converts the collected log data into a data frame and extracts entries containing error patterns such as "ERROR," "FAIL," and "CRITICAL." The input is the list of log entries obtained in step 1, and the output is summary information that counts the frequency of occurrence of the error pattern. Specifically, the log data is converted into a data frame using Python's Pandas library, and filtering and counting are performed for each error pattern.
[1493] Specific behavior:
[1494] Example: Convert log data into a data frame and count error patterns.
[1495] Convert the log entry into a data frame (e.g. "2023-10-01 12:00:00 ERROR: Failed to connect to database" ).
[1496] Step 3:
[1497] Generate summary information
[1498] The server generates summary information based on the frequency of occurrence of error patterns. The input is the count result of the frequency of occurrence of error patterns obtained in step 2, and the output is summary information saved in JSON format. Specifically, the analysis results are converted into dictionary format and saved in a file in JSON format.
[1499] Specific behavior:
[1500] Example: Use Python's json module to convert the error pattern count results into a dictionary and save it as a JSON file.
[1501] Summary information is saved to a file called "error_summary.json".
[1502] Step 4:
[1503] Natural language description generation
[1504] The server uses generative AI to generate a natural language explanation based on the summary information. The input is the summary information obtained in step 3, and the output is the generated natural language explanation. Specifically, a prompt sentence is created for the generative AI model, which then inputs it to generate the explanation. For this purpose, a generative AI such as OpenAI's GPT-4 is used.
[1505] Specific behavior:
[1506] Example: Generate a prompt sentence and send it to a generative AI model to generate an explanation.
[1507] Example prompt:
[1508] The following issues are occurring:
[1509] Database connection failed twice
[1510] 1 memory allocation failure
[1511] 1 out of disk space
[1512] Please provide details and solutions.
[1513] Step 5:
[1514] User Notification
[1515] The device notifies the user of the generated natural language description. The input is the natural language description obtained in step 4, and the output is a notification sent to the user's email address or mobile device. Specifically, notifications are sent using email sending services such as SendGrid or mobile notification services such as Firebase Cloud Messaging.
[1516] Specific behavior:
[1517] Example: Send an explanation via email.
[1518] Use SendGrid's API to send an email to "user@example.com".
[1519] Email subject: "System malfunction notification"
[1520] Email content:
[1521] According to the log data, the following issues are occurring:
[1522] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1523] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1524] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1525] (Application example 1)
[1526] 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."
[1527] With conventional factory robot management systems, it was difficult to identify malfunctions from the vast amount of log data, analyze their causes, and implement appropriate countermeasures. Furthermore, there was a lack of a means to quickly and accurately communicate the details of the malfunction and countermeasures to users. This resulted in prolonged robot downtime and reduced production efficiency.
[1528] 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.
[1529] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for notifying a user of the generated natural language explanations, means for collecting operation logs of each robot in real time if the target system is a factory robot, and means for the generative AI to generate specific countermeasures for the defects in natural language based on the log analysis results if the target system is a factory robot. This makes it possible to quickly identify defects in factory robots and provide appropriate countermeasures.
[1530] "Log data" refers to data that records information such as the operating status of a system or device, and error messages.
[1531] "Collection means" refers to a device or method for acquiring and storing log data from the target system.
[1532] "Means of analysis" refers to algorithms or software used to analyze collected log data and identify defects.
[1533] A "glitch" is an error or problem that prevents a system or device from working properly.
[1534] "Generative AI" is a technology that uses artificial intelligence to generate text and summaries.
[1535] "Means for generating explanations in natural language" refers to a method that uses generative AI to generate the details of defects and countermeasures in a format that is easy for humans to understand.
[1536] The "means for notifying the user's terminal" is a communication means for conveying the generated explanation in natural language to the user.
[1537] A "factory robot" is a machine used to automate work in a factory.
[1538] An "operation log" is a record of the operation of a factory robot, and is data that includes the work progress status and error messages.
[1539] "Means of collecting data in real time" refers to a method of instantly acquiring and recording the operation logs of factory robots.
[1540] "Specific measures" are specific methods or procedures taken to resolve the problem.
[1541] "Log analysis results" are the results of analyzing collected log data, and are information that identifies defects and indicates their trends.
[1542] This invention is a system for realizing effective management of factory robots. The system includes a server that collects and analyzes log data, a server that generates information using generative AI, and a user terminal.
[1543] Log collection and analysis
[1544] The server collects real-time operation logs from each factory robot, including the robot's operating status and error messages. Dedicated log collection software (e.g., LogCollector) is used to collect the log data.
[1545] The collected log data is analyzed by dedicated data analysis software (e.g., LogAnalyzer), which analyzes the log data to extract error patterns and identify system malfunctions.
[1546] Explanation generation using generative AI
[1547] The analysis results are sent to a generative AI (e.g., GPT-4). The generative AI generates specific cause analyses and countermeasures in natural language based on the results of the log analysis. A prompt statement is used in the generation process to call the generative AI. For example, the following prompt statement is used:
[1548] According to the log data, the following issues are occurring:
[1549] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[1550] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[1551] User Notification
[1552] The generated natural language explanation is sent to the user's device. An email transmission system (e.g., smtplib) is used to send the notification to the user's device. The user can quickly understand the specific problem information and the steps to take to resolve it.
[1553] Hardware and software used
[1554] The following hardware and software are used to implement the system:
[1555] Hardware: Industrial PC (for robot operation), log data management server, SMTP server (for email notifications)
[1556] Software: Python program, log_collector library (log collection), log_analyzer library (log analysis), ai_generator library (generative AI), smtplib library (email sending)
[1557] With the above configuration, the present invention can effectively manage the log data of factory robots, identify malfunctions, and quickly notify users of countermeasures.
[1558] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1559] Step 1:
[1560] The server collects operation logs from factory robots in real time. The target systems are factory robots, and the operation status and error messages of each robot are recorded in the log data. Dedicated log collection software (e.g., LogCollector) is used to collect the logs. The input is the robot operation log, and the output is the collected log data.
[1561] Step 2:
[1562] The server analyzes the collected log data. Dedicated data analysis software (e.g., LogAnalyzer) is used for log analysis. The software extracts error patterns from the log data and identifies system malfunctions. The input is the collected log data, and the output is the malfunction identification results (a list of error patterns).
[1563] Step 3:
[1564] The server sends the analysis results to a generative AI. The generative AI (e.g., GPT-4) generates specific cause analyses and countermeasures in natural language based on the log analysis results. The input is a list of error patterns, and the output is a description of the problem generated in natural language.
[1565] Step 4:
[1566] The generated explanation is then converted into a prompt and sent to the generative AI. The prompt is a statement describing specific countermeasures based on information extracted from the log data. An example of a prompt is the following:
[1567] According to the log data, the following issues are occurring:
[1568] Robot A has experienced three failed sensor reading errors. This issue may be caused by a sensor calibration error or poor contact. Recommended solutions include recalibrating the sensor and inspecting the contacts.
[1569] Robot B has experienced two low battery errors. This issue may be due to battery life or wear. Possible solutions include replacing the battery with a new one or improving battery management.
[1570] Step 5:
[1571] The server notifies the user's device of the generated description. The notification is sent to the user's device using an email transmission system (e.g., smtplib). The input is the generated natural language description, and the output is an email notification to the user. By receiving this notification, the user can quickly understand specific information about the problem and the steps to take to resolve it.
[1572] Through these steps, the server can effectively manage the log data of factory robots, quickly identify defects using generative AI, and notify users of countermeasures.
[1573] 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.
[1574] The present invention relates to a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described in detail below.
[1575] Log collection server
[1576] Server Operation
[1577] The server automatically opens the log file, reads all lines, and stores them in a list, allowing for real-time collection of system activity and error information.
[1578] Data analysis server
[1579] Server Operation
[1580] The server analyzes the collected log data and extracts error-related log entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). Based on the extracted error logs, it aggregates the type of error and the number of occurrences, and generates summary information about the problem.
[1581] Generative AI Server
[1582] Server Operation
[1583] The server uses the summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[1584] Emotion Engine
[1585] Server Operation
[1586] The emotion engine analyzes the emotional data sent from the user's device and recognizes the user's current emotional state. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1587] Notification terminal
[1588] Device behavior
[1589] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1590] Specific examples
[1591] For example, if your system log file contains the following entry:
[1592] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1593] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1594] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1595] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1596] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[1597] ERROR: Failed to connect to database occurs twice
[1598] FAIL: Memory allocation failed 1 time
[1599] CRITICAL: Disk space exhausted occurred once
[1600] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1601] According to the log data, the following issues are occurring:
[1602] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1603] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1604] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1605] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[1606] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[1607] ...
[1608] The above notification is sent to the user's terminal, allowing the user to take appropriate measures promptly.
[1609] This concludes the description of the embodiment of the present invention, which provides users with appropriate information and countermeasures by combining log data collection, data analysis, explanation generation using generative AI, and an emotion engine.
[1610] The processing flow will be explained below.
[1611] Step 1:
[1612] The server opens the log file, reads all the lines, and saves them as a list, collecting data about system and application activity.
[1613] Step 2:
[1614] Analyzes the log data collected by the server to find log entries related to the failure, filtering relevant entries using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL").
[1615] Step 3:
[1616] The server aggregates the number and types of errors based on the filtered log entries and generates summary information for the error log.
[1617] Step 4:
[1618] Based on the summary information generated by the server, a prompt for the generative AI is created and sent to the generative AI, which includes a summary of the error log and details of each error.
[1619] Step 5:
[1620] The server receives the response from the generative AI and generates a natural language explanation of the cause of the problem and how to fix it. The explanation is then saved in a format that is easy to understand and useful to the user.
[1621] Step 6:
[1622] The emotion engine receives emotion data from the user's device and analyzes the user's emotional state, recognizing emotions such as frustration and relief.
[1623] Step 7:
[1624] The server receives the analysis results of the emotion engine and adjusts the tone of the natural language explanations created by the generative AI. For example, if the user is feeling frustrated, the explanation will be changed to a more polite and friendly tone.
[1625] Step 8:
[1626] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1627] Step 9:
[1628] The user receives a notification from the device, checks the details of the problem and the proposed solution, and takes action to resolve the system problem according to the proposed solution.
[1629] Example 2
[1630] 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."
[1631] While conventional systems can identify problems by collecting and analyzing log data, it is difficult to provide an explanation of the problem in a way that is easy for users to understand and in an appropriate tone. Furthermore, notifications do not take into account the user's emotional state, resulting in a poor user experience.
[1632] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1633] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying defects, means for generating explanations in natural language using generative AI based on information about the defects, means for analyzing user emotion data and adjusting the tone and expression of the generated natural language explanations, and means for notifying the user of the generated natural language explanations. This makes it possible to provide the user with appropriate and easy-to-understand explanations of defects and to notify them according to the user's emotional state.
[1634] "Log data" refers to data that records the operating status and error information of systems and applications.
[1635] "Analysis" is the process of extracting specific patterns or information from collected data.
[1636] A "glitch" is an error or problem that prevents a system or application from working properly.
[1637] "Generative AI" is a system that uses artificial intelligence technology to generate natural language sentences from given data.
[1638] A "natural language explanation" is a document that describes specialized technical information in a way that is easy for users to understand.
[1639] "Emotion data" is information that indicates the user's current emotional state.
[1640] "Adjusting tone and expression" means changing the wording of the generated text depending on the user's emotional state.
[1641] A "terminal" is an electronic device used by a user, such as a computer, smartphone, or tablet.
[1642] The present invention relates to a system that identifies defects from log data, generates explanations in natural language using generative AI, and notifies users of appropriate information by combining this with an emotion engine that recognizes the user's emotions. A specific embodiment of this system will be described in detail.
[1643] Log collection server operation
[1644] The server automatically opens the system log file, reads all lines, and stores them in a list. This operation collects system operation status and error information in real time. A general server computer is used as the hardware, and Python is used as the software.
[1645] Data analysis server operation
[1646] The server analyzes the collected log data and extracts error-related log entries. To do this, it uses a Python regular expression library to detect patterns such as "ERROR," "FAIL," and "CRITICAL." Based on the extracted error logs, it tallys up the type of error and the number of occurrences, and generates summary information about the problem.
[1647] Operation of generative AI server
[1648] The server uses summary information about the defect to create a prompt for the generative AI to generate an explanation. The generative AI used is, for example, GPT-4. The generative AI receives the prompt and generates a natural language sentence that explains in detail the cause of the defect and how to resolve it. This explanation is saved in a format that is easy for the user to understand.
[1649] Emotion Engine Operation
[1650] The server analyzes the emotion data sent from the user's device and recognizes the user's current emotional state. The emotion engine uses, for example, IBM Watson or Google Cloud Natural Language API. The emotion engine recognizes the user's emotions and adjusts the tone and expression of the explanations created by the generative AI based on that. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1651] Notification terminal operation
[1652] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device. The notification includes details of the problem and a solution. The content and tone of the notification may be adjusted based on the analysis results of the emotion engine.
[1653] Specific examples
[1654] For example, if your system log file contains the following entry:
[1655] 2023-10-01 12:00:00 ERROR: Failed to connect to database
[1656] 2023-10-01 12:01:00 FAIL: Memory allocation failed
[1657] 2023-10-01 12:02:00 ERROR: Failed to connect to database
[1658] 2023-10-01 12:03:00 CRITICAL: Disk space exhausted
[1659] In this case, the server collects the entries above, and the data analysis server analyzes them to summarize the occurrences of the error pattern as follows:
[1660] ERROR: Failed to connect to database occurs twice
[1661] FAIL: Memory allocation failed 1 time
[1662] CRITICAL: Disk space exhausted occurred once
[1663] Based on this summary information, the generative AI server generates a natural language explanation like this:
[1664] According to the log data, the following issues are occurring:
[1665] An error occurred twice indicating that the database connection failed. This problem may be caused by network instability or a misconfiguration of the database server. Specific measures recommended include checking the network connection and rechecking the database server settings.
[1666] A memory allocation failure error occurred 1 time. This problem may be caused by a memory shortage on the system or a memory leak in an application. To take appropriate measures, it is important to stop unnecessary applications and monitor memory usage.
[1667] A critical error occurred 1 time(s) indicating that there is insufficient disk space. This problem is caused by a disk that has run out of free space. As an immediate solution, consider deleting unnecessary files or expanding your disk.
[1668] If the emotion engine recognizes the user's current emotional state as "frustrated," it will adjust the tone of the notification to be more friendly. For example,
[1669] Dear users, we are experiencing some issues, but don't worry, you can take steps to fix them:
[1670] ...
[1671] The generated explanation is sent to the user's device, allowing the user to quickly take appropriate measures, improving the user experience and enabling system troubles to be resolved more quickly.
[1672] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1673] Program processing flow
[1674] Step 1: Collect log data
[1675] Specific explanation
[1676] The server periodically scans the system's log files and collects the most recent log entries.
[1677] input
[1678] The path and contents of the log file.
[1679] Data processing / data calculation
[1680] The server opens the log file and reads each line into a list.
[1681] output
[1682] A list of log entries.
[1683] Step 2: Analyze the error log
[1684] Specific explanation
[1685] The server uses regular expressions to parse the collected log data to extract error log entries.
[1686] input
[1687] A list of log entries.
[1688] Data processing / data calculation
[1689] The server filters out lines containing keywords such as "ERROR", "FAIL" and "CRITICAL".
[1690] output
[1691] A list of error log entries.
[1692] Step 3: Generate defect summary information
[1693] Specific explanation
[1694] The server aggregates the error log entries and generates a failure summary.
[1695] input
[1696] A list of error log entries.
[1697] Data processing / data calculation
[1698] The number of occurrences of each error pattern is tallied.
[1699] output
[1700] Defect summary information.
[1701] Step 4: Prompt creation and explanation generation
[1702] Specific explanation
[1703] The server creates a prompt to send to the generative AI based on the defect summary information, and generates a defect description in natural language.
[1704] input
[1705] Defect summary information.
[1706] Data processing / data calculation
[1707] The server creates a prompt and sends it to the generative AI, which then generates a natural-language explanation that includes the cause of the problem and a solution.
[1708] output
[1709] The generated defect description.
[1710] Step 5: Analyze the sentiment data
[1711] Specific explanation
[1712] The server analyzes the user's emotional data and recognizes the user's current emotional state.
[1713] input
[1714] Emotion data sent by the user.
[1715] Data processing / data calculation
[1716] The server analyzes the emotional data to determine the user's emotional state.
[1717] output
[1718] The user's emotional state.
[1719] Step 6: Adjust the tone of your description
[1720] Specific explanation
[1721] The server adjusts the tone of the generated description based on the analyzed emotional state.
[1722] input
[1723] Generated defect descriptions and the user's emotional state.
[1724] Data processing / data calculation
[1725] The wording and expression of the generated description are adapted to the user's emotional state.
[1726] output
[1727] Adjusted bug description.
[1728] Step 7: Notify users
[1729] Specific explanation
[1730] The terminal obtains the adjusted defect description and defect summary information and notifies the user.
[1731] input
[1732] Adjusted defect description and defect summary information.
[1733] Data processing / data calculation
[1734] The device creates a notification message and sends it to the user's email address or mobile device.
[1735] output
[1736] Notifications sent to users.
[1737] Specific examples
[1738] Prompt Sentence Examples
[1739] Please generate a description of the cause and solution of the problem based on the following problem information.
[1740] Bug Information:
[1741] I've had two database connection failures.
[1742] One memory allocation failure occurred.
[1743] One critical error occurred: insufficient disk space.
[1744] Specific processing of the program
[1745] Collecting log data
[1746] The server automatically scans the system log files and reads every line. It uses a Python script to read the log files in a specified directory and save them in a list format.
[1747] Analyzing the error log
[1748] The server uses a regular expression library to extract lines containing keywords such as "ERROR", "FAIL", and "CRITICAL" from the log data, and stores the extracted error logs in a new list.
[1749] Generate defect summary information
[1750] The server counts the number of occurrences of each error pattern based on the extracted error log entries, and saves the count results as summary information.
[1751] Prompt creation and explanation generation
[1752] The server creates a prompt based on the summary information and sends it to a generative AI, such as GPT-4, which receives the prompt and generates a natural language explanation that includes the cause of the problem and a solution.
[1753] Emotional Data Analysis
[1754] The server receives the emotional data sent from the user's device and analyzes the emotional state using IBM Watson or Google Cloud Natural Language API. The analysis results are saved as the user's emotional state.
[1755] Adjusting the tone of the description
[1756] The server adjusts the tone and expression of the generated explanation based on the user's emotional state: if the emotional state is "frustrated," the explanation is modified to be more friendly.
[1757] User Notification
[1758] The terminal creates a notification message containing the tailored fault description and summary information and sends it to the user's email address or mobile device using an SMTP server, allowing the user to take appropriate measures promptly.
[1759] (Application example 2)
[1760] 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."
[1761] Modern factories employ many robots, and there is a need to monitor their behavior and performance in real time. However, it is not easy to analyze the robot's operation logs, identify malfunctions, and notify managers of prompt and appropriate countermeasures. Furthermore, the content of notifications is uniform, making it difficult to respond to the manager's emotional state. An effective system to solve this problem is needed.
[1762] 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.
[1763] In this invention, the server includes means for collecting log data, means for analyzing the collected log data and identifying malfunctions, means for generating a natural language explanation of information about the malfunction using generative AI, means for notifying the user of the generated natural language explanation, means for recognizing the user's emotion, and means for adjusting the tone and expression of the notification content based on the recognized emotion. This makes it possible to monitor the operating status of the robot in real time and, when a malfunction occurs, notify the user of appropriate countermeasures according to the emotion.
[1764] "Log data" is data that records the operating status of a system or device.
[1765] "Analysis" is the act of examining collected data in detail and extracting specific information.
[1766] A "failure" is a condition or error in which a system or device does not function properly.
[1767] "Generative AI" refers to technology that uses artificial intelligence to automatically generate text and information.
[1768] A "natural language explanation" is an explanation written in a natural language that is easy for humans to understand.
[1769] "Notification" refers to the act or means of informing others of information.
[1770] A "terminal" is a device or equipment connected to an information processing system.
[1771] Emotions are the state of mind and feelings of a person.
[1772] "Tone" refers to the tone or mood of a sentence or statement.
[1773] "Expression" is the act of expressing thoughts and feelings in words or letters.
[1774] This invention is a system that identifies defects from log data, generates natural language explanations using generative AI, and notifies users of appropriate information by combining it with an emotion engine that recognizes the user's emotions. Specific embodiments are described below.
[1775] Log collection server
[1776] The server automatically collects log data by opening the log file and reading all lines, thereby collecting information on system operation status and errors in real time.
[1777] Data analysis server
[1778] The server analyzes the collected log data and identifies the problem. The analysis method uses regular expression patterns (e.g., "ERROR," "FAIL," "CRITICAL") and compiles the error type and number of occurrences based on the error log data to generate summary information about the problem.
[1779] Generative AI Server
[1780] The server creates a prompt for the generative AI to generate an explanation based on the summary information of the defect. The generative AI uses this prompt to generate a natural language sentence that explains in detail the cause of the defect and how to solve it. This explanation is saved in a format that is easy for the user to understand.
[1781] Emotion Engine
[1782] The emotion engine analyzes the user's emotions by analyzing the emotional data sent from the user's device and recognizing their current emotional state. Based on this, the emotion engine adjusts the tone and expression of the explanations created by the generative AI. For example, if the user is feeling frustrated, the tone of the explanations will be made more friendly.
[1783] Notification terminal
[1784] The device receives the generated natural language description and summary information from the error log and sends a notification to the user's email address or mobile device, which may be adjusted based on the analysis results of the emotion engine.
[1785] Hardware and software used
[1786] To implement this invention, a log collection server, a data analysis server, a generative AI server, and an emotion engine are required. Python or OpenAI APIs are suitable software. EmotionRecognizer can also be used for emotion recognition.
[1787] Specific examples
[1788] For example, if your system log file contains the following entry:
[1789] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[1790] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[1791] The data analysis server analyzes these entries and extracts the error information. The generative AI server generates a natural language explanation like this:
[1792] According to the log data, the following issues are occurring:
[1793] An error occurred while connecting to the operational server. Please check your network connection.
[1794] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[1795] If the emotion engine recognizes the admin's emotion as "frustrated", the notification terminal will send a notification in a friendly tone like this:
[1796] Dear user, we are experiencing some issues, but don't worry, the following errors have been detected:
[1797] Failed to connect to operational server. Please check your network connection.
[1798] An unexpected shutdown has occurred. Please check the power supply and hardware status.
[1799] Prompt Sentence Examples
[1800] Please explain the cause of the problem and what to do based on the error log below.
[1801] Error log:
[1802] 2023-10-01 12:00:00 ERROR: Failed to connect to operational server
[1803] 2023-10-01 12:01:00 CRITICAL: Unexpected shutdown
[1804] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1805] Step 1:
[1806] The server collects log data by opening the specified log file, reading all lines, and storing them in a list. The input is the raw log data, and the output is a list of the log data line by line.
[1807] Step 2:
[1808] The server analyzes the collected log data and identifies the failures. Specifically, it detects error patterns in the log data using regular expression patterns (e.g., "ERROR", "FAIL", "CRITICAL"). The input is the list of log data obtained in step 1, and the output is a list of detected error logs.
[1809] Step 3:
[1810] The server generates summary information of the error based on the detected error logs. Specifically, it aggregates the type of error and the number of occurrences and generates the summary information of the error. The input is the list of error logs obtained in step 2, and the output is the summary information of the error logs.
[1811] Step 4:
[1812] The server uses the summary information of the defect to create a prompt for the generative AI to generate an explanation. Specifically, the summary information of the defect is converted into text and input to the generative AI as a prompt. This input is the summary information obtained in step 3, and the output is a prompt sentence.
[1813] Step 5:
[1814] The server uses a generative AI to generate a natural language explanation based on the prompt. Specifically, it calls the generative AI's API, inputs the prompt, and obtains a natural language explanation. The input is the prompt obtained in step 4, and the output is a natural language explanation.
[1815] Step 6:
[1816] The server receives the user's emotional data and analyzes it with the emotion engine. Specifically, the emotion engine analyzes the emotional data sent from the user's device and identifies the user's emotional state. The input is the emotional data from the user, and the output is the identified emotional state of the user.
[1817] Step 7:
[1818] The server adjusts the tone and expression of the natural language explanation generated by the generative AI based on the user's emotional state. Specifically, it changes the tone and expression of the explanation according to the recognized emotional state. The input is the natural language explanation obtained in step 5 and the emotional state obtained in step 6, and the output is the adjusted natural language explanation.
[1819] Step 8:
[1820] The server notifies the user's device of the adjusted natural language description and summary information of the error log. Specifically, it sends a notification by email or to a mobile device. The input is the adjusted description obtained in step 7 and the summary information obtained in step 3, and the output is a notification to the user's device.
[1821] Step 9:
[1822] The user receives the notification and takes appropriate measures. Specifically, the user checks the system status based on the notified information and takes the necessary action. The input is the received notification, and the output is the action taken.
[1823] 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.
[1824] 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.
[1825] 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.
[1826] 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.
[1827] 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.
[1828] 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.
[1829] 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).
[1830] 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.
[1831] 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."
[1832] 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.
[1833] 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).
[1834] 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.
[1835] 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.
[1836] 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.
[1837] 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.
[1838] 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.
[1839] 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.
[1840] 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.
[1841] 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.
[1842] 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.
[1843] 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.
[1844] The following is further disclosed regarding the above embodiment.
[1845] (Claim 1)
[1846] a means for collecting log data;
[1847] A means for analyzing the collected log data and identifying defects;
[1848] A means of generating explanations in natural language using generative AI for information about defects,
[1849] means for notifying a user of the generated natural language explanation on the user's terminal;
[1850] A system including:
[1851] (Claim 2)
[1852] 2. The system of claim 1, further comprising means for detecting an error pattern in the log data as information regarding the malfunction.
[1853] (Claim 3)
[1854] The system of claim 1, further comprising means for generating a prompt for generating an explanation for the generative AI and for obtaining the generated explanation.
[1855] "Example 1"
[1856] (Claim 1)
[1857] a means for collecting log data;
[1858] A means for analyzing the collected log data and identifying defects;
[1859] means for counting the number of occurrences of an error pattern and generating summary information of the defect;
[1860] A means of generating a summary of the defect in natural language using generative AI;
[1861] means for notifying a user of the generated natural language explanation on the user's terminal;
[1862] A system including:
[1863] (Claim 2)
[1864] 10. The system of claim 1, further comprising means for storing summary information about the defect in a JSON format.
[1865] (Claim 3)
[1866] The system according to claim 1, further comprising means for creating a prompt sentence for the generative AI to generate an explanation and storing the generated explanation in a database.
[1867] "Application Example 1"
[1868] (Claim 1)
[1869] a means for collecting log data;
[1870] A means for analyzing the collected log data and identifying defects;
[1871] A means of generating explanations in natural language using generative AI for information about defects,
[1872] means for notifying a user of the generated natural language explanation on the user's terminal;
[1873] If the target system is a factory robot, a means for collecting the operation log of each robot in real time;
[1874] If the target system is a factory robot, the generative AI will generate specific countermeasures for the defect in natural language based on the log analysis results.
[1875] A system including:
[1876] (Claim 2)
[1877] 2. The system of claim 1, further comprising means for detecting an error pattern in the log data as information regarding the malfunction.
[1878] (Claim 3)
[1879] The system of claim 1, further comprising means for generating a prompt for generating an explanation for the generative AI and for obtaining the generated explanation.
[1880] "Example 2: Combining Emotion Engines"
[1881] (Claim 1)
[1882] a means for collecting log data;
[1883] A means for analyzing the collected log data and identifying defects;
[1884] A means of generating explanations in natural language using generative AI for information about defects,
[1885] means for analyzing the user's emotional data and adjusting the tone and expression of the generated natural language explanation;
[1886] means for notifying a user of the generated natural language explanation on the user's terminal;
[1887] A system including:
[1888] (Claim 2)
[1889] 2. The system of claim 1, further comprising means for detecting an error pattern in the log data as information regarding the malfunction.
[1890] (Claim 3)
[1891] The system of claim 1, further comprising means for generating a prompt for generating an explanation for the generative AI and for obtaining the generated explanation.
[1892] "Application example 2 when combining emotion engines"
[1893] (Claim 1)
[1894] a means for collecting log data;
[1895] A means for analyzing the collected log data and identifying defects;
[1896] A means of generating explanations in natural language using generative AI for information about defects,
[1897] means for notifying a user of the generated natural language explanation on the user's terminal;
[1898] means for recognizing a user's emotion;
[1899] a means for adjusting the tone and wording of the notification content based on the perceived emotion;
[1900] A system including:
[1901] (Claim 2)
[1902] 2. The system of claim 1, further comprising means for detecting an error pattern in the log data as information regarding the malfunction.
[1903] (Claim 3)
[1904] The system of claim 1, further comprising means for generating a prompt for generating an explanation for the generative AI and for obtaining the generated explanation. [Explanation of symbols]
[1905] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. a means for collecting log data; A means for analyzing the collected log data and identifying defects; A means of generating explanations in natural language using generative AI for information about defects, means for notifying a user of the generated natural language explanation on the user's terminal; A system including:
2. 2. The system of claim 1, further comprising means for detecting an error pattern in the log data as information regarding the malfunction.
3. The system according to claim 1, further comprising means for generating a prompt for generating an explanation for the generative AI and for acquiring the generated explanation.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A