system
The system addresses the challenge of utilizing free time between meetings by collecting data from various tools to suggest tasks, enhancing productivity by optimizing time management.
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
Users face challenges in effectively utilizing free time between meetings, leading to decreased productivity and increased overtime due to the difficulty in managing multiple tasks simultaneously.
A system that collects data from email, calendars, and task management tools to identify free time in a user's schedule and suggests appropriate tasks, allowing users to efficiently utilize this time by presenting task suggestions through a user interface.
The system enables users to make efficient use of their limited time, improving productivity by allowing them to complete tasks effectively between meetings and integrating schedule and task management.
Smart Images

Figure 2026041425000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern working life, users are forced to handle many meetings and tasks simultaneously, making time management extremely difficult. In particular, users are unable to effectively utilize the free time between meetings, resulting in decreased productivity and increased overtime. There is a need for a solution to this problem, allowing users to efficiently complete tasks within a limited time. [Means for solving the problem]
[0005] This invention provides a system that collects user data from email, calendars, and task management tools, analyzes that data, and identifies free time in the user's schedule. Specifically, the system accesses this data using the user's authentication information, analyzes the collected data, and calculates the amount of free time between meetings. It then suggests tasks suitable for the free time and presents them to the user. It also has a function to record the progress of tasks as they are completed. This allows users to effectively utilize the short time between meetings and improve their productivity.
[0006] "User" refers to an individual or organization that uses this system to manage schedules and tasks.
[0007] "Email" refers to a means of communication for sending and receiving text messages and files over the Internet or other computer networks.
[0008] A "calendar" is a tool for schedule management, and refers to a means for recording and managing time information such as meetings and appointments.
[0009] A "task management tool" refers to software or applications that allow users to record schedules and tasks and manage progress.
[0010] "Data" refers to information obtained from email, calendars, and task management tools, and specifically includes schedules, tasks, email content, etc.
[0011] "Free time" refers to a time period in which no meetings or appointments are scheduled on the user's schedule.
[0012] A "task" refers to a specific task or action that a user must perform, such as replying to emails, creating documents, or preparing for a meeting.
[0013] "Suggestion" refers to the act of presenting tasks suitable for spare time through advice or recommendations given by this system to the user.
[0014] "Authentication information" refers to user identification information required to access a system or service, and specifically includes a username, password, API key, etc.
[0015] "Analysis" refers to the process of calculating and evaluating schedules, task relationships, priorities, durations, etc. based on collected data.
[0016] "Progress" refers to the degree of completion or progress of a task performed by a user, and is information indicating how far a task has progressed at a particular point in time. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] The present invention is a system that collects data from email, calendars, and task management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate tasks. This system includes a server, a terminal, and a user interface.
[0039] Program processing
[0040] Data collection
[0041] The server first uses the user's credentials to access the data APIs of the email, calendar, and task management tools to collect various data, including information about appointments, open tasks, and emails stored in each tool.
[0042] Data analysis
[0043] The server analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings. The server also evaluates the required time and priority of the collected tasks.
[0044] Task suggestions
[0045] The server then lists tasks that can be performed within that time based on the analyzed time. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, while if you have 60 minutes or more of free time, it suggests creating documents or conducting detailed analysis.
[0046] Presenting to the user interface
[0047] The terminal displays the task suggestions sent from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks are rearranged within the available time.
[0048] Selecting and Running a Task
[0049] The user selects the task they want to perform from the presented task list. The selected task is again managed by the server, and the progress is recorded. When the task is completed, the progress is automatically reflected in the task management tool.
[0050] Specific examples
[0051] Example of input data
[0052] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0053] Email: 3 unread emails
[0054] Task management tool: 5 uncompleted tasks
[0055] Data collection and analysis
[0056] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00), then collects outstanding tasks from email and task management tools and estimates the time required for each task (e.g., 10 minutes required to reply to unread emails).
[0057] Example of a proposal task
[0058] 10:00-10:30: "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0059] 11:30-13:00: "Document preparation (30 minutes)", "Email organization (10 minutes)"
[0060] Presenting to the user interface
[0061] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the tasks suggested for each spare time.
[0062] Task Selection and Execution Example
[0063] The user selects "Create materials (30 minutes)" during the free time between 11:30 and 13:00.
[0064] The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0065] In this way, the present invention allows users to make efficient use of their limited time and improve their productivity.
[0066] The processing flow will be explained below.
[0067] Specific flow of program processing
[0068] Step 1: Collect data
[0069] A user logs in to the application.
[0070] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0071] The terminal transmits the acquired authentication information to the server.
[0072] The server uses these credentials to call each data API and collect schedule and task-related data, such as meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0073] Step 2: Analyze the data
[0074] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0075] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[0076] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[0077] Step 3: Propose a task
[0078] Based on the analysis results, the server lists tasks suitable for each spare time.
[0079] The server selects executable tasks based on the length of the free time and creates a list of suggestions. For example, a 30-minute free time might include "Replying to emails (10 minutes)" and "Checking JIRA tasks (15 minutes)," while a 90-minute free time might include "Creating documents (30 minutes)" and "Organizing emails (10 minutes)."
[0080] Step 4: Presenting the User Interface
[0081] The server sends the analysis results and a list of suggested tasks to the user interface.
[0082] The terminal displays the user's available time and a list of suggested tasks.
[0083] Step 5: Select and execute a task
[0084] The user selects the task they wish to perform from the displayed list of suggestions.
[0085] The terminal transmits the selected task information to the server.
[0086] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[0087] This allows users to efficiently perform appropriate tasks between meetings, improving their productivity. The system as a whole also unifies schedule and task management for users, improving efficiency.
[0088] Example 1
[0089] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0090] With conventional schedule management systems, users had to obtain information separately from multiple digital tools (email, calendars, task management tools), making it difficult to integrate them and efficiently utilize their free time. This made it difficult to achieve consistent task management to maximize user productivity.
[0091] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0092] In this invention, the server includes means for collecting data from email, schedule management tools, and work management tools used by the user, means for analyzing the data to identify free time in the user's time management, means for proposing tasks that can be performed during the free time, means for displaying the proposed tasks to the user, means for accessing the data using the user's authentication information, and means for recording the progress of the tasks and reflecting the progress in the work management tool. This allows the user to centrally manage information from multiple digital tools and efficiently utilize free time to perform tasks.
[0093] "User" refers to any individual or entity that uses the System.
[0094] "Email" means a digital form of communication message sent and received over the Internet.
[0095] A "schedule management tool" is a digital application or software that allows users to manage their schedules.
[0096] A "work management tool" is a digital application or software that allows users to manage the progress of tasks.
[0097] "Data collection means" are systems or mechanisms for capturing information from email, scheduling tools, and work management tools.
[0098] "Authentication information" refers to the identification information (e.g., user ID, password, OAuth token) required for a user to access a system.
[0099] A "means for analyzing data" is a system or mechanism for processing the collected data and evaluating free time in the user's schedule, task duration, priority, etc.
[0100] "Free time" is a time period in the user's schedule where no specific plans or tasks are set.
[0101] A "means for suggesting tasks" is a system or mechanism for suggesting tasks or activities that a user can perform in their free time based on the analysis results.
[0102] The "display means" refers to a device or interface for visually presenting information sent from the server to the user.
[0103] A "progress tracking means" is a system or mechanism for tracking the progress of a user's selected task and reflecting that information in an appropriate database or work management tool.
[0104] "Available work in available time" are tasks or activities that are expected to be completed within a particular available time period.
[0105] The present invention provides a system that collects data from emails, schedule management tools, and work management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate work. This system includes a server, a terminal, and a user interface.
[0106] System Configuration
[0107] server
[0108] The server uses the user's authentication information to obtain data from email, schedule management tools, and work management tools. Specifically, data is collected using various APIs, such as the Google (registered trademark) Calendar API, Microsoft (registered trademark) Outlook API, and Trello API.
[0109] The server analyzes the collected data and calculates free time based on the user's schedule using Python's pandas library and NLP techniques. This analysis evaluates the start and end times of users' meetings, task durations, and priorities.
[0110] Based on the analysis results, the server lists tasks that can be performed during the free time and ranks them in order of priority. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, but if you have 60 minutes or more, it suggests creating documents or conducting detailed analysis.
[0111] The server also continuously manages the progress of proposed work and automatically updates the work management tool with information when the work is completed.
[0112] Terminal
[0113] The device displays the task suggestions sent from the server to the user. The user interface is a web browser or smartphone app, and is composed of HTML, CSS, and JavaScript (registered trademark). The user can select the task they want to perform from the displayed task list.
[0114] User
[0115] The user selects the task they want to complete from the presented task list. The selected task is managed on the server, and its progress is recorded. When the task is completed, the information is reflected in the work management tool via API.
[0116] Specific examples
[0117] Example of input data
[0118] Schedule management tool: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0119] Email: 3 unread emails
[0120] Work Management Tool: 5 incomplete tasks
[0121] Operation flow
[0122] The server retrieves Meeting A from 9:00-10:00, Meeting B from 10:30-11:30, and Meeting C from 13:00-14:00 from the schedule management tool and confirms that there is free time between each of them (10:00-10:30 and 11:30-13:00).
[0123] Next, it retrieves the number of unread emails from the email and calculates the average time required to reply to each email (for example, 10 minutes).Similarly, it retrieves the number of uncompleted tasks from the work management tool and evaluates their duration and priority.
[0124] The server will suggest "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30, and "prepare documents (30 minutes)" and "organize emails (10 minutes)" for the spare time between 11:30 and 13:00.
[0125] The terminal displays these suggestions on the user interface, and the user selects "Create materials (30 minutes)." The server sets the status of the selected task to "In progress" and manages the progress in real time. When the task is completed, the information is updated in the work management tool.
[0126] Prompt Sentence Examples
[0127] Please explain in detail how the system collects data from email, schedule management tools, and work management tools used by users, analyzes that data, and suggests tasks that are best suited to the free time in the user's schedule. For example, please use a concrete example to explain what tasks would be suggested if the free time was 30 minutes.
[0128] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0129] Step 1:
[0130] A user accesses the system and enters their credentials.
[0131] Specific operation: The user enters their user ID and password or OAuth token into the login screen. Input: User authentication information. Output: Authentication information is sent to the server.
[0132] Step 2:
[0133] The server receives the user's authentication information and performs authentication by referencing the database. If authentication is successful, it generates a session ID and token and returns them to the user.
[0134] Specific operation: The server reads the database (e.g., MySQL (registered trademark)) and checks the user's authentication information. Input: User's authentication information. Output: Authentication result, session ID or token.
[0135] Step 3:
[0136] The server uses the acquired session ID or token to access the APIs of email, schedule management tools, and work management tools and collect data.
[0137] Specific operation: The server sends an HTTP request to the Google Calendar API, Microsoft Outlook API, Trello API, etc. and receives JSON formatted data. Input: Session ID or token. Output: JSON formatted data from each tool.
[0138] Step 4:
[0139] The server analyzes the collected data and identifies available times based on the user's schedule.
[0140] Specific operation: The server uses Python's pandas library to calculate the start and end times of calendar events and calculates free time. It also uses NLP techniques to evaluate the duration and priority of tasks. Input: Data in JSON format. Output: A list of free time and tasks.
[0141] Step 5:
[0142] Based on the analysis results, the server lists tasks that can be performed during free time and arranges them in order of priority.
[0143] Specific operation: The server suggests "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30. For the spare time between 11:30 and 13:00, it suggests "create documents (30 minutes)" and "organize emails (10 minutes)". Input: List of free time and tasks. Output: List of suggested tasks sorted by priority.
[0144] Step 6:
[0145] The server sends a list of proposed tasks arranged in order of priority to the terminal.
[0146] Specific operation: The server sends the proposed task list to the terminal as an HTTP response. Input: Proposed task list. Output: The task list is displayed on the terminal.
[0147] Step 7:
[0148] The terminal displays the task suggestions sent from the server to the user, who then selects the task they wish to execute from the displayed task list.
[0149] Specific behavior: The device visually displays a task list and the user makes a selection (e.g., UI using React.js). Input: Suggested task list. Output: User selection.
[0150] Step 8:
[0151] The server sets the status of the selected task to "in progress," records the progress in real time, and updates the work management tool with the information when the task is completed.
[0152] Specific operation: The server updates the task progress using the Trello API, etc. Input: User selection. Output: Task progress update.
[0153] keyword:
[0154] Generative AI model, prompt sentence
[0155] (Application example 1)
[0156] 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."
[0157] In order to maximize productivity within a factory, it is important to improve the utilization rate of the robots used, but conventional systems have made it difficult to efficiently utilize the robots' idle time. This has led to wasted time and reduced overall production efficiency. There has also been a lack of systems for efficiently selecting and executing proposed tasks. The objective of this project is to solve these problems.
[0158] 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.
[0159] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by users, means for analyzing the data to identify free time in the user's schedule, and means for proposing tasks suitable for the free time. This optimizes the user's schedule management, and also includes means for transmitting work schedules and progress statuses of robots operating in the factory to the server, means for the server to analyze the work schedules and progress statuses to identify free time for the robots, means for proposing high-priority tasks suitable for the identified free time in the factory, and means for presenting the proposed tasks to the robots or a manager. This makes it possible to efficiently utilize the robots' free time and improve the production efficiency of the entire factory.
[0160] A "user" is an individual or organization that uses a system or application to manage a task.
[0161] "Email" is a means of sending and receiving messages electronically over the Internet.
[0162] A "calendar" is a tool for recording and managing schedules based on dates and times.
[0163] A "task management tool" is software for managing task progress and priorities.
[0164] A "means for collecting data" is a method or device that obtains the required information from email, calendars, and task management tools.
[0165] The "means for analyzing data" is a method or device for evaluating the user's schedule and task status based on the collected data.
[0166] "Free time" refers to the time available until the next appointment in the user's schedule.
[0167] The "means for suggesting a task" is a method or device for selecting a task that can be performed in the specified free time and presenting it to the user.
[0168] A "presentation means" is a method or device that visually displays the proposed tasks and schedule information to the user.
[0169] A "robot" is a mechanical device that automatically performs specific tasks in factories and other places.
[0170] A "work schedule" refers to the work that a robot is scheduled to do and the time it will take to do it.
[0171] "Progress" is information indicating the status of a task that a robot is currently performing or has completed.
[0172] A "server" is a computer system for performing data collection, analysis, management, and task proposals.
[0173] The "administrator" is the person responsible for operating and managing tasks of robots within the factory.
[0174] A "high priority task" is a task that is urgent or important and needs to be processed with priority.
[0175] This invention relates to a system that automatically manages schedules and proposes tasks for users and factory robots. This system collects data from users' emails, calendars, and task management tools, and then transmits the work schedules and progress status of the factory robots to a server to propose optimal tasks.
[0176] System configuration
[0177] The server includes the following means:
[0178] 1. Data Collection Methods
[0179] 2. Data analysis methods
[0180] 3. Task suggestion method
[0181] 4. Information presentation means
[0182] Data collection methods
[0183] The server collects data from users' email, calendars, and task management tools using the APIs of each tool. It also collects data on work schedules and progress from the robots operating in the factory. This allows for centralized management of schedule data for both users and robots.
[0184] Data Analysis Methods
[0185] The server analyzes the collected data and identifies free time in the user's schedule and free time for the robot. Data analysis is performed using analysis tools and libraries such as Python.
[0186] Task suggestion method
[0187] Based on the analysis results, the server suggests tasks suitable for the user's free time. For users, this could mean replying to emails or completing unfinished tasks. For robots, this could mean high-priority tasks within the factory. Specific examples include quality inspections and temporarily moving parts.
[0188] Information presentation means
[0189] The server displays the proposed tasks on the user's device or the robot's display, allowing the user or administrator to select the appropriate task and execute it smoothly. The display shows the task name, required time, and priority.
[0190] Explanation of program processing
[0191] The server first uses the user's credentials to access and collect data from email, calendar, and task management tools, retrieving the necessary information via APIs, and then uses the collected data to calculate available time in the schedule using the Python datetime library and evaluate task priorities.
[0192] Next, the server selects tasks that fit the available time and suggests them to the user or robot. The server uses a generative AI model to optimize the task suggestions. For example, it suggests "reply to email (10 minutes)" or "check JIRA tasks (15 minutes)" for the user between 10:00 and 10:30.
[0193] Below are some examples and prompts:
[0194] Specific examples
[0195] Schedule: Robot A will perform assembly work from 9:00 to 10:00, followed by maintenance work from 11:00 to 12:00.
[0196] Suggested tasks: For the free time between 10:00 and 11:00, 20 minutes of "Quality Inspection" or 30 minutes of "Parts Movement" are suggested.
[0197] Prompt Sentence Examples
[0198] We will provide the schedule information for Factory Robot "A." Please find available time in the schedule below and suggest high-priority tasks that can be performed during that time.
[0199] Schedule: 9:00-10:00 Assembly, 11:00-12:00 Maintenance
[0200] Suggested task examples: quality inspection, parts movement, inventory check
[0201] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0202] Step 1:
[0203] Data collection
[0204] The server first uses the user's authentication information to access the APIs of email, calendar, and task management tools to collect various data. Specifically, it makes API requests to obtain information such as the user's schedule, uncompleted tasks, and unread emails. Similarly, it collects the work schedules and progress of robots operating in the factory from sensors and internal clocks and sends this information to the server.
[0205] Input: Data from email, calendars, task management tools, robots
[0206] Output: A list of user and robot schedule data
[0207] Step 2:
[0208] Data analysis
[0209] The server analyzes the collected data to identify free time in the user and robot schedules. Specifically, it uses the Python datetime library to calculate the free time between each schedule entry. This analysis uses the start and end times of meetings to calculate the time until the next meeting or task.
[0210] Input: User and robot schedule data
[0211] Output: Free time list
[0212] Step 3:
[0213] Task suggestions
[0214] Based on available time, the server lists tasks that can be performed within that time. For users, it suggests email replies and short tasks. For robots, it suggests high-priority short-term tasks within the factory. Specifically, it uses a generative AI model to optimize task difficulty and time allocation.
[0215] Input: list of free time slots, pool of suggestable tasks
[0216] Output: Proposed task list
[0217] Step 4:
[0218] Presenting to the user interface
[0219] The server displays the proposed tasks on the user's device or the robot's display, visually organizing the proposed task list so that users and administrators can operate it.
[0220] Input: Proposed task list
[0221] Output: Task list displayed on a terminal or display
[0222] Step 5:
[0223] Selecting and Running a Task
[0224] The user or administrator selects a task to be performed from the presented task list. The selected task is again managed by the server, and the progress is recorded. The robot executes the selected task and sends its progress status to the server.
[0225] Input: Task selection by user or administrator
[0226] Output: Task progress and records
[0227] Step 6:
[0228] Recording and reflecting progress
[0229] When a task is completed, the server records its progress and reflects it in the task management tool. Specifically, it saves the task completion information in a database and notifies related applications via API.
[0230] Input: Completed task information
[0231] Output: Updated task management system state
[0232] 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.
[0233] This system collects and analyzes data from email, calendars, and task management tools used by users, and by combining it with an emotion engine, suggests appropriate tasks based on the user's emotional state. This system includes a server, a terminal, and a user interface.
[0234] Program processing
[0235] Data collection and analysis
[0236] The server first uses the user's authentication information to access the data APIs of email, calendar, and task management tools, and collects various data. Specifically, it obtains meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool. Next, it analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[0237] Emotion recognition
[0238] The server recognizes the user's emotional state using an emotion engine by analyzing emotions from the user's voice and text input. The emotion engine analyzes the user's tone of voice and text expressions to assess the user's current emotional state in real time.
[0239] Task suggestions
[0240] The server lists tasks suitable for each spare time based on the analyzed spare time and the emotion analysis results of the emotion engine. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is feeling stressed, it suggests easy tasks. The server organizes these task suggestions into a list and presents it to the user.
[0241] Presenting to the user interface
[0242] The terminal displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks reflect the user's emotional state and are therefore easier to carry out.
[0243] Selecting and Running a Task
[0244] The user selects the task they want to perform from the presented task list. Based on this selection, the device sends the selected task information to the server. The server manages the progress of the selected task and reflects it in the task management tool. When the user completes a task, the progress is automatically recorded.
[0245] Specific examples
[0246] Example of input data
[0247] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0248] Email: 3 unread emails
[0249] Task management tool: 5 uncompleted tasks
[0250] Emotion engine analysis results: Relaxed state, Stress state
[0251] Data collection and analysis
[0252] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[0253] Example of a proposal task
[0254] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0255] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[0256] Presenting to the user interface
[0257] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[0258] Task Selection and Execution Example
[0259] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0260] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0261] The processing flow will be explained below.
[0262] Specific flow of program processing
[0263] Step 1: Collect data
[0264] A user logs in to the application.
[0265] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0266] The terminal transmits the acquired authentication information to the server.
[0267] The server uses this authentication information to call each data API and collect schedule and task-related data: specifically, meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0268] Step 2: Recognize emotions
[0269] The user inputs either voice or text. In the case of voice input, the device captures the user's voice via a microphone and sends it to the server. In the case of text input, the device sends the input text to the server.
[0270] The server analyzes the user's emotions using an emotion engine, which analyzes the voice and text data to identify the user's emotional state (e.g., relaxed, stressed, anxious, etc.).
[0271] Step 3: Analyze the data
[0272] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0273] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[0274] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[0275] Step 4: Propose a task
[0276] The server lists tasks suitable for each spare time based on the analysis results and sentiment analysis results.
[0277] The server selects tasks that can be performed based on the length of spare time, and creates a list of suggestions taking into account the user's emotional state. Specifically, if the user is relaxed, it will prioritize tasks that require concentration, and if the user is stressed, it will prioritize easier tasks.
[0278] Step 5: Presenting the User Interface
[0279] The server sends the analysis results and the task suggestion list to the user interface.
[0280] The terminal displays the user's available time and a list of suggested tasks.
[0281] Step 6: Select and execute a task
[0282] The user selects the task they wish to perform from the displayed list of suggestions.
[0283] The terminal transmits the selected task information to the server.
[0284] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[0285] Specific examples
[0286] Example of input data
[0287] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0288] Email: 3 unread emails
[0289] Task management tool: 5 uncompleted tasks
[0290] Emotion engine analysis results: Relaxed state, Stress state
[0291] Data collection and analysis
[0292] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[0293] Example of a proposal task
[0294] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0295] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[0296] Presenting to the user interface
[0297] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[0298] Task Selection and Execution Example
[0299] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0300] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0301] Example 2
[0302] 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."
[0303] In today's busy society, users use multiple schedule management and task management tools. However, these tools operate independently, making it difficult for users to efficiently manage their time and complete tasks. Furthermore, these tools do not take into account the user's emotional state when suggesting tasks, leading to increased stress. This results in decreased productivity and increased mental strain.
[0304] 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.
[0305] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing suitable tasks based on the free time and emotional state, means for presenting the proposed tasks to the user, and means for managing and recording the progress of tasks selected by the user, thereby enabling the user to efficiently utilize their free time while taking their emotional state into consideration.
[0306] "Email" is a means of communication that allows users to send and receive text messages and files over the Internet.
[0307] A "calendar" is a time management tool for managing a user's schedule and plans.
[0308] A "task management tool" is a tool that allows users to record and manage tasks and work items that they need to perform.
[0309] "Data collection means" refers to the means of accessing data from email, calendars, and task management tools using the user's authentication information to obtain the required information.
[0310] The "data analysis means" is a means for analyzing the user's schedule based on the collected data and calculating free time and the time required for tasks.
[0311] The "means for identifying free time" is a means for analyzing the start and end times of meetings from the user's calendar, calculating the time until the next meeting, and identifying free time.
[0312] The "means for analyzing emotional state" is a means for analyzing emotions from a user's voice input or text input and evaluating the user's current emotional state.
[0313] The "means for suggesting tasks" is a means for listing and suggesting tasks suitable for free time based on the analyzed free time and the results of emotion analysis.
[0314] The "means for presenting to the user" is a means for displaying the task proposal received from the server to the user via the terminal.
[0315] The "means for managing and recording progress" is a means for monitoring the progress of a task selected by the user in real time and recording that information in the task management tool.
[0316] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools. The system includes a server, a terminal, and a user interface. By combining it with an emotion engine, the system can suggest appropriate tasks based on the user's emotional state.
[0317] First, the server uses the user's credentials to access the email, calendar, and task management tool's data APIs, specifically gathering the number of unread emails from the user's mailbox, scheduled meetings from the calendar, and open tasks from the task management tool, using common API calls.
[0318] The server then analyzes the collected data and identifies free time (gap time) in the user's schedule. For example, it analyzes the start and end times of meetings based on calendar information and calculates the time until the next meeting. This allows it to identify, for example, "free time from 10:00 to 10:30" after "Meeting A from 9:00 to 10:00."
[0319] The server then uses an emotion engine to analyze the user's emotional state, analyzing emotions from the user's voice and text inputs and assessing their current emotional state in real time, which can determine whether the user is relaxed or stressed.
[0320] The server then lists and suggests tasks suitable for each spare time based on the analyzed free time and the results of emotion analysis. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggested tasks accurately reflect the user's emotional state, allowing the user to perform tasks more efficiently.
[0321] The proposed task list is displayed to the user through the terminal. The user can review the proposed task list and select the task they want to perform. After selecting the task, the terminal transmits the selected task information to the server.
[0322] Finally, the server manages the progress of the selected tasks and updates the task management tool in real time. When a user completes a task, the progress is automatically recorded and updated in the task management tool.
[0323] Specific examples
[0324] For example, if a user's calendar includes the following events: "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00," the server will identify the free times from 10:00 to 10:30 and 11:30 to 13:00. If the emotion engine's analysis determines that "10:00 to 10:30 is a relaxed time" and "11:30 to 13:00 is a stressed time," the server will suggest tasks appropriate for each free time.
[0325] Prompt Sentence Examples
[0326] "We collect the user's calendar information, unread emails, and uncompleted tasks, and use an emotion engine to analyze their emotional state. What tasks are suitable for when they are relaxed?"
[0327] "Please tell me how the system that suggests tasks suitable for spare time works. It also uses an emotion engine."
[0328] In this way, the system of the present invention can effectively utilize free time while taking into account the user's emotional state, thereby improving productivity and reducing stress.
[0329] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0330] Step 1:
[0331] The server uses the user's credentials to access the data APIs of the email, calendar, and task management tools. The user's credentials are required as input. Based on this, the server retrieves the number of unread emails, upcoming meetings from the calendar, and open tasks from the task management tool. The output is this collected data.
[0332] Step 2:
[0333] The server analyzes the acquired data and identifies free time (gap time). Specifically, it analyzes the start and end times of each meeting from the calendar information and calculates the time between them. Calendar information is required as input, and the amount of free time between meetings is obtained as output. For example, if Meeting A ends from 9:00 to 10:00, the time from 10:00 to 10:30 is identified.
[0334] Step 3:
[0335] The server uses an emotion engine to analyze the user's emotional state. The input requires the user's voice and text input. The emotion engine analyzes this data and evaluates the user's emotional state (relaxed, stressed, etc.). The output is the user's current emotional state.
[0336] Step 4:
[0337] The server lists tasks appropriate for each spare time based on the analyzed spare time and the results of emotion analysis. The required inputs are spare time information and emotion analysis results. The output is a list of tasks appropriate for each spare time. As a concrete example, it suggests tasks such as "reply to emails (10 minutes)" to a user in a relaxed state, and "organize simple documents (20 minutes)" to a user in a stressed state.
[0338] Step 5:
[0339] The device displays task suggestions received from the server to the user. The input required is a task list from the server. The output is a task list that the user can view on the screen. The user then takes specific actions to view the suggested tasks for each spare time slot.
[0340] Step 6:
[0341] The user selects the task they want to execute from the presented task list. The task list displayed on the terminal is required as input. The user performs the specific action of selecting a task, inputs the selected task information into the terminal, and the terminal sends that information to the server. The output is the selected task information sent to the server.
[0342] Step 7:
[0343] The server manages the progress of the selected task and reflects it in the task management tool. The input required is task information selected by the user. Specifically, the server monitors the task progress in real time and updates the task management tool when the task is completed. The output is the progress information of the completed task recorded in the task management tool.
[0344] (Application example 2)
[0345] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0346] Conventional task management systems proposed tasks without considering the user's emotional state, making it difficult to maximize user productivity and comfort. Furthermore, in factory work, tasks were not allocated according to the employee's emotional state, resulting in insufficient work efficiency and employee stress management.
[0347] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing tasks appropriate to the free time and the emotional state, means for presenting the proposed tasks to the user, means for acquiring the user's emotional state using an input device, means installed in a factory robot, and means for collecting data via a voice input device or a text input interface. This makes it possible to suggest optimal tasks according to the user's emotional state and improve work efficiency.
[0348] "Email" is an electronic means of exchanging messages over the Internet or other computer networks.
[0349] A "calendar" is a tool for recording and managing a user's schedule information.
[0350] A "task management tool" is a software tool for managing a user's tasks and schedules.
[0351] A "means for collecting data" is a device or software that has the function of obtaining the necessary information from email, calendars, and task management tools.
[0352] A "means for analyzing data" is a device or software for processing collected data and understanding the user's schedule.
[0353] The "means for identifying free time" is a device or software that has the function of analyzing the user's schedule data and finding unreserved time in the schedule.
[0354] The "means for analyzing emotional state" is a device or software that has the function of analyzing voice input or text input from the user and evaluating the psychological state at that time.
[0355] The "means for suggesting a task" is a device or software that has a function of suggesting a specific task to be performed to the user based on the analyzed free time and emotional state.
[0356] The "means for presenting submitted tasks to the user" refers to a device or software having a display function that allows the user to check the proposed tasks.
[0357] The "means for acquiring an emotional state using an input device" refers to a device or software that has the function of receiving a user's voice or text input and analyzing it to grasp the user's emotional state.
[0358] "Means to be installed on robots in factories" refers to software and devices that are installed on robots used in factories.
[0359] A "voice input device" is a device that recognizes a user's voice as digital data.
[0360] A "text entry interface" is a device or software that allows a user to enter text information.
[0361] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools to identify free time in their schedules. It also analyzes the user's emotional state and suggests tasks appropriate to that state.
[0362] The server uses the user's authentication information to access data from email, calendars, and task management tools. This data is collected using APIs. Specifically, it obtains meeting and appointment information from calendars, unread email information from emails, and uncompleted task information from task management tools. The collected data is then analyzed to calculate free time based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[0363] The server also analyzes the user's emotional state using an emotion engine. This analysis is performed using the user's voice input or text input. The emotion engine analyzes the user's tone of voice and text expression to assess the user's current emotional state (e.g., relaxed or stressed). Specific examples include a voice input device and a text input interface.
[0364] The server then suggests suitable tasks based on the analyzed free time and emotional state. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggestions are organized into a list and presented to the user.
[0365] The device displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time and select the tasks they want to perform. Information about the selected tasks is sent to the server, which manages their progress and updates the task management tool accordingly.
[0366] As a concrete example, use the following prompt:
[0367] For relaxed employees, suggest short-term document organization or light work. For stressed employees, suggest simple assembly or checklist work. If there is more than 40 minutes of free time, suggest work that requires concentration.
[0368] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0369] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0370] Step 1:
[0371] The server uses the user's authentication information to access the APIs of email, calendars, and task management tools to collect data. Specifically, the server sends authentication information to each API, obtaining meeting and appointment information from the calendar, unread email information from email, and incomplete task information from the task management tool. User authentication information is required as input, and various data is obtained as output.
[0372] Step 2:
[0373] The server analyzes the collected data and calculates free time based on the user's schedule. Specifically, the server analyzes calendar information and calculates the time until the next meeting based on the start and end times of meetings. Calendar information is required as input, and a list of free time is obtained as output.
[0374] Step 3:
[0375] The server uses an emotion engine to analyze the user's voice and text input and evaluate their emotional state. Specifically, the emotion engine analyzes the user's tone of voice and text expression via a voice input device or text input interface. Voice data or text data is required as input, and the emotional state (relaxed state, stress state, etc.) is obtained as output.
[0376] Step 4:
[0377] The server then suggests suitable tasks based on the analyzed free time and emotional state. Specifically, it selects appropriate tasks by taking into account the length of free time and the user's emotional state. For example, it suggests tasks that require concentration to a user in a relaxed state, and easy tasks to a user in a stressed state. The server requires a list of free time and the user's emotional state as input, and obtains a list of suggested tasks as output.
[0378] Step 5:
[0379] The terminal displays the task suggestions received from the server to the user. Specifically, the terminal displays the suggested tasks in list format on its display. The input required is a list of suggested tasks, and the output is a visual presentation to the user.
[0380] Step 6:
[0381] The user selects the task they want to execute from the task list displayed on the terminal. The selected task information is sent from the terminal to the server. The user's selection information is required as input, and the selected task information is obtained as output.
[0382] Step 7:
[0383] The server manages the progress of the selected task and reflects it in the task management tool. Specifically, it updates the progress of the selected task in real time and records the information in the task management tool when it is completed. Selected task information is required as input, and updated task management information is obtained as output.
[0384] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0385] 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.
[0386] 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.
[0387] 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.
[0388] [Second embodiment]
[0389] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0390] 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.
[0391] 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).
[0392] 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.
[0393] 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.
[0394] 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).
[0395] 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.
[0396] 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.
[0397] 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.
[0398] 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.
[0399] 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.
[0400] 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."
[0401] The present invention is a system that collects data from email, calendars, and task management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate tasks. This system includes a server, a terminal, and a user interface.
[0402] Program processing
[0403] Data collection
[0404] The server first uses the user's credentials to access the data APIs of the email, calendar, and task management tools to collect various data, including information about appointments, open tasks, and emails stored in each tool.
[0405] Data analysis
[0406] The server analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings. The server also evaluates the required time and priority of the collected tasks.
[0407] Task suggestions
[0408] The server then lists tasks that can be performed within that time based on the analyzed time. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, while if you have 60 minutes or more of free time, it suggests creating documents or conducting detailed analysis.
[0409] Presenting to the user interface
[0410] The terminal displays the task suggestions sent from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks are rearranged within the available time.
[0411] Selecting and Running a Task
[0412] The user selects the task they want to perform from the presented task list. The selected task is again managed by the server, and the progress is recorded. When the task is completed, the progress is automatically reflected in the task management tool.
[0413] Specific examples
[0414] Example of input data
[0415] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0416] Email: 3 unread emails
[0417] Task management tool: 5 uncompleted tasks
[0418] Data collection and analysis
[0419] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00), then collects outstanding tasks from email and task management tools and estimates the time required for each task (e.g., 10 minutes required to reply to unread emails).
[0420] Example of a proposal task
[0421] 10:00-10:30: "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0422] 11:30-13:00: "Document preparation (30 minutes)", "Email organization (10 minutes)"
[0423] Presenting to the user interface
[0424] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the tasks suggested for each spare time.
[0425] Task Selection and Execution Example
[0426] The user selects "Create materials (30 minutes)" during the free time between 11:30 and 13:00.
[0427] The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0428] In this way, the present invention allows users to make efficient use of their limited time and improve their productivity.
[0429] The processing flow will be explained below.
[0430] Specific flow of program processing
[0431] Step 1: Collect data
[0432] A user logs in to the application.
[0433] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0434] The terminal transmits the acquired authentication information to the server.
[0435] The server uses these credentials to call each data API and collect schedule and task-related data, such as meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0436] Step 2: Analyze the data
[0437] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0438] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[0439] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[0440] Step 3: Propose a task
[0441] Based on the analysis results, the server lists tasks suitable for each spare time.
[0442] The server selects executable tasks based on the length of the free time and creates a list of suggestions. For example, a 30-minute free time might include "Replying to emails (10 minutes)" and "Checking JIRA tasks (15 minutes)," while a 90-minute free time might include "Creating documents (30 minutes)" and "Organizing emails (10 minutes)."
[0443] Step 4: Presenting the User Interface
[0444] The server sends the analysis results and a list of suggested tasks to the user interface.
[0445] The terminal displays the user's available time and a list of suggested tasks.
[0446] Step 5: Select and execute a task
[0447] The user selects the task they wish to perform from the displayed list of suggestions.
[0448] The terminal transmits the selected task information to the server.
[0449] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[0450] This allows users to efficiently perform appropriate tasks between meetings, improving their productivity. The system as a whole also unifies schedule and task management for users, improving efficiency.
[0451] Example 1
[0452] 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."
[0453] With conventional schedule management systems, users had to obtain information separately from multiple digital tools (email, calendars, task management tools), making it difficult to integrate them and efficiently utilize their free time. This made it difficult to achieve consistent task management to maximize user productivity.
[0454] 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.
[0455] In this invention, the server includes means for collecting data from email, schedule management tools, and work management tools used by the user, means for analyzing the data to identify free time in the user's time management, means for proposing tasks that can be performed during the free time, means for displaying the proposed tasks to the user, means for accessing the data using the user's authentication information, and means for recording the progress of the tasks and reflecting the progress in the work management tool. This allows the user to centrally manage information from multiple digital tools and efficiently utilize free time to perform tasks.
[0456] "User" refers to any individual or entity that uses the System.
[0457] "Email" means a digital form of communication message sent and received over the Internet.
[0458] A "schedule management tool" is a digital application or software that allows users to manage their schedules.
[0459] A "work management tool" is a digital application or software that allows users to manage the progress of tasks.
[0460] "Data collection means" are systems or mechanisms for capturing information from email, scheduling tools, and work management tools.
[0461] "Authentication information" refers to the identification information (e.g., user ID, password, OAuth token) required for a user to access a system.
[0462] A "means for analyzing data" is a system or mechanism for processing the collected data and evaluating free time in the user's schedule, task duration, priority, etc.
[0463] "Free time" is a time period in the user's schedule where no specific plans or tasks are set.
[0464] A "means for suggesting tasks" is a system or mechanism for suggesting tasks or activities that a user can perform in their free time based on the analysis results.
[0465] The "display means" refers to a device or interface for visually presenting information sent from the server to the user.
[0466] A "progress tracking means" is a system or mechanism for tracking the progress of a user's selected task and reflecting that information in an appropriate database or work management tool.
[0467] "Available work in available time" are tasks or activities that are expected to be completed within a particular available time period.
[0468] The present invention provides a system that collects data from emails, schedule management tools, and work management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate work. This system includes a server, a terminal, and a user interface.
[0469] System Configuration
[0470] server
[0471] The server uses the user's authentication information to retrieve data from email, schedule management tools, and work management tools. Specifically, it uses various APIs to collect data, such as the Google Calendar API, Microsoft Outlook API, and Trello API.
[0472] The server analyzes the collected data and calculates free time based on the user's schedule using Python's pandas library and NLP techniques. This analysis evaluates the start and end times of users' meetings, task durations, and priorities.
[0473] Based on the analysis results, the server lists tasks that can be performed during the free time and ranks them in order of priority. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, but if you have 60 minutes or more, it suggests creating documents or conducting detailed analysis.
[0474] The server also continuously manages the progress of proposed work and automatically updates the work management tool with information when the work is completed.
[0475] Terminal
[0476] The device displays task suggestions sent from the server to the user. The user interface is a web browser or smartphone app, and is written in HTML, CSS, and JavaScript. The user can select the task they want to perform from the displayed task list.
[0477] User
[0478] The user selects the task they want to complete from the presented task list. The selected task is managed on the server, and its progress is recorded. When the task is completed, the information is reflected in the work management tool via API.
[0479] Specific examples
[0480] Example of input data
[0481] Schedule management tool: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0482] Email: 3 unread emails
[0483] Work Management Tool: 5 incomplete tasks
[0484] Operation flow
[0485] The server retrieves Meeting A from 9:00-10:00, Meeting B from 10:30-11:30, and Meeting C from 13:00-14:00 from the schedule management tool and confirms that there is free time between each of them (10:00-10:30 and 11:30-13:00).
[0486] Next, it retrieves the number of unread emails from the email and calculates the average time required to reply to each email (for example, 10 minutes).Similarly, it retrieves the number of uncompleted tasks from the work management tool and evaluates their duration and priority.
[0487] The server will suggest "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30, and "prepare documents (30 minutes)" and "organize emails (10 minutes)" for the spare time between 11:30 and 13:00.
[0488] The terminal displays these suggestions on the user interface, and the user selects "Create materials (30 minutes)." The server sets the status of the selected task to "In progress" and manages the progress in real time. When the task is completed, the information is updated in the work management tool.
[0489] Prompt Sentence Examples
[0490] Please explain in detail how the system collects data from email, schedule management tools, and work management tools used by users, analyzes that data, and suggests tasks that are best suited to the free time in the user's schedule. For example, please use a concrete example to explain what tasks would be suggested if the free time was 30 minutes.
[0491] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0492] Step 1:
[0493] A user accesses the system and enters their credentials.
[0494] Specific operation: The user enters their user ID and password or OAuth token into the login screen. Input: User authentication information. Output: Authentication information is sent to the server.
[0495] Step 2:
[0496] The server receives the user's authentication information and performs authentication by referencing the database. If authentication is successful, it generates a session ID and token and returns them to the user.
[0497] Specific operation: The server reads the database (e.g. MySQL) and checks the user's authentication information. Input: User's authentication information. Output: Authentication result, session ID or token.
[0498] Step 3:
[0499] The server uses the acquired session ID or token to access the APIs of email, schedule management tools, and work management tools and collect data.
[0500] Specific operation: The server sends an HTTP request to the Google Calendar API, Microsoft Outlook API, Trello API, etc. and receives JSON formatted data. Input: Session ID or token. Output: JSON formatted data from each tool.
[0501] Step 4:
[0502] The server analyzes the collected data and identifies available times based on the user's schedule.
[0503] Specific operation: The server uses Python's pandas library to calculate the start and end times of calendar events and calculates free time. It also uses NLP techniques to evaluate the duration and priority of tasks. Input: Data in JSON format. Output: A list of free time and tasks.
[0504] Step 5:
[0505] Based on the analysis results, the server lists tasks that can be performed during free time and arranges them in order of priority.
[0506] Specific operation: The server suggests "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30. For the spare time between 11:30 and 13:00, it suggests "create documents (30 minutes)" and "organize emails (10 minutes)". Input: List of free time and tasks. Output: List of suggested tasks sorted by priority.
[0507] Step 6:
[0508] The server sends a list of proposed tasks arranged in order of priority to the terminal.
[0509] Specific operation: The server sends the proposed task list to the terminal as an HTTP response. Input: Proposed task list. Output: The task list is displayed on the terminal.
[0510] Step 7:
[0511] The terminal displays the task suggestions sent from the server to the user, who then selects the task they wish to execute from the displayed task list.
[0512] Specific behavior: The device visually displays a task list and the user makes a selection (e.g., UI using React.js). Input: Suggested task list. Output: User selection.
[0513] Step 8:
[0514] The server sets the status of the selected task to "in progress," records the progress in real time, and updates the work management tool with the information when the task is completed.
[0515] Specific operation: The server updates the task progress using the Trello API, etc. Input: User selection. Output: Task progress update.
[0516] keyword:
[0517] Generative AI model, prompt sentence
[0518] (Application example 1)
[0519] 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."
[0520] In order to maximize productivity within a factory, it is important to improve the utilization rate of the robots used, but conventional systems have made it difficult to efficiently utilize the robots' idle time. This has led to wasted time and reduced overall production efficiency. There has also been a lack of systems for efficiently selecting and executing proposed tasks. The objective of this project is to solve these problems.
[0521] 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.
[0522] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by users, means for analyzing the data to identify free time in the user's schedule, and means for proposing tasks suitable for the free time. This optimizes the user's schedule management, and also includes means for transmitting work schedules and progress statuses of robots operating in the factory to the server, means for the server to analyze the work schedules and progress statuses to identify free time for the robots, means for proposing high-priority tasks suitable for the identified free time in the factory, and means for presenting the proposed tasks to the robots or a manager. This makes it possible to efficiently utilize the robots' free time and improve the production efficiency of the entire factory.
[0523] A "user" is an individual or organization that uses a system or application to manage a task.
[0524] "Email" is a means of sending and receiving messages electronically over the Internet.
[0525] A "calendar" is a tool for recording and managing schedules based on dates and times.
[0526] A "task management tool" is software for managing task progress and priorities.
[0527] A "means for collecting data" is a method or device that obtains the required information from email, calendars, and task management tools.
[0528] The "means for analyzing data" is a method or device for evaluating the user's schedule and task status based on the collected data.
[0529] "Free time" refers to the time available until the next appointment in the user's schedule.
[0530] The "means for suggesting a task" is a method or device for selecting a task that can be performed in the specified free time and presenting it to the user.
[0531] A "presentation means" is a method or device that visually displays the proposed tasks and schedule information to the user.
[0532] A "robot" is a mechanical device that automatically performs specific tasks in factories and other places.
[0533] A "work schedule" refers to the work that a robot is scheduled to do and the time it will take to do it.
[0534] "Progress" is information indicating the status of a task that a robot is currently performing or has completed.
[0535] A "server" is a computer system for performing data collection, analysis, management, and task proposals.
[0536] The "administrator" is the person responsible for operating and managing tasks of robots within the factory.
[0537] A "high priority task" is a task that is urgent or important and needs to be processed with priority.
[0538] This invention relates to a system that automatically manages schedules and proposes tasks for users and factory robots. This system collects data from users' emails, calendars, and task management tools, and then transmits the work schedules and progress status of the factory robots to a server to propose optimal tasks.
[0539] System configuration
[0540] The server includes the following means:
[0541] 1. Data Collection Methods
[0542] 2. Data analysis methods
[0543] 3. Task suggestion method
[0544] 4. Information presentation means
[0545] Data collection methods
[0546] The server collects data from users' email, calendars, and task management tools using the APIs of each tool. It also collects data on work schedules and progress from the robots operating in the factory. This allows for centralized management of schedule data for both users and robots.
[0547] Data Analysis Methods
[0548] The server analyzes the collected data and identifies free time in the user's schedule and free time for the robot. Data analysis is performed using analysis tools and libraries such as Python.
[0549] Task suggestion method
[0550] Based on the analysis results, the server suggests tasks suitable for the user's free time. For users, this could mean replying to emails or completing unfinished tasks. For robots, this could mean high-priority tasks within the factory. Specific examples include quality inspections and temporarily moving parts.
[0551] Information presentation means
[0552] The server displays the proposed tasks on the user's device or the robot's display, allowing the user or administrator to select the appropriate task and execute it smoothly. The display shows the task name, required time, and priority.
[0553] Explanation of program processing
[0554] The server first uses the user's credentials to access and collect data from email, calendar, and task management tools, retrieving the necessary information via APIs, and then uses the collected data to calculate available time in the schedule using the Python datetime library and evaluate task priorities.
[0555] Next, the server selects tasks that fit the available time and suggests them to the user or robot. The server uses a generative AI model to optimize the task suggestions. For example, it suggests "reply to email (10 minutes)" or "check JIRA tasks (15 minutes)" for the user between 10:00 and 10:30.
[0556] Below are some examples and prompts:
[0557] Specific examples
[0558] Schedule: Robot A will perform assembly work from 9:00 to 10:00, followed by maintenance work from 11:00 to 12:00.
[0559] Suggested tasks: For the free time between 10:00 and 11:00, 20 minutes of "Quality Inspection" or 30 minutes of "Parts Movement" are suggested.
[0560] Prompt Sentence Examples
[0561] We will provide the schedule information for Factory Robot "A." Please find available time in the schedule below and suggest high-priority tasks that can be performed during that time.
[0562] Schedule: 9:00-10:00 Assembly, 11:00-12:00 Maintenance
[0563] Suggested task examples: quality inspection, parts movement, inventory check
[0564] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0565] Step 1:
[0566] Data collection
[0567] The server first uses the user's authentication information to access the APIs of email, calendar, and task management tools to collect various data. Specifically, it makes API requests to obtain information such as the user's schedule, uncompleted tasks, and unread emails. Similarly, it collects the work schedules and progress of robots operating in the factory from sensors and internal clocks and sends this information to the server.
[0568] Input: Data from email, calendars, task management tools, robots
[0569] Output: A list of user and robot schedule data
[0570] Step 2:
[0571] Data analysis
[0572] The server analyzes the collected data to identify free time in the user and robot schedules. Specifically, it uses the Python datetime library to calculate the free time between each schedule entry. This analysis uses the start and end times of meetings to calculate the time until the next meeting or task.
[0573] Input: User and robot schedule data
[0574] Output: Free time list
[0575] Step 3:
[0576] Task suggestions
[0577] Based on available time, the server lists tasks that can be performed within that time. For users, it suggests email replies and short tasks. For robots, it suggests high-priority short-term tasks within the factory. Specifically, it uses a generative AI model to optimize task difficulty and time allocation.
[0578] Input: list of free time slots, pool of suggestable tasks
[0579] Output: Proposed task list
[0580] Step 4:
[0581] Presenting to the user interface
[0582] The server displays the proposed tasks on the user's device or the robot's display, visually organizing the proposed task list so that users and administrators can operate it.
[0583] Input: Proposed task list
[0584] Output: Task list displayed on a terminal or display
[0585] Step 5:
[0586] Selecting and Running a Task
[0587] The user or administrator selects a task to be performed from the presented task list. The selected task is again managed by the server, and the progress is recorded. The robot executes the selected task and sends its progress status to the server.
[0588] Input: Task selection by user or administrator
[0589] Output: Task progress and records
[0590] Step 6:
[0591] Recording and reflecting progress
[0592] When a task is completed, the server records its progress and reflects it in the task management tool. Specifically, it saves the task completion information in a database and notifies related applications via API.
[0593] Input: Completed task information
[0594] Output: Updated task management system state
[0595] 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.
[0596] This system collects and analyzes data from email, calendars, and task management tools used by users, and by combining it with an emotion engine, suggests appropriate tasks based on the user's emotional state. This system includes a server, a terminal, and a user interface.
[0597] Program processing
[0598] Data collection and analysis
[0599] The server first uses the user's authentication information to access the data APIs of email, calendar, and task management tools, and collects various data. Specifically, it obtains meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool. Next, it analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[0600] Emotion recognition
[0601] The server recognizes the user's emotional state using an emotion engine by analyzing emotions from the user's voice and text input. The emotion engine analyzes the user's tone of voice and text expressions to assess the user's current emotional state in real time.
[0602] Task suggestions
[0603] The server lists tasks suitable for each spare time based on the analyzed spare time and the emotion analysis results of the emotion engine. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is feeling stressed, it suggests easy tasks. The server organizes these task suggestions into a list and presents it to the user.
[0604] Presenting to the user interface
[0605] The terminal displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks reflect the user's emotional state and are therefore easier to carry out.
[0606] Selecting and Running a Task
[0607] The user selects the task they want to perform from the presented task list. Based on this selection, the device sends the selected task information to the server. The server manages the progress of the selected task and reflects it in the task management tool. When the user completes a task, the progress is automatically recorded.
[0608] Specific examples
[0609] Example of input data
[0610] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0611] Email: 3 unread emails
[0612] Task management tool: 5 uncompleted tasks
[0613] Emotion engine analysis results: Relaxed state, Stress state
[0614] Data collection and analysis
[0615] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[0616] Example of a proposal task
[0617] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0618] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[0619] Presenting to the user interface
[0620] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[0621] Task Selection and Execution Example
[0622] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0623] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0624] The processing flow will be explained below.
[0625] Specific flow of program processing
[0626] Step 1: Collect data
[0627] A user logs in to the application.
[0628] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0629] The terminal transmits the acquired authentication information to the server.
[0630] The server uses this authentication information to call each data API and collect schedule and task-related data: specifically, meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0631] Step 2: Recognize emotions
[0632] The user inputs either voice or text. In the case of voice input, the device captures the user's voice via a microphone and sends it to the server. In the case of text input, the device sends the input text to the server.
[0633] The server analyzes the user's emotions using an emotion engine, which analyzes the voice and text data to identify the user's emotional state (e.g., relaxed, stressed, anxious, etc.).
[0634] Step 3: Analyze the data
[0635] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0636] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[0637] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[0638] Step 4: Propose a task
[0639] The server lists tasks suitable for each spare time based on the analysis results and sentiment analysis results.
[0640] The server selects tasks that can be performed based on the length of spare time, and creates a list of suggestions taking into account the user's emotional state. Specifically, if the user is relaxed, it will prioritize tasks that require concentration, and if the user is stressed, it will prioritize easier tasks.
[0641] Step 5: Presenting the User Interface
[0642] The server sends the analysis results and the task suggestion list to the user interface.
[0643] The terminal displays the user's available time and a list of suggested tasks.
[0644] Step 6: Select and execute a task
[0645] The user selects the task they wish to perform from the displayed list of suggestions.
[0646] The terminal transmits the selected task information to the server.
[0647] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[0648] Specific examples
[0649] Example of input data
[0650] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0651] Email: 3 unread emails
[0652] Task management tool: 5 uncompleted tasks
[0653] Emotion engine analysis results: Relaxed state, Stress state
[0654] Data collection and analysis
[0655] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[0656] Example of a proposal task
[0657] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0658] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[0659] Presenting to the user interface
[0660] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[0661] Task Selection and Execution Example
[0662] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0663] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0664] Example 2
[0665] 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."
[0666] In today's busy society, users use multiple schedule management and task management tools. However, these tools operate independently, making it difficult for users to efficiently manage their time and complete tasks. Furthermore, these tools do not take into account the user's emotional state when suggesting tasks, leading to increased stress. This results in decreased productivity and increased mental strain.
[0667] 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.
[0668] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing suitable tasks based on the free time and emotional state, means for presenting the proposed tasks to the user, and means for managing and recording the progress of tasks selected by the user, thereby enabling the user to efficiently utilize their free time while taking their emotional state into consideration.
[0669] "Email" is a means of communication that allows users to send and receive text messages and files over the Internet.
[0670] A "calendar" is a time management tool for managing a user's schedule and plans.
[0671] A "task management tool" is a tool that allows users to record and manage tasks and work items that they need to perform.
[0672] "Data collection means" refers to the means of accessing data from email, calendars, and task management tools using the user's authentication information to obtain the required information.
[0673] The "data analysis means" is a means for analyzing the user's schedule based on the collected data and calculating free time and the time required for tasks.
[0674] The "means for identifying free time" is a means for analyzing the start and end times of meetings from the user's calendar, calculating the time until the next meeting, and identifying free time.
[0675] The "means for analyzing emotional state" is a means for analyzing emotions from a user's voice input or text input and evaluating the user's current emotional state.
[0676] The "means for suggesting tasks" is a means for listing and suggesting tasks suitable for free time based on the analyzed free time and the results of emotion analysis.
[0677] The "means for presenting to the user" is a means for displaying the task proposal received from the server to the user via the terminal.
[0678] The "means for managing and recording progress" is a means for monitoring the progress of a task selected by the user in real time and recording that information in the task management tool.
[0679] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools. The system includes a server, a terminal, and a user interface. By combining it with an emotion engine, the system can suggest appropriate tasks based on the user's emotional state.
[0680] First, the server uses the user's credentials to access the email, calendar, and task management tool's data APIs, specifically gathering the number of unread emails from the user's mailbox, scheduled meetings from the calendar, and open tasks from the task management tool, using common API calls.
[0681] The server then analyzes the collected data and identifies free time (gap time) in the user's schedule. For example, it analyzes the start and end times of meetings based on calendar information and calculates the time until the next meeting. This allows it to identify, for example, "free time from 10:00 to 10:30" after "Meeting A from 9:00 to 10:00."
[0682] The server then uses an emotion engine to analyze the user's emotional state, analyzing emotions from the user's voice and text inputs and assessing their current emotional state in real time, which can determine whether the user is relaxed or stressed.
[0683] The server then lists and suggests tasks suitable for each spare time based on the analyzed free time and the results of emotion analysis. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggested tasks accurately reflect the user's emotional state, allowing the user to perform tasks more efficiently.
[0684] The proposed task list is displayed to the user through the terminal. The user can review the proposed task list and select the task they want to perform. After selecting the task, the terminal transmits the selected task information to the server.
[0685] Finally, the server manages the progress of the selected tasks and updates the task management tool in real time. When a user completes a task, the progress is automatically recorded and updated in the task management tool.
[0686] Specific examples
[0687] For example, if a user's calendar includes the following events: "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00," the server will identify the free times from 10:00 to 10:30 and 11:30 to 13:00. If the emotion engine's analysis determines that "10:00 to 10:30 is a relaxed time" and "11:30 to 13:00 is a stressed time," the server will suggest tasks appropriate for each free time.
[0688] Prompt Sentence Examples
[0689] "We collect the user's calendar information, unread emails, and uncompleted tasks, and use an emotion engine to analyze their emotional state. What tasks are suitable for when they are relaxed?"
[0690] "Please tell me how the system that suggests tasks suitable for spare time works. It also uses an emotion engine."
[0691] In this way, the system of the present invention can effectively utilize free time while taking into account the user's emotional state, thereby improving productivity and reducing stress.
[0692] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0693] Step 1:
[0694] The server uses the user's credentials to access the data APIs of the email, calendar, and task management tools. The user's credentials are required as input. Based on this, the server retrieves the number of unread emails, upcoming meetings from the calendar, and open tasks from the task management tool. The output is this collected data.
[0695] Step 2:
[0696] The server analyzes the acquired data and identifies free time (gap time). Specifically, it analyzes the start and end times of each meeting from the calendar information and calculates the time between them. Calendar information is required as input, and the amount of free time between meetings is obtained as output. For example, if Meeting A ends from 9:00 to 10:00, the time from 10:00 to 10:30 is identified.
[0697] Step 3:
[0698] The server uses an emotion engine to analyze the user's emotional state. The input requires the user's voice and text input. The emotion engine analyzes this data and evaluates the user's emotional state (relaxed, stressed, etc.). The output is the user's current emotional state.
[0699] Step 4:
[0700] The server lists tasks appropriate for each spare time based on the analyzed spare time and the results of emotion analysis. The required inputs are spare time information and emotion analysis results. The output is a list of tasks appropriate for each spare time. As a concrete example, it suggests tasks such as "reply to emails (10 minutes)" to a user in a relaxed state, and "organize simple documents (20 minutes)" to a user in a stressed state.
[0701] Step 5:
[0702] The device displays task suggestions received from the server to the user. The input required is a task list from the server. The output is a task list that the user can view on the screen. The user then takes specific actions to view the suggested tasks for each spare time slot.
[0703] Step 6:
[0704] The user selects the task they want to execute from the presented task list. The task list displayed on the terminal is required as input. The user performs the specific action of selecting a task, inputs the selected task information into the terminal, and the terminal sends that information to the server. The output is the selected task information sent to the server.
[0705] Step 7:
[0706] The server manages the progress of the selected task and reflects it in the task management tool. The input required is task information selected by the user. Specifically, the server monitors the task progress in real time and updates the task management tool when the task is completed. The output is the progress information of the completed task recorded in the task management tool.
[0707] (Application example 2)
[0708] 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."
[0709] Conventional task management systems proposed tasks without considering the user's emotional state, making it difficult to maximize user productivity and comfort. Furthermore, in factory work, tasks were not allocated according to the employee's emotional state, resulting in insufficient work efficiency and employee stress management.
[0710] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing tasks appropriate to the free time and the emotional state, means for presenting the proposed tasks to the user, means for acquiring the user's emotional state using an input device, means installed in a factory robot, and means for collecting data via a voice input device or a text input interface. This makes it possible to suggest optimal tasks according to the user's emotional state and improve work efficiency.
[0711] "Email" is an electronic means of exchanging messages over the Internet or other computer networks.
[0712] A "calendar" is a tool for recording and managing a user's schedule information.
[0713] A "task management tool" is a software tool for managing a user's tasks and schedules.
[0714] A "means for collecting data" is a device or software that has the function of obtaining the necessary information from email, calendars, and task management tools.
[0715] A "means for analyzing data" is a device or software for processing collected data and understanding the user's schedule.
[0716] The "means for identifying free time" is a device or software that has the function of analyzing the user's schedule data and finding unreserved time in the schedule.
[0717] The "means for analyzing emotional state" is a device or software that has the function of analyzing voice input or text input from the user and evaluating the psychological state at that time.
[0718] The "means for suggesting a task" is a device or software that has a function of suggesting a specific task to be performed to the user based on the analyzed free time and emotional state.
[0719] The "means for presenting submitted tasks to the user" refers to a device or software having a display function that allows the user to check the proposed tasks.
[0720] The "means for acquiring an emotional state using an input device" refers to a device or software that has the function of receiving a user's voice or text input and analyzing it to grasp the user's emotional state.
[0721] "Means to be installed on robots in factories" refers to software and devices that are installed on robots used in factories.
[0722] A "voice input device" is a device that recognizes a user's voice as digital data.
[0723] A "text entry interface" is a device or software that allows a user to enter text information.
[0724] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools to identify free time in their schedules. It also analyzes the user's emotional state and suggests tasks appropriate to that state.
[0725] The server uses the user's authentication information to access data from email, calendars, and task management tools. This data is collected using APIs. Specifically, it obtains meeting and appointment information from calendars, unread email information from emails, and uncompleted task information from task management tools. The collected data is then analyzed to calculate free time based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[0726] The server also analyzes the user's emotional state using an emotion engine. This analysis is performed using the user's voice input or text input. The emotion engine analyzes the user's tone of voice and text expression to assess the user's current emotional state (e.g., relaxed or stressed). Specific examples include a voice input device and a text input interface.
[0727] The server then suggests suitable tasks based on the analyzed free time and emotional state. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggestions are organized into a list and presented to the user.
[0728] The device displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time and select the tasks they want to perform. Information about the selected tasks is sent to the server, which manages their progress and updates the task management tool accordingly.
[0729] As a concrete example, use the following prompt:
[0730] For relaxed employees, suggest short-term document organization or light work. For stressed employees, suggest simple assembly or checklist work. If there is more than 40 minutes of free time, suggest work that requires concentration.
[0731] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0732] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0733] Step 1:
[0734] The server uses the user's authentication information to access the APIs of email, calendars, and task management tools to collect data. Specifically, the server sends authentication information to each API, obtaining meeting and appointment information from the calendar, unread email information from email, and incomplete task information from the task management tool. User authentication information is required as input, and various data is obtained as output.
[0735] Step 2:
[0736] The server analyzes the collected data and calculates free time based on the user's schedule. Specifically, the server analyzes calendar information and calculates the time until the next meeting based on the start and end times of meetings. Calendar information is required as input, and a list of free time is obtained as output.
[0737] Step 3:
[0738] The server uses an emotion engine to analyze the user's voice and text input and evaluate their emotional state. Specifically, the emotion engine analyzes the user's tone of voice and text expression via a voice input device or text input interface. Voice data or text data is required as input, and the emotional state (relaxed state, stress state, etc.) is obtained as output.
[0739] Step 4:
[0740] The server then suggests suitable tasks based on the analyzed free time and emotional state. Specifically, it selects appropriate tasks by taking into account the length of free time and the user's emotional state. For example, it suggests tasks that require concentration to a user in a relaxed state, and easy tasks to a user in a stressed state. The server requires a list of free time and the user's emotional state as input, and obtains a list of suggested tasks as output.
[0741] Step 5:
[0742] The terminal displays the task suggestions received from the server to the user. Specifically, the terminal displays the suggested tasks in list format on its display. The input required is a list of suggested tasks, and the output is a visual presentation to the user.
[0743] Step 6:
[0744] The user selects the task they want to execute from the task list displayed on the terminal. The selected task information is sent from the terminal to the server. The user's selection information is required as input, and the selected task information is obtained as output.
[0745] Step 7:
[0746] The server manages the progress of the selected task and reflects it in the task management tool. Specifically, it updates the progress of the selected task in real time and records the information in the task management tool when it is completed. Selected task information is required as input, and updated task management information is obtained as output.
[0747] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0748] 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.
[0749] 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.
[0750] 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.
[0751] [Third embodiment]
[0752] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0753] 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.
[0754] 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).
[0755] 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.
[0756] 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.
[0757] 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).
[0758] 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.
[0759] 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.
[0760] 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.
[0761] 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.
[0762] 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.
[0763] 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."
[0764] The present invention is a system that collects data from email, calendars, and task management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate tasks. This system includes a server, a terminal, and a user interface.
[0765] Program processing
[0766] Data collection
[0767] The server first uses the user's credentials to access the data APIs of the email, calendar, and task management tools to collect various data, including information about appointments, open tasks, and emails stored in each tool.
[0768] Data analysis
[0769] The server analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings. The server also evaluates the required time and priority of the collected tasks.
[0770] Task suggestions
[0771] The server then lists tasks that can be performed within that time based on the analyzed time. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, while if you have 60 minutes or more of free time, it suggests creating documents or conducting detailed analysis.
[0772] Presenting to the user interface
[0773] The terminal displays the task suggestions sent from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks are rearranged within the available time.
[0774] Selecting and Running a Task
[0775] The user selects the task they want to perform from the presented task list. The selected task is again managed by the server, and the progress is recorded. When the task is completed, the progress is automatically reflected in the task management tool.
[0776] Specific examples
[0777] Example of input data
[0778] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0779] Email: 3 unread emails
[0780] Task management tool: 5 uncompleted tasks
[0781] Data collection and analysis
[0782] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00), then collects outstanding tasks from email and task management tools and estimates the time required for each task (e.g., 10 minutes required to reply to unread emails).
[0783] Example of a proposal task
[0784] 10:00-10:30: "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0785] 11:30-13:00: "Document preparation (30 minutes)", "Email organization (10 minutes)"
[0786] Presenting to the user interface
[0787] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the tasks suggested for each spare time.
[0788] Task Selection and Execution Example
[0789] The user selects "Create materials (30 minutes)" during the free time between 11:30 and 13:00.
[0790] The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0791] In this way, the present invention allows users to make efficient use of their limited time and improve their productivity.
[0792] The processing flow will be explained below.
[0793] Specific flow of program processing
[0794] Step 1: Collect data
[0795] A user logs in to the application.
[0796] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0797] The terminal transmits the acquired authentication information to the server.
[0798] The server uses these credentials to call each data API and collect schedule and task-related data, such as meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0799] Step 2: Analyze the data
[0800] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0801] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[0802] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[0803] Step 3: Propose a task
[0804] Based on the analysis results, the server lists tasks suitable for each spare time.
[0805] The server selects executable tasks based on the length of the free time and creates a list of suggestions. For example, a 30-minute free time might include "Replying to emails (10 minutes)" and "Checking JIRA tasks (15 minutes)," while a 90-minute free time might include "Creating documents (30 minutes)" and "Organizing emails (10 minutes)."
[0806] Step 4: Presenting the User Interface
[0807] The server sends the analysis results and a list of suggested tasks to the user interface.
[0808] The terminal displays the user's available time and a list of suggested tasks.
[0809] Step 5: Select and execute a task
[0810] The user selects the task they wish to perform from the displayed list of suggestions.
[0811] The terminal transmits the selected task information to the server.
[0812] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[0813] This allows users to efficiently perform appropriate tasks between meetings, improving their productivity. The system as a whole also unifies schedule and task management for users, improving efficiency.
[0814] Example 1
[0815] 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."
[0816] With conventional schedule management systems, users had to obtain information separately from multiple digital tools (email, calendars, task management tools), making it difficult to integrate them and efficiently utilize their free time. This made it difficult to achieve consistent task management to maximize user productivity.
[0817] 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.
[0818] In this invention, the server includes means for collecting data from email, schedule management tools, and work management tools used by the user, means for analyzing the data to identify free time in the user's time management, means for proposing tasks that can be performed during the free time, means for displaying the proposed tasks to the user, means for accessing the data using the user's authentication information, and means for recording the progress of the tasks and reflecting the progress in the work management tool. This allows the user to centrally manage information from multiple digital tools and efficiently utilize free time to perform tasks.
[0819] "User" refers to any individual or entity that uses the System.
[0820] "Email" means a digital form of communication message sent and received over the Internet.
[0821] A "schedule management tool" is a digital application or software that allows users to manage their schedules.
[0822] A "work management tool" is a digital application or software that allows users to manage the progress of tasks.
[0823] "Data collection means" are systems or mechanisms for capturing information from email, scheduling tools, and work management tools.
[0824] "Authentication information" refers to the identification information (e.g., user ID, password, OAuth token) required for a user to access a system.
[0825] A "means for analyzing data" is a system or mechanism for processing the collected data and evaluating free time in the user's schedule, task duration, priority, etc.
[0826] "Free time" is a time period in the user's schedule where no specific plans or tasks are set.
[0827] A "means for suggesting tasks" is a system or mechanism for suggesting tasks or activities that a user can perform in their free time based on the analysis results.
[0828] The "display means" refers to a device or interface for visually presenting information sent from the server to the user.
[0829] A "progress tracking means" is a system or mechanism for tracking the progress of a user's selected task and reflecting that information in an appropriate database or work management tool.
[0830] "Available work in available time" are tasks or activities that are expected to be completed within a particular available time period.
[0831] The present invention provides a system that collects data from emails, schedule management tools, and work management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate work. This system includes a server, a terminal, and a user interface.
[0832] System Configuration
[0833] server
[0834] The server uses the user's authentication information to retrieve data from email, schedule management tools, and work management tools. Specifically, it uses various APIs to collect data, such as the Google Calendar API, Microsoft Outlook API, and Trello API.
[0835] The server analyzes the collected data and calculates free time based on the user's schedule using Python's pandas library and NLP techniques. This analysis evaluates the start and end times of users' meetings, task durations, and priorities.
[0836] Based on the analysis results, the server lists tasks that can be performed during the free time and ranks them in order of priority. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, but if you have 60 minutes or more, it suggests creating documents or conducting detailed analysis.
[0837] The server also continuously manages the progress of proposed work and automatically updates the work management tool with information when the work is completed.
[0838] Terminal
[0839] The device displays task suggestions sent from the server to the user. The user interface is a web browser or smartphone app, and is written in HTML, CSS, and JavaScript. The user can select the task they want to perform from the displayed task list.
[0840] User
[0841] The user selects the task they want to complete from the presented task list. The selected task is managed on the server, and its progress is recorded. When the task is completed, the information is reflected in the work management tool via API.
[0842] Specific examples
[0843] Example of input data
[0844] Schedule management tool: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0845] Email: 3 unread emails
[0846] Work Management Tool: 5 incomplete tasks
[0847] Operation flow
[0848] The server retrieves Meeting A from 9:00-10:00, Meeting B from 10:30-11:30, and Meeting C from 13:00-14:00 from the schedule management tool and confirms that there is free time between each of them (10:00-10:30 and 11:30-13:00).
[0849] Next, it retrieves the number of unread emails from the email and calculates the average time required to reply to each email (for example, 10 minutes).Similarly, it retrieves the number of uncompleted tasks from the work management tool and evaluates their duration and priority.
[0850] The server will suggest "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30, and "prepare documents (30 minutes)" and "organize emails (10 minutes)" for the spare time between 11:30 and 13:00.
[0851] The terminal displays these suggestions on the user interface, and the user selects "Create materials (30 minutes)." The server sets the status of the selected task to "In progress" and manages the progress in real time. When the task is completed, the information is updated in the work management tool.
[0852] Prompt Sentence Examples
[0853] Please explain in detail how the system collects data from email, schedule management tools, and work management tools used by users, analyzes that data, and suggests tasks that are best suited to the free time in the user's schedule. For example, please use a concrete example to explain what tasks would be suggested if the free time was 30 minutes.
[0854] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0855] Step 1:
[0856] A user accesses the system and enters their credentials.
[0857] Specific operation: The user enters their user ID and password or OAuth token into the login screen. Input: User authentication information. Output: Authentication information is sent to the server.
[0858] Step 2:
[0859] The server receives the user's authentication information and performs authentication by referencing the database. If authentication is successful, it generates a session ID and token and returns them to the user.
[0860] Specific operation: The server reads the database (e.g. MySQL) and checks the user's authentication information. Input: User's authentication information. Output: Authentication result, session ID or token.
[0861] Step 3:
[0862] The server uses the acquired session ID or token to access the APIs of email, schedule management tools, and work management tools and collect data.
[0863] Specific operation: The server sends an HTTP request to the Google Calendar API, Microsoft Outlook API, Trello API, etc. and receives JSON formatted data. Input: Session ID or token. Output: JSON formatted data from each tool.
[0864] Step 4:
[0865] The server analyzes the collected data and identifies available times based on the user's schedule.
[0866] Specific operation: The server uses Python's pandas library to calculate the start and end times of calendar events and calculates free time. It also uses NLP techniques to evaluate the duration and priority of tasks. Input: Data in JSON format. Output: A list of free time and tasks.
[0867] Step 5:
[0868] Based on the analysis results, the server lists tasks that can be performed during free time and arranges them in order of priority.
[0869] Specific operation: The server suggests "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30. For the spare time between 11:30 and 13:00, it suggests "create documents (30 minutes)" and "organize emails (10 minutes)". Input: List of free time and tasks. Output: List of suggested tasks sorted by priority.
[0870] Step 6:
[0871] The server sends a list of proposed tasks arranged in order of priority to the terminal.
[0872] Specific operation: The server sends the proposed task list to the terminal as an HTTP response. Input: Proposed task list. Output: The task list is displayed on the terminal.
[0873] Step 7:
[0874] The terminal displays the task suggestions sent from the server to the user, who then selects the task they wish to execute from the displayed task list.
[0875] Specific behavior: The device visually displays a task list and the user makes a selection (e.g., UI using React.js). Input: Suggested task list. Output: User selection.
[0876] Step 8:
[0877] The server sets the status of the selected task to "in progress," records the progress in real time, and updates the work management tool with the information when the task is completed.
[0878] Specific operation: The server updates the task progress using the Trello API, etc. Input: User selection. Output: Task progress update.
[0879] keyword:
[0880] Generative AI model, prompt sentence
[0881] (Application example 1)
[0882] 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."
[0883] In order to maximize productivity within a factory, it is important to improve the utilization rate of the robots used, but conventional systems have made it difficult to efficiently utilize the robots' idle time. This has led to wasted time and reduced overall production efficiency. There has also been a lack of systems for efficiently selecting and executing proposed tasks. The objective of this project is to solve these problems.
[0884] 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.
[0885] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by users, means for analyzing the data to identify free time in the user's schedule, and means for proposing tasks suitable for the free time. This optimizes the user's schedule management, and also includes means for transmitting work schedules and progress statuses of robots operating in the factory to the server, means for the server to analyze the work schedules and progress statuses to identify free time for the robots, means for proposing high-priority tasks suitable for the identified free time in the factory, and means for presenting the proposed tasks to the robots or a manager. This makes it possible to efficiently utilize the robots' free time and improve the production efficiency of the entire factory.
[0886] A "user" is an individual or organization that uses a system or application to manage a task.
[0887] "Email" is a means of sending and receiving messages electronically over the Internet.
[0888] A "calendar" is a tool for recording and managing schedules based on dates and times.
[0889] A "task management tool" is software for managing task progress and priorities.
[0890] A "means for collecting data" is a method or device that obtains the required information from email, calendars, and task management tools.
[0891] The "means for analyzing data" is a method or device for evaluating the user's schedule and task status based on the collected data.
[0892] "Free time" refers to the time available until the next appointment in the user's schedule.
[0893] The "means for suggesting a task" is a method or device for selecting a task that can be performed in the specified free time and presenting it to the user.
[0894] A "presentation means" is a method or device that visually displays the proposed tasks and schedule information to the user.
[0895] A "robot" is a mechanical device that automatically performs specific tasks in factories and other places.
[0896] A "work schedule" refers to the work that a robot is scheduled to do and the time it will take to do it.
[0897] "Progress" is information indicating the status of a task that a robot is currently performing or has completed.
[0898] A "server" is a computer system for performing data collection, analysis, management, and task proposals.
[0899] The "administrator" is the person responsible for operating and managing tasks of robots within the factory.
[0900] A "high priority task" is a task that is urgent or important and needs to be processed with priority.
[0901] This invention relates to a system that automatically manages schedules and proposes tasks for users and factory robots. This system collects data from users' emails, calendars, and task management tools, and then transmits the work schedules and progress status of the factory robots to a server to propose optimal tasks.
[0902] System configuration
[0903] The server includes the following means:
[0904] 1. Data Collection Methods
[0905] 2. Data analysis methods
[0906] 3. Task suggestion method
[0907] 4. Information presentation means
[0908] Data collection methods
[0909] The server collects data from users' email, calendars, and task management tools using the APIs of each tool. It also collects data on work schedules and progress from the robots operating in the factory. This allows for centralized management of schedule data for both users and robots.
[0910] Data Analysis Methods
[0911] The server analyzes the collected data and identifies free time in the user's schedule and free time for the robot. Data analysis is performed using analysis tools and libraries such as Python.
[0912] Task suggestion method
[0913] Based on the analysis results, the server suggests tasks suitable for the user's free time. For users, this could mean replying to emails or completing unfinished tasks. For robots, this could mean high-priority tasks within the factory. Specific examples include quality inspections and temporarily moving parts.
[0914] Information presentation means
[0915] The server displays the proposed tasks on the user's device or the robot's display, allowing the user or administrator to select the appropriate task and execute it smoothly. The display shows the task name, required time, and priority.
[0916] Explanation of program processing
[0917] The server first uses the user's credentials to access and collect data from email, calendar, and task management tools, retrieving the necessary information via APIs, and then uses the collected data to calculate available time in the schedule using the Python datetime library and evaluate task priorities.
[0918] Next, the server selects tasks that fit the available time and suggests them to the user or robot. The server uses a generative AI model to optimize the task suggestions. For example, it suggests "reply to email (10 minutes)" or "check JIRA tasks (15 minutes)" for the user between 10:00 and 10:30.
[0919] Below are some examples and prompts:
[0920] Specific examples
[0921] Schedule: Robot A will perform assembly work from 9:00 to 10:00, followed by maintenance work from 11:00 to 12:00.
[0922] Suggested tasks: For the free time between 10:00 and 11:00, 20 minutes of "Quality Inspection" or 30 minutes of "Parts Movement" are suggested.
[0923] Prompt Sentence Examples
[0924] We will provide the schedule information for Factory Robot "A." Please find available time in the schedule below and suggest high-priority tasks that can be performed during that time.
[0925] Schedule: 9:00-10:00 Assembly, 11:00-12:00 Maintenance
[0926] Suggested task examples: quality inspection, parts movement, inventory check
[0927] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0928] Step 1:
[0929] Data collection
[0930] The server first uses the user's authentication information to access the APIs of email, calendar, and task management tools to collect various data. Specifically, it makes API requests to obtain information such as the user's schedule, uncompleted tasks, and unread emails. Similarly, it collects the work schedules and progress of robots operating in the factory from sensors and internal clocks and sends this information to the server.
[0931] Input: Data from email, calendars, task management tools, robots
[0932] Output: A list of user and robot schedule data
[0933] Step 2:
[0934] Data analysis
[0935] The server analyzes the collected data to identify free time in the user and robot schedules. Specifically, it uses the Python datetime library to calculate the free time between each schedule entry. This analysis uses the start and end times of meetings to calculate the time until the next meeting or task.
[0936] Input: User and robot schedule data
[0937] Output: Free time list
[0938] Step 3:
[0939] Task suggestions
[0940] Based on available time, the server lists tasks that can be performed within that time. For users, it suggests email replies and short tasks. For robots, it suggests high-priority short-term tasks within the factory. Specifically, it uses a generative AI model to optimize task difficulty and time allocation.
[0941] Input: list of free time slots, pool of suggestable tasks
[0942] Output: Proposed task list
[0943] Step 4:
[0944] Presenting to the user interface
[0945] The server displays the proposed tasks on the user's device or the robot's display, visually organizing the proposed task list so that users and administrators can operate it.
[0946] Input: Proposed task list
[0947] Output: Task list displayed on a terminal or display
[0948] Step 5:
[0949] Selecting and Running a Task
[0950] The user or administrator selects a task to be performed from the presented task list. The selected task is again managed by the server, and the progress is recorded. The robot executes the selected task and sends its progress status to the server.
[0951] Input: Task selection by user or administrator
[0952] Output: Task progress and records
[0953] Step 6:
[0954] Recording and reflecting progress
[0955] When a task is completed, the server records its progress and reflects it in the task management tool. Specifically, it saves the task completion information in a database and notifies related applications via API.
[0956] Input: Completed task information
[0957] Output: Updated task management system state
[0958] 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.
[0959] This system collects and analyzes data from email, calendars, and task management tools used by users, and by combining it with an emotion engine, suggests appropriate tasks based on the user's emotional state. This system includes a server, a terminal, and a user interface.
[0960] Program processing
[0961] Data collection and analysis
[0962] The server first uses the user's authentication information to access the data APIs of email, calendar, and task management tools, and collects various data. Specifically, it obtains meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool. Next, it analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[0963] Emotion recognition
[0964] The server recognizes the user's emotional state using an emotion engine by analyzing emotions from the user's voice and text input. The emotion engine analyzes the user's tone of voice and text expressions to assess the user's current emotional state in real time.
[0965] Task suggestions
[0966] The server lists tasks suitable for each spare time based on the analyzed spare time and the emotion analysis results of the emotion engine. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is feeling stressed, it suggests easy tasks. The server organizes these task suggestions into a list and presents it to the user.
[0967] Presenting to the user interface
[0968] The terminal displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks reflect the user's emotional state and are therefore easier to carry out.
[0969] Selecting and Running a Task
[0970] The user selects the task they want to perform from the presented task list. Based on this selection, the device sends the selected task information to the server. The server manages the progress of the selected task and reflects it in the task management tool. When the user completes a task, the progress is automatically recorded.
[0971] Specific examples
[0972] Example of input data
[0973] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[0974] Email: 3 unread emails
[0975] Task management tool: 5 uncompleted tasks
[0976] Emotion engine analysis results: Relaxed state, Stress state
[0977] Data collection and analysis
[0978] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[0979] Example of a proposal task
[0980] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[0981] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[0982] Presenting to the user interface
[0983] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[0984] Task Selection and Execution Example
[0985] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[0986] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[0987] The processing flow will be explained below.
[0988] Specific flow of program processing
[0989] Step 1: Collect data
[0990] A user logs in to the application.
[0991] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[0992] The terminal transmits the acquired authentication information to the server.
[0993] The server uses this authentication information to call each data API and collect schedule and task-related data: specifically, meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[0994] Step 2: Recognize emotions
[0995] The user inputs either voice or text. In the case of voice input, the device captures the user's voice via a microphone and sends it to the server. In the case of text input, the device sends the input text to the server.
[0996] The server analyzes the user's emotions using an emotion engine, which analyzes the voice and text data to identify the user's emotional state (e.g., relaxed, stressed, anxious, etc.).
[0997] Step 3: Analyze the data
[0998] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[0999] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[1000] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[1001] Step 4: Propose a task
[1002] The server lists tasks suitable for each spare time based on the analysis results and sentiment analysis results.
[1003] The server selects tasks that can be performed based on the length of spare time, and creates a list of suggestions taking into account the user's emotional state. Specifically, if the user is relaxed, it will prioritize tasks that require concentration, and if the user is stressed, it will prioritize easier tasks.
[1004] Step 5: Presenting the User Interface
[1005] The server sends the analysis results and the task suggestion list to the user interface.
[1006] The terminal displays the user's available time and a list of suggested tasks.
[1007] Step 6: Select and execute a task
[1008] The user selects the task they wish to perform from the displayed list of suggestions.
[1009] The terminal transmits the selected task information to the server.
[1010] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[1011] Specific examples
[1012] Example of input data
[1013] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[1014] Email: 3 unread emails
[1015] Task management tool: 5 uncompleted tasks
[1016] Emotion engine analysis results: Relaxed state, Stress state
[1017] Data collection and analysis
[1018] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[1019] Example of a proposal task
[1020] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[1021] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[1022] Presenting to the user interface
[1023] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[1024] Task Selection and Execution Example
[1025] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[1026] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1027] Example 2
[1028] 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."
[1029] In today's busy society, users use multiple schedule management and task management tools. However, these tools operate independently, making it difficult for users to efficiently manage their time and complete tasks. Furthermore, these tools do not take into account the user's emotional state when suggesting tasks, leading to increased stress. This results in decreased productivity and increased mental strain.
[1030] 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.
[1031] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing suitable tasks based on the free time and emotional state, means for presenting the proposed tasks to the user, and means for managing and recording the progress of tasks selected by the user, thereby enabling the user to efficiently utilize their free time while taking their emotional state into consideration.
[1032] "Email" is a means of communication that allows users to send and receive text messages and files over the Internet.
[1033] A "calendar" is a time management tool for managing a user's schedule and plans.
[1034] A "task management tool" is a tool that allows users to record and manage tasks and work items that they need to perform.
[1035] "Data collection means" refers to the means of accessing data from email, calendars, and task management tools using the user's authentication information to obtain the required information.
[1036] The "data analysis means" is a means for analyzing the user's schedule based on the collected data and calculating free time and the time required for tasks.
[1037] The "means for identifying free time" is a means for analyzing the start and end times of meetings from the user's calendar, calculating the time until the next meeting, and identifying free time.
[1038] The "means for analyzing emotional state" is a means for analyzing emotions from a user's voice input or text input and evaluating the user's current emotional state.
[1039] The "means for suggesting tasks" is a means for listing and suggesting tasks suitable for free time based on the analyzed free time and the results of emotion analysis.
[1040] The "means for presenting to the user" is a means for displaying the task proposal received from the server to the user via the terminal.
[1041] The "means for managing and recording progress" is a means for monitoring the progress of a task selected by the user in real time and recording that information in the task management tool.
[1042] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools. The system includes a server, a terminal, and a user interface. By combining it with an emotion engine, the system can suggest appropriate tasks based on the user's emotional state.
[1043] First, the server uses the user's credentials to access the email, calendar, and task management tool's data APIs, specifically gathering the number of unread emails from the user's mailbox, scheduled meetings from the calendar, and open tasks from the task management tool, using common API calls.
[1044] The server then analyzes the collected data and identifies free time (gap time) in the user's schedule. For example, it analyzes the start and end times of meetings based on calendar information and calculates the time until the next meeting. This allows it to identify, for example, "free time from 10:00 to 10:30" after "Meeting A from 9:00 to 10:00."
[1045] The server then uses an emotion engine to analyze the user's emotional state, analyzing emotions from the user's voice and text inputs and assessing their current emotional state in real time, which can determine whether the user is relaxed or stressed.
[1046] The server then lists and suggests tasks suitable for each spare time based on the analyzed free time and the results of emotion analysis. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggested tasks accurately reflect the user's emotional state, allowing the user to perform tasks more efficiently.
[1047] The proposed task list is displayed to the user through the terminal. The user can review the proposed task list and select the task they want to perform. After selecting the task, the terminal transmits the selected task information to the server.
[1048] Finally, the server manages the progress of the selected tasks and updates the task management tool in real time. When a user completes a task, the progress is automatically recorded and updated in the task management tool.
[1049] Specific examples
[1050] For example, if a user's calendar includes the following events: "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00," the server will identify the free times from 10:00 to 10:30 and 11:30 to 13:00. If the emotion engine's analysis determines that "10:00 to 10:30 is a relaxed time" and "11:30 to 13:00 is a stressed time," the server will suggest tasks appropriate for each free time.
[1051] Prompt Sentence Examples
[1052] "We collect the user's calendar information, unread emails, and uncompleted tasks, and use an emotion engine to analyze their emotional state. What tasks are suitable for when they are relaxed?"
[1053] "Please tell me how the system that suggests tasks suitable for spare time works. It also uses an emotion engine."
[1054] In this way, the system of the present invention can effectively utilize free time while taking into account the user's emotional state, thereby improving productivity and reducing stress.
[1055] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1056] Step 1:
[1057] The server uses the user's credentials to access the data APIs of the email, calendar, and task management tools. The user's credentials are required as input. Based on this, the server retrieves the number of unread emails, upcoming meetings from the calendar, and open tasks from the task management tool. The output is this collected data.
[1058] Step 2:
[1059] The server analyzes the acquired data and identifies free time (gap time). Specifically, it analyzes the start and end times of each meeting from the calendar information and calculates the time between them. Calendar information is required as input, and the amount of free time between meetings is obtained as output. For example, if Meeting A ends from 9:00 to 10:00, the time from 10:00 to 10:30 is identified.
[1060] Step 3:
[1061] The server uses an emotion engine to analyze the user's emotional state. The input requires the user's voice and text input. The emotion engine analyzes this data and evaluates the user's emotional state (relaxed, stressed, etc.). The output is the user's current emotional state.
[1062] Step 4:
[1063] The server lists tasks appropriate for each spare time based on the analyzed spare time and the results of emotion analysis. The required inputs are spare time information and emotion analysis results. The output is a list of tasks appropriate for each spare time. As a concrete example, it suggests tasks such as "reply to emails (10 minutes)" to a user in a relaxed state, and "organize simple documents (20 minutes)" to a user in a stressed state.
[1064] Step 5:
[1065] The device displays task suggestions received from the server to the user. The input required is a task list from the server. The output is a task list that the user can view on the screen. The user then takes specific actions to view the suggested tasks for each spare time slot.
[1066] Step 6:
[1067] The user selects the task they want to execute from the presented task list. The task list displayed on the terminal is required as input. The user performs the specific action of selecting a task, inputs the selected task information into the terminal, and the terminal sends that information to the server. The output is the selected task information sent to the server.
[1068] Step 7:
[1069] The server manages the progress of the selected task and reflects it in the task management tool. The input required is task information selected by the user. Specifically, the server monitors the task progress in real time and updates the task management tool when the task is completed. The output is the progress information of the completed task recorded in the task management tool.
[1070] (Application example 2)
[1071] 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."
[1072] Conventional task management systems proposed tasks without considering the user's emotional state, making it difficult to maximize user productivity and comfort. Furthermore, in factory work, tasks were not allocated according to the employee's emotional state, resulting in insufficient work efficiency and employee stress management.
[1073] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing tasks appropriate to the free time and the emotional state, means for presenting the proposed tasks to the user, means for acquiring the user's emotional state using an input device, means installed in a factory robot, and means for collecting data via a voice input device or a text input interface. This makes it possible to suggest optimal tasks according to the user's emotional state and improve work efficiency.
[1074] "Email" is an electronic means of exchanging messages over the Internet or other computer networks.
[1075] A "calendar" is a tool for recording and managing a user's schedule information.
[1076] A "task management tool" is a software tool for managing a user's tasks and schedules.
[1077] A "means for collecting data" is a device or software that has the function of obtaining the necessary information from email, calendars, and task management tools.
[1078] A "means for analyzing data" is a device or software for processing collected data and understanding the user's schedule.
[1079] The "means for identifying free time" is a device or software that has the function of analyzing the user's schedule data and finding unreserved time in the schedule.
[1080] The "means for analyzing emotional state" is a device or software that has the function of analyzing voice input or text input from the user and evaluating the psychological state at that time.
[1081] The "means for suggesting a task" is a device or software that has a function of suggesting a specific task to be performed to the user based on the analyzed free time and emotional state.
[1082] The "means for presenting submitted tasks to the user" refers to a device or software having a display function that allows the user to check the proposed tasks.
[1083] The "means for acquiring an emotional state using an input device" refers to a device or software that has the function of receiving a user's voice or text input and analyzing it to grasp the user's emotional state.
[1084] "Means to be installed on robots in factories" refers to software and devices that are installed on robots used in factories.
[1085] A "voice input device" is a device that recognizes a user's voice as digital data.
[1086] A "text entry interface" is a device or software that allows a user to enter text information.
[1087] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools to identify free time in their schedules. It also analyzes the user's emotional state and suggests tasks appropriate to that state.
[1088] The server uses the user's authentication information to access data from email, calendars, and task management tools. This data is collected using APIs. Specifically, it obtains meeting and appointment information from calendars, unread email information from emails, and uncompleted task information from task management tools. The collected data is then analyzed to calculate free time based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[1089] The server also analyzes the user's emotional state using an emotion engine. This analysis is performed using the user's voice input or text input. The emotion engine analyzes the user's tone of voice and text expression to assess the user's current emotional state (e.g., relaxed or stressed). Specific examples include a voice input device and a text input interface.
[1090] The server then suggests suitable tasks based on the analyzed free time and emotional state. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggestions are organized into a list and presented to the user.
[1091] The device displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time and select the tasks they want to perform. Information about the selected tasks is sent to the server, which manages their progress and updates the task management tool accordingly.
[1092] As a concrete example, use the following prompt:
[1093] For relaxed employees, suggest short-term document organization or light work. For stressed employees, suggest simple assembly or checklist work. If there is more than 40 minutes of free time, suggest work that requires concentration.
[1094] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1095] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1096] Step 1:
[1097] The server uses the user's authentication information to access the APIs of email, calendars, and task management tools to collect data. Specifically, the server sends authentication information to each API, obtaining meeting and appointment information from the calendar, unread email information from email, and incomplete task information from the task management tool. User authentication information is required as input, and various data is obtained as output.
[1098] Step 2:
[1099] The server analyzes the collected data and calculates free time based on the user's schedule. Specifically, the server analyzes calendar information and calculates the time until the next meeting based on the start and end times of meetings. Calendar information is required as input, and a list of free time is obtained as output.
[1100] Step 3:
[1101] The server uses an emotion engine to analyze the user's voice and text input and evaluate their emotional state. Specifically, the emotion engine analyzes the user's tone of voice and text expression via a voice input device or text input interface. Voice data or text data is required as input, and the emotional state (relaxed state, stress state, etc.) is obtained as output.
[1102] Step 4:
[1103] The server then suggests suitable tasks based on the analyzed free time and emotional state. Specifically, it selects appropriate tasks by taking into account the length of free time and the user's emotional state. For example, it suggests tasks that require concentration to a user in a relaxed state, and easy tasks to a user in a stressed state. The server requires a list of free time and the user's emotional state as input, and obtains a list of suggested tasks as output.
[1104] Step 5:
[1105] The terminal displays the task suggestions received from the server to the user. Specifically, the terminal displays the suggested tasks in list format on its display. The input required is a list of suggested tasks, and the output is a visual presentation to the user.
[1106] Step 6:
[1107] The user selects the task they want to execute from the task list displayed on the terminal. The selected task information is sent from the terminal to the server. The user's selection information is required as input, and the selected task information is obtained as output.
[1108] Step 7:
[1109] The server manages the progress of the selected task and reflects it in the task management tool. Specifically, it updates the progress of the selected task in real time and records the information in the task management tool when it is completed. Selected task information is required as input, and updated task management information is obtained as output.
[1110] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1111] 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.
[1112] 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.
[1113] 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.
[1114] [Fourth embodiment]
[1115] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1116] 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.
[1117] 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).
[1118] 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.
[1119] 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.
[1120] 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).
[1121] 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.
[1122] 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.
[1123] 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.
[1124] 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.
[1125] 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.
[1126] 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.
[1127] 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."
[1128] The present invention is a system that collects data from email, calendars, and task management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate tasks. This system includes a server, a terminal, and a user interface.
[1129] Program processing
[1130] Data collection
[1131] The server first uses the user's credentials to access the data APIs of the email, calendar, and task management tools to collect various data, including information about appointments, open tasks, and emails stored in each tool.
[1132] Data analysis
[1133] The server analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings. The server also evaluates the required time and priority of the collected tasks.
[1134] Task suggestions
[1135] The server then lists tasks that can be performed within that time based on the analyzed time. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, while if you have 60 minutes or more of free time, it suggests creating documents or conducting detailed analysis.
[1136] Presenting to the user interface
[1137] The terminal displays the task suggestions sent from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks are rearranged within the available time.
[1138] Selecting and Running a Task
[1139] The user selects the task they want to perform from the presented task list. The selected task is again managed by the server, and the progress is recorded. When the task is completed, the progress is automatically reflected in the task management tool.
[1140] Specific examples
[1141] Example of input data
[1142] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[1143] Email: 3 unread emails
[1144] Task management tool: 5 uncompleted tasks
[1145] Data collection and analysis
[1146] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00), then collects outstanding tasks from email and task management tools and estimates the time required for each task (e.g., 10 minutes required to reply to unread emails).
[1147] Example of a proposal task
[1148] 10:00-10:30: "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[1149] 11:30-13:00: "Document preparation (30 minutes)", "Email organization (10 minutes)"
[1150] Presenting to the user interface
[1151] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the tasks suggested for each spare time.
[1152] Task Selection and Execution Example
[1153] The user selects "Create materials (30 minutes)" during the free time between 11:30 and 13:00.
[1154] The server records the progress of the selected task in real time and reflects that information in the task management tool.
[1155] In this way, the present invention allows users to make efficient use of their limited time and improve their productivity.
[1156] The processing flow will be explained below.
[1157] Specific flow of program processing
[1158] Step 1: Collect data
[1159] A user logs in to the application.
[1160] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[1161] The terminal transmits the acquired authentication information to the server.
[1162] The server uses these credentials to call each data API and collect schedule and task-related data, such as meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[1163] Step 2: Analyze the data
[1164] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[1165] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[1166] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[1167] Step 3: Propose a task
[1168] Based on the analysis results, the server lists tasks suitable for each spare time.
[1169] The server selects executable tasks based on the length of the free time and creates a list of suggestions. For example, a 30-minute free time might include "Replying to emails (10 minutes)" and "Checking JIRA tasks (15 minutes)," while a 90-minute free time might include "Creating documents (30 minutes)" and "Organizing emails (10 minutes)."
[1170] Step 4: Presenting the User Interface
[1171] The server sends the analysis results and a list of suggested tasks to the user interface.
[1172] The terminal displays the user's available time and a list of suggested tasks.
[1173] Step 5: Select and execute a task
[1174] The user selects the task they wish to perform from the displayed list of suggestions.
[1175] The terminal transmits the selected task information to the server.
[1176] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[1177] This allows users to efficiently perform appropriate tasks between meetings, improving their productivity. The system as a whole also unifies schedule and task management for users, improving efficiency.
[1178] Example 1
[1179] 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."
[1180] With conventional schedule management systems, users had to obtain information separately from multiple digital tools (email, calendars, task management tools), making it difficult to integrate them and efficiently utilize their free time. This made it difficult to achieve consistent task management to maximize user productivity.
[1181] 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.
[1182] In this invention, the server includes means for collecting data from email, schedule management tools, and work management tools used by the user, means for analyzing the data to identify free time in the user's time management, means for proposing tasks that can be performed during the free time, means for displaying the proposed tasks to the user, means for accessing the data using the user's authentication information, and means for recording the progress of the tasks and reflecting the progress in the work management tool. This allows the user to centrally manage information from multiple digital tools and efficiently utilize free time to perform tasks.
[1183] "User" refers to any individual or entity that uses the System.
[1184] "Email" means a digital form of communication message sent and received over the Internet.
[1185] A "schedule management tool" is a digital application or software that allows users to manage their schedules.
[1186] A "work management tool" is a digital application or software that allows users to manage the progress of tasks.
[1187] "Data collection means" are systems or mechanisms for capturing information from email, scheduling tools, and work management tools.
[1188] "Authentication information" refers to the identification information (e.g., user ID, password, OAuth token) required for a user to access a system.
[1189] A "means for analyzing data" is a system or mechanism for processing the collected data and evaluating free time in the user's schedule, task duration, priority, etc.
[1190] "Free time" is a time period in the user's schedule where no specific plans or tasks are set.
[1191] A "means for suggesting tasks" is a system or mechanism for suggesting tasks or activities that a user can perform in their free time based on the analysis results.
[1192] The "display means" refers to a device or interface for visually presenting information sent from the server to the user.
[1193] A "progress tracking means" is a system or mechanism for tracking the progress of a user's selected task and reflecting that information in an appropriate database or work management tool.
[1194] "Available work in available time" are tasks or activities that are expected to be completed within a particular available time period.
[1195] The present invention provides a system that collects data from emails, schedule management tools, and work management tools used by users, analyzes the data, identifies free time in the user's schedule, and suggests appropriate work. This system includes a server, a terminal, and a user interface.
[1196] System Configuration
[1197] server
[1198] The server uses the user's authentication information to retrieve data from email, schedule management tools, and work management tools. Specifically, it uses various APIs to collect data, such as the Google Calendar API, Microsoft Outlook API, and Trello API.
[1199] The server analyzes the collected data and calculates free time based on the user's schedule using Python's pandas library and NLP techniques. This analysis evaluates the start and end times of users' meetings, task durations, and priorities.
[1200] Based on the analysis results, the server lists tasks that can be performed during the free time and ranks them in order of priority. For example, if you have 30 minutes of free time, it suggests replying to emails or completing short tasks, but if you have 60 minutes or more, it suggests creating documents or conducting detailed analysis.
[1201] The server also continuously manages the progress of proposed work and automatically updates the work management tool with information when the work is completed.
[1202] Terminal
[1203] The device displays task suggestions sent from the server to the user. The user interface is a web browser or smartphone app, and is written in HTML, CSS, and JavaScript. The user can select the task they want to perform from the displayed task list.
[1204] User
[1205] The user selects the task they want to complete from the presented task list. The selected task is managed on the server, and its progress is recorded. When the task is completed, the information is reflected in the work management tool via API.
[1206] Specific examples
[1207] Example of input data
[1208] Schedule management tool: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[1209] Email: 3 unread emails
[1210] Work Management Tool: 5 incomplete tasks
[1211] Operation flow
[1212] The server retrieves Meeting A from 9:00-10:00, Meeting B from 10:30-11:30, and Meeting C from 13:00-14:00 from the schedule management tool and confirms that there is free time between each of them (10:00-10:30 and 11:30-13:00).
[1213] Next, it retrieves the number of unread emails from the email and calculates the average time required to reply to each email (for example, 10 minutes).Similarly, it retrieves the number of uncompleted tasks from the work management tool and evaluates their duration and priority.
[1214] The server will suggest "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30, and "prepare documents (30 minutes)" and "organize emails (10 minutes)" for the spare time between 11:30 and 13:00.
[1215] The terminal displays these suggestions on the user interface, and the user selects "Create materials (30 minutes)." The server sets the status of the selected task to "In progress" and manages the progress in real time. When the task is completed, the information is updated in the work management tool.
[1216] Prompt Sentence Examples
[1217] Please explain in detail how the system collects data from email, schedule management tools, and work management tools used by users, analyzes that data, and suggests tasks that are best suited to the free time in the user's schedule. For example, please use a concrete example to explain what tasks would be suggested if the free time was 30 minutes.
[1218] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1219] Step 1:
[1220] A user accesses the system and enters their credentials.
[1221] Specific operation: The user enters their user ID and password or OAuth token into the login screen. Input: User authentication information. Output: Authentication information is sent to the server.
[1222] Step 2:
[1223] The server receives the user's authentication information and performs authentication by referencing the database. If authentication is successful, it generates a session ID and token and returns them to the user.
[1224] Specific operation: The server reads the database (e.g. MySQL) and checks the user's authentication information. Input: User's authentication information. Output: Authentication result, session ID or token.
[1225] Step 3:
[1226] The server uses the acquired session ID or token to access the APIs of email, schedule management tools, and work management tools and collect data.
[1227] Specific operation: The server sends an HTTP request to the Google Calendar API, Microsoft Outlook API, Trello API, etc. and receives JSON formatted data. Input: Session ID or token. Output: JSON formatted data from each tool.
[1228] Step 4:
[1229] The server analyzes the collected data and identifies available times based on the user's schedule.
[1230] Specific operation: The server uses Python's pandas library to calculate the start and end times of calendar events and calculates free time. It also uses NLP techniques to evaluate the duration and priority of tasks. Input: Data in JSON format. Output: A list of free time and tasks.
[1231] Step 5:
[1232] Based on the analysis results, the server lists tasks that can be performed during free time and arranges them in order of priority.
[1233] Specific operation: The server suggests "reply to emails (10 minutes)" and "check work tasks (15 minutes)" for the spare time between 10:00 and 10:30. For the spare time between 11:30 and 13:00, it suggests "create documents (30 minutes)" and "organize emails (10 minutes)". Input: List of free time and tasks. Output: List of suggested tasks sorted by priority.
[1234] Step 6:
[1235] The server sends a list of proposed tasks arranged in order of priority to the terminal.
[1236] Specific operation: The server sends the proposed task list to the terminal as an HTTP response. Input: Proposed task list. Output: The task list is displayed on the terminal.
[1237] Step 7:
[1238] The terminal displays the task suggestions sent from the server to the user, who then selects the task they wish to execute from the displayed task list.
[1239] Specific behavior: The device visually displays a task list and the user makes a selection (e.g., UI using React.js). Input: Suggested task list. Output: User selection.
[1240] Step 8:
[1241] The server sets the status of the selected task to "in progress," records the progress in real time, and updates the work management tool with the information when the task is completed.
[1242] Specific operation: The server updates the task progress using the Trello API, etc. Input: User selection. Output: Task progress update.
[1243] keyword:
[1244] Generative AI model, prompt sentence
[1245] (Application example 1)
[1246] 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."
[1247] In order to maximize productivity within a factory, it is important to improve the utilization rate of the robots used, but conventional systems have made it difficult to efficiently utilize the robots' idle time. This has led to wasted time and reduced overall production efficiency. There has also been a lack of systems for efficiently selecting and executing proposed tasks. The objective of this project is to solve these problems.
[1248] 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.
[1249] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by users, means for analyzing the data to identify free time in the user's schedule, and means for proposing tasks suitable for the free time. This optimizes the user's schedule management, and also includes means for transmitting work schedules and progress statuses of robots operating in the factory to the server, means for the server to analyze the work schedules and progress statuses to identify free time for the robots, means for proposing high-priority tasks suitable for the identified free time in the factory, and means for presenting the proposed tasks to the robots or a manager. This makes it possible to efficiently utilize the robots' free time and improve the production efficiency of the entire factory.
[1250] A "user" is an individual or organization that uses a system or application to manage a task.
[1251] "Email" is a means of sending and receiving messages electronically over the Internet.
[1252] A "calendar" is a tool for recording and managing schedules based on dates and times.
[1253] A "task management tool" is software for managing task progress and priorities.
[1254] A "means for collecting data" is a method or device that obtains the required information from email, calendars, and task management tools.
[1255] The "means for analyzing data" is a method or device for evaluating the user's schedule and task status based on the collected data.
[1256] "Free time" refers to the time available until the next appointment in the user's schedule.
[1257] The "means for suggesting a task" is a method or device for selecting a task that can be performed in the specified free time and presenting it to the user.
[1258] A "presentation means" is a method or device that visually displays the proposed tasks and schedule information to the user.
[1259] A "robot" is a mechanical device that automatically performs specific tasks in factories and other places.
[1260] A "work schedule" refers to the work that a robot is scheduled to do and the time it will take to do it.
[1261] "Progress" is information indicating the status of a task that a robot is currently performing or has completed.
[1262] A "server" is a computer system for performing data collection, analysis, management, and task proposals.
[1263] The "administrator" is the person responsible for operating and managing tasks of robots within the factory.
[1264] A "high priority task" is a task that is urgent or important and needs to be processed with priority.
[1265] This invention relates to a system that automatically manages schedules and proposes tasks for users and factory robots. This system collects data from users' emails, calendars, and task management tools, and then transmits the work schedules and progress status of the factory robots to a server to propose optimal tasks.
[1266] System configuration
[1267] The server includes the following means:
[1268] 1. Data Collection Methods
[1269] 2. Data analysis methods
[1270] 3. Task suggestion method
[1271] 4. Information presentation means
[1272] Data collection methods
[1273] The server collects data from users' email, calendars, and task management tools using the APIs of each tool. It also collects data on work schedules and progress from the robots operating in the factory. This allows for centralized management of schedule data for both users and robots.
[1274] Data Analysis Methods
[1275] The server analyzes the collected data and identifies free time in the user's schedule and free time for the robot. Data analysis is performed using analysis tools and libraries such as Python.
[1276] Task suggestion method
[1277] Based on the analysis results, the server suggests tasks suitable for the user's free time. For users, this could mean replying to emails or completing unfinished tasks. For robots, this could mean high-priority tasks within the factory. Specific examples include quality inspections and temporarily moving parts.
[1278] Information presentation means
[1279] The server displays the proposed tasks on the user's device or the robot's display, allowing the user or administrator to select the appropriate task and execute it smoothly. The display shows the task name, required time, and priority.
[1280] Explanation of program processing
[1281] The server first uses the user's credentials to access and collect data from email, calendar, and task management tools, retrieving the necessary information via APIs, and then uses the collected data to calculate available time in the schedule using the Python datetime library and evaluate task priorities.
[1282] Next, the server selects tasks that fit the available time and suggests them to the user or robot. The server uses a generative AI model to optimize the task suggestions. For example, it suggests "reply to email (10 minutes)" or "check JIRA tasks (15 minutes)" for the user between 10:00 and 10:30.
[1283] Below are some examples and prompts:
[1284] Specific examples
[1285] Schedule: Robot A will perform assembly work from 9:00 to 10:00, followed by maintenance work from 11:00 to 12:00.
[1286] Suggested tasks: For the free time between 10:00 and 11:00, 20 minutes of "Quality Inspection" or 30 minutes of "Parts Movement" are suggested.
[1287] Prompt Sentence Examples
[1288] We will provide the schedule information for Factory Robot "A." Please find available time in the schedule below and suggest high-priority tasks that can be performed during that time.
[1289] Schedule: 9:00-10:00 Assembly, 11:00-12:00 Maintenance
[1290] Suggested task examples: quality inspection, parts movement, inventory check
[1291] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1292] Step 1:
[1293] Data collection
[1294] The server first uses the user's authentication information to access the APIs of email, calendar, and task management tools to collect various data. Specifically, it makes API requests to obtain information such as the user's schedule, uncompleted tasks, and unread emails. Similarly, it collects the work schedules and progress of robots operating in the factory from sensors and internal clocks and sends this information to the server.
[1295] Input: Data from email, calendars, task management tools, robots
[1296] Output: A list of user and robot schedule data
[1297] Step 2:
[1298] Data analysis
[1299] The server analyzes the collected data to identify free time in the user and robot schedules. Specifically, it uses the Python datetime library to calculate the free time between each schedule entry. This analysis uses the start and end times of meetings to calculate the time until the next meeting or task.
[1300] Input: User and robot schedule data
[1301] Output: Free time list
[1302] Step 3:
[1303] Task suggestions
[1304] Based on available time, the server lists tasks that can be performed within that time. For users, it suggests email replies and short tasks. For robots, it suggests high-priority short-term tasks within the factory. Specifically, it uses a generative AI model to optimize task difficulty and time allocation.
[1305] Input: list of free time slots, pool of suggestable tasks
[1306] Output: Proposed task list
[1307] Step 4:
[1308] Presenting to the user interface
[1309] The server displays the proposed tasks on the user's device or the robot's display, visually organizing the proposed task list so that users and administrators can operate it.
[1310] Input: Proposed task list
[1311] Output: Task list displayed on a terminal or display
[1312] Step 5:
[1313] Selecting and Running a Task
[1314] The user or administrator selects a task to be performed from the presented task list. The selected task is again managed by the server, and the progress is recorded. The robot executes the selected task and sends its progress status to the server.
[1315] Input: Task selection by user or administrator
[1316] Output: Task progress and records
[1317] Step 6:
[1318] Recording and reflecting progress
[1319] When a task is completed, the server records its progress and reflects it in the task management tool. Specifically, it saves the task completion information in a database and notifies related applications via API.
[1320] Input: Completed task information
[1321] Output: Updated task management system state
[1322] 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.
[1323] This system collects and analyzes data from email, calendars, and task management tools used by users, and by combining it with an emotion engine, suggests appropriate tasks based on the user's emotional state. This system includes a server, a terminal, and a user interface.
[1324] Program processing
[1325] Data collection and analysis
[1326] The server first uses the user's authentication information to access the data APIs of email, calendar, and task management tools, and collects various data. Specifically, it obtains meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool. Next, it analyzes the collected data and calculates free time (gap time) based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[1327] Emotion recognition
[1328] The server recognizes the user's emotional state using an emotion engine by analyzing emotions from the user's voice and text input. The emotion engine analyzes the user's tone of voice and text expressions to assess the user's current emotional state in real time.
[1329] Task suggestions
[1330] The server lists tasks suitable for each spare time based on the analyzed spare time and the emotion analysis results of the emotion engine. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is feeling stressed, it suggests easy tasks. The server organizes these task suggestions into a list and presents it to the user.
[1331] Presenting to the user interface
[1332] The terminal displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time. The suggested tasks reflect the user's emotional state and are therefore easier to carry out.
[1333] Selecting and Running a Task
[1334] The user selects the task they want to perform from the presented task list. Based on this selection, the device sends the selected task information to the server. The server manages the progress of the selected task and reflects it in the task management tool. When the user completes a task, the progress is automatically recorded.
[1335] Specific examples
[1336] Example of input data
[1337] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[1338] Email: 3 unread emails
[1339] Task management tool: 5 uncompleted tasks
[1340] Emotion engine analysis results: Relaxed state, Stress state
[1341] Data collection and analysis
[1342] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[1343] Example of a proposal task
[1344] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[1345] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[1346] Presenting to the user interface
[1347] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[1348] Task Selection and Execution Example
[1349] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[1350] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1351] The processing flow will be explained below.
[1352] Specific flow of program processing
[1353] Step 1: Collect data
[1354] A user logs in to the application.
[1355] The terminal (user's device) gets access to email, calendar, and task management tools from the user.
[1356] The terminal transmits the acquired authentication information to the server.
[1357] The server uses this authentication information to call each data API and collect schedule and task-related data: specifically, meeting information from the calendar, unread email information from email, and incomplete task information from the task management tool.
[1358] Step 2: Recognize emotions
[1359] The user inputs either voice or text. In the case of voice input, the device captures the user's voice via a microphone and sends it to the server. In the case of text input, the device sends the input text to the server.
[1360] The server analyzes the user's emotions using an emotion engine, which analyzes the voice and text data to identify the user's emotional state (e.g., relaxed, stressed, anxious, etc.).
[1361] Step 3: Analyze the data
[1362] The server analyzes the collected data and organizes the user's schedule information in chronological order.
[1363] The server calculates the gap time between each meeting based on the start and end times of the meetings. For example, if the schedule is "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00", the gap times are "10:00 to 10:30" and "11:30 to 13:00".
[1364] The server evaluates the time required for each outstanding task, allocating, for example, 10 minutes to reply to an email, 15 minutes to review a JIRA task, and 30 minutes to create a document.
[1365] Step 4: Propose a task
[1366] The server lists tasks suitable for each spare time based on the analysis results and sentiment analysis results.
[1367] The server selects tasks that can be performed based on the length of spare time, and creates a list of suggestions taking into account the user's emotional state. Specifically, if the user is relaxed, it will prioritize tasks that require concentration, and if the user is stressed, it will prioritize easier tasks.
[1368] Step 5: Presenting the User Interface
[1369] The server sends the analysis results and the task suggestion list to the user interface.
[1370] The terminal displays the user's available time and a list of suggested tasks.
[1371] Step 6: Select and execute a task
[1372] The user selects the task they wish to perform from the displayed list of suggestions.
[1373] The terminal transmits the selected task information to the server.
[1374] The server manages the progress of the selected task and reflects it in the task management tool. For example, if "Create documents (30 minutes)" is selected during the spare time between 11:30 and 13:00, the progress is recorded in real time.
[1375] Specific examples
[1376] Example of input data
[1377] Calendar: 9:00-10:00 Meeting A, 10:30-11:30 Meeting B, 13:00-14:00 Meeting C
[1378] Email: 3 unread emails
[1379] Task management tool: 5 uncompleted tasks
[1380] Emotion engine analysis results: Relaxed state, Stress state
[1381] Data collection and analysis
[1382] The server retrieves the time of each meeting from the calendar information and calculates the free time (10:00-10:30 and 11:30-13:00). It collects outstanding tasks from email and task management tools and estimates the required time for each task. It evaluates the user's emotional state using an emotion engine and analyzes which emotional state applies to each free time.
[1383] Example of a proposal task
[1384] 10:00-10:30 (Relaxed): "Reply to emails (10 minutes)", "Check JIRA tasks (15 minutes)"
[1385] 11:30-13:00 (Stressed): "Organize simple documents (20 minutes)", "Organize emails (10 minutes)"
[1386] Presenting to the user interface
[1387] The terminal displays the analysis results and task suggestions received from the server to the user, who can then check the suggested tasks for each spare time slot.
[1388] Task Selection and Execution Example
[1389] The user selects "Simple document organization (20 minutes)" during their free time between 11:30 and 13:00. The server records the progress of the selected task in real time and reflects that information in the task management tool.
[1390] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1391] Example 2
[1392] 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."
[1393] In today's busy society, users use multiple schedule management and task management tools. However, these tools operate independently, making it difficult for users to efficiently manage their time and complete tasks. Furthermore, these tools do not take into account the user's emotional state when suggesting tasks, leading to increased stress. This results in decreased productivity and increased mental strain.
[1394] 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.
[1395] In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing suitable tasks based on the free time and emotional state, means for presenting the proposed tasks to the user, and means for managing and recording the progress of tasks selected by the user, thereby enabling the user to efficiently utilize their free time while taking their emotional state into consideration.
[1396] "Email" is a means of communication that allows users to send and receive text messages and files over the Internet.
[1397] A "calendar" is a time management tool for managing a user's schedule and plans.
[1398] A "task management tool" is a tool that allows users to record and manage tasks and work items that they need to perform.
[1399] "Data collection means" refers to the means of accessing data from email, calendars, and task management tools using the user's authentication information to obtain the required information.
[1400] The "data analysis means" is a means for analyzing the user's schedule based on the collected data and calculating free time and the time required for tasks.
[1401] The "means for identifying free time" is a means for analyzing the start and end times of meetings from the user's calendar, calculating the time until the next meeting, and identifying free time.
[1402] The "means for analyzing emotional state" is a means for analyzing emotions from a user's voice input or text input and evaluating the user's current emotional state.
[1403] The "means for suggesting tasks" is a means for listing and suggesting tasks suitable for free time based on the analyzed free time and the results of emotion analysis.
[1404] The "means for presenting to the user" is a means for displaying the task proposal received from the server to the user via the terminal.
[1405] The "means for managing and recording progress" is a means for monitoring the progress of a task selected by the user in real time and recording that information in the task management tool.
[1406] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools. The system includes a server, a terminal, and a user interface. By combining it with an emotion engine, the system can suggest appropriate tasks based on the user's emotional state.
[1407] First, the server uses the user's credentials to access the email, calendar, and task management tool's data APIs, specifically gathering the number of unread emails from the user's mailbox, scheduled meetings from the calendar, and open tasks from the task management tool, using common API calls.
[1408] The server then analyzes the collected data and identifies free time (gap time) in the user's schedule. For example, it analyzes the start and end times of meetings based on calendar information and calculates the time until the next meeting. This allows it to identify, for example, "free time from 10:00 to 10:30" after "Meeting A from 9:00 to 10:00."
[1409] The server then uses an emotion engine to analyze the user's emotional state, analyzing emotions from the user's voice and text inputs and assessing their current emotional state in real time, which can determine whether the user is relaxed or stressed.
[1410] The server then lists and suggests tasks suitable for each spare time based on the analyzed free time and the results of emotion analysis. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggested tasks accurately reflect the user's emotional state, allowing the user to perform tasks more efficiently.
[1411] The proposed task list is displayed to the user through the terminal. The user can review the proposed task list and select the task they want to perform. After selecting the task, the terminal transmits the selected task information to the server.
[1412] Finally, the server manages the progress of the selected tasks and updates the task management tool in real time. When a user completes a task, the progress is automatically recorded and updated in the task management tool.
[1413] Specific examples
[1414] For example, if a user's calendar includes the following events: "Meeting A from 9:00 to 10:00, Meeting B from 10:30 to 11:30, Meeting C from 13:00 to 14:00," the server will identify the free times from 10:00 to 10:30 and 11:30 to 13:00. If the emotion engine's analysis determines that "10:00 to 10:30 is a relaxed time" and "11:30 to 13:00 is a stressed time," the server will suggest tasks appropriate for each free time.
[1415] Prompt Sentence Examples
[1416] "We collect the user's calendar information, unread emails, and uncompleted tasks, and use an emotion engine to analyze their emotional state. What tasks are suitable for when they are relaxed?"
[1417] "Please tell me how the system that suggests tasks suitable for spare time works. It also uses an emotion engine."
[1418] In this way, the system of the present invention can effectively utilize free time while taking into account the user's emotional state, thereby improving productivity and reducing stress.
[1419] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1420] Step 1:
[1421] The server uses the user's credentials to access the data APIs of the email, calendar, and task management tools. The user's credentials are required as input. Based on this, the server retrieves the number of unread emails, upcoming meetings from the calendar, and open tasks from the task management tool. The output is this collected data.
[1422] Step 2:
[1423] The server analyzes the acquired data and identifies free time (gap time). Specifically, it analyzes the start and end times of each meeting from the calendar information and calculates the time between them. Calendar information is required as input, and the amount of free time between meetings is obtained as output. For example, if Meeting A ends from 9:00 to 10:00, the time from 10:00 to 10:30 is identified.
[1424] Step 3:
[1425] The server uses an emotion engine to analyze the user's emotional state. The input requires the user's voice and text input. The emotion engine analyzes this data and evaluates the user's emotional state (relaxed, stressed, etc.). The output is the user's current emotional state.
[1426] Step 4:
[1427] The server lists tasks appropriate for each spare time based on the analyzed spare time and the results of emotion analysis. The required inputs are spare time information and emotion analysis results. The output is a list of tasks appropriate for each spare time. As a concrete example, it suggests tasks such as "reply to emails (10 minutes)" to a user in a relaxed state, and "organize simple documents (20 minutes)" to a user in a stressed state.
[1428] Step 5:
[1429] The device displays task suggestions received from the server to the user. The input required is a task list from the server. The output is a task list that the user can view on the screen. The user then takes specific actions to view the suggested tasks for each spare time slot.
[1430] Step 6:
[1431] The user selects the task they want to execute from the presented task list. The task list displayed on the terminal is required as input. The user performs the specific action of selecting a task, inputs the selected task information into the terminal, and the terminal sends that information to the server. The output is the selected task information sent to the server.
[1432] Step 7:
[1433] The server manages the progress of the selected task and reflects it in the task management tool. The input required is task information selected by the user. Specifically, the server monitors the task progress in real time and updates the task management tool when the task is completed. The output is the progress information of the completed task recorded in the task management tool.
[1434] (Application example 2)
[1435] 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."
[1436] Conventional task management systems proposed tasks without considering the user's emotional state, making it difficult to maximize user productivity and comfort. Furthermore, in factory work, tasks were not allocated according to the employee's emotional state, resulting in insufficient work efficiency and employee stress management.
[1437] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from email, calendars, and task management tools used by the user, means for analyzing the data to identify free time in the user's schedule, means for analyzing the user's emotional state, means for proposing tasks appropriate to the free time and the emotional state, means for presenting the proposed tasks to the user, means for acquiring the user's emotional state using an input device, means installed in a factory robot, and means for collecting data via a voice input device or a text input interface. This makes it possible to suggest optimal tasks according to the user's emotional state and improve work efficiency.
[1438] "Email" is an electronic means of exchanging messages over the Internet or other computer networks.
[1439] A "calendar" is a tool for recording and managing a user's schedule information.
[1440] A "task management tool" is a software tool for managing a user's tasks and schedules.
[1441] A "means for collecting data" is a device or software that has the function of obtaining the necessary information from email, calendars, and task management tools.
[1442] A "means for analyzing data" is a device or software for processing collected data and understanding the user's schedule.
[1443] The "means for identifying free time" is a device or software that has the function of analyzing the user's schedule data and finding unreserved time in the schedule.
[1444] The "means for analyzing emotional state" is a device or software that has the function of analyzing voice input or text input from the user and evaluating the psychological state at that time.
[1445] The "means for suggesting a task" is a device or software that has a function of suggesting a specific task to be performed to the user based on the analyzed free time and emotional state.
[1446] The "means for presenting submitted tasks to the user" refers to a device or software having a display function that allows the user to check the proposed tasks.
[1447] The "means for acquiring an emotional state using an input device" refers to a device or software that has the function of receiving a user's voice or text input and analyzing it to grasp the user's emotional state.
[1448] "Means to be installed on robots in factories" refers to software and devices that are installed on robots used in factories.
[1449] A "voice input device" is a device that recognizes a user's voice as digital data.
[1450] A "text entry interface" is a device or software that allows a user to enter text information.
[1451] This invention is a system that collects and analyzes data from users' email, calendars, and task management tools to identify free time in their schedules. It also analyzes the user's emotional state and suggests tasks appropriate to that state.
[1452] The server uses the user's authentication information to access data from email, calendars, and task management tools. This data is collected using APIs. Specifically, it obtains meeting and appointment information from calendars, unread email information from emails, and uncompleted task information from task management tools. The collected data is then analyzed to calculate free time based on the user's schedule. This analysis calculates the time until the next meeting based on the start and end times of meetings.
[1453] The server also analyzes the user's emotional state using an emotion engine. This analysis is performed using the user's voice input or text input. The emotion engine analyzes the user's tone of voice and text expression to assess the user's current emotional state (e.g., relaxed or stressed). Specific examples include a voice input device and a text input interface.
[1454] The server then suggests suitable tasks based on the analyzed free time and emotional state. For example, if the user is relaxed, it suggests tasks that require concentration, and if the user is stressed, it suggests easy tasks. These suggestions are organized into a list and presented to the user.
[1455] The device displays the task suggestions received from the server to the user. The user can check the suggested tasks for each spare time and select the tasks they want to perform. Information about the selected tasks is sent to the server, which manages their progress and updates the task management tool accordingly.
[1456] As a concrete example, use the following prompt:
[1457] For relaxed employees, suggest short-term document organization or light work. For stressed employees, suggest simple assembly or checklist work. If there is more than 40 minutes of free time, suggest work that requires concentration.
[1458] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1459] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1460] Step 1:
[1461] The server uses the user's authentication information to access the APIs of email, calendars, and task management tools to collect data. Specifically, the server sends authentication information to each API, obtaining meeting and appointment information from the calendar, unread email information from email, and incomplete task information from the task management tool. User authentication information is required as input, and various data is obtained as output.
[1462] Step 2:
[1463] The server analyzes the collected data and calculates free time based on the user's schedule. Specifically, the server analyzes calendar information and calculates the time until the next meeting based on the start and end times of meetings. Calendar information is required as input, and a list of free time is obtained as output.
[1464] Step 3:
[1465] The server uses an emotion engine to analyze the user's voice and text input and evaluate their emotional state. Specifically, the emotion engine analyzes the user's tone of voice and text expression via a voice input device or text input interface. Voice data or text data is required as input, and the emotional state (relaxed state, stress state, etc.) is obtained as output.
[1466] Step 4:
[1467] The server then suggests suitable tasks based on the analyzed free time and emotional state. Specifically, it selects appropriate tasks by taking into account the length of free time and the user's emotional state. For example, it suggests tasks that require concentration to a user in a relaxed state, and easy tasks to a user in a stressed state. The server requires a list of free time and the user's emotional state as input, and obtains a list of suggested tasks as output.
[1468] Step 5:
[1469] The terminal displays the task suggestions received from the server to the user. Specifically, the terminal displays the suggested tasks in list format on its display. The input required is a list of suggested tasks, and the output is a visual presentation to the user.
[1470] Step 6:
[1471] The user selects the task they want to execute from the task list displayed on the terminal. The selected task information is sent from the terminal to the server. The user's selection information is required as input, and the selected task information is obtained as output.
[1472] Step 7:
[1473] The server manages the progress of the selected task and reflects it in the task management tool. Specifically, it updates the progress of the selected task in real time and records the information in the task management tool when it is completed. Selected task information is required as input, and updated task management information is obtained as output.
[1474] In this way, by effectively utilizing spare time while taking into consideration the user's emotional state, it is possible to improve productivity and reduce stress.
[1475] 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.
[1476] 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.
[1477] 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.
[1478] 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.
[1479] FIG. 9 illustrates 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 behaviors 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.
[1480] 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.
[1481] 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).
[1482] 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.
[1483] 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."
[1484] 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.
[1485] 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).
[1486] 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.
[1487] 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.
[1488] 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.
[1489] 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.
[1490] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, 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 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.
[1491] 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.
[1492] 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.
[1493] 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.
[1494] 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.
[1495] 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.
[1496] The following is further disclosed regarding the above embodiment.
[1497] (Claim 1)
[1498] A means of collecting data from users' email, calendar, and task management tools;
[1499] means for analyzing the data to identify available time in the user's schedule;
[1500] means for suggesting a task suitable for the free time;
[1501] The system includes means for presenting the suggested tasks to a user.
[1502] (Claim 2)
[1503] 10. The system of claim 1, further comprising means for recording progress of the task as it is completed.
[1504] (Claim 3)
[1505] 10. The system of claim 1, further comprising means for accessing email, calendar, and task management tool data using the user's authentication information.
[1506] "Example 1"
[1507] (Claim 1)
[1508] A means of collecting data from users' email, scheduling tools, and work management tools;
[1509] means for analyzing the data to identify free time in the user's time management;
[1510] means for suggesting tasks that can be performed during the free time;
[1511] means for displaying the proposed activity to a user;
[1512] means for accessing the data using the user's authentication information;
[1513] A system including a means for recording the progress of the work and reflecting it in a work management tool.
[1514] (Claim 2)
[1515] The system of claim 1 , further comprising means for evaluating and listing the required time and priority of the proposed work.
[1516] (Claim 3)
[1517] 10. The system of claim 1, further comprising means for listing the proposed activities in order of priority.
[1518] "Application Example 1"
[1519] (Claim 1)
[1520] A means of collecting data from users' email, calendar, and task management tools;
[1521] means for analyzing the data to identify available time in the user's schedule;
[1522] means for suggesting a task suitable for the free time;
[1523] means for presenting the suggested tasks to a user;
[1524] A means for transmitting the work schedule and progress of the robot operating in the factory to a server;
[1525] A means for a server to analyze the work schedule and progress status to identify free time of the robot;
[1526] a means for proposing high-priority tasks in the factory suitable for the identified free time;
[1527] The system includes a means for presenting the proposed tasks to a robot or a manager.
[1528] (Claim 2)
[1529] 10. The system of claim 1, further comprising means for recording progress of the task as it is completed.
[1530] (Claim 3)
[1531] 10. The system of claim 1, further comprising means for accessing email, calendar, and task management tool data using the user's authentication information.
[1532] "Example 2: Combining Emotion Engines"
[1533] (Claim 1)
[1534] A means of collecting data from users' email, calendar, and task management tools;
[1535] means for analyzing the data to identify available time in the user's schedule;
[1536] means for analyzing the emotional state of a user;
[1537] means for suggesting suitable tasks based on said free time and emotional state;
[1538] means for presenting the suggested tasks to a user;
[1539] a means for managing and recording the progress of a user-selected task;
[1540] A system including:
[1541] (Claim 2)
[1542] 10. The system of claim 1, further comprising means for analyzing an emotional state from the user's voice and text inputs.
[1543] (Claim 3)
[1544] 10. The system of claim 1, further comprising means for accessing email, calendar, and task management tool data using the user's authentication information.
[1545] "Application example 2 when combining emotion engines"
[1546] (Claim 1)
[1547] A means of collecting data from users' email, calendar, and task management tools;
[1548] means for analyzing the data to identify available time in the user's schedule;
[1549] means for analyzing the emotional state of a user;
[1550] means for suggesting a task suitable for said free time and said emotional state;
[1551] means for presenting the suggested tasks to a user;
[1552] a means for acquiring an emotional state of a user utilizing an input device;
[1553] a means to be installed on a robot in a factory;
[1554] A system including means for collecting data via a voice input device or a text input interface.
[1555] (Claim 2)
[1556] 10. The system of claim 1, further comprising means for recording progress of the task as it is completed.
[1557] (Claim 3)
[1558] 10. The system of claim 1, further comprising means for accessing email, calendar, and task management tool data using the user's authentication information. [Explanation of symbols]
[1559] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of collecting data from users' email, calendar, and task management tools; means for analyzing the data to identify available time in the user's schedule; means for suggesting a task suitable for the free time; and means for presenting the suggested tasks to a user.
2. The system of claim 1 further comprising means for recording the progress of the task as it is completed.
3. The system of claim 1 further comprising means for accessing email, calendar, and task management tool data using the user's authentication information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A