system
The system automates task management by acquiring and analyzing user schedule and task information, enabling real-time progress checks and adjustments, thus enhancing task efficiency and productivity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional task management systems require manual input and management, making it difficult for users to understand task progress in real time, leading to inefficiencies and potential delays in work completion.
A system that automates task management by acquiring user schedule and task information, analyzing priorities, checking progress, and updating task lists in real time, using a server and terminal interface to facilitate efficient task execution.
Enables users to manage tasks efficiently and adjust progress in real time, improving work quality and productivity by automating task organization and prioritization.
Smart Images

Figure 2026041574000001_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] For users to efficiently manage their daily work, it is important to properly organize, prioritize, and track the progress of numerous tasks. However, conventional task management systems require manual input and management, making it difficult to understand progress in real time or readjust tasks. This makes it difficult for users to carry out their work efficiently, which can ultimately lead to delays and a decline in work quality. To solve these issues, a system is needed that can automatically manage users' tasks and check and adjust progress in real time. [Means for solving the problem]
[0005] This invention provides a system that includes a means for acquiring a user's schedule information, a means for analyzing the user's task information and setting priorities, a means for confirming task progress with the user, a means for updating a task list based on the progress, and a means for presenting the task list and progress to the user. This system automatically acquires and analyzes the user's schedule information and task information, and creates a task list based on priorities. Furthermore, by periodically checking the user's progress and updating and readjusting the task list according to that progress, efficient real-time task management can be achieved.
[0006] "Schedule information" refers to information such as times, dates, events, and meetings that a user has registered as plans.
[0007] "Task information" refers to detailed information about specific tasks and goals that a user must accomplish.
[0008] "Analysis" refers to processing schedule and task information to understand its structure and content and extract meaning.
[0009] "Priority" refers to a criterion for determining the order in which a task should be performed first among multiple tasks.
[0010] "Progress" refers to the state of a task, showing how much of it has been completed or what stage the work is at.
[0011] A "task list" refers to a list that displays all of a user's tasks in a list format and manages information including the progress and priority of each task.
[0012] "Confirmation" refers to the act of obtaining information from the user or asking about the progress to confirm the content.
[0013] "Adjustment" refers to changing the allocation of resources and the order of work based on tasks and their progress.
[0014] "System" refers to a collection of software and / or hardware designed to automate user task management. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] This invention is a system designed to automate user task management and enable tasks to be completed efficiently. This system is composed of three entities: a server, a terminal, and a user. Specific operations are explained below in natural language.
[0037] System configuration
[0038] 1. Server: Acquires and analyzes user schedule and task information, sets priorities, checks user progress, and updates the task list as needed.
[0039] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user.
[0040] 3. User: Performs tasks and enters progress.
[0041] Program processing overview
[0042] Data Acquisition
[0043] The server periodically acquires the user's calendar information and ToDo list data every morning.
[0044] The data thus obtained is stored in a database.
[0045] Task analysis and organization
[0046] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[0047] Based on this information, priorities are set and a task list is generated.
[0048] The generated task list is sent to the terminal and notified to the user.
[0049] Check your progress
[0050] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[0051] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[0052] Progress-based adjustments
[0053] The server receives user input and updates the progress.
[0054] Recalculate and reprioritize your task list as needed.
[0055] Task and progress presentation
[0056] The updated task list and progress status are sent to the terminal and presented to the user.
[0057] Specific examples
[0058] Example 1: Morning task review
[0059] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0060] Example 2: Checking progress during the day
[0061] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0062] Example 3: Final check in the evening
[0063] At 5:00 PM, the server notifies the user at the end of the day to do a final check of today's task list. The user enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to the user, who can use it to plan the next day's tasks.
[0064] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0065] The processing flow will be explained below.
[0066] Step 1:
[0067] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[0068] Step 2:
[0069] The server analyzes the schedule and task information stored in the database, extracting information such as the start time, end time, and priority of each task.
[0070] Step 3:
[0071] The server prioritizes tasks based on the analyzed information, creating a task list based on importance and urgency, and sorting them by priority.
[0072] Step 4:
[0073] The server sends the generated task list to the terminal and sends a notification to the user to confirm the morning tasks. The terminal displays the task list to the user and prompts the user to confirm the tasks to be done today.
[0074] Step 5:
[0075] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[0076] Step 6:
[0077] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[0078] Step 7:
[0079] The server analyzes the progress information received from the user, updates the task list based on the progress, and recalculates priorities as necessary.
[0080] Step 8:
[0081] The server sends the updated task list to the terminal, which displays the new task list to the user and indicates the next task to be performed.
[0082] Step 9:
[0083] The server sends a notification to the user again at 2:00 PM asking about the task progress. The terminal displays the progress check interface to the user again.
[0084] Step 10:
[0085] The user again inputs their current progress into the terminal, which then sends this input to the server.
[0086] Step 11:
[0087] The server updates the task list based on the received progress information, recalculates the priorities, and sends the updated task list to the terminal.
[0088] Step 12:
[0089] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[0090] Step 13:
[0091] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[0092] Step 14:
[0093] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that is stored in a database.
[0094] Step 15:
[0095] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[0096] Example 1
[0097] 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."
[0098] Conventional task management systems require users to manually create task lists and track progress, making efficient task management difficult. Furthermore, there was a lack of a way to accurately set task importance and priority, which hindered work efficiency. Furthermore, progress checks throughout the day were often inadequate, leading to delayed task readjustments.
[0099] 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.
[0100] In this invention, the server includes a means for acquiring user schedule information, a means for analyzing the acquired data to extract the start time, end time, and importance of tasks, and a means for setting priorities and generating a task list, thereby enabling users to efficiently manage tasks and check and adjust the progress of tasks in real time.
[0101] A "user" is an individual or organization that uses this system to manage tasks.
[0102] "Schedule information" refers to information about tasks and events included in a user's daily schedule or to-do list.
[0103] The "start time of a task" is information indicating the time at which a specific task is to be started.
[0104] "Task end time" is information indicating the time at which a specific task ends.
[0105] "Importance" is an index that indicates the priority and urgency of a task.
[0106] "Priority" is a criterion for determining the order in which multiple tasks are performed.
[0107] A "task list" refers to a list of tasks that a user must complete.
[0108] A "server" is a computer system that plays a central role in a task management system and performs tasks such as data analysis and task list generation.
[0109] A "terminal" is a device that a user uses to communicate with the server, display a task list, and enter progress.
[0110] "Progress" is information that indicates the degree of achievement or completion of a task.
[0111] "Recalculating" is the process of re-establishing task lists and priorities based on progress and other changes.
[0112] "Notification" is a message that conveys information to the user, such as checking the progress of a task or updating the task list.
[0113] This invention is a system designed to automate user task management and enable efficient task execution. This system consists of three components: a server, a terminal, and a user. The detailed functions and operations of the system are explained below.
[0114] Server Operation
[0115] The server is programmed using Python and plays a central role in task management. The server's specific functions are as follows:
[0116] 1. The user's schedule information is periodically retrieved every morning at 6:00 AM using the Google (registered trademark) Calendar API.
[0117] 2. Analyze the captured data and extract the task start time, end time, and importance using the pandas library.
[0118] 3. Prioritize tasks based on the extracted information and generate a task list.
[0119] 4. The generated task list is sent to the device via the REST API.
[0120] 5. Send progress notifications to the device periodically throughout the day using Firebase Cloud Messaging.
[0121] 6. Recalculate the task list based on progress and reprioritize using scikit-learn.
[0122] 7. The updated task list and progress status are sent to the device and presented to the user.
[0123] Device behavior
[0124] The device has an interface developed in React Native and offers the following features:
[0125] 1. Display the task list sent from the server.
[0126] 2. Display progress confirmation notifications as push notifications.
[0127] 3. The progress information entered by the user is sent to the server in real time.
[0128] 4. Redisplay updated task lists and progress.
[0129] The operation of the device is designed to be intuitive for the user, helping them to manage their tasks efficiently.
[0130] User operations
[0131] The user does the following:
[0132] 1. Check the task list displayed on your device and perform the task.
[0133] 2. Receive progress confirmation notifications and enter your current progress on your device.
[0134] 3. Check the updated task list and progress and complete the next task.
[0135] Specific examples
[0136] Example 1: Morning task review
[0137] The server retrieves schedule information using the Google Calendar API at 6:00 AM. The retrieved data is saved in formats such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)." The server creates a task list based on this information, prioritizes it, and sends it to the device. The device displays the task list to the user, allowing them to confirm the tasks for the day.
[0138] Example 2: Checking progress during the day
[0139] At 10:00 AM, the server uses Firebase Cloud Messaging to send a notification to the user asking, "What's the status of creating materials for business meeting X?" The user enters "30% progress" and sends this information to the server. The server reanalyzes the task list based on the progress and updates the priority.
[0140] Example 3: Final check in the evening
[0141] At 5:00 PM, the server sends the user a notification to finalize today's task list. The user enters "80% of all tasks completed," and the server generates a progress report based on this information. The terminal displays this report to the user, allowing the user to plan their tasks for the next day.
[0142] Example prompts for generative AI models
[0143] "Check today's task list. What time is the next one due?"
[0144] "Please tell us your progress. What percentage of progress are you at now?"
[0145] "What is tomorrow's most important task?"
[0146] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0147] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0148] Step 1:
[0149] The server retrieves the user's event information every morning at 6:00 AM. Using the Google Calendar API, it sends a request to "GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events" to retrieve the user's calendar information. It receives the JSON format data returned from the API as input and stores it in a MySQL® database. In this case, the database stores data such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0150] Step 2:
[0151] The server analyzes the schedule information stored in the database. It uses the Python pandas library to retrieve data from the database and convert it into a data frame. Using the schedule information from the database as input, it performs calculations to extract attributes such as start time, end time, and importance. The analyzed data is obtained as output. This data includes information such as the start time of "Preparing for a meeting" being 8:00 AM, the end time being 9:00 AM, and the importance being high.
[0152] Step 3:
[0153] The server generates a task list based on the extracted information. To set priorities, it uses a machine learning algorithm using scikit-learn. Based on the analyzed data as input, it calculates the priority by taking into account the importance and time frame of each task. As output, it generates a prioritized task list. This list will be in the form of, for example, "Priority 1: Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Priority 2: Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0154] Step 4:
[0155] The server sends the generated task list to the device via REST API. It takes the prioritized task list as input and makes an HTTP POST request to send it to the device. As output, the task list is sent to the device, which receives it. As a result, the user can check today's task list on the device.
[0156] Step 5:
[0157] The terminal displays the task list sent from the server to the user. It receives the prioritized task list from the server as input and displays it on the user interface using React Native. As output, the user can visually check the task list. Here, the task list screen displays items such as "Priority 1: Meeting preparation (8:00 AM - 9:00 AM)" and "Priority 2: Project planning (10:00 AM - 12:00 PM)."
[0158] Step 6:
[0159] The server periodically sends progress confirmation notifications to the device throughout the day. For example, at 10:00 AM and 2:00 PM, Firebase Cloud Messaging is used to send notifications prompting the user to check the progress. The message text for the progress confirmation notification is set as input, and a push notification request is made at the specified time. The output is a notification displayed on the device saying, "What is the status of creating materials for business meeting X?"
[0160] Step 7:
[0161] The user receives a progress confirmation notification displayed on the terminal and enters the current progress. For example, they enter "30% progress" into the React Native-based progress input screen. The progress information entered by the user as input is sent to the terminal and forwarded to the server. The progress information is sent to the server as output.
[0162] Step 8:
[0163] The server recalculates the task list based on the progress information received from the user. It reevaluates the importance and priority of tasks based on the progress status and recalculates using scikit-learn. It performs calculations to set new priorities based on the progress status data as input. As output, it generates an updated task list and sends it back to the device.
[0164] Step 9:
[0165] The device redisplays the updated task list. To present the user with the new prioritized task list, it retrieves the data from the server and re-renders the screen in React Native. It has the updated task list as input and displays the latest task list to the user as output. The user can then perform their next task based on this updated information.
[0166] (Application example 1)
[0167] 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."
[0168] Conventional task management systems require users to manually update status and set task priorities, which reduces work efficiency. Furthermore, it is difficult to monitor progress in real time and manage tasks appropriately when managing work within a factory. This often leads to work delays and reduced productivity.
[0169] 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.
[0170] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for monitoring the progress of factory work and updating it in real time, and means for managing factory workers and tasks. This enables users and factory workers to efficiently perform tasks, grasp the progress in real time, and manage tasks appropriately.
[0171] "User schedule information" is information about the time allocation of various events and tasks scheduled by the user.
[0172] "Task information" is detailed information about various tasks and works that a user must perform.
[0173] "Priority" is information that indicates the order in which tasks should be handled based on the importance and urgency of the tasks.
[0174] "Progress" is information indicating the degree of completion and progress of a task.
[0175] A "task list" is a list of tasks that a user must perform.
[0176] "Factory work" refers to the work and tasks associated with the manufacturing process.
[0177] "Factory work progress" is information about the manufacturing process and the degree of completion and progress of work within the factory.
[0178] A "server" refers to a central device that stores data and responds to inquiries from users and terminals.
[0179] A "terminal" is a device that is directly used by a user and is used to display a task list and input progress status.
[0180] "Task analysis" refers to the process of breaking down, organizing, and understanding acquired task information.
[0181] "Real time" means that processing occurs at the exact moment an event occurs.
[0182] "Workers" refers to people who perform various tasks within a factory.
[0183] The present invention is a system that improves the efficiency of user task management and realizes real-time progress management of factory manufacturing processes. This system is composed of three entities: a server, a terminal, and a user. Below, we will explain how this system is specifically implemented.
[0184] System configuration
[0185] 1. Server: The server is responsible for acquiring, analyzing, and prioritizing user schedule and task information. This generates a task list and updates it in real time based on the progress. The server also monitors the progress of work within the factory and recalculates tasks as necessary.
[0186] 2. Terminal: The terminal is responsible for presenting the task list and progress status to the user. It also receives input from the user (e.g., task progress status) and sends that information to the server. Terminals include smartphones, tablets, and operation panels used directly in factories.
[0187] 3. Users: Users include factory workers and managers. They perform tasks based on the task list and enter their progress via terminals.
[0188] Program processing
[0189] Data Acquisition
[0190] Every morning, the server periodically retrieves the user's calendar information and to-do list data using the API, and stores this data in a database.
[0191] Task analysis and organization
[0192] The server analyzes the stored data and extracts information such as the start time, end time, and importance of the tasks. This information is used to set priorities and generate a task list. The generated task list is then sent to the device and notified to the user.
[0193] Check your progress
[0194] The server periodically asks the user about the progress of the task (e.g., 10:00 AM, 2:00 PM). This notification is displayed on the terminal, and the user inputs their current progress. The input information is then sent back to the server.
[0195] Progress-based adjustments
[0196] The server receives progress information from the user, recalculates the task list as needed, and reprioritizes it. The recalculated task list is then sent back to the terminal and presented to the user.
[0197] Task and progress presentation
[0198] The updated task list and progress are displayed to the user through the device's UI (user interface).
[0199] Hardware and software used
[0200] Server: Cloud-based server (e.g., Amazon Web Services, Microsoft® Azure®, etc.)
[0201] Devices: smartphones, tablets, operation panels, etc.
[0202] Software: Various APIs (for data acquisition), data analysis software (e.g., Python, R, etc.), databases (e.g., PostgreSQL, MySQL, etc.)
[0203] Specific examples
[0204] Example 1: Checking morning tasks
[0205] The server retrieves schedule information at 9:00 AM and extracts tasks such as "machine maintenance" and "quality inspection" from User A's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the terminal. The terminal displays the task list to User A, allowing him to confirm the tasks that need to be done today.
[0206] Example 2: Checking progress during the day
[0207] At 1:00 PM, the server asks User B, "What's the status of the part assembly?" and a notification appears on the device asking for progress. User B enters "50% complete" and sends this information to the server. The server recalculates the task list based on the progress and updates the priorities.
[0208] Example 3: Final check in the evening
[0209] At 5:00 PM, the server notifies User C to do a final check of today's task list. User C enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to User C. User C uses this to plan the next day's tasks.
[0210] Prompt Sentence Examples
[0211] Create a task management system for robots used in factories. This system will acquire and analyze users' calendar information and to-do list data, set priorities, generate task lists, periodically check progress, and update the task list based on that information. The progress will be reported to the server, and finally, the task status will be sent to the server at the end of the day.
[0212] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0213] Step 1:
[0214] Every morning, the server periodically uses an API to retrieve the user's calendar information and to-do list data. This data is stored in the server's database. The input is the user's calendar information and to-do list data, and the output is the task information stored in the database. This process is performed using software such as Python and a database (e.g., PostgreSQL, MySQL).
[0215] Step 2:
[0216] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. Then, it sets the task priority based on this information. The input is the task information stored in the database, and the output is a prioritized task list. Data analysis software (e.g., Python, R) is used for this process.
[0217] Step 3:
[0218] The server sends the generated task list to the device. The device notifies and displays the task list to the user. The input is a prioritized task list, and the output is a task list displayed on the user's device. This process uses a communication protocol (e.g., HTTP, MQTT) and a UI framework.
[0219] Step 4:
[0220] The server periodically sends notifications throughout the day (e.g., 10:00 AM, 2:00 PM) to the user to check the progress of the task. These notifications are displayed on the device, and the user enters their current progress. The input is the notification to confirm, and the output is the progress input from the user. Notifications are sent using a push notification service (e.g., Firebase Cloud Messaging) or similar.
[0221] Step 5:
[0222] The server receives the progress information sent from the terminal, recalculates the task list based on the progress, and re-prioritizes the tasks. The input is the progress information from the user, and the output is the recalculated task list. This process includes recalculation algorithms and database operations.
[0223] Step 6:
[0224] The server retransmits the recalculated task list to the terminal and presents the latest task list to the user. The input is the recalculated task list, and the output is the latest task list displayed on the user's terminal. This process also uses communication protocols and UI frameworks.
[0225] Step 7:
[0226] At the end of the day, the server creates a progress report and notifies the user to perform a final check. The user inputs the final progress status and it is sent to the server. The input is the final status of the tasks for the day, and the output is the progress report. This process uses a template engine and notification service to generate the report.
[0227] Step 8:
[0228] The user creates a task plan for the next day based on the progress report. The input is the progress report, and the output is the task plan for the next day. This is a manual process performed directly by the user, but the system may also provide guidelines and advice to assist in planning.
[0229] 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.
[0230] This invention is a system designed to automate user task management and enable efficient task execution. It also has the ability to recognize the user's emotional state and adjust tasks accordingly. This system consists of four components: a server, a terminal, a user, and an emotion engine. The specific operation is explained below in natural language.
[0231] System configuration
[0232] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[0233] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user. It also displays the output of the emotion engine.
[0234] 3. User: Performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[0235] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[0236] Program processing overview
[0237] Data Acquisition
[0238] The server periodically acquires the user's calendar information and ToDo list data every morning.
[0239] The data thus obtained is stored in a database.
[0240] Task analysis and organization
[0241] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[0242] Based on this information, priorities are set and a task list is generated.
[0243] The generated task list is sent to the terminal and notified to the user.
[0244] Check your progress
[0245] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[0246] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[0247] Recognition of emotional states
[0248] The emotion engine analyzes the user's emotions through facial recognition and voice analysis.
[0249] The analysis results are sent to the server to confirm the user's emotional state.
[0250] Progress-based adjustments
[0251] The server receives user input and emotional state information and updates task progress.
[0252] Recalculate and reprioritize your task list as needed, and take measures such as deferring less urgent tasks to reduce user burden based on your emotional state.
[0253] Task and emotion presentation
[0254] The updated task list and emotional state are sent to the terminal and presented to the user.
[0255] Specific examples
[0256] Example 1: Morning task review
[0257] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0258] Example 2: Checking progress during the day
[0259] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0260] Example 3: Recognizing emotional states
[0261] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0262] Example 4: Final check in the evening
[0263] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0264] The above is a detailed description of an embodiment of the present invention. This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[0265] The processing flow will be explained below.
[0266] Step 1:
[0267] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[0268] Step 2:
[0269] The server analyzes the schedule and task information stored in the database and extracts information such as the start time, end time, and priority of each task.
[0270] Step 3:
[0271] The server prioritizes tasks based on the analyzed information and generates a task list according to importance and urgency. The generated task list is sent to the terminal and notified to the user.
[0272] Step 4:
[0273] The device displays a task list created at 6:15 AM and asks the user to confirm the tasks that need to be done today.
[0274] Step 5:
[0275] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[0276] Step 6:
[0277] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[0278] Step 7:
[0279] The server analyzes the progress information received from the user, updates the task list based on the progress status, and recalculates priorities as necessary.
[0280] Step 8:
[0281] The server sends the updated task list to the terminal, and the terminal displays the new task list to the user.
[0282] Step 9:
[0283] The emotion engine will analyze the user's emotions through facial recognition and voice analysis at 2:00 PM, and send the analysis results to the server to confirm the user's emotional state.
[0284] Step 10:
[0285] The server also takes into account the user's emotional state and updates the task progress again. For example, if the user is feeling stressed, it may postpone less urgent tasks.
[0286] Step 11:
[0287] The server sends a new task list that reflects the user's emotional state to the terminal, which then displays the new task list to the user and provides appropriate advice.
[0288] Step 12:
[0289] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[0290] Step 13:
[0291] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[0292] Step 14:
[0293] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that includes advice based on the emotion engine's analysis.
[0294] Step 15:
[0295] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[0296] Example 2
[0297] 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."
[0298] Conventional task management systems can manage users' schedules and task progress, but they cannot recognize users' emotional states and adjust tasks accordingly. This can lead to stress and excessive workloads for users. There is a need to solve this problem and realize more efficient and user-friendly task management.
[0299] 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. In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting the task list based on the user's emotional state. This reduces the burden on the user and enables more flexible and less stressful task management.
[0300] "User schedule information" is information about the date, time, and location of appointments, meetings, etc. managed by the user.
[0301] "User task information" is detailed information about the work or tasks that a user must perform.
[0302] The "means for setting priority" is a means for evaluating the importance and urgency of each task based on the acquired task information, and determining the order of execution.
[0303] The "means for confirming the progress of the task with the user" is a means for having the user input information about the progress of the current task and collecting that information.
[0304] The "means for updating the task list based on the progress status" refers to a means for reevaluating the task list and priorities based on the progress status of the tasks obtained from the user, and making any necessary changes.
[0305] The "means for presenting a task list and progress status to a user" refers to a means for displaying the latest task list and task progress status on a user's device.
[0306] The "means for recognizing the user's emotional state" is a means for analyzing the user's emotions from their facial expressions and voice, and recognizing their psychological state, such as stress or fatigue.
[0307] The "means for adjusting the task list based on the emotional state" refers to a means for changing the priority and schedule of tasks according to the recognized emotional state of the user, thereby reducing the burden on the user.
[0308] This invention is a system designed to automate user task management and enable efficient task execution, and also has the ability to recognize the user's emotional state and adjust tasks based on that. This system consists of four components: a server, a terminal, a user, and an emotion engine.
[0309] System configuration
[0310] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[0311] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the ability to receive input from the user. It also displays the output of the emotion engine.
[0312] 3. User: performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[0313] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[0314] Data Acquisition
[0315] The server periodically retrieves the user's calendar information and to-do list data every morning. For example, it uses the Google Calendar API or Microsoft To Do API, and performs authentication using OAuth 2.0. The retrieved data is received in JSON format and stored in a MySQL database.
[0316] Task analysis and organization
[0317] The server analyzes the stored data and extracts the start time, end time, and importance of the tasks. For this purpose, it uses Python's Pandas to format and analyze the data. Based on the analyzed data, it sets priorities and generates a task list, which is then sent to the terminal and notified to the user.
[0318] Check your progress
[0319] Periodically throughout the day, the server asks the user about their progress on the task, for example at 10:00 AM and 2:00 PM. The user enters their progress on the device, and the information is sent to the server and stored in a database.
[0320] Recognition of emotional states
[0321] The emotion engine analyzes the user's emotions through facial recognition and voice analysis. This process uses OpenFace and voice analysis services. The analysis results are sent to the server and used as information on the user's emotional state.
[0322] Progress-based adjustments
[0323] The server receives user input and emotional state information and updates task progress. Using a Python script, it recalculates the task list and adjusts priorities as needed. If the emotional state is "stressed," it postpones less urgent tasks.
[0324] Task and emotion presentation
[0325] The updated task list and emotional state are sent to the device and presented to the user, who can then view them on their smartphone or computer screen, enabling efficient task management.
[0326] Specific examples
[0327] Example 1: Morning task review
[0328] The server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0329] Example 2: Checking progress during the day
[0330] At 10:00 AM, the server asks the user, "What is the progress of creating materials for business meetings?" and sends a notification to the terminal to check the progress. The user enters "30% progress" into the terminal, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0331] Example 3: Recognizing emotional states
[0332] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0333] Example 4: Final check in the evening
[0334] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0335] This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[0336] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0337] Step 1:
[0338] Every morning, the server periodically retrieves the user's schedule information and to-do list data. The input is JSON-formatted data obtained from the Google Calendar API and Microsoft To Do API. The server authenticates using OAuth2.0 and sends a GET request. As output, the retrieved data is stored in a MySQL database. Specifically, the server sends a request such as GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events and stores the received JSON data in the database.
[0339] Step 2:
[0340] The server retrieves the user's schedule information and to-do list data from the database. The input is the task list data obtained by an SQL query. The server executes a query such as SELECT FROM calendar_data WHERE user_id = 'user123' to retrieve the data from the database. As output, the retrieved data is converted into a Python Pandas data frame. Specifically, the start time, end time, importance, etc. of the task are extracted and saved in each column of the data frame.
[0341] Step 3:
[0342] The server sets task priorities based on the data it obtains and generates a task list. The input is a data frame containing schedule information and to-do list data. The server uses Pandas to set priorities, for example, tasks['priority'] = tasks['importance'].apply(lambda x: 'High' if x > 5 else 'Low'). The generated task list is saved as output in JSON format. Specifically, the task list is saved in JSON format using tasks.to_json('task_list.json') and the file is sent to the terminal.
[0343] Step 4:
[0344] The server periodically checks the task progress with the user. The input is the task list and the current time. The server sends a progress confirmation message to the user's device. For example, at 10:00 AM, it sends a notification asking, "What is the progress of creating materials for business negotiations?" The output is the progress input from the user, which is returned to the server. Specifically, the user enters "progress is 30%" into the device, and that information is sent to the server and stored in the database.
[0345] Step 5:
[0346] The server uses the emotion engine to understand the user's emotional state. The input is the user's facial recognition data and voice data. The emotion engine uses OpenFace to recognize the face and uses the voice analysis service to analyze the emotion. The analysis results are sent to the server as output. Specifically, it analyzes the face image as in openface -f user_image.jpg, and uses the voice data for emotion analysis.
[0347] Step 6:
[0348] The server updates the task list based on the progress and emotional state. The input is the analysis result of the user's progress information and emotional state. The server uses a Python script to recalculate the task list and adjust priorities as necessary. As output, an updated task list is generated and sent to the device. Specifically, if the emotional state is "stressed", the priority is adjusted as follows: tasks['priority'] = tasks['priority'].apply(lambda x: 'Low' if x == 'Low' else 'Medium').
[0349] Step 7:
[0350] The updated task list and emotional state are sent to the device and presented to the user. The input is the updated task list and emotional state data. The server sends this data to the device and displays it on the screen of the user's smartphone or computer. As output, the user can check the latest task list and their emotional state. Specifically, the recalculated task list is saved using tasks.to_json('updated_task_list.json') and sent to the device.
[0351] (Application example 2)
[0352] 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."
[0353] While traditional task management systems excel at managing users' schedules and task progress, they lack the ability to dynamically adjust tasks based on the user's emotional state. This can lead to excessive strain on users, which can lead to decreased productivity and increased stress. User fatigue and stress can be particularly serious in high-stress work environments such as factories.
[0354] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0355] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting task priorities and content based on the user's emotional state. This makes it possible to appropriately adjust task loads according to the user's emotional state, allowing the user to perform work efficiently without feeling excessive stress or fatigue.
[0356] The "means for acquiring user schedule information" is a function for collecting schedule and calendar information set in advance by the user through sensors or data communication.
[0357] The "means for analyzing user task information and setting priorities" is a function for determining priorities based on the importance and deadlines of tasks set by the user, and for efficiently managing them.
[0358] The "means for allowing the user to check the progress of the task" is a function that provides an interface for the user to report the progress of the current task.
[0359] The "means for updating the task list based on progress status" is a function that automatically updates the task list based on task progress information received from the user and rearranges the next task to be done.
[0360] The "means for presenting the task list and progress status to the user" is a function that visually presents the latest task list and its progress status to the user, allowing the user to grasp the current work status.
[0361] The "means for recognizing the user's emotional state" is a function that analyzes the user's psychological state from facial expressions, voice, etc., and identifies the emotion.
[0362] The "means for adjusting the priority and content of tasks based on the emotional state" is a function for appropriately managing the user's workload by changing the priority and content of tasks according to the user's emotional state.
[0363] The system for implementing this invention is composed of four elements: a server, a terminal, a user, and an emotion engine. The specific configuration and operation of the system will be explained below.
[0364] System Hardware and Software
[0365] server:
[0366] Hardware used: High performance computer server
[0367] Software used: Database management system, API communication library (e.g. Requests)
[0368] Device:
[0369] Hardware used: smart glasses, smartwatch, PC, smartphone
[0370] Software used: Task management applications, facial recognition software (e.g., OpenCV)
[0371] User:
[0372] Devices for operating the interface: smart glasses, smartwatch, computer, smartphone
[0373] Emotion Engine:
[0374] Hardware used: Camera, Microphone
[0375] Software used: Emotion recognition library (e.g., EmotionRecognizer)
[0376] Program processing overview
[0377] The server periodically obtains the user's schedule information every morning. This includes using an API communication library to collect information from a schedule management application. The obtained information is stored in a database. The server analyzes the stored data, extracts task start times, end times, importance, etc., and sets priorities. It then generates a task list and sends it to the device.
[0378] The server periodically (e.g., 10:00 AM, 2:00 PM) sends notifications to the terminal to ask the user about the progress of the task. The user can input the current progress through the terminal. This information is sent to the server, and the task list is updated based on the progress.
[0379] The emotion engine analyzes the user's emotional state through facial recognition and voice analysis. The analysis results are sent to the server, which dynamically adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server may postpone less urgent tasks.
[0380] Specific examples
[0381] Example 1: Morning task review
[0382] At 6:00 AM, the server retrieves schedule information and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0383] Example 2: Checking progress during the day
[0384] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0385] Example 3: Recognizing emotional states
[0386] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0387] Example 4: Final check in the evening
[0388] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0389] Example prompts for input to a generative AI model:
[0390] "Describe an application that monitors the emotional state of factory workers in real time and automatically adjusts task priorities and methods based on their emotional state. If a worker becomes stressed, the system immediately relieves the worker's workload and ensures safety."
[0391] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0392] Step 1:
[0393] Get user schedule information
[0394] The server periodically obtains the user's schedule information every morning. Specifically, it uses the API communication library to collect data from the user's schedule management application. This data includes information about tasks and events scheduled for the user that day. The obtained information is stored in a database on the server.
[0395] Input: User's schedule information
[0396] Output: Schedule information stored in the database
[0397] Step 2:
[0398] Parsing task information and setting priorities
[0399] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. It then performs data calculations to prioritize the tasks and generates a prioritized task list, taking into account the urgency and importance of the tasks.
[0400] Input: Schedule information stored in the database
[0401] Output: A prioritized task list
[0402] Step 3:
[0403] Sending and Viewing Task Lists
[0404] The server sends the generated task list to the terminal, which displays it to the user. The user can check the displayed task list and understand the tasks that need to be done today.
[0405] Input: A prioritized task list
[0406] Output: The task list presented to the user
[0407] Step 4:
[0408] Checking task progress
[0409] The server periodically sends notifications to the device during the day (e.g., 10:00 AM and 2:00 PM) to let the user check their progress. The user inputs their progress through smart glasses or a smart watch. This input information is sent to the server.
[0410] Input: User progress input
[0411] Output: Updated progress information in the server
[0412] Step 5:
[0413] Update the task list
[0414] The server recalculates the task list based on the progress information and reprioritizes tasks as needed, taking into account any unfinished or newly added tasks.
[0415] Input: User progress information
[0416] Output: Recalculated task list
[0417] Step 6:
[0418] Recognition of emotional states
[0419] The emotion engine uses facial recognition and voice analysis of the user through the camera and microphone to analyze their emotional state, using an emotion recognition library, and the analysis results are sent to the server.
[0420] Input: User's facial image and voice data
[0421] Output: Perceived emotional state
[0422] Step 7:
[0423] Task Coordination
[0424] The server adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server postpones less urgent tasks. The results of this adjustment are then sent back to the terminal and presented to the user.
[0425] Input: User's emotional state
[0426] Output: Reconciled task list
[0427] Step 8:
[0428] Final check of the day
[0429] The server sends a notification to the user in the evening to finalize the day's task list. The user inputs the progress of all tasks, and the server creates a progress report based on this. The report, which includes the analysis results of the emotion engine and provides advice, is displayed on the terminal.
[0430] Input: Daily task progress
[0431] Output: Progress report and advice
[0432] 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.
[0433] 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.
[0434] 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.
[0435] [Second embodiment]
[0436] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0437] 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.
[0438] 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).
[0439] 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.
[0440] 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.
[0441] 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).
[0442] 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.
[0443] 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.
[0444] 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.
[0445] 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.
[0446] 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.
[0447] 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."
[0448] This invention is a system designed to automate user task management and enable tasks to be completed efficiently. This system is composed of three entities: a server, a terminal, and a user. Specific operations are explained below in natural language.
[0449] System configuration
[0450] 1. Server: Acquires and analyzes user schedule and task information, sets priorities, checks user progress, and updates the task list as needed.
[0451] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user.
[0452] 3. User: Performs tasks and enters progress.
[0453] Program processing overview
[0454] Data Acquisition
[0455] The server periodically acquires the user's calendar information and ToDo list data every morning.
[0456] The data thus obtained is stored in a database.
[0457] Task analysis and organization
[0458] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[0459] Based on this information, priorities are set and a task list is generated.
[0460] The generated task list is sent to the terminal and notified to the user.
[0461] Check your progress
[0462] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[0463] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[0464] Progress-based adjustments
[0465] The server receives user input and updates the progress.
[0466] Recalculate and reprioritize your task list as needed.
[0467] Task and progress presentation
[0468] The updated task list and progress status are sent to the terminal and presented to the user.
[0469] Specific examples
[0470] Example 1: Morning task review
[0471] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0472] Example 2: Checking progress during the day
[0473] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0474] Example 3: Final check in the evening
[0475] At 5:00 PM, the server notifies the user at the end of the day to do a final check of today's task list. The user enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to the user, who can use it to plan the next day's tasks.
[0476] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0477] The processing flow will be explained below.
[0478] Step 1:
[0479] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[0480] Step 2:
[0481] The server analyzes the schedule and task information stored in the database, extracting information such as the start time, end time, and priority of each task.
[0482] Step 3:
[0483] The server prioritizes tasks based on the analyzed information, creating a task list based on importance and urgency, and sorting them by priority.
[0484] Step 4:
[0485] The server sends the generated task list to the terminal and sends a notification to the user to confirm the morning tasks. The terminal displays the task list to the user and prompts the user to confirm the tasks to be done today.
[0486] Step 5:
[0487] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[0488] Step 6:
[0489] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[0490] Step 7:
[0491] The server analyzes the progress information received from the user, updates the task list based on the progress, and recalculates priorities as necessary.
[0492] Step 8:
[0493] The server sends the updated task list to the terminal, which displays the new task list to the user and indicates the next task to be performed.
[0494] Step 9:
[0495] The server sends a notification to the user again at 2:00 PM asking about the task progress. The terminal displays the progress check interface to the user again.
[0496] Step 10:
[0497] The user again inputs their current progress into the terminal, which then sends this input to the server.
[0498] Step 11:
[0499] The server updates the task list based on the received progress information, recalculates the priorities, and sends the updated task list to the terminal.
[0500] Step 12:
[0501] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[0502] Step 13:
[0503] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[0504] Step 14:
[0505] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that is stored in a database.
[0506] Step 15:
[0507] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[0508] Example 1
[0509] 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."
[0510] Conventional task management systems require users to manually create task lists and track progress, making efficient task management difficult. Furthermore, there was a lack of a way to accurately set task importance and priority, which hindered work efficiency. Furthermore, progress checks throughout the day were often inadequate, leading to delayed task readjustments.
[0511] 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.
[0512] In this invention, the server includes a means for acquiring user schedule information, a means for analyzing the acquired data to extract the start time, end time, and importance of tasks, and a means for setting priorities and generating a task list, thereby enabling users to efficiently manage tasks and check and adjust the progress of tasks in real time.
[0513] A "user" is an individual or organization that uses this system to manage tasks.
[0514] "Schedule information" refers to information about tasks and events included in a user's daily schedule or to-do list.
[0515] The "start time of a task" is information indicating the time at which a specific task is to be started.
[0516] "Task end time" is information indicating the time at which a specific task ends.
[0517] "Importance" is an index that indicates the priority and urgency of a task.
[0518] "Priority" is a criterion for determining the order in which multiple tasks are performed.
[0519] A "task list" refers to a list of tasks that a user must complete.
[0520] A "server" is a computer system that plays a central role in a task management system and performs tasks such as data analysis and task list generation.
[0521] A "terminal" is a device that a user uses to communicate with the server, display a task list, and enter progress.
[0522] "Progress" is information that indicates the degree of achievement or completion of a task.
[0523] "Recalculating" is the process of re-establishing task lists and priorities based on progress and other changes.
[0524] "Notification" is a message that conveys information to the user, such as checking the progress of a task or updating the task list.
[0525] This invention is a system designed to automate user task management and enable efficient task execution. This system consists of three components: a server, a terminal, and a user. The detailed functions and operations of the system are explained below.
[0526] Server Operation
[0527] The server is programmed using Python and plays a central role in task management. The server's specific functions are as follows:
[0528] 1. The user's schedule information is periodically retrieved every morning at 6:00 AM using the Google Calendar API.
[0529] 2. Analyze the captured data and extract the task start time, end time, and importance using the pandas library.
[0530] 3. Prioritize tasks based on the extracted information and generate a task list.
[0531] 4. The generated task list is sent to the device via the REST API.
[0532] 5. Send progress notifications to the device periodically throughout the day using Firebase Cloud Messaging.
[0533] 6. Recalculate the task list based on progress and reprioritize using scikit-learn.
[0534] 7. The updated task list and progress status are sent to the device and presented to the user.
[0535] Device behavior
[0536] The device has an interface developed in React Native and offers the following features:
[0537] 1. Display the task list sent from the server.
[0538] 2. Display progress confirmation notifications as push notifications.
[0539] 3. The progress information entered by the user is sent to the server in real time.
[0540] 4. Redisplay updated task lists and progress.
[0541] The operation of the device is designed to be intuitive for the user, helping them to manage their tasks efficiently.
[0542] User operations
[0543] The user does the following:
[0544] 1. Check the task list displayed on your device and perform the task.
[0545] 2. Receive progress confirmation notifications and enter your current progress on your device.
[0546] 3. Check the updated task list and progress and complete the next task.
[0547] Specific examples
[0548] Example 1: Morning task review
[0549] The server retrieves schedule information using the Google Calendar API at 6:00 AM. The retrieved data is saved in formats such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)." The server creates a task list based on this information, prioritizes it, and sends it to the device. The device displays the task list to the user, allowing them to confirm the tasks for the day.
[0550] Example 2: Checking progress during the day
[0551] At 10:00 AM, the server uses Firebase Cloud Messaging to send a notification to the user asking, "What's the status of creating materials for business meeting X?" The user enters "30% progress" and sends this information to the server. The server reanalyzes the task list based on the progress and updates the priority.
[0552] Example 3: Final check in the evening
[0553] At 5:00 PM, the server sends the user a notification to finalize today's task list. The user enters "80% of all tasks completed," and the server generates a progress report based on this information. The terminal displays this report to the user, allowing the user to plan their tasks for the next day.
[0554] Example prompts for generative AI models
[0555] "Check today's task list. What time is the next one due?"
[0556] "Please tell us your progress. What percentage of progress are you at now?"
[0557] "What is tomorrow's most important task?"
[0558] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0559] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0560] Step 1:
[0561] The server retrieves the user's event information every morning at 6:00 AM. Using the Google Calendar API, it sends a request to "GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events" to retrieve the user's calendar information. It receives the JSON format data returned by the API as input and stores it in a MySQL database. The database now stores data such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0562] Step 2:
[0563] The server analyzes the schedule information stored in the database. It uses the Python pandas library to retrieve data from the database and convert it into a data frame. Using the schedule information from the database as input, it performs calculations to extract attributes such as start time, end time, and importance. The analyzed data is obtained as output. This data includes information such as the start time of "Preparing for a meeting" being 8:00 AM, the end time being 9:00 AM, and the importance being high.
[0564] Step 3:
[0565] The server generates a task list based on the extracted information. To set priorities, it uses a machine learning algorithm using scikit-learn. Based on the analyzed data as input, it calculates the priority by taking into account the importance and time frame of each task. As output, it generates a prioritized task list. This list will be in the form of, for example, "Priority 1: Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Priority 2: Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0566] Step 4:
[0567] The server sends the generated task list to the device via REST API. It takes the prioritized task list as input and makes an HTTP POST request to send it to the device. As output, the task list is sent to the device, which receives it. As a result, the user can check today's task list on the device.
[0568] Step 5:
[0569] The terminal displays the task list sent from the server to the user. It receives the prioritized task list from the server as input and displays it on the user interface using React Native. As output, the user can visually check the task list. Here, the task list screen displays items such as "Priority 1: Meeting preparation (8:00 AM - 9:00 AM)" and "Priority 2: Project planning (10:00 AM - 12:00 PM)."
[0570] Step 6:
[0571] The server periodically sends progress confirmation notifications to the device throughout the day. For example, at 10:00 AM and 2:00 PM, Firebase Cloud Messaging is used to send notifications prompting the user to check the progress. The message text for the progress confirmation notification is set as input, and a push notification request is made at the specified time. The output is a notification displayed on the device saying, "What is the status of creating materials for business meeting X?"
[0572] Step 7:
[0573] The user receives a progress confirmation notification displayed on the terminal and enters the current progress. For example, they enter "30% progress" into the React Native-based progress input screen. The progress information entered by the user as input is sent to the terminal and forwarded to the server. The progress information is sent to the server as output.
[0574] Step 8:
[0575] The server recalculates the task list based on the progress information received from the user. It reevaluates the importance and priority of tasks based on the progress status and recalculates using scikit-learn. It performs calculations to set new priorities based on the progress status data as input. As output, it generates an updated task list and sends it back to the device.
[0576] Step 9:
[0577] The device redisplays the updated task list. To present the user with the new prioritized task list, it retrieves the data from the server and re-renders the screen in React Native. It has the updated task list as input and displays the latest task list to the user as output. The user can then perform their next task based on this updated information.
[0578] (Application example 1)
[0579] 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."
[0580] Conventional task management systems require users to manually update status and set task priorities, which reduces work efficiency. Furthermore, it is difficult to monitor progress in real time and manage tasks appropriately when managing work within a factory. This often leads to work delays and reduced productivity.
[0581] 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.
[0582] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for monitoring the progress of factory work and updating it in real time, and means for managing factory workers and tasks. This enables users and factory workers to efficiently perform tasks, grasp the progress in real time, and manage tasks appropriately.
[0583] "User schedule information" is information about the time allocation of various events and tasks scheduled by the user.
[0584] "Task information" is detailed information about various tasks and works that a user must perform.
[0585] "Priority" is information that indicates the order in which tasks should be handled based on the importance and urgency of the tasks.
[0586] "Progress" is information indicating the degree of completion and progress of a task.
[0587] A "task list" is a list of tasks that a user must perform.
[0588] "Factory work" refers to the work and tasks associated with the manufacturing process.
[0589] "Factory work progress" is information about the manufacturing process and the degree of completion and progress of work within the factory.
[0590] A "server" refers to a central device that stores data and responds to inquiries from users and terminals.
[0591] A "terminal" is a device that is directly used by a user and is used to display a task list and input progress status.
[0592] "Task analysis" refers to the process of breaking down, organizing, and understanding acquired task information.
[0593] "Real time" means that processing occurs at the exact moment an event occurs.
[0594] "Workers" refers to people who perform various tasks within a factory.
[0595] The present invention is a system that improves the efficiency of user task management and realizes real-time progress management of factory manufacturing processes. This system is composed of three entities: a server, a terminal, and a user. Below, we will explain how this system is specifically implemented.
[0596] System configuration
[0597] 1. Server: The server is responsible for acquiring, analyzing, and prioritizing user schedule and task information. This generates a task list and updates it in real time based on the progress. The server also monitors the progress of work within the factory and recalculates tasks as necessary.
[0598] 2. Terminal: The terminal is responsible for presenting the task list and progress status to the user. It also receives input from the user (e.g., task progress status) and sends that information to the server. Terminals include smartphones, tablets, and operation panels used directly in factories.
[0599] 3. Users: Users include factory workers and managers. They perform tasks based on the task list and enter their progress via terminals.
[0600] Program processing
[0601] Data Acquisition
[0602] Every morning, the server periodically retrieves the user's calendar information and to-do list data using the API, and stores this data in a database.
[0603] Task analysis and organization
[0604] The server analyzes the stored data and extracts information such as the start time, end time, and importance of the tasks. This information is used to set priorities and generate a task list. The generated task list is then sent to the device and notified to the user.
[0605] Check your progress
[0606] The server periodically asks the user about the progress of the task (e.g., 10:00 AM, 2:00 PM). This notification is displayed on the terminal, and the user inputs their current progress. The input information is then sent back to the server.
[0607] Progress-based adjustments
[0608] The server receives progress information from the user, recalculates the task list as needed, and reprioritizes it. The recalculated task list is then sent back to the terminal and presented to the user.
[0609] Task and progress presentation
[0610] The updated task list and progress are displayed to the user through the device's UI (user interface).
[0611] Hardware and software used
[0612] Server: Cloud-based server (e.g., Amazon Web Services, Microsoft Azure, etc.)
[0613] Devices: smartphones, tablets, operation panels, etc.
[0614] Software: Various APIs (for data acquisition), data analysis software (e.g., Python, R, etc.), databases (e.g., PostgreSQL, MySQL, etc.)
[0615] Specific examples
[0616] Example 1: Checking morning tasks
[0617] The server retrieves schedule information at 9:00 AM and extracts tasks such as "machine maintenance" and "quality inspection" from User A's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the terminal. The terminal displays the task list to User A, allowing him to confirm the tasks that need to be done today.
[0618] Example 2: Checking progress during the day
[0619] At 1:00 PM, the server asks User B, "What's the status of the part assembly?" and a notification appears on the device asking for progress. User B enters "50% complete" and sends this information to the server. The server recalculates the task list based on the progress and updates the priorities.
[0620] Example 3: Final check in the evening
[0621] At 5:00 PM, the server notifies User C to do a final check of today's task list. User C enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to User C. User C uses this to plan the next day's tasks.
[0622] Prompt Sentence Examples
[0623] Create a task management system for robots used in factories. This system will acquire and analyze users' calendar information and to-do list data, set priorities, generate task lists, periodically check progress, and update the task list based on that information. The progress will be reported to the server, and finally, the task status will be sent to the server at the end of the day.
[0624] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0625] Step 1:
[0626] Every morning, the server periodically uses an API to retrieve the user's calendar information and to-do list data. This data is stored in the server's database. The input is the user's calendar information and to-do list data, and the output is the task information stored in the database. This process is performed using software such as Python and a database (e.g., PostgreSQL, MySQL).
[0627] Step 2:
[0628] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. Then, it sets the task priority based on this information. The input is the task information stored in the database, and the output is a prioritized task list. Data analysis software (e.g., Python, R) is used for this process.
[0629] Step 3:
[0630] The server sends the generated task list to the device. The device notifies and displays the task list to the user. The input is a prioritized task list, and the output is a task list displayed on the user's device. This process uses a communication protocol (e.g., HTTP, MQTT) and a UI framework.
[0631] Step 4:
[0632] The server periodically sends notifications throughout the day (e.g., 10:00 AM, 2:00 PM) to the user to check the progress of the task. These notifications are displayed on the device, and the user enters their current progress. The input is the notification to confirm, and the output is the progress input from the user. Notifications are sent using a push notification service (e.g., Firebase Cloud Messaging) or similar.
[0633] Step 5:
[0634] The server receives the progress information sent from the terminal, recalculates the task list based on the progress, and re-prioritizes the tasks. The input is the progress information from the user, and the output is the recalculated task list. This process includes recalculation algorithms and database operations.
[0635] Step 6:
[0636] The server retransmits the recalculated task list to the terminal and presents the latest task list to the user. The input is the recalculated task list, and the output is the latest task list displayed on the user's terminal. This process also uses communication protocols and UI frameworks.
[0637] Step 7:
[0638] At the end of the day, the server creates a progress report and notifies the user to perform a final check. The user inputs the final progress status and it is sent to the server. The input is the final status of the tasks for the day, and the output is the progress report. This process uses a template engine and notification service to generate the report.
[0639] Step 8:
[0640] The user creates a task plan for the next day based on the progress report. The input is the progress report, and the output is the task plan for the next day. This is a manual process performed directly by the user, but the system may also provide guidelines and advice to assist in planning.
[0641] 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.
[0642] This invention is a system designed to automate user task management and enable efficient task execution. It also has the ability to recognize the user's emotional state and adjust tasks accordingly. This system consists of four components: a server, a terminal, a user, and an emotion engine. The specific operation is explained below in natural language.
[0643] System configuration
[0644] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[0645] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user. It also displays the output of the emotion engine.
[0646] 3. User: Performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[0647] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[0648] Program processing overview
[0649] Data Acquisition
[0650] The server periodically acquires the user's calendar information and ToDo list data every morning.
[0651] The data thus obtained is stored in a database.
[0652] Task analysis and organization
[0653] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[0654] Based on this information, priorities are set and a task list is generated.
[0655] The generated task list is sent to the terminal and notified to the user.
[0656] Check your progress
[0657] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[0658] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[0659] Recognition of emotional states
[0660] The emotion engine analyzes the user's emotions through facial recognition and voice analysis.
[0661] The analysis results are sent to the server to confirm the user's emotional state.
[0662] Progress-based adjustments
[0663] The server receives user input and emotional state information and updates task progress.
[0664] Recalculate and reprioritize your task list as needed, and take measures such as deferring less urgent tasks to reduce user burden based on your emotional state.
[0665] Task and emotion presentation
[0666] The updated task list and emotional state are sent to the terminal and presented to the user.
[0667] Specific examples
[0668] Example 1: Morning task review
[0669] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0670] Example 2: Checking progress during the day
[0671] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0672] Example 3: Recognizing emotional states
[0673] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0674] Example 4: Final check in the evening
[0675] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0676] The above is a detailed description of an embodiment of the present invention. This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[0677] The processing flow will be explained below.
[0678] Step 1:
[0679] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[0680] Step 2:
[0681] The server analyzes the schedule and task information stored in the database and extracts information such as the start time, end time, and priority of each task.
[0682] Step 3:
[0683] The server prioritizes tasks based on the analyzed information and generates a task list according to importance and urgency. The generated task list is sent to the terminal and notified to the user.
[0684] Step 4:
[0685] The device displays a task list created at 6:15 AM and asks the user to confirm the tasks that need to be done today.
[0686] Step 5:
[0687] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[0688] Step 6:
[0689] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[0690] Step 7:
[0691] The server analyzes the progress information received from the user, updates the task list based on the progress status, and recalculates priorities as necessary.
[0692] Step 8:
[0693] The server sends the updated task list to the terminal, and the terminal displays the new task list to the user.
[0694] Step 9:
[0695] The emotion engine will analyze the user's emotions through facial recognition and voice analysis at 2:00 PM, and send the analysis results to the server to confirm the user's emotional state.
[0696] Step 10:
[0697] The server also takes into account the user's emotional state and updates the task progress again. For example, if the user is feeling stressed, it may postpone less urgent tasks.
[0698] Step 11:
[0699] The server sends a new task list that reflects the user's emotional state to the terminal, which then displays the new task list to the user and provides appropriate advice.
[0700] Step 12:
[0701] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[0702] Step 13:
[0703] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[0704] Step 14:
[0705] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that includes advice based on the emotion engine's analysis.
[0706] Step 15:
[0707] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[0708] Example 2
[0709] 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."
[0710] Conventional task management systems can manage users' schedules and task progress, but they cannot recognize users' emotional states and adjust tasks accordingly. This can lead to stress and excessive workloads for users. There is a need to solve this problem and realize more efficient and user-friendly task management.
[0711] 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. In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting the task list based on the user's emotional state. This reduces the burden on the user and enables more flexible and less stressful task management.
[0712] "User schedule information" is information about the date, time, and location of appointments, meetings, etc. managed by the user.
[0713] "User task information" is detailed information about the work or tasks that a user must perform.
[0714] The "means for setting priority" is a means for evaluating the importance and urgency of each task based on the acquired task information, and determining the order of execution.
[0715] The "means for confirming the progress of the task with the user" is a means for having the user input information about the progress of the current task and collecting that information.
[0716] The "means for updating the task list based on the progress status" refers to a means for reevaluating the task list and priorities based on the progress status of the tasks obtained from the user, and making any necessary changes.
[0717] The "means for presenting a task list and progress status to a user" refers to a means for displaying the latest task list and task progress status on a user's device.
[0718] The "means for recognizing the user's emotional state" is a means for analyzing the user's emotions from their facial expressions and voice, and recognizing their psychological state, such as stress or fatigue.
[0719] The "means for adjusting the task list based on the emotional state" refers to a means for changing the priority and schedule of tasks according to the recognized emotional state of the user, thereby reducing the burden on the user.
[0720] This invention is a system designed to automate user task management and enable efficient task execution, and also has the ability to recognize the user's emotional state and adjust tasks based on that. This system consists of four components: a server, a terminal, a user, and an emotion engine.
[0721] System configuration
[0722] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[0723] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the ability to receive input from the user. It also displays the output of the emotion engine.
[0724] 3. User: performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[0725] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[0726] Data Acquisition
[0727] The server periodically retrieves the user's calendar information and to-do list data every morning. For example, it uses the Google Calendar API or Microsoft To Do API, and performs authentication using OAuth 2.0. The retrieved data is received in JSON format and stored in a MySQL database.
[0728] Task analysis and organization
[0729] The server analyzes the stored data and extracts the start time, end time, and importance of the tasks. For this purpose, it uses Python's Pandas to format and analyze the data. Based on the analyzed data, it sets priorities and generates a task list, which is then sent to the terminal and notified to the user.
[0730] Check your progress
[0731] Periodically throughout the day, the server asks the user about their progress on the task, for example at 10:00 AM and 2:00 PM. The user enters their progress on the device, and the information is sent to the server and stored in a database.
[0732] Recognition of emotional states
[0733] The emotion engine analyzes the user's emotions through facial recognition and voice analysis. This process uses OpenFace and voice analysis services. The analysis results are sent to the server and used as information on the user's emotional state.
[0734] Progress-based adjustments
[0735] The server receives user input and emotional state information and updates task progress. Using a Python script, it recalculates the task list and adjusts priorities as needed. If the emotional state is "stressed," it postpones less urgent tasks.
[0736] Task and emotion presentation
[0737] The updated task list and emotional state are sent to the device and presented to the user, who can then view them on their smartphone or computer screen, enabling efficient task management.
[0738] Specific examples
[0739] Example 1: Morning task review
[0740] The server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0741] Example 2: Checking progress during the day
[0742] At 10:00 AM, the server asks the user, "What is the progress of creating materials for business meetings?" and sends a notification to the terminal to check the progress. The user enters "30% progress" into the terminal, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0743] Example 3: Recognizing emotional states
[0744] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0745] Example 4: Final check in the evening
[0746] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0747] This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[0748] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0749] Step 1:
[0750] Every morning, the server periodically retrieves the user's schedule information and to-do list data. The input is JSON-formatted data obtained from the Google Calendar API and Microsoft To Do API. The server authenticates using OAuth2.0 and sends a GET request. As output, the retrieved data is stored in a MySQL database. Specifically, the server sends a request such as GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events and stores the received JSON data in the database.
[0751] Step 2:
[0752] The server retrieves the user's schedule information and to-do list data from the database. The input is the task list data obtained by an SQL query. The server executes a query such as SELECT FROM calendar_data WHERE user_id = 'user123' to retrieve the data from the database. As output, the retrieved data is converted into a Python Pandas data frame. Specifically, the start time, end time, importance, etc. of the task are extracted and saved in each column of the data frame.
[0753] Step 3:
[0754] The server sets task priorities based on the data it obtains and generates a task list. The input is a data frame containing schedule information and to-do list data. The server uses Pandas to set priorities, for example, tasks['priority'] = tasks['importance'].apply(lambda x: 'High' if x > 5 else 'Low'). The generated task list is saved as output in JSON format. Specifically, the task list is saved in JSON format using tasks.to_json('task_list.json') and the file is sent to the terminal.
[0755] Step 4:
[0756] The server periodically checks the task progress with the user. The input is the task list and the current time. The server sends a progress confirmation message to the user's device. For example, at 10:00 AM, it sends a notification asking, "What is the progress of creating materials for business negotiations?" The output is the progress input from the user, which is returned to the server. Specifically, the user enters "progress is 30%" into the device, and that information is sent to the server and stored in the database.
[0757] Step 5:
[0758] The server uses the emotion engine to understand the user's emotional state. The input is the user's facial recognition data and voice data. The emotion engine uses OpenFace to recognize the face and uses the voice analysis service to analyze the emotion. The analysis results are sent to the server as output. Specifically, it analyzes the face image as in openface -f user_image.jpg, and uses the voice data for emotion analysis.
[0759] Step 6:
[0760] The server updates the task list based on the progress and emotional state. The input is the analysis result of the user's progress information and emotional state. The server uses a Python script to recalculate the task list and adjust priorities as necessary. As output, an updated task list is generated and sent to the device. Specifically, if the emotional state is "stressed", the priority is adjusted as follows: tasks['priority'] = tasks['priority'].apply(lambda x: 'Low' if x == 'Low' else 'Medium').
[0761] Step 7:
[0762] The updated task list and emotional state are sent to the device and presented to the user. The input is the updated task list and emotional state data. The server sends this data to the device and displays it on the screen of the user's smartphone or computer. As output, the user can check the latest task list and their emotional state. Specifically, the recalculated task list is saved using tasks.to_json('updated_task_list.json') and sent to the device.
[0763] (Application example 2)
[0764] 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."
[0765] While traditional task management systems excel at managing users' schedules and task progress, they lack the ability to dynamically adjust tasks based on the user's emotional state. This can lead to excessive strain on users, which can lead to decreased productivity and increased stress. User fatigue and stress can be particularly serious in high-stress work environments such as factories.
[0766] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0767] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting task priorities and content based on the user's emotional state. This makes it possible to appropriately adjust task loads according to the user's emotional state, allowing the user to perform work efficiently without feeling excessive stress or fatigue.
[0768] The "means for acquiring user schedule information" is a function for collecting schedule and calendar information set in advance by the user through sensors or data communication.
[0769] The "means for analyzing user task information and setting priorities" is a function for determining priorities based on the importance and deadlines of tasks set by the user, and for efficiently managing them.
[0770] The "means for allowing the user to check the progress of the task" is a function that provides an interface for the user to report the progress of the current task.
[0771] The "means for updating the task list based on progress status" is a function that automatically updates the task list based on task progress information received from the user and rearranges the next task to be done.
[0772] The "means for presenting the task list and progress status to the user" is a function that visually presents the latest task list and its progress status to the user, allowing the user to grasp the current work status.
[0773] The "means for recognizing the user's emotional state" is a function that analyzes the user's psychological state from facial expressions, voice, etc., and identifies the emotion.
[0774] The "means for adjusting the priority and content of tasks based on the emotional state" is a function for appropriately managing the user's workload by changing the priority and content of tasks according to the user's emotional state.
[0775] The system for implementing this invention is composed of four elements: a server, a terminal, a user, and an emotion engine. The specific configuration and operation of the system will be explained below.
[0776] System Hardware and Software
[0777] server:
[0778] Hardware used: High performance computer server
[0779] Software used: Database management system, API communication library (e.g. Requests)
[0780] Device:
[0781] Hardware used: smart glasses, smartwatch, PC, smartphone
[0782] Software used: Task management applications, facial recognition software (e.g., OpenCV)
[0783] User:
[0784] Devices for operating the interface: smart glasses, smartwatch, computer, smartphone
[0785] Emotion Engine:
[0786] Hardware used: Camera, Microphone
[0787] Software used: Emotion recognition library (e.g., EmotionRecognizer)
[0788] Program processing overview
[0789] The server periodically obtains the user's schedule information every morning. This includes using an API communication library to collect information from a schedule management application. The obtained information is stored in a database. The server analyzes the stored data, extracts task start times, end times, importance, etc., and sets priorities. It then generates a task list and sends it to the device.
[0790] The server periodically (e.g., 10:00 AM, 2:00 PM) sends notifications to the terminal to ask the user about the progress of the task. The user can input the current progress through the terminal. This information is sent to the server, and the task list is updated based on the progress.
[0791] The emotion engine analyzes the user's emotional state through facial recognition and voice analysis. The analysis results are sent to the server, which dynamically adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server may postpone less urgent tasks.
[0792] Specific examples
[0793] Example 1: Morning task review
[0794] At 6:00 AM, the server retrieves schedule information and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0795] Example 2: Checking progress during the day
[0796] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0797] Example 3: Recognizing emotional states
[0798] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[0799] Example 4: Final check in the evening
[0800] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[0801] Example prompts for input to a generative AI model:
[0802] "Describe an application that monitors the emotional state of factory workers in real time and automatically adjusts task priorities and methods based on their emotional state. If a worker becomes stressed, the system immediately relieves the worker's workload and ensures safety."
[0803] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0804] Step 1:
[0805] Get user schedule information
[0806] The server periodically obtains the user's schedule information every morning. Specifically, it uses the API communication library to collect data from the user's schedule management application. This data includes information about tasks and events scheduled for the user that day. The obtained information is stored in a database on the server.
[0807] Input: User's schedule information
[0808] Output: Schedule information stored in the database
[0809] Step 2:
[0810] Parsing task information and setting priorities
[0811] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. It then performs data calculations to prioritize the tasks and generates a prioritized task list, taking into account the urgency and importance of the tasks.
[0812] Input: Schedule information stored in the database
[0813] Output: A prioritized task list
[0814] Step 3:
[0815] Sending and Viewing Task Lists
[0816] The server sends the generated task list to the terminal, which displays it to the user. The user can check the displayed task list and understand the tasks that need to be done today.
[0817] Input: A prioritized task list
[0818] Output: The task list presented to the user
[0819] Step 4:
[0820] Checking task progress
[0821] The server periodically sends notifications to the device during the day (e.g., 10:00 AM and 2:00 PM) to let the user check their progress. The user inputs their progress through smart glasses or a smart watch. This input information is sent to the server.
[0822] Input: User progress input
[0823] Output: Updated progress information in the server
[0824] Step 5:
[0825] Update the task list
[0826] The server recalculates the task list based on the progress information and reprioritizes tasks as needed, taking into account any unfinished or newly added tasks.
[0827] Input: User progress information
[0828] Output: Recalculated task list
[0829] Step 6:
[0830] Recognition of emotional states
[0831] The emotion engine uses facial recognition and voice analysis of the user through the camera and microphone to analyze their emotional state, using an emotion recognition library, and the analysis results are sent to the server.
[0832] Input: User's facial image and voice data
[0833] Output: Perceived emotional state
[0834] Step 7:
[0835] Task Coordination
[0836] The server adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server postpones less urgent tasks. The results of this adjustment are then sent back to the terminal and presented to the user.
[0837] Input: User's emotional state
[0838] Output: Reconciled task list
[0839] Step 8:
[0840] Final check of the day
[0841] The server sends a notification to the user in the evening to finalize the day's task list. The user inputs the progress of all tasks, and the server creates a progress report based on this. The report, which includes the analysis results of the emotion engine and provides advice, is displayed on the terminal.
[0842] Input: Daily task progress
[0843] Output: Progress report and advice
[0844] 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.
[0845] 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.
[0846] 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.
[0847] [Third embodiment]
[0848] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0849] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0850] 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).
[0851] 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.
[0852] 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.
[0853] 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).
[0854] 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.
[0855] 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.
[0856] 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.
[0857] 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.
[0858] 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.
[0859] 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."
[0860] This invention is a system designed to automate user task management and enable tasks to be completed efficiently. This system is composed of three entities: a server, a terminal, and a user. Specific operations are explained below in natural language.
[0861] System configuration
[0862] 1. Server: Acquires and analyzes user schedule and task information, sets priorities, checks user progress, and updates the task list as needed.
[0863] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user.
[0864] 3. User: Performs tasks and enters progress.
[0865] Program processing overview
[0866] Data Acquisition
[0867] The server periodically acquires the user's calendar information and ToDo list data every morning.
[0868] The data thus obtained is stored in a database.
[0869] Task analysis and organization
[0870] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[0871] Based on this information, priorities are set and a task list is generated.
[0872] The generated task list is sent to the terminal and notified to the user.
[0873] Check your progress
[0874] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[0875] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[0876] Progress-based adjustments
[0877] The server receives user input and updates the progress.
[0878] Recalculate and reprioritize your task list as needed.
[0879] Task and progress presentation
[0880] The updated task list and progress status are sent to the terminal and presented to the user.
[0881] Specific examples
[0882] Example 1: Morning task review
[0883] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[0884] Example 2: Checking progress during the day
[0885] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[0886] Example 3: Final check in the evening
[0887] At 5:00 PM, the server notifies the user at the end of the day to do a final check of today's task list. The user enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to the user, who can use it to plan the next day's tasks.
[0888] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0889] The processing flow will be explained below.
[0890] Step 1:
[0891] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[0892] Step 2:
[0893] The server analyzes the schedule and task information stored in the database, extracting information such as the start time, end time, and priority of each task.
[0894] Step 3:
[0895] The server prioritizes tasks based on the analyzed information, creating a task list based on importance and urgency, and sorting them by priority.
[0896] Step 4:
[0897] The server sends the generated task list to the terminal and sends a notification to the user to confirm the morning tasks. The terminal displays the task list to the user and prompts the user to confirm the tasks to be done today.
[0898] Step 5:
[0899] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[0900] Step 6:
[0901] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[0902] Step 7:
[0903] The server analyzes the progress information received from the user, updates the task list based on the progress, and recalculates priorities as necessary.
[0904] Step 8:
[0905] The server sends the updated task list to the terminal, which displays the new task list to the user and indicates the next task to be performed.
[0906] Step 9:
[0907] The server sends a notification to the user again at 2:00 PM asking about the task progress. The terminal displays the progress check interface to the user again.
[0908] Step 10:
[0909] The user again inputs their current progress into the terminal, which then sends this input to the server.
[0910] Step 11:
[0911] The server updates the task list based on the received progress information, recalculates the priorities, and sends the updated task list to the terminal.
[0912] Step 12:
[0913] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[0914] Step 13:
[0915] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[0916] Step 14:
[0917] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that is stored in a database.
[0918] Step 15:
[0919] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[0920] Example 1
[0921] 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."
[0922] Conventional task management systems require users to manually create task lists and track progress, making efficient task management difficult. Furthermore, there was a lack of a way to accurately set task importance and priority, which hindered work efficiency. Furthermore, progress checks throughout the day were often inadequate, leading to delayed task readjustments.
[0923] 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.
[0924] In this invention, the server includes a means for acquiring user schedule information, a means for analyzing the acquired data to extract the start time, end time, and importance of tasks, and a means for setting priorities and generating a task list, thereby enabling users to efficiently manage tasks and check and adjust the progress of tasks in real time.
[0925] A "user" is an individual or organization that uses this system to manage tasks.
[0926] "Schedule information" refers to information about tasks and events included in a user's daily schedule or to-do list.
[0927] The "start time of a task" is information indicating the time at which a specific task is to be started.
[0928] "Task end time" is information indicating the time at which a specific task ends.
[0929] "Importance" is an index that indicates the priority and urgency of a task.
[0930] "Priority" is a criterion for determining the order in which multiple tasks are performed.
[0931] A "task list" refers to a list of tasks that a user must complete.
[0932] A "server" is a computer system that plays a central role in a task management system and performs tasks such as data analysis and task list generation.
[0933] A "terminal" is a device that a user uses to communicate with the server, display a task list, and enter progress.
[0934] "Progress" is information that indicates the degree of achievement or completion of a task.
[0935] "Recalculating" is the process of re-establishing task lists and priorities based on progress and other changes.
[0936] "Notification" is a message that conveys information to the user, such as checking the progress of a task or updating the task list.
[0937] This invention is a system designed to automate user task management and enable efficient task execution. This system consists of three components: a server, a terminal, and a user. The detailed functions and operations of the system are explained below.
[0938] Server Operation
[0939] The server is programmed using Python and plays a central role in task management. The server's specific functions are as follows:
[0940] 1. The user's schedule information is periodically retrieved every morning at 6:00 AM using the Google Calendar API.
[0941] 2. Analyze the captured data and extract the task start time, end time, and importance using the pandas library.
[0942] 3. Prioritize tasks based on the extracted information and generate a task list.
[0943] 4. The generated task list is sent to the device via the REST API.
[0944] 5. Send progress notifications to the device periodically throughout the day using Firebase Cloud Messaging.
[0945] 6. Recalculate the task list based on progress and reprioritize using scikit-learn.
[0946] 7. The updated task list and progress status are sent to the device and presented to the user.
[0947] Device behavior
[0948] The device has an interface developed in React Native and offers the following features:
[0949] 1. Display the task list sent from the server.
[0950] 2. Display progress confirmation notifications as push notifications.
[0951] 3. The progress information entered by the user is sent to the server in real time.
[0952] 4. Redisplay updated task lists and progress.
[0953] The operation of the device is designed to be intuitive for the user, helping them to manage their tasks efficiently.
[0954] User operations
[0955] The user does the following:
[0956] 1. Check the task list displayed on your device and perform the task.
[0957] 2. Receive progress confirmation notifications and enter your current progress on your device.
[0958] 3. Check the updated task list and progress and complete the next task.
[0959] Specific examples
[0960] Example 1: Morning task review
[0961] The server retrieves schedule information using the Google Calendar API at 6:00 AM. The retrieved data is saved in formats such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)." The server creates a task list based on this information, prioritizes it, and sends it to the device. The device displays the task list to the user, allowing them to confirm the tasks for the day.
[0962] Example 2: Checking progress during the day
[0963] At 10:00 AM, the server uses Firebase Cloud Messaging to send a notification to the user asking, "What's the status of creating materials for business meeting X?" The user enters "30% progress" and sends this information to the server. The server reanalyzes the task list based on the progress and updates the priority.
[0964] Example 3: Final check in the evening
[0965] At 5:00 PM, the server sends the user a notification to finalize today's task list. The user enters "80% of all tasks completed," and the server generates a progress report based on this information. The terminal displays this report to the user, allowing the user to plan their tasks for the next day.
[0966] Example prompts for generative AI models
[0967] "Check today's task list. What time is the next one due?"
[0968] "Please tell us your progress. What percentage of progress are you at now?"
[0969] "What is tomorrow's most important task?"
[0970] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[0971] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0972] Step 1:
[0973] The server retrieves the user's event information every morning at 6:00 AM. Using the Google Calendar API, it sends a request to "GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events" to retrieve the user's calendar information. It receives the JSON format data returned by the API as input and stores it in a MySQL database. The database now stores data such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0974] Step 2:
[0975] The server analyzes the schedule information stored in the database. It uses the Python pandas library to retrieve data from the database and convert it into a data frame. Using the schedule information from the database as input, it performs calculations to extract attributes such as start time, end time, and importance. The analyzed data is obtained as output. This data includes information such as the start time of "Preparing for a meeting" being 8:00 AM, the end time being 9:00 AM, and the importance being high.
[0976] Step 3:
[0977] The server generates a task list based on the extracted information. To set priorities, it uses a machine learning algorithm using scikit-learn. Based on the analyzed data as input, it calculates the priority by taking into account the importance and time frame of each task. As output, it generates a prioritized task list. This list will be in the form of, for example, "Priority 1: Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Priority 2: Project planning (10:00 AM - 12:00 PM, importance: medium)."
[0978] Step 4:
[0979] The server sends the generated task list to the device via REST API. It takes the prioritized task list as input and makes an HTTP POST request to send it to the device. As output, the task list is sent to the device, which receives it. As a result, the user can check today's task list on the device.
[0980] Step 5:
[0981] The terminal displays the task list sent from the server to the user. It receives the prioritized task list from the server as input and displays it on the user interface using React Native. As output, the user can visually check the task list. Here, the task list screen displays items such as "Priority 1: Meeting preparation (8:00 AM - 9:00 AM)" and "Priority 2: Project planning (10:00 AM - 12:00 PM)."
[0982] Step 6:
[0983] The server periodically sends progress confirmation notifications to the device throughout the day. For example, at 10:00 AM and 2:00 PM, Firebase Cloud Messaging is used to send notifications prompting the user to check the progress. The message text for the progress confirmation notification is set as input, and a push notification request is made at the specified time. The output is a notification displayed on the device saying, "What is the status of creating materials for business meeting X?"
[0984] Step 7:
[0985] The user receives a progress confirmation notification displayed on the terminal and enters the current progress. For example, they enter "30% progress" into the React Native-based progress input screen. The progress information entered by the user as input is sent to the terminal and forwarded to the server. The progress information is sent to the server as output.
[0986] Step 8:
[0987] The server recalculates the task list based on the progress information received from the user. It reevaluates the importance and priority of tasks based on the progress status and recalculates using scikit-learn. It performs calculations to set new priorities based on the progress status data as input. As output, it generates an updated task list and sends it back to the device.
[0988] Step 9:
[0989] The device redisplays the updated task list. To present the user with the new prioritized task list, it retrieves the data from the server and re-renders the screen in React Native. It has the updated task list as input and displays the latest task list to the user as output. The user can then perform their next task based on this updated information.
[0990] (Application example 1)
[0991] 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."
[0992] Conventional task management systems require users to manually update status and set task priorities, which reduces work efficiency. Furthermore, it is difficult to monitor progress in real time and manage tasks appropriately when managing work within a factory. This often leads to work delays and reduced productivity.
[0993] 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.
[0994] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for monitoring the progress of factory work and updating it in real time, and means for managing factory workers and tasks. This enables users and factory workers to efficiently perform tasks, grasp the progress in real time, and manage tasks appropriately.
[0995] "User schedule information" is information about the time allocation of various events and tasks scheduled by the user.
[0996] "Task information" is detailed information about various tasks and works that a user must perform.
[0997] "Priority" is information that indicates the order in which tasks should be handled based on the importance and urgency of the tasks.
[0998] "Progress" is information indicating the degree of completion and progress of a task.
[0999] A "task list" is a list of tasks that a user must perform.
[1000] "Factory work" refers to the work and tasks associated with the manufacturing process.
[1001] "Factory work progress" is information about the manufacturing process and the degree of completion and progress of work within the factory.
[1002] A "server" refers to a central device that stores data and responds to inquiries from users and terminals.
[1003] A "terminal" is a device that is directly used by a user and is used to display a task list and input progress status.
[1004] "Task analysis" refers to the process of breaking down, organizing, and understanding acquired task information.
[1005] "Real time" means that processing occurs at the exact moment an event occurs.
[1006] "Workers" refers to people who perform various tasks within a factory.
[1007] The present invention is a system that improves the efficiency of user task management and realizes real-time progress management of factory manufacturing processes. This system is composed of three entities: a server, a terminal, and a user. Below, we will explain how this system is specifically implemented.
[1008] System configuration
[1009] 1. Server: The server is responsible for acquiring, analyzing, and prioritizing user schedule and task information. This generates a task list and updates it in real time based on the progress. The server also monitors the progress of work within the factory and recalculates tasks as necessary.
[1010] 2. Terminal: The terminal is responsible for presenting the task list and progress status to the user. It also receives input from the user (e.g., task progress status) and sends that information to the server. Terminals include smartphones, tablets, and operation panels used directly in factories.
[1011] 3. Users: Users include factory workers and managers. They perform tasks based on the task list and enter their progress via terminals.
[1012] Program processing
[1013] Data Acquisition
[1014] Every morning, the server periodically retrieves the user's calendar information and to-do list data using the API, and stores this data in a database.
[1015] Task analysis and organization
[1016] The server analyzes the stored data and extracts information such as the start time, end time, and importance of the tasks. This information is used to set priorities and generate a task list. The generated task list is then sent to the device and notified to the user.
[1017] Check your progress
[1018] The server periodically asks the user about the progress of the task (e.g., 10:00 AM, 2:00 PM). This notification is displayed on the terminal, and the user inputs their current progress. The input information is then sent back to the server.
[1019] Progress-based adjustments
[1020] The server receives progress information from the user, recalculates the task list as needed, and reprioritizes it. The recalculated task list is then sent back to the terminal and presented to the user.
[1021] Task and progress presentation
[1022] The updated task list and progress are displayed to the user through the device's UI (user interface).
[1023] Hardware and software used
[1024] Server: Cloud-based server (e.g., Amazon Web Services, Microsoft Azure, etc.)
[1025] Devices: smartphones, tablets, operation panels, etc.
[1026] Software: Various APIs (for data acquisition), data analysis software (e.g., Python, R, etc.), databases (e.g., PostgreSQL, MySQL, etc.)
[1027] Specific examples
[1028] Example 1: Checking morning tasks
[1029] The server retrieves schedule information at 9:00 AM and extracts tasks such as "machine maintenance" and "quality inspection" from User A's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the terminal. The terminal displays the task list to User A, allowing him to confirm the tasks that need to be done today.
[1030] Example 2: Checking progress during the day
[1031] At 1:00 PM, the server asks User B, "What's the status of the part assembly?" and a notification appears on the device asking for progress. User B enters "50% complete" and sends this information to the server. The server recalculates the task list based on the progress and updates the priorities.
[1032] Example 3: Final check in the evening
[1033] At 5:00 PM, the server notifies User C to do a final check of today's task list. User C enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to User C. User C uses this to plan the next day's tasks.
[1034] Prompt Sentence Examples
[1035] Create a task management system for robots used in factories. This system will acquire and analyze users' calendar information and to-do list data, set priorities, generate task lists, periodically check progress, and update the task list based on that information. The progress will be reported to the server, and finally, the task status will be sent to the server at the end of the day.
[1036] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1037] Step 1:
[1038] Every morning, the server periodically uses an API to retrieve the user's calendar information and to-do list data. This data is stored in the server's database. The input is the user's calendar information and to-do list data, and the output is the task information stored in the database. This process is performed using software such as Python and a database (e.g., PostgreSQL, MySQL).
[1039] Step 2:
[1040] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. Then, it sets the task priority based on this information. The input is the task information stored in the database, and the output is a prioritized task list. Data analysis software (e.g., Python, R) is used for this process.
[1041] Step 3:
[1042] The server sends the generated task list to the device. The device notifies and displays the task list to the user. The input is a prioritized task list, and the output is a task list displayed on the user's device. This process uses a communication protocol (e.g., HTTP, MQTT) and a UI framework.
[1043] Step 4:
[1044] The server periodically sends notifications throughout the day (e.g., 10:00 AM, 2:00 PM) to the user to check the progress of the task. These notifications are displayed on the device, and the user enters their current progress. The input is the notification to confirm, and the output is the progress input from the user. Notifications are sent using a push notification service (e.g., Firebase Cloud Messaging) or similar.
[1045] Step 5:
[1046] The server receives the progress information sent from the terminal, recalculates the task list based on the progress, and re-prioritizes the tasks. The input is the progress information from the user, and the output is the recalculated task list. This process includes recalculation algorithms and database operations.
[1047] Step 6:
[1048] The server retransmits the recalculated task list to the terminal and presents the latest task list to the user. The input is the recalculated task list, and the output is the latest task list displayed on the user's terminal. This process also uses communication protocols and UI frameworks.
[1049] Step 7:
[1050] At the end of the day, the server creates a progress report and notifies the user to perform a final check. The user inputs the final progress status and it is sent to the server. The input is the final status of the tasks for the day, and the output is the progress report. This process uses a template engine and notification service to generate the report.
[1051] Step 8:
[1052] The user creates a task plan for the next day based on the progress report. The input is the progress report, and the output is the task plan for the next day. This is a manual process performed directly by the user, but the system may also provide guidelines and advice to assist in planning.
[1053] 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.
[1054] This invention is a system designed to automate user task management and enable efficient task execution. It also has the ability to recognize the user's emotional state and adjust tasks accordingly. This system consists of four components: a server, a terminal, a user, and an emotion engine. The specific operation is explained below in natural language.
[1055] System configuration
[1056] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[1057] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user. It also displays the output of the emotion engine.
[1058] 3. User: Performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[1059] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[1060] Program processing overview
[1061] Data Acquisition
[1062] The server periodically acquires the user's calendar information and ToDo list data every morning.
[1063] The data thus obtained is stored in a database.
[1064] Task analysis and organization
[1065] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[1066] Based on this information, priorities are set and a task list is generated.
[1067] The generated task list is sent to the terminal and notified to the user.
[1068] Check your progress
[1069] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[1070] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[1071] Recognition of emotional states
[1072] The emotion engine analyzes the user's emotions through facial recognition and voice analysis.
[1073] The analysis results are sent to the server to confirm the user's emotional state.
[1074] Progress-based adjustments
[1075] The server receives user input and emotional state information and updates task progress.
[1076] Recalculate and reprioritize your task list as needed, and take measures such as deferring less urgent tasks to reduce user burden based on your emotional state.
[1077] Task and emotion presentation
[1078] The updated task list and emotional state are sent to the terminal and presented to the user.
[1079] Specific examples
[1080] Example 1: Morning task review
[1081] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1082] Example 2: Checking progress during the day
[1083] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1084] Example 3: Recognizing emotional states
[1085] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1086] Example 4: Final check in the evening
[1087] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1088] The above is a detailed description of an embodiment of the present invention. This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[1089] The processing flow will be explained below.
[1090] Step 1:
[1091] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[1092] Step 2:
[1093] The server analyzes the schedule and task information stored in the database and extracts information such as the start time, end time, and priority of each task.
[1094] Step 3:
[1095] The server prioritizes tasks based on the analyzed information and generates a task list according to importance and urgency. The generated task list is sent to the terminal and notified to the user.
[1096] Step 4:
[1097] The device displays a task list created at 6:15 AM and asks the user to confirm the tasks that need to be done today.
[1098] Step 5:
[1099] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[1100] Step 6:
[1101] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[1102] Step 7:
[1103] The server analyzes the progress information received from the user, updates the task list based on the progress status, and recalculates priorities as necessary.
[1104] Step 8:
[1105] The server sends the updated task list to the terminal, and the terminal displays the new task list to the user.
[1106] Step 9:
[1107] The emotion engine will analyze the user's emotions through facial recognition and voice analysis at 2:00 PM, and send the analysis results to the server to confirm the user's emotional state.
[1108] Step 10:
[1109] The server also takes into account the user's emotional state and updates the task progress again. For example, if the user is feeling stressed, it may postpone less urgent tasks.
[1110] Step 11:
[1111] The server sends a new task list that reflects the user's emotional state to the terminal, which then displays the new task list to the user and provides appropriate advice.
[1112] Step 12:
[1113] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[1114] Step 13:
[1115] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[1116] Step 14:
[1117] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that includes advice based on the emotion engine's analysis.
[1118] Step 15:
[1119] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[1120] Example 2
[1121] 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."
[1122] Conventional task management systems can manage users' schedules and task progress, but they cannot recognize users' emotional states and adjust tasks accordingly. This can lead to stress and excessive workloads for users. There is a need to solve this problem and realize more efficient and user-friendly task management.
[1123] 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. In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting the task list based on the user's emotional state. This reduces the burden on the user and enables more flexible and less stressful task management.
[1124] "User schedule information" is information about the date, time, and location of appointments, meetings, etc. managed by the user.
[1125] "User task information" is detailed information about the work or tasks that a user must perform.
[1126] The "means for setting priority" is a means for evaluating the importance and urgency of each task based on the acquired task information, and determining the order of execution.
[1127] The "means for confirming the progress of the task with the user" is a means for having the user input information about the progress of the current task and collecting that information.
[1128] The "means for updating the task list based on the progress status" refers to a means for reevaluating the task list and priorities based on the progress status of the tasks obtained from the user, and making any necessary changes.
[1129] The "means for presenting a task list and progress status to a user" refers to a means for displaying the latest task list and task progress status on a user's device.
[1130] The "means for recognizing the user's emotional state" is a means for analyzing the user's emotions from their facial expressions and voice, and recognizing their psychological state, such as stress or fatigue.
[1131] The "means for adjusting the task list based on the emotional state" refers to a means for changing the priority and schedule of tasks according to the recognized emotional state of the user, thereby reducing the burden on the user.
[1132] This invention is a system designed to automate user task management and enable efficient task execution, and also has the ability to recognize the user's emotional state and adjust tasks based on that. This system consists of four components: a server, a terminal, a user, and an emotion engine.
[1133] System configuration
[1134] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[1135] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the ability to receive input from the user. It also displays the output of the emotion engine.
[1136] 3. User: performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[1137] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[1138] Data Acquisition
[1139] The server periodically retrieves the user's calendar information and to-do list data every morning. For example, it uses the Google Calendar API or Microsoft To Do API, and performs authentication using OAuth 2.0. The retrieved data is received in JSON format and stored in a MySQL database.
[1140] Task analysis and organization
[1141] The server analyzes the stored data and extracts the start time, end time, and importance of the tasks. For this purpose, it uses Python's Pandas to format and analyze the data. Based on the analyzed data, it sets priorities and generates a task list, which is then sent to the terminal and notified to the user.
[1142] Check your progress
[1143] Periodically throughout the day, the server asks the user about their progress on the task, for example at 10:00 AM and 2:00 PM. The user enters their progress on the device, and the information is sent to the server and stored in a database.
[1144] Recognition of emotional states
[1145] The emotion engine analyzes the user's emotions through facial recognition and voice analysis. This process uses OpenFace and voice analysis services. The analysis results are sent to the server and used as information on the user's emotional state.
[1146] Progress-based adjustments
[1147] The server receives user input and emotional state information and updates task progress. Using a Python script, it recalculates the task list and adjusts priorities as needed. If the emotional state is "stressed," it postpones less urgent tasks.
[1148] Task and emotion presentation
[1149] The updated task list and emotional state are sent to the device and presented to the user, who can then view them on their smartphone or computer screen, enabling efficient task management.
[1150] Specific examples
[1151] Example 1: Morning task review
[1152] The server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1153] Example 2: Checking progress during the day
[1154] At 10:00 AM, the server asks the user, "What is the progress of creating materials for business meetings?" and sends a notification to the terminal to check the progress. The user enters "30% progress" into the terminal, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1155] Example 3: Recognizing emotional states
[1156] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1157] Example 4: Final check in the evening
[1158] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1159] This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[1160] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1161] Step 1:
[1162] Every morning, the server periodically retrieves the user's schedule information and to-do list data. The input is JSON-formatted data obtained from the Google Calendar API and Microsoft To Do API. The server authenticates using OAuth2.0 and sends a GET request. As output, the retrieved data is stored in a MySQL database. Specifically, the server sends a request such as GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events and stores the received JSON data in the database.
[1163] Step 2:
[1164] The server retrieves the user's schedule information and to-do list data from the database. The input is the task list data obtained by an SQL query. The server executes a query such as SELECT FROM calendar_data WHERE user_id = 'user123' to retrieve the data from the database. As output, the retrieved data is converted into a Python Pandas data frame. Specifically, the start time, end time, importance, etc. of the task are extracted and saved in each column of the data frame.
[1165] Step 3:
[1166] The server sets task priorities based on the data it obtains and generates a task list. The input is a data frame containing schedule information and to-do list data. The server uses Pandas to set priorities, for example, tasks['priority'] = tasks['importance'].apply(lambda x: 'High' if x > 5 else 'Low'). The generated task list is saved as output in JSON format. Specifically, the task list is saved in JSON format using tasks.to_json('task_list.json') and the file is sent to the terminal.
[1167] Step 4:
[1168] The server periodically checks the task progress with the user. The input is the task list and the current time. The server sends a progress confirmation message to the user's device. For example, at 10:00 AM, it sends a notification asking, "What is the progress of creating materials for business negotiations?" The output is the progress input from the user, which is returned to the server. Specifically, the user enters "progress is 30%" into the device, and that information is sent to the server and stored in the database.
[1169] Step 5:
[1170] The server uses the emotion engine to understand the user's emotional state. The input is the user's facial recognition data and voice data. The emotion engine uses OpenFace to recognize the face and uses the voice analysis service to analyze the emotion. The analysis results are sent to the server as output. Specifically, it analyzes the face image as in openface -f user_image.jpg, and uses the voice data for emotion analysis.
[1171] Step 6:
[1172] The server updates the task list based on the progress and emotional state. The input is the analysis result of the user's progress information and emotional state. The server uses a Python script to recalculate the task list and adjust priorities as necessary. As output, an updated task list is generated and sent to the device. Specifically, if the emotional state is "stressed", the priority is adjusted as follows: tasks['priority'] = tasks['priority'].apply(lambda x: 'Low' if x == 'Low' else 'Medium').
[1173] Step 7:
[1174] The updated task list and emotional state are sent to the device and presented to the user. The input is the updated task list and emotional state data. The server sends this data to the device and displays it on the screen of the user's smartphone or computer. As output, the user can check the latest task list and their emotional state. Specifically, the recalculated task list is saved using tasks.to_json('updated_task_list.json') and sent to the device.
[1175] (Application example 2)
[1176] 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."
[1177] While traditional task management systems excel at managing users' schedules and task progress, they lack the ability to dynamically adjust tasks based on the user's emotional state. This can lead to excessive strain on users, which can lead to decreased productivity and increased stress. User fatigue and stress can be particularly serious in high-stress work environments such as factories.
[1178] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1179] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting task priorities and content based on the user's emotional state. This makes it possible to appropriately adjust task loads according to the user's emotional state, allowing the user to perform work efficiently without feeling excessive stress or fatigue.
[1180] The "means for acquiring user schedule information" is a function for collecting schedule and calendar information set in advance by the user through sensors or data communication.
[1181] The "means for analyzing user task information and setting priorities" is a function for determining priorities based on the importance and deadlines of tasks set by the user, and for efficiently managing them.
[1182] The "means for allowing the user to check the progress of the task" is a function that provides an interface for the user to report the progress of the current task.
[1183] The "means for updating the task list based on progress status" is a function that automatically updates the task list based on task progress information received from the user and rearranges the next task to be done.
[1184] The "means for presenting the task list and progress status to the user" is a function that visually presents the latest task list and its progress status to the user, allowing the user to grasp the current work status.
[1185] The "means for recognizing the user's emotional state" is a function that analyzes the user's psychological state from facial expressions, voice, etc., and identifies the emotion.
[1186] The "means for adjusting the priority and content of tasks based on the emotional state" is a function for appropriately managing the user's workload by changing the priority and content of tasks according to the user's emotional state.
[1187] The system for implementing this invention is composed of four elements: a server, a terminal, a user, and an emotion engine. The specific configuration and operation of the system will be explained below.
[1188] System Hardware and Software
[1189] server:
[1190] Hardware used: High performance computer server
[1191] Software used: Database management system, API communication library (e.g. Requests)
[1192] Device:
[1193] Hardware used: smart glasses, smartwatch, PC, smartphone
[1194] Software used: Task management applications, facial recognition software (e.g., OpenCV)
[1195] User:
[1196] Devices for operating the interface: smart glasses, smartwatch, computer, smartphone
[1197] Emotion Engine:
[1198] Hardware used: Camera, Microphone
[1199] Software used: Emotion recognition library (e.g., EmotionRecognizer)
[1200] Program processing overview
[1201] The server periodically obtains the user's schedule information every morning. This includes using an API communication library to collect information from a schedule management application. The obtained information is stored in a database. The server analyzes the stored data, extracts task start times, end times, importance, etc., and sets priorities. It then generates a task list and sends it to the device.
[1202] The server periodically (e.g., 10:00 AM, 2:00 PM) sends notifications to the terminal to ask the user about the progress of the task. The user can input the current progress through the terminal. This information is sent to the server, and the task list is updated based on the progress.
[1203] The emotion engine analyzes the user's emotional state through facial recognition and voice analysis. The analysis results are sent to the server, which dynamically adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server may postpone less urgent tasks.
[1204] Specific examples
[1205] Example 1: Morning task review
[1206] At 6:00 AM, the server retrieves schedule information and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1207] Example 2: Checking progress during the day
[1208] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1209] Example 3: Recognizing emotional states
[1210] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1211] Example 4: Final check in the evening
[1212] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1213] Example prompts for input to a generative AI model:
[1214] "Describe an application that monitors the emotional state of factory workers in real time and automatically adjusts task priorities and methods based on their emotional state. If a worker becomes stressed, the system immediately relieves the worker's workload and ensures safety."
[1215] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1216] Step 1:
[1217] Get user schedule information
[1218] The server periodically obtains the user's schedule information every morning. Specifically, it uses the API communication library to collect data from the user's schedule management application. This data includes information about tasks and events scheduled for the user that day. The obtained information is stored in a database on the server.
[1219] Input: User's schedule information
[1220] Output: Schedule information stored in the database
[1221] Step 2:
[1222] Parsing task information and setting priorities
[1223] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. It then performs data calculations to prioritize the tasks and generates a prioritized task list, taking into account the urgency and importance of the tasks.
[1224] Input: Schedule information stored in the database
[1225] Output: A prioritized task list
[1226] Step 3:
[1227] Sending and Viewing Task Lists
[1228] The server sends the generated task list to the terminal, which displays it to the user. The user can check the displayed task list and understand the tasks that need to be done today.
[1229] Input: A prioritized task list
[1230] Output: The task list presented to the user
[1231] Step 4:
[1232] Checking task progress
[1233] The server periodically sends notifications to the device during the day (e.g., 10:00 AM and 2:00 PM) to let the user check their progress. The user inputs their progress through smart glasses or a smart watch. This input information is sent to the server.
[1234] Input: User progress input
[1235] Output: Updated progress information in the server
[1236] Step 5:
[1237] Update the task list
[1238] The server recalculates the task list based on the progress information and reprioritizes tasks as needed, taking into account any unfinished or newly added tasks.
[1239] Input: User progress information
[1240] Output: Recalculated task list
[1241] Step 6:
[1242] Recognition of emotional states
[1243] The emotion engine uses facial recognition and voice analysis of the user through the camera and microphone to analyze their emotional state, using an emotion recognition library, and the analysis results are sent to the server.
[1244] Input: User's facial image and voice data
[1245] Output: Perceived emotional state
[1246] Step 7:
[1247] Task Coordination
[1248] The server adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server postpones less urgent tasks. The results of this adjustment are then sent back to the terminal and presented to the user.
[1249] Input: User's emotional state
[1250] Output: Reconciled task list
[1251] Step 8:
[1252] Final check of the day
[1253] The server sends a notification to the user in the evening to finalize the day's task list. The user inputs the progress of all tasks, and the server creates a progress report based on this. The report, which includes the analysis results of the emotion engine and provides advice, is displayed on the terminal.
[1254] Input: Daily task progress
[1255] Output: Progress report and advice
[1256] 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.
[1257] 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.
[1258] 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.
[1259] [Fourth embodiment]
[1260] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1261] 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.
[1262] 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).
[1263] 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.
[1264] 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.
[1265] 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).
[1266] 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.
[1267] 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.
[1268] 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.
[1269] 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.
[1270] 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.
[1271] 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.
[1272] 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."
[1273] This invention is a system designed to automate user task management and enable tasks to be completed efficiently. This system is composed of three entities: a server, a terminal, and a user. Specific operations are explained below in natural language.
[1274] System configuration
[1275] 1. Server: Acquires and analyzes user schedule and task information, sets priorities, checks user progress, and updates the task list as needed.
[1276] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user.
[1277] 3. User: Performs tasks and enters progress.
[1278] Program processing overview
[1279] Data Acquisition
[1280] The server periodically acquires the user's calendar information and ToDo list data every morning.
[1281] The data thus obtained is stored in a database.
[1282] Task analysis and organization
[1283] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[1284] Based on this information, priorities are set and a task list is generated.
[1285] The generated task list is sent to the terminal and notified to the user.
[1286] Check your progress
[1287] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[1288] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[1289] Progress-based adjustments
[1290] The server receives user input and updates the progress.
[1291] Recalculate and reprioritize your task list as needed.
[1292] Task and progress presentation
[1293] The updated task list and progress status are sent to the terminal and presented to the user.
[1294] Specific examples
[1295] Example 1: Morning task review
[1296] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1297] Example 2: Checking progress during the day
[1298] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1299] Example 3: Final check in the evening
[1300] At 5:00 PM, the server notifies the user at the end of the day to do a final check of today's task list. The user enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to the user, who can use it to plan the next day's tasks.
[1301] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[1302] The processing flow will be explained below.
[1303] Step 1:
[1304] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[1305] Step 2:
[1306] The server analyzes the schedule and task information stored in the database, extracting information such as the start time, end time, and priority of each task.
[1307] Step 3:
[1308] The server prioritizes tasks based on the analyzed information, creating a task list based on importance and urgency, and sorting them by priority.
[1309] Step 4:
[1310] The server sends the generated task list to the terminal and sends a notification to the user to confirm the morning tasks. The terminal displays the task list to the user and prompts the user to confirm the tasks to be done today.
[1311] Step 5:
[1312] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[1313] Step 6:
[1314] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[1315] Step 7:
[1316] The server analyzes the progress information received from the user, updates the task list based on the progress, and recalculates priorities as necessary.
[1317] Step 8:
[1318] The server sends the updated task list to the terminal, which displays the new task list to the user and indicates the next task to be performed.
[1319] Step 9:
[1320] The server sends a notification to the user again at 2:00 PM asking about the task progress. The terminal displays the progress check interface to the user again.
[1321] Step 10:
[1322] The user again inputs their current progress into the terminal, which then sends this input to the server.
[1323] Step 11:
[1324] The server updates the task list based on the received progress information, recalculates the priorities, and sends the updated task list to the terminal.
[1325] Step 12:
[1326] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[1327] Step 13:
[1328] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[1329] Step 14:
[1330] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that is stored in a database.
[1331] Step 15:
[1332] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[1333] Example 1
[1334] 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."
[1335] Conventional task management systems require users to manually create task lists and track progress, making efficient task management difficult. Furthermore, there was a lack of a way to accurately set task importance and priority, which hindered work efficiency. Furthermore, progress checks throughout the day were often inadequate, leading to delayed task readjustments.
[1336] 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.
[1337] In this invention, the server includes a means for acquiring user schedule information, a means for analyzing the acquired data to extract the start time, end time, and importance of tasks, and a means for setting priorities and generating a task list, thereby enabling users to efficiently manage tasks and check and adjust the progress of tasks in real time.
[1338] A "user" is an individual or organization that uses this system to manage tasks.
[1339] "Schedule information" refers to information about tasks and events included in a user's daily schedule or to-do list.
[1340] The "start time of a task" is information indicating the time at which a specific task is to be started.
[1341] "Task end time" is information indicating the time at which a specific task ends.
[1342] "Importance" is an index that indicates the priority and urgency of a task.
[1343] "Priority" is a criterion for determining the order in which multiple tasks are performed.
[1344] A "task list" refers to a list of tasks that a user must complete.
[1345] A "server" is a computer system that plays a central role in a task management system and performs tasks such as data analysis and task list generation.
[1346] A "terminal" is a device that a user uses to communicate with the server, display a task list, and enter progress.
[1347] "Progress" is information that indicates the degree of achievement or completion of a task.
[1348] "Recalculating" is the process of re-establishing task lists and priorities based on progress and other changes.
[1349] "Notification" is a message that conveys information to the user, such as checking the progress of a task or updating the task list.
[1350] This invention is a system designed to automate user task management and enable efficient task execution. This system consists of three components: a server, a terminal, and a user. The detailed functions and operations of the system are explained below.
[1351] Server Operation
[1352] The server is programmed using Python and plays a central role in task management. The server's specific functions are as follows:
[1353] 1. The user's schedule information is periodically retrieved every morning at 6:00 AM using the Google Calendar API.
[1354] 2. Analyze the captured data and extract the task start time, end time, and importance using the pandas library.
[1355] 3. Prioritize tasks based on the extracted information and generate a task list.
[1356] 4. The generated task list is sent to the device via the REST API.
[1357] 5. Send progress notifications to the device periodically throughout the day using Firebase Cloud Messaging.
[1358] 6. Recalculate the task list based on progress and reprioritize using scikit-learn.
[1359] 7. The updated task list and progress status are sent to the device and presented to the user.
[1360] Device behavior
[1361] The device has an interface developed in React Native and offers the following features:
[1362] 1. Display the task list sent from the server.
[1363] 2. Display progress confirmation notifications as push notifications.
[1364] 3. The progress information entered by the user is sent to the server in real time.
[1365] 4. Redisplay updated task lists and progress.
[1366] The operation of the device is designed to be intuitive for the user, helping them to manage their tasks efficiently.
[1367] User operations
[1368] The user does the following:
[1369] 1. Check the task list displayed on your device and perform the task.
[1370] 2. Receive progress confirmation notifications and enter your current progress on your device.
[1371] 3. Check the updated task list and progress and complete the next task.
[1372] Specific examples
[1373] Example 1: Morning task review
[1374] The server retrieves schedule information using the Google Calendar API at 6:00 AM. The retrieved data is saved in formats such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)." The server creates a task list based on this information, prioritizes it, and sends it to the device. The device displays the task list to the user, allowing them to confirm the tasks for the day.
[1375] Example 2: Checking progress during the day
[1376] At 10:00 AM, the server uses Firebase Cloud Messaging to send a notification to the user asking, "What's the status of creating materials for business meeting X?" The user enters "30% progress" and sends this information to the server. The server reanalyzes the task list based on the progress and updates the priority.
[1377] Example 3: Final check in the evening
[1378] At 5:00 PM, the server sends the user a notification to finalize today's task list. The user enters "80% of all tasks completed," and the server generates a progress report based on this information. The terminal displays this report to the user, allowing the user to plan their tasks for the next day.
[1379] Example prompts for generative AI models
[1380] "Check today's task list. What time is the next one due?"
[1381] "Please tell us your progress. What percentage of progress are you at now?"
[1382] "What is tomorrow's most important task?"
[1383] The above is a detailed description of the embodiment of the present invention. This system allows users to efficiently manage their daily work, and allows them to check and adjust the progress of tasks in real time.
[1384] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1385] Step 1:
[1386] The server retrieves the user's event information every morning at 6:00 AM. Using the Google Calendar API, it sends a request to "GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events" to retrieve the user's calendar information. It receives the JSON format data returned by the API as input and stores it in a MySQL database. The database now stores data such as "Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Project planning (10:00 AM - 12:00 PM, importance: medium)."
[1387] Step 2:
[1388] The server analyzes the schedule information stored in the database. It uses the Python pandas library to retrieve data from the database and convert it into a data frame. Using the schedule information from the database as input, it performs calculations to extract attributes such as start time, end time, and importance. The analyzed data is obtained as output. This data includes information such as the start time of "Preparing for a meeting" being 8:00 AM, the end time being 9:00 AM, and the importance being high.
[1389] Step 3:
[1390] The server generates a task list based on the extracted information. To set priorities, it uses a machine learning algorithm using scikit-learn. Based on the analyzed data as input, it calculates the priority by taking into account the importance and time frame of each task. As output, it generates a prioritized task list. This list will be in the form of, for example, "Priority 1: Meeting preparation (8:00 AM - 9:00 AM, importance: high)" and "Priority 2: Project planning (10:00 AM - 12:00 PM, importance: medium)."
[1391] Step 4:
[1392] The server sends the generated task list to the device via REST API. It takes the prioritized task list as input and makes an HTTP POST request to send it to the device. As output, the task list is sent to the device, which receives it. As a result, the user can check today's task list on the device.
[1393] Step 5:
[1394] The terminal displays the task list sent from the server to the user. It receives the prioritized task list from the server as input and displays it on the user interface using React Native. As output, the user can visually check the task list. Here, the task list screen displays items such as "Priority 1: Meeting preparation (8:00 AM - 9:00 AM)" and "Priority 2: Project planning (10:00 AM - 12:00 PM)."
[1395] Step 6:
[1396] The server periodically sends progress confirmation notifications to the device throughout the day. For example, at 10:00 AM and 2:00 PM, Firebase Cloud Messaging is used to send notifications prompting the user to check the progress. The message text for the progress confirmation notification is set as input, and a push notification request is made at the specified time. The output is a notification displayed on the device saying, "What is the status of creating materials for business meeting X?"
[1397] Step 7:
[1398] The user receives a progress confirmation notification displayed on the terminal and enters the current progress. For example, they enter "30% progress" into the React Native-based progress input screen. The progress information entered by the user as input is sent to the terminal and forwarded to the server. The progress information is sent to the server as output.
[1399] Step 8:
[1400] The server recalculates the task list based on the progress information received from the user. It reevaluates the importance and priority of tasks based on the progress status and recalculates using scikit-learn. It performs calculations to set new priorities based on the progress status data as input. As output, it generates an updated task list and sends it back to the device.
[1401] Step 9:
[1402] The device redisplays the updated task list. To present the user with the new prioritized task list, it retrieves the data from the server and re-renders the screen in React Native. It has the updated task list as input and displays the latest task list to the user as output. The user can then perform their next task based on this updated information.
[1403] (Application example 1)
[1404] 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."
[1405] Conventional task management systems require users to manually update status and set task priorities, which reduces work efficiency. Furthermore, it is difficult to monitor progress in real time and manage tasks appropriately when managing work within a factory. This often leads to work delays and reduced productivity.
[1406] 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.
[1407] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for monitoring the progress of factory work and updating it in real time, and means for managing factory workers and tasks. This enables users and factory workers to efficiently perform tasks, grasp the progress in real time, and manage tasks appropriately.
[1408] "User schedule information" is information about the time allocation of various events and tasks scheduled by the user.
[1409] "Task information" is detailed information about various tasks and works that a user must perform.
[1410] "Priority" is information that indicates the order in which tasks should be handled based on the importance and urgency of the tasks.
[1411] "Progress" is information indicating the degree of completion and progress of a task.
[1412] A "task list" is a list of tasks that a user must perform.
[1413] "Factory work" refers to the work and tasks associated with the manufacturing process.
[1414] "Factory work progress" is information about the manufacturing process and the degree of completion and progress of work within the factory.
[1415] A "server" refers to a central device that stores data and responds to inquiries from users and terminals.
[1416] A "terminal" is a device that is directly used by a user and is used to display a task list and input progress status.
[1417] "Task analysis" refers to the process of breaking down, organizing, and understanding acquired task information.
[1418] "Real time" means that processing occurs at the exact moment an event occurs.
[1419] "Workers" refers to people who perform various tasks within a factory.
[1420] The present invention is a system that improves the efficiency of user task management and realizes real-time progress management of factory manufacturing processes. This system is composed of three entities: a server, a terminal, and a user. Below, we will explain how this system is specifically implemented.
[1421] System configuration
[1422] 1. Server: The server is responsible for acquiring, analyzing, and prioritizing user schedule and task information. This generates a task list and updates it in real time based on the progress. The server also monitors the progress of work within the factory and recalculates tasks as necessary.
[1423] 2. Terminal: The terminal is responsible for presenting the task list and progress status to the user. It also receives input from the user (e.g., task progress status) and sends that information to the server. Terminals include smartphones, tablets, and operation panels used directly in factories.
[1424] 3. Users: Users include factory workers and managers. They perform tasks based on the task list and enter their progress via terminals.
[1425] Program processing
[1426] Data Acquisition
[1427] Every morning, the server periodically retrieves the user's calendar information and to-do list data using the API, and stores this data in a database.
[1428] Task analysis and organization
[1429] The server analyzes the stored data and extracts information such as the start time, end time, and importance of the tasks. This information is used to set priorities and generate a task list. The generated task list is then sent to the device and notified to the user.
[1430] Check your progress
[1431] The server periodically asks the user about the progress of the task (e.g., 10:00 AM, 2:00 PM). This notification is displayed on the terminal, and the user inputs their current progress. The input information is then sent back to the server.
[1432] Progress-based adjustments
[1433] The server receives progress information from the user, recalculates the task list as needed, and reprioritizes it. The recalculated task list is then sent back to the terminal and presented to the user.
[1434] Task and progress presentation
[1435] The updated task list and progress are displayed to the user through the device's UI (user interface).
[1436] Hardware and software used
[1437] Server: Cloud-based server (e.g., Amazon Web Services, Microsoft Azure, etc.)
[1438] Devices: smartphones, tablets, operation panels, etc.
[1439] Software: Various APIs (for data acquisition), data analysis software (e.g., Python, R, etc.), databases (e.g., PostgreSQL, MySQL, etc.)
[1440] Specific examples
[1441] Example 1: Checking morning tasks
[1442] The server retrieves schedule information at 9:00 AM and extracts tasks such as "machine maintenance" and "quality inspection" from User A's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the terminal. The terminal displays the task list to User A, allowing him to confirm the tasks that need to be done today.
[1443] Example 2: Checking progress during the day
[1444] At 1:00 PM, the server asks User B, "What's the status of the part assembly?" and a notification appears on the device asking for progress. User B enters "50% complete" and sends this information to the server. The server recalculates the task list based on the progress and updates the priorities.
[1445] Example 3: Final check in the evening
[1446] At 5:00 PM, the server notifies User C to do a final check of today's task list. User C enters "80% of all tasks completed," and the server creates a progress report. This report is sent to the terminal and displayed to User C. User C uses this to plan the next day's tasks.
[1447] Prompt Sentence Examples
[1448] Create a task management system for robots used in factories. This system will acquire and analyze users' calendar information and to-do list data, set priorities, generate task lists, periodically check progress, and update the task list based on that information. The progress will be reported to the server, and finally, the task status will be sent to the server at the end of the day.
[1449] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1450] Step 1:
[1451] Every morning, the server periodically uses an API to retrieve the user's calendar information and to-do list data. This data is stored in the server's database. The input is the user's calendar information and to-do list data, and the output is the task information stored in the database. This process is performed using software such as Python and a database (e.g., PostgreSQL, MySQL).
[1452] Step 2:
[1453] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. Then, it sets the task priority based on this information. The input is the task information stored in the database, and the output is a prioritized task list. Data analysis software (e.g., Python, R) is used for this process.
[1454] Step 3:
[1455] The server sends the generated task list to the device. The device notifies and displays the task list to the user. The input is a prioritized task list, and the output is a task list displayed on the user's device. This process uses a communication protocol (e.g., HTTP, MQTT) and a UI framework.
[1456] Step 4:
[1457] The server periodically sends notifications throughout the day (e.g., 10:00 AM, 2:00 PM) to the user to check the progress of the task. These notifications are displayed on the device, and the user enters their current progress. The input is the notification to confirm, and the output is the progress input from the user. Notifications are sent using a push notification service (e.g., Firebase Cloud Messaging) or similar.
[1458] Step 5:
[1459] The server receives the progress information sent from the terminal, recalculates the task list based on the progress, and re-prioritizes the tasks. The input is the progress information from the user, and the output is the recalculated task list. This process includes recalculation algorithms and database operations.
[1460] Step 6:
[1461] The server retransmits the recalculated task list to the terminal and presents the latest task list to the user. The input is the recalculated task list, and the output is the latest task list displayed on the user's terminal. This process also uses communication protocols and UI frameworks.
[1462] Step 7:
[1463] At the end of the day, the server creates a progress report and notifies the user to perform a final check. The user inputs the final progress status and it is sent to the server. The input is the final status of the tasks for the day, and the output is the progress report. This process uses a template engine and notification service to generate the report.
[1464] Step 8:
[1465] The user creates a task plan for the next day based on the progress report. The input is the progress report, and the output is the task plan for the next day. This is a manual process performed directly by the user, but the system may also provide guidelines and advice to assist in planning.
[1466] 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.
[1467] This invention is a system designed to automate user task management and enable efficient task execution. It also has the ability to recognize the user's emotional state and adjust tasks accordingly. This system consists of four components: a server, a terminal, a user, and an emotion engine. The specific operation is explained below in natural language.
[1468] System configuration
[1469] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[1470] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the function of receiving input from the user. It also displays the output of the emotion engine.
[1471] 3. User: Performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[1472] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[1473] Program processing overview
[1474] Data Acquisition
[1475] The server periodically acquires the user's calendar information and ToDo list data every morning.
[1476] The data thus obtained is stored in a database.
[1477] Task analysis and organization
[1478] The server analyzes the stored data and extracts the task's start time, end time, importance, etc.
[1479] Based on this information, priorities are set and a task list is generated.
[1480] The generated task list is sent to the terminal and notified to the user.
[1481] Check your progress
[1482] Periodically throughout the day (e.g., 10:00 AM and 2:00 PM), the server asks the user about the progress of the task.
[1483] A progress confirmation notification is displayed on the terminal, and the user inputs the current progress status.
[1484] Recognition of emotional states
[1485] The emotion engine analyzes the user's emotions through facial recognition and voice analysis.
[1486] The analysis results are sent to the server to confirm the user's emotional state.
[1487] Progress-based adjustments
[1488] The server receives user input and emotional state information and updates task progress.
[1489] Recalculate and reprioritize your task list as needed, and take measures such as deferring less urgent tasks to reduce user burden based on your emotional state.
[1490] Task and emotion presentation
[1491] The updated task list and emotional state are sent to the terminal and presented to the user.
[1492] Specific examples
[1493] Example 1: Morning task review
[1494] For example, the server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1495] Example 2: Checking progress during the day
[1496] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1497] Example 3: Recognizing emotional states
[1498] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1499] Example 4: Final check in the evening
[1500] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1501] The above is a detailed description of an embodiment of the present invention. This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[1502] The processing flow will be explained below.
[1503] Step 1:
[1504] The server retrieves the user's calendar and to-do list data via API every morning at 6:00 AM, and stores the retrieved data in a database.
[1505] Step 2:
[1506] The server analyzes the schedule and task information stored in the database and extracts information such as the start time, end time, and priority of each task.
[1507] Step 3:
[1508] The server prioritizes tasks based on the analyzed information and generates a task list according to importance and urgency. The generated task list is sent to the terminal and notified to the user.
[1509] Step 4:
[1510] The device displays a task list created at 6:15 AM and asks the user to confirm the tasks that need to be done today.
[1511] Step 5:
[1512] The server sends a notification to the user at 10:00 AM asking about the progress of the task. The terminal displays a progress check interface to the user.
[1513] Step 6:
[1514] The user inputs the current progress into the terminal. For example, the user inputs "30% progress." The terminal sends this input to the server.
[1515] Step 7:
[1516] The server analyzes the progress information received from the user, updates the task list based on the progress status, and recalculates priorities as necessary.
[1517] Step 8:
[1518] The server sends the updated task list to the terminal, and the terminal displays the new task list to the user.
[1519] Step 9:
[1520] The emotion engine will analyze the user's emotions through facial recognition and voice analysis at 2:00 PM, and send the analysis results to the server to confirm the user's emotional state.
[1521] Step 10:
[1522] The server also takes into account the user's emotional state and updates the task progress again. For example, if the user is feeling stressed, it may postpone less urgent tasks.
[1523] Step 11:
[1524] The server sends a new task list that reflects the user's emotional state to the terminal, which then displays the new task list to the user and provides appropriate advice.
[1525] Step 12:
[1526] The server sends a notification to the user at 5:00 PM to confirm the progress of the task for the day. The terminal displays the interface for the final progress check to the user.
[1527] Step 13:
[1528] The user enters the final progress of the day's tasks into the device, for example, "80% of all tasks completed." The device then sends this data to the server.
[1529] Step 14:
[1530] The server generates a daily progress report, matching completed and incomplete tasks and creating a progress report that includes advice based on the emotion engine's analysis.
[1531] Step 15:
[1532] The server generates progress reports and sends them to the terminal, which displays the final report to the user, providing useful information for planning the next day's tasks.
[1533] Example 2
[1534] 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."
[1535] Conventional task management systems can manage users' schedules and task progress, but they cannot recognize users' emotional states and adjust tasks accordingly. This can lead to stress and excessive workloads for users. There is a need to solve this problem and realize more efficient and user-friendly task management.
[1536] 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. In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting the task list based on the user's emotional state. This reduces the burden on the user and enables more flexible and less stressful task management.
[1537] "User schedule information" is information about the date, time, and location of appointments, meetings, etc. managed by the user.
[1538] "User task information" is detailed information about the work or tasks that a user must perform.
[1539] The "means for setting priority" is a means for evaluating the importance and urgency of each task based on the acquired task information, and determining the order of execution.
[1540] The "means for confirming the progress of the task with the user" is a means for having the user input information about the progress of the current task and collecting that information.
[1541] The "means for updating the task list based on the progress status" refers to a means for reevaluating the task list and priorities based on the progress status of the tasks obtained from the user, and making any necessary changes.
[1542] The "means for presenting a task list and progress status to a user" refers to a means for displaying the latest task list and task progress status on a user's device.
[1543] The "means for recognizing the user's emotional state" is a means for analyzing the user's emotions from their facial expressions and voice, and recognizing their psychological state, such as stress or fatigue.
[1544] The "means for adjusting the task list based on the emotional state" refers to a means for changing the priority and schedule of tasks according to the recognized emotional state of the user, thereby reducing the burden on the user.
[1545] This invention is a system designed to automate user task management and enable efficient task execution, and also has the ability to recognize the user's emotional state and adjust tasks based on that. This system consists of four components: a server, a terminal, a user, and an emotion engine.
[1546] System configuration
[1547] 1. Server: Acquires and analyzes the user's schedule and task information, sets priorities, checks the user's progress, and updates the task list as needed. It also recognizes the user's emotional state and adjusts the task list based on that information.
[1548] 2. Terminal: Provides the user with an interface for task lists and progress checks, and has the ability to receive input from the user. It also displays the output of the emotion engine.
[1549] 3. User: performs tasks, inputs progress, and expresses emotions to the emotion engine through facial recognition and voice input.
[1550] 4. Emotion engine: Analyzes the user's emotions through facial recognition and voice analysis, and sends the results to the server.
[1551] Data Acquisition
[1552] The server periodically retrieves the user's calendar information and to-do list data every morning. For example, it uses the Google Calendar API or Microsoft To Do API, and performs authentication using OAuth 2.0. The retrieved data is received in JSON format and stored in a MySQL database.
[1553] Task analysis and organization
[1554] The server analyzes the stored data and extracts the start time, end time, and importance of the tasks. For this purpose, it uses Python's Pandas to format and analyze the data. Based on the analyzed data, it sets priorities and generates a task list, which is then sent to the terminal and notified to the user.
[1555] Check your progress
[1556] Periodically throughout the day, the server asks the user about their progress on the task, for example at 10:00 AM and 2:00 PM. The user enters their progress on the device, and the information is sent to the server and stored in a database.
[1557] Recognition of emotional states
[1558] The emotion engine analyzes the user's emotions through facial recognition and voice analysis. This process uses OpenFace and voice analysis services. The analysis results are sent to the server and used as information on the user's emotional state.
[1559] Progress-based adjustments
[1560] The server receives user input and emotional state information and updates task progress. Using a Python script, it recalculates the task list and adjusts priorities as needed. If the emotional state is "stressed," it postpones less urgent tasks.
[1561] Task and emotion presentation
[1562] The updated task list and emotional state are sent to the device and presented to the user, who can then view them on their smartphone or computer screen, enabling efficient task management.
[1563] Specific examples
[1564] Example 1: Morning task review
[1565] The server retrieves schedule information at 6:00 AM and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1566] Example 2: Checking progress during the day
[1567] At 10:00 AM, the server asks the user, "What is the progress of creating materials for business meetings?" and sends a notification to the terminal to check the progress. The user enters "30% progress" into the terminal, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1568] Example 3: Recognizing emotional states
[1569] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1570] Example 4: Final check in the evening
[1571] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1572] This system allows users to efficiently manage their daily work and flexibly adjust tasks according to their emotional state.
[1573] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1574] Step 1:
[1575] Every morning, the server periodically retrieves the user's schedule information and to-do list data. The input is JSON-formatted data obtained from the Google Calendar API and Microsoft To Do API. The server authenticates using OAuth2.0 and sends a GET request. As output, the retrieved data is stored in a MySQL database. Specifically, the server sends a request such as GET https: / / www.googleapis.com / calendar / v3 / calendars / primary / events and stores the received JSON data in the database.
[1576] Step 2:
[1577] The server retrieves the user's schedule information and to-do list data from the database. The input is the task list data obtained by an SQL query. The server executes a query such as SELECT FROM calendar_data WHERE user_id = 'user123' to retrieve the data from the database. As output, the retrieved data is converted into a Python Pandas data frame. Specifically, the start time, end time, importance, etc. of the task are extracted and saved in each column of the data frame.
[1578] Step 3:
[1579] The server sets task priorities based on the data it obtains and generates a task list. The input is a data frame containing schedule information and to-do list data. The server uses Pandas to set priorities, for example, tasks['priority'] = tasks['importance'].apply(lambda x: 'High' if x > 5 else 'Low'). The generated task list is saved as output in JSON format. Specifically, the task list is saved in JSON format using tasks.to_json('task_list.json') and the file is sent to the terminal.
[1580] Step 4:
[1581] The server periodically checks the task progress with the user. The input is the task list and the current time. The server sends a progress confirmation message to the user's device. For example, at 10:00 AM, it sends a notification asking, "What is the progress of creating materials for business negotiations?" The output is the progress input from the user, which is returned to the server. Specifically, the user enters "progress is 30%" into the device, and that information is sent to the server and stored in the database.
[1582] Step 5:
[1583] The server uses the emotion engine to understand the user's emotional state. The input is the user's facial recognition data and voice data. The emotion engine uses OpenFace to recognize the face and uses the voice analysis service to analyze the emotion. The analysis results are sent to the server as output. Specifically, it analyzes the face image as in openface -f user_image.jpg, and uses the voice data for emotion analysis.
[1584] Step 6:
[1585] The server updates the task list based on the progress and emotional state. The input is the analysis result of the user's progress information and emotional state. The server uses a Python script to recalculate the task list and adjust priorities as necessary. As output, an updated task list is generated and sent to the device. Specifically, if the emotional state is "stressed", the priority is adjusted as follows: tasks['priority'] = tasks['priority'].apply(lambda x: 'Low' if x == 'Low' else 'Medium').
[1586] Step 7:
[1587] The updated task list and emotional state are sent to the device and presented to the user. The input is the updated task list and emotional state data. The server sends this data to the device and displays it on the screen of the user's smartphone or computer. As output, the user can check the latest task list and their emotional state. Specifically, the recalculated task list is saved using tasks.to_json('updated_task_list.json') and sent to the device.
[1588] (Application example 2)
[1589] 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."
[1590] While traditional task management systems excel at managing users' schedules and task progress, they lack the ability to dynamically adjust tasks based on the user's emotional state. This can lead to excessive strain on users, which can lead to decreased productivity and increased stress. User fatigue and stress can be particularly serious in high-stress work environments such as factories.
[1591] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1592] In this invention, the server includes means for acquiring user schedule information, means for analyzing user task information and setting priorities, means for confirming task progress with the user, means for updating the task list based on the progress, means for presenting the task list and progress to the user, means for recognizing the user's emotional state, and means for adjusting task priorities and content based on the user's emotional state. This makes it possible to appropriately adjust task loads according to the user's emotional state, allowing the user to perform work efficiently without feeling excessive stress or fatigue.
[1593] The "means for acquiring user schedule information" is a function for collecting schedule and calendar information set in advance by the user through sensors or data communication.
[1594] The "means for analyzing user task information and setting priorities" is a function for determining priorities based on the importance and deadlines of tasks set by the user, and for efficiently managing them.
[1595] The "means for allowing the user to check the progress of the task" is a function that provides an interface for the user to report the progress of the current task.
[1596] The "means for updating the task list based on progress status" is a function that automatically updates the task list based on task progress information received from the user and rearranges the next task to be done.
[1597] The "means for presenting the task list and progress status to the user" is a function that visually presents the latest task list and its progress status to the user, allowing the user to grasp the current work status.
[1598] The "means for recognizing the user's emotional state" is a function that analyzes the user's psychological state from facial expressions, voice, etc., and identifies the emotion.
[1599] The "means for adjusting the priority and content of tasks based on the emotional state" is a function for appropriately managing the user's workload by changing the priority and content of tasks according to the user's emotional state.
[1600] The system for implementing this invention is composed of four elements: a server, a terminal, a user, and an emotion engine. The specific configuration and operation of the system will be explained below.
[1601] System Hardware and Software
[1602] server:
[1603] Hardware used: High performance computer server
[1604] Software used: Database management system, API communication library (e.g. Requests)
[1605] Device:
[1606] Hardware used: smart glasses, smartwatch, PC, smartphone
[1607] Software used: Task management applications, facial recognition software (e.g., OpenCV)
[1608] User:
[1609] Devices for operating the interface: smart glasses, smartwatch, computer, smartphone
[1610] Emotion Engine:
[1611] Hardware used: Camera, Microphone
[1612] Software used: Emotion recognition library (e.g., EmotionRecognizer)
[1613] Program processing overview
[1614] The server periodically obtains the user's schedule information every morning. This includes using an API communication library to collect information from a schedule management application. The obtained information is stored in a database. The server analyzes the stored data, extracts task start times, end times, importance, etc., and sets priorities. It then generates a task list and sends it to the device.
[1615] The server periodically (e.g., 10:00 AM, 2:00 PM) sends notifications to the terminal to ask the user about the progress of the task. The user can input the current progress through the terminal. This information is sent to the server, and the task list is updated based on the progress.
[1616] The emotion engine analyzes the user's emotional state through facial recognition and voice analysis. The analysis results are sent to the server, which dynamically adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server may postpone less urgent tasks.
[1617] Specific examples
[1618] Example 1: Morning task review
[1619] At 6:00 AM, the server retrieves schedule information and extracts tasks such as "meeting preparation" and "project planning" from the user's calendar. Based on this information, the server creates a task list, prioritizes it, and sends it to the device. The device then displays the task list to the user, allowing them to confirm the tasks they need to complete today.
[1620] Example 2: Checking progress during the day
[1621] At 10:00 AM, the server asks the user, "What's the status of creating materials for business negotiations?" and sends a notification to the device to check the progress. The user enters "30% progress" into the device, and this information is sent to the server. The server recalculates the task list based on the progress and updates the priorities.
[1622] Example 3: Recognizing emotional states
[1623] At 2:00 PM, the emotion engine determines through facial recognition and voice analysis that the user is feeling stressed. The analysis results are sent to the server, which then makes adjustments based on the results, such as postponing less urgent tasks.
[1624] Example 4: Final check in the evening
[1625] At 5:00 PM, the server notifies the user at the end of the day to check their task list. The user enters "80% of all tasks completed," and the server creates a progress report. The report, which includes advice based on the emotion engine's analysis, is then displayed on the device.
[1626] Example prompts for input to a generative AI model:
[1627] "Describe an application that monitors the emotional state of factory workers in real time and automatically adjusts task priorities and methods based on their emotional state. If a worker becomes stressed, the system immediately relieves the worker's workload and ensures safety."
[1628] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1629] Step 1:
[1630] Get user schedule information
[1631] The server periodically obtains the user's schedule information every morning. Specifically, it uses the API communication library to collect data from the user's schedule management application. This data includes information about tasks and events scheduled for the user that day. The obtained information is stored in a database on the server.
[1632] Input: User's schedule information
[1633] Output: Schedule information stored in the database
[1634] Step 2:
[1635] Parsing task information and setting priorities
[1636] The server analyzes the task information stored in the database and extracts the task start time, end time, importance, etc. It then performs data calculations to prioritize the tasks and generates a prioritized task list, taking into account the urgency and importance of the tasks.
[1637] Input: Schedule information stored in the database
[1638] Output: A prioritized task list
[1639] Step 3:
[1640] Sending and Viewing Task Lists
[1641] The server sends the generated task list to the terminal, which displays it to the user. The user can check the displayed task list and understand the tasks that need to be done today.
[1642] Input: A prioritized task list
[1643] Output: The task list presented to the user
[1644] Step 4:
[1645] Checking task progress
[1646] The server periodically sends notifications to the device during the day (e.g., 10:00 AM and 2:00 PM) to let the user check their progress. The user inputs their progress through smart glasses or a smart watch. This input information is sent to the server.
[1647] Input: User progress input
[1648] Output: Updated progress information in the server
[1649] Step 5:
[1650] Update the task list
[1651] The server recalculates the task list based on the progress information and reprioritizes tasks as needed, taking into account any unfinished or newly added tasks.
[1652] Input: User progress information
[1653] Output: Recalculated task list
[1654] Step 6:
[1655] Recognition of emotional states
[1656] The emotion engine uses facial recognition and voice analysis of the user through the camera and microphone to analyze their emotional state, using an emotion recognition library, and the analysis results are sent to the server.
[1657] Input: User's facial image and voice data
[1658] Output: Perceived emotional state
[1659] Step 7:
[1660] Task Coordination
[1661] The server adjusts the priority and content of tasks based on the user's emotional state. For example, if the user is feeling stressed, the server postpones less urgent tasks. The results of this adjustment are then sent back to the terminal and presented to the user.
[1662] Input: User's emotional state
[1663] Output: Reconciled task list
[1664] Step 8:
[1665] Final check of the day
[1666] The server sends a notification to the user in the evening to finalize the day's task list. The user inputs the progress of all tasks, and the server creates a progress report based on this. The report, which includes the analysis results of the emotion engine and provides advice, is displayed on the terminal.
[1667] Input: Daily task progress
[1668] Output: Progress report and advice
[1669] 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.
[1670] 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.
[1671] 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.
[1672] 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.
[1673] 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.
[1674] 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.
[1675] 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).
[1676] 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.
[1677] 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."
[1678] 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.
[1679] 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).
[1680] 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.
[1681] 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.
[1682] 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.
[1683] 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.
[1684] 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.
[1685] 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.
[1686] 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.
[1687] 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.
[1688] 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.
[1689] 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.
[1690] The following is further disclosed regarding the above embodiment.
[1691] (Claim 1)
[1692] A means for obtaining schedule information of a user;
[1693] A means for analyzing user task information and setting priorities;
[1694] a means for checking the user's progress on the task;
[1695] A means to update the task list based on progress;
[1696] a means for presenting the task list and progress to the user;
[1697] A system including:
[1698] (Claim 2)
[1699] 2. The system according to claim 1, wherein the schedule information is acquired periodically every morning.
[1700] (Claim 3)
[1701] 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day.
[1702] "Example 1"
[1703] (Claim 1)
[1704] A means for acquiring schedule information of a user;
[1705] A means for analyzing the acquired data to extract the start time, end time, and importance of the task;
[1706] a means for setting priorities and generating a task list;
[1707] means for transmitting the task list to a user's terminal;
[1708] A means of periodically checking with the user about the progress of the task;
[1709] A means to recalculate and reprioritize task lists based on progress;
[1710] A means of presenting updated task lists and progress on the device;
[1711] A system including:
[1712] (Claim 2)
[1713] 2. The system according to claim 1, wherein the schedule information is acquired periodically every morning.
[1714] (Claim 3)
[1715] 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day.
[1716] "Application Example 1"
[1717] (Claim 1)
[1718] A means for obtaining schedule information of a user;
[1719] A means for analyzing user task information and setting priorities;
[1720] a means for checking the user's progress on the task;
[1721] A means to update the task list based on progress;
[1722] a means for presenting the task list and progress to the user;
[1723] A means of monitoring and providing real-time updates on the progress of factory operations;
[1724] a means for managing factory workers and tasks;
[1725] A system including:
[1726] (Claim 2)
[1727] 2. The system according to claim 1, wherein the schedule information is acquired periodically every morning.
[1728] (Claim 3)
[1729] 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day.
[1730] "Example 2: Combining Emotion Engines"
[1731] (Claim 1)
[1732] A means for obtaining schedule information of a user;
[1733] A means for analyzing user task information and setting priorities;
[1734] a means for checking the user's progress on the task;
[1735] A means to update the task list based on progress;
[1736] a means for presenting the task list and progress to the user;
[1737] means for recognizing the emotional state of a user;
[1738] a means for adjusting a task list based on an emotional state;
[1739] A system including:
[1740] (Claim 2)
[1741] 2. The system according to claim 1, wherein the schedule information is acquired periodically every morning.
[1742] (Claim 3)
[1743] 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day.
[1744] "Application example 2 when combining emotion engines"
[1745] (Claim 1)
[1746] A means for obtaining schedule information of a user;
[1747] A means for analyzing user task information and setting priorities;
[1748] a means for checking the user's progress on the task;
[1749] A means to update the task list based on progress;
[1750] a means for presenting the task list and progress to the user;
[1751] means for recognizing the emotional state of a user;
[1752] A means of adjusting task priorities and content based on emotional state;
[1753] A system including:
[1754] (Claim 2)
[1755] 2. The system according to claim 1, wherein the schedule information is acquired periodically every morning.
[1756] (Claim 3)
[1757] 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day. [Explanation of symbols]
[1758] 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 obtaining schedule information of a user; A means for analyzing user task information and setting priorities; a means for checking the user's progress on the task; A means to update the task list based on progress; a means for presenting the task list and progress to the user; A system including:
2. The system according to claim 1 , wherein the schedule information is acquired periodically every morning.
3. 2. The system of claim 1, wherein the means for checking the user's progress sends notifications to the user periodically during the day.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A