system
The system addresses user interruption issues by analyzing screenshots for PC operation interruptions, using OCR and generative models to provide timely solutions, thereby improving productivity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Existing systems fail to effectively identify the reasons for user interruptions during PC operation, leading to reduced productivity and inefficient problem resolution.
A system that captures screenshots when user inactivity is detected, analyzes the image data using optical character recognition, infers the reason for interruption using a generative model, and provides appropriate solutions, allowing for user feedback to improve accuracy.
Quickly and accurately identifies the cause of user interruptions and provides relevant solutions, enhancing productivity by reducing the time spent on problem resolution and improving user efficiency.
Smart Images

Figure 2026036069000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's work environment, there are many factors that can reduce productivity while a user is using a PC. In particular, it is common for users to interrupt their operations, causing work to come to a halt for unknown reasons. Effective methods and systems for dealing with such situations are currently limited, and there is a need for a means to improve user productivity. The present invention aims to improve user productivity by inferring the reason why a user interrupts their PC operation and providing an appropriate solution. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by using the following means. The present invention comprises means for capturing a screenshot when a user terminal is not operated for a certain period of time, and means for analyzing the captured screenshot as text using a recognition function. The present invention also comprises generative model means for inferring the reason why the user has stopped operating using the analyzed text data and generating an appropriate solution. The present invention further comprises means for providing the generated solution to the user terminal and receiving and recording feedback from the user. This makes it possible to quickly and accurately identify the reason why the user has stopped operating and provide an appropriate solution, thereby improving user productivity.
[0006] A "user terminal" is a computing device, such as a computer or mobile device, operated by a user.
[0007] A "screenshot" is the operation of capturing the contents of a screen displayed on a user's device in image format, or the image data thereof.
[0008] A "recognition function" is software or hardware that has the ability to automatically identify and extract text or objects from image data, audio data, etc.
[0009] "Analyzing as characters" refers to extracting text information from image data and converting it into character string data.
[0010] "Analyzed character data" is text information extracted from image data by the recognition function.
[0011] "Reasons for interrupting operation" refers to the causes or circumstances that caused the user to stop operating the PC.
[0012] An "appropriate solution" refers to the best response or advice to a user's problem or issue.
[0013] A "generative model" is an algorithm using artificial intelligence or machine learning that is used to generate solutions or predictions.
[0014] A "generated solution" refers to specific advice or suggestions for a user's problem that are inferred using a generative model.
[0015] "Feedback" refers to information such as opinions, impressions, and questions provided by users.
[0016] "Recording means" refers to the process by which captured data and information is stored for future reference. [Brief explanation of the drawings]
[0017] [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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[0039] System configuration
[0040] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[0041] Operation on the user device side
[0042] 1. Operation monitoring
[0043] The user terminal sets a timer for periodically monitoring user operation events.
[0044] If the user is inactive for a period of time (e.g., 5 minutes), a timer is triggered.
[0045] 2. Taking a screenshot
[0046] When a trigger occurs, the user's device takes a screenshot of the current screen.
[0047] The captured screenshot is temporarily saved as image data.
[0048] 3. Send to the server
[0049] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request.
[0050] Server-side behavior
[0051] 1. Receiving screenshots
[0052] The server has an API endpoint that receives screenshots sent from the user's device.
[0053] The received image data is stored in a database.
[0054] 2. Character Recognition and Analysis
[0055] The server performs OCR (optical character recognition) processing on the received screenshot.
[0056] Extracts character data from an image and saves it as string data.
[0057] 3. Reasoning
[0058] The server inputs the extracted character data into a generative model to infer why the user is interrupting the operation.
[0059] Based on the inference results, an appropriate solution is generated.
[0060] 4. Proposal Distribution
[0061] The server transmits the generated solution to the user terminal.
[0062] 5. Processing Feedback
[0063] Receive user feedback and store it in a database.
[0064] Analyze accumulated feedback data to identify common issues.
[0065] Generate and deliver specific suggestions to users for identified issues.
[0066] Specific examples
[0067] Example 1: Interruption while editing a document
[0068] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and sends it to the server. The server analyzes the screenshot to determine that the user is currently editing a document, and generates a solution that suggests reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed to the user.
[0069] Example 2: Break on Error
[0070] When a user encounters an error while editing the source code of a program and aborts the operation, the user terminal takes a screenshot and sends it to the server. The server analyzes the error message from the screenshot and generates a solution that provides how to resolve the error and related documentation. The solution is then sent to the user terminal and displayed to the user.
[0071] In this way, the system can quickly and accurately identify the reason why the user has stopped working and provide an appropriate solution, thereby improving the user's productivity.
[0072] The processing flow will be explained below.
[0073] Step 1:
[0074] User Action Monitoring
[0075] The terminal sets a timer that monitors user operation events (mouse clicks, keyboard input, etc.) Specifically, it is set to trigger if the user does not perform any operation for a certain period of time (for example, 5 minutes).
[0076] Step 2:
[0077] Taking a screenshot
[0078] When the timer is triggered, the device takes a screenshot of the currently displayed screen, capturing the screen state while the user is away.
[0079] Step 3:
[0080] Send screenshot to server
[0081] After the screenshot is taken, the device compresses the image data and sends it to the server via an HTTP POST request, which transfers the screenshot data to the server.
[0082] Step 4:
[0083] Receiving screenshots
[0084] The server has an API endpoint that receives screenshots sent from the device, and the received image data is stored in a database on the server.
[0085] Step 5:
[0086] character recognition
[0087] The server analyzes the saved screenshot by running it through a character recognition tool (e.g., Tesseract OCR), which extracts the text data in the screenshot.
[0088] Step 6:
[0089] Saving text data
[0090] The text data extracted by OCR is stored in a database on the server along with screenshot metadata (such as timestamp and user ID).
[0091] Step 7:
[0092] Inferring user abandonment reasons
[0093] The server inputs the extracted text data into a generative AI model (e.g., GPT-4 (registered trademark)) to infer the reason why the user paused their PC operation. For example, it can infer reasons such as "editing a document" or "an error message is displayed."
[0094] Step 8:
[0095] Solution Generation
[0096] Based on the inference results, the server generates appropriate solutions, such as specific suggestions like "Please refer to this document for ideas in the next paragraph" or "Please refer to this document to resolve the error."
[0097] Step 9:
[0098] Submit a solution
[0099] The generated solutions are sent from the server to the device, allowing the user to receive the proposals quickly.
[0100] Step 10:
[0101] View Solution
[0102] The device will display the received solution to the user as a pop-up or notification, allowing the user to quickly see specific measures and next steps.
[0103] Step 11:
[0104] Accepting Feedback
[0105] Users can provide feedback on the suggestions displayed, which is collected through a chat function.
[0106] Step 12:
[0107] Send Feedback
[0108] The device sends the user-entered feedback to the server, providing the server with data to improve its next suggestions.
[0109] Step 13:
[0110] Feedback storage and analysis
[0111] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[0112] Step 14:
[0113] Generate and deliver specific proposals
[0114] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[0115] In this way, the system can quickly and accurately identify the reason why the user is interrupting an operation and provide an appropriate solution, thereby improving the user's productivity.
[0116] Example 1
[0117] 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."
[0118] When users operate a computer, they often experience sudden interruptions or stalls in their work. However, if the reason for the interruption cannot be identified and an appropriate solution is not provided, the user's work efficiency decreases. Furthermore, trying to resolve the cause of the interruption on one's own can consume time and resources and cause stress. Furthermore, if user feedback is not utilized appropriately, there is a risk that the same problem will occur repeatedly. To solve these issues, a system is needed that can quickly identify the reason for the interruption and provide an appropriate solution.
[0119] 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.
[0120] In this invention, the server includes means for setting a timer when there is no operation on the user terminal for a certain period of time and monitoring operation events; means for capturing a screenshot of the current screen when a trigger occurs; means for compressing the captured screenshot and transmitting it to the server; means for compressing and saving the screenshot received by the server; means for analyzing character data included in the saved screenshot using a character recognition tool; means for inputting the analyzed character data into a generative model and inferring the reason why the user is interrupting the operation; means for generating an appropriate solution based on the inference result; means for delivering the generated solution to the user terminal; and means for receiving and recording feedback from the user. This makes it possible to quickly and accurately identify the reason why the user is interrupting the operation and provide an appropriate solution. Furthermore, by utilizing user feedback, the accuracy of the solution can be improved, which is expected to improve the user's work efficiency and work environment.
[0121] "User terminal" refers to a computer or mobile device operated by a user.
[0122] A "timer" refers to a time management device that is set to perform notifications or processes at regular intervals.
[0123] "Operation events" refer to actions such as keyboard input, mouse movement, and clicks by the user.
[0124] A "trigger" is a signal or event that initiates an action when certain conditions are met.
[0125] A "screenshot" refers to capturing the current display content of a user's device screen in image format.
[0126] "Compression" refers to the transformation of data using a specific algorithm to reduce the volume of the data.
[0127] "Server" refers to a remote computer that provides functions such as receiving, transmitting, analyzing, and storing data.
[0128] A "character recognition tool" refers to software or algorithms that automatically identify character data in an image and extract it as text data.
[0129] "Analysis" refers to the detailed examination of data and information to understand its meaning and structure.
[0130] A "generative AI model" refers to a computational model that uses artificial intelligence techniques to generate solutions to specific problems.
[0131] "Inference" refers to drawing a conclusion or result based on specific data or conditions.
[0132] A "solution" refers to a proposal or method for solving a particular problem or issue.
[0133] "Feedback" refers to opinions and reactions provided by users regarding a system or service.
[0134] "API Endpoint" means an accessible interface on a server designed to provide specific functionality.
[0135] A "database" refers to a system that enables data to be systematically managed, stored, searched, and updated.
[0136] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[0137] System Configuration
[0138] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[0139] User device behavior
[0140] The user device sets an internal timer and monitors user operation events at regular intervals. This periodic operation monitoring is implemented using JavaScript (registered trademark) or the Python thread library. If the user does not perform any operation for a certain period of time (for example, 5 minutes), the timer is triggered. When this trigger occurs, the user device takes a screenshot of the current screen. This screenshot is taken using the Python Pillow library or PyAutoGUI and temporarily saved in memory. The screenshot is then compressed and sent to the server via an HTTP POST request. Compression is performed using the Python zipfile library, and the HTTP POST request uses the Python requests library.
[0141] Server Operation
[0142] The server uses a framework (such as Flask or Django) to build an API endpoint and receives screenshots sent from the user device. The received screenshots are stored in a compressed state in a database. The saved screenshots are then decompressed and the character data contained in the screenshot is analyzed using a character recognition tool such as Tesseract OCR. The character data obtained as a result of this analysis is saved in text format. The analyzed character data is input into a generative AI model, which infers the reason why the user interrupted the operation. The generative AI model is built using machine learning libraries such as TENSORFLOW (registered trademark) and PyTorch. An appropriate solution is generated based on the inference results and delivered to the user device as an HTTP response.
[0143] The server also receives feedback from users and stores it in a database. The accumulated feedback data is analyzed to identify common problems. Specific suggestions for the identified problems are generated and provided to users as feedback. This analysis utilizes database analysis tools and machine learning techniques.
[0144] Specific examples
[0145] In Example 1, we consider the case where a user pauses editing a document and remains inactive for a certain period of time. In this case, the user's device uses the Pillow library to take a screenshot and send it to the Flask server. The server then uses Tesseract to analyze the situation as "document editing in progress," and uses TensorFlow to generate reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed.
[0146] In Example 2, consider a case where a user encounters an error while editing the source code of a program and aborts the operation. The user's device takes a screenshot using the Pillow library and sends it to the Flask server. The server uses Tesseract to analyze the error message and generate a solution that provides relevant documentation and solutions. The solution is then sent to the user's device and displayed.
[0147] Prompt Sentence Examples
[0148] "If a program is repeatedly interrupted, we use a generative AI model to infer the reason for the interruption and how to resolve it."
[0149] In this way, the present invention can quickly and accurately identify the reason for the user's interruption of operation and provide an appropriate solution, thereby improving the user's productivity.
[0150] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0151] Step 1: Operational monitoring
[0152] The user device sets an internal timer and monitors user operation events (keyboard input, mouse movement, clicks, etc.) at regular intervals. For example, JavaScript's setTimeout function or Python's threading.Timer is used. This timer runs every 5 minutes and detects if there is no operation. It receives the timer setting time (e.g. 300 seconds) as input, and generates a trigger signal to proceed to the next step as output if there is no operation.
[0153] Specific behavior:
[0154] JavaScript example: setTimeout(function() { checkUserActivity();}, 300000);
[0155] Python example: timer = threading.Timer(300, check_user_activity); timer.start()
[0156] Step 2: Taking a screenshot
[0157] When a trigger occurs, the user device takes a screenshot of the current screen. The screenshot is captured using Python's Pillow library or PyAutoGUI. The trigger signal is received as input, and the captured screenshot image (e.g., PNG format) is temporarily saved in memory as output.
[0158] Specific behavior:
[0159] Python example: import pyautogui; screenshot = pyautogui.screenshot(); screenshot.save("screenshot.png")
[0160] Step 3: Send to the server
[0161] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request. The Python zipfile library is used for compression, and the requests library is used for the HTTP request. The screenshot image is received as input, and the compressed screenshot is sent to the server as output.
[0162] Specific behavior:
[0163] Compression example: import zipfile; with zipfile.ZipFile("screenshot.zip", "w") as zipf: zipf.write("screenshot.png")
[0164] Example of sending a request: import requests; with open("screenshot.zip", "rb") as f: response = requests.post("http: / / server / api / upload", files={"file": f})
[0165] Step 4: Receiving screenshots
[0166] The server receives screenshots sent from user devices via an API endpoint. The endpoint is built using the Flask or Django framework. It takes the received compressed file as input and stores the file in a database (e.g., MySQL (registered trademark), PostgreSQL) as output.
[0167] Specific behavior:
[0168] Flask example: from flask import Flask, request; app = Flask(__name__); @app.route(' / api / upload', methods=['POST']) def upload_file(): file = request.files['file']; file.save(" / path / to / save / screenshot.zip"); return "File uploaded successfully", 200
[0169] Step 5: Character Recognition and Analysis
[0170] The server unzips the received screenshot and extracts the text data using a character recognition tool such as Tesseract OCR. It receives the compressed file as input and obtains the extracted text data (in text format) as output.
[0171] Specific behavior:
[0172] Unzip example: import zipfile; with zipfile.ZipFile("screenshot.zip", "r") as zipf: zipf.extractall(" / path / to / extract")
[0173] Tesseract example: import pytesseract; from PIL import Image; image = Image.open(" / path / to / extract / screenshot.png"); text = pytesseract.image_to_string(image)
[0174] Step 6: Reasoning
[0175] The server inputs the extracted text data into a generative AI model to infer the reason why the user interrupted the operation. The AI model uses TensorFlow and PyTorch for inference processing. It receives the extracted text data as input and obtains the reason for the user interruption and a solution as output.
[0176] Specific behavior:
[0177] Example of inference for a generative AI model: import tensorflow as tf; model = tf.keras.models.load_model("model_path"); result = model.predict([text]); print(result)
[0178] Step 7: Distributing the proposal
[0179] The server delivers the generated solution to the user device as an HTTP response, using Flask's response function. It receives the generated solution as input and sends the solution to the user device as output.
[0180] Specific behavior:
[0181] Flask response example: @app.route(' / api / solution', methods=['POST']) def send_solution(): solution = generate_solution(request.json['text']); return {'solution': solution}, 200
[0182] Step 8: Processing feedback
[0183] The server receives user feedback and stores it in a database. It analyzes the accumulated feedback data and performs analysis to identify common problems. It uses AI models and database analysis tools. It takes user feedback as input and generates problem identification and specific suggestions as output.
[0184] Specific behavior:
[0185] Example of receiving and saving feedback: @app.route(' / api / feedback', methods=['POST']) def receive_feedback(): feedback = request.json['feedback']; save_to_database(feedback); return "Feedback received", 200
[0186] In this way, the system identifies the reason for the user's interruption and provides an appropriate solution.
[0187] (Application example 1)
[0188] 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."
[0189] The present invention relates to a system that quickly identifies the cause of a factory interruption and provides an effective solution when a user interrupts operation. Conventional systems require workers to manually identify the problem and search for a solution, which takes time and reduces productivity. Furthermore, when work procedures are complicated or error messages are difficult to understand, responding to the interruption can be even more difficult. The present invention aims to solve these problems and improve work efficiency.
[0190] 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.
[0191] In this invention, the server includes a means for providing the acquired solution to a display device worn by a user, a means for inferring a problem and a solution when work is interrupted in a factory, and a means for displaying the solution on the display device. This makes it possible to quickly identify the reason when a worker interrupts work and present an appropriate solution.
[0192] "User terminal" is a general term for computers and mobile devices operated by users.
[0193] A "screenshot" is an image of what is displayed on the screen of a user's device.
[0194] The "recognition function" is a function that analyzes text and images from captured screenshots.
[0195] A "generative model" is a model that uses artificial intelligence and machine learning to analyze data and generate solutions.
[0196] A "display device" is a hardware device used to display information to a user, including smart glasses and head-mounted displays.
[0197] "Feedback" refers to information such as opinions, impressions, and suggestions for improvement sent by users.
[0198] "Problems that occur when work is interrupted in a factory" refers to problems or troubles that cause workers to stop working in a factory.
[0199] A "solution" is a specific method or means suggested by a generative model to solve the work interruption problem.
[0200] A "character recognition tool" is software or hardware that identifies characters contained in an image and extracts them as text data.
[0201] "Work environment" refers to the physical location and surroundings where a user works.
[0202] "Notification" is a means by which the system provides information to the user, including displaying solutions or suggestions on a display device.
[0203] "Smart glasses" are a type of display device and a wearable computer in the form of glasses.
[0204] "Image data" refers to visual information captured as a screenshot.
[0205] The present invention is a system that analyzes the cause of a user interruption in a factory and provides an appropriate solution when the user interrupts the operation. This system consists of a user terminal, a server, and a generative model.
[0206] Operation on the user device side
[0207] The smart glasses worn by the user periodically monitor the worker's field of vision. If the user is inactive for five minutes, the smart glasses take a screenshot of the field of vision. This screenshot is temporarily saved as image data and sent to the server via an HTTP POST request.
[0208] Server-side behavior
[0209] 1. Receiving screenshots:
[0210] The server has an API endpoint that receives screenshots sent from the user's device, compresses the image data appropriately, and stores it in a database.
[0211] 2. Character Recognition and Analysis:
[0212] The server runs an OCR (optical character recognition) process on the screenshot using character recognition software such as Tesseract, extracting the text data from the image and saving it as text data.
[0213] 3. Reasoning and generating solutions:
[0214] The server inputs the extracted text data into a generative model to infer the reason why the user stopped operating. This generative model uses natural language processing models such as BERT and GPT-3 (registered trademark). Based on the inference results, an appropriate solution is generated.
[0215] 4. Solution Delivery:
[0216] The server sends the generated solution to the user terminal (smart glasses), which displays the received solution in the worker's field of vision.
[0217] 5. Feedback Processing:
[0218] Receive user feedback and store it in a database. Analyze the feedback data to identify common pain points. Based on the results, generate more specific suggestions and deliver them to users.
[0219] Specific examples
[0220] For example, consider a scenario where a worker on a production line stops operation. When a malfunction of a particular machine causes the work to stop, the smart glasses will take a screenshot of the field of view at that time and send it to the server. The server will analyze the error message from the screenshot and generate a solution that suggests how to repair the machine and related operating procedures. This solution will be sent to the smart glasses and displayed in the worker's field of view.
[0221] Hardware / Software used
[0222] Hardware:
[0223] Smart glasses: devices that monitor the user's field of vision and take screenshots.
[0224] Server: Receives screenshots, recognizes characters, generates solutions, and distributes them.
[0225] software:
[0226] OCR: Character recognition tools such as Tesseract.
[0227] Generative models: Natural language processing models such as BERT and GPT-3.
[0228] Prompt Sentence Examples
[0229] "When a user's operation is suspended for more than 5 minutes, how can we obtain a screenshot of the current situation, infer the reason for the failure or suspension of operation, and provide an appropriate solution? A specific use case is a machine malfunction that occurs during work on a production line."
[0230] This system improves work efficiency and productivity, and enables rapid problem resolution.
[0231] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0232] Step 1:
[0233] A screenshot is taken if there is no activity on the user's device for a certain period of time.
[0234] Input: Operation event (whether the user is performing an operation)
[0235] Data processing: Monitoring operation events
[0236] Output: Take a screenshot after a period of inactivity
[0237] Specific operation: The user device (smart glasses) periodically monitors the operation status, and if the user does not perform any operation for 5 minutes, it automatically takes a screenshot of the field of view.
[0238] Step 2:
[0239] The captured screenshot is sent to the server.
[0240] Input: Screenshot (image data)
[0241] Data processing: Compress image data
[0242] Output: Compressed screenshot sent to server
[0243] Specific operation: The user device appropriately compresses the captured screenshot and sends it to the server via an HTTP POST request.
[0244] Step 3:
[0245] The server receives and stores the screenshots.
[0246] Input: Screenshot (image data) sent
[0247] Data processing: Receiving and storing image data
[0248] Output: Save the received screenshot
[0249] Specific operation: The server receives screenshots sent from the user's device and stores them in a database.
[0250] Step 4:
[0251] The server performs OCR processing to extract text data from the screenshot.
[0252] Input: Saved screenshot (image data)
[0253] Data processing: Extract text from images using OCR (character recognition) tools
[0254] Output: Extracted character data (text data)
[0255] Specific operation: The server uses an OCR tool such as Tesseract to recognize the characters in the screenshot and save them as string data.
[0256] Step 5:
[0257] The server inputs the extracted character data into a generative model, infers the reason for the operation interruption, and generates a solution.
[0258] Input: Extracted character data (text data)
[0259] Data processing: Using generative AI models to make inferences and generate solutions
[0260] Output: Generated solution (text data)
[0261] Specific operation: The server inputs the extracted character data into an AI model such as BERT or GPT-3 to infer the reason for the interruption. Based on this, the generative model generates an appropriate solution.
[0262] Step 6:
[0263] The server transmits the generated solution to the user terminal.
[0264] Input: Generated solution (text data)
[0265] Data processing: sending generated solutions
[0266] Output: The solution sent to the user's terminal
[0267] Specific operation: The server sends the generated solution to the user terminal (smart glasses).
[0268] Step 7:
[0269] The user terminal displays the received solution to the worker.
[0270] Input: Solution sent from the server (text data)
[0271] Data processing: Display of received solutions
[0272] Output: Displayed solution
[0273] Specific operation: The user terminal (smart glasses) displays the solution received from the server in the worker's field of vision and provides appropriate guidance.
[0274] Step 8:
[0275] Receive and record user feedback.
[0276] Input: User feedback (text data)
[0277] Data Processing: Feedback Storage
[0278] Output: Recorded feedback
[0279] Specific operation: The user terminal receives feedback from the worker and transmits it to the server.
[0280] Step 9:
[0281] The server analyzes the feedback data and identifies common issues.
[0282] Input: Recorded feedback data (text data)
[0283] Data processing: Analysis of feedback data
[0284] Output: Identified common issues (text data)
[0285] Specific Actions: The server analyzes the recorded feedback data and identifies common issues.
[0286] Step 10:
[0287] The server generates specific suggestions based on the identified problems.
[0288] Input: Identified common issues (text data)
[0289] Data processing: Use generative AI models to generate specific recommendations
[0290] Output: Generated concrete proposals (text data)
[0291] Specific Actions: Based on the identified problems, the server generates specific suggestions using a generative AI model.
[0292] Step 11:
[0293] The server transmits the generated specific proposal to the user terminal.
[0294] Input: Generated specific proposals (text data)
[0295] Data processing: Sending specific proposals
[0296] Output: Specific proposals sent to the user's device
[0297] Specific operation: The server sends the generated specific proposal to the user terminal (smart glasses) and provides guidance to the worker.
[0298] 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.
[0299] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of solutions. Specific embodiments of the present invention will be described below.
[0300] System configuration
[0301] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[0302] Operation on the user device side
[0303] 1. Operation monitoring
[0304] The user device sets a timer that monitors user operation events (mouse, keyboard input, etc.) If the user does not perform any operation for a certain period of time (e.g., 5 minutes), the timer is triggered.
[0305] 2. Taking a screenshot
[0306] When a trigger occurs, the user's device will take a screenshot of the current screen and store it temporarily.
[0307] 3. Acquiring Emotion Data
[0308] At the same time, the user device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate the user's emotion data.
[0309] 4. Send to the server
[0310] The user device compresses the screenshot and emotion data and sends it to the server via an HTTP POST request.
[0311] Server-side behavior
[0312] 1. Receiving Data
[0313] The server has an API endpoint that receives screenshots and emotion data sent from the user's device and stores this data.
[0314] 2. Character Recognition and Analysis
[0315] The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image, which is then stored in a database.
[0316] 3. Inferring user abandonment reasons
[0317] The server inputs text data and emotion data into a generative model to infer the reason why the user paused the operation. For example, in addition to "editing a document," it can also consider "stress or fatigue" as a reason.
[0318] 4. Solution Generation
[0319] Based on the inference results and emotion data, the server generates more appropriate and personalized solutions, such as "Please refer to this material in the next paragraph" and "We recommend you take a break" as an encouraging message.
[0320] 5. Submit your proposal
[0321] The generated solution is sent from the server to the user terminal and presented to the user.
[0322] 6. Processing Feedback
[0323] Receives user feedback, stores it in a database, analyzes it along with sentiment data, and identifies common issues, which are then used to generate specific recommendations.
[0324] Specific examples
[0325] Example 1: Interruptions and Emotion Recognition During Document Editing
[0326] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot as "editing a document" and associates it with the "fatigue" obtained from the emotion engine. A solution suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break" is generated and sent to the user.
[0327] Example 2: Abort on error and emotion recognition
[0328] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. It then generates a solution suggestion, such as "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down," and sends it to the user.
[0329] In this way, the system comprehensively analyzes the user's reasons for interruption and emotional state, provides appropriate solutions, and supports the user's productivity and mental health.
[0330] The processing flow will be explained below.
[0331] Step 1:
[0332] User operation monitoring
[0333] The device sets a timer to monitor user activity events (mouse clicks, keyboard input, etc.) and is set to trigger after a certain period of inactivity (e.g., 5 minutes).
[0334] Step 2:
[0335] Taking a screenshot
[0336] When the timer is triggered, the device will take a screenshot of the currently displayed screen and temporarily save the screenshot.
[0337] Step 3:
[0338] Acquiring emotion data
[0339] At the same time, the device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate emotional data for the user.
[0340] Step 4:
[0341] Data compression and transmission
[0342] The device compresses the captured screenshot and emotion data and sends it to the server via an HTTP POST request, which transfers the data to the server.
[0343] Step 5:
[0344] Receiving screenshots and emotion data
[0345] The server has an API endpoint that receives screenshots and emotion data sent from the device and stores this data in a database.
[0346] Step 6:
[0347] Performing character recognition
[0348] The server passes the saved screenshot to an OCR tool (e.g., Tesseract OCR) to extract the characters in the image as text data, which is also stored in the database.
[0349] Step 7:
[0350] Reason for interruption
[0351] The server inputs the text data and emotion data obtained from OCR into a generative AI model to infer the reason why the user paused the operation. For example, it can link "editing a document" with "stress."
[0352] Step 8:
[0353] Solution Generation
[0354] Based on the inference results, the server generates an appropriate solution, taking into account sentiment data to generate more personalized suggestions, such as "Here's an idea for the next paragraph. I suggest you take a short break."
[0355] Step 9:
[0356] Submit a solution
[0357] The generated solution is sent from the server to the terminal, where it is presented on the user's terminal.
[0358] Step 10:
[0359] View Solution
[0360] The device will display the received solution to the user in the form of a pop-up or notification, allowing the user to immediately see the specific measures and next steps.
[0361] Step 11:
[0362] Accepting Feedback
[0363] Users can provide feedback on the suggestions displayed, which is collected through the device's chat function.
[0364] Step 12:
[0365] Send Feedback
[0366] The device sends the user-entered feedback to the server, giving the server data to improve its next suggestions.
[0367] Step 13:
[0368] Feedback storage and analysis
[0369] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[0370] Step 14:
[0371] Generate and deliver specific proposals
[0372] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[0373] In this way, the system supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[0374] Example 2
[0375] 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."
[0376] In today's digital environment, there are many reasons why users interrupt their PC operations, and prolonged interruptions can lead to reduced productivity. Furthermore, there are currently limited systems that can understand the user's emotions and circumstances while they are interrupted and provide appropriate solutions. There is a need for a system that can accurately infer the reasons for such interruptions and provide solutions that address the user's emotions, thereby simultaneously improving productivity and supporting mental health.
[0377] 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.
[0378] In this invention, the server includes means for taking a screenshot when there is no operation on the user terminal for a certain period of time, means for recording the taken screenshot and emotion data, means for analyzing the recorded screenshot as text using a recognition function, means for recognizing emotion from the user's facial expression and voice data, generative model means for inferring the reason why the user has stopped operation using the analyzed text data and emotion data and generating an appropriate solution, means for providing the generated solution to the user terminal, and means for receiving and recording feedback from the user. This makes it possible to properly understand the reason why the user has stopped operation and provide an optimal solution that takes into account the user's emotional state.
[0379] A "user terminal" is a computer device operated by a user, and is a device that monitors operation events, takes screenshots, and records and transmits emotional data.
[0380] A "server" is a computing device that receives, stores, and analyzes data sent from user terminals, and generates and provides appropriate solutions.
[0381] A "screenshot" is data that saves the current display content of the user's device screen in image format.
[0382] "Emotional data" is digital data that indicates the emotional state of the user analyzed from their facial expressions and voice.
[0383] "Recognition function" refers to OCR (optical character recognition) technology for extracting text from screenshots.
[0384] A "generative model" is an artificial intelligence model that infers the reason for a user's interruption based on text data and emotional data, and generates an appropriate solution.
[0385] "Feedback" is data that shows user reactions and opinions regarding the solutions provided.
[0386] "Character recognition tool" refers to software or technology for extracting text data from images.
[0387] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of the solution. A specific embodiment of the present invention includes a user terminal, a server, a generative model, and an emotion engine.
[0388] System configuration
[0389] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[0390] Operation on the user device side
[0391] The user device uses the OS API to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). If there is no operation for a certain period of time, the timer is triggered. When the trigger occurs, the user device takes a screenshot of the current screen and records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by the emotion engine to generate user emotion data. The screenshot and emotion data are compressed and sent to the server using an HTTP POST request.
[0392] Server-side behavior
[0393] The server receives screenshots and emotion data sent from the user's device using an API endpoint for receiving HTTP POST requests. The received data is decompressed, and the screenshots are parsed into text data using Tesseract OCR. The parsed text data is stored in a database and input into a generative model (e.g., GPT-4). The generative model infers the reason for the user's interruption based on the text data and emotion data and generates an appropriate solution. This generated solution is sent back to the user's device and displayed to the user. In addition, user feedback is also received and analyzed by the server. The feedback data is stored in a database and used to identify common issues.
[0394] Specific examples
[0395] Example 1: Interruptions and Emotion Recognition During Document Editing
[0396] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot to determine whether the user is currently editing a document and associates this with the "fatigue" level obtained from the emotion engine. Based on this information, the server generates a suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break," and sends it to the user.
[0397] Example 2: Abort on error and emotion recognition
[0398] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. Based on this information, a suggestion is generated and sent to the user: "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down."
[0399] Examples of prompt statements
[0400] "If a user is editing a document and pauses with a tired look on their face, reason about what solution you would offer them."
[0401] "What would be the best solution for users who are frustrated by error messages?"
[0402] The present invention is a system that supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[0403] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0404] Step 1: Monitor user action events
[0405] The user device uses the OS API (e.g., WinAPI SetTimer function) to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). It receives the timer setting time (e.g., 5 minutes) as input and starts the timer. If no operation is performed for a certain period of time, the timer is triggered. When the timer is triggered, it generates a flag indicating that the operation has been interrupted as output.
[0406] Step 2: Check the trigger conditions and take screenshots
[0407] The user device receives the "operation aborted" flag output in step 1 as input and takes a screenshot of the current screen. Specifically, it uses the OS API (e.g., the BitBlt function in Windows). After taking the screenshot, it temporarily saves the data and generates the screenshot data as output.
[0408] Step 3: Acquire and analyze emotion data
[0409] The user device records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by an emotion engine (e.g., Microsoft® Azure® Face API or Google® Speech-to-Text API). It receives the recorded data as input and generates emotion data. It generates analyzed emotion data as output and sends it to the next step.
[0410] Step 4: Sending data to the server
[0411] The user device receives the screenshot data from step 2 and the emotion data from step 3 as input, compresses them in ZIP format, and sends the compressed data to the server using an HTTP POST request. Specifically, the request also includes metadata such as the user ID and timestamp. The compressed data is generated as output and sent to the server.
[0412] Step 5: Receiving the data
[0413] The server has an API endpoint set up to receive HTTP POST requests. As input, it receives compressed data sent from the user's device, decompresses it, and obtains screenshot data and emotion data. As output, it saves each data in a directory on the server.
[0414] Step 6: Analyze and OCR the screenshot
[0415] The server receives the saved screenshot data as input, extracts text data from the image using Tesseract OCR, and generates the extracted text data as output, which is then stored in a database.
[0416] Step 7: Inferring user abandonment reasons
[0417] The server receives the text data from step 6 and the emotion data from step 5 as input and inputs them into a generative AI model (e.g., GPT-4). The generative AI model infers the reason for the user's interruption based on this data. It generates the reason for interruption as output and sends it to the next step.
[0418] Step 8: Generate optimal solutions
[0419] The server receives the interruption reason and emotion data from step 7 as input and generates an appropriate solution using the generative AI model. Specifically, it inputs the prompt sentence into the generative AI model to obtain a solution proposal. It generates the generated solution as output and sends it to the next step.
[0420] Step 9: Send the solution to the user
[0421] The server receives the solution generated in step 8 as input and sends it to the user terminal using an HTTP response. The user terminal receives this response and displays the solution to the user. The solution is presented as output in a form that the user can confirm.
[0422] Step 10: Processing user feedback
[0423] If the user provides feedback on the proposed solution, the data is sent back to the server. The server receives, records, and analyzes the feedback data as input. The analyzed feedback data is stored in a database and used to identify common issues and to update the learning model in the future. The server generates analysis results as output.
[0424] (Application example 2)
[0425] 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."
[0426] In modern manufacturing, improving production line efficiency and reducing operator workload are key challenges. When problems or errors occur while operators are operating production equipment or robots, work is interrupted. However, it is difficult to accurately identify the reason for the interruption and quickly provide an appropriate solution. This leads to reduced productivity and increased operator stress. Another issue is the lack of a system for providing appropriate feedback that takes into account the emotional state of the operator.
[0427] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving screenshots and emotion data sent from a user terminal, means for compressing and saving the received data, and means for using a character recognition tool to analyze the characters contained in the screenshots. This makes it possible to comprehensively assess the reason for the operator's interruption and their emotional state and quickly present an appropriate solution. Furthermore, by providing appropriate feedback based on the operator's emotional state, it is possible to improve production efficiency and reduce mental stress.
[0428] A "user terminal" is a computing device or mobile device used by a user.
[0429] A "screenshot" refers to capturing the contents of a user's device in image format.
[0430] A "face image" is image data of a user's face captured by a camera.
[0431] "Recognition function" is a technology that analyzes image data and audio data and recognizes them as text or emotional data.
[0432] "Character data" is text information extracted from image data.
[0433] "Emotional data" is information about a user's emotional state obtained by analyzing their facial expressions and voice.
[0434] A "generative model means" is an algorithm or program that uses artificial intelligence to automatically generate solutions based on the user's situation and emotions.
[0435] "Feedback" refers to the reactions and opinions that users provide to a system.
[0436] "Data compression" is a technique for reducing the size of transmitted data.
[0437] A "character recognition tool" is software that analyzes characters in an image and converts them into text data.
[0438] "Generated solutions" are suggestions or advice created by a generative model based on the user's reasons for interrupting the operation and emotional data.
[0439] The present invention is a system that infers the reason for an operator's interruption during robot operation in a factory and provides an appropriate solution. When an operator interrupts operation while operating a robot, this system analyzes the reason and generates an appropriate proposal to improve productivity.
[0440] System configuration
[0441] This system mainly consists of a user terminal, a server, a generative model, and an emotion engine.
[0442] User Device
[0443] Operation monitoring: The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.), and if there is no operation for a certain period of time (e.g., 5 minutes), it sets a timer to detect an interruption in operation.
[0444] Data acquisition: When the timer is triggered, the user device takes a screenshot of the operation panel and an image of the operator's face, and also uses the built-in camera and microphone to record the operator's facial expressions and voice, which are then analyzed by the emotion engine to generate emotion data.
[0445] Data transmission: The user device compresses the captured screenshot and emotion data and sends them to the server using an HTTP POST request.
[0446] server
[0447] Data reception: The server has an API endpoint that receives screenshots and emotion data sent from the user device and stores this data.
[0448] Character Recognition and Analysis: The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image. The extracted text data and emotion data are then input into a generative model to infer the reason for the interruption.
[0449] Solution Generation: Based on the inference results and emotional data, the server uses a generative AI model (e.g., OpenAI® GPT-3.5) to generate an appropriate solution, which includes specific suggestions for next actions and encouraging messages that take into account the operator's emotional state.
[0450] Proposal transmission: The generated solution is sent from the server to the user terminal and displayed to the operator.
[0451] Specific examples
[0452] For example, if a "machine error" occurs while an operator is operating a robot and the operation is interrupted, the user device will capture a screenshot of the "machine error" and an image of the operator's face, which appears to be "fatigued." The server will recognize the "machine error" from the screenshot and link it to the "fatigue" data extracted from the emotion engine. The following prompt sentence will be input into the generative AI model to generate a solution.
[0453] Prompt:
[0454] Operation has been interrupted. Text: "Machine error". Emotion: "Feeling tired". Suggest solutions.
[0455] The generative AI model proposes solutions, such as "refer to the machine manual" and "recommend taking a short break." These solutions are sent from the server to the user's device and displayed on the operator's screen. This allows the operator to quickly understand the next action to take and solve the problem efficiently. Furthermore, providing feedback based on the operator's emotional state also contributes to reducing their workload.
[0456] This invention can improve productivity and reduce the burden on operators by quickly resolving problems on factory production lines. Furthermore, it supports the mental health of operators by providing feedback that takes into account their emotional state.
[0457] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0458] Step 1:
[0459] The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.) and detects an interruption of operation if there is no operation for a certain period of time (e.g., 5 minutes). The input is the operator's operation data, and the output is a trigger signal to interrupt the operation.
[0460] Step 2:
[0461] When the user device detects an interruption in operation, it takes a screenshot of the operation panel and captures a facial image of the operator using the built-in camera. The input is a trigger signal for the interruption of operation, and the output is a screenshot and facial image.
[0462] Step 3:
[0463] The user device records the operator's facial expressions and voice using a built-in camera and microphone, and generates emotion data using an emotion engine. The input is facial image and voice data, and the output is emotion data.
[0464] Step 4:
[0465] The user terminal compresses the screenshot and emotion data and sends them to the server. The input is the screenshot and emotion data, and the output is the compressed data.
[0466] Step 5:
[0467] The server receives and stores screenshots and emotion data sent from user terminals. The input is compressed data, and the output is decompressed screenshots and emotion data.
[0468] Step 6:
[0469] The server extracts text data from the received screenshot using an OCR tool (e.g., Tesseract OCR). The input is the screenshot, and the output is text data.
[0470] Step 7:
[0471] The server inputs the extracted text data and emotion data into a generative model to infer the reason for the interruption. The input is the text data and emotion data, and the output is the reason for the interruption.
[0472] Step 8:
[0473] The server uses a generative AI model to generate a solution based on the interruption reason and emotional data. For example, OpenAI GPT-3.5 is used to generate specific suggestions for next actions and encouraging messages that take into account the operator's emotional state. The input is the interruption reason and emotional data, and the output is the generated solution.
[0474] Step 9:
[0475] The server sends the generated solution to the user terminal and displays it to the operator. The input is the generated solution and the output is the solution displayed on the user terminal.
[0476] Step 10:
[0477] The user provides feedback on the proposed solution, and the user terminal transmits the feedback to the server. The input is the user's feedback, and the output is the feedback data transmitted to the server.
[0478] Step 11:
[0479] The server analyzes the received feedback data and identifies common issues. The input is the feedback data and the output is the identified issues.
[0480] Step 12:
[0481] The server generates specific suggestions based on the identified problems and provides them to the user. The input is the identified problems and the output is the specific suggestions provided to the user.
[0482] The above is a detailed processing flow of the system that analyzes the reason for the user's interruption of operation and their emotional state, and generates and provides an appropriate solution.
[0483] 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.
[0484] 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.
[0485] 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.
[0486] [Second embodiment]
[0487] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0488] 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.
[0489] 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).
[0490] 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.
[0491] 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.
[0492] 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).
[0493] 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.
[0494] 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.
[0495] 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.
[0496] 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.
[0497] 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.
[0498] 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."
[0499] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[0500] System configuration
[0501] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[0502] Operation on the user device side
[0503] 1. Operation monitoring
[0504] The user terminal sets a timer for periodically monitoring user operation events.
[0505] If the user is inactive for a period of time (e.g., 5 minutes), a timer is triggered.
[0506] 2. Taking a screenshot
[0507] When a trigger occurs, the user's device takes a screenshot of the current screen.
[0508] The captured screenshot is temporarily saved as image data.
[0509] 3. Send to the server
[0510] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request.
[0511] Server-side behavior
[0512] 1. Receiving screenshots
[0513] The server has an API endpoint that receives screenshots sent from the user's device.
[0514] The received image data is stored in a database.
[0515] 2. Character Recognition and Analysis
[0516] The server performs OCR (optical character recognition) processing on the received screenshot.
[0517] Extracts character data from an image and saves it as string data.
[0518] 3. Reasoning
[0519] The server inputs the extracted character data into a generative model to infer why the user is interrupting the operation.
[0520] Based on the inference results, an appropriate solution is generated.
[0521] 4. Proposal Distribution
[0522] The server transmits the generated solution to the user terminal.
[0523] 5. Processing Feedback
[0524] Receive user feedback and store it in a database.
[0525] Analyze accumulated feedback data to identify common issues.
[0526] Generate and deliver specific suggestions to users for identified issues.
[0527] Specific examples
[0528] Example 1: Interruption while editing a document
[0529] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and sends it to the server. The server analyzes the screenshot to determine that the user is currently editing a document, and generates a solution that suggests reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed to the user.
[0530] Example 2: Break on Error
[0531] When a user encounters an error while editing the source code of a program and aborts the operation, the user terminal takes a screenshot and sends it to the server. The server analyzes the error message from the screenshot and generates a solution that provides how to resolve the error and related documentation. The solution is then sent to the user terminal and displayed to the user.
[0532] In this way, the system can quickly and accurately identify the reason why the user has stopped working and provide an appropriate solution, thereby improving the user's productivity.
[0533] The processing flow will be explained below.
[0534] Step 1:
[0535] User Action Monitoring
[0536] The terminal sets a timer that monitors user operation events (mouse clicks, keyboard input, etc.) Specifically, it is set to trigger if the user does not perform any operation for a certain period of time (for example, 5 minutes).
[0537] Step 2:
[0538] Taking a screenshot
[0539] When the timer is triggered, the device takes a screenshot of the currently displayed screen, capturing the screen state while the user is away.
[0540] Step 3:
[0541] Send screenshot to server
[0542] After the screenshot is taken, the device compresses the image data and sends it to the server via an HTTP POST request, which transfers the screenshot data to the server.
[0543] Step 4:
[0544] Receiving screenshots
[0545] The server has an API endpoint that receives screenshots sent from the device, and the received image data is stored in a database on the server.
[0546] Step 5:
[0547] character recognition
[0548] The server analyzes the saved screenshot by running it through a character recognition tool (e.g., Tesseract OCR), which extracts the text data in the screenshot.
[0549] Step 6:
[0550] Saving text data
[0551] The text data extracted by OCR is stored in a database on the server along with screenshot metadata (such as timestamp and user ID).
[0552] Step 7:
[0553] Inferring user abandonment reasons
[0554] The server inputs the extracted text data into a generative AI model (e.g., GPT-4) to infer the reason why the user paused their PC operation, such as "editing a document" or "an error message is displayed."
[0555] Step 8:
[0556] Solution Generation
[0557] Based on the inference results, the server generates appropriate solutions, such as specific suggestions like "Please refer to this document for ideas in the next paragraph" or "Please refer to this document to resolve the error."
[0558] Step 9:
[0559] Submit a solution
[0560] The generated solutions are sent from the server to the device, allowing the user to receive the proposals quickly.
[0561] Step 10:
[0562] View Solution
[0563] The device will display the received solution to the user as a pop-up or notification, allowing the user to quickly see specific measures and next steps.
[0564] Step 11:
[0565] Accepting Feedback
[0566] Users can provide feedback on the suggestions displayed, which is collected through a chat function.
[0567] Step 12:
[0568] Send Feedback
[0569] The device sends the user-entered feedback to the server, providing the server with data to improve its next suggestions.
[0570] Step 13:
[0571] Feedback storage and analysis
[0572] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[0573] Step 14:
[0574] Generate and deliver specific proposals
[0575] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[0576] In this way, the system can quickly and accurately identify the reason why the user is interrupting an operation and provide an appropriate solution, thereby improving the user's productivity.
[0577] Example 1
[0578] 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."
[0579] When users operate a computer, they often experience sudden interruptions or stalls in their work. However, if the reason for the interruption cannot be identified and an appropriate solution is not provided, the user's work efficiency decreases. Furthermore, trying to resolve the cause of the interruption on one's own can consume time and resources and cause stress. Furthermore, if user feedback is not utilized appropriately, there is a risk that the same problem will occur repeatedly. To solve these issues, a system is needed that can quickly identify the reason for the interruption and provide an appropriate solution.
[0580] 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.
[0581] In this invention, the server includes means for setting a timer when there is no operation on the user terminal for a certain period of time and monitoring operation events; means for capturing a screenshot of the current screen when a trigger occurs; means for compressing the captured screenshot and transmitting it to the server; means for compressing and saving the screenshot received by the server; means for analyzing character data included in the saved screenshot using a character recognition tool; means for inputting the analyzed character data into a generative model and inferring the reason why the user is interrupting the operation; means for generating an appropriate solution based on the inference result; means for delivering the generated solution to the user terminal; and means for receiving and recording feedback from the user. This makes it possible to quickly and accurately identify the reason why the user is interrupting the operation and provide an appropriate solution. Furthermore, by utilizing user feedback, the accuracy of the solution can be improved, which is expected to improve the user's work efficiency and work environment.
[0582] "User terminal" refers to a computer or mobile device operated by a user.
[0583] A "timer" refers to a time management device that is set to perform notifications or processes at regular intervals.
[0584] "Operation events" refer to actions such as keyboard input, mouse movement, and clicks by the user.
[0585] A "trigger" is a signal or event that initiates an action when certain conditions are met.
[0586] A "screenshot" refers to capturing the current display content of a user's device screen in image format.
[0587] "Compression" refers to the transformation of data using a specific algorithm to reduce the volume of the data.
[0588] "Server" refers to a remote computer that provides functions such as receiving, transmitting, analyzing, and storing data.
[0589] A "character recognition tool" refers to software or algorithms that automatically identify character data in an image and extract it as text data.
[0590] "Analysis" refers to the detailed examination of data and information to understand its meaning and structure.
[0591] A "generative AI model" refers to a computational model that uses artificial intelligence techniques to generate solutions to specific problems.
[0592] "Inference" refers to drawing a conclusion or result based on specific data or conditions.
[0593] A "solution" refers to a proposal or method for solving a particular problem or issue.
[0594] "Feedback" refers to opinions and reactions provided by users regarding a system or service.
[0595] "API Endpoint" means an accessible interface on a server designed to provide specific functionality.
[0596] A "database" refers to a system that enables data to be systematically managed, stored, searched, and updated.
[0597] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[0598] System Configuration
[0599] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[0600] User device behavior
[0601] The user device sets an internal timer and monitors user operation events at regular intervals. This periodic operation monitoring is implemented using JavaScript or Python's thread library. If the user does not perform any operation for a certain period of time (for example, 5 minutes), the timer is triggered. When this trigger occurs, the user device takes a screenshot of the current screen. This screenshot is taken using Python's Pillow library or PyAutoGUI and temporarily saved in memory. The screenshot is then compressed and sent to the server via an HTTP POST request. Compression is performed using Python's zipfile library, and the HTTP POST request uses Python's requests library.
[0602] Server Operation
[0603] The server uses a framework (such as Flask or Django) to build an API endpoint and receives screenshots sent from the user device. The received screenshots are stored in a compressed state in a database. The saved screenshots are then decompressed and the character data contained in the screenshot is analyzed using a character recognition tool such as Tesseract OCR. The character data obtained as a result of this analysis is saved in text format. The analyzed character data is input into a generative AI model, which infers the reason why the user interrupted the operation. The generative AI model is built using machine learning libraries such as TensorFlow or PyTorch. An appropriate solution is generated based on the inference results and delivered to the user device as an HTTP response.
[0604] The server also receives feedback from users and stores it in a database. The accumulated feedback data is analyzed to identify common problems. Specific suggestions for the identified problems are generated and provided to users as feedback. This analysis utilizes database analysis tools and machine learning techniques.
[0605] Specific examples
[0606] In Example 1, we consider the case where a user pauses editing a document and remains inactive for a certain period of time. In this case, the user's device uses the Pillow library to take a screenshot and send it to the Flask server. The server then uses Tesseract to analyze the situation as "document editing in progress," and uses TensorFlow to generate reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed.
[0607] In Example 2, consider a case where a user encounters an error while editing the source code of a program and aborts the operation. The user's device takes a screenshot using the Pillow library and sends it to the Flask server. The server uses Tesseract to analyze the error message and generate a solution that provides relevant documentation and solutions. The solution is then sent to the user's device and displayed.
[0608] Prompt Sentence Examples
[0609] "If a program is repeatedly interrupted, we use a generative AI model to infer the reason for the interruption and how to resolve it."
[0610] In this way, the present invention can quickly and accurately identify the reason for the user's interruption of operation and provide an appropriate solution, thereby improving the user's productivity.
[0611] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0612] Step 1: Operational monitoring
[0613] The user device sets an internal timer and monitors user operation events (keyboard input, mouse movement, clicks, etc.) at regular intervals. For example, JavaScript's setTimeout function or Python's threading.Timer is used. This timer runs every 5 minutes and detects if there is no operation. It receives the timer setting time (e.g. 300 seconds) as input, and generates a trigger signal to proceed to the next step as output if there is no operation.
[0614] Specific behavior:
[0615] JavaScript example: setTimeout(function() { checkUserActivity();}, 300000);
[0616] Python example: timer = threading.Timer(300, check_user_activity); timer.start()
[0617] Step 2: Taking a screenshot
[0618] When a trigger occurs, the user device takes a screenshot of the current screen. The screenshot is captured using Python's Pillow library or PyAutoGUI. The trigger signal is received as input, and the captured screenshot image (e.g., PNG format) is temporarily saved in memory as output.
[0619] Specific behavior:
[0620] Python example: import pyautogui; screenshot = pyautogui.screenshot(); screenshot.save("screenshot.png")
[0621] Step 3: Send to the server
[0622] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request. The Python zipfile library is used for compression, and the requests library is used for the HTTP request. The screenshot image is received as input, and the compressed screenshot is sent to the server as output.
[0623] Specific behavior:
[0624] Compression example: import zipfile; with zipfile.ZipFile("screenshot.zip", "w") as zipf: zipf.write("screenshot.png")
[0625] Example of sending a request: import requests; with open("screenshot.zip", "rb") as f: response = requests.post("http: / / server / api / upload", files={"file": f})
[0626] Step 4: Receiving screenshots
[0627] The server receives screenshots sent from user devices via an API endpoint. The endpoint is built using the Flask or Django framework. It takes the received compressed file as input and stores the file in a database (e.g., MySQL or PostgreSQL) as output.
[0628] Specific behavior:
[0629] Flask example: from flask import Flask, request; app = Flask(__name__); @app.route(' / api / upload', methods=['POST']) def upload_file(): file = request.files['file']; file.save(" / path / to / save / screenshot.zip"); return "File uploaded successfully", 200
[0630] Step 5: Character Recognition and Analysis
[0631] The server unzips the received screenshot and extracts the text data using a character recognition tool such as Tesseract OCR. It receives the compressed file as input and obtains the extracted text data (in text format) as output.
[0632] Specific behavior:
[0633] Unzip example: import zipfile; with zipfile.ZipFile("screenshot.zip", "r") as zipf: zipf.extractall(" / path / to / extract")
[0634] Tesseract example: import pytesseract; from PIL import Image; image = Image.open(" / path / to / extract / screenshot.png"); text = pytesseract.image_to_string(image)
[0635] Step 6: Reasoning
[0636] The server inputs the extracted text data into a generative AI model to infer the reason why the user interrupted the operation. The AI model uses TensorFlow and PyTorch for inference processing. It receives the extracted text data as input and obtains the reason for the user interruption and a solution as output.
[0637] Specific behavior:
[0638] Example of inference for a generative AI model: import tensorflow as tf; model = tf.keras.models.load_model("model_path"); result = model.predict([text]); print(result)
[0639] Step 7: Distributing the proposal
[0640] The server delivers the generated solution to the user device as an HTTP response, using Flask's response function. It receives the generated solution as input and sends the solution to the user device as output.
[0641] Specific behavior:
[0642] Flask response example: @app.route(' / api / solution', methods=['POST']) def send_solution(): solution = generate_solution(request.json['text']); return {'solution': solution}, 200
[0643] Step 8: Processing feedback
[0644] The server receives user feedback and stores it in a database. It analyzes the accumulated feedback data and performs analysis to identify common problems. It uses AI models and database analysis tools. It takes user feedback as input and generates problem identification and specific suggestions as output.
[0645] Specific behavior:
[0646] Example of receiving and saving feedback: @app.route(' / api / feedback', methods=['POST']) def receive_feedback(): feedback = request.json['feedback']; save_to_database(feedback); return "Feedback received", 200
[0647] In this way, the system identifies the reason for the user's interruption and provides an appropriate solution.
[0648] (Application example 1)
[0649] 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."
[0650] The present invention relates to a system that quickly identifies the cause of a factory interruption and provides an effective solution when a user interrupts operation. Conventional systems require workers to manually identify the problem and search for a solution, which takes time and reduces productivity. Furthermore, when work procedures are complicated or error messages are difficult to understand, responding to the interruption can be even more difficult. The present invention aims to solve these problems and improve work efficiency.
[0651] 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.
[0652] In this invention, the server includes a means for providing the acquired solution to a display device worn by a user, a means for inferring a problem and a solution when work is interrupted in a factory, and a means for displaying the solution on the display device. This makes it possible to quickly identify the reason when a worker interrupts work and present an appropriate solution.
[0653] "User terminal" is a general term for computers and mobile devices operated by users.
[0654] A "screenshot" is an image of what is displayed on the screen of a user's device.
[0655] The "recognition function" is a function that analyzes text and images from captured screenshots.
[0656] A "generative model" is a model that uses artificial intelligence and machine learning to analyze data and generate solutions.
[0657] A "display device" is a hardware device used to display information to a user, including smart glasses and head-mounted displays.
[0658] "Feedback" refers to information such as opinions, impressions, and suggestions for improvement sent by users.
[0659] "Problems that occur when work is interrupted in a factory" refers to problems or troubles that cause workers to stop working in a factory.
[0660] A "solution" is a specific method or means suggested by a generative model to solve the work interruption problem.
[0661] A "character recognition tool" is software or hardware that identifies characters contained in an image and extracts them as text data.
[0662] "Work environment" refers to the physical location and surroundings where a user works.
[0663] "Notification" is a means by which the system provides information to the user, including displaying solutions or suggestions on a display device.
[0664] "Smart glasses" are a type of display device and a wearable computer in the form of glasses.
[0665] "Image data" refers to visual information captured as a screenshot.
[0666] The present invention is a system that analyzes the cause of a user interruption in a factory and provides an appropriate solution when the user interrupts the operation. This system consists of a user terminal, a server, and a generative model.
[0667] Operation on the user device side
[0668] The smart glasses worn by the user periodically monitor the worker's field of vision. If the user is inactive for five minutes, the smart glasses take a screenshot of the field of vision. This screenshot is temporarily saved as image data and sent to the server via an HTTP POST request.
[0669] Server-side behavior
[0670] 1. Receiving screenshots:
[0671] The server has an API endpoint that receives screenshots sent from the user's device, compresses the image data appropriately, and stores it in a database.
[0672] 2. Character Recognition and Analysis:
[0673] The server runs an OCR (optical character recognition) process on the screenshot using character recognition software such as Tesseract, extracting the text data from the image and saving it as text data.
[0674] 3. Reasoning and generating solutions:
[0675] The server inputs the extracted text data into a generative model to infer the reason why the user stopped using the app. This generative model uses natural language processing models such as BERT and GPT-3. Based on the inference results, it generates an appropriate solution.
[0676] 4. Solution Delivery:
[0677] The server sends the generated solution to the user terminal (smart glasses), which displays the received solution in the worker's field of vision.
[0678] 5. Feedback Processing:
[0679] Receive user feedback and store it in a database. Analyze the feedback data to identify common pain points. Based on the results, generate more specific suggestions and deliver them to users.
[0680] Specific examples
[0681] For example, consider a scenario where a worker on a production line stops operation. When a malfunction of a particular machine causes the work to stop, the smart glasses will take a screenshot of the field of view at that time and send it to the server. The server will analyze the error message from the screenshot and generate a solution that suggests how to repair the machine and related operating procedures. This solution will be sent to the smart glasses and displayed in the worker's field of view.
[0682] Hardware / Software used
[0683] Hardware:
[0684] Smart glasses: devices that monitor the user's field of vision and take screenshots.
[0685] Server: Receives screenshots, recognizes characters, generates solutions, and distributes them.
[0686] software:
[0687] OCR: Character recognition tools such as Tesseract.
[0688] Generative models: Natural language processing models such as BERT and GPT-3.
[0689] Prompt Sentence Examples
[0690] "When a user's operation is suspended for more than 5 minutes, how can we obtain a screenshot of the current situation, infer the reason for the failure or suspension of operation, and provide an appropriate solution? A specific use case is a machine malfunction that occurs during work on a production line."
[0691] This system improves work efficiency and productivity, and enables rapid problem resolution.
[0692] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0693] Step 1:
[0694] A screenshot is taken if there is no activity on the user's device for a certain period of time.
[0695] Input: Operation event (whether the user is performing an operation)
[0696] Data processing: Monitoring operation events
[0697] Output: Take a screenshot after a period of inactivity
[0698] Specific operation: The user device (smart glasses) periodically monitors the operation status, and if the user does not perform any operation for 5 minutes, it automatically takes a screenshot of the field of view.
[0699] Step 2:
[0700] The captured screenshot is sent to the server.
[0701] Input: Screenshot (image data)
[0702] Data processing: Compress image data
[0703] Output: Compressed screenshot sent to server
[0704] Specific operation: The user device appropriately compresses the captured screenshot and sends it to the server via an HTTP POST request.
[0705] Step 3:
[0706] The server receives and stores the screenshots.
[0707] Input: Screenshot (image data) sent
[0708] Data processing: Receiving and storing image data
[0709] Output: Save the received screenshot
[0710] Specific operation: The server receives screenshots sent from the user's device and stores them in a database.
[0711] Step 4:
[0712] The server performs OCR processing to extract text data from the screenshot.
[0713] Input: Saved screenshot (image data)
[0714] Data processing: Extract text from images using OCR (character recognition) tools
[0715] Output: Extracted character data (text data)
[0716] Specific operation: The server uses an OCR tool such as Tesseract to recognize the characters in the screenshot and save them as string data.
[0717] Step 5:
[0718] The server inputs the extracted character data into a generative model, infers the reason for the operation interruption, and generates a solution.
[0719] Input: Extracted character data (text data)
[0720] Data processing: Using generative AI models to make inferences and generate solutions
[0721] Output: Generated solution (text data)
[0722] Specific operation: The server inputs the extracted character data into an AI model such as BERT or GPT-3 to infer the reason for the interruption. Based on this, the generative model generates an appropriate solution.
[0723] Step 6:
[0724] The server transmits the generated solution to the user terminal.
[0725] Input: Generated solution (text data)
[0726] Data processing: sending generated solutions
[0727] Output: The solution sent to the user's terminal
[0728] Specific operation: The server sends the generated solution to the user terminal (smart glasses).
[0729] Step 7:
[0730] The user terminal displays the received solution to the worker.
[0731] Input: Solution sent from the server (text data)
[0732] Data processing: Display of received solutions
[0733] Output: Displayed solution
[0734] Specific operation: The user terminal (smart glasses) displays the solution received from the server in the worker's field of vision and provides appropriate guidance.
[0735] Step 8:
[0736] Receive and record user feedback.
[0737] Input: User feedback (text data)
[0738] Data Processing: Feedback Storage
[0739] Output: Recorded feedback
[0740] Specific operation: The user terminal receives feedback from the worker and transmits it to the server.
[0741] Step 9:
[0742] The server analyzes the feedback data and identifies common issues.
[0743] Input: Recorded feedback data (text data)
[0744] Data processing: Analysis of feedback data
[0745] Output: Identified common issues (text data)
[0746] Specific Actions: The server analyzes the recorded feedback data and identifies common issues.
[0747] Step 10:
[0748] The server generates specific suggestions based on the identified problems.
[0749] Input: Identified common issues (text data)
[0750] Data processing: Use generative AI models to generate specific recommendations
[0751] Output: Generated concrete proposals (text data)
[0752] Specific Actions: Based on the identified problems, the server generates specific suggestions using a generative AI model.
[0753] Step 11:
[0754] The server transmits the generated specific proposal to the user terminal.
[0755] Input: Generated specific proposals (text data)
[0756] Data processing: Sending specific proposals
[0757] Output: Specific proposals sent to the user's device
[0758] Specific operation: The server sends the generated specific proposal to the user terminal (smart glasses) and provides guidance to the worker.
[0759] 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.
[0760] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of solutions. Specific embodiments of the present invention will be described below.
[0761] System configuration
[0762] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[0763] Operation on the user device side
[0764] 1. Operation monitoring
[0765] The user device sets a timer that monitors user operation events (mouse, keyboard input, etc.) If the user does not perform any operation for a certain period of time (e.g., 5 minutes), the timer is triggered.
[0766] 2. Taking a screenshot
[0767] When a trigger occurs, the user's device will take a screenshot of the current screen and store it temporarily.
[0768] 3. Acquiring Emotion Data
[0769] At the same time, the user device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate the user's emotion data.
[0770] 4. Send to the server
[0771] The user device compresses the screenshot and emotion data and sends it to the server via an HTTP POST request.
[0772] Server-side behavior
[0773] 1. Receiving Data
[0774] The server has an API endpoint that receives screenshots and emotion data sent from the user's device and stores this data.
[0775] 2. Character Recognition and Analysis
[0776] The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image, which is then stored in a database.
[0777] 3. Inferring user abandonment reasons
[0778] The server inputs text data and emotion data into a generative model to infer the reason why the user paused the operation. For example, in addition to "editing a document," it can also consider "stress or fatigue" as a reason.
[0779] 4. Solution Generation
[0780] Based on the inference results and emotion data, the server generates more appropriate and personalized solutions, such as "Please refer to this material in the next paragraph" and "We recommend you take a break" as an encouraging message.
[0781] 5. Submit your proposal
[0782] The generated solution is sent from the server to the user terminal and presented to the user.
[0783] 6. Processing Feedback
[0784] Receives user feedback, stores it in a database, analyzes it along with sentiment data, and identifies common issues, which are then used to generate specific recommendations.
[0785] Specific examples
[0786] Example 1: Interruptions and Emotion Recognition During Document Editing
[0787] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot as "editing a document" and associates it with the "fatigue" obtained from the emotion engine. A solution suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break" is generated and sent to the user.
[0788] Example 2: Abort on error and emotion recognition
[0789] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. It then generates a solution suggestion, such as "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down," and sends it to the user.
[0790] In this way, the system comprehensively analyzes the user's reasons for interruption and emotional state, provides appropriate solutions, and supports the user's productivity and mental health.
[0791] The processing flow will be explained below.
[0792] Step 1:
[0793] User operation monitoring
[0794] The device sets a timer to monitor user activity events (mouse clicks, keyboard input, etc.) and is set to trigger after a certain period of inactivity (e.g., 5 minutes).
[0795] Step 2:
[0796] Taking a screenshot
[0797] When the timer is triggered, the device will take a screenshot of the currently displayed screen and temporarily save the screenshot.
[0798] Step 3:
[0799] Acquiring emotion data
[0800] At the same time, the device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate emotional data for the user.
[0801] Step 4:
[0802] Data compression and transmission
[0803] The device compresses the captured screenshot and emotion data and sends it to the server via an HTTP POST request, which transfers the data to the server.
[0804] Step 5:
[0805] Receiving screenshots and emotion data
[0806] The server has an API endpoint that receives screenshots and emotion data sent from the device and stores this data in a database.
[0807] Step 6:
[0808] Performing character recognition
[0809] The server passes the saved screenshot to an OCR tool (e.g., Tesseract OCR) to extract the characters in the image as text data, which is also stored in the database.
[0810] Step 7:
[0811] Reason for interruption
[0812] The server inputs the text data and emotion data obtained from OCR into a generative AI model to infer the reason why the user paused the operation. For example, it can link "editing a document" with "stress."
[0813] Step 8:
[0814] Solution Generation
[0815] Based on the inference results, the server generates an appropriate solution, taking into account sentiment data to generate more personalized suggestions, such as "Here's an idea for the next paragraph. I suggest you take a short break."
[0816] Step 9:
[0817] Submit a solution
[0818] The generated solution is sent from the server to the terminal, where it is presented on the user's terminal.
[0819] Step 10:
[0820] View Solution
[0821] The device will display the received solution to the user in the form of a pop-up or notification, allowing the user to immediately see the specific measures and next steps.
[0822] Step 11:
[0823] Accepting Feedback
[0824] Users can provide feedback on the suggestions displayed, which is collected through the device's chat function.
[0825] Step 12:
[0826] Send Feedback
[0827] The device sends the user-entered feedback to the server, giving the server data to improve its next suggestions.
[0828] Step 13:
[0829] Feedback storage and analysis
[0830] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[0831] Step 14:
[0832] Generate and deliver specific proposals
[0833] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[0834] In this way, the system supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[0835] Example 2
[0836] 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."
[0837] In today's digital environment, there are many reasons why users interrupt their PC operations, and prolonged interruptions can lead to reduced productivity. Furthermore, there are currently limited systems that can understand the user's emotions and circumstances while they are interrupted and provide appropriate solutions. There is a need for a system that can accurately infer the reasons for such interruptions and provide solutions that address the user's emotions, thereby simultaneously improving productivity and supporting mental health.
[0838] 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.
[0839] In this invention, the server includes means for taking a screenshot when there is no operation on the user terminal for a certain period of time, means for recording the taken screenshot and emotion data, means for analyzing the recorded screenshot as text using a recognition function, means for recognizing emotion from the user's facial expression and voice data, generative model means for inferring the reason why the user has stopped operation using the analyzed text data and emotion data and generating an appropriate solution, means for providing the generated solution to the user terminal, and means for receiving and recording feedback from the user. This makes it possible to properly understand the reason why the user has stopped operation and provide an optimal solution that takes into account the user's emotional state.
[0840] A "user terminal" is a computer device operated by a user, and is a device that monitors operation events, takes screenshots, and records and transmits emotional data.
[0841] A "server" is a computing device that receives, stores, and analyzes data sent from user terminals, and generates and provides appropriate solutions.
[0842] A "screenshot" is data that saves the current display content of the user's device screen in image format.
[0843] "Emotional data" is digital data that indicates the emotional state of the user analyzed from their facial expressions and voice.
[0844] "Recognition function" refers to OCR (optical character recognition) technology for extracting text from screenshots.
[0845] A "generative model" is an artificial intelligence model that infers the reason for a user's interruption based on text data and emotional data, and generates an appropriate solution.
[0846] "Feedback" is data that shows user reactions and opinions regarding the solutions provided.
[0847] "Character recognition tool" refers to software or technology for extracting text data from images.
[0848] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of the solution. A specific embodiment of the present invention includes a user terminal, a server, a generative model, and an emotion engine.
[0849] System configuration
[0850] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[0851] Operation on the user device side
[0852] The user device uses the OS API to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). If there is no operation for a certain period of time, the timer is triggered. When the trigger occurs, the user device takes a screenshot of the current screen and records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by the emotion engine to generate user emotion data. The screenshot and emotion data are compressed and sent to the server using an HTTP POST request.
[0853] Server-side behavior
[0854] The server receives screenshots and emotion data sent from the user's device using an API endpoint for receiving HTTP POST requests. The received data is decompressed, and the screenshots are parsed into text data using Tesseract OCR. The parsed text data is stored in a database and input into a generative model (e.g., GPT-4). The generative model infers the reason for the user's interruption based on the text data and emotion data and generates an appropriate solution. This generated solution is sent back to the user's device and displayed to the user. In addition, user feedback is also received and analyzed by the server. The feedback data is stored in a database and used to identify common issues.
[0855] Specific examples
[0856] Example 1: Interruptions and Emotion Recognition During Document Editing
[0857] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot to determine whether the user is currently editing a document and associates this with the "fatigue" level obtained from the emotion engine. Based on this information, the server generates a suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break," and sends it to the user.
[0858] Example 2: Abort on error and emotion recognition
[0859] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. Based on this information, a suggestion is generated and sent to the user: "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down."
[0860] Examples of prompt statements
[0861] "If a user is editing a document and pauses with a tired look on their face, reason about what solution you would offer them."
[0862] "What would be the best solution for users who are frustrated by error messages?"
[0863] The present invention is a system that supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[0864] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0865] Step 1: Monitor user action events
[0866] The user device uses the OS API (e.g., WinAPI SetTimer function) to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). It receives the timer setting time (e.g., 5 minutes) as input and starts the timer. If no operation is performed for a certain period of time, the timer is triggered. When the timer is triggered, it generates a flag indicating that the operation has been interrupted as output.
[0867] Step 2: Check the trigger conditions and take screenshots
[0868] The user device receives the "operation aborted" flag output in step 1 as input and takes a screenshot of the current screen. Specifically, it uses the OS API (e.g., the BitBlt function in Windows). After taking the screenshot, it temporarily saves the data and generates the screenshot data as output.
[0869] Step 3: Acquire and analyze emotion data
[0870] The user device records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by an emotion engine (e.g., Microsoft Azure's Face API or Google's Speech-to-Text API). It receives the recorded data as input and generates emotion data. It generates analyzed emotion data as output and sends it to the next step.
[0871] Step 4: Sending data to the server
[0872] The user device receives the screenshot data from step 2 and the emotion data from step 3 as input, compresses them in ZIP format, and sends the compressed data to the server using an HTTP POST request. Specifically, the request also includes metadata such as the user ID and timestamp. The compressed data is generated as output and sent to the server.
[0873] Step 5: Receiving the data
[0874] The server has an API endpoint set up to receive HTTP POST requests. As input, it receives compressed data sent from the user's device, decompresses it, and obtains screenshot data and emotion data. As output, it saves each data in a directory on the server.
[0875] Step 6: Analyze and OCR the screenshot
[0876] The server receives the saved screenshot data as input, extracts text data from the image using Tesseract OCR, and generates the extracted text data as output, which is then stored in a database.
[0877] Step 7: Inferring user abandonment reasons
[0878] The server receives the text data from step 6 and the emotion data from step 5 as input and inputs them into a generative AI model (e.g., GPT-4). The generative AI model infers the reason for the user's interruption based on this data. It generates the reason for interruption as output and sends it to the next step.
[0879] Step 8: Generate optimal solutions
[0880] The server receives the interruption reason and emotion data from step 7 as input and generates an appropriate solution using the generative AI model. Specifically, it inputs the prompt sentence into the generative AI model to obtain a solution proposal. It generates the generated solution as output and sends it to the next step.
[0881] Step 9: Send the solution to the user
[0882] The server receives the solution generated in step 8 as input and sends it to the user terminal using an HTTP response. The user terminal receives this response and displays the solution to the user. The solution is presented as output in a form that the user can confirm.
[0883] Step 10: Processing user feedback
[0884] If the user provides feedback on the proposed solution, the data is sent back to the server. The server receives, records, and analyzes the feedback data as input. The analyzed feedback data is stored in a database and used to identify common issues and to update the learning model in the future. The server generates analysis results as output.
[0885] (Application example 2)
[0886] 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."
[0887] In modern manufacturing, improving production line efficiency and reducing operator workload are key challenges. When problems or errors occur while operators are operating production equipment or robots, work is interrupted. However, it is difficult to accurately identify the reason for the interruption and quickly provide an appropriate solution. This leads to reduced productivity and increased operator stress. Another issue is the lack of a system for providing appropriate feedback that takes into account the emotional state of the operator.
[0888] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving screenshots and emotion data sent from a user terminal, means for compressing and saving the received data, and means for using a character recognition tool to analyze the characters contained in the screenshots. This makes it possible to comprehensively assess the reason for the operator's interruption and their emotional state and quickly present an appropriate solution. Furthermore, by providing appropriate feedback based on the operator's emotional state, it is possible to improve production efficiency and reduce mental stress.
[0889] A "user terminal" is a computing device or mobile device used by a user.
[0890] A "screenshot" refers to capturing the contents of a user's device in image format.
[0891] A "face image" is image data of a user's face captured by a camera.
[0892] "Recognition function" is a technology that analyzes image data and audio data and recognizes them as text or emotional data.
[0893] "Character data" is text information extracted from image data.
[0894] "Emotional data" is information about a user's emotional state obtained by analyzing their facial expressions and voice.
[0895] A "generative model means" is an algorithm or program that uses artificial intelligence to automatically generate solutions based on the user's situation and emotions.
[0896] "Feedback" refers to the reactions and opinions that users provide to a system.
[0897] "Data compression" is a technique for reducing the size of transmitted data.
[0898] A "character recognition tool" is software that analyzes characters in an image and converts them into text data.
[0899] "Generated solutions" are suggestions or advice created by a generative model based on the user's reasons for interrupting the operation and emotional data.
[0900] The present invention is a system that infers the reason for an operator's interruption during robot operation in a factory and provides an appropriate solution. When an operator interrupts operation while operating a robot, this system analyzes the reason and generates an appropriate proposal to improve productivity.
[0901] System configuration
[0902] This system mainly consists of a user terminal, a server, a generative model, and an emotion engine.
[0903] User Device
[0904] Operation monitoring: The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.), and if there is no operation for a certain period of time (e.g., 5 minutes), it sets a timer to detect an interruption in operation.
[0905] Data acquisition: When the timer is triggered, the user device takes a screenshot of the operation panel and an image of the operator's face, and also uses the built-in camera and microphone to record the operator's facial expressions and voice, which are then analyzed by the emotion engine to generate emotion data.
[0906] Data transmission: The user device compresses the captured screenshot and emotion data and sends them to the server using an HTTP POST request.
[0907] server
[0908] Data reception: The server has an API endpoint that receives screenshots and emotion data sent from the user device and stores this data.
[0909] Character Recognition and Analysis: The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image. The extracted text data and emotion data are then input into a generative model to infer the reason for the interruption.
[0910] Solution Generation: Based on the inference results and emotion data, the server uses a generative AI model (e.g., OpenAI GPT-3.5) to generate an appropriate solution, which includes specific suggestions for next actions and encouraging messages that take into account the operator's emotional state.
[0911] Proposal transmission: The generated solution is sent from the server to the user terminal and displayed to the operator.
[0912] Specific examples
[0913] For example, if a "machine error" occurs while an operator is operating a robot and the operation is interrupted, the user device will capture a screenshot of the "machine error" and an image of the operator's face, which appears to be "fatigued." The server will recognize the "machine error" from the screenshot and link it to the "fatigue" data extracted from the emotion engine. The following prompt sentence will be input into the generative AI model to generate a solution.
[0914] Prompt:
[0915] Operation has been interrupted. Text: "Machine error". Emotion: "Feeling tired". Suggest solutions.
[0916] The generative AI model proposes solutions, such as "refer to the machine manual" and "recommend taking a short break." These solutions are sent from the server to the user's device and displayed on the operator's screen. This allows the operator to quickly understand the next action to take and solve the problem efficiently. Furthermore, providing feedback based on the operator's emotional state also contributes to reducing their workload.
[0917] This invention can improve productivity and reduce the burden on operators by quickly resolving problems on factory production lines. Furthermore, it supports the mental health of operators by providing feedback that takes into account their emotional state.
[0918] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0919] Step 1:
[0920] The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.) and detects an interruption of operation if there is no operation for a certain period of time (e.g., 5 minutes). The input is the operator's operation data, and the output is a trigger signal to interrupt the operation.
[0921] Step 2:
[0922] When the user device detects an interruption in operation, it takes a screenshot of the operation panel and captures a facial image of the operator using the built-in camera. The input is a trigger signal for the interruption of operation, and the output is a screenshot and facial image.
[0923] Step 3:
[0924] The user device records the operator's facial expressions and voice using a built-in camera and microphone, and generates emotion data using an emotion engine. The input is facial image and voice data, and the output is emotion data.
[0925] Step 4:
[0926] The user terminal compresses the screenshot and emotion data and sends them to the server. The input is the screenshot and emotion data, and the output is the compressed data.
[0927] Step 5:
[0928] The server receives and stores screenshots and emotion data sent from user terminals. The input is compressed data, and the output is decompressed screenshots and emotion data.
[0929] Step 6:
[0930] The server extracts text data from the received screenshot using an OCR tool (e.g., Tesseract OCR). The input is the screenshot, and the output is text data.
[0931] Step 7:
[0932] The server inputs the extracted text data and emotion data into a generative model to infer the reason for the interruption. The input is the text data and emotion data, and the output is the reason for the interruption.
[0933] Step 8:
[0934] The server uses a generative AI model to generate a solution based on the interruption reason and emotional data. For example, OpenAI GPT-3.5 is used to generate specific suggestions for next actions and encouraging messages that take into account the operator's emotional state. The input is the interruption reason and emotional data, and the output is the generated solution.
[0935] Step 9:
[0936] The server sends the generated solution to the user terminal and displays it to the operator. The input is the generated solution and the output is the solution displayed on the user terminal.
[0937] Step 10:
[0938] The user provides feedback on the proposed solution, and the user terminal transmits the feedback to the server. The input is the user's feedback, and the output is the feedback data transmitted to the server.
[0939] Step 11:
[0940] The server analyzes the received feedback data and identifies common issues. The input is the feedback data and the output is the identified issues.
[0941] Step 12:
[0942] The server generates specific suggestions based on the identified problems and provides them to the user. The input is the identified problems and the output is the specific suggestions provided to the user.
[0943] The above is a detailed processing flow of the system that analyzes the reason for the user's interruption of operation and their emotional state, and generates and provides an appropriate solution.
[0944] 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.
[0945] 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.
[0946] 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.
[0947] [Third embodiment]
[0948] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0949] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0950] 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).
[0951] 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.
[0952] 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.
[0953] 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).
[0954] 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.
[0955] 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.
[0956] 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.
[0957] 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.
[0958] 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.
[0959] 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."
[0960] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[0961] System configuration
[0962] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[0963] Operation on the user device side
[0964] 1. Operation monitoring
[0965] The user terminal sets a timer for periodically monitoring user operation events.
[0966] If the user is inactive for a period of time (e.g., 5 minutes), a timer is triggered.
[0967] 2. Taking a screenshot
[0968] When a trigger occurs, the user's device takes a screenshot of the current screen.
[0969] The captured screenshot is temporarily saved as image data.
[0970] 3. Send to the server
[0971] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request.
[0972] Server-side behavior
[0973] 1. Receiving screenshots
[0974] The server has an API endpoint that receives screenshots sent from the user's device.
[0975] The received image data is stored in a database.
[0976] 2. Character Recognition and Analysis
[0977] The server performs OCR (optical character recognition) processing on the received screenshot.
[0978] Extracts character data from an image and saves it as string data.
[0979] 3. Reasoning
[0980] The server inputs the extracted character data into a generative model to infer why the user is interrupting the operation.
[0981] Based on the inference results, an appropriate solution is generated.
[0982] 4. Proposal Distribution
[0983] The server transmits the generated solution to the user terminal.
[0984] 5. Processing Feedback
[0985] Receive user feedback and store it in a database.
[0986] Analyze accumulated feedback data to identify common issues.
[0987] Generate and deliver specific suggestions to users for identified issues.
[0988] Specific examples
[0989] Example 1: Interruption while editing a document
[0990] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and sends it to the server. The server analyzes the screenshot to determine that the user is currently editing a document, and generates a solution that suggests reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed to the user.
[0991] Example 2: Break on Error
[0992] When a user encounters an error while editing the source code of a program and aborts the operation, the user terminal takes a screenshot and sends it to the server. The server analyzes the error message from the screenshot and generates a solution that provides how to resolve the error and related documentation. The solution is then sent to the user terminal and displayed to the user.
[0993] In this way, the system can quickly and accurately identify the reason why the user has stopped working and provide an appropriate solution, thereby improving the user's productivity.
[0994] The processing flow will be explained below.
[0995] Step 1:
[0996] User Action Monitoring
[0997] The terminal sets a timer that monitors user operation events (mouse clicks, keyboard input, etc.) Specifically, it is set to trigger if the user does not perform any operation for a certain period of time (for example, 5 minutes).
[0998] Step 2:
[0999] Taking a screenshot
[1000] When the timer is triggered, the device takes a screenshot of the currently displayed screen, capturing the screen state while the user is away.
[1001] Step 3:
[1002] Send screenshot to server
[1003] After the screenshot is taken, the device compresses the image data and sends it to the server via an HTTP POST request, which transfers the screenshot data to the server.
[1004] Step 4:
[1005] Receiving screenshots
[1006] The server has an API endpoint that receives screenshots sent from the device, and the received image data is stored in a database on the server.
[1007] Step 5:
[1008] character recognition
[1009] The server analyzes the saved screenshot by running it through a character recognition tool (e.g., Tesseract OCR), which extracts the text data in the screenshot.
[1010] Step 6:
[1011] Saving text data
[1012] The text data extracted by OCR is stored in a database on the server along with screenshot metadata (such as timestamp and user ID).
[1013] Step 7:
[1014] Inferring user abandonment reasons
[1015] The server inputs the extracted text data into a generative AI model (e.g., GPT-4) to infer the reason why the user paused their PC operation, such as "editing a document" or "an error message is displayed."
[1016] Step 8:
[1017] Solution Generation
[1018] Based on the inference results, the server generates appropriate solutions, such as specific suggestions like "Please refer to this document for ideas in the next paragraph" or "Please refer to this document to resolve the error."
[1019] Step 9:
[1020] Submit a solution
[1021] The generated solutions are sent from the server to the device, allowing the user to receive the proposals quickly.
[1022] Step 10:
[1023] View Solution
[1024] The device will display the received solution to the user as a pop-up or notification, allowing the user to quickly see specific measures and next steps.
[1025] Step 11:
[1026] Accepting Feedback
[1027] Users can provide feedback on the suggestions displayed, which is collected through a chat function.
[1028] Step 12:
[1029] Send Feedback
[1030] The device sends the user-entered feedback to the server, providing the server with data to improve its next suggestions.
[1031] Step 13:
[1032] Feedback storage and analysis
[1033] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[1034] Step 14:
[1035] Generate and deliver specific proposals
[1036] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[1037] In this way, the system can quickly and accurately identify the reason why the user is interrupting an operation and provide an appropriate solution, thereby improving the user's productivity.
[1038] Example 1
[1039] 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."
[1040] When users operate a computer, they often experience sudden interruptions or stalls in their work. However, if the reason for the interruption cannot be identified and an appropriate solution is not provided, the user's work efficiency decreases. Furthermore, trying to resolve the cause of the interruption on one's own can consume time and resources and cause stress. Furthermore, if user feedback is not utilized appropriately, there is a risk that the same problem will occur repeatedly. To solve these issues, a system is needed that can quickly identify the reason for the interruption and provide an appropriate solution.
[1041] 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.
[1042] In this invention, the server includes means for setting a timer when there is no operation on the user terminal for a certain period of time and monitoring operation events; means for capturing a screenshot of the current screen when a trigger occurs; means for compressing the captured screenshot and transmitting it to the server; means for compressing and saving the screenshot received by the server; means for analyzing character data included in the saved screenshot using a character recognition tool; means for inputting the analyzed character data into a generative model and inferring the reason why the user is interrupting the operation; means for generating an appropriate solution based on the inference result; means for delivering the generated solution to the user terminal; and means for receiving and recording feedback from the user. This makes it possible to quickly and accurately identify the reason why the user is interrupting the operation and provide an appropriate solution. Furthermore, by utilizing user feedback, the accuracy of the solution can be improved, which is expected to improve the user's work efficiency and work environment.
[1043] "User terminal" refers to a computer or mobile device operated by a user.
[1044] A "timer" refers to a time management device that is set to perform notifications or processes at regular intervals.
[1045] "Operation events" refer to actions such as keyboard input, mouse movement, and clicks by the user.
[1046] A "trigger" is a signal or event that initiates an action when certain conditions are met.
[1047] A "screenshot" refers to capturing the current display content of a user's device screen in image format.
[1048] "Compression" refers to the transformation of data using a specific algorithm to reduce the volume of the data.
[1049] "Server" refers to a remote computer that provides functions such as receiving, transmitting, analyzing, and storing data.
[1050] A "character recognition tool" refers to software or algorithms that automatically identify character data in an image and extract it as text data.
[1051] "Analysis" refers to the detailed examination of data and information to understand its meaning and structure.
[1052] A "generative AI model" refers to a computational model that uses artificial intelligence techniques to generate solutions to specific problems.
[1053] "Inference" refers to drawing a conclusion or result based on specific data or conditions.
[1054] A "solution" refers to a proposal or method for solving a particular problem or issue.
[1055] "Feedback" refers to opinions and reactions provided by users regarding a system or service.
[1056] "API Endpoint" means an accessible interface on a server designed to provide specific functionality.
[1057] A "database" refers to a system that enables data to be systematically managed, stored, searched, and updated.
[1058] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[1059] System Configuration
[1060] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[1061] User device behavior
[1062] The user device sets an internal timer and monitors user operation events at regular intervals. This periodic operation monitoring is implemented using JavaScript or Python's thread library. If the user does not perform any operation for a certain period of time (for example, 5 minutes), the timer is triggered. When this trigger occurs, the user device takes a screenshot of the current screen. This screenshot is taken using Python's Pillow library or PyAutoGUI and temporarily saved in memory. The screenshot is then compressed and sent to the server via an HTTP POST request. Compression is performed using Python's zipfile library, and the HTTP POST request uses Python's requests library.
[1063] Server Operation
[1064] The server uses a framework (such as Flask or Django) to build an API endpoint and receives screenshots sent from the user device. The received screenshots are stored in a compressed state in a database. The saved screenshots are then decompressed and the character data contained in the screenshot is analyzed using a character recognition tool such as Tesseract OCR. The character data obtained as a result of this analysis is saved in text format. The analyzed character data is input into a generative AI model, which infers the reason why the user interrupted the operation. The generative AI model is built using machine learning libraries such as TensorFlow or PyTorch. An appropriate solution is generated based on the inference results and delivered to the user device as an HTTP response.
[1065] The server also receives feedback from users and stores it in a database. The accumulated feedback data is analyzed to identify common problems. Specific suggestions for the identified problems are generated and provided to users as feedback. This analysis utilizes database analysis tools and machine learning techniques.
[1066] Specific examples
[1067] In Example 1, we consider the case where a user pauses editing a document and remains inactive for a certain period of time. In this case, the user's device uses the Pillow library to take a screenshot and send it to the Flask server. The server then uses Tesseract to analyze the situation as "document editing in progress," and uses TensorFlow to generate reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed.
[1068] In Example 2, consider a case where a user encounters an error while editing the source code of a program and aborts the operation. The user's device takes a screenshot using the Pillow library and sends it to the Flask server. The server uses Tesseract to analyze the error message and generate a solution that provides relevant documentation and solutions. The solution is then sent to the user's device and displayed.
[1069] Prompt Sentence Examples
[1070] "If a program is repeatedly interrupted, we use a generative AI model to infer the reason for the interruption and how to resolve it."
[1071] In this way, the present invention can quickly and accurately identify the reason for the user's interruption of operation and provide an appropriate solution, thereby improving the user's productivity.
[1072] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1073] Step 1: Operational monitoring
[1074] The user device sets an internal timer and monitors user operation events (keyboard input, mouse movement, clicks, etc.) at regular intervals. For example, JavaScript's setTimeout function or Python's threading.Timer is used. This timer runs every 5 minutes and detects if there is no operation. It receives the timer setting time (e.g. 300 seconds) as input, and generates a trigger signal to proceed to the next step as output if there is no operation.
[1075] Specific behavior:
[1076] JavaScript example: setTimeout(function() { checkUserActivity();}, 300000);
[1077] Python example: timer = threading.Timer(300, check_user_activity); timer.start()
[1078] Step 2: Taking a screenshot
[1079] When a trigger occurs, the user device takes a screenshot of the current screen. The screenshot is captured using Python's Pillow library or PyAutoGUI. The trigger signal is received as input, and the captured screenshot image (e.g., PNG format) is temporarily saved in memory as output.
[1080] Specific behavior:
[1081] Python example: import pyautogui; screenshot = pyautogui.screenshot(); screenshot.save("screenshot.png")
[1082] Step 3: Send to the server
[1083] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request. The Python zipfile library is used for compression, and the requests library is used for the HTTP request. The screenshot image is received as input, and the compressed screenshot is sent to the server as output.
[1084] Specific behavior:
[1085] Compression example: import zipfile; with zipfile.ZipFile("screenshot.zip", "w") as zipf: zipf.write("screenshot.png")
[1086] Example of sending a request: import requests; with open("screenshot.zip", "rb") as f: response = requests.post("http: / / server / api / upload", files={"file": f})
[1087] Step 4: Receiving screenshots
[1088] The server receives screenshots sent from user devices via an API endpoint. The endpoint is built using the Flask or Django framework. It takes the received compressed file as input and stores the file in a database (e.g., MySQL or PostgreSQL) as output.
[1089] Specific behavior:
[1090] Flask example: from flask import Flask, request; app = Flask(__name__); @app.route(' / api / upload', methods=['POST']) def upload_file(): file = request.files['file']; file.save(" / path / to / save / screenshot.zip"); return "File uploaded successfully", 200
[1091] Step 5: Character Recognition and Analysis
[1092] The server unzips the received screenshot and extracts the text data using a character recognition tool such as Tesseract OCR. It receives the compressed file as input and obtains the extracted text data (in text format) as output.
[1093] Specific behavior:
[1094] Unzip example: import zipfile; with zipfile.ZipFile("screenshot.zip", "r") as zipf: zipf.extractall(" / path / to / extract")
[1095] Tesseract example: import pytesseract; from PIL import Image; image = Image.open(" / path / to / extract / screenshot.png"); text = pytesseract.image_to_string(image)
[1096] Step 6: Reasoning
[1097] The server inputs the extracted text data into a generative AI model to infer the reason why the user interrupted the operation. The AI model uses TensorFlow and PyTorch for inference processing. It receives the extracted text data as input and obtains the reason for the user interruption and a solution as output.
[1098] Specific behavior:
[1099] Example of inference for a generative AI model: import tensorflow as tf; model = tf.keras.models.load_model("model_path"); result = model.predict([text]); print(result)
[1100] Step 7: Distributing the proposal
[1101] The server delivers the generated solution to the user device as an HTTP response, using Flask's response function. It receives the generated solution as input and sends the solution to the user device as output.
[1102] Specific behavior:
[1103] Flask response example: @app.route(' / api / solution', methods=['POST']) def send_solution(): solution = generate_solution(request.json['text']); return {'solution': solution}, 200
[1104] Step 8: Processing feedback
[1105] The server receives user feedback and stores it in a database. It analyzes the accumulated feedback data and performs analysis to identify common problems. It uses AI models and database analysis tools. It takes user feedback as input and generates problem identification and specific suggestions as output.
[1106] Specific behavior:
[1107] Example of receiving and saving feedback: @app.route(' / api / feedback', methods=['POST']) def receive_feedback(): feedback = request.json['feedback']; save_to_database(feedback); return "Feedback received", 200
[1108] In this way, the system identifies the reason for the user's interruption and provides an appropriate solution.
[1109] (Application example 1)
[1110] 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."
[1111] The present invention relates to a system that quickly identifies the cause of a factory interruption and provides an effective solution when a user interrupts operation. Conventional systems require workers to manually identify the problem and search for a solution, which takes time and reduces productivity. Furthermore, when work procedures are complicated or error messages are difficult to understand, responding to the interruption can be even more difficult. The present invention aims to solve these problems and improve work efficiency.
[1112] 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.
[1113] In this invention, the server includes a means for providing the acquired solution to a display device worn by a user, a means for inferring a problem and a solution when work is interrupted in a factory, and a means for displaying the solution on the display device. This makes it possible to quickly identify the reason when a worker interrupts work and present an appropriate solution.
[1114] "User terminal" is a general term for computers and mobile devices operated by users.
[1115] A "screenshot" is an image of what is displayed on the screen of a user's device.
[1116] The "recognition function" is a function that analyzes text and images from captured screenshots.
[1117] A "generative model" is a model that uses artificial intelligence and machine learning to analyze data and generate solutions.
[1118] A "display device" is a hardware device used to display information to a user, including smart glasses and head-mounted displays.
[1119] "Feedback" refers to information such as opinions, impressions, and suggestions for improvement sent by users.
[1120] "Problems that occur when work is interrupted in a factory" refers to problems or troubles that cause workers to stop working in a factory.
[1121] A "solution" is a specific method or means suggested by a generative model to solve the work interruption problem.
[1122] A "character recognition tool" is software or hardware that identifies characters contained in an image and extracts them as text data.
[1123] "Work environment" refers to the physical location and surroundings where a user works.
[1124] "Notification" is a means by which the system provides information to the user, including displaying solutions or suggestions on a display device.
[1125] "Smart glasses" are a type of display device and a wearable computer in the form of glasses.
[1126] "Image data" refers to visual information captured as a screenshot.
[1127] The present invention is a system that analyzes the cause of a user interruption in a factory and provides an appropriate solution when the user interrupts the operation. This system consists of a user terminal, a server, and a generative model.
[1128] Operation on the user device side
[1129] The smart glasses worn by the user periodically monitor the worker's field of vision. If the user is inactive for five minutes, the smart glasses take a screenshot of the field of vision. This screenshot is temporarily saved as image data and sent to the server via an HTTP POST request.
[1130] Server-side behavior
[1131] 1. Receiving screenshots:
[1132] The server has an API endpoint that receives screenshots sent from the user's device, compresses the image data appropriately, and stores it in a database.
[1133] 2. Character Recognition and Analysis:
[1134] The server runs an OCR (optical character recognition) process on the screenshot using character recognition software such as Tesseract, extracting the text data from the image and saving it as text data.
[1135] 3. Reasoning and generating solutions:
[1136] The server inputs the extracted text data into a generative model to infer the reason why the user stopped using the app. This generative model uses natural language processing models such as BERT and GPT-3. Based on the inference results, it generates an appropriate solution.
[1137] 4. Solution Delivery:
[1138] The server sends the generated solution to the user terminal (smart glasses), which displays the received solution in the worker's field of vision.
[1139] 5. Feedback Processing:
[1140] Receive user feedback and store it in a database. Analyze the feedback data to identify common pain points. Based on the results, generate more specific suggestions and deliver them to users.
[1141] Specific examples
[1142] For example, consider a scenario where a worker on a production line stops operation. When a malfunction of a particular machine causes the work to stop, the smart glasses will take a screenshot of the field of view at that time and send it to the server. The server will analyze the error message from the screenshot and generate a solution that suggests how to repair the machine and related operating procedures. This solution will be sent to the smart glasses and displayed in the worker's field of view.
[1143] Hardware / Software used
[1144] Hardware:
[1145] Smart glasses: devices that monitor the user's field of vision and take screenshots.
[1146] Server: Receives screenshots, recognizes characters, generates solutions, and distributes them.
[1147] software:
[1148] OCR: Character recognition tools such as Tesseract.
[1149] Generative models: Natural language processing models such as BERT and GPT-3.
[1150] Prompt Sentence Examples
[1151] "When a user's operation is suspended for more than 5 minutes, how can we obtain a screenshot of the current situation, infer the reason for the failure or suspension of operation, and provide an appropriate solution? A specific use case is a machine malfunction that occurs during work on a production line."
[1152] This system improves work efficiency and productivity, and enables rapid problem resolution.
[1153] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1154] Step 1:
[1155] A screenshot is taken if there is no activity on the user's device for a certain period of time.
[1156] Input: Operation event (whether the user is performing an operation)
[1157] Data processing: Monitoring operation events
[1158] Output: Take a screenshot after a period of inactivity
[1159] Specific operation: The user device (smart glasses) periodically monitors the operation status, and if the user does not perform any operation for 5 minutes, it automatically takes a screenshot of the field of view.
[1160] Step 2:
[1161] The captured screenshot is sent to the server.
[1162] Input: Screenshot (image data)
[1163] Data processing: Compress image data
[1164] Output: Compressed screenshot sent to server
[1165] Specific operation: The user device appropriately compresses the captured screenshot and sends it to the server via an HTTP POST request.
[1166] Step 3:
[1167] The server receives and stores the screenshots.
[1168] Input: Screenshot (image data) sent
[1169] Data processing: Receiving and storing image data
[1170] Output: Save the received screenshot
[1171] Specific operation: The server receives screenshots sent from the user's device and stores them in a database.
[1172] Step 4:
[1173] The server performs OCR processing to extract text data from the screenshot.
[1174] Input: Saved screenshot (image data)
[1175] Data processing: Extract text from images using OCR (character recognition) tools
[1176] Output: Extracted character data (text data)
[1177] Specific operation: The server uses an OCR tool such as Tesseract to recognize the characters in the screenshot and save them as string data.
[1178] Step 5:
[1179] The server inputs the extracted character data into a generative model, infers the reason for the operation interruption, and generates a solution.
[1180] Input: Extracted character data (text data)
[1181] Data processing: Using generative AI models to make inferences and generate solutions
[1182] Output: Generated solution (text data)
[1183] Specific operation: The server inputs the extracted character data into an AI model such as BERT or GPT-3 to infer the reason for the interruption. Based on this, the generative model generates an appropriate solution.
[1184] Step 6:
[1185] The server transmits the generated solution to the user terminal.
[1186] Input: Generated solution (text data)
[1187] Data processing: sending generated solutions
[1188] Output: The solution sent to the user's terminal
[1189] Specific operation: The server sends the generated solution to the user terminal (smart glasses).
[1190] Step 7:
[1191] The user terminal displays the received solution to the worker.
[1192] Input: Solution sent from the server (text data)
[1193] Data processing: Display of received solutions
[1194] Output: Displayed solution
[1195] Specific operation: The user terminal (smart glasses) displays the solution received from the server in the worker's field of vision and provides appropriate guidance.
[1196] Step 8:
[1197] Receive and record user feedback.
[1198] Input: User feedback (text data)
[1199] Data Processing: Feedback Storage
[1200] Output: Recorded feedback
[1201] Specific operation: The user terminal receives feedback from the worker and transmits it to the server.
[1202] Step 9:
[1203] The server analyzes the feedback data and identifies common issues.
[1204] Input: Recorded feedback data (text data)
[1205] Data processing: Analysis of feedback data
[1206] Output: Identified common issues (text data)
[1207] Specific Actions: The server analyzes the recorded feedback data and identifies common issues.
[1208] Step 10:
[1209] The server generates specific suggestions based on the identified problems.
[1210] Input: Identified common issues (text data)
[1211] Data processing: Use generative AI models to generate specific recommendations
[1212] Output: Generated concrete proposals (text data)
[1213] Specific Actions: Based on the identified problems, the server generates specific suggestions using a generative AI model.
[1214] Step 11:
[1215] The server transmits the generated specific proposal to the user terminal.
[1216] Input: Generated specific proposals (text data)
[1217] Data processing: Sending specific proposals
[1218] Output: Specific proposals sent to the user's device
[1219] Specific operation: The server sends the generated specific proposal to the user terminal (smart glasses) and provides guidance to the worker.
[1220] 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.
[1221] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of solutions. Specific embodiments of the present invention will be described below.
[1222] System configuration
[1223] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[1224] Operation on the user device side
[1225] 1. Operation monitoring
[1226] The user device sets a timer that monitors user operation events (mouse, keyboard input, etc.) If the user does not perform any operation for a certain period of time (e.g., 5 minutes), the timer is triggered.
[1227] 2. Taking a screenshot
[1228] When a trigger occurs, the user's device will take a screenshot of the current screen and store it temporarily.
[1229] 3. Acquiring Emotion Data
[1230] At the same time, the user device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate the user's emotion data.
[1231] 4. Send to the server
[1232] The user device compresses the screenshot and emotion data and sends it to the server via an HTTP POST request.
[1233] Server-side behavior
[1234] 1. Receiving Data
[1235] The server has an API endpoint that receives screenshots and emotion data sent from the user's device and stores this data.
[1236] 2. Character Recognition and Analysis
[1237] The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image, which is then stored in a database.
[1238] 3. Inferring user abandonment reasons
[1239] The server inputs text data and emotion data into a generative model to infer the reason why the user paused the operation. For example, in addition to "editing a document," it can also consider "stress or fatigue" as a reason.
[1240] 4. Solution Generation
[1241] Based on the inference results and emotion data, the server generates more appropriate and personalized solutions, such as "Please refer to this material in the next paragraph" and "We recommend you take a break" as an encouraging message.
[1242] 5. Submit your proposal
[1243] The generated solution is sent from the server to the user terminal and presented to the user.
[1244] 6. Processing Feedback
[1245] Receives user feedback, stores it in a database, analyzes it along with sentiment data, and identifies common issues, which are then used to generate specific recommendations.
[1246] Specific examples
[1247] Example 1: Interruptions and Emotion Recognition During Document Editing
[1248] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot as "editing a document" and associates it with the "fatigue" obtained from the emotion engine. A solution suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break" is generated and sent to the user.
[1249] Example 2: Abort on error and emotion recognition
[1250] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. It then generates a solution suggestion, such as "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down," and sends it to the user.
[1251] In this way, the system comprehensively analyzes the user's reasons for interruption and emotional state, provides appropriate solutions, and supports the user's productivity and mental health.
[1252] The processing flow will be explained below.
[1253] Step 1:
[1254] User operation monitoring
[1255] The device sets a timer to monitor user activity events (mouse clicks, keyboard input, etc.) and is set to trigger after a certain period of inactivity (e.g., 5 minutes).
[1256] Step 2:
[1257] Taking a screenshot
[1258] When the timer is triggered, the device will take a screenshot of the currently displayed screen and temporarily save the screenshot.
[1259] Step 3:
[1260] Acquiring emotion data
[1261] At the same time, the device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate emotional data for the user.
[1262] Step 4:
[1263] Data compression and transmission
[1264] The device compresses the captured screenshot and emotion data and sends it to the server via an HTTP POST request, which transfers the data to the server.
[1265] Step 5:
[1266] Receiving screenshots and emotion data
[1267] The server has an API endpoint that receives screenshots and emotion data sent from the device and stores this data in a database.
[1268] Step 6:
[1269] Performing character recognition
[1270] The server passes the saved screenshot to an OCR tool (e.g., Tesseract OCR) to extract the characters in the image as text data, which is also stored in the database.
[1271] Step 7:
[1272] Reason for interruption
[1273] The server inputs the text data and emotion data obtained from OCR into a generative AI model to infer the reason why the user paused the operation. For example, it can link "editing a document" with "stress."
[1274] Step 8:
[1275] Solution Generation
[1276] Based on the inference results, the server generates an appropriate solution, taking into account sentiment data to generate more personalized suggestions, such as "Here's an idea for the next paragraph. I suggest you take a short break."
[1277] Step 9:
[1278] Submit a solution
[1279] The generated solution is sent from the server to the terminal, where it is presented on the user's terminal.
[1280] Step 10:
[1281] View Solution
[1282] The device will display the received solution to the user in the form of a pop-up or notification, allowing the user to immediately see the specific measures and next steps.
[1283] Step 11:
[1284] Accepting Feedback
[1285] Users can provide feedback on the suggestions displayed, which is collected through the device's chat function.
[1286] Step 12:
[1287] Send Feedback
[1288] The device sends the user-entered feedback to the server, giving the server data to improve its next suggestions.
[1289] Step 13:
[1290] Feedback storage and analysis
[1291] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[1292] Step 14:
[1293] Generate and deliver specific proposals
[1294] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[1295] In this way, the system supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[1296] Example 2
[1297] 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."
[1298] In today's digital environment, there are many reasons why users interrupt their PC operations, and prolonged interruptions can lead to reduced productivity. Furthermore, there are currently limited systems that can understand the user's emotions and circumstances while they are interrupted and provide appropriate solutions. There is a need for a system that can accurately infer the reasons for such interruptions and provide solutions that address the user's emotions, thereby simultaneously improving productivity and supporting mental health.
[1299] 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.
[1300] In this invention, the server includes means for taking a screenshot when there is no operation on the user terminal for a certain period of time, means for recording the taken screenshot and emotion data, means for analyzing the recorded screenshot as text using a recognition function, means for recognizing emotion from the user's facial expression and voice data, generative model means for inferring the reason why the user has stopped operation using the analyzed text data and emotion data and generating an appropriate solution, means for providing the generated solution to the user terminal, and means for receiving and recording feedback from the user. This makes it possible to properly understand the reason why the user has stopped operation and provide an optimal solution that takes into account the user's emotional state.
[1301] A "user terminal" is a computer device operated by a user, and is a device that monitors operation events, takes screenshots, and records and transmits emotional data.
[1302] A "server" is a computing device that receives, stores, and analyzes data sent from user terminals, and generates and provides appropriate solutions.
[1303] A "screenshot" is data that saves the current display content of the user's device screen in image format.
[1304] "Emotional data" is digital data that indicates the emotional state of the user analyzed from their facial expressions and voice.
[1305] "Recognition function" refers to OCR (optical character recognition) technology for extracting text from screenshots.
[1306] A "generative model" is an artificial intelligence model that infers the reason for a user's interruption based on text data and emotional data, and generates an appropriate solution.
[1307] "Feedback" is data that shows user reactions and opinions regarding the solutions provided.
[1308] "Character recognition tool" refers to software or technology for extracting text data from images.
[1309] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of the solution. A specific embodiment of the present invention includes a user terminal, a server, a generative model, and an emotion engine.
[1310] System configuration
[1311] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[1312] Operation on the user device side
[1313] The user device uses the OS API to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). If there is no operation for a certain period of time, the timer is triggered. When the trigger occurs, the user device takes a screenshot of the current screen and records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by the emotion engine to generate user emotion data. The screenshot and emotion data are compressed and sent to the server using an HTTP POST request.
[1314] Server-side behavior
[1315] The server receives screenshots and emotion data sent from the user's device using an API endpoint for receiving HTTP POST requests. The received data is decompressed, and the screenshots are parsed into text data using Tesseract OCR. The parsed text data is stored in a database and input into a generative model (e.g., GPT-4). The generative model infers the reason for the user's interruption based on the text data and emotion data and generates an appropriate solution. This generated solution is sent back to the user's device and displayed to the user. In addition, user feedback is also received and analyzed by the server. The feedback data is stored in a database and used to identify common issues.
[1316] Specific examples
[1317] Example 1: Interruptions and Emotion Recognition During Document Editing
[1318] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot to determine whether the user is currently editing a document and associates this with the "fatigue" level obtained from the emotion engine. Based on this information, the server generates a suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break," and sends it to the user.
[1319] Example 2: Abort on error and emotion recognition
[1320] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. Based on this information, a suggestion is generated and sent to the user: "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down."
[1321] Examples of prompt statements
[1322] "If a user is editing a document and pauses with a tired look on their face, reason about what solution you would offer them."
[1323] "What would be the best solution for users who are frustrated by error messages?"
[1324] The present invention is a system that supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[1325] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1326] Step 1: Monitor user action events
[1327] The user device uses the OS API (e.g., WinAPI SetTimer function) to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). It receives the timer setting time (e.g., 5 minutes) as input and starts the timer. If no operation is performed for a certain period of time, the timer is triggered. When the timer is triggered, it generates a flag indicating that the operation has been interrupted as output.
[1328] Step 2: Check the trigger conditions and take screenshots
[1329] The user device receives the "operation aborted" flag output in step 1 as input and takes a screenshot of the current screen. Specifically, it uses the OS API (e.g., the BitBlt function in Windows). After taking the screenshot, it temporarily saves the data and generates the screenshot data as output.
[1330] Step 3: Acquire and analyze emotion data
[1331] The user device records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by an emotion engine (e.g., Microsoft Azure's Face API or Google's Speech-to-Text API). It receives the recorded data as input and generates emotion data. It generates analyzed emotion data as output and sends it to the next step.
[1332] Step 4: Sending data to the server
[1333] The user device receives the screenshot data from step 2 and the emotion data from step 3 as input, compresses them in ZIP format, and sends the compressed data to the server using an HTTP POST request. Specifically, the request also includes metadata such as the user ID and timestamp. The compressed data is generated as output and sent to the server.
[1334] Step 5: Receiving the data
[1335] The server has an API endpoint set up to receive HTTP POST requests. As input, it receives compressed data sent from the user's device, decompresses it, and obtains screenshot data and emotion data. As output, it saves each data in a directory on the server.
[1336] Step 6: Analyze and OCR the screenshot
[1337] The server receives the saved screenshot data as input, extracts text data from the image using Tesseract OCR, and generates the extracted text data as output, which is then stored in a database.
[1338] Step 7: Inferring user abandonment reasons
[1339] The server receives the text data from step 6 and the emotion data from step 5 as input and inputs them into a generative AI model (e.g., GPT-4). The generative AI model infers the reason for the user's interruption based on this data. It generates the reason for interruption as output and sends it to the next step.
[1340] Step 8: Generate optimal solutions
[1341] The server receives the interruption reason and emotion data from step 7 as input and generates an appropriate solution using the generative AI model. Specifically, it inputs the prompt sentence into the generative AI model to obtain a solution proposal. It generates the generated solution as output and sends it to the next step.
[1342] Step 9: Send the solution to the user
[1343] The server receives the solution generated in step 8 as input and sends it to the user terminal using an HTTP response. The user terminal receives this response and displays the solution to the user. The solution is presented as output in a form that the user can confirm.
[1344] Step 10: Processing user feedback
[1345] If the user provides feedback on the proposed solution, the data is sent back to the server. The server receives, records, and analyzes the feedback data as input. The analyzed feedback data is stored in a database and used to identify common issues and to update the learning model in the future. The server generates analysis results as output.
[1346] (Application example 2)
[1347] 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."
[1348] In modern manufacturing, improving production line efficiency and reducing operator workload are key challenges. When problems or errors occur while operators are operating production equipment or robots, work is interrupted. However, it is difficult to accurately identify the reason for the interruption and quickly provide an appropriate solution. This leads to reduced productivity and increased operator stress. Another issue is the lack of a system for providing appropriate feedback that takes into account the emotional state of the operator.
[1349] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving screenshots and emotion data sent from a user terminal, means for compressing and saving the received data, and means for using a character recognition tool to analyze the characters contained in the screenshots. This makes it possible to comprehensively assess the reason for the operator's interruption and their emotional state and quickly present an appropriate solution. Furthermore, by providing appropriate feedback based on the operator's emotional state, it is possible to improve production efficiency and reduce mental stress.
[1350] A "user terminal" is a computing device or mobile device used by a user.
[1351] A "screenshot" refers to capturing the contents of a user's device in image format.
[1352] A "face image" is image data of a user's face captured by a camera.
[1353] "Recognition function" is a technology that analyzes image data and audio data and recognizes them as text or emotional data.
[1354] "Character data" is text information extracted from image data.
[1355] "Emotional data" is information about a user's emotional state obtained by analyzing their facial expressions and voice.
[1356] A "generative model means" is an algorithm or program that uses artificial intelligence to automatically generate solutions based on the user's situation and emotions.
[1357] "Feedback" refers to the reactions and opinions that users provide to a system.
[1358] "Data compression" is a technique for reducing the size of transmitted data.
[1359] A "character recognition tool" is software that analyzes characters in an image and converts them into text data.
[1360] "Generated solutions" are suggestions or advice created by a generative model based on the user's reasons for interrupting the operation and emotional data.
[1361] The present invention is a system that infers the reason for an operator's interruption during robot operation in a factory and provides an appropriate solution. When an operator interrupts operation while operating a robot, this system analyzes the reason and generates an appropriate proposal to improve productivity.
[1362] System configuration
[1363] This system mainly consists of a user terminal, a server, a generative model, and an emotion engine.
[1364] User Device
[1365] Operation monitoring: The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.), and if there is no operation for a certain period of time (e.g., 5 minutes), it sets a timer to detect an interruption in operation.
[1366] Data acquisition: When the timer is triggered, the user device takes a screenshot of the operation panel and an image of the operator's face, and also uses the built-in camera and microphone to record the operator's facial expressions and voice, which are then analyzed by the emotion engine to generate emotion data.
[1367] Data transmission: The user device compresses the captured screenshot and emotion data and sends them to the server using an HTTP POST request.
[1368] server
[1369] Data reception: The server has an API endpoint that receives screenshots and emotion data sent from the user device and stores this data.
[1370] Character Recognition and Analysis: The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image. The extracted text data and emotion data are then input into a generative model to infer the reason for the interruption.
[1371] Solution Generation: Based on the inference results and emotion data, the server uses a generative AI model (e.g., OpenAI GPT-3.5) to generate an appropriate solution, which includes specific suggestions for next actions and encouraging messages that take into account the operator's emotional state.
[1372] Proposal transmission: The generated solution is sent from the server to the user terminal and displayed to the operator.
[1373] Specific examples
[1374] For example, if a "machine error" occurs while an operator is operating a robot and the operation is interrupted, the user device will capture a screenshot of the "machine error" and an image of the operator's face, which appears to be "fatigued." The server will recognize the "machine error" from the screenshot and link it to the "fatigue" data extracted from the emotion engine. The following prompt sentence will be input into the generative AI model to generate a solution.
[1375] Prompt:
[1376] Operation has been interrupted. Text: "Machine error". Emotion: "Feeling tired". Suggest solutions.
[1377] The generative AI model proposes solutions, such as "refer to the machine manual" and "recommend taking a short break." These solutions are sent from the server to the user's device and displayed on the operator's screen. This allows the operator to quickly understand the next action to take and solve the problem efficiently. Furthermore, providing feedback based on the operator's emotional state also contributes to reducing their workload.
[1378] This invention can improve productivity and reduce the burden on operators by quickly resolving problems on factory production lines. Furthermore, it supports the mental health of operators by providing feedback that takes into account their emotional state.
[1379] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1380] Step 1:
[1381] The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.) and detects an interruption of operation if there is no operation for a certain period of time (e.g., 5 minutes). The input is the operator's operation data, and the output is a trigger signal to interrupt the operation.
[1382] Step 2:
[1383] When the user device detects an interruption in operation, it takes a screenshot of the operation panel and captures a facial image of the operator using the built-in camera. The input is a trigger signal for the interruption of operation, and the output is a screenshot and facial image.
[1384] Step 3:
[1385] The user device records the operator's facial expressions and voice using a built-in camera and microphone, and generates emotion data using an emotion engine. The input is facial image and voice data, and the output is emotion data.
[1386] Step 4:
[1387] The user terminal compresses the screenshot and emotion data and sends them to the server. The input is the screenshot and emotion data, and the output is the compressed data.
[1388] Step 5:
[1389] The server receives and stores screenshots and emotion data sent from user terminals. The input is compressed data, and the output is decompressed screenshots and emotion data.
[1390] Step 6:
[1391] The server extracts text data from the received screenshot using an OCR tool (e.g., Tesseract OCR). The input is the screenshot, and the output is text data.
[1392] Step 7:
[1393] The server inputs the extracted text data and emotion data into a generative model to infer the reason for the interruption. The input is the text data and emotion data, and the output is the reason for the interruption.
[1394] Step 8:
[1395] The server uses a generative AI model to generate a solution based on the interruption reason and emotional data. For example, OpenAI GPT-3.5 is used to generate specific suggestions for next actions and encouraging messages that take into account the operator's emotional state. The input is the interruption reason and emotional data, and the output is the generated solution.
[1396] Step 9:
[1397] The server sends the generated solution to the user terminal and displays it to the operator. The input is the generated solution and the output is the solution displayed on the user terminal.
[1398] Step 10:
[1399] The user provides feedback on the proposed solution, and the user terminal transmits the feedback to the server. The input is the user's feedback, and the output is the feedback data transmitted to the server.
[1400] Step 11:
[1401] The server analyzes the received feedback data and identifies common issues. The input is the feedback data and the output is the identified issues.
[1402] Step 12:
[1403] The server generates specific suggestions based on the identified problems and provides them to the user. The input is the identified problems and the output is the specific suggestions provided to the user.
[1404] The above is a detailed processing flow of the system that analyzes the reason for the user's interruption of operation and their emotional state, and generates and provides an appropriate solution.
[1405] 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.
[1406] 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.
[1407] 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.
[1408] [Fourth embodiment]
[1409] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1410] 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.
[1411] 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).
[1412] 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.
[1413] 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.
[1414] 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).
[1415] 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.
[1416] 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.
[1417] 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.
[1418] 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.
[1419] 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.
[1420] 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.
[1421] 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."
[1422] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[1423] System configuration
[1424] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[1425] Operation on the user device side
[1426] 1. Operation monitoring
[1427] The user terminal sets a timer for periodically monitoring user operation events.
[1428] If the user is inactive for a period of time (e.g., 5 minutes), a timer is triggered.
[1429] 2. Taking a screenshot
[1430] When a trigger occurs, the user's device takes a screenshot of the current screen.
[1431] The captured screenshot is temporarily saved as image data.
[1432] 3. Send to the server
[1433] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request.
[1434] Server-side behavior
[1435] 1. Receiving screenshots
[1436] The server has an API endpoint that receives screenshots sent from the user's device.
[1437] The received image data is stored in a database.
[1438] 2. Character Recognition and Analysis
[1439] The server performs OCR (optical character recognition) processing on the received screenshot.
[1440] Extracts character data from an image and saves it as string data.
[1441] 3. Reasoning
[1442] The server inputs the extracted character data into a generative model to infer why the user is interrupting the operation.
[1443] Based on the inference results, an appropriate solution is generated.
[1444] 4. Proposal Distribution
[1445] The server transmits the generated solution to the user terminal.
[1446] 5. Processing Feedback
[1447] Receive user feedback and store it in a database.
[1448] Analyze accumulated feedback data to identify common issues.
[1449] Generate and deliver specific suggestions to users for identified issues.
[1450] Specific examples
[1451] Example 1: Interruption while editing a document
[1452] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and sends it to the server. The server analyzes the screenshot to determine that the user is currently editing a document, and generates a solution that suggests reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed to the user.
[1453] Example 2: Break on Error
[1454] When a user encounters an error while editing the source code of a program and aborts the operation, the user terminal takes a screenshot and sends it to the server. The server analyzes the error message from the screenshot and generates a solution that provides how to resolve the error and related documentation. The solution is then sent to the user terminal and displayed to the user.
[1455] In this way, the system can quickly and accurately identify the reason why the user has stopped working and provide an appropriate solution, thereby improving the user's productivity.
[1456] The processing flow will be explained below.
[1457] Step 1:
[1458] User Action Monitoring
[1459] The terminal sets a timer that monitors user operation events (mouse clicks, keyboard input, etc.) Specifically, it is set to trigger if the user does not perform any operation for a certain period of time (for example, 5 minutes).
[1460] Step 2:
[1461] Taking a screenshot
[1462] When the timer is triggered, the device takes a screenshot of the currently displayed screen, capturing the screen state while the user is away.
[1463] Step 3:
[1464] Send screenshot to server
[1465] After the screenshot is taken, the device compresses the image data and sends it to the server via an HTTP POST request, which transfers the screenshot data to the server.
[1466] Step 4:
[1467] Receiving screenshots
[1468] The server has an API endpoint that receives screenshots sent from the device, and the received image data is stored in a database on the server.
[1469] Step 5:
[1470] character recognition
[1471] The server analyzes the saved screenshot by running it through a character recognition tool (e.g., Tesseract OCR), which extracts the text data in the screenshot.
[1472] Step 6:
[1473] Saving text data
[1474] The text data extracted by OCR is stored in a database on the server along with screenshot metadata (such as timestamp and user ID).
[1475] Step 7:
[1476] Inferring user abandonment reasons
[1477] The server inputs the extracted text data into a generative AI model (e.g., GPT-4) to infer the reason why the user paused their PC operation, such as "editing a document" or "an error message is displayed."
[1478] Step 8:
[1479] Solution Generation
[1480] Based on the inference results, the server generates appropriate solutions, such as specific suggestions like "Please refer to this document for ideas in the next paragraph" or "Please refer to this document to resolve the error."
[1481] Step 9:
[1482] Submit a solution
[1483] The generated solutions are sent from the server to the device, allowing the user to receive the proposals quickly.
[1484] Step 10:
[1485] View Solution
[1486] The device will display the received solution to the user as a pop-up or notification, allowing the user to quickly see specific measures and next steps.
[1487] Step 11:
[1488] Accepting Feedback
[1489] Users can provide feedback on the suggestions displayed, which is collected through a chat function.
[1490] Step 12:
[1491] Send Feedback
[1492] The device sends the user-entered feedback to the server, providing the server with data to improve its next suggestions.
[1493] Step 13:
[1494] Feedback storage and analysis
[1495] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[1496] Step 14:
[1497] Generate and deliver specific proposals
[1498] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[1499] In this way, the system can quickly and accurately identify the reason why the user is interrupting an operation and provide an appropriate solution, thereby improving the user's productivity.
[1500] Example 1
[1501] 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."
[1502] When users operate a computer, they often experience sudden interruptions or stalls in their work. However, if the reason for the interruption cannot be identified and an appropriate solution is not provided, the user's work efficiency decreases. Furthermore, trying to resolve the cause of the interruption on one's own can consume time and resources and cause stress. Furthermore, if user feedback is not utilized appropriately, there is a risk that the same problem will occur repeatedly. To solve these issues, a system is needed that can quickly identify the reason for the interruption and provide an appropriate solution.
[1503] 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.
[1504] In this invention, the server includes means for setting a timer when there is no operation on the user terminal for a certain period of time and monitoring operation events; means for capturing a screenshot of the current screen when a trigger occurs; means for compressing the captured screenshot and transmitting it to the server; means for compressing and saving the screenshot received by the server; means for analyzing character data included in the saved screenshot using a character recognition tool; means for inputting the analyzed character data into a generative model and inferring the reason why the user is interrupting the operation; means for generating an appropriate solution based on the inference result; means for delivering the generated solution to the user terminal; and means for receiving and recording feedback from the user. This makes it possible to quickly and accurately identify the reason why the user is interrupting the operation and provide an appropriate solution. Furthermore, by utilizing user feedback, the accuracy of the solution can be improved, which is expected to improve the user's work efficiency and work environment.
[1505] "User terminal" refers to a computer or mobile device operated by a user.
[1506] A "timer" refers to a time management device that is set to perform notifications or processes at regular intervals.
[1507] "Operation events" refer to actions such as keyboard input, mouse movement, and clicks by the user.
[1508] A "trigger" is a signal or event that initiates an action when certain conditions are met.
[1509] A "screenshot" refers to capturing the current display content of a user's device screen in image format.
[1510] "Compression" refers to the transformation of data using a specific algorithm to reduce the volume of the data.
[1511] "Server" refers to a remote computer that provides functions such as receiving, transmitting, analyzing, and storing data.
[1512] A "character recognition tool" refers to software or algorithms that automatically identify character data in an image and extract it as text data.
[1513] "Analysis" refers to the detailed examination of data and information to understand its meaning and structure.
[1514] A "generative AI model" refers to a computational model that uses artificial intelligence techniques to generate solutions to specific problems.
[1515] "Inference" refers to drawing a conclusion or result based on specific data or conditions.
[1516] A "solution" refers to a proposal or method for solving a particular problem or issue.
[1517] "Feedback" refers to opinions and reactions provided by users regarding a system or service.
[1518] "API Endpoint" means an accessible interface on a server designed to provide specific functionality.
[1519] A "database" refers to a system that enables data to be systematically managed, stored, searched, and updated.
[1520] The present invention is a system that, when a user stops operating a PC, infers the reason for the interruption and provides an appropriate solution. Specific embodiments of the present invention will be described below.
[1521] System Configuration
[1522] This system consists of a user terminal, a server, and a generative model. The user terminal is a computer or mobile device operated by the user, and the server receives, sends, and analyzes data. The generative model uses artificial intelligence and machine learning to make inferences and generate solutions.
[1523] User device behavior
[1524] The user device sets an internal timer and monitors user operation events at regular intervals. This periodic operation monitoring is implemented using JavaScript or Python's thread library. If the user does not perform any operation for a certain period of time (for example, 5 minutes), the timer is triggered. When this trigger occurs, the user device takes a screenshot of the current screen. This screenshot is taken using Python's Pillow library or PyAutoGUI and temporarily saved in memory. The screenshot is then compressed and sent to the server via an HTTP POST request. Compression is performed using Python's zipfile library, and the HTTP POST request uses Python's requests library.
[1525] Server Operation
[1526] The server uses a framework (such as Flask or Django) to build an API endpoint and receives screenshots sent from the user device. The received screenshots are stored in a compressed state in a database. The saved screenshots are then decompressed and the character data contained in the screenshot is analyzed using a character recognition tool such as Tesseract OCR. The character data obtained as a result of this analysis is saved in text format. The analyzed character data is input into a generative AI model, which infers the reason why the user interrupted the operation. The generative AI model is built using machine learning libraries such as TensorFlow or PyTorch. An appropriate solution is generated based on the inference results and delivered to the user device as an HTTP response.
[1527] The server also receives feedback from users and stores it in a database. The accumulated feedback data is analyzed to identify common problems. Specific suggestions for the identified problems are generated and provided to users as feedback. This analysis utilizes database analysis tools and machine learning techniques.
[1528] Specific examples
[1529] In Example 1, we consider the case where a user pauses editing a document and remains inactive for a certain period of time. In this case, the user's device uses the Pillow library to take a screenshot and send it to the Flask server. The server then uses Tesseract to analyze the situation as "document editing in progress," and uses TensorFlow to generate reference materials for the user to continue writing and ideas for the next paragraph. The solution is then sent to the user's device and displayed.
[1530] In Example 2, consider a case where a user encounters an error while editing the source code of a program and aborts the operation. The user's device takes a screenshot using the Pillow library and sends it to the Flask server. The server uses Tesseract to analyze the error message and generate a solution that provides relevant documentation and solutions. The solution is then sent to the user's device and displayed.
[1531] Prompt Sentence Examples
[1532] "If a program is repeatedly interrupted, we use a generative AI model to infer the reason for the interruption and how to resolve it."
[1533] In this way, the present invention can quickly and accurately identify the reason for the user's interruption of operation and provide an appropriate solution, thereby improving the user's productivity.
[1534] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1535] Step 1: Operational monitoring
[1536] The user device sets an internal timer and monitors user operation events (keyboard input, mouse movement, clicks, etc.) at regular intervals. For example, JavaScript's setTimeout function or Python's threading.Timer is used. This timer runs every 5 minutes and detects if there is no operation. It receives the timer setting time (e.g. 300 seconds) as input, and generates a trigger signal to proceed to the next step as output if there is no operation.
[1537] Specific behavior:
[1538] JavaScript example: setTimeout(function() { checkUserActivity();}, 300000);
[1539] Python example: timer = threading.Timer(300, check_user_activity); timer.start()
[1540] Step 2: Taking a screenshot
[1541] When a trigger occurs, the user device takes a screenshot of the current screen. The screenshot is captured using Python's Pillow library or PyAutoGUI. The trigger signal is received as input, and the captured screenshot image (e.g., PNG format) is temporarily saved in memory as output.
[1542] Specific behavior:
[1543] Python example: import pyautogui; screenshot = pyautogui.screenshot(); screenshot.save("screenshot.png")
[1544] Step 3: Send to the server
[1545] The user device compresses the captured screenshot and sends it to the server via an HTTP POST request. The Python zipfile library is used for compression, and the requests library is used for the HTTP request. The screenshot image is received as input, and the compressed screenshot is sent to the server as output.
[1546] Specific behavior:
[1547] Compression example: import zipfile; with zipfile.ZipFile("screenshot.zip", "w") as zipf: zipf.write("screenshot.png")
[1548] Example of sending a request: import requests; with open("screenshot.zip", "rb") as f: response = requests.post("http: / / server / api / upload", files={"file": f})
[1549] Step 4: Receiving screenshots
[1550] The server receives screenshots sent from user devices via an API endpoint. The endpoint is built using the Flask or Django framework. It takes the received compressed file as input and stores the file in a database (e.g., MySQL or PostgreSQL) as output.
[1551] Specific behavior:
[1552] Flask example: from flask import Flask, request; app = Flask(__name__); @app.route(' / api / upload', methods=['POST']) def upload_file(): file = request.files['file']; file.save(" / path / to / save / screenshot.zip"); return "File uploaded successfully", 200
[1553] Step 5: Character Recognition and Analysis
[1554] The server unzips the received screenshot and extracts the text data using a character recognition tool such as Tesseract OCR. It receives the compressed file as input and obtains the extracted text data (in text format) as output.
[1555] Specific behavior:
[1556] Unzip example: import zipfile; with zipfile.ZipFile("screenshot.zip", "r") as zipf: zipf.extractall(" / path / to / extract")
[1557] Tesseract example: import pytesseract; from PIL import Image; image = Image.open(" / path / to / extract / screenshot.png"); text = pytesseract.image_to_string(image)
[1558] Step 6: Reasoning
[1559] The server inputs the extracted text data into a generative AI model to infer the reason why the user interrupted the operation. The AI model uses TensorFlow and PyTorch for inference processing. It receives the extracted text data as input and obtains the reason for the user interruption and a solution as output.
[1560] Specific behavior:
[1561] Example of inference for a generative AI model: import tensorflow as tf; model = tf.keras.models.load_model("model_path"); result = model.predict([text]); print(result)
[1562] Step 7: Distributing the proposal
[1563] The server delivers the generated solution to the user device as an HTTP response, using Flask's response function. It receives the generated solution as input and sends the solution to the user device as output.
[1564] Specific behavior:
[1565] Flask response example: @app.route(' / api / solution', methods=['POST']) def send_solution(): solution = generate_solution(request.json['text']); return {'solution': solution}, 200
[1566] Step 8: Processing feedback
[1567] The server receives user feedback and stores it in a database. It analyzes the accumulated feedback data and performs analysis to identify common problems. It uses AI models and database analysis tools. It takes user feedback as input and generates problem identification and specific suggestions as output.
[1568] Specific behavior:
[1569] Example of receiving and saving feedback: @app.route(' / api / feedback', methods=['POST']) def receive_feedback(): feedback = request.json['feedback']; save_to_database(feedback); return "Feedback received", 200
[1570] In this way, the system identifies the reason for the user's interruption and provides an appropriate solution.
[1571] (Application example 1)
[1572] 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."
[1573] The present invention relates to a system that quickly identifies the cause of a factory interruption and provides an effective solution when a user interrupts operation. Conventional systems require workers to manually identify the problem and search for a solution, which takes time and reduces productivity. Furthermore, when work procedures are complicated or error messages are difficult to understand, responding to the interruption can be even more difficult. The present invention aims to solve these problems and improve work efficiency.
[1574] 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.
[1575] In this invention, the server includes a means for providing the acquired solution to a display device worn by a user, a means for inferring a problem and a solution when work is interrupted in a factory, and a means for displaying the solution on the display device. This makes it possible to quickly identify the reason when a worker interrupts work and present an appropriate solution.
[1576] "User terminal" is a general term for computers and mobile devices operated by users.
[1577] A "screenshot" is an image of what is displayed on the screen of a user's device.
[1578] The "recognition function" is a function that analyzes text and images from captured screenshots.
[1579] A "generative model" is a model that uses artificial intelligence and machine learning to analyze data and generate solutions.
[1580] A "display device" is a hardware device used to display information to a user, including smart glasses and head-mounted displays.
[1581] "Feedback" refers to information such as opinions, impressions, and suggestions for improvement sent by users.
[1582] "Problems that occur when work is interrupted in a factory" refers to problems or troubles that cause workers to stop working in a factory.
[1583] A "solution" is a specific method or means suggested by a generative model to solve the work interruption problem.
[1584] A "character recognition tool" is software or hardware that identifies characters contained in an image and extracts them as text data.
[1585] "Work environment" refers to the physical location and surroundings where a user works.
[1586] "Notification" is a means by which the system provides information to the user, including displaying solutions or suggestions on a display device.
[1587] "Smart glasses" are a type of display device and a wearable computer in the form of glasses.
[1588] "Image data" refers to visual information captured as a screenshot.
[1589] The present invention is a system that analyzes the cause of a user interruption in a factory and provides an appropriate solution when the user interrupts the operation. This system consists of a user terminal, a server, and a generative model.
[1590] Operation on the user device side
[1591] The smart glasses worn by the user periodically monitor the worker's field of vision. If the user is inactive for five minutes, the smart glasses take a screenshot of the field of vision. This screenshot is temporarily saved as image data and sent to the server via an HTTP POST request.
[1592] Server-side behavior
[1593] 1. Receiving screenshots:
[1594] The server has an API endpoint that receives screenshots sent from the user's device, compresses the image data appropriately, and stores it in a database.
[1595] 2. Character Recognition and Analysis:
[1596] The server runs an OCR (optical character recognition) process on the screenshot using character recognition software such as Tesseract, extracting the text data from the image and saving it as text data.
[1597] 3. Reasoning and generating solutions:
[1598] The server inputs the extracted text data into a generative model to infer the reason why the user stopped using the app. This generative model uses natural language processing models such as BERT and GPT-3. Based on the inference results, it generates an appropriate solution.
[1599] 4. Solution Delivery:
[1600] The server sends the generated solution to the user terminal (smart glasses), which displays the received solution in the worker's field of vision.
[1601] 5. Feedback Processing:
[1602] Receive user feedback and store it in a database. Analyze the feedback data to identify common pain points. Based on the results, generate more specific suggestions and deliver them to users.
[1603] Specific examples
[1604] For example, consider a scenario where a worker on a production line stops operation. When a malfunction of a particular machine causes the work to stop, the smart glasses will take a screenshot of the field of view at that time and send it to the server. The server will analyze the error message from the screenshot and generate a solution that suggests how to repair the machine and related operating procedures. This solution will be sent to the smart glasses and displayed in the worker's field of view.
[1605] Hardware / Software used
[1606] Hardware:
[1607] Smart glasses: devices that monitor the user's field of vision and take screenshots.
[1608] Server: Receives screenshots, recognizes characters, generates solutions, and distributes them.
[1609] software:
[1610] OCR: Character recognition tools such as Tesseract.
[1611] Generative models: Natural language processing models such as BERT and GPT-3.
[1612] Prompt Sentence Examples
[1613] "When a user's operation is suspended for more than 5 minutes, how can we obtain a screenshot of the current situation, infer the reason for the failure or suspension of operation, and provide an appropriate solution? A specific use case is a machine malfunction that occurs during work on a production line."
[1614] This system improves work efficiency and productivity, and enables rapid problem resolution.
[1615] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1616] Step 1:
[1617] A screenshot is taken if there is no activity on the user's device for a certain period of time.
[1618] Input: Operation event (whether the user is performing an operation)
[1619] Data processing: Monitoring operation events
[1620] Output: Take a screenshot after a period of inactivity
[1621] Specific operation: The user device (smart glasses) periodically monitors the operation status, and if the user does not perform any operation for 5 minutes, it automatically takes a screenshot of the field of view.
[1622] Step 2:
[1623] The captured screenshot is sent to the server.
[1624] Input: Screenshot (image data)
[1625] Data processing: Compress image data
[1626] Output: Compressed screenshot sent to server
[1627] Specific operation: The user device appropriately compresses the captured screenshot and sends it to the server via an HTTP POST request.
[1628] Step 3:
[1629] The server receives and stores the screenshots.
[1630] Input: Screenshot (image data) sent
[1631] Data processing: Receiving and storing image data
[1632] Output: Save the received screenshot
[1633] Specific operation: The server receives screenshots sent from the user's device and stores them in a database.
[1634] Step 4:
[1635] The server performs OCR processing to extract text data from the screenshot.
[1636] Input: Saved screenshot (image data)
[1637] Data processing: Extract text from images using OCR (character recognition) tools
[1638] Output: Extracted character data (text data)
[1639] Specific operation: The server uses an OCR tool such as Tesseract to recognize the characters in the screenshot and save them as string data.
[1640] Step 5:
[1641] The server inputs the extracted character data into a generative model, infers the reason for the operation interruption, and generates a solution.
[1642] Input: Extracted character data (text data)
[1643] Data processing: Using generative AI models to make inferences and generate solutions
[1644] Output: Generated solution (text data)
[1645] Specific operation: The server inputs the extracted character data into an AI model such as BERT or GPT-3 to infer the reason for the interruption. Based on this, the generative model generates an appropriate solution.
[1646] Step 6:
[1647] The server transmits the generated solution to the user terminal.
[1648] Input: Generated solution (text data)
[1649] Data processing: sending generated solutions
[1650] Output: The solution sent to the user's terminal
[1651] Specific operation: The server sends the generated solution to the user terminal (smart glasses).
[1652] Step 7:
[1653] The user terminal displays the received solution to the worker.
[1654] Input: Solution sent from the server (text data)
[1655] Data processing: Display of received solutions
[1656] Output: Displayed solution
[1657] Specific operation: The user terminal (smart glasses) displays the solution received from the server in the worker's field of vision and provides appropriate guidance.
[1658] Step 8:
[1659] Receive and record user feedback.
[1660] Input: User feedback (text data)
[1661] Data Processing: Feedback Storage
[1662] Output: Recorded feedback
[1663] Specific operation: The user terminal receives feedback from the worker and transmits it to the server.
[1664] Step 9:
[1665] The server analyzes the feedback data and identifies common issues.
[1666] Input: Recorded feedback data (text data)
[1667] Data processing: Analysis of feedback data
[1668] Output: Identified common issues (text data)
[1669] Specific Actions: The server analyzes the recorded feedback data and identifies common issues.
[1670] Step 10:
[1671] The server generates specific suggestions based on the identified problems.
[1672] Input: Identified common issues (text data)
[1673] Data processing: Use generative AI models to generate specific recommendations
[1674] Output: Generated concrete proposals (text data)
[1675] Specific Actions: Based on the identified problems, the server generates specific suggestions using a generative AI model.
[1676] Step 11:
[1677] The server transmits the generated specific proposal to the user terminal.
[1678] Input: Generated specific proposals (text data)
[1679] Data processing: Sending specific proposals
[1680] Output: Specific proposals sent to the user's device
[1681] Specific operation: The server sends the generated specific proposal to the user terminal (smart glasses) and provides guidance to the worker.
[1682] 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.
[1683] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of solutions. Specific embodiments of the present invention will be described below.
[1684] System configuration
[1685] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[1686] Operation on the user device side
[1687] 1. Operation monitoring
[1688] The user device sets a timer that monitors user operation events (mouse, keyboard input, etc.) If the user does not perform any operation for a certain period of time (e.g., 5 minutes), the timer is triggered.
[1689] 2. Taking a screenshot
[1690] When a trigger occurs, the user's device will take a screenshot of the current screen and store it temporarily.
[1691] 3. Acquiring Emotion Data
[1692] At the same time, the user device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate the user's emotion data.
[1693] 4. Send to the server
[1694] The user device compresses the screenshot and emotion data and sends it to the server via an HTTP POST request.
[1695] Server-side behavior
[1696] 1. Receiving Data
[1697] The server has an API endpoint that receives screenshots and emotion data sent from the user's device and stores this data.
[1698] 2. Character Recognition and Analysis
[1699] The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image, which is then stored in a database.
[1700] 3. Inferring user abandonment reasons
[1701] The server inputs text data and emotion data into a generative model to infer the reason why the user paused the operation. For example, in addition to "editing a document," it can also consider "stress or fatigue" as a reason.
[1702] 4. Solution Generation
[1703] Based on the inference results and emotion data, the server generates more appropriate and personalized solutions, such as "Please refer to this material in the next paragraph" and "We recommend you take a break" as an encouraging message.
[1704] 5. Submit your proposal
[1705] The generated solution is sent from the server to the user terminal and presented to the user.
[1706] 6. Processing Feedback
[1707] Receives user feedback, stores it in a database, analyzes it along with sentiment data, and identifies common issues, which are then used to generate specific recommendations.
[1708] Specific examples
[1709] Example 1: Interruptions and Emotion Recognition During Document Editing
[1710] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot as "editing a document" and associates it with the "fatigue" obtained from the emotion engine. A solution suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break" is generated and sent to the user.
[1711] Example 2: Abort on error and emotion recognition
[1712] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. It then generates a solution suggestion, such as "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down," and sends it to the user.
[1713] In this way, the system comprehensively analyzes the user's reasons for interruption and emotional state, provides appropriate solutions, and supports the user's productivity and mental health.
[1714] The processing flow will be explained below.
[1715] Step 1:
[1716] User operation monitoring
[1717] The device sets a timer to monitor user activity events (mouse clicks, keyboard input, etc.) and is set to trigger after a certain period of inactivity (e.g., 5 minutes).
[1718] Step 2:
[1719] Taking a screenshot
[1720] When the timer is triggered, the device will take a screenshot of the currently displayed screen and temporarily save the screenshot.
[1721] Step 3:
[1722] Acquiring emotion data
[1723] At the same time, the device uses a built-in camera and microphone to record the user's facial expressions and voice, which are then analyzed by the emotion engine to generate emotional data for the user.
[1724] Step 4:
[1725] Data compression and transmission
[1726] The device compresses the captured screenshot and emotion data and sends it to the server via an HTTP POST request, which transfers the data to the server.
[1727] Step 5:
[1728] Receiving screenshots and emotion data
[1729] The server has an API endpoint that receives screenshots and emotion data sent from the device and stores this data in a database.
[1730] Step 6:
[1731] Performing character recognition
[1732] The server passes the saved screenshot to an OCR tool (e.g., Tesseract OCR) to extract the characters in the image as text data, which is also stored in the database.
[1733] Step 7:
[1734] Reason for interruption
[1735] The server inputs the text data and emotion data obtained from OCR into a generative AI model to infer the reason why the user paused the operation. For example, it can link "editing a document" with "stress."
[1736] Step 8:
[1737] Solution Generation
[1738] Based on the inference results, the server generates an appropriate solution, taking into account sentiment data to generate more personalized suggestions, such as "Here's an idea for the next paragraph. I suggest you take a short break."
[1739] Step 9:
[1740] Submit a solution
[1741] The generated solution is sent from the server to the terminal, where it is presented on the user's terminal.
[1742] Step 10:
[1743] View Solution
[1744] The device will display the received solution to the user in the form of a pop-up or notification, allowing the user to immediately see the specific measures and next steps.
[1745] Step 11:
[1746] Accepting Feedback
[1747] Users can provide feedback on the suggestions displayed, which is collected through the device's chat function.
[1748] Step 12:
[1749] Send Feedback
[1750] The device sends the user-entered feedback to the server, giving the server data to improve its next suggestions.
[1751] Step 13:
[1752] Feedback storage and analysis
[1753] The server stores the received feedback in a database and analyzes multiple feedback data to identify common issues, which allows for improvements to the system as a whole.
[1754] Step 14:
[1755] Generate and deliver specific proposals
[1756] Based on the analysis results, the server generates specific solutions and delivers them to the user, for example, providing more comprehensive solutions for frequently occurring errors.
[1757] In this way, the system supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[1758] Example 2
[1759] 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."
[1760] In today's digital environment, there are many reasons why users interrupt their PC operations, and prolonged interruptions can lead to reduced productivity. Furthermore, there are currently limited systems that can understand the user's emotions and circumstances while they are interrupted and provide appropriate solutions. There is a need for a system that can accurately infer the reasons for such interruptions and provide solutions that address the user's emotions, thereby simultaneously improving productivity and supporting mental health.
[1761] 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.
[1762] In this invention, the server includes means for taking a screenshot when there is no operation on the user terminal for a certain period of time, means for recording the taken screenshot and emotion data, means for analyzing the recorded screenshot as text using a recognition function, means for recognizing emotion from the user's facial expression and voice data, generative model means for inferring the reason why the user has stopped operation using the analyzed text data and emotion data and generating an appropriate solution, means for providing the generated solution to the user terminal, and means for receiving and recording feedback from the user. This makes it possible to properly understand the reason why the user has stopped operation and provide an optimal solution that takes into account the user's emotional state.
[1763] A "user terminal" is a computer device operated by a user, and is a device that monitors operation events, takes screenshots, and records and transmits emotional data.
[1764] A "server" is a computing device that receives, stores, and analyzes data sent from user terminals, and generates and provides appropriate solutions.
[1765] A "screenshot" is data that saves the current display content of the user's device screen in image format.
[1766] "Emotional data" is digital data that indicates the emotional state of the user analyzed from their facial expressions and voice.
[1767] "Recognition function" refers to OCR (optical character recognition) technology for extracting text from screenshots.
[1768] A "generative model" is an artificial intelligence model that infers the reason for a user's interruption based on text data and emotional data, and generates an appropriate solution.
[1769] "Feedback" is data that shows user reactions and opinions regarding the solutions provided.
[1770] "Character recognition tool" refers to software or technology for extracting text data from images.
[1771] The present invention is a system that, when a user pauses PC operation, infers the reason for the pause and provides an appropriate solution, while recognizing the user's emotions and optimizing the presentation of the solution. A specific embodiment of the present invention includes a user terminal, a server, a generative model, and an emotion engine.
[1772] System configuration
[1773] This system consists of a user device, a server, a generative model, and an emotion engine. The user device is a computer device operated by the user, and the server receives, transmits, and analyzes data. The generative model uses artificial intelligence to make inferences and generate solutions, and the emotion engine recognizes emotions from the user's facial expressions and voice data.
[1774] Operation on the user device side
[1775] The user device uses the OS API to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). If there is no operation for a certain period of time, the timer is triggered. When the trigger occurs, the user device takes a screenshot of the current screen and records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by the emotion engine to generate user emotion data. The screenshot and emotion data are compressed and sent to the server using an HTTP POST request.
[1776] Server-side behavior
[1777] The server receives screenshots and emotion data sent from the user's device using an API endpoint for receiving HTTP POST requests. The received data is decompressed, and the screenshots are parsed into text data using Tesseract OCR. The parsed text data is stored in a database and input into a generative model (e.g., GPT-4). The generative model infers the reason for the user's interruption based on the text data and emotion data and generates an appropriate solution. This generated solution is sent back to the user's device and displayed to the user. In addition, user feedback is also received and analyzed by the server. The feedback data is stored in a database and used to identify common issues.
[1778] Specific examples
[1779] Example 1: Interruptions and Emotion Recognition During Document Editing
[1780] If a user stops editing a document and does not perform any operations for a certain period of time, the user's device takes a screenshot and the user's facial expression data (e.g., a tired face) and sends them to the server. The server analyzes the screenshot to determine whether the user is currently editing a document and associates this with the "fatigue" level obtained from the emotion engine. Based on this information, the server generates a suggestion such as "Here's an idea for the next paragraph. I recommend you take a short break," and sends it to the user.
[1781] Example 2: Abort on error and emotion recognition
[1782] If a user encounters an error while editing a program's source code and aborts the operation, the user's device captures a screenshot and voice data (e.g., an expression of frustration) and sends them to the server. The server analyzes the "error message" from the screenshot and associates it with the "frustration" obtained from the emotion engine. Based on this information, a suggestion is generated and sent to the user: "Please refer to this document to resolve the error. We also recommend taking a deep breath to calm yourself down."
[1783] Examples of prompt statements
[1784] "If a user is editing a document and pauses with a tired look on their face, reason about what solution you would offer them."
[1785] "What would be the best solution for users who are frustrated by error messages?"
[1786] The present invention is a system that supports users' productivity and mental health by comprehensively analyzing the reasons for interruptions and their emotional state and providing appropriate solutions.
[1787] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1788] Step 1: Monitor user action events
[1789] The user device uses the OS API (e.g., WinAPI SetTimer function) to set a timer to monitor user operation events (mouse clicks, keyboard input, etc.). It receives the timer setting time (e.g., 5 minutes) as input and starts the timer. If no operation is performed for a certain period of time, the timer is triggered. When the timer is triggered, it generates a flag indicating that the operation has been interrupted as output.
[1790] Step 2: Check the trigger conditions and take screenshots
[1791] The user device receives the "operation aborted" flag output in step 1 as input and takes a screenshot of the current screen. Specifically, it uses the OS API (e.g., the BitBlt function in Windows). After taking the screenshot, it temporarily saves the data and generates the screenshot data as output.
[1792] Step 3: Acquire and analyze emotion data
[1793] The user device records the user's facial expressions and voice using the built-in camera and microphone. This recorded data is analyzed by an emotion engine (e.g., Microsoft Azure's Face API or Google's Speech-to-Text API). It receives the recorded data as input and generates emotion data. It generates analyzed emotion data as output and sends it to the next step.
[1794] Step 4: Sending data to the server
[1795] The user device receives the screenshot data from step 2 and the emotion data from step 3 as input, compresses them in ZIP format, and sends the compressed data to the server using an HTTP POST request. Specifically, the request also includes metadata such as the user ID and timestamp. The compressed data is generated as output and sent to the server.
[1796] Step 5: Receiving the data
[1797] The server has an API endpoint set up to receive HTTP POST requests. As input, it receives compressed data sent from the user's device, decompresses it, and obtains screenshot data and emotion data. As output, it saves each data in a directory on the server.
[1798] Step 6: Analyze and OCR the screenshot
[1799] The server receives the saved screenshot data as input, extracts text data from the image using Tesseract OCR, and generates the extracted text data as output, which is then stored in a database.
[1800] Step 7: Inferring user abandonment reasons
[1801] The server receives the text data from step 6 and the emotion data from step 5 as input and inputs them into a generative AI model (e.g., GPT-4). The generative AI model infers the reason for the user's interruption based on this data. It generates the reason for interruption as output and sends it to the next step.
[1802] Step 8: Generate optimal solutions
[1803] The server receives the interruption reason and emotion data from step 7 as input and generates an appropriate solution using the generative AI model. Specifically, it inputs the prompt sentence into the generative AI model to obtain a solution proposal. It generates the generated solution as output and sends it to the next step.
[1804] Step 9: Send the solution to the user
[1805] The server receives the solution generated in step 8 as input and sends it to the user terminal using an HTTP response. The user terminal receives this response and displays the solution to the user. The solution is presented as output in a form that the user can confirm.
[1806] Step 10: Processing user feedback
[1807] If the user provides feedback on the proposed solution, the data is sent back to the server. The server receives, records, and analyzes the feedback data as input. The analyzed feedback data is stored in a database and used to identify common issues and to update the learning model in the future. The server generates analysis results as output.
[1808] (Application example 2)
[1809] 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."
[1810] In modern manufacturing, improving production line efficiency and reducing operator workload are key challenges. When problems or errors occur while operators are operating production equipment or robots, work is interrupted. However, it is difficult to accurately identify the reason for the interruption and quickly provide an appropriate solution. This leads to reduced productivity and increased operator stress. Another issue is the lack of a system for providing appropriate feedback that takes into account the emotional state of the operator.
[1811] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving screenshots and emotion data sent from a user terminal, means for compressing and saving the received data, and means for using a character recognition tool to analyze the characters contained in the screenshots. This makes it possible to comprehensively assess the reason for the operator's interruption and their emotional state and quickly present an appropriate solution. Furthermore, by providing appropriate feedback based on the operator's emotional state, it is possible to improve production efficiency and reduce mental stress.
[1812] A "user terminal" is a computing device or mobile device used by a user.
[1813] A "screenshot" refers to capturing the contents of a user's device in image format.
[1814] A "face image" is image data of a user's face captured by a camera.
[1815] "Recognition function" is a technology that analyzes image data and audio data and recognizes them as text or emotional data.
[1816] "Character data" is text information extracted from image data.
[1817] "Emotional data" is information about a user's emotional state obtained by analyzing their facial expressions and voice.
[1818] A "generative model means" is an algorithm or program that uses artificial intelligence to automatically generate solutions based on the user's situation and emotions.
[1819] "Feedback" refers to the reactions and opinions that users provide to a system.
[1820] "Data compression" is a technique for reducing the size of transmitted data.
[1821] A "character recognition tool" is software that analyzes characters in an image and converts them into text data.
[1822] "Generated solutions" are suggestions or advice created by a generative model based on the user's reasons for interrupting the operation and emotional data.
[1823] The present invention is a system that infers the reason for an operator's interruption during robot operation in a factory and provides an appropriate solution. When an operator interrupts operation while operating a robot, this system analyzes the reason and generates an appropriate proposal to improve productivity.
[1824] System configuration
[1825] This system mainly consists of a user terminal, a server, a generative model, and an emotion engine.
[1826] User Device
[1827] Operation monitoring: The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.), and if there is no operation for a certain period of time (e.g., 5 minutes), it sets a timer to detect an interruption in operation.
[1828] Data acquisition: When the timer is triggered, the user device takes a screenshot of the operation panel and an image of the operator's face, and also uses the built-in camera and microphone to record the operator's facial expressions and voice, which are then analyzed by the emotion engine to generate emotion data.
[1829] Data transmission: The user device compresses the captured screenshot and emotion data and sends them to the server using an HTTP POST request.
[1830] server
[1831] Data reception: The server has an API endpoint that receives screenshots and emotion data sent from the user device and stores this data.
[1832] Character Recognition and Analysis: The server runs OCR (e.g., Tesseract OCR) on the screenshot to extract the text data in the image. The extracted text data and emotion data are then input into a generative model to infer the reason for the interruption.
[1833] Solution Generation: Based on the inference results and emotion data, the server uses a generative AI model (e.g., OpenAI GPT-3.5) to generate an appropriate solution, which includes specific suggestions for next actions and encouraging messages that take into account the operator's emotional state.
[1834] Proposal transmission: The generated solution is sent from the server to the user terminal and displayed to the operator.
[1835] Specific examples
[1836] For example, if a "machine error" occurs while an operator is operating a robot and the operation is interrupted, the user device will capture a screenshot of the "machine error" and an image of the operator's face, which appears to be "fatigued." The server will recognize the "machine error" from the screenshot and link it to the "fatigue" data extracted from the emotion engine. The following prompt sentence will be input into the generative AI model to generate a solution.
[1837] Prompt:
[1838] Operation has been interrupted. Text: "Machine error". Emotion: "Feeling tired". Suggest solutions.
[1839] The generative AI model proposes solutions, such as "refer to the machine manual" and "recommend taking a short break." These solutions are sent from the server to the user's device and displayed on the operator's screen. This allows the operator to quickly understand the next action to take and solve the problem efficiently. Furthermore, providing feedback based on the operator's emotional state also contributes to reducing their workload.
[1840] This invention can improve productivity and reduce the burden on operators by quickly resolving problems on factory production lines. Furthermore, it supports the mental health of operators by providing feedback that takes into account their emotional state.
[1841] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1842] Step 1:
[1843] The user terminal monitors the operator's operation events (touch panel operation, manual button operation, etc.) and detects an interruption of operation if there is no operation for a certain period of time (e.g., 5 minutes). The input is the operator's operation data, and the output is a trigger signal to interrupt the operation.
[1844] Step 2:
[1845] When the user device detects an interruption in operation, it takes a screenshot of the operation panel and captures a facial image of the operator using the built-in camera. The input is a trigger signal for the interruption of operation, and the output is a screenshot and facial image.
[1846] Step 3:
[1847] The user device records the operator's facial expressions and voice using a built-in camera and microphone, and generates emotion data using an emotion engine. The input is facial image and voice data, and the output is emotion data.
[1848] Step 4:
[1849] The user terminal compresses the screenshot and emotion data and sends them to the server. The input is the screenshot and emotion data, and the output is the compressed data.
[1850] Step 5:
[1851] The server receives and stores screenshots and emotion data sent from user terminals. The input is compressed data, and the output is decompressed screenshots and emotion data.
[1852] Step 6:
[1853] The server extracts text data from the received screenshot using an OCR tool (e.g., Tesseract OCR). The input is the screenshot, and the output is text data.
[1854] Step 7:
[1855] The server inputs the extracted text data and emotion data into a generative model to infer the reason for the interruption. The input is the text data and emotion data, and the output is the reason for the interruption.
[1856] Step 8:
[1857] The server uses a generative AI model to generate a solution based on the interruption reason and emotional data. For example, OpenAI GPT-3.5 is used to generate specific suggestions for next actions and encouraging messages that take into account the operator's emotional state. The input is the interruption reason and emotional data, and the output is the generated solution.
[1858] Step 9:
[1859] The server sends the generated solution to the user terminal and displays it to the operator. The input is the generated solution and the output is the solution displayed on the user terminal.
[1860] Step 10:
[1861] The user provides feedback on the proposed solution, and the user terminal transmits the feedback to the server. The input is the user's feedback, and the output is the feedback data transmitted to the server.
[1862] Step 11:
[1863] The server analyzes the received feedback data and identifies common issues. The input is the feedback data and the output is the identified issues.
[1864] Step 12:
[1865] The server generates specific suggestions based on the identified problems and provides them to the user. The input is the identified problems and the output is the specific suggestions provided to the user.
[1866] The above is a detailed processing flow of the system that analyzes the reason for the user's interruption of operation and their emotional state, and generates and provides an appropriate solution.
[1867] 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.
[1868] 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.
[1869] 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.
[1870] 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.
[1871] 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.
[1872] 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.
[1873] 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).
[1874] 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.
[1875] 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."
[1876] 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.
[1877] 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).
[1878] 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.
[1879] 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.
[1880] 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.
[1881] 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.
[1882] 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.
[1883] 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.
[1884] 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.
[1885] 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.
[1886] 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.
[1887] 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.
[1888] The following is further disclosed regarding the above embodiment.
[1889] (Claim 1)
[1890] A means for taking a screenshot when there is no operation on the user's device for a certain period of time;
[1891] A means for analyzing the acquired screenshot as text using a recognition function;
[1892] a generative model means for inferring the reason why the user has stopped the operation using the analyzed character data and generating an appropriate solution;
[1893] means for providing the generated solution to a user terminal;
[1894] a means of receiving and recording user feedback;
[1895] A system including:
[1896] (Claim 2)
[1897] A means for receiving a screenshot sent from a user device;
[1898] A means of compressing and saving the received screenshots;
[1899] Using a character recognition tool to analyze the characters contained in the screenshot;
[1900] The system of claim 1 further comprising:
[1901] (Claim 3)
[1902] A means of analyzing user feedback data to identify common issues;
[1903] A means of generating specific proposals in response to identified problems;
[1904] means for providing the specific proposal to a user;
[1905] The system of claim 1 further comprising:
[1906] "Example 1"
[1907] (Claim 1)
[1908] A means for setting a timer when there is no operation for a certain period of time on the user terminal and monitoring an operation event;
[1909] A way to take a screenshot of the current screen when a trigger occurs,
[1910] means for compressing the captured screenshot and transmitting it to a server;
[1911] a means for compressing and storing screenshots received by the server;
[1912] A means for analyzing character data contained in the saved screenshot using a character recognition tool;
[1913] A means for inputting the parsed character data into a generative model to infer the reason why the user is interrupting the operation; and
[1914] A means for generating an appropriate solution based on the inference results;
[1915] means for delivering the generated solution to a user terminal;
[1916] a means of receiving and recording user feedback;
[1917] A system including:
[1918] (Claim 2)
[1919] A means of analyzing user feedback data to identify common issues;
[1920] A means of generating specific proposals in response to identified problems;
[1921] means for providing the specific proposal to a user;
[1922] The system of claim 1 further comprising:
[1923] (Claim 3)
[1924] A means to have an API endpoint for receiving screenshots sent from user devices;
[1925] A means to unpack the compressed screenshots and store them in a database;
[1926] using a character recognition tool to extract text data contained in the screenshot;
[1927] The system of claim 1 further comprising:
[1928] "Application Example 1"
[1929] (Claim 1)
[1930] A means for taking a screenshot when there is no operation on the user's device for a certain period of time;
[1931] A means for analyzing the acquired screenshot as text using a recognition function;
[1932] a generative model means for inferring the reason why the user has stopped the operation using the analyzed character data and generating an appropriate solution;
[1933] means for providing the generated solution to a user terminal;
[1934] a means of receiving and recording user feedback;
[1935] means for providing the obtained solution on a user-worn display device;
[1936] A means for inferring problems and solutions during work interruptions in a factory;
[1937] a means for displaying the solution on a display device;
[1938] A system including:
[1939] (Claim 2)
[1940] A means for receiving a screenshot sent from a user device;
[1941] A means of compressing and saving the received screenshots;
[1942] Using a character recognition tool to analyze the characters contained in the screenshot;
[1943] a means for capturing a screenshot of a working environment using the smart glasses;
[1944] The system of claim 1 further comprising:
[1945] (Claim 3)
[1946] A means of analyzing user feedback data to identify common issues;
[1947] A means of generating specific proposals in response to identified problems;
[1948] means for providing the specific proposal to a user;
[1949] means for notifying the worker of the inference results for solving the problem in the work environment;
[1950] The system of claim 1 further comprising:
[1951] "Example 2: Combining Emotion Engines"
[1952] (Claim 1)
[1953] A means for taking a screenshot when there is no operation on the user's device for a certain period of time;
[1954] means for recording the captured screenshots and emotion data;
[1955] A means for analyzing the recorded screenshot as text using a recognition function;
[1956] A means of recognizing emotions from the user's facial expressions and voice data,
[1957] a generative model means for inferring the reason why the user has stopped the operation by using the analyzed character data and emotion data and generating an appropriate solution;
[1958] means for providing the generated solution to a user terminal;
[1959] a means of receiving and recording user feedback;
[1960] A system including:
[1961] (Claim 2)
[1962] means for receiving screenshots and emotion data sent from a user terminal;
[1963] means for compressing and storing the received data;
[1964] Using a character recognition tool to analyze the characters contained in the screenshot;
[1965] The system of claim 1 further comprising:
[1966] (Claim 3)
[1967] A means of analyzing user feedback data to identify common issues;
[1968] A means of generating specific proposals in response to identified problems;
[1969] means for providing the specific proposal to a user;
[1970] The system of claim 1 further comprising:
[1971] "Application example 2 when combining emotion engines"
[1972] (Claim 1)
[1973] A means for acquiring a screenshot and an operator's facial image when there is no operation on the user terminal for a certain period of time;
[1974] A means for analyzing the acquired screenshots and facial images as character and emotion data using a recognition function;
[1975] a generative model means for inferring the reason why the user has stopped the operation by using the analyzed character data and emotion data and generating an appropriate solution;
[1976] means for providing the generated solution to a user terminal;
[1977] a means of receiving and recording user feedback;
[1978] A system including:
[1979] (Claim 2)
[1980] means for receiving screenshots and emotion data sent from a user terminal;
[1981] means for compressing and storing the received data;
[1982] Using a character recognition tool to analyze the characters contained in the screenshot;
[1983] The system of claim 1 further comprising:
[1984] (Claim 3)
[1985] A means of analyzing user feedback data to identify common issues;
[1986] A means of generating specific proposals in response to identified problems;
[1987] means for providing the specific proposal to a user;
[1988] The system of claim 1 further comprising: [Explanation of symbols]
[1989] 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 taking a screenshot when there is no operation on the user's device for a certain period of time; A means for analyzing the acquired screenshot as text using a recognition function; a generative model means for inferring the reason why the user has stopped the operation using the analyzed character data and generating an appropriate solution; means for providing the generated solution to a user terminal; a means of receiving and recording user feedback; A system including:
2. A means for receiving a screenshot sent from a user device; A means of compressing and saving the received screenshots; Using a character recognition tool to analyze the characters contained in the screenshot; The system of claim 1 further comprising:
3. A means of analyzing user feedback data to identify common issues; A means of generating specific proposals in response to identified problems; means for providing the specific proposal to a user; The system of claim 1 further comprising:
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A