system
An automated scheduling system addresses inefficiencies in meeting schedule adjustments by using AI to analyze member availability and emotional states, optimizing meeting times and sending invitations, enhancing organizational efficiency and participant satisfaction.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-06
- Publication Date
- 2026-06-18
AI Technical Summary
The manual process of adjusting meeting schedules within organizations is labor-intensive and inefficient, especially with the rise of remote and flexible work styles, making it difficult to efficiently manage members' availability.
A system that automates the acquisition, storage, analysis, and visualization of member schedules, proposes optimal meeting times, and sends invitations, utilizing AI and emotion recognition to enhance scheduling efficiency and participant satisfaction.
Streamlines meeting coordination, reduces time and labor, and improves scheduling efficiency by considering members' availability and emotional states, leading to smoother communication and higher participant satisfaction.
Smart Images

Figure 2026099395000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance that responds to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Conventionally, the work of adjusting the meeting schedule within an organization requires manual confirmation and adjustment, which poses a problem of requiring a huge amount of labor and time. Furthermore, with the spread of remote work and flexible work styles, it has become difficult to efficiently grasp the free time of all members. The present invention aims to solve these problems by an automated method and provide a system that enables efficient schedule adjustment.
Means for Solving the Problems
[0005] The present invention is a system comprising means for acquiring member schedule information, means for storing acquired schedule information, means for analyzing each member's availability based on the schedule information, means for proposing an optimal meeting time using the availability, means for automatically sending meeting invitations based on the optimal meeting time, and means for easily visualizing members' availability and meeting schedules. This streamlines the meeting coordination process, automatically proposes an optimal meeting time where everyone can attend, and facilitates rapid communication.
[0006] "Schedule information" refers to data about the members' schedules, including the date, time, and event details.
[0007] "Means of acquisition" refers to a function that automatically retrieves schedule information from an external schedule management service.
[0008] "Means of storage" refers to a function that saves acquired schedule information and maintains it in a database in a state that allows for later analysis.
[0009] The "means of analysis" refer to a system that, based on stored schedule information, identifies members' available time slots and generates information for efficient meeting scheduling.
[0010] The "method for suggesting the optimal meeting time" is a function that selects and presents the optimal meeting time that all members can attend, based on the analyzed information on available time slots.
[0011] "Methods for automatically sending meeting invitations" refer to features that automatically send emails or notifications to members encouraging them to attend a meeting based on the selected meeting time.
[0012] "Means of visualization" refers to a function that visually displays members' free time and meeting schedules, making them easily accessible. [Brief explanation of the drawing]
[0013] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0014] An example of an embodiment of the system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0017] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0018] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs, various parameters, and the like. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0019] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0021] [First Embodiment]
[0022] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0023] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0024] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0026] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0029] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0032] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0033] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0034] This invention is a system that streamlines scheduling for members and is implemented by deploying its functions in a cloud server environment. The system works in conjunction with each member's external scheduling service, promptly acquiring and analyzing schedule information to propose the optimal meeting time. The program's operation will be explained below in natural language with concrete examples.
[0035] The system first uses an API to receive schedule information from each member's online calendar. As soon as the server receives this data, it stores it in a database. Based on this stored data, the server uses an AI agent to analyze the available free time of each member.
[0036] Based on the results of this analysis, the server extracts common free time slots and proposes several optimal meeting times that everyone can attend. These meeting times are then sent to the users' devices for them to choose from. After the users select an optimal meeting time on their devices, the server automatically generates a meeting invitation email based on their selection and sends it to all members.
[0037] Furthermore, the server provides a web dashboard that allows users to visualize the schedules and availability of all members on their devices. This allows users to intuitively see who is available and when.
[0038] For example, if Team A wants to schedule a project meeting, the server instantly analyzes the availability of all team members and presents three optimal options for the following week. The user then selects one of these options, and the server sends an invitation accordingly, allowing for efficient meeting scheduling.
[0039] This system makes it easier to coordinate events involving multiple members, resulting in significant time savings and smoother communication.
[0040] The following describes the processing flow.
[0041] Step 1:
[0042] The server accesses the API of an external scheduling service at the specified time to retrieve each member's schedule information. The retrieved data is received in JSON format.
[0043] Step 2:
[0044] The server stores the retrieved schedule information in a database. Here, the server compares it with existing data and updates or adds only new appointments.
[0045] Step 3:
[0046] The server uses an AI agent to analyze the schedule information stored in the database and identify each member's free time. The AI checks for scheduling conflicts among members and picks out possible free time slots.
[0047] Step 4:
[0048] The server detects common free time for all members and generates several potential meeting times. These options are listed in a format that requires user interaction.
[0049] Step 5:
[0050] The server sends a list of proposed meeting times to the user's device. The user can then review these times on their device and select the most suitable time.
[0051] Step 6:
[0052] When a user selects a meeting time, the server receives that information and automatically generates and sends invitation emails to all members based on the selected meeting time.
[0053] Step 7:
[0054] The dashboard on the device visualizes and displays members' schedules and availability. This allows users to easily check schedules in real time.
[0055] (Example 1)
[0056] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0057] In group work, coordinating members' schedules is often difficult due to overlapping dates and the challenge of finding a time when everyone can participate. This issue is particularly pronounced in groups with diverse schedules. Traditional manual scheduling methods are time-consuming, labor-intensive, and inefficient, so a more efficient solution is needed.
[0058] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0059] In this invention, the server includes a mechanism for acquiring member schedule information, a mechanism for storing said schedule information, and a mechanism for using an artificial intelligence agent for data analysis. This makes it possible to automatically analyze the available time of members and efficiently propose the optimal meeting time.
[0060] The "system for obtaining member schedule information" is a function that retrieves each participant's individual schedule data from online calendars or schedule management systems.
[0061] The "mechanism for accumulating the schedule information" refers to a function that saves the acquired schedule data in a database or storage and keeps it in a state where it can be used for later analysis and processing.
[0062] The "system for analyzing available time" is a function that analyzes accumulated schedule information to find time slots when each member is available to participate.
[0063] The "system for suggesting the optimal meeting time" is a function that, based on analyzed available time, suggests meeting dates and times that are convenient and available to all members.
[0064] The "automatic meeting invitation sending system" is a function that automatically sends invitation emails or notifications to each member based on the proposed meeting time.
[0065] The "system for visualizing available time and meeting schedules" is a function that visually displays members' free time and meeting schedules, allowing users to intuitively grasp the overall schedule.
[0066] The "system that uses artificial intelligence agents for data analysis" is a function that uses artificial intelligence technology to analyze schedule data and efficiently find complex patterns and available time slots.
[0067] A "mechanism that uses authenticated identification information" is a function that uses tokens or other authentication technologies to send data such as meeting invitations in order to communicate securely with online services.
[0068] This invention is a system for streamlining member scheduling implemented in a cloud server environment. The server obtains and analyzes member schedule information from an online calendar service and uses multiple means to propose the optimal meeting time.
[0069] The server uses an API to retrieve schedule information from each member's online calendar. This API can integrate with common online calendar services, specifically retrieving schedule information via communication protocols. The retrieved data is stored in a database. Relational databases such as MySQL® or PostgreSQL are used here.
[0070] After storage, the server uses an artificial intelligence agent to analyze each member's availability. This AI agent is built using machine learning frameworks such as TENSORFLOW® and PyTorch and is used to analyze the schedule data. The AI analyzes the data and finds common available time slots. Based on the analysis results, the server extracts the optimal meeting time that all members can attend and proposes several time options.
[0071] The server then sends the proposed meeting time to the user's device. The user interface uses technologies such as React.js or Vue.js. The user receives this proposal through the application on their device and selects a meeting time. Once the selection is complete, the server automatically generates a meeting invitation email based on this information and sends it to all members. This email is securely sent using authenticated identification information via an online scheduling service.
[0072] As a concrete example, consider a scenario where Team A wants to schedule a project meeting for the following week. The server crawls each member's calendar, analyzes their available time, and presents three optimal options for the following week. This process allows the user to review the options on their device and quickly select the best meeting time.
[0073] As an example of a prompt, input in the format of "Please suggest the best time for next week's project meeting" allows the AI agent to quickly suggest a suitable time. Based on this prompt, the AI analyzes the data and helps with efficient scheduling.
[0074] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0075] Step 1:
[0076] The server retrieves appointment information from each member's online calendar via an API. This involves an authentication process, where each calendar service grants access to the data using API keys or tokens. The input is each member's calendar information, and the output is appointment data in JSON format. This JSON data includes the time, location, title, etc., for each appointment.
[0077] Step 2:
[0078] The server retrieves schedule information and stores it in a database. The input is schedule data in JSON format, and the output is an insertion operation into the database. This process uses SQL queries to organize and store each member's schedule information in the database (e.g., MySQL or PostgreSQL). The database stores each event's ID, date and time, participants, etc., in a table structure.
[0079] Step 3:
[0080] The server extracts schedule information from the database and uses an AI agent to detect idle time slots. This process uses the database's schedule data as input and analyzes it using an AI agent model (e.g., TensorFlow or PyTorch). The output is a list of available time slots for each member. This list is used to find common free time periods.
[0081] Step 4:
[0082] The server suggests the optimal meeting time based on shared availability. The AI then uses the analyzed results to calculate a time convenient for all members. The input is each member's available time, and the output is a list of proposed meeting time options. This calculation uses an efficient algorithm to determine when all members can participate.
[0083] Step 5:
[0084] The server sends suggested meeting times to the user's device. The input is a list of optimal meeting time options, and the output is a notification via a user interface. These options are displayed on the device for the user to review. The user interface is implemented using web applications such as React.js or Vue.js.
[0085] Step 6:
[0086] The user selects a meeting time on their device, and the server receives the selection. The input is the meeting time selected by the user, and the output is information about the selected meeting time. Based on this information, the server proceeds to the next step.
[0087] Step 7:
[0088] The server automatically generates and sends meeting invitation emails to all members based on the selected meeting time. The input is the selected meeting time information, and the output is a meeting invitation email sent to each member. This email includes meeting details and a link to join. Emails are sent via the SMTP protocol and related APIs.
[0089] (Application Example 1)
[0090] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0091] In managing the operation of autonomous vehicles, coordinating the schedules and maintenance plans of multiple vehicles is complex, making efficient operation difficult. In particular, it is necessary to quickly develop optimal operation plans during peak hours and emergencies. This is essential to improve operational efficiency and maximize vehicle utilization.
[0092] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0093] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, and means for analyzing available time based on said schedule information. This enables the automatic proposal of the optimal operating schedule for each vehicle, resulting in more efficient operation management.
[0094] "Members" refers to multiple vehicles or their associated operations managers, each possessing their own schedule information.
[0095] "Scheduled information" refers to information about the time and location of future operations and maintenance of autonomous vehicles, managed by their operators.
[0096] "Available time" refers to the time when a specific vehicle or manager is available based on scheduling information, and is a period when no other operations or maintenance work are scheduled.
[0097] A "service schedule" is an overall activity plan that includes vehicle operating times, routes, and maintenance times.
[0098] "Automatic transmission" refers to sending generated flight schedules and invitations to the target administrator or system without requiring manual intervention.
[0099] "Visualization" refers to visually displaying vehicle availability and operating schedules, making a lot of information intuitively understandable.
[0100] "Communication means" refers to the technologies and methods used to send and receive data and information, including the use of the internet and other communication networks.
[0101] To implement this invention, a server plays a central role. The server is located in a cloud server environment and uses APIs to retrieve schedule information for each autonomous vehicle and operations manager from external systems. The retrieved information is immediately stored in a database. Based on this data, the server uses an AI agent to analyze the available time for vehicles and managers.
[0102] Based on the available time analyzed by the server, the operation management smartphone app proposes the optimal operation schedule. When the user views and selects a suggested schedule on their device, the server confirms the final operation plan based on that selection and automatically generates a notification to be sent to the relevant administrators and systems.
[0103] Furthermore, the server provides a web dashboard, allowing users to visually check the availability and operating schedules of multiple vehicles through their devices. This enables users to intuitively understand operational efficiency and make optimal decisions.
[0104] For example, a transportation company managing 30 autonomous vehicles can use this system to receive suggestions on which vehicles should run on which routes during peak morning hours the following week. The user can then efficiently finalize the operating schedule based on these suggestions. This maximizes vehicle utilization and improves operational efficiency.
[0105] An example of a prompt message for the generating AI model might be: "Generate the optimal operating schedule for autonomous vehicles next Monday. Please propose an efficient operating plan, taking into account reservation status and maintenance schedules."
[0106] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0107] Step 1:
[0108] The server uses an API from an external system to retrieve schedule information for each autonomous vehicle and fleet manager. The input is schedule information from an external scheduling service, and the output is a dataset representing the retrieved schedule information. This dataset undergoes a format conversion before being stored in the database.
[0109] Step 2:
[0110] The server uses an AI agent to analyze available time based on schedule information stored in a database. The input is schedule information from the database, and the output is a list of available time corresponding to each vehicle and manager. The AI agent detects overlaps in each schedule and performs data calculations to find the optimal available time.
[0111] Step 3:
[0112] The server generates an optimal operational schedule for operational management based on the analyzed free time. The input is a list of free time, and the output is several proposed operational schedule candidates. The generated schedule candidates are adjusted to maximize efficiency.
[0113] Step 4:
[0114] The user uses a terminal to select the most suitable schedule from the suggested schedules. The input is a list of schedule candidates provided by the server, and the output is the specific schedule selected by the user. The user interface provides a user-friendly interface that allows for intuitive selection.
[0115] Step 5:
[0116] The server generates notifications based on the selected operating schedule and automatically sends them to the relevant administrators and systems. The input is the operating schedule selected by the user, and the output is the sent notification. Internally, a communication protocol is in operation, including authentication of the recipient and the use of tokens.
[0117] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0118] This invention provides a system that not only adjusts members' schedules but also sets up meetings while considering participants' emotions. It is implemented by combining AI technology and emotion recognition technology. The system is deployed as a cloud-based application, and users can access it in an online environment.
[0119] This system works by having a server periodically query each member's external scheduling service via an API to retrieve their schedule information. The server stores the retrieved information in a database, and based on this, AI analyzes each member's availability. In addition, the system incorporates an emotion engine that monitors and analyzes participants' emotional states from camera and audio data.
[0120] The results of the emotion engine's analysis are used to optimize meeting times. In particular, it can suggest more suitable meeting times by taking into account user concentration levels and stress levels. For example, if Team B is preparing a new product launch, the system analyzes each member's free time and emotional state and suggests the morning, when stress levels are considered low, as the optimal meeting time.
[0121] Based on the meeting time selected by the user, the server automatically sends meeting invitations to each member. These invitations are sent via an online scheduling service using an authentication token. Furthermore, the dashboard on the user's device visually displays not only the members' schedule information but also sentiment analysis results, aiding in intuitive understanding.
[0122] Furthermore, the emotion engine operates throughout the meeting, monitoring participants' emotional states in real time. This allows for feedback tailored to the meeting's progress, enabling suggestions for breaks or adjustments to the agenda as needed. This, in turn, improves meeting efficiency and participant satisfaction.
[0123] The following describes the processing flow.
[0124] Step 1:
[0125] The server calls each member's scheduling service API at specific intervals to retrieve their schedule information. The retrieved data includes the date, time, and event details from each member's calendar.
[0126] Step 2:
[0127] The server stores the retrieved schedule information in its internal database. Here, the server eliminates data duplication and updates existing data so that new appointments do not conflict with it.
[0128] Step 3:
[0129] The server's AI agent analyzes the schedule information stored in the database and extracts each member's free time. The analysis results are formatted as time slots that are free and do not overlap with other scheduled appointments.
[0130] Step 4:
[0131] The emotion engine collects emotional data in real time from the camera and microphone through the user's device. The emotion engine evaluates the user's emotional state using facial expression analysis and voice tone analysis.
[0132] Step 5:
[0133] The server selects the optimal meeting time from available time slots based on the emotional state obtained from the emotion engine. It prioritizes times when participants are relaxed and generates several optimal candidate times.
[0134] Step 6:
[0135] The server notifies the terminal of the generated list of possible meeting times, and the user reviews these options on the terminal and selects the time they deem most suitable.
[0136] Step 7:
[0137] Once the user selects a meeting time, the server automatically sends meeting invitations to each participant via the online scheduling service using an authentication token.
[0138] Step 8:
[0139] The device's dashboard visually displays the members' availability along with an analysis of their emotional state. This allows users to see who is available to participate and when, as well as their emotional state.
[0140] Step 9:
[0141] Throughout the meeting, the on-device emotion engine monitors participants' states and provides real-time feedback and suggestions as needed to maintain a comfortable meeting flow.
[0142] (Example 2)
[0143] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0144] In modern workplaces, scheduling diverse team members is not only complex, but efficient and comfortable meeting planning that also considers each individual's emotional state is required. However, traditional systems only handle scheduling and lack mechanisms to consider emotional states, resulting in insufficient improvements in meeting efficiency and participant satisfaction.
[0145] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0146] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for acquiring and analyzing data for recognizing member emotional states, means for proposing an optimal meeting time using said available time and emotional states, means for automatically sending meeting invitations based on said optimal meeting times, and means for visualizing member available time, meeting schedules, and emotional analysis results. This makes it possible to propose and send invitations for optimal meeting times that take into account member available time and emotional states, enabling the setting of efficient and highly satisfying meetings.
[0147] "Schedule information" refers to data representing the members' schedules, including details such as the date, time, location, and participants of meetings and appointments.
[0148] "Free time" refers to the time slots during which new appointments, such as meetings, can be scheduled, based on the members' available schedules.
[0149] "Emotional state" refers to information that indicates a member's current emotional and psychological state, and includes stress levels, concentration levels, etc.
[0150] "Analysis" refers to the process of calculation and analysis used to clarify the meaning of information based on acquired data.
[0151] A "proposal" refers to the optimal options or plans that the system presents to the user based on its analysis results.
[0152] A "meeting invitation" is a notification or message sent to inform other members about a meeting and encourage them to attend.
[0153] An "authentication token" is an identification piece of information used to ensure security in online services, and is an electronic certificate that proves that a user is legitimate.
[0154] "Visualization" is a technique that makes information easier to understand intuitively by displaying data visually.
[0155] This invention is a system that streamlines scheduling for members and enables optimal meeting settings while considering the emotional state of participants. The entire system operates as a cloud-based application, and users can access it via the internet.
[0156] The server periodically retrieves members' schedule information using APIs from external scheduling services such as Google® Calendar and Microsoft® Outlook. This schedule information is stored in a database. Based on the retrieved data, the server uses a generative AI model to analyze members' availability. In this process, the AI model is used, for example, in prompts such as "Analyze the user's availability by time slot."
[0157] Simultaneously, the device uses its built-in camera and microphone to capture participants' facial expressions and voice data, which are then analyzed using emotion recognition software (such as OpenCV or Emotion API). This makes it possible to quantify the user's concentration level, stress level, and other factors.
[0158] The server combines information on emotional state with the results of an analysis of free time to suggest the optimal meeting time to the user. For example, the morning hours, which are judged to be periods of high concentration and low stress, can be suggested as potential meeting times.
[0159] Once the user reviews the meeting time suggested by the server and selects the most suitable time, the server uses an authentication token to automatically send meeting invitations to each member via the online scheduling service.
[0160] This system displays an intuitive dashboard on the device, visualizing multifaceted information such as free time and emotional state to aid user understanding. Furthermore, it can re-analyze emotional data in real time during meetings and provide feedback on meeting progress as needed, thereby improving meeting efficiency and participant satisfaction.
[0161] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0162] Step 1:
[0163] The server retrieves the schedule information.
[0164] Input: API authentication information for an external scheduling service.
[0165] Operation: The server sends API requests to external scheduling services such as Google Calendar and Microsoft Outlook to retrieve members' schedule information.
[0166] Output: The retrieved schedule information is returned in JSON format. The server stores this in the database.
[0167] Step 2:
[0168] The server analyzes idle time.
[0169] Input: Schedule information stored in the database.
[0170] Operation: The server uses a generated AI model to analyze each member's schedule information and identify their free time. It sends a prompt message to the AI model instructing it to "analyze the user's free time by time slot."
[0171] Output: The analyzed free time is generated in list format.
[0172] Step 3:
[0173] The device recognizes the emotional state.
[0174] Input: Real-time data from the camera and microphone connected to the user's device.
[0175] Operation: The device uses emotion recognition software such as OpenCV and Emotion API to analyze facial expressions and voice data and evaluate the user's emotional state.
[0176] Output: The results of the emotional state assessment are generated as scoring data.
[0177] Step 4:
[0178] The server will suggest the optimal meeting time.
[0179] Input: List of available time slots and results of the emotional state assessment.
[0180] Operation: The server integrates this input data and calculates the optimal meeting time. It prioritizes times when concentration is high and stress levels are low.
[0181] Output: Optimal meeting time options are suggested.
[0182] Step 5:
[0183] The server sends the meeting invitation.
[0184] Input: The optimal meeting time selected by the user.
[0185] Operation: The server reuses the API of the online scheduling service and automatically sends meeting invitations to members at the selected time using an authentication token.
[0186] Output: Each member receives a meeting invitation via email or notification.
[0187] Step 6:
[0188] It monitors emotional states in real time.
[0189] Input: Real-time camera and microphone data from the meeting.
[0190] Operation: The server continues to run the emotion engine during the meeting, analyzing the emotion data sent by the terminal.
[0191] Output: Based on the analysis results, feedback and suggestions for breaks will be provided according to the progress of the meeting.
[0192] (Application Example 2)
[0193] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0194] When scheduling meetings, it's not enough to simply consider members' availability; it's also necessary to understand their emotional state and propose efficient and comfortable meeting times. Therefore, the challenge lies in achieving meeting coordination that takes into account members' emotions, something that conventional scheduling management systems cannot provide.
[0195] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0196] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for collecting and analyzing participants' emotional states, means for optimizing meeting times based on said emotional states, and means for monitoring participants' emotional states in real time and providing feedback. This makes it possible to propose an optimal meeting schedule that takes into account participants' emotions and level of concentration.
[0197] "Method for obtaining member schedule information" refers to a function that imports each member's schedule data into the server using an API of an external scheduling service.
[0198] "Means for storing the schedule information" refers to a function for saving the acquired schedule data to a database in preparation for subsequent processing.
[0199] "Means for analyzing available time based on the schedule information" refers to an analysis algorithm for extracting the available time of individual members from the stored schedule data.
[0200] "A means of proposing the optimal meeting time using the available time" refers to a function that calculates and proposes the optimal meeting time that all members can attend, based on the analyzed available time.
[0201] "Means for automatically sending meeting invitations based on the optimal meeting time" refers to a function for automatically sending meeting invitations to each member based on the optimal meeting time.
[0202] "A means of visualizing members' availability and meeting schedules" refers to a display function that visually shows each member's availability and meeting schedule so that users can easily understand it.
[0203] "Means for collecting and analyzing participants' emotional states" refers to emotion recognition technology that uses camera and audio data to capture participants' emotions in real time and analyze that data.
[0204] "Means for optimizing meeting time based on emotional state" refers to a function that takes into account the emotional state of participants, selects a less stressful time slot, and adjusts the meeting time accordingly.
[0205] "A means of monitoring participants' emotional states in real time and providing feedback" refers to a function that improves the quality of meetings by continuously monitoring changes in participants' emotions during the meeting and providing feedback as needed.
[0206] This invention utilizes a cloud-based server and user terminals connected to the internet. The server first obtains member schedule information using an external scheduling service API and stores it in a database. Based on this schedule information, AI is used to analyze each member's available time. Software implementing machine learning algorithms is used for the analysis.
[0207] Emotion recognition utilizes the camera and microphone installed on the user's device. Hardware such as a Raspberry Pi can be used. For analyzing emotional states, a deployed emotion analysis model like OpenVINO is used to analyze the collected audio and video data.
[0208] Based on this information, the server suggests meeting times that are considered to be low-stress periods and notifies the user on their smartphone or computer. Furthermore, real-time emotional monitoring is performed during the meeting, and feedback is provided to the user as needed, such as suggesting breaks or adjusting the agenda.
[0209] Specifically, in an online cooking event involving the whole family, emotion monitoring can measure the user's level of enjoyment and suggest breaks at opportune moments to maintain a relaxed atmosphere. An example of a prompt would be, "Please suggest a schedule for our next family online event. We would like to consider participants' emotional data and choose a time that is relaxing for everyone."
[0210] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0211] Step 1:
[0212] The server receives authentication information from the user's terminal and retrieves each member's schedule information via an external scheduling service API. The input is the user's authentication information, and the output is the schedule information. This information is stored in the server's database.
[0213] Step 2:
[0214] The server uses schedule information stored in the database to run a machine learning algorithm and analyze the free time of each member. The input is schedule information, and the output is the analyzed free time. This process uses a data analysis library written in Python.
[0215] Step 3:
[0216] Data collected from the user's device's camera and microphone is sent to the server. The server inputs this data into an emotion analysis engine, which analyzes the participant's emotional state from the audio and video. The input is audio and video data, and the output is an evaluation value of the emotional state. An emotion recognition model such as OpenVINO is used for this analysis.
[0217] Step 4:
[0218] The server generates the most appropriate meeting time candidates based on availability and emotional state ratings. The input is availability and emotional ratings, and the output is a proposed optimal meeting time. A generative AI model assists this process.
[0219] Step 5:
[0220] Based on the proposed meeting time options, the server sends a notification to the user's device. The input is the optimal meeting time option, and a push notification is sent to the user as output. The optimal time is displayed visually on the device, allowing the user to confirm the suggestion.
[0221] Step 6:
[0222] Throughout the meeting, the user terminal's camera and microphone continue to collect data, which the server inputs into the emotion monitoring engine in real time. The input consists of real-time audio and video data, and the output generates feedback that corresponds to the progress of the meeting.
[0223] Step 7:
[0224] Based on user feedback, breaks and agenda adjustments are made as needed. This improves the quality of meetings and participant satisfaction. Input is real-time sentiment evaluation results, and suggested feedback is provided as output.
[0225] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0226] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0227] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0228] [Second Embodiment]
[0229] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0230] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0231] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0232] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0233] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0234] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0235] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0236] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0237] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0238] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0239] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0240] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0241] This invention is a system that streamlines scheduling for members and is implemented by deploying its functions in a cloud server environment. The system works in conjunction with each member's external scheduling service, promptly acquiring and analyzing schedule information to propose the optimal meeting time. The program's operation will be explained below in natural language with concrete examples.
[0242] The system first uses an API to receive schedule information from each member's online calendar. As soon as the server receives this data, it stores it in a database. Based on this stored data, the server uses an AI agent to analyze the available free time of each member.
[0243] Based on the results of this analysis, the server extracts common free time slots and proposes several optimal meeting times that everyone can attend. These meeting times are then sent to the users' devices for them to choose from. After the users select an optimal meeting time on their devices, the server automatically generates a meeting invitation email based on their selection and sends it to all members.
[0244] Furthermore, the server provides a web dashboard that allows users to visualize the schedules and availability of all members on their devices. This allows users to intuitively see who is available and when.
[0245] For example, if Team A wants to schedule a project meeting, the server instantly analyzes the availability of all team members and presents three optimal options for the following week. The user then selects one of these options, and the server sends an invitation accordingly, allowing for efficient meeting scheduling.
[0246] This system makes it easier to coordinate events involving multiple members, resulting in significant time savings and smoother communication.
[0247] The following describes the processing flow.
[0248] Step 1:
[0249] The server accesses the API of an external scheduling service at the specified time to retrieve each member's schedule information. The retrieved data is received in JSON format.
[0250] Step 2:
[0251] The server stores the retrieved schedule information in a database. Here, the server compares it with existing data and updates or adds only new appointments.
[0252] Step 3:
[0253] The server uses an AI agent to analyze the schedule information stored in the database and identify each member's free time. The AI checks for scheduling conflicts among members and picks out possible free time slots.
[0254] Step 4:
[0255] The server detects common free time for all members and generates several potential meeting times. These options are listed in a format that requires user interaction.
[0256] Step 5:
[0257] The server sends a list of proposed meeting times to the user's device. The user can then review these times on their device and select the most suitable time.
[0258] Step 6:
[0259] When a user selects a meeting time, the server receives that information and automatically generates and sends invitation emails to all members based on the selected meeting time.
[0260] Step 7:
[0261] The dashboard on the device visualizes and displays members' schedules and availability. This allows users to easily check schedules in real time.
[0262] (Example 1)
[0263] Next, we will describe Example 1. 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."
[0264] In group work, coordinating members' schedules is often difficult due to overlapping dates and the challenge of finding a time when everyone can participate. This issue is particularly pronounced in groups with diverse schedules. Traditional manual scheduling methods are time-consuming, labor-intensive, and inefficient, so a more efficient solution is needed.
[0265] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0266] In this invention, the server includes a mechanism for acquiring member schedule information, a mechanism for storing said schedule information, and a mechanism for using an artificial intelligence agent for data analysis. This makes it possible to automatically analyze the available time of members and efficiently propose the optimal meeting time.
[0267] The "system for obtaining member schedule information" is a function that retrieves each participant's individual schedule data from online calendars or schedule management systems.
[0268] The "mechanism for accumulating the schedule information" refers to a function that saves the acquired schedule data in a database or storage and keeps it in a state where it can be used for later analysis and processing.
[0269] The "system for analyzing available time" is a function that analyzes accumulated schedule information to find time slots when each member is available to participate.
[0270] The "system for suggesting the optimal meeting time" is a function that, based on analyzed available time, suggests meeting dates and times that are convenient and available to all members.
[0271] The "automatic meeting invitation sending system" is a function that automatically sends invitation emails or notifications to each member based on the proposed meeting time.
[0272] The "system for visualizing available time and meeting schedules" is a function that visually displays members' free time and meeting schedules, allowing users to intuitively grasp the overall schedule.
[0273] The "system that uses artificial intelligence agents for data analysis" is a function that uses artificial intelligence technology to analyze schedule data and efficiently find complex patterns and available time slots.
[0274] A "mechanism that uses authenticated identification information" is a function that uses tokens or other authentication technologies to send data such as meeting invitations in order to communicate securely with online services.
[0275] This invention is a system for streamlining member scheduling implemented in a cloud server environment. The server obtains and analyzes member schedule information from an online calendar service and uses multiple means to propose the optimal meeting time.
[0276] The server uses an API to retrieve schedule information from each member's online calendar. This API can integrate with common online calendar services, specifically retrieving schedule information via communication protocols. The retrieved data is stored in a database, such as a relational database like MySQL or PostgreSQL.
[0277] After storage, the server uses an artificial intelligence agent to analyze each member's availability. This AI agent is built using machine learning frameworks such as TensorFlow and PyTorch and is used to analyze the schedule data. The AI analyzes the data and finds common available time slots. Based on the analysis results, the server extracts the optimal meeting time that all members can attend and proposes several time options.
[0278] The server then sends the proposed meeting time to the user's device. The user interface uses technologies such as React.js or Vue.js. The user receives this proposal through the application on their device and selects a meeting time. Once the selection is complete, the server automatically generates a meeting invitation email based on this information and sends it to all members. This email is securely sent using authenticated identification information via an online scheduling service.
[0279] As a concrete example, consider a scenario where Team A wants to schedule a project meeting for the following week. The server crawls each member's calendar, analyzes their available time, and presents three optimal options for the following week. This process allows the user to review the options on their device and quickly select the best meeting time.
[0280] As an example of a prompt, input in the format of "Please suggest the best time for next week's project meeting" allows the AI agent to quickly suggest a suitable time. Based on this prompt, the AI analyzes the data and helps with efficient scheduling.
[0281] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0282] Step 1:
[0283] The server retrieves scheduling information from each member's online calendar via the API. This includes an authentication process, where access to the data is permitted using an API key or token from each calendar service. With each member's calendar information as input, scheduled data in JSON format is obtained as output. This JSON data includes the time, location, title, etc. of each schedule.
[0284] Step 2:
[0285] The server stores the scheduling information it has retrieved in a database. With scheduled data in JSON format as input, the output is an insertion operation into the database. For this process, an SQL query is used to organize and store each member's scheduling information in a database (e.g., MySQL or PostgreSQL). In the database, the ID, date and time, participants, etc. of each event are stored in a table structure.
[0286] Step 3:
[0287] The server extracts scheduling information from the database and uses an AI agent to detect non-operating time zones. In this process, the scheduling data in the database is used as input and analyzed using an AI agent model (e.g., TensorFlow or PyTorch). As output, a list of available time zones for each member is obtained. This list is used to find common free time.
[0288] Step 4:
[0289] Based on the common free time, the server proposes an optimal meeting time. Using the results analyzed by the AI, the convenient times for all members are calculated. The input is the available times for each member, and the output is a list of multiple proposed meeting time candidates. For this calculation, an efficient algorithm is used to determine the times when all members can participate.
[0290] Step 5:
[0291] The server sends suggested meeting times to the user's device. The input is a list of optimal meeting time options, and the output is a notification via a user interface. These options are displayed on the device for the user to review. The user interface is implemented using web applications such as React.js or Vue.js.
[0292] Step 6:
[0293] The user selects a meeting time on their device, and the server receives the selection. The input is the meeting time selected by the user, and the output is information about the selected meeting time. Based on this information, the server proceeds to the next step.
[0294] Step 7:
[0295] The server automatically generates and sends meeting invitation emails to all members based on the selected meeting time. The input is the selected meeting time information, and the output is a meeting invitation email sent to each member. This email includes meeting details and a link to join. Emails are sent via the SMTP protocol and related APIs.
[0296] (Application Example 1)
[0297] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0298] In managing the operation of autonomous vehicles, coordinating the schedules and maintenance plans of multiple vehicles is complex, making efficient operation difficult. In particular, it is necessary to quickly develop optimal operation plans during peak hours and emergencies. This is essential to improve operational efficiency and maximize vehicle utilization.
[0299] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0300] In this invention, the server includes means for acquiring the schedule information of members, means for storing the schedule information, and means for analyzing free time based on the schedule information. As a result, an optimal operation schedule for each vehicle can be automatically proposed, enabling more efficient operation management.
[0301] A "member" refers to a plurality of vehicles or operation managers related thereto, and is a subject having respective schedule information.
[0302] "Schedule information" is information on time and location regarding future operations and maintenance managed by an autonomous vehicle or its administrator.
[0303] "Free time" refers to the time available for a specific vehicle or administrator based on the schedule information, and is a time period during which no other operations or maintenance work is scheduled.
[0304] An "operation schedule" is an overall activity plan including the operation time, route, and maintenance time of a vehicle.
[0305] "Automatic transmission" refers to transmitting the generated operation schedule or invitation to the target administrator or system without requiring manual operation.
[0306] "Visualization" means visually displaying the free time and operation schedule of a vehicle so that a lot of information can be intuitively understood.
[0307] "Communication means" is a technology or method used for transmitting and receiving data and information, and uses the Internet or other communication networks.
[0308] To implement this invention, a server plays a central role. The server is located in a cloud server environment and uses APIs to retrieve schedule information for each autonomous vehicle and operations manager from external systems. The retrieved information is immediately stored in a database. Based on this data, the server uses an AI agent to analyze the available time for vehicles and managers.
[0309] Based on the available time analyzed by the server, the operation management smartphone app proposes the optimal operation schedule. When the user views and selects a suggested schedule on their device, the server confirms the final operation plan based on that selection and automatically generates a notification to be sent to the relevant administrators and systems.
[0310] Furthermore, the server provides a web dashboard, allowing users to visually check the availability and operating schedules of multiple vehicles through their devices. This enables users to intuitively understand operational efficiency and make optimal decisions.
[0311] For example, a transportation company managing 30 autonomous vehicles can use this system to receive suggestions on which vehicles should run on which routes during peak morning hours the following week. The user can then efficiently finalize the operating schedule based on these suggestions. This maximizes vehicle utilization and improves operational efficiency.
[0312] An example of a prompt message for the generating AI model might be: "Generate the optimal operating schedule for autonomous vehicles next Monday. Please propose an efficient operating plan, taking into account reservation status and maintenance schedules."
[0313] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0314] Step 1:
[0315] The server uses an API from an external system to retrieve schedule information for each autonomous vehicle and fleet manager. The input is schedule information from an external scheduling service, and the output is a dataset representing the retrieved schedule information. This dataset undergoes a format conversion before being stored in the database.
[0316] Step 2:
[0317] The server uses an AI agent to analyze available time based on schedule information stored in a database. The input is schedule information from the database, and the output is a list of available time corresponding to each vehicle and manager. The AI agent detects overlaps in each schedule and performs data calculations to find the optimal available time.
[0318] Step 3:
[0319] The server generates an optimal operational schedule for operational management based on the analyzed free time. The input is a list of free time, and the output is several proposed operational schedule candidates. The generated schedule candidates are adjusted to maximize efficiency.
[0320] Step 4:
[0321] The user uses a terminal to select the most suitable schedule from the suggested schedules. The input is a list of schedule candidates provided by the server, and the output is the specific schedule selected by the user. The user interface provides a user-friendly interface that allows for intuitive selection.
[0322] Step 5:
[0323] The server generates notifications based on the selected operating schedule and automatically sends them to the relevant administrators and systems. The input is the operating schedule selected by the user, and the output is the sent notification. Internally, a communication protocol is in operation, including authentication of the recipient and the use of tokens.
[0324] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0325] This invention provides a system that not only adjusts members' schedules but also sets up meetings while considering participants' emotions. It is implemented by combining AI technology and emotion recognition technology. The system is deployed as a cloud-based application, and users can access it in an online environment.
[0326] This system works by having a server periodically query each member's external scheduling service via an API to retrieve their schedule information. The server stores the retrieved information in a database, and based on this, AI analyzes each member's availability. In addition, the system incorporates an emotion engine that monitors and analyzes participants' emotional states from camera and audio data.
[0327] The results of the emotion engine's analysis are used to optimize meeting times. In particular, it can suggest more suitable meeting times by taking into account user concentration levels and stress levels. For example, if Team B is preparing a new product launch, the system analyzes each member's free time and emotional state and suggests the morning, when stress levels are considered low, as the optimal meeting time.
[0328] Based on the meeting time selected by the user, the server automatically sends meeting invitations to each member. These invitations are sent via an online scheduling service using an authentication token. Furthermore, the dashboard on the user's device visually displays not only the members' schedule information but also sentiment analysis results, aiding in intuitive understanding.
[0329] Furthermore, the emotion engine operates throughout the meeting, monitoring participants' emotional states in real time. This allows for feedback tailored to the meeting's progress, enabling suggestions for breaks or adjustments to the agenda as needed. This, in turn, improves meeting efficiency and participant satisfaction.
[0330] The following describes the processing flow.
[0331] Step 1:
[0332] The server calls each member's scheduling service API at specific intervals to retrieve their schedule information. The retrieved data includes the date, time, and event details from each member's calendar.
[0333] Step 2:
[0334] The server stores the retrieved schedule information in its internal database. Here, the server eliminates data duplication and updates existing data so that new appointments do not conflict with it.
[0335] Step 3:
[0336] The server's AI agent analyzes the schedule information stored in the database and extracts each member's free time. The analysis results are formatted as time slots that are free and do not overlap with other scheduled appointments.
[0337] Step 4:
[0338] The emotion engine collects emotional data in real time from the camera and microphone through the user's device. The emotion engine evaluates the user's emotional state using facial expression analysis and voice tone analysis.
[0339] Step 5:
[0340] The server selects the optimal meeting time from available time slots based on the emotional state obtained from the emotion engine. It prioritizes times when participants are relaxed and generates several optimal candidate times.
[0341] Step 6:
[0342] The server notifies the terminal of the generated list of possible meeting times, and the user reviews these options on the terminal and selects the time they deem most suitable.
[0343] Step 7:
[0344] Once the user selects a meeting time, the server automatically sends meeting invitations to each participant via the online scheduling service using an authentication token.
[0345] Step 8:
[0346] The device's dashboard visually displays the members' availability along with an analysis of their emotional state. This allows users to see who is available to participate and when, as well as their emotional state.
[0347] Step 9:
[0348] Throughout the meeting, the on-device emotion engine monitors participants' states and provides real-time feedback and suggestions as needed to maintain a comfortable meeting flow.
[0349] (Example 2)
[0350] Next, we will describe Example 2. 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".
[0351] In modern workplaces, scheduling diverse team members is not only complex, but efficient and comfortable meeting planning that also considers each individual's emotional state is required. However, traditional systems only handle scheduling and lack mechanisms to consider emotional states, resulting in insufficient improvements in meeting efficiency and participant satisfaction.
[0352] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0353] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for acquiring and analyzing data for recognizing member emotional states, means for proposing an optimal meeting time using said available time and emotional states, means for automatically sending meeting invitations based on said optimal meeting times, and means for visualizing member available time, meeting schedules, and emotional analysis results. This makes it possible to propose and send invitations for optimal meeting times that take into account member available time and emotional states, enabling the setting of efficient and highly satisfying meetings.
[0354] "Schedule information" refers to data representing the members' schedules, including details such as the date, time, location, and participants of meetings and appointments.
[0355] "Free time" refers to the time slots during which new appointments, such as meetings, can be scheduled, based on the members' available schedules.
[0356] "Emotional state" refers to information that indicates a member's current emotional and psychological state, and includes stress levels, concentration levels, etc.
[0357] "Analysis" refers to the process of calculation and analysis used to clarify the meaning of information based on acquired data.
[0358] A "proposal" refers to the optimal options or plans that the system presents to the user based on its analysis results.
[0359] A "meeting invitation" is a notification or message sent to inform other members about a meeting and encourage them to attend.
[0360] An "authentication token" is an identification piece of information used to ensure security in online services, and is an electronic certificate that proves that a user is legitimate.
[0361] "Visualization" is a technique that makes information easier to understand intuitively by displaying data visually.
[0362] This invention is a system that streamlines scheduling for members and enables optimal meeting settings while considering the emotional state of participants. The entire system operates as a cloud-based application, and users can access it via the internet.
[0363] The server periodically retrieves members' schedule information using APIs from external scheduling services such as Google Calendar and Microsoft Outlook. This schedule information is stored in a database. Based on the retrieved data, the server uses a generative AI model to analyze members' availability. In this process, the AI model is used in prompts such as, "Analyze users' availability by time slot."
[0364] Simultaneously, the device uses its built-in camera and microphone to capture participants' facial expressions and voice data, which are then analyzed using emotion recognition software (such as OpenCV or Emotion API). This makes it possible to quantify the user's concentration level, stress level, and other factors.
[0365] The server combines information on emotional state with the results of an analysis of free time to suggest the optimal meeting time to the user. For example, the morning hours, which are judged to be periods of high concentration and low stress, can be suggested as potential meeting times.
[0366] Once the user reviews the meeting time suggested by the server and selects the most suitable time, the server uses an authentication token to automatically send meeting invitations to each member via the online scheduling service.
[0367] This system displays an intuitive dashboard on the device, visualizing multifaceted information such as free time and emotional state to aid user understanding. Furthermore, it can re-analyze emotional data in real time during meetings and provide feedback on meeting progress as needed, thereby improving meeting efficiency and participant satisfaction.
[0368] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0369] Step 1:
[0370] The server retrieves the schedule information.
[0371] Input: API authentication information for an external scheduling service.
[0372] Operation: The server sends API requests to external scheduling services such as Google Calendar and Microsoft Outlook to retrieve members' schedule information.
[0373] Output: The retrieved schedule information is returned in JSON format. The server stores this in the database.
[0374] Step 2:
[0375] The server analyzes idle time.
[0376] Input: Schedule information stored in the database.
[0377] Operation: The server uses a generated AI model to analyze each member's schedule information and identify their free time. It sends a prompt message to the AI model instructing it to "analyze the user's free time by time slot."
[0378] Output: The analyzed free time is generated in list format.
[0379] Step 3:
[0380] The device recognizes the emotional state.
[0381] Input: Real-time data from the camera and microphone connected to the user's device.
[0382] Operation: The device uses emotion recognition software such as OpenCV and Emotion API to analyze facial expressions and voice data and evaluate the user's emotional state.
[0383] Output: The results of the emotional state assessment are generated as scoring data.
[0384] Step 4:
[0385] The server will suggest the optimal meeting time.
[0386] Input: List of available time slots and results of the emotional state assessment.
[0387] Operation: The server integrates this input data and calculates the optimal meeting time. It prioritizes times when concentration is high and stress levels are low.
[0388] Output: Optimal meeting time options are suggested.
[0389] Step 5:
[0390] The server sends the meeting invitation.
[0391] Input: The optimal meeting time selected by the user.
[0392] Operation: The server reuses the API of the online scheduling service and automatically sends meeting invitations to members at the selected time using an authentication token.
[0393] Output: Each member receives a meeting invitation via email or notification.
[0394] Step 6:
[0395] It monitors emotional states in real time.
[0396] Input: Real-time camera and microphone data from the meeting.
[0397] Operation: The server continues to run the emotion engine during the meeting, analyzing the emotion data sent by the terminal.
[0398] Output: Based on the analysis results, feedback and suggestions for breaks will be provided according to the progress of the meeting.
[0399] (Application Example 2)
[0400] Next, we will explain application example 2. In the following explanation, 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] When scheduling meetings, it's not enough to simply consider members' availability; it's also necessary to understand their emotional state and propose efficient and comfortable meeting times. Therefore, the challenge lies in achieving meeting coordination that takes into account members' emotions, something that conventional scheduling management systems cannot provide.
[0402] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0403] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for collecting and analyzing participants' emotional states, means for optimizing meeting times based on said emotional states, and means for monitoring participants' emotional states in real time and providing feedback. This makes it possible to propose an optimal meeting schedule that takes into account participants' emotions and level of concentration.
[0404] "Method for obtaining member schedule information" refers to a function that imports each member's schedule data into the server using an API of an external scheduling service.
[0405] "Means for storing the schedule information" refers to a function for saving the acquired schedule data to a database in preparation for subsequent processing.
[0406] "Means for analyzing available time based on the schedule information" refers to an analysis algorithm for extracting the available time of individual members from the stored schedule data.
[0407] "A means of proposing the optimal meeting time using the available time" refers to a function that calculates and proposes the optimal meeting time that all members can attend, based on the analyzed available time.
[0408] "Means for automatically sending meeting invitations based on the optimal meeting time" refers to a function for automatically sending meeting invitations to each member based on the optimal meeting time.
[0409] "A means of visualizing members' availability and meeting schedules" refers to a display function that visually shows each member's availability and meeting schedule so that users can easily understand it.
[0410] "Means for collecting and analyzing participants' emotional states" refers to emotion recognition technology that uses camera and audio data to capture participants' emotions in real time and analyze that data.
[0411] "Means for optimizing meeting time based on emotional state" refers to a function that takes into account the emotional state of participants, selects a less stressful time slot, and adjusts the meeting time accordingly.
[0412] "A means of monitoring participants' emotional states in real time and providing feedback" refers to a function that improves the quality of meetings by continuously monitoring changes in participants' emotions during the meeting and providing feedback as needed.
[0413] This invention utilizes a cloud-based server and user terminals connected to the internet. The server first obtains member schedule information using an external scheduling service API and stores it in a database. Based on this schedule information, AI is used to analyze each member's available time. Software implementing machine learning algorithms is used for the analysis.
[0414] Emotion recognition utilizes the camera and microphone installed on the user's device. Hardware such as a Raspberry Pi can be used. For analyzing emotional states, a deployed emotion analysis model like OpenVINO is used to analyze the collected audio and video data.
[0415] Based on this information, the server suggests meeting times that are considered to be low-stress periods and notifies the user on their smartphone or computer. Furthermore, real-time emotional monitoring is performed during the meeting, and feedback is provided to the user as needed, such as suggesting breaks or adjusting the agenda.
[0416] Specifically, in an online cooking event involving the whole family, emotion monitoring can measure the user's level of enjoyment and suggest breaks at opportune moments to maintain a relaxed atmosphere. An example of a prompt would be, "Please suggest a schedule for our next family online event. We would like to consider participants' emotional data and choose a time that is relaxing for everyone."
[0417] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0418] Step 1:
[0419] The server receives authentication information from the user terminal and retrieves each member's schedule information via an external scheduling service API. The input is the user's authentication information, and the output is the schedule information. This information is stored in the server's database.
[0420] Step 2:
[0421] The server uses schedule information stored in the database to run a machine learning algorithm and analyze the free time of each member. The input is schedule information, and the output is the analyzed free time. This process uses a data analysis library written in Python.
[0422] Step 3:
[0423] Data collected from the user's device's camera and microphone is sent to the server. The server inputs this data into an emotion analysis engine, which analyzes the participant's emotional state from the audio and video. The input is audio and video data, and the output is an evaluation value of the emotional state. An emotion recognition model such as OpenVINO is used for this analysis.
[0424] Step 4:
[0425] The server generates the most appropriate meeting time candidates based on availability and emotional state ratings. The input is availability and emotional ratings, and the output is a proposed optimal meeting time. A generative AI model assists this process.
[0426] Step 5:
[0427] Based on the proposed meeting time options, the server sends a notification to the user's device. The input is the optimal meeting time option, and a push notification is sent to the user as output. The optimal time is displayed visually on the device, allowing the user to confirm the suggestion.
[0428] Step 6:
[0429] Throughout the meeting, the user terminal's camera and microphone continue to collect data, which the server inputs into the emotion monitoring engine in real time. The input consists of real-time audio and video data, and the output generates feedback that corresponds to the progress of the meeting.
[0430] Step 7:
[0431] Based on user feedback, breaks and agenda adjustments are made as needed. This improves the quality of meetings and participant satisfaction. Input is real-time sentiment evaluation results, and suggested feedback is provided as output.
[0432] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0433] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0434] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0435] [Third Embodiment]
[0436] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0437] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0438] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0439] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0440] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0441] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0442] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0443] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0444] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0445] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0446] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0447] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0448] This invention is a system that streamlines scheduling for members and is implemented by deploying its functions in a cloud server environment. The system works in conjunction with each member's external scheduling service, promptly acquiring and analyzing schedule information to propose the optimal meeting time. The program's operation will be explained below in natural language with concrete examples.
[0449] The system first uses an API to receive schedule information from each member's online calendar. As soon as the server receives this data, it stores it in a database. Based on this stored data, the server uses an AI agent to analyze the available free time of each member.
[0450] Based on the results of this analysis, the server extracts common free time slots and proposes several optimal meeting times that everyone can attend. These meeting times are then sent to the users' devices for them to choose from. After the users select an optimal meeting time on their devices, the server automatically generates a meeting invitation email based on their selection and sends it to all members.
[0451] Furthermore, the server provides a web dashboard that allows users to visualize the schedules and availability of all members on their devices. This allows users to intuitively see who is available and when.
[0452] For example, if Team A wants to schedule a project meeting, the server instantly analyzes the availability of all team members and presents three optimal options for the following week. The user then selects one of these options, and the server sends an invitation accordingly, allowing for efficient meeting scheduling.
[0453] This system makes it easier to coordinate events involving multiple members, resulting in significant time savings and smoother communication.
[0454] The following describes the processing flow.
[0455] Step 1:
[0456] The server accesses the API of an external scheduling service at the specified time to retrieve each member's schedule information. The retrieved data is received in JSON format.
[0457] Step 2:
[0458] The server stores the retrieved schedule information in a database. Here, the server compares it with existing data and updates or adds only new appointments.
[0459] Step 3:
[0460] The server uses an AI agent to analyze the schedule information stored in the database and identify each member's free time. The AI checks for scheduling conflicts among members and picks out possible free time slots.
[0461] Step 4:
[0462] The server detects common free time for all members and generates several potential meeting times. These options are listed in a format that requires user interaction.
[0463] Step 5:
[0464] The server sends a list of proposed meeting times to the user's device. The user can then review these times on their device and select the most suitable time.
[0465] Step 6:
[0466] When a user selects a meeting time, the server receives that information and automatically generates and sends invitation emails to all members based on the selected meeting time.
[0467] Step 7:
[0468] The dashboard on the device visualizes and displays members' schedules and availability. This allows users to easily check schedules in real time.
[0469] (Example 1)
[0470] Next, we will describe Example 1. 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."
[0471] In group work, coordinating members' schedules is often difficult due to overlapping dates and the challenge of finding a time when everyone can participate. This issue is particularly pronounced in groups with diverse schedules. Traditional manual scheduling methods are time-consuming, labor-intensive, and inefficient, so a more efficient solution is needed.
[0472] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0473] In this invention, the server includes a mechanism for acquiring member schedule information, a mechanism for storing said schedule information, and a mechanism for using an artificial intelligence agent for data analysis. This makes it possible to automatically analyze the available time of members and efficiently propose the optimal meeting time.
[0474] The "system for obtaining member schedule information" is a function that retrieves each participant's individual schedule data from online calendars or schedule management systems.
[0475] The "mechanism for accumulating the schedule information" refers to a function that saves the acquired schedule data in a database or storage and keeps it in a state where it can be used for later analysis and processing.
[0476] The "system for analyzing available time" is a function that analyzes accumulated schedule information to find time slots when each member is available to participate.
[0477] The "system for suggesting the optimal meeting time" is a function that, based on analyzed available time, suggests meeting dates and times that are convenient and available to all members.
[0478] The "automatic meeting invitation sending system" is a function that automatically sends invitation emails or notifications to each member based on the proposed meeting time.
[0479] The "system for visualizing available time and meeting schedules" is a function that visually displays members' free time and meeting schedules, allowing users to intuitively grasp the overall schedule.
[0480] The "system that uses artificial intelligence agents for data analysis" is a function that uses artificial intelligence technology to analyze schedule data and efficiently find complex patterns and available time slots.
[0481] A "mechanism that uses authenticated identification information" is a function that uses tokens or other authentication technologies to send data such as meeting invitations in order to communicate securely with online services.
[0482] This invention is a system for streamlining member scheduling implemented in a cloud server environment. The server obtains and analyzes member schedule information from an online calendar service and uses multiple means to propose the optimal meeting time.
[0483] The server uses an API to retrieve schedule information from each member's online calendar. This API can integrate with common online calendar services, specifically retrieving schedule information via communication protocols. The retrieved data is stored in a database, such as a relational database like MySQL or PostgreSQL.
[0484] After storage, the server uses an artificial intelligence agent to analyze each member's availability. This AI agent is built using machine learning frameworks such as TensorFlow and PyTorch and is used to analyze the schedule data. The AI analyzes the data and finds common available time slots. Based on the analysis results, the server extracts the optimal meeting time that all members can attend and proposes several time options.
[0485] The server then sends the proposed meeting time to the user's device. The user interface uses technologies such as React.js or Vue.js. The user receives this proposal through the application on their device and selects a meeting time. Once the selection is complete, the server automatically generates a meeting invitation email based on this information and sends it to all members. This email is securely sent using authenticated identification information via an online scheduling service.
[0486] As a concrete example, consider a scenario where Team A wants to schedule a project meeting for the following week. The server crawls each member's calendar, analyzes their available time, and presents three optimal options for the following week. This process allows the user to review the options on their device and quickly select the best meeting time.
[0487] As an example of a prompt, input in the format of "Please suggest the best time for next week's project meeting" allows the AI agent to quickly suggest a suitable time. Based on this prompt, the AI analyzes the data and helps with efficient scheduling.
[0488] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0489] Step 1:
[0490] The server retrieves appointment information from each member's online calendar via an API. This involves an authentication process, where each calendar service grants access to the data using API keys or tokens. The input is each member's calendar information, and the output is appointment data in JSON format. This JSON data includes the time, location, title, etc., for each appointment.
[0491] Step 2:
[0492] The server retrieves schedule information and stores it in a database. The input is schedule data in JSON format, and the output is an insertion operation into the database. This process uses SQL queries to organize and store each member's schedule information in the database (e.g., MySQL or PostgreSQL). The database stores each event's ID, date and time, participants, etc., in a table structure.
[0493] Step 3:
[0494] The server extracts schedule information from the database and uses an AI agent to detect idle time slots. This process uses the database's schedule data as input and analyzes it using an AI agent model (e.g., TensorFlow or PyTorch). The output is a list of available time slots for each member. This list is used to find common free time periods.
[0495] Step 4:
[0496] The server suggests the optimal meeting time based on shared availability. The AI then uses the analyzed results to calculate a time convenient for all members. The input is each member's available time, and the output is a list of proposed meeting time options. This calculation uses an efficient algorithm to determine when all members can participate.
[0497] Step 5:
[0498] The server sends suggested meeting times to the user's device. The input is a list of optimal meeting time options, and the output is a notification via a user interface. These options are displayed on the device for the user to review. The user interface is implemented using web applications such as React.js or Vue.js.
[0499] Step 6:
[0500] The user selects a meeting time on their device, and the server receives the selection. The input is the meeting time selected by the user, and the output is information about the selected meeting time. Based on this information, the server proceeds to the next step.
[0501] Step 7:
[0502] The server automatically generates and sends meeting invitation emails to all members based on the selected meeting time. The input is the selected meeting time information, and the output is a meeting invitation email sent to each member. This email includes meeting details and a link to join. Emails are sent via the SMTP protocol and related APIs.
[0503] (Application Example 1)
[0504] Next, we will explain Application Example 1. In the following explanation, 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."
[0505] In managing the operation of autonomous vehicles, coordinating the schedules and maintenance plans of multiple vehicles is complex, making efficient operation difficult. In particular, it is necessary to quickly develop optimal operation plans during peak hours and emergencies. This is essential to improve operational efficiency and maximize vehicle utilization.
[0506] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0507] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, and means for analyzing available time based on said schedule information. This enables the automatic proposal of the optimal operating schedule for each vehicle, resulting in more efficient operation management.
[0508] "Members" refers to multiple vehicles or their associated operations managers, each possessing their own schedule information.
[0509] "Scheduled information" refers to information about the time and location of future operations and maintenance of autonomous vehicles, managed by their operators.
[0510] "Available time" refers to the time when a specific vehicle or manager is available based on scheduling information, and is a period when no other operations or maintenance work are scheduled.
[0511] A "service schedule" is an overall activity plan that includes vehicle operating times, routes, and maintenance times.
[0512] "Automatic transmission" refers to sending generated flight schedules and invitations to the target administrator or system without requiring manual intervention.
[0513] "Visualization" refers to visually displaying vehicle availability and operating schedules, making a lot of information intuitively understandable.
[0514] "Communication means" refers to the technologies and methods used to send and receive data and information, including the use of the internet and other communication networks.
[0515] To implement this invention, a server plays a central role. The server is located in a cloud server environment and uses APIs to retrieve schedule information for each autonomous vehicle and operations manager from external systems. The retrieved information is immediately stored in a database. Based on this data, the server uses an AI agent to analyze the available time for vehicles and managers.
[0516] Based on the available time analyzed by the server, the operation management smartphone app proposes the optimal operation schedule. When the user views and selects a suggested schedule on their device, the server confirms the final operation plan based on that selection and automatically generates a notification to be sent to the relevant administrators and systems.
[0517] Furthermore, the server provides a web dashboard, allowing users to visually check the availability and operating schedules of multiple vehicles through their devices. This enables users to intuitively understand operational efficiency and make optimal decisions.
[0518] For example, a transportation company managing 30 autonomous vehicles can use this system to receive suggestions on which vehicles should run on which routes during peak morning hours the following week. The user can then efficiently finalize the operating schedule based on these suggestions. This maximizes vehicle utilization and improves operational efficiency.
[0519] An example of a prompt message for the generating AI model might be: "Generate the optimal operating schedule for autonomous vehicles next Monday. Please propose an efficient operating plan, taking into account reservation status and maintenance schedules."
[0520] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0521] Step 1:
[0522] The server uses an API from an external system to retrieve schedule information for each autonomous vehicle and fleet manager. The input is schedule information from an external scheduling service, and the output is a dataset representing the retrieved schedule information. This dataset undergoes a format conversion before being stored in the database.
[0523] Step 2:
[0524] The server uses an AI agent to analyze available time based on schedule information stored in a database. The input is schedule information from the database, and the output is a list of available time corresponding to each vehicle and manager. The AI agent detects overlaps in each schedule and performs data calculations to find the optimal available time.
[0525] Step 3:
[0526] The server generates an optimal operational schedule for operational management based on the analyzed free time. The input is a list of free time, and the output is several proposed operational schedule candidates. The generated schedule candidates are adjusted to maximize efficiency.
[0527] Step 4:
[0528] The user uses a terminal to select the most suitable schedule from the suggested schedules. The input is a list of schedule candidates provided by the server, and the output is the specific schedule selected by the user. The user interface provides a user-friendly interface that allows for intuitive selection.
[0529] Step 5:
[0530] The server generates notifications based on the selected operating schedule and automatically sends them to the relevant administrators and systems. The input is the operating schedule selected by the user, and the output is the sent notification. Internally, a communication protocol is in operation, including authentication of the recipient and the use of tokens.
[0531] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0532] This invention provides a system that not only adjusts members' schedules but also sets up meetings while considering participants' emotions. It is implemented by combining AI technology and emotion recognition technology. The system is deployed as a cloud-based application, and users can access it in an online environment.
[0533] This system works by having a server periodically query each member's external scheduling service via an API to retrieve their schedule information. The server stores the retrieved information in a database, and based on this, AI analyzes each member's availability. In addition, the system incorporates an emotion engine that monitors and analyzes participants' emotional states from camera and audio data.
[0534] The results of the emotion engine's analysis are used to optimize meeting times. In particular, it can suggest more suitable meeting times by taking into account user concentration levels and stress levels. For example, if Team B is preparing a new product launch, the system analyzes each member's free time and emotional state and suggests the morning, when stress levels are considered low, as the optimal meeting time.
[0535] Based on the meeting time selected by the user, the server automatically sends meeting invitations to each member. These invitations are sent via an online scheduling service using an authentication token. Furthermore, the dashboard on the user's device visually displays not only the members' schedule information but also sentiment analysis results, aiding in intuitive understanding.
[0536] Furthermore, the emotion engine operates throughout the meeting, monitoring participants' emotional states in real time. This allows for feedback tailored to the meeting's progress, enabling suggestions for breaks or adjustments to the agenda as needed. This, in turn, improves meeting efficiency and participant satisfaction.
[0537] The following describes the processing flow.
[0538] Step 1:
[0539] The server calls each member's scheduling service API at specific intervals to retrieve their schedule information. The retrieved data includes the date, time, and event details from each member's calendar.
[0540] Step 2:
[0541] The server stores the retrieved schedule information in its internal database. Here, the server eliminates data duplication and updates existing data so that new appointments do not conflict with it.
[0542] Step 3:
[0543] The server's AI agent analyzes the schedule information stored in the database and extracts each member's free time. The analysis results are formatted as time slots that are free and do not overlap with other scheduled appointments.
[0544] Step 4:
[0545] The emotion engine collects emotional data in real time from the camera and microphone through the user's device. The emotion engine evaluates the user's emotional state using facial expression analysis and voice tone analysis.
[0546] Step 5:
[0547] The server selects the optimal meeting time from available time slots based on the emotional state obtained from the emotion engine. It prioritizes times when participants are relaxed and generates several optimal candidate times.
[0548] Step 6:
[0549] The server notifies the terminal of the generated list of possible meeting times, and the user reviews these options on the terminal and selects the time they deem most suitable.
[0550] Step 7:
[0551] Once the user selects a meeting time, the server automatically sends meeting invitations to each participant via the online scheduling service using an authentication token.
[0552] Step 8:
[0553] The device's dashboard visually displays the members' availability along with an analysis of their emotional state. This allows users to see who is available to participate and when, as well as their emotional state.
[0554] Step 9:
[0555] Throughout the meeting, the on-device emotion engine monitors participants' states and provides real-time feedback and suggestions as needed to maintain a comfortable meeting flow.
[0556] (Example 2)
[0557] Next, we will describe Example 2. 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."
[0558] In modern workplaces, scheduling diverse team members is not only complex, but efficient and comfortable meeting planning that also considers each individual's emotional state is required. However, traditional systems only handle scheduling and lack mechanisms to consider emotional states, resulting in insufficient improvements in meeting efficiency and participant satisfaction.
[0559] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0560] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for acquiring and analyzing data for recognizing member emotional states, means for proposing an optimal meeting time using said available time and emotional states, means for automatically sending meeting invitations based on said optimal meeting times, and means for visualizing member available time, meeting schedules, and emotional analysis results. This makes it possible to propose and send invitations for optimal meeting times that take into account member available time and emotional states, enabling the setting of efficient and highly satisfying meetings.
[0561] "Schedule information" refers to data representing the members' schedules, including details such as the date, time, location, and participants of meetings and appointments.
[0562] "Free time" refers to the time slots during which new appointments, such as meetings, can be scheduled, based on the members' available schedules.
[0563] "Emotional state" refers to information that indicates a member's current emotional and psychological state, and includes stress levels, concentration levels, etc.
[0564] "Analysis" refers to the process of calculation and analysis used to clarify the meaning of information based on acquired data.
[0565] A "proposal" refers to the optimal options or plans that the system presents to the user based on its analysis results.
[0566] A "meeting invitation" is a notification or message sent to inform other members about a meeting and encourage them to attend.
[0567] An "authentication token" is an identification piece of information used to ensure security in online services, and is an electronic certificate that proves that a user is legitimate.
[0568] "Visualization" is a technique that makes information easier to understand intuitively by displaying data visually.
[0569] This invention is a system that streamlines scheduling for members and enables optimal meeting settings while considering the emotional state of participants. The entire system operates as a cloud-based application, and users can access it via the internet.
[0570] The server periodically retrieves members' schedule information using APIs from external scheduling services such as Google Calendar and Microsoft Outlook. This schedule information is stored in a database. Based on the retrieved data, the server uses a generative AI model to analyze members' availability. In this process, the AI model is used in prompts such as, "Analyze users' availability by time slot."
[0571] Simultaneously, the device uses its built-in camera and microphone to capture participants' facial expressions and voice data, which are then analyzed using emotion recognition software (such as OpenCV or Emotion API). This makes it possible to quantify the user's concentration level, stress level, and other factors.
[0572] The server combines information on emotional state with the results of an analysis of free time to suggest the optimal meeting time to the user. For example, the morning hours, which are judged to be periods of high concentration and low stress, can be suggested as potential meeting times.
[0573] Once the user reviews the meeting time suggested by the server and selects the most suitable time, the server uses an authentication token to automatically send meeting invitations to each member via the online scheduling service.
[0574] This system displays an intuitive dashboard on the device, visualizing multifaceted information such as free time and emotional state to aid user understanding. Furthermore, it can re-analyze emotional data in real time during meetings and provide feedback on meeting progress as needed, thereby improving meeting efficiency and participant satisfaction.
[0575] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0576] Step 1:
[0577] The server retrieves the schedule information.
[0578] Input: API authentication information for an external scheduling service.
[0579] Operation: The server sends API requests to external scheduling services such as Google Calendar and Microsoft Outlook to retrieve members' schedule information.
[0580] Output: The retrieved schedule information is returned in JSON format. The server stores this in the database.
[0581] Step 2:
[0582] The server analyzes idle time.
[0583] Input: Schedule information stored in the database.
[0584] Operation: The server uses a generated AI model to analyze each member's schedule information and identify their free time. It sends a prompt message to the AI model instructing it to "analyze the user's free time by time slot."
[0585] Output: The analyzed free time is generated in list format.
[0586] Step 3:
[0587] The device recognizes the emotional state.
[0588] Input: Real-time data from the camera and microphone connected to the user's device.
[0589] Operation: The device uses emotion recognition software such as OpenCV and Emotion API to analyze facial expressions and voice data and evaluate the user's emotional state.
[0590] Output: The results of the emotional state assessment are generated as scoring data.
[0591] Step 4:
[0592] The server will suggest the optimal meeting time.
[0593] Input: List of available time slots and results of the emotional state assessment.
[0594] Operation: The server integrates this input data and calculates the optimal meeting time. It prioritizes times when concentration is high and stress levels are low.
[0595] Output: Optimal meeting time options are suggested.
[0596] Step 5:
[0597] The server sends the meeting invitation.
[0598] Input: The optimal meeting time selected by the user.
[0599] Operation: The server reuses the API of the online scheduling service and automatically sends meeting invitations to members at the selected time using an authentication token.
[0600] Output: Each member receives a meeting invitation via email or notification.
[0601] Step 6:
[0602] It monitors emotional states in real time.
[0603] Input: Real-time camera and microphone data from the meeting.
[0604] Operation: The server continues to run the emotion engine during the meeting, analyzing the emotion data sent by the terminal.
[0605] Output: Based on the analysis results, feedback and suggestions for breaks will be provided according to the progress of the meeting.
[0606] (Application Example 2)
[0607] Next, we will explain application example 2. In the following explanation, 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."
[0608] When scheduling meetings, it's not enough to simply consider members' availability; it's also necessary to understand their emotional state and propose efficient and comfortable meeting times. Therefore, the challenge lies in achieving meeting coordination that takes into account members' emotions, something that conventional scheduling management systems cannot provide.
[0609] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0610] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for collecting and analyzing participants' emotional states, means for optimizing meeting times based on said emotional states, and means for monitoring participants' emotional states in real time and providing feedback. This makes it possible to propose an optimal meeting schedule that takes into account participants' emotions and level of concentration.
[0611] "Method for obtaining member schedule information" refers to a function that imports each member's schedule data into the server using an API of an external scheduling service.
[0612] "Means for storing the schedule information" refers to a function for saving the acquired schedule data to a database in preparation for subsequent processing.
[0613] "Means for analyzing available time based on the schedule information" refers to an analysis algorithm for extracting the available time of individual members from the stored schedule data.
[0614] "A means of proposing the optimal meeting time using the available time" refers to a function that calculates and proposes the optimal meeting time that all members can attend, based on the analyzed available time.
[0615] "Means for automatically sending meeting invitations based on the optimal meeting time" refers to a function for automatically sending meeting invitations to each member based on the optimal meeting time.
[0616] "A means of visualizing members' availability and meeting schedules" refers to a display function that visually shows each member's availability and meeting schedule so that users can easily understand it.
[0617] "Means for collecting and analyzing participants' emotional states" refers to emotion recognition technology that uses camera and audio data to capture participants' emotions in real time and analyze that data.
[0618] "Means for optimizing meeting time based on emotional state" refers to a function that takes into account the emotional state of participants, selects a less stressful time slot, and adjusts the meeting time accordingly.
[0619] "A means of monitoring participants' emotional states in real time and providing feedback" refers to a function that improves the quality of meetings by continuously monitoring changes in participants' emotions during the meeting and providing feedback as needed.
[0620] This invention utilizes a cloud-based server and user terminals connected to the internet. The server first obtains member schedule information using an external scheduling service API and stores it in a database. Based on this schedule information, AI is used to analyze each member's available time. Software implementing machine learning algorithms is used for the analysis.
[0621] Emotion recognition utilizes the camera and microphone installed on the user's device. Hardware such as a Raspberry Pi can be used. For analyzing emotional states, a deployed emotion analysis model like OpenVINO is used to analyze the collected audio and video data.
[0622] Based on this information, the server suggests meeting times that are considered to be low-stress periods and notifies the user on their smartphone or computer. Furthermore, real-time emotional monitoring is performed during the meeting, and feedback is provided to the user as needed, such as suggesting breaks or adjusting the agenda.
[0623] Specifically, in an online cooking event involving the whole family, emotion monitoring can measure the user's level of enjoyment and suggest breaks at opportune moments to maintain a relaxed atmosphere. An example of a prompt would be, "Please suggest a schedule for our next family online event. We would like to consider participants' emotional data and choose a time that is relaxing for everyone."
[0624] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0625] Step 1:
[0626] The server receives authentication information from the user terminal and retrieves each member's schedule information via an external scheduling service API. The input is the user's authentication information, and the output is the schedule information. This information is stored in the server's database.
[0627] Step 2:
[0628] The server uses schedule information stored in the database to run a machine learning algorithm and analyze the free time of each member. The input is schedule information, and the output is the analyzed free time. This process uses a data analysis library written in Python.
[0629] Step 3:
[0630] Data collected from the user's device's camera and microphone is sent to the server. The server inputs this data into an emotion analysis engine, which analyzes the participant's emotional state from the audio and video. The input is audio and video data, and the output is an evaluation value of the emotional state. An emotion recognition model such as OpenVINO is used for this analysis.
[0631] Step 4:
[0632] The server generates the most appropriate meeting time candidates based on availability and emotional state ratings. The input is availability and emotional ratings, and the output is a proposed optimal meeting time. A generative AI model assists this process.
[0633] Step 5:
[0634] Based on the proposed meeting time options, the server sends a notification to the user's device. The input is the optimal meeting time option, and a push notification is sent to the user as output. The optimal time is displayed visually on the device, allowing the user to confirm the suggestion.
[0635] Step 6:
[0636] Throughout the meeting, the user terminal's camera and microphone continue to collect data, which the server inputs into the emotion monitoring engine in real time. The input consists of real-time audio and video data, and the output generates feedback that corresponds to the progress of the meeting.
[0637] Step 7:
[0638] Based on user feedback, breaks and agenda adjustments are made as needed. This improves the quality of meetings and participant satisfaction. Input is real-time sentiment evaluation results, and suggested feedback is provided as output.
[0639] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0640] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0641] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0642] [Fourth Embodiment]
[0643] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0644] As shown in Figure 7, the 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.
[0645] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0646] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0647] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0648] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0649] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0650] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0651] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0652] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0653] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0654] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0655] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0656] This invention is a system that streamlines scheduling for members and is implemented by deploying its functions in a cloud server environment. The system works in conjunction with each member's external scheduling service, promptly acquiring and analyzing schedule information to propose the optimal meeting time. The program's operation will be explained below in natural language with concrete examples.
[0657] The system first uses an API to receive schedule information from each member's online calendar. As soon as the server receives this data, it stores it in a database. Based on this stored data, the server uses an AI agent to analyze the available free time of each member.
[0658] Based on the results of this analysis, the server extracts common free time slots and proposes several optimal meeting times that everyone can attend. These meeting times are then sent to the users' devices for them to choose from. After the users select an optimal meeting time on their devices, the server automatically generates a meeting invitation email based on their selection and sends it to all members.
[0659] Furthermore, the server provides a web dashboard that allows users to visualize the schedules and availability of all members on their devices. This allows users to intuitively see who is available and when.
[0660] For example, if Team A wants to schedule a project meeting, the server instantly analyzes the availability of all team members and presents three optimal options for the following week. The user then selects one of these options, and the server sends an invitation accordingly, allowing for efficient meeting scheduling.
[0661] This system makes it easier to coordinate events involving multiple members, resulting in significant time savings and smoother communication.
[0662] The following describes the processing flow.
[0663] Step 1:
[0664] The server accesses the API of an external scheduling service at the specified time to retrieve each member's schedule information. The retrieved data is received in JSON format.
[0665] Step 2:
[0666] The server stores the retrieved schedule information in a database. Here, the server compares it with existing data and updates or adds only new appointments.
[0667] Step 3:
[0668] The server uses an AI agent to analyze the schedule information stored in the database and identify each member's free time. The AI checks for scheduling conflicts among members and picks out possible free time slots.
[0669] Step 4:
[0670] The server detects common free time for all members and generates several potential meeting times. These options are listed in a format that requires user interaction.
[0671] Step 5:
[0672] The server sends a list of proposed meeting times to the user's device. The user can then review these times on their device and select the most suitable time.
[0673] Step 6:
[0674] When a user selects a meeting time, the server receives that information and automatically generates and sends invitation emails to all members based on the selected meeting time.
[0675] Step 7:
[0676] The dashboard on the device visualizes and displays members' schedules and availability. This allows users to easily check schedules in real time.
[0677] (Example 1)
[0678] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0679] In group work, coordinating members' schedules is often difficult due to overlapping dates and the challenge of finding a time when everyone can participate. This issue is particularly pronounced in groups with diverse schedules. Traditional manual scheduling methods are time-consuming, labor-intensive, and inefficient, so a more efficient solution is needed.
[0680] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0681] In this invention, the server includes a mechanism for acquiring member schedule information, a mechanism for storing said schedule information, and a mechanism for using an artificial intelligence agent for data analysis. This makes it possible to automatically analyze the available time of members and efficiently propose the optimal meeting time.
[0682] The "system for obtaining member schedule information" is a function that retrieves each participant's individual schedule data from online calendars or schedule management systems.
[0683] The "mechanism for accumulating the schedule information" refers to a function that saves the acquired schedule data in a database or storage and keeps it in a state where it can be used for later analysis and processing.
[0684] The "system for analyzing available time" is a function that analyzes accumulated schedule information to find time slots when each member is available to participate.
[0685] The "system for suggesting the optimal meeting time" is a function that, based on analyzed available time, suggests meeting dates and times that are convenient and available to all members.
[0686] The "automatic meeting invitation sending system" is a function that automatically sends invitation emails or notifications to each member based on the proposed meeting time.
[0687] The "system for visualizing available time and meeting schedules" is a function that visually displays members' free time and meeting schedules, allowing users to intuitively grasp the overall schedule.
[0688] The "system that uses artificial intelligence agents for data analysis" is a function that uses artificial intelligence technology to analyze schedule data and efficiently find complex patterns and available time slots.
[0689] A "mechanism that uses authenticated identification information" is a function that uses tokens or other authentication technologies to send data such as meeting invitations in order to communicate securely with online services.
[0690] This invention is a system for streamlining member scheduling implemented in a cloud server environment. The server obtains and analyzes member schedule information from an online calendar service and uses multiple means to propose the optimal meeting time.
[0691] The server uses an API to retrieve schedule information from each member's online calendar. This API can integrate with common online calendar services, specifically retrieving schedule information via communication protocols. The retrieved data is stored in a database, such as a relational database like MySQL or PostgreSQL.
[0692] After storage, the server uses an artificial intelligence agent to analyze each member's availability. This AI agent is built using machine learning frameworks such as TensorFlow and PyTorch and is used to analyze the schedule data. The AI analyzes the data and finds common available time slots. Based on the analysis results, the server extracts the optimal meeting time that all members can attend and proposes several time options.
[0693] The server then sends the proposed meeting time to the user's device. The user interface uses technologies such as React.js or Vue.js. The user receives this proposal through the application on their device and selects a meeting time. Once the selection is complete, the server automatically generates a meeting invitation email based on this information and sends it to all members. This email is securely sent using authenticated identification information via an online scheduling service.
[0694] As a concrete example, consider a scenario where Team A wants to schedule a project meeting for the following week. The server crawls each member's calendar, analyzes their available time, and presents three optimal options for the following week. This process allows the user to review the options on their device and quickly select the best meeting time.
[0695] As an example of a prompt, input in the format of "Please suggest the best time for next week's project meeting" allows the AI agent to quickly suggest a suitable time. Based on this prompt, the AI analyzes the data and helps with efficient scheduling.
[0696] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0697] Step 1:
[0698] The server retrieves appointment information from each member's online calendar via an API. This involves an authentication process, where each calendar service grants access to the data using API keys or tokens. The input is each member's calendar information, and the output is appointment data in JSON format. This JSON data includes the time, location, title, etc., for each appointment.
[0699] Step 2:
[0700] The server retrieves schedule information and stores it in a database. The input is schedule data in JSON format, and the output is an insertion operation into the database. This process uses SQL queries to organize and store each member's schedule information in the database (e.g., MySQL or PostgreSQL). The database stores each event's ID, date and time, participants, etc., in a table structure.
[0701] Step 3:
[0702] The server extracts schedule information from the database and uses an AI agent to detect idle time slots. This process uses the database's schedule data as input and analyzes it using an AI agent model (e.g., TensorFlow or PyTorch). The output is a list of available time slots for each member. This list is used to find common free time periods.
[0703] Step 4:
[0704] The server suggests the optimal meeting time based on shared availability. The AI then uses the analyzed results to calculate a time convenient for all members. The input is each member's available time, and the output is a list of proposed meeting time options. This calculation uses an efficient algorithm to determine when all members can participate.
[0705] Step 5:
[0706] The server sends suggested meeting times to the user's device. The input is a list of optimal meeting time options, and the output is a notification via a user interface. These options are displayed on the device for the user to review. The user interface is implemented using web applications such as React.js or Vue.js.
[0707] Step 6:
[0708] The user selects a meeting time on their device, and the server receives the selection. The input is the meeting time selected by the user, and the output is information about the selected meeting time. Based on this information, the server proceeds to the next step.
[0709] Step 7:
[0710] The server automatically generates and sends meeting invitation emails to all members based on the selected meeting time. The input is the selected meeting time information, and the output is a meeting invitation email sent to each member. This email includes meeting details and a link to join. Emails are sent via the SMTP protocol and related APIs.
[0711] (Application Example 1)
[0712] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0713] In managing the operation of autonomous vehicles, coordinating the schedules and maintenance plans of multiple vehicles is complex, making efficient operation difficult. In particular, it is necessary to quickly develop optimal operation plans during peak hours and emergencies. This is essential to improve operational efficiency and maximize vehicle utilization.
[0714] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0715] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, and means for analyzing available time based on said schedule information. This enables the automatic proposal of the optimal operating schedule for each vehicle, resulting in more efficient operation management.
[0716] "Members" refers to multiple vehicles or their associated operations managers, each possessing their own schedule information.
[0717] "Scheduled information" refers to information about the time and location of future operations and maintenance of autonomous vehicles, managed by their operators.
[0718] "Available time" refers to the time when a specific vehicle or manager is available based on scheduling information, and is a period when no other operations or maintenance work are scheduled.
[0719] A "service schedule" is an overall activity plan that includes vehicle operating times, routes, and maintenance times.
[0720] "Automatic transmission" refers to sending generated flight schedules and invitations to the target administrator or system without requiring manual intervention.
[0721] "Visualization" refers to visually displaying vehicle availability and operating schedules, making a lot of information intuitively understandable.
[0722] "Communication means" refers to the technologies and methods used to send and receive data and information, including the use of the internet and other communication networks.
[0723] To implement this invention, a server plays a central role. The server is located in a cloud server environment and uses APIs to retrieve schedule information for each autonomous vehicle and operations manager from external systems. The retrieved information is immediately stored in a database. Based on this data, the server uses an AI agent to analyze the available time for vehicles and managers.
[0724] Based on the available time analyzed by the server, the operation management smartphone app proposes the optimal operation schedule. When the user views and selects a suggested schedule on their device, the server confirms the final operation plan based on that selection and automatically generates a notification to be sent to the relevant administrators and systems.
[0725] Furthermore, the server provides a web dashboard, allowing users to visually check the availability and operating schedules of multiple vehicles through their devices. This enables users to intuitively understand operational efficiency and make optimal decisions.
[0726] For example, a transportation company managing 30 autonomous vehicles can use this system to receive suggestions on which vehicles should run on which routes during peak morning hours the following week. The user can then efficiently finalize the operating schedule based on these suggestions. This maximizes vehicle utilization and improves operational efficiency.
[0727] An example of a prompt message for the generating AI model might be: "Generate the optimal operating schedule for autonomous vehicles next Monday. Please propose an efficient operating plan, taking into account reservation status and maintenance schedules."
[0728] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0729] Step 1:
[0730] The server uses an API from an external system to retrieve schedule information for each autonomous vehicle and fleet manager. The input is schedule information from an external scheduling service, and the output is a dataset representing the retrieved schedule information. This dataset undergoes a format conversion before being stored in the database.
[0731] Step 2:
[0732] The server uses an AI agent to analyze available time based on schedule information stored in a database. The input is schedule information from the database, and the output is a list of available time corresponding to each vehicle and manager. The AI agent detects overlaps in each schedule and performs data calculations to find the optimal available time.
[0733] Step 3:
[0734] The server generates an optimal operational schedule for operational management based on the analyzed free time. The input is a list of free time, and the output is several proposed operational schedule candidates. The generated schedule candidates are adjusted to maximize efficiency.
[0735] Step 4:
[0736] The user uses a terminal to select the most suitable schedule from the suggested schedules. The input is a list of schedule candidates provided by the server, and the output is the specific schedule selected by the user. The user interface provides a user-friendly interface that allows for intuitive selection.
[0737] Step 5:
[0738] The server generates notifications based on the selected operating schedule and automatically sends them to the relevant administrators and systems. The input is the operating schedule selected by the user, and the output is the sent notification. Internally, a communication protocol is in operation, including authentication of the recipient and the use of tokens.
[0739] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0740] This invention provides a system that not only adjusts members' schedules but also sets up meetings while considering participants' emotions. It is implemented by combining AI technology and emotion recognition technology. The system is deployed as a cloud-based application, and users can access it in an online environment.
[0741] This system works by having a server periodically query each member's external scheduling service via an API to retrieve their schedule information. The server stores the retrieved information in a database, and based on this, AI analyzes each member's availability. In addition, the system incorporates an emotion engine that monitors and analyzes participants' emotional states from camera and audio data.
[0742] The results of the emotion engine's analysis are used to optimize meeting times. In particular, it can suggest more suitable meeting times by taking into account user concentration levels and stress levels. For example, if Team B is preparing a new product launch, the system analyzes each member's free time and emotional state and suggests the morning, when stress levels are considered low, as the optimal meeting time.
[0743] Based on the meeting time selected by the user, the server automatically sends meeting invitations to each member. These invitations are sent via an online scheduling service using an authentication token. Furthermore, the dashboard on the user's device visually displays not only the members' schedule information but also sentiment analysis results, aiding in intuitive understanding.
[0744] Furthermore, the emotion engine operates throughout the meeting, monitoring participants' emotional states in real time. This allows for feedback tailored to the meeting's progress, enabling suggestions for breaks or adjustments to the agenda as needed. This, in turn, improves meeting efficiency and participant satisfaction.
[0745] The following describes the processing flow.
[0746] Step 1:
[0747] The server calls each member's scheduling service API at specific intervals to retrieve their schedule information. The retrieved data includes the date, time, and event details from each member's calendar.
[0748] Step 2:
[0749] The server stores the retrieved schedule information in its internal database. Here, the server eliminates data duplication and updates existing data so that new appointments do not conflict with it.
[0750] Step 3:
[0751] The server's AI agent analyzes the schedule information stored in the database and extracts each member's free time. The analysis results are formatted as time slots that are free and do not overlap with other scheduled appointments.
[0752] Step 4:
[0753] The emotion engine collects emotional data in real time from the camera and microphone through the user's device. The emotion engine evaluates the user's emotional state using facial expression analysis and voice tone analysis.
[0754] Step 5:
[0755] The server selects the optimal meeting time from available time slots based on the emotional state obtained from the emotion engine. It prioritizes times when participants are relaxed and generates several optimal candidate times.
[0756] Step 6:
[0757] The server notifies the terminal of the generated list of possible meeting times, and the user reviews these options on the terminal and selects the time they deem most suitable.
[0758] Step 7:
[0759] Once the user selects a meeting time, the server automatically sends meeting invitations to each participant via the online scheduling service using an authentication token.
[0760] Step 8:
[0761] The device's dashboard visually displays the members' availability along with an analysis of their emotional state. This allows users to see who is available to participate and when, as well as their emotional state.
[0762] Step 9:
[0763] Throughout the meeting, the on-device emotion engine monitors participants' states and provides real-time feedback and suggestions as needed to maintain a comfortable meeting flow.
[0764] (Example 2)
[0765] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0766] In modern workplaces, scheduling diverse team members is not only complex, but efficient and comfortable meeting planning that also considers each individual's emotional state is required. However, traditional systems only handle scheduling and lack mechanisms to consider emotional states, resulting in insufficient improvements in meeting efficiency and participant satisfaction.
[0767] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0768] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for acquiring and analyzing data for recognizing member emotional states, means for proposing an optimal meeting time using said available time and emotional states, means for automatically sending meeting invitations based on said optimal meeting times, and means for visualizing member available time, meeting schedules, and emotional analysis results. This makes it possible to propose and send invitations for optimal meeting times that take into account member available time and emotional states, enabling the setting of efficient and highly satisfying meetings.
[0769] "Schedule information" refers to data representing the members' schedules, including details such as the date, time, location, and participants of meetings and appointments.
[0770] "Free time" refers to the time slots during which new appointments, such as meetings, can be scheduled, based on the members' available schedules.
[0771] "Emotional state" refers to information that indicates a member's current emotional and psychological state, and includes stress levels, concentration levels, etc.
[0772] "Analysis" refers to the process of calculation and analysis used to clarify the meaning of information based on acquired data.
[0773] A "proposal" refers to the optimal options or plans that the system presents to the user based on its analysis results.
[0774] A "meeting invitation" is a notification or message sent to inform other members about a meeting and encourage them to attend.
[0775] An "authentication token" is an identification piece of information used to ensure security in online services, and is an electronic certificate that proves that a user is legitimate.
[0776] "Visualization" is a technique that makes information easier to understand intuitively by displaying data visually.
[0777] This invention is a system that streamlines scheduling for members and enables optimal meeting settings while considering the emotional state of participants. The entire system operates as a cloud-based application, and users can access it via the internet.
[0778] The server periodically retrieves members' schedule information using APIs from external scheduling services such as Google Calendar and Microsoft Outlook. This schedule information is stored in a database. Based on the retrieved data, the server uses a generative AI model to analyze members' availability. In this process, the AI model is used in prompts such as, "Analyze users' availability by time slot."
[0779] Simultaneously, the device uses its built-in camera and microphone to capture participants' facial expressions and voice data, which are then analyzed using emotion recognition software (such as OpenCV or Emotion API). This makes it possible to quantify the user's concentration level, stress level, and other factors.
[0780] The server combines information on emotional state with the results of an analysis of free time to suggest the optimal meeting time to the user. For example, the morning hours, which are judged to be periods of high concentration and low stress, can be suggested as potential meeting times.
[0781] Once the user reviews the meeting time suggested by the server and selects the most suitable time, the server uses an authentication token to automatically send meeting invitations to each member via the online scheduling service.
[0782] This system displays an intuitive dashboard on the device, visualizing multifaceted information such as free time and emotional state to aid user understanding. Furthermore, it can re-analyze emotional data in real time during meetings and provide feedback on meeting progress as needed, thereby improving meeting efficiency and participant satisfaction.
[0783] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0784] Step 1:
[0785] The server retrieves the schedule information.
[0786] Input: API authentication information for an external scheduling service.
[0787] Operation: The server sends API requests to external scheduling services such as Google Calendar and Microsoft Outlook to retrieve members' schedule information.
[0788] Output: The retrieved schedule information is returned in JSON format. The server stores this in the database.
[0789] Step 2:
[0790] The server analyzes idle time.
[0791] Input: Schedule information stored in the database.
[0792] Operation: The server uses a generated AI model to analyze each member's schedule information and identify their free time. It sends a prompt message to the AI model instructing it to "analyze the user's free time by time slot."
[0793] Output: The analyzed free time is generated in list format.
[0794] Step 3:
[0795] The device recognizes the emotional state.
[0796] Input: Real-time data from the camera and microphone connected to the user's device.
[0797] Operation: The device uses emotion recognition software such as OpenCV and Emotion API to analyze facial expressions and voice data and evaluate the user's emotional state.
[0798] Output: The results of the emotional state assessment are generated as scoring data.
[0799] Step 4:
[0800] The server will suggest the optimal meeting time.
[0801] Input: List of available time slots and results of the emotional state assessment.
[0802] Operation: The server integrates this input data and calculates the optimal meeting time. It prioritizes times when concentration is high and stress levels are low.
[0803] Output: Optimal meeting time options are suggested.
[0804] Step 5:
[0805] The server sends the meeting invitation.
[0806] Input: The optimal meeting time selected by the user.
[0807] Operation: The server reuses the API of the online scheduling service and automatically sends meeting invitations to members at the selected time using an authentication token.
[0808] Output: Each member receives a meeting invitation via email or notification.
[0809] Step 6:
[0810] It monitors emotional states in real time.
[0811] Input: Real-time camera and microphone data from the meeting.
[0812] Operation: The server continues to run the emotion engine during the meeting, analyzing the emotion data sent by the terminal.
[0813] Output: Based on the analysis results, feedback and suggestions for breaks will be provided according to the progress of the meeting.
[0814] (Application Example 2)
[0815] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0816] When scheduling meetings, it's not enough to simply consider members' availability; it's also necessary to understand their emotional state and propose efficient and comfortable meeting times. Therefore, the challenge lies in achieving meeting coordination that takes into account members' emotions, something that conventional scheduling management systems cannot provide.
[0817] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0818] In this invention, the server includes means for acquiring member schedule information, means for storing said schedule information, means for analyzing available time based on said schedule information, means for collecting and analyzing participants' emotional states, means for optimizing meeting times based on said emotional states, and means for monitoring participants' emotional states in real time and providing feedback. This makes it possible to propose an optimal meeting schedule that takes into account participants' emotions and level of concentration.
[0819] "Method for obtaining member schedule information" refers to a function that imports each member's schedule data into the server using an API of an external scheduling service.
[0820] "Means for storing the schedule information" refers to a function for saving the acquired schedule data to a database in preparation for subsequent processing.
[0821] "Means for analyzing available time based on the schedule information" refers to an analysis algorithm for extracting the available time of individual members from the stored schedule data.
[0822] "A means of proposing the optimal meeting time using the available time" refers to a function that calculates and proposes the optimal meeting time that all members can attend, based on the analyzed available time.
[0823] "Means for automatically sending meeting invitations based on the optimal meeting time" refers to a function for automatically sending meeting invitations to each member based on the optimal meeting time.
[0824] "A means of visualizing members' availability and meeting schedules" refers to a display function that visually shows each member's availability and meeting schedule so that users can easily understand it.
[0825] "Means for collecting and analyzing participants' emotional states" refers to emotion recognition technology that uses camera and audio data to capture participants' emotions in real time and analyze that data.
[0826] "Means for optimizing meeting time based on emotional state" refers to a function that takes into account the emotional state of participants, selects a less stressful time slot, and adjusts the meeting time accordingly.
[0827] "A means of monitoring participants' emotional states in real time and providing feedback" refers to a function that improves the quality of meetings by continuously monitoring changes in participants' emotions during the meeting and providing feedback as needed.
[0828] This invention utilizes a cloud-based server and user terminals connected to the internet. The server first obtains member schedule information using an external scheduling service API and stores it in a database. Based on this schedule information, AI is used to analyze each member's available time. Software implementing machine learning algorithms is used for the analysis.
[0829] Emotion recognition utilizes the camera and microphone installed on the user's device. Hardware such as a Raspberry Pi can be used. For analyzing emotional states, a deployed emotion analysis model like OpenVINO is used to analyze the collected audio and video data.
[0830] Based on this information, the server suggests meeting times that are considered to be low-stress periods and notifies the user on their smartphone or computer. Furthermore, real-time emotional monitoring is performed during the meeting, and feedback is provided to the user as needed, such as suggesting breaks or adjusting the agenda.
[0831] Specifically, in an online cooking event involving the whole family, emotion monitoring can measure the user's level of enjoyment and suggest breaks at opportune moments to maintain a relaxed atmosphere. An example of a prompt would be, "Please suggest a schedule for our next family online event. We would like to consider participants' emotional data and choose a time that is relaxing for everyone."
[0832] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0833] Step 1:
[0834] The server receives authentication information from the user terminal and retrieves each member's schedule information via an external scheduling service API. The input is the user's authentication information, and the output is the schedule information. This information is stored in the server's database.
[0835] Step 2:
[0836] The server uses schedule information stored in the database to run a machine learning algorithm and analyze the free time of each member. The input is schedule information, and the output is the analyzed free time. This process uses a data analysis library written in Python.
[0837] Step 3:
[0838] Data collected from the user's device's camera and microphone is sent to the server. The server inputs this data into an emotion analysis engine, which analyzes the participant's emotional state from the audio and video. The input is audio and video data, and the output is an evaluation value of the emotional state. An emotion recognition model such as OpenVINO is used for this analysis.
[0839] Step 4:
[0840] The server generates the most appropriate meeting time candidates based on availability and emotional state ratings. The input is availability and emotional ratings, and the output is a proposed optimal meeting time. A generative AI model assists this process.
[0841] Step 5:
[0842] Based on the proposed meeting time options, the server sends a notification to the user's device. The input is the optimal meeting time option, and a push notification is sent to the user as output. The optimal time is displayed visually on the device, allowing the user to confirm the suggestion.
[0843] Step 6:
[0844] Throughout the meeting, the user terminal's camera and microphone continue to collect data, which the server inputs into the emotion monitoring engine in real time. The input consists of real-time audio and video data, and the output generates feedback that corresponds to the progress of the meeting.
[0845] Step 7:
[0846] Based on user feedback, breaks and agenda adjustments are made as needed. This improves the quality of meetings and participant satisfaction. Input is real-time sentiment evaluation results, and suggested feedback is provided as output.
[0847] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0848] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0849] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0850] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0851] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0852] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0853] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0854] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0855] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0856] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0857] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0858] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0859] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0860] 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.
[0861] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0862] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0863] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0864] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0865] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0866] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0867] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0868] The following is further disclosed regarding the embodiments described above.
[0869] (Claim 1)
[0870] A means of obtaining member schedule information,
[0871] means for storing the scheduled information,
[0872] A means for analyzing available time based on the schedule information,
[0873] A means of proposing the optimal meeting time using the available time,
[0874] A means for automatically sending meeting invitations based on the optimal meeting time,
[0875] A way to visualize members' free time and meeting schedules,
[0876] A system that includes this.
[0877] (Claim 2)
[0878] The system according to claim 1, further comprising means for presenting the aforementioned optimal meeting time as a plurality of candidates.
[0879] (Claim 3)
[0880] The system according to claim 1, further comprising means for sending the aforementioned meeting invitation through an online scheduling service using an authenticated token.
[0881] "Example 1"
[0882] (Claim 1)
[0883] A system for obtaining members' schedule information,
[0884] A mechanism for accumulating such scheduled information,
[0885] A mechanism for analyzing available time based on the scheduled information,
[0886] A system that proposes the optimal meeting time using the available time,
[0887] A system that automatically sends meeting invitations based on the optimal meeting time,
[0888] A system that visualizes members' available time and meeting schedules,
[0889] A system that uses artificial intelligence agents for data analysis,
[0890] A system that includes this.
[0891] (Claim 2)
[0892] The system according to claim 1, further comprising a mechanism for displaying the aforementioned optimal meeting time as multiple candidates.
[0893] (Claim 3)
[0894] The system according to claim 1, further comprising a mechanism for sending the aforementioned meeting invitation through an online scheduling service using authenticated identification information.
[0895] "Application Example 1"
[0896] (Claim 1)
[0897] A means of obtaining member schedule information,
[0898] means for storing the scheduled information,
[0899] A means for analyzing available time based on the schedule information,
[0900] A means of proposing the optimal operating schedule using the available time,
[0901] A means for automatically sending invitations based on the optimal operating schedule,
[0902] A means to visualize the vehicle's idle time and operating schedule,
[0903] A system that includes this.
[0904] (Claim 2)
[0905] The system according to claim 1, further comprising means for presenting the aforementioned optimal operation schedule as a plurality of candidates.
[0906] (Claim 3)
[0907] The system according to claim 1, further comprising means for transmitting the invitation via communication means using an authenticated token.
[0908] "Example 2 of combining an emotion engine"
[0909] (Claim 1)
[0910] A means of obtaining member schedule information,
[0911] means for storing the scheduled information,
[0912] A means for analyzing available time based on the schedule information,
[0913] A means of acquiring and analyzing data to recognize the emotional state of the members,
[0914] A means of proposing the optimal meeting time using the available time and emotional state,
[0915] A means for automatically sending meeting invitations based on the optimal meeting time,
[0916] A means to visualize members' free time, meeting schedules, and sentiment analysis results,
[0917] A system that includes this.
[0918] (Claim 2)
[0919] The system according to claim 1, further comprising means for presenting the aforementioned optimal meeting time as a plurality of candidates.
[0920] (Claim 3)
[0921] The system according to claim 1, further comprising means for sending the aforementioned meeting invitation through an online scheduling service using an authenticated token.
[0922] "Application example 2 when combining with an emotional engine"
[0923] (Claim 1)
[0924] A means of obtaining member schedule information,
[0925] means for storing the scheduled information,
[0926] A means for analyzing available time based on the schedule information,
[0927] A means of proposing the optimal meeting time using the available time,
[0928] A means for automatically sending meeting invitations based on the optimal meeting time,
[0929] A way to visualize members' free time and meeting schedules,
[0930] A means of collecting and analyzing the emotional state of participants,
[0931] A means for optimizing meeting time based on the emotional state,
[0932] A means of monitoring participants' emotional states in real time and providing feedback,
[0933] A system that includes this.
[0934] (Claim 2)
[0935] The system according to claim 1, further comprising means for presenting the aforementioned optimal meeting time as a plurality of candidates.
[0936] (Claim 3)
[0937] The system according to claim 1, further comprising means for sending the aforementioned meeting invitation through an online scheduling service using an authenticated token. [Explanation of symbols]
[0938] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of obtaining member schedule information, means for storing the scheduled information, A means for analyzing available time based on the schedule information, A means of proposing the optimal meeting time using the available time, A means for automatically sending meeting invitations based on the optimal meeting time, A way to visualize members' free time and meeting schedules, A system that includes this.
2. The system according to claim 1, further comprising means for presenting the aforementioned optimal meeting time as a plurality of candidates.
3. The system according to claim 1, further comprising means for sending the aforementioned meeting invitation through an online scheduling service using an authenticated token.