system
The system automates meeting scheduling by analyzing member schedules and suggesting optimal times, reducing inefficiencies and conflicts, thus facilitating efficient meeting organization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-13
- Publication Date
- 2026-06-25
AI Technical Summary
Setting meetings within an organization is inefficient and time-consuming due to the manual checking of members' schedules, difficulty in finding a common available time, and the challenge of avoiding overlapping meetings.
A system that automatically acquires and analyzes schedule information from external calendar services, identifies common available time for all members, suggests optimal meeting times, and sends invitations, while visually displaying schedules to facilitate efficient meeting scheduling.
Streamlines meeting scheduling by automating the process, ensuring all members can attend, reducing time consumption, and minimizing conflicts.
Smart Images

Figure 2026104524000001_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, including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] When setting a meeting within an organization, it is inefficient and time-consuming to manually check the schedules of all members and adjust the optimal meeting time. Also, since the schedules of each member are different, it is difficult to find a time when all members can participate. Furthermore, it is also a problem to avoid adjusting overlapping meetings and time conflicts during the schedule adjustment process.
Means for Solving the Problems
[0005] To solve the aforementioned problems, the present invention provides a means for automatically acquiring and analyzing the schedule information of each member. Specifically, the information acquisition means acquires schedule information from an external calendar service, and the analysis means analyzes the available time of each member. The time identification means identifies the common available time of all members based on the analysis results, and the time suggestion means proposes the optimal time. Furthermore, the invitation sending means automatically sends meeting invitations based on the proposed optimal time, and the display means visually displays the schedules of all members, providing a system that makes it easy to grasp the schedule. This makes it possible to efficiently set meeting times that all members can attend.
[0006] "Information acquisition means" refers to a component or function that electronically acquires each member's schedule information from an external calendar service.
[0007] "Analysis means" refers to a component or function that performs calculations and analyses to identify the available time of each member based on the acquired schedule information.
[0008] A "time identification means" is a component or function that identifies common free time for all members from among the analyzed free time.
[0009] A "time suggestion tool" is a component or function that identifies the optimal meeting time from identified available time slots and proposes it to the members.
[0010] "Invitation sending mechanism" refers to a component or function that automatically sends meeting invitations to members based on the proposed optimal meeting time.
[0011] "Display means" refers to a component or function that visually displays the schedule information of all members, making it easier to check and adjust schedules. [Brief explanation of the drawing]
[0012] [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]
[0013] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0014] First, the terms used in the following description will be explained.
[0015] 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.
[0016] 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.
[0017] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. 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.
[0018] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor and an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applicable to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark), and the like.
[0019] 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."
[0020] [First Embodiment]
[0021] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0022] 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.
[0023] 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).
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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".
[0033] To implement this invention, the system should be configured as follows: First, the server periodically retrieves each member's schedule information from an external calendar service. This involves a process of collecting schedule information from services such as Google® Calendar and Outlook Calendar after performing API authentication and obtaining appropriate access rights. This information collection is automated by an information retrieval means.
[0034] Next, the server analyzes each member's free time based on the acquired schedule information. The analysis identifies time slots when each member does not have existing appointments or commitments, and records these in the database.
[0035] The server then uses the analyzed free time to identify common free time slots for all members. The time identification tool calculates the time periods in which all members are available and lists the results. Based on this list, the server uses a time suggestion tool to propose the optimal meeting time. At this stage, it is also possible to take into account past meeting data and preferred time slots.
[0036] Once the user selects the most suitable time from the suggested time slots, the server automatically sends meeting invitations to the participants based on the selected time. The invitation sending mechanism manages this process, automatically generating and sending an email or calendar event containing the meeting date and time, details, and a participation link.
[0037] Finally, the terminal visually displays the schedules of all members. The display device handles this, showing each member's availability and free time in a color-coded dashboard format. This makes it easy for users to check schedules at a glance.
[0038] As a concrete example, when a user opens the dashboard on their device, the schedule data analyzed by the server is reflected in real time, making the schedules of all members visible. This system makes it possible to streamline the meeting scheduling process and achieve quick and accurate schedule management.
[0039] The following describes the processing flow.
[0040] Step 1:
[0041] The server periodically activates its information retrieval system and accesses each member's calendar service. It uses an API to retrieve each member's schedule information and stores this information in a database.
[0042] Step 2:
[0043] The server analyzes the stored schedule information through an analysis tool. It checks the start and end times of each member's events and extracts any free time that does not overlap.
[0044] Step 3:
[0045] The server uses time-specific methods to identify common free time periods based on the free time lists of all members. It finds common free time periods and creates a list of potential candidates.
[0046] Step 4:
[0047] The server uses a time suggestion mechanism to determine the optimal meeting time from a list of identified common available time slots. It takes into account past meeting history and each member's preferred time slots to suggest the best time.
[0048] Step 5:
[0049] The user receives a list of optimal meeting times from the server and selects their preferred time.
[0050] Step 6:
[0051] Upon receiving the user's selection, the server activates the invitation sending mechanism. It creates a meeting invitation based on the selected meeting time and sends it to all members.
[0052] Step 7:
[0053] The terminal uses a display device to visually show data retrieved from the server in a dashboard format. The schedules and meeting availability of all members are color-coded, providing users with visual information.
[0054] (Example 1)
[0055] 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."
[0056] In schedule management, there is a need for a way to efficiently and accurately propose the optimal meeting time by coordinating the availability of multiple members. However, traditional methods require cumbersome manual adjustments, making it time-consuming to optimize time and identify common availability. Furthermore, the difficulty in integrating information between different calendar services made smooth schedule coordination challenging.
[0057] 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.
[0058] In this invention, the server includes information processing means for acquiring member schedule information, analysis processing means for analyzing free time, and time identification means for identifying common free time. This enables efficient analysis of each member's free time and identification of common time slots, thereby allowing for quick and optimal meeting time suggestions.
[0059] "Information processing means" refers to a means for electronically obtaining and organizing members' schedule information from external scheduling services.
[0060] The "analysis processing means" is a means of calculating and analyzing each member's available time based on the acquired schedule information of the members.
[0061] A "time identification means" is a method for identifying common free time for all members from the free time obtained through the analysis process.
[0062] A "time presentation method" is a means of presenting the optimal meeting time to the members based on identified common available time slots.
[0063] An "invitation communication method" is a means of automatically sending meeting invitations to members based on the suggested optimal time.
[0064] "Display processing means" refers to means for visually displaying the overall schedule and available time of the members.
[0065] To implement this invention, a server and a terminal play a central role. The server first electronically retrieves the schedule information of its members from an external calendar service. This is done via the APIs of commonly used cloud-based calendar services such as Google Calendar and Outlook Calendar. The server uses these APIs to perform OAuth authentication, obtain the necessary access rights, and then retrieves the schedule information of its members.
[0066] The server then analyzes the acquired schedule information and calculates the available time for each member. This process is performed by checking the start and end times of scheduled activities using timestamp data to identify available time. A database management system is used for the analysis, and the analysis results are saved for use in subsequent processing.
[0067] The server identifies common free time slots from the analyzed free time and uses this information to suggest the optimal meeting time. The algorithm considers past meeting data and user preferences to present the best time slot to the participants. At this stage, using specialized data analysis techniques such as machine learning models allows for more accurate suggestions.
[0068] When a user selects a meeting time suggested by the server, the server automatically sends a meeting invitation to the participants. An invitation email or calendar event containing the meeting date, time, location, and URL for the online meeting is automatically generated and sent.
[0069] Ultimately, the device visually displays the schedules of all members. It uses a dashboard format that color-codes each member's availability and meeting attendance status, making it easy for users to check schedules at a glance.
[0070] For example, when a user attempts to schedule the next meeting from their device's dashboard, the server receives a prompt asking for everyone's common availability for the next week and then suggests suitable times. This system automates meeting scheduling, significantly reducing the effort required for coordination.
[0071] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0072] Step 1:
[0073] The server uses the API of an external calendar service to retrieve schedule information for each member. The input requires API authentication credentials and member identifiers. First, the server obtains appropriate access rights using OAuth, and then calls the API endpoint to retrieve the schedule data. The output is schedule data in JSON format. This data is organized by member to prepare for subsequent free time analysis.
[0074] Step 2:
[0075] The server analyzes the retrieved schedule data to identify each member's free time. It uses schedule data in JSON format as input. The server analyzes the start and end times of appointments using timestamps and calculates any gaps in the schedule. A free time list is created as output and saved to the database. This list, in a format that shows each member's free time, is used later to identify common time slots.
[0076] Step 3:
[0077] The server aggregates the free time of each member to identify common free time for everyone. A list of free time is used as input. The server uses an algorithm to overlay these lists and identify common time slots available to everyone. A list of common free time is generated as output. This list is used in the next proposal phase of the system.
[0078] Step 4:
[0079] The server proposes the optimal meeting time based on shared availability. The inputs used are a list of shared availability, past meeting data, and user preference parameters. The server uses a generative AI model to prioritize meeting times based on this information. The output is a list of optimal meeting times, which is provided to the user.
[0080] Step 5:
[0081] When a user selects the most suitable time from the suggested meeting times, the server automatically sends a meeting invitation based on that time. The user's selected meeting time is used as input. Based on this information, the server automatically generates an invitation email or calendar event including the date, time, location, and participation link for the meeting, and sends it to the participants based on the recipient list. The output records each meeting invitation that has been sent.
[0082] Step 6:
[0083] The terminal visually displays the schedules of all members and the meeting times selected by the user. Schedule data and meeting invitation information provided by the server are used as input. The terminal visualizes each member's available time on the dashboard in a color-coded calendar format. This display allows the user to intuitively check the schedule. The output provides the user with a visualized schedule.
[0084] (Application Example 1)
[0085] 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."
[0086] In modern brick-and-mortar stores, managing staff shifts and meeting schedules has become increasingly complex. Scheduling without considering individual staff availability makes coordination difficult, leading to decreased attendance and work efficiency. Furthermore, because each staff member manages their schedule individually, finding common free time slots becomes challenging. This often hinders communication among staff and improves efficient work performance.
[0087] 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.
[0088] In this invention, the server includes information gathering means for acquiring time information of its members, analysis processing means for analyzing the free time of members from the acquired time information, and time detection means for identifying the common free time of all members based on the analysis results. This makes it possible to formulate optimal shift schedules and meeting times while taking into account the individual schedules of staff, and is expected to improve operational efficiency within the store.
[0089] "Information gathering means" refers to technical means for electronically obtaining members' time information from external time management services.
[0090] "Analysis processing means" refers to technical means for identifying and analyzing the free time of each member based on acquired time information.
[0091] A "time detection means" is a technical means for analyzing the time information of multiple members to identify common free time.
[0092] A "time suggestion processing means" is a technical means for suggesting the optimal meeting time to members based on analyzed time information.
[0093] "Means of sending invitations" refers to technical means for sending meeting invitations to each member based on the proposed time.
[0094] "Display processing means" refers to technical means for visually displaying the time information of all members and the proposed optimal time.
[0095] A "work proposal method" is a technical means for proposing the optimization of work time based on the time information of the members involved.
[0096] "Work guidance transmission means" refers to a technical means for transmitting work guidance based on the proposed optimal work time.
[0097] The server uses information gathering tools to periodically retrieve time information for each member from external time management services. In doing so, it utilizes software such as the Google Calendar API and Microsoft® Graph API, obtaining appropriate access rights through API authentication.
[0098] The acquired time information is analyzed by an internal analysis processing system on the server to identify the free time of each member. Here, the analysis results are stored in a database, and Python libraries are used for the analysis algorithm.
[0099] Based on the analyzed data, the server calculates the common free time of all members via a time detection mechanism. This information serves as the basis for suggesting optimal shifts and meeting times.
[0100] Next, the server uses a time suggestion processing mechanism to propose optimal shifts and meeting times to the members. The proposed times are electronically notified to each member through a notification transmission mechanism. Here again, email and push notification systems are utilized.
[0101] Users can view the time information of all team members, visualized through a display processing system, via their device. This display is presented in a dashboard format and implemented using front-end libraries such as React Native. In actual use, users can open a smartphone app and see the shift status and meeting schedules of all staff members at a glance.
[0102] As a concrete example, when proposing the optimal shifts for all staff members for a special weekend event, this system can create the most efficient schedule based on each staff member's availability and notify relevant parties. An example of a prompt message would be, "Collect available time from staff calendars, identify common times, and propose the optimal shifts." In this way, it is possible to achieve operational efficiency and smooth personnel management.
[0103] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0104] Step 1:
[0105] The server uses information gathering tools to obtain time information for each member from an external time management service. The input is the members' calendar data obtained via an API, and the output is raw schedule information. In this process, the server goes through API authentication, such as the Google Calendar API, and saves the members' schedule information to a database.
[0106] Step 2:
[0107] The server uses an analysis processing mechanism to analyze each member's free time from the acquired schedule information. The input is the schedule information stored in the database, and the output is a list of each member's free time. The server uses a Python analysis algorithm to calculate free time by subtracting the scheduled time, and updates the database with the result.
[0108] Step 3:
[0109] The server uses a time detection mechanism to identify the common free time of all members. The input is a list of each member's free time, and the output is the common free time that all members can participate in. The server calculates the common portion by crossing these free times and registers it in the database.
[0110] Step 4:
[0111] The server uses a time suggestion processing mechanism to propose optimal shifts and meeting times for the members. The input is the common free time, and the output is the optimal shift or meeting time. The server calculates the optimal time considering past meeting history and preferred time slots, and stores the proposed content in a database.
[0112] Step 5:
[0113] The server notifies members of the proposed time via a notification system. Input is the optimal shift or meeting time, and output is notification emails or push notifications. The server sends information to all members using an email system or notification service.
[0114] Step 6:
[0115] Users can use their devices to view the time information of all members, visually displayed through a display processing device. Input is schedule data sent from the server, and output is a dashboard display on the device. Users can operate their smartphones or PCs to view the schedule, which is updated in real time.
[0116] 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.
[0117] To implement this invention, the system must have the following configuration. First, the server uses information acquisition means to access each member's calendar service and obtain schedule information. This includes obtaining access rights through API authentication and collecting calendar information. This information is stored in a database, and the members' free time is extracted by analysis means.
[0118] Next, the server uses a time identification mechanism to analyze the availability of all members and identify common free time slots. Subsequently, a time suggestion mechanism proposes the optimal meeting time based on the identified common free time. Here, an emotion recognition mechanism is incorporated, and the server acquires voice and facial expression data to recognize the user's emotions and analyzes it with an emotion engine. Based on the analysis results, the meeting time suggestion is further adjusted.
[0119] The user receives the optimal meeting time suggested by the server and sets up the meeting accordingly. The server receives this selection and automatically sends meeting invitations to participants via an invitation sending mechanism. These invitations contain meeting details and the information required to participate.
[0120] The terminal visualizes data retrieved from the server in a dashboard format through its display device. This allows each member's schedule and meeting availability to be displayed in different colors, making it easy for everyone to check their schedules.
[0121] As a concrete example, when a user uses the dashboard on their device, the server suggests the optimal meeting time based on analyzed schedule data and recognized sentiment data. For instance, if a user is feeling stressed, the system prioritizes suggesting times when they can relax, thus setting a meeting time that allows everyone to respond more flexibly. This system enables efficient schedule management that reflects emotional considerations.
[0122] The following describes the processing flow.
[0123] Step 1:
[0124] The server accesses an external calendar service and retrieves each member's schedule information via an API. The retrieved information is stored in a database.
[0125] Step 2:
[0126] The server uses analysis tools to analyze the schedule information stored in the database. This identifies and lists the available time slots of each member.
[0127] Step 3:
[0128] The server uses time-based methods to compare the free time lists of all members and find common free time slots for everyone. These times become potential meeting times.
[0129] Step 4:
[0130] The server activates emotion recognition mechanisms to collect the user's voice and facial expressions. This allows it to recognize the user's emotional state, and the emotion engine analyzes the results.
[0131] Step 5:
[0132] The server uses a time suggestion mechanism to list the optimal meeting times, prioritizing them based on the recognized emotional state and past meeting history.
[0133] Step 6:
[0134] The user views a list of optimal meeting times provided by the server and selects a time that suits their schedule.
[0135] Step 7:
[0136] The server receives the user's selection and uses the invitation sending mechanism to send meeting invitations to all members based on the selected meeting time.
[0137] Step 8:
[0138] The terminal displays the latest schedule and sentiment analysis results from the server in a dashboard format, making it easier for users to grasp the overall picture of meeting scheduling.
[0139] (Example 2)
[0140] 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".
[0141] In modern organizations, scheduling efficient meetings that take into account the diverse schedules and emotional states of members is challenging. In particular, there is a need to identify optimal meeting times that reflect emotional states and to manage schedules in a visually clear and understandable way. However, traditional methods fail to integrate these aspects, resulting in inefficient meeting scheduling and placing a burden on members.
[0142] 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.
[0143] In this invention, the server includes data collection means for collecting schedule data for each member, analysis means for analyzing the members' free time from the collected schedule data, and emotion recognition means for acquiring voice and facial expression data to analyze the members' emotional state. This makes it possible to set effective meeting times that take into account the schedules and emotional states of all members.
[0144] A "data collection means" is a system element that has the function of electronically collecting schedule data for each member from an external scheduling service.
[0145] An "analysis tool" is a system element that has the function of analyzing collected schedule data to identify the available time of each member.
[0146] A "time identification means" is a system element that has the function of identifying common free time for all members based on the analyzed results.
[0147] A "time recommendation tool" is a system element that has the function of suggesting the optimal meeting time from identified common free time slots.
[0148] The "invitation distribution method" is a system element that has the function of sending meeting invitations to each member based on the proposed optimal meeting time.
[0149] A "visualization tool" is a system element that has the function of visually displaying and presenting the schedules of all members in an easy-to-understand manner.
[0150] An "emotion recognition means" is a system element that has the function of acquiring and analyzing voice and facial expression data to identify the emotional state of its members.
[0151] A "time adjustment mechanism" is a system element that has the function of modifying proposed meeting times as needed, based on emotional states.
[0152] In order to implement this invention, the system needs to have a configuration that combines multiple means. Specific examples are shown below.
[0153] The server has a data collection mechanism that accesses external scheduling services (e.g., cloud-based calendar services) via APIs. This allows for efficient acquisition of each member's schedule data and storage in a local database. Database management can be handled using data management software such as PostgreSQL or MongoDB.
[0154] Next, the server has analytical tools that use analysis algorithms to extract the free time of each member from the collected schedule data. For example, it can process the data as a DataFrame using the Python library pandas and quickly calculate the free time. Furthermore, the identified common free time information is securely stored in the data analysis storage.
[0155] In the emotion recognition system, the server acquires data from the user's voice or facial expressions. This data is collected using a microphone or camera on a smartphone or PC, and then analyzed by an emotion analysis engine (e.g., a natural language processing API). The resulting emotional state is then used to adjust meeting times appropriately.
[0156] When a user sets up a meeting, the server uses a time recommendation system to suggest the optimal meeting time. This system can take into account past meeting history, and by analyzing historical data, it can provide better suggestions.
[0157] The terminal has a visualization mechanism to display these processing results in a dashboard format, allowing users to easily check them. For example, a web interface using HTML5 and JavaScript (registered trademark) can be created to color-code or filter scheduled and proposed meeting times.
[0158] As a concrete example, the prompt can be entered as follows: "Please suggest the optimal meeting time to minimize stress, taking the overall schedule into consideration." Based on this prompt, the system implements flexible scheduling that reflects the user's feelings.
[0159] This invention effectively takes into account the schedules and emotional states of the participants, enabling the scheduling of efficient and stress-free meetings.
[0160] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0161] Step 1:
[0162] The server accesses an external schedule management service via an API to retrieve schedule data for each member. During this process, the server passes the user's calendar authentication information to the API to obtain the schedule data. The input consists of the member's authentication information and a request to the calendar API, while the output is the schedule information for each member. The server stores this schedule information in a local database, where data is added and updated as needed.
[0163] Step 2:
[0164] The server uses an analysis algorithm to extract each member's free time from the collected schedule data. At this stage, the pandas library is used to process the data in a dataframe format. The input is the members' schedule information stored in the database, and the output is a list of each member's free time. The server organizes this free time data to use as the basis for the next processing step.
[0165] Step 3:
[0166] The server aggregates free time lists and identifies overlapping time slots to identify common free time. An algorithm is used to efficiently compare the data and extract the overlapping portions. The input is the free time list for each member, and the output is the common free time for all members. This extracts the times when all members are available to participate.
[0167] Step 4:
[0168] The server collects audio and facial expression data and analyzes emotional states using an emotion recognition engine. It captures audio and video from each user's device and processes the data using an emotion recognition API. The input is audio and facial expression data, and the output is the analyzed emotional state data. The server uses this data to prepare for influencing the next proposal process.
[0169] Step 5:
[0170] The server suggests the optimal meeting time based on emotional states and shared availability. It also considers past meeting history data in its time recommendation system to provide the best possible suggestion to the user. Inputs include shared availability, emotional state data, and past history information; output is the recommended optimal meeting time. The server presents this information to the user and prepares the meeting environment.
[0171] Step 6:
[0172] The user selects the optimal meeting time suggested by the server and sends the selection to the server. The server then sends meeting invitations to each member based on the selected time. The input is the meeting time selected by the user, and the output is the electronic meeting invitation to each member. The invitation includes meeting details and a link to join.
[0173] Step 7:
[0174] The terminal visualizes and provides users with schedule and meeting information received from the server. This involves creating a custom dashboard using HTML5 and JavaScript, displaying the user's schedule in a visually easy-to-understand format. Inputs are meeting information and the latest schedule data from the server, and output is a visualized dashboard. Users can easily manage their schedules using this.
[0175] (Application Example 2)
[0176] 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".
[0177] Modern scheduling systems often only suggest efficient meeting times based on the user's existing schedule, lacking consideration for the user's emotional and mental state. This can lead to meetings being scheduled during stressful times, hindering efficient communication. Therefore, there is a need for systems that consider the user's emotional state and enable more flexible and stress-free scheduling.
[0178] 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.
[0179] In this invention, the server includes information acquisition means for acquiring schedule information of each member, analysis means for analyzing the members' free time from the acquired schedule information, and emotion recognition means for recognizing the user's emotional state. This makes it possible to propose an optimal meeting time that takes the user's emotional state into consideration.
[0180] "Information acquisition means" refers to a system for electronically obtaining each member's schedule information from an external calendar service.
[0181] "Analysis means" refers to a device and method for processing data to identify the available time of each member from the acquired schedule information.
[0182] A "time identification method" is a mechanism for identifying common free time for all members based on analysis.
[0183] A "time suggestion mechanism" is a function that suggests the optimal meeting time from identified common available time slots.
[0184] The "invitation sending method" is a system that automatically sends meeting invitations to each member based on the suggested optimal time.
[0185] "Display means" refers to a function that visually displays the schedules of all members on the user interface.
[0186] "Emotion recognition means" refers to technology that uses voice and facial expression data to analyze a user's emotional state.
[0187] A "time adjustment mechanism" is a function for adjusting the proposed meeting time based on the perceived emotional state.
[0188] To implement this invention, the server first needs to obtain each member's calendar information from an external source. The Google Calendar API or other calendar service APIs are used as means of obtaining this information. The obtained data is stored in a database and analyzed using SQL (such as MySQL®). The analysis means identifies each member's free time, and the time identification means finds common free time for all members.
[0189] Next, the server uses emotion recognition. It acquires voice and facial expression data using a camera and microphone, and analyzes it with an emotion recognition engine (e.g., Microsoft Face API). Based on the emotion recognition results, a time suggestion system then proposes the optimal meeting time to the user. This suggestion is presented to the user in a gentle manner, taking into account the recognized emotional state.
[0190] The device displays a dashboard to the user, showing them the optimal meeting time based on visualized schedules and emotional data. Based on this information, users can schedule meetings during times when they experience less stress.
[0191] As a concrete example, when a user finishes work and returns home, the robot assistant might suggest, "Welcome back. I've scheduled tomorrow's meeting for a time when you can relax." An example of a prompt sentence to feed into the generating AI model at this time would be, "Now that I'm relaxed after work, please suggest the optimal time for tomorrow's meeting based on the schedules and sentiment data of all members."
[0192] This allows users to manage their schedules flexibly and efficiently, taking their emotional state into consideration.
[0193] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0194] Step 1:
[0195] The server uses an information retrieval method to obtain each member's schedule information via an external calendar service API. It uses the calendar API authentication information as input and outputs a list of the members' schedule data. This data is stored in a database.
[0196] Step 2:
[0197] The server analyzes the acquired schedule data using SQL as the analysis tool to identify each member's free time. It uses the schedule data from the database as input and outputs a list of each member's free time. This free time is used to identify common free time periods.
[0198] Step 3:
[0199] The server uses a time-determining method to find common free time from the free time of each member obtained through analysis. Using the free time list from step 2 as input, it obtains a list of possible common free time as output.
[0200] Step 4:
[0201] The server utilizes emotion recognition capabilities to acquire and analyze each user's emotional state using audio and facial expression data. It uses audio and video data acquired from a microphone and camera as input, and obtains each user's emotional state data as output. This analysis uses emotion recognition engines such as the Microsoft Face API.
[0202] Step 5:
[0203] The server uses a time suggestion mechanism to propose the optimal meeting time, taking emotional state into account. It uses emotional state data and a common free time list as input and outputs a suggestion for the optimal meeting time. This step involves calculations that prioritize less stressful time slots based on emotional state.
[0204] Step 6:
[0205] Users visually view the suggested optimal meeting times in a dashboard format via their device. Meeting time data from the server is used as input, and a visualized schedule is obtained as output to the user interface. Users can flexibly configure meeting settings through this schedule.
[0206] Step 7:
[0207] Based on the user's selection, the server automatically sends meeting invitations to each member using the invitation sending method. The user's meeting time selection information is used as input, and meeting invitation emails are sent to all members as output.
[0208] The above is the processing flow of the system based on this invention.
[0209] 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.
[0210] 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.
[0211] 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.
[0212] [Second Embodiment]
[0213] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0214] 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.
[0215] 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).
[0216] 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.
[0217] 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.
[0218] 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).
[0219] 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.
[0220] 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.
[0221] 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.
[0222] 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.
[0223] 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.
[0224] 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".
[0225] To implement this invention, the system should be configured as follows: First, the server periodically retrieves schedule information for each member from an external calendar service. This involves a process of collecting schedule information from services such as Google Calendar and Outlook Calendar after performing API authentication and obtaining appropriate access rights. This information collection is automated by an information retrieval means.
[0226] Next, the server analyzes each member's free time based on the acquired schedule information. The analysis identifies time slots when each member does not have existing appointments or commitments, and records these in the database.
[0227] The server then uses the analyzed free time to identify common free time slots for all members. The time identification tool calculates the time periods in which all members are available and lists the results. Based on this list, the server uses a time suggestion tool to propose the optimal meeting time. At this stage, it is also possible to take into account past meeting data and preferred time slots.
[0228] Once the user selects the most suitable time from the suggested time slots, the server automatically sends meeting invitations to the participants based on the selected time. The invitation sending mechanism manages this process, automatically generating and sending an email or calendar event containing the meeting date and time, details, and a participation link.
[0229] Finally, the terminal visually displays the schedules of all members. The display device handles this, showing each member's availability and free time in a color-coded dashboard format. This makes it easy for users to check schedules at a glance.
[0230] As a concrete example, when a user opens the dashboard on their device, the schedule data analyzed by the server is reflected in real time, making the schedules of all members visible. This system makes it possible to streamline the meeting scheduling process and achieve quick and accurate schedule management.
[0231] The following describes the processing flow.
[0232] Step 1:
[0233] The server periodically activates its information retrieval system and accesses each member's calendar service. It uses an API to retrieve each member's schedule information and stores this information in a database.
[0234] Step 2:
[0235] The server analyzes the stored schedule information through an analysis tool. It checks the start and end times of each member's events and extracts any free time that does not overlap.
[0236] Step 3:
[0237] The server uses time-specific methods to identify common free time periods based on the free time lists of all members. It finds common free time periods and creates a list of potential candidates.
[0238] Step 4:
[0239] The server uses a time suggestion mechanism to determine the optimal meeting time from a list of identified common available time slots. It takes into account past meeting history and each member's preferred time slots to suggest the best time.
[0240] Step 5:
[0241] The user receives a list of optimal meeting times from the server and selects their preferred time.
[0242] Step 6:
[0243] Upon receiving the user's selection, the server activates the invitation sending mechanism. It creates a meeting invitation based on the selected meeting time and sends it to all members.
[0244] Step 7:
[0245] The terminal uses a display device to visually show data retrieved from the server in a dashboard format. The schedules and meeting availability of all members are color-coded, providing users with visual information.
[0246] (Example 1)
[0247] 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."
[0248] In schedule management, there is a need for a way to efficiently and accurately propose the optimal meeting time by coordinating the availability of multiple members. However, traditional methods require cumbersome manual adjustments, making it time-consuming to optimize time and identify common availability. Furthermore, the difficulty in integrating information between different calendar services made smooth schedule coordination challenging.
[0249] 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.
[0250] In this invention, the server includes information processing means for acquiring member schedule information, analysis processing means for analyzing free time, and time identification means for identifying common free time. This enables efficient analysis of each member's free time and identification of common time slots, thereby allowing for quick and optimal meeting time suggestions.
[0251] "Information processing means" refers to a means for electronically obtaining and organizing members' schedule information from external scheduling services.
[0252] The "analysis processing means" is a means of calculating and analyzing each member's available time based on the acquired schedule information of the members.
[0253] A "time identification means" is a method for identifying common free time for all members from the free time obtained through the analysis process.
[0254] A "time presentation method" is a means of presenting the optimal meeting time to the members based on identified common available time slots.
[0255] An "invitation communication method" is a means of automatically sending meeting invitations to members based on the suggested optimal time.
[0256] "Display processing means" refers to means for visually displaying the overall schedule and available time of the members.
[0257] To implement this invention, a server and a terminal play a central role. The server first electronically retrieves the schedule information of its members from an external calendar service. This is done via the APIs of commonly used cloud-based calendar services such as Google Calendar and Outlook Calendar. The server uses these APIs to perform OAuth authentication, obtain the necessary access rights, and then retrieves the schedule information of its members.
[0258] The server then analyzes the acquired schedule information and calculates the available time for each member. This process is performed by checking the start and end times of scheduled activities using timestamp data to identify available time. A database management system is used for the analysis, and the analysis results are saved for use in subsequent processing.
[0259] The server identifies common free time slots from the analyzed free time and uses this information to suggest the optimal meeting time. The algorithm considers past meeting data and user preferences to present the best time slot to the participants. At this stage, using specialized data analysis techniques such as machine learning models allows for more accurate suggestions.
[0260] When a user selects a meeting time suggested by the server, the server automatically sends a meeting invitation to the participants. An invitation email or calendar event containing the meeting date, time, location, and URL for the online meeting is automatically generated and sent.
[0261] Ultimately, the device visually displays the schedules of all members. It uses a dashboard format that color-codes each member's availability and meeting attendance status, making it easy for users to check schedules at a glance.
[0262] For example, when a user attempts to schedule the next meeting from their device's dashboard, the server receives a prompt asking for everyone's common availability for the next week and then suggests suitable times. This system automates meeting scheduling, significantly reducing the effort required for coordination.
[0263] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0264] Step 1:
[0265] The server uses the API of an external calendar service to retrieve schedule information for each member. The input requires API authentication credentials and member identifiers. First, the server obtains appropriate access rights using OAuth, and then calls the API endpoint to retrieve the schedule data. The output is schedule data in JSON format. This data is organized by member to prepare for subsequent free time analysis.
[0266] Step 2:
[0267] The server analyzes the retrieved schedule data to identify each member's free time. It uses schedule data in JSON format as input. The server analyzes the start and end times of appointments using timestamps and calculates any gaps in the schedule. A free time list is created as output and saved to the database. This list, in a format that shows each member's free time, is used later to identify common time slots.
[0268] Step 3:
[0269] The server aggregates the free time of each member to identify common free time for everyone. A list of free time is used as input. The server uses an algorithm to overlay these lists and identify common time slots available to everyone. A list of common free time is generated as output. This list is used in the next proposal phase of the system.
[0270] Step 4:
[0271] The server proposes the optimal meeting time based on shared availability. The inputs used are a list of shared availability, past meeting data, and user preference parameters. The server uses a generative AI model to prioritize meeting times based on this information. The output is a list of optimal meeting times, which is provided to the user.
[0272] Step 5:
[0273] When a user selects the most suitable time from the suggested meeting times, the server automatically sends a meeting invitation based on that time. The user's selected meeting time is used as input. Based on this information, the server automatically generates an invitation email or calendar event including the date, time, location, and participation link for the meeting, and sends it to the participants based on the recipient list. The output records each meeting invitation that has been sent.
[0274] Step 6:
[0275] The terminal visually displays the schedules of all members and the meeting times selected by the user. Schedule data and meeting invitation information provided by the server are used as input. The terminal visualizes each member's available time on the dashboard in a color-coded calendar format. This display allows the user to intuitively check the schedule. The output provides the user with a visualized schedule.
[0276] (Application Example 1)
[0277] 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."
[0278] In modern physical stores, the management of staff shifts and meeting schedules has become complex. If schedules are arranged without considering the time information of individual staff members, it becomes difficult to make adjustments, leading to problems such as decreased attendance rates and work efficiency. Furthermore, since each staff member manages their schedule individually, it has become difficult to find common free time. This often hinders communication among staff members and the efficient execution of business operations.
[0279] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following respective means.
[0280] In this invention, the server includes information collection means for acquiring the time information of the members, analysis processing means for analyzing the free time of the members from the acquired time information, and time detection means for specifying the common free time of all the members based on the analysis result. As a result, it becomes possible to formulate an optimal shift schedule and meeting times while considering the individual schedules of the staff, and an improvement in business efficiency within the store can be expected.
[0281] The "information collection means" is a technical means for electronically acquiring the time information of the members from an external time management service.
[0282] The "analysis processing means" is a technical means for specifying and analyzing the free time of each member based on the acquired time information.
[0283] The "time detection means" is a technical means for analyzing the time information of a plurality of members and specifying the common free time.
[0284] The "time proposal processing means" is a technical means for proposing an optimal meeting time to the members based on the analyzed time information.
[0285] The "guidance transmission means" is a technical means for transmitting the guidance of the meeting to each member based on the proposed time.
[0286] The "display processing means" is a technical means for visually displaying the time information of all members and the proposed optimal time.
[0287] The "work proposal means" is a technical means for proposing the optimization of work time based on the time information of members.
[0288] The "work guidance sending means" is a technical means for sending work guidance based on the proposed optimal work time.
[0289] The server uses information collection means to regularly obtain the time information of each member from an external time management service. At this time, software such as Google Calendar API and Microsoft Graph API is utilized to obtain appropriate access rights through API authentication.
[0290] The obtained time information is analyzed by the analysis processing means inside the server, and the free time of each member is identified. Here, a database is used to store the analysis results, and Python libraries are utilized for the analysis algorithm.
[0291] Based on the analyzed data, the server calculates the common free time of all members via the time detection means. This information serves as the basic data for proposing optimal shift and meeting times.
[0292] Next, the server uses the time proposal processing means to propose optimal shifts and meeting times to the members. The proposed times are electronically notified to each member through the guidance sending means. Here too, email and push notification systems are utilized.
[0293] The user can confirm the time information of all members visualized by the display processing means via the terminal. This display is in the form of a dashboard and is realized by a front-end library such as React Native. In actual operation, the user can open the smartphone app and quickly check the shift status and meeting schedule of all staff at a glance.
[0294] As a concrete example, when proposing the optimal shifts for all staff members for a special weekend event, this system can create the most efficient schedule based on each staff member's availability and notify relevant parties. An example of a prompt message would be, "Collect available time from staff calendars, identify common times, and propose the optimal shifts." In this way, it is possible to achieve operational efficiency and smooth personnel management.
[0295] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0296] Step 1:
[0297] The server uses information gathering tools to obtain time information for each member from an external time management service. The input is the members' calendar data obtained via an API, and the output is raw schedule information. In this process, the server goes through API authentication, such as the Google Calendar API, and saves the members' schedule information to a database.
[0298] Step 2:
[0299] The server uses an analysis processing mechanism to analyze each member's free time from the acquired schedule information. The input is the schedule information stored in the database, and the output is a list of each member's free time. The server uses a Python analysis algorithm to calculate free time by subtracting the scheduled time, and updates the database with the result.
[0300] Step 3:
[0301] The server uses a time detection mechanism to identify the common free time of all members. The input is a list of each member's free time, and the output is the common free time that all members can participate in. The server calculates the common portion by crossing these free times and registers it in the database.
[0302] Step 4:
[0303] The server uses time proposal processing means to propose an optimal shift or meeting time to the members. The input is the common free time, and the output is the optimal shift time or meeting time. The server calculates the optimal time considering the past meeting history and priority time zones, and saves the proposed content in the database.
[0304] Step 5:
[0305] The server notifies the proposed time to the members by means of guidance sending means. The input is the optimal shift time or meeting time, and the output is a guidance email or push notification. The server uses an email system or notification service to send information to all members.
[0306] Step 6:
[0307] The user uses the terminal and, by means of display processing means, checks the time information of all members visually presented. The input is the schedule data sent from the server, and the output is a dashboard display on the terminal. The user can operate a smartphone or PC to view the schedule updated in real time.
[0308] Furthermore, an emotion engine for estimating the user's emotion may be combined. That is, the specific processing unit 290 may estimate the user's emotion using the emotion specific model 59 and perform specific processing using the user's emotion.
[0309] In order to implement this invention, the system needs to have the following configuration. First, the server uses information acquisition means to access the calendar service of each member and acquire schedule information. This includes obtaining access rights through API authentication and collecting calendar information. This information is saved in the database, and the free time of the members is extracted by the analysis means.
[0310] Next, the server uses a time identification mechanism to analyze the availability of all members and identify common free time slots. Subsequently, a time suggestion mechanism proposes the optimal meeting time based on the identified common free time. Here, an emotion recognition mechanism is incorporated, and the server acquires voice and facial expression data to recognize the user's emotions and analyzes it with an emotion engine. Based on the analysis results, the meeting time suggestion is further adjusted.
[0311] The user receives the optimal meeting time suggested by the server and sets up the meeting accordingly. The server receives this selection and automatically sends meeting invitations to participants via an invitation sending mechanism. These invitations contain meeting details and the information required to participate.
[0312] The terminal visualizes data retrieved from the server in a dashboard format through its display device. This allows each member's schedule and meeting availability to be displayed in different colors, making it easy for everyone to check their schedules.
[0313] As a concrete example, when a user uses the dashboard on their device, the server suggests the optimal meeting time based on analyzed schedule data and recognized sentiment data. For instance, if a user is feeling stressed, the system prioritizes suggesting times when they can relax, thus setting a meeting time that allows everyone to respond more flexibly. This system enables efficient schedule management that reflects emotional considerations.
[0314] The following describes the processing flow.
[0315] Step 1:
[0316] The server accesses an external calendar service and retrieves each member's schedule information via an API. The retrieved information is stored in a database.
[0317] Step 2:
[0318] The server uses analysis tools to analyze the schedule information stored in the database. This identifies and lists the available time slots of each member.
[0319] Step 3:
[0320] The server uses time-based methods to compare the free time lists of all members and find common free time slots for everyone. These times become potential meeting times.
[0321] Step 4:
[0322] The server activates emotion recognition mechanisms to collect the user's voice and facial expressions. This allows it to recognize the user's emotional state, and the emotion engine analyzes the results.
[0323] Step 5:
[0324] The server uses a time suggestion mechanism to list the optimal meeting times, prioritizing them based on the recognized emotional state and past meeting history.
[0325] Step 6:
[0326] The user views a list of optimal meeting times provided by the server and selects a time that suits their schedule.
[0327] Step 7:
[0328] The server receives the user's selection and uses the invitation sending mechanism to send meeting invitations to all members based on the selected meeting time.
[0329] Step 8:
[0330] The terminal displays the latest schedule and sentiment analysis results from the server in a dashboard format, making it easier for users to grasp the overall picture of meeting scheduling.
[0331] (Example 2)
[0332] 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".
[0333] In modern organizations, scheduling efficient meetings that take into account the diverse schedules and emotional states of members is challenging. In particular, there is a need to identify optimal meeting times that reflect emotional states and to manage schedules in a visually clear and understandable way. However, traditional methods fail to integrate these aspects, resulting in inefficient meeting scheduling and placing a burden on members.
[0334] 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.
[0335] In this invention, the server includes data collection means for collecting schedule data for each member, analysis means for analyzing the members' free time from the collected schedule data, and emotion recognition means for acquiring voice and facial expression data to analyze the members' emotional state. This makes it possible to set effective meeting times that take into account the schedules and emotional states of all members.
[0336] A "data collection means" is a system element that has the function of electronically collecting schedule data for each member from an external scheduling service.
[0337] An "analysis tool" is a system element that has the function of analyzing collected schedule data to identify the available time of each member.
[0338] A "time identification means" is a system element that has the function of identifying common free time for all members based on the analyzed results.
[0339] A "time recommendation tool" is a system element that has the function of suggesting the optimal meeting time from identified common free time slots.
[0340] The "invitation distribution method" is a system element that has the function of sending meeting invitations to each member based on the proposed optimal meeting time.
[0341] A "visualization tool" is a system element that has the function of visually displaying and presenting the schedules of all members in an easy-to-understand manner.
[0342] An "emotion recognition means" is a system element that has the function of acquiring and analyzing voice and facial expression data to identify the emotional state of its members.
[0343] A "time adjustment mechanism" is a system element that has the function of modifying proposed meeting times as needed, based on emotional states.
[0344] In order to implement this invention, the system needs to have a configuration that combines multiple means. Specific examples are shown below.
[0345] The server has a data collection mechanism that accesses external scheduling services (e.g., cloud-based calendar services) via APIs. This allows for efficient acquisition of each member's schedule data and storage in a local database. Database management can be handled using data management software such as PostgreSQL or MongoDB.
[0346] Next, the server has analytical tools that use analysis algorithms to extract the free time of each member from the collected schedule data. For example, it can process the data as a DataFrame using the Python library pandas and quickly calculate the free time. Furthermore, the identified common free time information is securely stored in the data analysis storage.
[0347] In the emotion recognition system, the server acquires data from the user's voice or facial expressions. This data is collected using a microphone or camera on a smartphone or PC, and then analyzed by an emotion analysis engine (e.g., a natural language processing API). The resulting emotional state is then used to adjust meeting times appropriately.
[0348] When a user sets up a meeting, the server uses a time recommendation system to suggest the optimal meeting time. This system can take into account past meeting history, and by analyzing historical data, it can provide better suggestions.
[0349] The terminal has a visualization mechanism to display these processing results in a dashboard format, allowing users to easily check them. For example, a web interface using HTML5 and JavaScript can be created to color-code or filter scheduled and proposed meeting times.
[0350] As a concrete example, the prompt can be entered as follows: "Please suggest the optimal meeting time to minimize stress, taking the overall schedule into consideration." Based on this prompt, the system implements flexible scheduling that reflects the user's feelings.
[0351] This invention effectively takes into account the schedules and emotional states of the participants, enabling the scheduling of efficient and stress-free meetings.
[0352] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0353] Step 1:
[0354] The server accesses an external schedule management service via an API to retrieve schedule data for each member. During this process, the server passes the user's calendar authentication information to the API to obtain the schedule data. The input consists of the member's authentication information and a request to the calendar API, while the output is the schedule information for each member. The server stores this schedule information in a local database, where data is added and updated as needed.
[0355] Step 2:
[0356] The server uses an analysis algorithm to extract each member's free time from the collected schedule data. At this stage, the pandas library is used to process the data in a dataframe format. The input is the members' schedule information stored in the database, and the output is a list of each member's free time. The server organizes this free time data to use as the basis for the next processing step.
[0357] Step 3:
[0358] The server aggregates free time lists and identifies overlapping time slots to identify common free time. An algorithm is used to efficiently compare the data and extract the overlapping portions. The input is the free time list for each member, and the output is the common free time for all members. This extracts the times when all members are available to participate.
[0359] Step 4:
[0360] The server collects audio and facial expression data and analyzes emotional states using an emotion recognition engine. It captures audio and video from each user's device and processes the data using an emotion recognition API. The input is audio and facial expression data, and the output is the analyzed emotional state data. The server uses this data to prepare for influencing the next proposal process.
[0361] Step 5:
[0362] The server suggests the optimal meeting time based on emotional states and shared availability. It also considers past meeting history data in its time recommendation system to provide the best possible suggestion to the user. Inputs include shared availability, emotional state data, and past history information; output is the recommended optimal meeting time. The server presents this information to the user and prepares the meeting environment.
[0363] Step 6:
[0364] The user selects the optimal meeting time suggested by the server and sends the selection to the server. The server then sends meeting invitations to each member based on the selected time. The input is the meeting time selected by the user, and the output is the electronic meeting invitation to each member. The invitation includes meeting details and a link to join.
[0365] Step 7:
[0366] The terminal visualizes and provides users with schedule and meeting information received from the server. This involves creating a custom dashboard using HTML5 and JavaScript, displaying the user's schedule in a visually easy-to-understand format. Inputs are meeting information and the latest schedule data from the server, and output is a visualized dashboard. Users can easily manage their schedules using this.
[0367] (Application Example 2)
[0368] 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 as the "terminal".
[0369] Modern scheduling systems often only suggest efficient meeting times based on the user's existing schedule, lacking consideration for the user's emotional and mental state. This can lead to meetings being scheduled during stressful times, hindering efficient communication. Therefore, there is a need for systems that consider the user's emotional state and enable more flexible and stress-free scheduling.
[0370] 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.
[0371] In this invention, the server includes information acquisition means for acquiring schedule information of each member, analysis means for analyzing the members' free time from the acquired schedule information, and emotion recognition means for recognizing the user's emotional state. This makes it possible to propose an optimal meeting time that takes the user's emotional state into consideration.
[0372] "Information acquisition means" refers to a system for electronically obtaining each member's schedule information from an external calendar service.
[0373] "Analysis means" refers to a device and method for processing data to identify the available time of each member from the acquired schedule information.
[0374] A "time identification method" is a mechanism for identifying common free time for all members based on analysis.
[0375] A "time suggestion mechanism" is a function that suggests the optimal meeting time from identified common available time slots.
[0376] The "invitation sending method" is a system that automatically sends meeting invitations to each member based on the suggested optimal time.
[0377] "Display means" refers to a function that visually displays the schedules of all members on the user interface.
[0378] "Emotion recognition means" refers to technology that uses voice and facial expression data to analyze a user's emotional state.
[0379] A "time adjustment mechanism" is a function for adjusting the proposed meeting time based on the perceived emotional state.
[0380] To implement this invention, the server first needs to obtain each member's calendar information from an external source. The Google Calendar API or other calendar service APIs are used as means of obtaining this information. The obtained data is stored in a database and analyzed using SQL (such as MySQL). The analysis means identifies each member's free time, and the time identification means finds common free time for all members.
[0381] Next, the server uses emotion recognition. It acquires voice and facial expression data using a camera and microphone, and analyzes it with an emotion recognition engine (e.g., Microsoft Face API). Based on the emotion recognition results, a time suggestion system then proposes the optimal meeting time to the user. This suggestion is presented to the user in a gentle manner, taking into account the recognized emotional state.
[0382] The device displays a dashboard to the user, showing them the optimal meeting time based on visualized schedules and emotional data. Based on this information, users can schedule meetings during times when they experience less stress.
[0383] As a concrete example, when a user finishes work and returns home, the robot assistant might suggest, "Welcome back. I've scheduled tomorrow's meeting for a time when you can relax." An example of a prompt sentence to feed into the generating AI model at this time would be, "Now that I'm relaxed after work, please suggest the optimal time for tomorrow's meeting based on the schedules and sentiment data of all members."
[0384] This allows users to manage their schedules flexibly and efficiently, taking their emotional state into consideration.
[0385] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0386] Step 1:
[0387] The server uses an information retrieval method to obtain each member's schedule information via an external calendar service API. It uses the calendar API authentication information as input and outputs a list of the members' schedule data. This data is stored in a database.
[0388] Step 2:
[0389] The server analyzes the acquired schedule data using SQL as the analysis tool to identify each member's free time. It uses the schedule data from the database as input and outputs a list of each member's free time. This free time is used to identify common free time periods.
[0390] Step 3:
[0391] The server uses a time-determining method to find common free time from the free time of each member obtained through analysis. Using the free time list from step 2 as input, it obtains a list of possible common free time as output.
[0392] Step 4:
[0393] The server utilizes emotion recognition capabilities to acquire and analyze each user's emotional state using audio and facial expression data. It uses audio and video data acquired from a microphone and camera as input, and obtains each user's emotional state data as output. This analysis uses emotion recognition engines such as the Microsoft Face API.
[0394] Step 5:
[0395] The server uses a time suggestion mechanism to propose the optimal meeting time, taking emotional state into account. It uses emotional state data and a common free time list as input and outputs a suggestion for the optimal meeting time. This step involves calculations that prioritize less stressful time slots based on emotional state.
[0396] Step 6:
[0397] Users visually view the suggested optimal meeting times in a dashboard format via their device. Meeting time data from the server is used as input, and a visualized schedule is obtained as output to the user interface. Users can flexibly configure meeting settings through this schedule.
[0398] Step 7:
[0399] Based on the user's selection, the server automatically sends meeting invitations to each member using the invitation sending method. The user's meeting time selection information is used as input, and meeting invitation emails are sent to all members as output.
[0400] The above is the processing flow of the system based on this invention.
[0401] 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.
[0402] 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.
[0403] 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.
[0404] [Third Embodiment]
[0405] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0406] 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.
[0407] 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).
[0408] 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.
[0409] 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.
[0410] 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).
[0411] 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.
[0412] 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.
[0413] 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.
[0414] 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.
[0415] 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.
[0416] 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".
[0417] To implement this invention, the system should be configured as follows: First, the server periodically retrieves schedule information for each member from an external calendar service. This involves a process of collecting schedule information from services such as Google Calendar and Outlook Calendar after performing API authentication and obtaining appropriate access rights. This information collection is automated by an information retrieval means.
[0418] Next, the server analyzes each member's free time based on the acquired schedule information. The analysis identifies time slots when each member does not have existing appointments or commitments, and records these in the database.
[0419] The server then uses the analyzed free time to identify common free time slots for all members. The time identification tool calculates the time periods in which all members are available and lists the results. Based on this list, the server uses a time suggestion tool to propose the optimal meeting time. At this stage, it is also possible to take into account past meeting data and preferred time slots.
[0420] Once the user selects the most suitable time from the suggested time slots, the server automatically sends meeting invitations to the participants based on the selected time. The invitation sending mechanism manages this process, automatically generating and sending an email or calendar event containing the meeting date and time, details, and a participation link.
[0421] Finally, the terminal visually displays the schedules of all members. The display device handles this, showing each member's availability and free time in a color-coded dashboard format. This makes it easy for users to check schedules at a glance.
[0422] As a concrete example, when a user opens the dashboard on their device, the schedule data analyzed by the server is reflected in real time, making the schedules of all members visible. This system makes it possible to streamline the meeting scheduling process and achieve quick and accurate schedule management.
[0423] The following describes the processing flow.
[0424] Step 1:
[0425] The server periodically activates its information retrieval system and accesses each member's calendar service. It uses an API to retrieve each member's schedule information and stores this information in a database.
[0426] Step 2:
[0427] The server analyzes the stored schedule information through an analysis tool. It checks the start and end times of each member's events and extracts any free time that does not overlap.
[0428] Step 3:
[0429] The server uses time-specific methods to identify common free time periods based on the free time lists of all members. It finds common free time periods and creates a list of potential candidates.
[0430] Step 4:
[0431] The server uses a time suggestion mechanism to determine the optimal meeting time from a list of identified common available time slots. It takes into account past meeting history and each member's preferred time slots to suggest the best time.
[0432] Step 5:
[0433] The user receives a list of optimal meeting times from the server and selects their preferred time.
[0434] Step 6:
[0435] Upon receiving the user's selection, the server activates the invitation sending mechanism. It creates a meeting invitation based on the selected meeting time and sends it to all members.
[0436] Step 7:
[0437] The terminal uses a display device to visually show data retrieved from the server in a dashboard format. The schedules and meeting availability of all members are color-coded, providing users with visual information.
[0438] (Example 1)
[0439] 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."
[0440] In schedule management, there is a need for a way to efficiently and accurately propose the optimal meeting time by coordinating the availability of multiple members. However, traditional methods require cumbersome manual adjustments, making it time-consuming to optimize time and identify common availability. Furthermore, the difficulty in integrating information between different calendar services made smooth schedule coordination challenging.
[0441] 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.
[0442] In this invention, the server includes information processing means for acquiring member schedule information, analysis processing means for analyzing free time, and time identification means for identifying common free time. This enables efficient analysis of each member's free time and identification of common time slots, thereby allowing for quick and optimal meeting time suggestions.
[0443] "Information processing means" refers to a means for electronically obtaining and organizing members' schedule information from external scheduling services.
[0444] The "analysis processing means" is a means of calculating and analyzing each member's available time based on the acquired schedule information of the members.
[0445] A "time identification means" is a method for identifying common free time for all members from the free time obtained through the analysis process.
[0446] A "time presentation method" is a means of presenting the optimal meeting time to the members based on identified common available time slots.
[0447] An "invitation communication method" is a means of automatically sending meeting invitations to members based on the suggested optimal time.
[0448] "Display processing means" refers to means for visually displaying the overall schedule and available time of the members.
[0449] To implement this invention, a server and a terminal play a central role. The server first electronically retrieves the schedule information of its members from an external calendar service. This is done via the APIs of commonly used cloud-based calendar services such as Google Calendar and Outlook Calendar. The server uses these APIs to perform OAuth authentication, obtain the necessary access rights, and then retrieves the schedule information of its members.
[0450] The server then analyzes the acquired schedule information and calculates the available time for each member. This process is performed by checking the start and end times of scheduled activities using timestamp data to identify available time. A database management system is used for the analysis, and the analysis results are saved for use in subsequent processing.
[0451] The server identifies common free time slots from the analyzed free time and uses this information to suggest the optimal meeting time. The algorithm considers past meeting data and user preferences to present the best time slot to the participants. At this stage, using specialized data analysis techniques such as machine learning models allows for more accurate suggestions.
[0452] When a user selects a meeting time suggested by the server, the server automatically sends a meeting invitation to the participants. An invitation email or calendar event containing the meeting date, time, location, and URL for the online meeting is automatically generated and sent.
[0453] Ultimately, the device visually displays the schedules of all members. It uses a dashboard format that color-codes each member's availability and meeting attendance status, making it easy for users to check schedules at a glance.
[0454] For example, when a user attempts to schedule the next meeting from their device's dashboard, the server receives a prompt asking for everyone's common availability for the next week and then suggests suitable times. This system automates meeting scheduling, significantly reducing the effort required for coordination.
[0455] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0456] Step 1:
[0457] The server uses the API of an external calendar service to retrieve schedule information for each member. The input requires API authentication credentials and member identifiers. First, the server obtains appropriate access rights using OAuth, and then calls the API endpoint to retrieve the schedule data. The output is schedule data in JSON format. This data is organized by member to prepare for subsequent free time analysis.
[0458] Step 2:
[0459] The server analyzes the retrieved schedule data to identify each member's free time. It uses schedule data in JSON format as input. The server analyzes the start and end times of appointments using timestamps and calculates any gaps in the schedule. A free time list is created as output and saved to the database. This list, in a format that shows each member's free time, is used later to identify common time slots.
[0460] Step 3:
[0461] The server aggregates the free time of each member to identify common free time for everyone. A list of free time is used as input. The server uses an algorithm to overlay these lists and identify common time slots available to everyone. A list of common free time is generated as output. This list is used in the next proposal phase of the system.
[0462] Step 4:
[0463] The server proposes the optimal meeting time based on shared availability. The inputs used are a list of shared availability, past meeting data, and user preference parameters. The server uses a generative AI model to prioritize meeting times based on this information. The output is a list of optimal meeting times, which is provided to the user.
[0464] Step 5:
[0465] When a user selects the most suitable time from the suggested meeting times, the server automatically sends a meeting invitation based on that time. The user's selected meeting time is used as input. Based on this information, the server automatically generates an invitation email or calendar event including the date, time, location, and participation link for the meeting, and sends it to the participants based on the recipient list. The output records each meeting invitation that has been sent.
[0466] Step 6:
[0467] The terminal visually displays the schedules of all members and the meeting times selected by the user. Schedule data and meeting invitation information provided by the server are used as input. The terminal visualizes each member's available time on the dashboard in a color-coded calendar format. This display allows the user to intuitively check the schedule. The output provides the user with a visualized schedule.
[0468] (Application Example 1)
[0469] 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."
[0470] In modern brick-and-mortar stores, managing staff shifts and meeting schedules has become increasingly complex. Scheduling without considering individual staff availability makes coordination difficult, leading to decreased attendance and work efficiency. Furthermore, because each staff member manages their schedule individually, finding common free time slots becomes challenging. This often hinders communication among staff and improves efficient work performance.
[0471] 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.
[0472] In this invention, the server includes information gathering means for acquiring time information of its members, analysis processing means for analyzing the free time of members from the acquired time information, and time detection means for identifying the common free time of all members based on the analysis results. This makes it possible to formulate optimal shift schedules and meeting times while taking into account the individual schedules of staff, and is expected to improve operational efficiency within the store.
[0473] "Information gathering means" refers to technical means for electronically obtaining members' time information from external time management services.
[0474] "Analysis processing means" refers to technical means for identifying and analyzing the free time of each member based on acquired time information.
[0475] A "time detection means" is a technical means for analyzing the time information of multiple members to identify common free time.
[0476] A "time suggestion processing means" is a technical means for suggesting the optimal meeting time to members based on analyzed time information.
[0477] "Means of sending invitations" refers to technical means for sending meeting invitations to each member based on the proposed time.
[0478] "Display processing means" refers to technical means for visually displaying the time information of all members and the proposed optimal time.
[0479] A "work proposal method" is a technical means for proposing the optimization of work time based on the time information of the members involved.
[0480] "Work guidance transmission means" refers to a technical means for transmitting work guidance based on the proposed optimal work time.
[0481] The server uses information gathering tools to periodically retrieve time information for each member from external time management services. In doing so, it utilizes software such as the Google Calendar API and Microsoft Graph API, obtaining appropriate access rights through API authentication.
[0482] The acquired time information is analyzed by an internal analysis processing system on the server to identify the free time of each member. Here, the analysis results are stored in a database, and Python libraries are used for the analysis algorithm.
[0483] Based on the analyzed data, the server calculates the common free time of all members via a time detection mechanism. This information serves as the basis for suggesting optimal shifts and meeting times.
[0484] Next, the server uses a time suggestion processing mechanism to propose optimal shifts and meeting times to the members. The proposed times are electronically notified to each member through a notification transmission mechanism. Here again, email and push notification systems are utilized.
[0485] Users can view the time information of all team members, visualized through a display processing system, via their device. This display is presented in a dashboard format and implemented using front-end libraries such as React Native. In actual use, users can open a smartphone app and see the shift status and meeting schedules of all staff members at a glance.
[0486] As a concrete example, when proposing the optimal shifts for all staff members for a special weekend event, this system can create the most efficient schedule based on each staff member's availability and notify relevant parties. An example of a prompt message would be, "Collect available time from staff calendars, identify common times, and propose the optimal shifts." In this way, it is possible to achieve operational efficiency and smooth personnel management.
[0487] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0488] Step 1:
[0489] The server uses information gathering tools to obtain time information for each member from an external time management service. The input is the members' calendar data obtained via an API, and the output is raw schedule information. In this process, the server goes through API authentication, such as the Google Calendar API, and saves the members' schedule information to a database.
[0490] Step 2:
[0491] The server uses an analysis processing mechanism to analyze each member's free time from the acquired schedule information. The input is the schedule information stored in the database, and the output is a list of each member's free time. The server uses a Python analysis algorithm to calculate free time by subtracting the scheduled time, and updates the database with the result.
[0492] Step 3:
[0493] The server uses a time detection mechanism to identify the common free time of all members. The input is a list of each member's free time, and the output is the common free time that all members can participate in. The server calculates the common portion by crossing these free times and registers it in the database.
[0494] Step 4:
[0495] The server uses a time suggestion processing mechanism to propose optimal shifts and meeting times for the members. The input is the common free time, and the output is the optimal shift or meeting time. The server calculates the optimal time considering past meeting history and preferred time slots, and stores the proposed content in a database.
[0496] Step 5:
[0497] The server notifies members of the proposed time via a notification system. Input is the optimal shift or meeting time, and output is notification emails or push notifications. The server sends information to all members using an email system or notification service.
[0498] Step 6:
[0499] Users can use their devices to view the time information of all members, visually displayed through a display processing device. Input is schedule data sent from the server, and output is a dashboard display on the device. Users can operate their smartphones or PCs to view the schedule, which is updated in real time.
[0500] 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.
[0501] To implement this invention, the system must have the following configuration. First, the server uses information acquisition means to access each member's calendar service and obtain schedule information. This includes obtaining access rights through API authentication and collecting calendar information. This information is stored in a database, and the members' free time is extracted by analysis means.
[0502] Next, the server uses a time identification mechanism to analyze the availability of all members and identify common free time slots. Subsequently, a time suggestion mechanism proposes the optimal meeting time based on the identified common free time. Here, an emotion recognition mechanism is incorporated, and the server acquires voice and facial expression data to recognize the user's emotions and analyzes it with an emotion engine. Based on the analysis results, the meeting time suggestion is further adjusted.
[0503] The user receives the optimal meeting time suggested by the server and sets up the meeting accordingly. The server receives this selection and automatically sends meeting invitations to participants via an invitation sending mechanism. These invitations contain meeting details and the information required to participate.
[0504] The terminal visualizes data retrieved from the server in a dashboard format through its display device. This allows each member's schedule and meeting availability to be displayed in different colors, making it easy for everyone to check their schedules.
[0505] As a concrete example, when a user uses the dashboard on their device, the server suggests the optimal meeting time based on analyzed schedule data and recognized sentiment data. For instance, if a user is feeling stressed, the system prioritizes suggesting times when they can relax, thus setting a meeting time that allows everyone to respond more flexibly. This system enables efficient schedule management that reflects emotional considerations.
[0506] The following describes the processing flow.
[0507] Step 1:
[0508] The server accesses an external calendar service and retrieves each member's schedule information via an API. The retrieved information is stored in a database.
[0509] Step 2:
[0510] The server uses analysis tools to analyze the schedule information stored in the database. This identifies and lists the available time slots of each member.
[0511] Step 3:
[0512] The server uses time-based methods to compare the free time lists of all members and find common free time slots for everyone. These times become potential meeting times.
[0513] Step 4:
[0514] The server activates emotion recognition mechanisms to collect the user's voice and facial expressions. This allows it to recognize the user's emotional state, and the emotion engine analyzes the results.
[0515] Step 5:
[0516] The server uses a time suggestion mechanism to list the optimal meeting times, prioritizing them based on the recognized emotional state and past meeting history.
[0517] Step 6:
[0518] The user views a list of optimal meeting times provided by the server and selects a time that suits their schedule.
[0519] Step 7:
[0520] The server receives the user's selection and uses the invitation sending mechanism to send meeting invitations to all members based on the selected meeting time.
[0521] Step 8:
[0522] The terminal displays the latest schedule and sentiment analysis results from the server in a dashboard format, making it easier for users to grasp the overall picture of meeting scheduling.
[0523] (Example 2)
[0524] 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."
[0525] In modern organizations, scheduling efficient meetings that take into account the diverse schedules and emotional states of members is challenging. In particular, there is a need to identify optimal meeting times that reflect emotional states and to manage schedules in a visually clear and understandable way. However, traditional methods fail to integrate these aspects, resulting in inefficient meeting scheduling and placing a burden on members.
[0526] 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.
[0527] In this invention, the server includes data collection means for collecting schedule data for each member, analysis means for analyzing the members' free time from the collected schedule data, and emotion recognition means for acquiring voice and facial expression data to analyze the members' emotional state. This makes it possible to set effective meeting times that take into account the schedules and emotional states of all members.
[0528] A "data collection means" is a system element that has the function of electronically collecting schedule data for each member from an external scheduling service.
[0529] An "analysis tool" is a system element that has the function of analyzing collected schedule data to identify the available time of each member.
[0530] A "time identification means" is a system element that has the function of identifying common free time for all members based on the analyzed results.
[0531] A "time recommendation tool" is a system element that has the function of suggesting the optimal meeting time from identified common free time slots.
[0532] The "invitation distribution method" is a system element that has the function of sending meeting invitations to each member based on the proposed optimal meeting time.
[0533] A "visualization tool" is a system element that has the function of visually displaying and presenting the schedules of all members in an easy-to-understand manner.
[0534] An "emotion recognition means" is a system element that has the function of acquiring and analyzing voice and facial expression data to identify the emotional state of its members.
[0535] A "time adjustment mechanism" is a system element that has the function of modifying proposed meeting times as needed, based on emotional states.
[0536] In order to implement this invention, the system needs to have a configuration that combines multiple means. Specific examples are shown below.
[0537] The server has a data collection mechanism that accesses external scheduling services (e.g., cloud-based calendar services) via APIs. This allows for efficient acquisition of each member's schedule data and storage in a local database. Database management can be handled using data management software such as PostgreSQL or MongoDB.
[0538] Next, the server has analytical tools that use analysis algorithms to extract the free time of each member from the collected schedule data. For example, it can process the data as a DataFrame using the Python library pandas and quickly calculate the free time. Furthermore, the identified common free time information is securely stored in the data analysis storage.
[0539] In the emotion recognition system, the server acquires data from the user's voice or facial expressions. This data is collected using a microphone or camera on a smartphone or PC, and then analyzed by an emotion analysis engine (e.g., a natural language processing API). The resulting emotional state is then used to adjust meeting times appropriately.
[0540] When a user sets up a meeting, the server uses a time recommendation system to suggest the optimal meeting time. This system can take into account past meeting history, and by analyzing historical data, it can provide better suggestions.
[0541] The terminal has a visualization mechanism to display these processing results in a dashboard format, allowing users to easily check them. For example, a web interface using HTML5 and JavaScript can be created to color-code or filter scheduled and proposed meeting times.
[0542] As a concrete example, the prompt can be entered as follows: "Please suggest the optimal meeting time to minimize stress, taking the overall schedule into consideration." Based on this prompt, the system implements flexible scheduling that reflects the user's feelings.
[0543] This invention effectively takes into account the schedules and emotional states of the participants, enabling the scheduling of efficient and stress-free meetings.
[0544] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0545] Step 1:
[0546] The server accesses an external schedule management service via an API to retrieve schedule data for each member. During this process, the server passes the user's calendar authentication information to the API to obtain the schedule data. The input consists of the member's authentication information and a request to the calendar API, while the output is the schedule information for each member. The server stores this schedule information in a local database, where data is added and updated as needed.
[0547] Step 2:
[0548] The server uses an analysis algorithm to extract each member's free time from the collected schedule data. At this stage, the pandas library is used to process the data in a dataframe format. The input is the members' schedule information stored in the database, and the output is a list of each member's free time. The server organizes this free time data to use as the basis for the next processing step.
[0549] Step 3:
[0550] The server aggregates free time lists and identifies overlapping time slots to identify common free time. An algorithm is used to efficiently compare the data and extract the overlapping portions. The input is the free time list for each member, and the output is the common free time for all members. This extracts the times when all members are available to participate.
[0551] Step 4:
[0552] The server collects audio and facial expression data and analyzes emotional states using an emotion recognition engine. It captures audio and video from each user's device and processes the data using an emotion recognition API. The input is audio and facial expression data, and the output is the analyzed emotional state data. The server uses this data to prepare for influencing the next proposal process.
[0553] Step 5:
[0554] The server suggests the optimal meeting time based on emotional states and shared availability. It also considers past meeting history data in its time recommendation system to provide the best possible suggestion to the user. Inputs include shared availability, emotional state data, and past history information; output is the recommended optimal meeting time. The server presents this information to the user and prepares the meeting environment.
[0555] Step 6:
[0556] The user selects the optimal meeting time suggested by the server and sends the selection to the server. The server then sends meeting invitations to each member based on the selected time. The input is the meeting time selected by the user, and the output is the electronic meeting invitation to each member. The invitation includes meeting details and a link to join.
[0557] Step 7:
[0558] The terminal visualizes and provides users with schedule and meeting information received from the server. This involves creating a custom dashboard using HTML5 and JavaScript, displaying the user's schedule in a visually easy-to-understand format. Inputs are meeting information and the latest schedule data from the server, and output is a visualized dashboard. Users can easily manage their schedules using this.
[0559] (Application Example 2)
[0560] 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."
[0561] Modern scheduling systems often only suggest efficient meeting times based on the user's existing schedule, lacking consideration for the user's emotional and mental state. This can lead to meetings being scheduled during stressful times, hindering efficient communication. Therefore, there is a need for systems that consider the user's emotional state and enable more flexible and stress-free scheduling.
[0562] 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.
[0563] In this invention, the server includes information acquisition means for acquiring schedule information of each member, analysis means for analyzing the members' free time from the acquired schedule information, and emotion recognition means for recognizing the user's emotional state. This makes it possible to propose an optimal meeting time that takes the user's emotional state into consideration.
[0564] "Information acquisition means" refers to a system for electronically obtaining each member's schedule information from an external calendar service.
[0565] "Analysis means" refers to a device and method for processing data to identify the available time of each member from the acquired schedule information.
[0566] A "time identification method" is a mechanism for identifying common free time for all members based on analysis.
[0567] A "time suggestion mechanism" is a function that suggests the optimal meeting time from identified common available time slots.
[0568] The "invitation sending method" is a system that automatically sends meeting invitations to each member based on the suggested optimal time.
[0569] "Display means" refers to a function that visually displays the schedules of all members on the user interface.
[0570] "Emotion recognition means" refers to technology that uses voice and facial expression data to analyze a user's emotional state.
[0571] A "time adjustment mechanism" is a function for adjusting the proposed meeting time based on the perceived emotional state.
[0572] To implement this invention, the server first needs to obtain each member's calendar information from an external source. The Google Calendar API or other calendar service APIs are used as means of obtaining this information. The obtained data is stored in a database and analyzed using SQL (such as MySQL). The analysis means identifies each member's free time, and the time identification means finds common free time for all members.
[0573] Next, the server uses emotion recognition. It acquires voice and facial expression data using a camera and microphone, and analyzes it with an emotion recognition engine (e.g., Microsoft Face API). Based on the emotion recognition results, a time suggestion system then proposes the optimal meeting time to the user. This suggestion is presented to the user in a gentle manner, taking into account the recognized emotional state.
[0574] The device displays a dashboard to the user, showing them the optimal meeting time based on visualized schedules and emotional data. Based on this information, users can schedule meetings during times when they experience less stress.
[0575] As a concrete example, when a user finishes work and returns home, the robot assistant might suggest, "Welcome back. I've scheduled tomorrow's meeting for a time when you can relax." An example of a prompt sentence to feed into the generating AI model at this time would be, "Now that I'm relaxed after work, please suggest the optimal time for tomorrow's meeting based on the schedules and sentiment data of all members."
[0576] This allows users to manage their schedules flexibly and efficiently, taking their emotional state into consideration.
[0577] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0578] Step 1:
[0579] The server uses an information retrieval method to obtain each member's schedule information via an external calendar service API. It uses the calendar API authentication information as input and outputs a list of the members' schedule data. This data is stored in a database.
[0580] Step 2:
[0581] The server analyzes the acquired schedule data using SQL as the analysis tool to identify each member's free time. It uses the schedule data from the database as input and outputs a list of each member's free time. This free time is used to identify common free time periods.
[0582] Step 3:
[0583] The server uses a time-determining method to find common free time from the free time of each member obtained through analysis. Using the free time list from step 2 as input, it obtains a list of possible common free time as output.
[0584] Step 4:
[0585] The server utilizes emotion recognition capabilities to acquire and analyze each user's emotional state using audio and facial expression data. It uses audio and video data acquired from a microphone and camera as input, and obtains each user's emotional state data as output. This analysis uses emotion recognition engines such as the Microsoft Face API.
[0586] Step 5:
[0587] The server uses a time suggestion mechanism to propose the optimal meeting time, taking emotional state into account. It uses emotional state data and a common free time list as input and outputs a suggestion for the optimal meeting time. This step involves calculations that prioritize less stressful time slots based on emotional state.
[0588] Step 6:
[0589] Users visually view the suggested optimal meeting times in a dashboard format via their device. Meeting time data from the server is used as input, and a visualized schedule is obtained as output to the user interface. Users can flexibly configure meeting settings through this schedule.
[0590] Step 7:
[0591] Based on the user's selection, the server automatically sends meeting invitations to each member using the invitation sending method. The user's meeting time selection information is used as input, and meeting invitation emails are sent to all members as output.
[0592] The above is the processing flow of the system based on this invention.
[0593] 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.
[0594] 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.
[0595] 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.
[0596] [Fourth Embodiment]
[0597] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0598] 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.
[0599] 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).
[0600] 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.
[0601] 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.
[0602] 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).
[0603] 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.
[0604] 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.
[0605] 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.
[0606] 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.
[0607] 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.
[0608] 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.
[0609] 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".
[0610] To implement this invention, the system should be configured as follows: First, the server periodically retrieves schedule information for each member from an external calendar service. This involves a process of collecting schedule information from services such as Google Calendar and Outlook Calendar after performing API authentication and obtaining appropriate access rights. This information collection is automated by an information retrieval means.
[0611] Next, the server analyzes each member's free time based on the acquired schedule information. The analysis identifies time slots when each member does not have existing appointments or commitments, and records these in the database.
[0612] The server then uses the analyzed free time to identify common free time slots for all members. The time identification tool calculates the time periods in which all members are available and lists the results. Based on this list, the server uses a time suggestion tool to propose the optimal meeting time. At this stage, it is also possible to take into account past meeting data and preferred time slots.
[0613] Once the user selects the most suitable time from the suggested time slots, the server automatically sends meeting invitations to the participants based on the selected time. The invitation sending mechanism manages this process, automatically generating and sending an email or calendar event containing the meeting date and time, details, and a participation link.
[0614] Finally, the terminal visually displays the schedules of all members. The display device handles this, showing each member's availability and free time in a color-coded dashboard format. This makes it easy for users to check schedules at a glance.
[0615] As a concrete example, when a user opens the dashboard on their device, the schedule data analyzed by the server is reflected in real time, making the schedules of all members visible. This system makes it possible to streamline the meeting scheduling process and achieve quick and accurate schedule management.
[0616] The following describes the processing flow.
[0617] Step 1:
[0618] The server periodically activates its information retrieval system and accesses each member's calendar service. It uses an API to retrieve each member's schedule information and stores this information in a database.
[0619] Step 2:
[0620] The server analyzes the stored schedule information through an analysis tool. It checks the start and end times of each member's events and extracts any free time that does not overlap.
[0621] Step 3:
[0622] The server uses time-specific methods to identify common free time periods based on the free time lists of all members. It finds common free time periods and creates a list of potential candidates.
[0623] Step 4:
[0624] The server uses a time suggestion mechanism to determine the optimal meeting time from a list of identified common available time slots. It takes into account past meeting history and each member's preferred time slots to suggest the best time.
[0625] Step 5:
[0626] The user receives a list of optimal meeting times from the server and selects their preferred time.
[0627] Step 6:
[0628] Upon receiving the user's selection, the server activates the invitation sending mechanism. It creates a meeting invitation based on the selected meeting time and sends it to all members.
[0629] Step 7:
[0630] The terminal uses a display device to visually show data retrieved from the server in a dashboard format. The schedules and meeting availability of all members are color-coded, providing users with visual information.
[0631] (Example 1)
[0632] 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".
[0633] In schedule management, there is a need for a way to efficiently and accurately propose the optimal meeting time by coordinating the availability of multiple members. However, traditional methods require cumbersome manual adjustments, making it time-consuming to optimize time and identify common availability. Furthermore, the difficulty in integrating information between different calendar services made smooth schedule coordination challenging.
[0634] 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.
[0635] In this invention, the server includes information processing means for acquiring member schedule information, analysis processing means for analyzing free time, and time identification means for identifying common free time. This enables efficient analysis of each member's free time and identification of common time slots, thereby allowing for quick and optimal meeting time suggestions.
[0636] "Information processing means" refers to a means for electronically obtaining and organizing members' schedule information from external scheduling services.
[0637] The "analysis processing means" is a means of calculating and analyzing each member's available time based on the acquired schedule information of the members.
[0638] A "time identification means" is a method for identifying common free time for all members from the free time obtained through the analysis process.
[0639] A "time presentation method" is a means of presenting the optimal meeting time to the members based on identified common available time slots.
[0640] An "invitation communication method" is a means of automatically sending meeting invitations to members based on the suggested optimal time.
[0641] "Display processing means" refers to means for visually displaying the overall schedule and available time of the members.
[0642] To implement this invention, a server and a terminal play a central role. The server first electronically retrieves the schedule information of its members from an external calendar service. This is done via the APIs of commonly used cloud-based calendar services such as Google Calendar and Outlook Calendar. The server uses these APIs to perform OAuth authentication, obtain the necessary access rights, and then retrieves the schedule information of its members.
[0643] The server then analyzes the acquired schedule information and calculates the available time for each member. This process is performed by checking the start and end times of scheduled activities using timestamp data to identify available time. A database management system is used for the analysis, and the analysis results are saved for use in subsequent processing.
[0644] The server identifies common free time slots from the analyzed free time and uses this information to suggest the optimal meeting time. The algorithm considers past meeting data and user preferences to present the best time slot to the participants. At this stage, using specialized data analysis techniques such as machine learning models allows for more accurate suggestions.
[0645] When a user selects a meeting time suggested by the server, the server automatically sends a meeting invitation to the participants. An invitation email or calendar event containing the meeting date, time, location, and URL for the online meeting is automatically generated and sent.
[0646] Ultimately, the device visually displays the schedules of all members. It uses a dashboard format that color-codes each member's availability and meeting attendance status, making it easy for users to check schedules at a glance.
[0647] For example, when a user attempts to schedule the next meeting from their device's dashboard, the server receives a prompt asking for everyone's common availability for the next week and then suggests suitable times. This system automates meeting scheduling, significantly reducing the effort required for coordination.
[0648] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0649] Step 1:
[0650] The server uses the API of an external calendar service to retrieve schedule information for each member. The input requires API authentication credentials and member identifiers. First, the server obtains appropriate access rights using OAuth, and then calls the API endpoint to retrieve the schedule data. The output is schedule data in JSON format. This data is organized by member to prepare for subsequent free time analysis.
[0651] Step 2:
[0652] The server analyzes the retrieved schedule data to identify each member's free time. It uses schedule data in JSON format as input. The server analyzes the start and end times of appointments using timestamps and calculates any gaps in the schedule. A free time list is created as output and saved to the database. This list, in a format that shows each member's free time, is used later to identify common time slots.
[0653] Step 3:
[0654] The server aggregates the free time of each member to identify common free time for everyone. A list of free time is used as input. The server uses an algorithm to overlay these lists and identify common time slots available to everyone. A list of common free time is generated as output. This list is used in the next proposal phase of the system.
[0655] Step 4:
[0656] The server proposes the optimal meeting time based on shared availability. The inputs used are a list of shared availability, past meeting data, and user preference parameters. The server uses a generative AI model to prioritize meeting times based on this information. The output is a list of optimal meeting times, which is provided to the user.
[0657] Step 5:
[0658] When a user selects the most suitable time from the suggested meeting times, the server automatically sends a meeting invitation based on that time. The user's selected meeting time is used as input. Based on this information, the server automatically generates an invitation email or calendar event including the date, time, location, and participation link for the meeting, and sends it to the participants based on the recipient list. The output records each meeting invitation that has been sent.
[0659] Step 6:
[0660] The terminal visually displays the schedules of all members and the meeting times selected by the user. Schedule data and meeting invitation information provided by the server are used as input. The terminal visualizes each member's available time on the dashboard in a color-coded calendar format. This display allows the user to intuitively check the schedule. The output provides the user with a visualized schedule.
[0661] (Application Example 1)
[0662] 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".
[0663] In modern brick-and-mortar stores, managing staff shifts and meeting schedules has become increasingly complex. Scheduling without considering individual staff availability makes coordination difficult, leading to decreased attendance and work efficiency. Furthermore, because each staff member manages their schedule individually, finding common free time slots becomes challenging. This often hinders communication among staff and improves efficient work performance.
[0664] 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.
[0665] In this invention, the server includes information gathering means for acquiring time information of its members, analysis processing means for analyzing the free time of members from the acquired time information, and time detection means for identifying the common free time of all members based on the analysis results. This makes it possible to formulate optimal shift schedules and meeting times while taking into account the individual schedules of staff, and is expected to improve operational efficiency within the store.
[0666] "Information gathering means" refers to technical means for electronically obtaining members' time information from external time management services.
[0667] "Analysis processing means" refers to technical means for identifying and analyzing the free time of each member based on acquired time information.
[0668] A "time detection means" is a technical means for analyzing the time information of multiple members to identify common free time.
[0669] A "time suggestion processing means" is a technical means for suggesting the optimal meeting time to members based on analyzed time information.
[0670] "Means of sending invitations" refers to technical means for sending meeting invitations to each member based on the proposed time.
[0671] "Display processing means" refers to technical means for visually displaying the time information of all members and the proposed optimal time.
[0672] A "work proposal method" is a technical means for proposing the optimization of work time based on the time information of the members involved.
[0673] "Work guidance transmission means" refers to a technical means for transmitting work guidance based on the proposed optimal work time.
[0674] The server uses information gathering tools to periodically retrieve time information for each member from external time management services. In doing so, it utilizes software such as the Google Calendar API and Microsoft Graph API, obtaining appropriate access rights through API authentication.
[0675] The acquired time information is analyzed by an internal analysis processing system on the server to identify the free time of each member. Here, the analysis results are stored in a database, and Python libraries are used for the analysis algorithm.
[0676] Based on the analyzed data, the server calculates the common free time of all members via a time detection mechanism. This information serves as the basis for suggesting optimal shifts and meeting times.
[0677] Next, the server uses a time suggestion processing mechanism to propose optimal shifts and meeting times to the members. The proposed times are electronically notified to each member through a notification transmission mechanism. Here again, email and push notification systems are utilized.
[0678] Users can view the time information of all team members, visualized through a display processing system, via their device. This display is presented in a dashboard format and implemented using front-end libraries such as React Native. In actual use, users can open a smartphone app and see the shift status and meeting schedules of all staff members at a glance.
[0679] As a concrete example, when proposing the optimal shifts for all staff members for a special weekend event, this system can create the most efficient schedule based on each staff member's availability and notify relevant parties. An example of a prompt message would be, "Collect available time from staff calendars, identify common times, and propose the optimal shifts." In this way, it is possible to achieve operational efficiency and smooth personnel management.
[0680] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0681] Step 1:
[0682] The server uses information gathering tools to obtain time information for each member from an external time management service. The input is the members' calendar data obtained via an API, and the output is raw schedule information. In this process, the server goes through API authentication, such as the Google Calendar API, and saves the members' schedule information to a database.
[0683] Step 2:
[0684] The server uses an analysis processing mechanism to analyze each member's free time from the acquired schedule information. The input is the schedule information stored in the database, and the output is a list of each member's free time. The server uses a Python analysis algorithm to calculate free time by subtracting the scheduled time, and updates the database with the result.
[0685] Step 3:
[0686] The server uses a time detection mechanism to identify the common free time of all members. The input is a list of each member's free time, and the output is the common free time that all members can participate in. The server calculates the common portion by crossing these free times and registers it in the database.
[0687] Step 4:
[0688] The server uses a time suggestion processing mechanism to propose optimal shifts and meeting times for the members. The input is the common free time, and the output is the optimal shift or meeting time. The server calculates the optimal time considering past meeting history and preferred time slots, and stores the proposed content in a database.
[0689] Step 5:
[0690] The server notifies members of the proposed time via a notification system. Input is the optimal shift or meeting time, and output is notification emails or push notifications. The server sends information to all members using an email system or notification service.
[0691] Step 6:
[0692] Users can use their devices to view the time information of all members, visually displayed through a display processing device. Input is schedule data sent from the server, and output is a dashboard display on the device. Users can operate their smartphones or PCs to view the schedule, which is updated in real time.
[0693] 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.
[0694] To implement this invention, the system must have the following configuration. First, the server uses information acquisition means to access each member's calendar service and obtain schedule information. This includes obtaining access rights through API authentication and collecting calendar information. This information is stored in a database, and the members' free time is extracted by analysis means.
[0695] Next, the server uses a time identification mechanism to analyze the availability of all members and identify common free time slots. Subsequently, a time suggestion mechanism proposes the optimal meeting time based on the identified common free time. Here, an emotion recognition mechanism is incorporated, and the server acquires voice and facial expression data to recognize the user's emotions and analyzes it with an emotion engine. Based on the analysis results, the meeting time suggestion is further adjusted.
[0696] The user receives the optimal meeting time suggested by the server and sets up the meeting accordingly. The server receives this selection and automatically sends meeting invitations to participants via an invitation sending mechanism. These invitations contain meeting details and the information required to participate.
[0697] The terminal visualizes data retrieved from the server in a dashboard format through its display device. This allows each member's schedule and meeting availability to be displayed in different colors, making it easy for everyone to check their schedules.
[0698] As a concrete example, when a user uses the dashboard on their device, the server suggests the optimal meeting time based on analyzed schedule data and recognized sentiment data. For instance, if a user is feeling stressed, the system prioritizes suggesting times when they can relax, thus setting a meeting time that allows everyone to respond more flexibly. This system enables efficient schedule management that reflects emotional considerations.
[0699] The following describes the processing flow.
[0700] Step 1:
[0701] The server accesses an external calendar service and retrieves each member's schedule information via an API. The retrieved information is stored in a database.
[0702] Step 2:
[0703] The server uses analysis tools to analyze the schedule information stored in the database. This identifies and lists the available time slots of each member.
[0704] Step 3:
[0705] The server uses time-based methods to compare the free time lists of all members and find common free time slots for everyone. These times become potential meeting times.
[0706] Step 4:
[0707] The server activates emotion recognition mechanisms to collect the user's voice and facial expressions. This allows it to recognize the user's emotional state, and the emotion engine analyzes the results.
[0708] Step 5:
[0709] The server uses a time suggestion mechanism to list the optimal meeting times, prioritizing them based on the recognized emotional state and past meeting history.
[0710] Step 6:
[0711] The user views a list of optimal meeting times provided by the server and selects a time that suits their schedule.
[0712] Step 7:
[0713] The server receives the user's selection and uses the invitation sending mechanism to send meeting invitations to all members based on the selected meeting time.
[0714] Step 8:
[0715] The terminal displays the latest schedule and sentiment analysis results from the server in a dashboard format, making it easier for users to grasp the overall picture of meeting scheduling.
[0716] (Example 2)
[0717] 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".
[0718] In modern organizations, scheduling efficient meetings that take into account the diverse schedules and emotional states of members is challenging. In particular, there is a need to identify optimal meeting times that reflect emotional states and to manage schedules in a visually clear and understandable way. However, traditional methods fail to integrate these aspects, resulting in inefficient meeting scheduling and placing a burden on members.
[0719] 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.
[0720] In this invention, the server includes data collection means for collecting schedule data for each member, analysis means for analyzing the members' free time from the collected schedule data, and emotion recognition means for acquiring voice and facial expression data to analyze the members' emotional state. This makes it possible to set effective meeting times that take into account the schedules and emotional states of all members.
[0721] A "data collection means" is a system element that has the function of electronically collecting schedule data for each member from an external scheduling service.
[0722] An "analysis tool" is a system element that has the function of analyzing collected schedule data to identify the available time of each member.
[0723] A "time identification means" is a system element that has the function of identifying common free time for all members based on the analyzed results.
[0724] A "time recommendation tool" is a system element that has the function of suggesting the optimal meeting time from identified common free time slots.
[0725] The "invitation distribution method" is a system element that has the function of sending meeting invitations to each member based on the proposed optimal meeting time.
[0726] A "visualization tool" is a system element that has the function of visually displaying and presenting the schedules of all members in an easy-to-understand manner.
[0727] An "emotion recognition means" is a system element that has the function of acquiring and analyzing voice and facial expression data to identify the emotional state of its members.
[0728] A "time adjustment mechanism" is a system element that has the function of modifying proposed meeting times as needed, based on emotional states.
[0729] In order to implement this invention, the system needs to have a configuration that combines multiple means. Specific examples are shown below.
[0730] The server has a data collection mechanism that accesses external scheduling services (e.g., cloud-based calendar services) via APIs. This allows for efficient acquisition of each member's schedule data and storage in a local database. Database management can be handled using data management software such as PostgreSQL or MongoDB.
[0731] Next, the server has analytical tools that use analysis algorithms to extract the free time of each member from the collected schedule data. For example, it can process the data as a DataFrame using the Python library pandas and quickly calculate the free time. Furthermore, the identified common free time information is securely stored in the data analysis storage.
[0732] In the emotion recognition system, the server acquires data from the user's voice or facial expressions. This data is collected using a microphone or camera on a smartphone or PC, and then analyzed by an emotion analysis engine (e.g., a natural language processing API). The resulting emotional state is then used to adjust meeting times appropriately.
[0733] When a user sets up a meeting, the server uses a time recommendation system to suggest the optimal meeting time. This system can take into account past meeting history, and by analyzing historical data, it can provide better suggestions.
[0734] The terminal has a visualization mechanism to display these processing results in a dashboard format, allowing users to easily check them. For example, a web interface using HTML5 and JavaScript can be created to color-code or filter scheduled and proposed meeting times.
[0735] As a concrete example, the prompt can be entered as follows: "Please suggest the optimal meeting time to minimize stress, taking the overall schedule into consideration." Based on this prompt, the system implements flexible scheduling that reflects the user's feelings.
[0736] This invention effectively takes into account the schedules and emotional states of the participants, enabling the scheduling of efficient and stress-free meetings.
[0737] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0738] Step 1:
[0739] The server accesses an external schedule management service via an API to retrieve schedule data for each member. During this process, the server passes the user's calendar authentication information to the API to obtain the schedule data. The input consists of the member's authentication information and a request to the calendar API, while the output is the schedule information for each member. The server stores this schedule information in a local database, where data is added and updated as needed.
[0740] Step 2:
[0741] The server uses an analysis algorithm to extract each member's free time from the collected schedule data. At this stage, the pandas library is used to process the data in a dataframe format. The input is the members' schedule information stored in the database, and the output is a list of each member's free time. The server organizes this free time data to use as the basis for the next processing step.
[0742] Step 3:
[0743] The server aggregates free time lists and identifies overlapping time slots to identify common free time. An algorithm is used to efficiently compare the data and extract the overlapping portions. The input is the free time list for each member, and the output is the common free time for all members. This extracts the times when all members are available to participate.
[0744] Step 4:
[0745] The server collects audio and facial expression data and analyzes emotional states using an emotion recognition engine. It captures audio and video from each user's device and processes the data using an emotion recognition API. The input is audio and facial expression data, and the output is the analyzed emotional state data. The server uses this data to prepare for influencing the next proposal process.
[0746] Step 5:
[0747] The server suggests the optimal meeting time based on emotional states and shared availability. It also considers past meeting history data in its time recommendation system to provide the best possible suggestion to the user. Inputs include shared availability, emotional state data, and past history information; output is the recommended optimal meeting time. The server presents this information to the user and prepares the meeting environment.
[0748] Step 6:
[0749] The user selects the optimal meeting time suggested by the server and sends the selection to the server. The server then sends meeting invitations to each member based on the selected time. The input is the meeting time selected by the user, and the output is the electronic meeting invitation to each member. The invitation includes meeting details and a link to join.
[0750] Step 7:
[0751] The terminal visualizes and provides users with schedule and meeting information received from the server. This involves creating a custom dashboard using HTML5 and JavaScript, displaying the user's schedule in a visually easy-to-understand format. Inputs are meeting information and the latest schedule data from the server, and output is a visualized dashboard. Users can easily manage their schedules using this.
[0752] (Application Example 2)
[0753] 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".
[0754] Modern scheduling systems often only suggest efficient meeting times based on the user's existing schedule, lacking consideration for the user's emotional and mental state. This can lead to meetings being scheduled during stressful times, hindering efficient communication. Therefore, there is a need for systems that consider the user's emotional state and enable more flexible and stress-free scheduling.
[0755] 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.
[0756] In this invention, the server includes information acquisition means for acquiring schedule information of each member, analysis means for analyzing the members' free time from the acquired schedule information, and emotion recognition means for recognizing the user's emotional state. This makes it possible to propose an optimal meeting time that takes the user's emotional state into consideration.
[0757] "Information acquisition means" refers to a system for electronically obtaining each member's schedule information from an external calendar service.
[0758] "Analysis means" refers to a device and method for processing data to identify the available time of each member from the acquired schedule information.
[0759] A "time identification method" is a mechanism for identifying common free time for all members based on analysis.
[0760] A "time suggestion mechanism" is a function that suggests the optimal meeting time from identified common available time slots.
[0761] The "invitation sending method" is a system that automatically sends meeting invitations to each member based on the suggested optimal time.
[0762] "Display means" refers to a function that visually displays the schedules of all members on the user interface.
[0763] "Emotion recognition means" refers to technology that uses voice and facial expression data to analyze a user's emotional state.
[0764] A "time adjustment mechanism" is a function for adjusting the proposed meeting time based on the perceived emotional state.
[0765] To implement this invention, the server first needs to obtain each member's calendar information from an external source. The Google Calendar API or other calendar service APIs are used as means of obtaining this information. The obtained data is stored in a database and analyzed using SQL (such as MySQL). The analysis means identifies each member's free time, and the time identification means finds common free time for all members.
[0766] Next, the server uses emotion recognition. It acquires voice and facial expression data using a camera and microphone, and analyzes it with an emotion recognition engine (e.g., Microsoft Face API). Based on the emotion recognition results, a time suggestion system then proposes the optimal meeting time to the user. This suggestion is presented to the user in a gentle manner, taking into account the recognized emotional state.
[0767] The device displays a dashboard to the user, showing them the optimal meeting time based on visualized schedules and emotional data. Based on this information, users can schedule meetings during times when they experience less stress.
[0768] As a concrete example, when a user finishes work and returns home, the robot assistant might suggest, "Welcome back. I've scheduled tomorrow's meeting for a time when you can relax." An example of a prompt sentence to feed into the generating AI model at this time would be, "Now that I'm relaxed after work, please suggest the optimal time for tomorrow's meeting based on the schedules and sentiment data of all members."
[0769] This allows users to manage their schedules flexibly and efficiently, taking their emotional state into consideration.
[0770] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0771] Step 1:
[0772] The server uses an information retrieval method to obtain each member's schedule information via an external calendar service API. It uses the calendar API authentication information as input and outputs a list of the members' schedule data. This data is stored in a database.
[0773] Step 2:
[0774] The server analyzes the acquired schedule data using SQL as the analysis tool to identify each member's free time. It uses the schedule data from the database as input and outputs a list of each member's free time. This free time is used to identify common free time periods.
[0775] Step 3:
[0776] The server uses a time-determining method to find common free time from the free time of each member obtained through analysis. Using the free time list from step 2 as input, it obtains a list of possible common free time as output.
[0777] Step 4:
[0778] The server utilizes emotion recognition capabilities to acquire and analyze each user's emotional state using audio and facial expression data. It uses audio and video data acquired from a microphone and camera as input, and obtains each user's emotional state data as output. This analysis uses emotion recognition engines such as the Microsoft Face API.
[0779] Step 5:
[0780] The server uses a time suggestion mechanism to propose the optimal meeting time, taking emotional state into account. It uses emotional state data and a common free time list as input and outputs a suggestion for the optimal meeting time. This step involves calculations that prioritize less stressful time slots based on emotional state.
[0781] Step 6:
[0782] Users visually view the suggested optimal meeting times in a dashboard format via their device. Meeting time data from the server is used as input, and a visualized schedule is obtained as output to the user interface. Users can flexibly configure meeting settings through this schedule.
[0783] Step 7:
[0784] Based on the user's selection, the server automatically sends meeting invitations to each member using the invitation sending method. The user's meeting time selection information is used as input, and meeting invitation emails are sent to all members as output.
[0785] The above is the processing flow of the system based on this invention.
[0786] 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.
[0787] 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.
[0788] 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 robot 414.
[0789] 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.
[0790] 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. In the upper and lower directions of the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. Also, the upper side of the concentric circles is where "pleasant" emotions are located, and the lower side is where "unpleasant" emotions are located. In this way, 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.
[0791] 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.
[0792] 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.
[0793] 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.
[0794] 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."
[0795] 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.
[0796] 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.
[0797] 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.
[0798] 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.
[0799] 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.
[0800] 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.
[0801] 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.
[0802] 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.
[0803] 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.
[0804] 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.
[0805] 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.
[0806] 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.
[0807] The following is further disclosed regarding the embodiments described above.
[0808] (Claim 1)
[0809] Information acquisition means for obtaining schedule information for each member,
[0810] An analysis method for analyzing the available time of members from acquired schedule information,
[0811] A time identification method that identifies common free time for all members based on the analysis results,
[0812] A time suggestion method that proposes the optimal meeting time from identified free time slots,
[0813] An invitation sending means that sends meeting invitations to each member based on the proposed optimal time,
[0814] A display means that visually displays the schedules of all members,
[0815] A system that includes this.
[0816] (Claim 2)
[0817] The system according to claim 1, wherein the information acquisition means is configured to electronically acquire schedule information from an external calendar service.
[0818] (Claim 3)
[0819] The system according to claim 1, wherein the time suggestion means is configured to prioritize optimal times by taking into account past meeting history.
[0820] "Example 1"
[0821] (Claim 1)
[0822] Information processing means for acquiring the schedule information of members,
[0823] An analysis processing means for analyzing the available time of members from the acquired schedule information,
[0824] A time identification means that identifies common free time for members based on the analysis results,
[0825] A time suggestion method that suggests the optimal meeting time based on identified free time,
[0826] An invitation communication means that sends meeting invitations to members based on the suggested optimal time,
[0827] A display processing means for visually displaying the schedules of the members,
[0828] A system that includes this.
[0829] (Claim 2)
[0830] The system according to claim 1, wherein the information processing means is configured to electronically acquire schedule information from an external schedule service.
[0831] (Claim 3)
[0832] The system according to claim 1, wherein the time presentation means is configured to determine the optimal time by taking into account past meeting data.
[0833] "Application Example 1"
[0834] (Claim 1)
[0835] Information gathering means for obtaining time information of members,
[0836] An analysis processing means for analyzing the free time of members from acquired time information,
[0837] A time detection means that identifies the common free time of all members based on the analysis results,
[0838] A time suggestion processing means that proposes the optimal meeting time from identified free time,
[0839] An invitation sending means for sending meeting invitations to members based on the proposed optimal time,
[0840] A display processing means that visually displays the time information of all members,
[0841] A system that includes this.
[0842] (Claim 2)
[0843] The system according to claim 1, wherein the information gathering means is configured to electronically acquire time information from an external time management service.
[0844] (Claim 3)
[0845] The system according to claim 1, wherein the time suggestion processing means is configured to prioritize optimal times considering past meeting history.
[0846] (Claim 4)
[0847] A work proposal means that makes suggestions to optimize work time based on the time information of the members,
[0848] A work guidance transmission means that transmits work guidance based on the proposed optimal work time,
[0849] The system according to claim 1, including the following:
[0850] "Example 2 of combining an emotion engine"
[0851] (Claim 1)
[0852] A data collection method for collecting schedule data for each member,
[0853] An analytical method for analyzing the free time of team members from collected schedule data,
[0854] A time identification means that identifies common free time for all members based on the analysis results,
[0855] A time recommendation system that suggests the optimal meeting time based on identified free time,
[0856] An invitation distribution method that sends meeting invitations to each member based on the proposed optimal time,
[0857] A visualization method that visually presents the schedules of all members,
[0858] An emotion recognition means that acquires voice and facial expression data and analyzes the emotional state of the members,
[0859] A time adjustment method that adjusts the optimal meeting time based on emotional state,
[0860] A system that includes this.
[0861] (Claim 2)
[0862] The system according to claim 1, wherein the data collection means is configured to electronically collect schedule data from an external scheduling service.
[0863] (Claim 3)
[0864] The system according to claim 1, wherein the time recommendation means is configured to prioritize the optimal time considering past meeting history.
[0865] "Application example 2 when combining with an emotional engine"
[0866] (Claim 1)
[0867] Information acquisition means for obtaining schedule information for each member,
[0868] An analysis method for analyzing the available time of members from acquired schedule information,
[0869] A time identification method that identifies common free time for all members based on the analysis results,
[0870] A time suggestion method that proposes the optimal meeting time from identified free time slots,
[0871] An invitation sending means that sends meeting invitations to each member based on the proposed optimal time,
[0872] A display means that visually displays the schedules of all members,
[0873] A means of recognizing the emotional state of the user,
[0874] A time adjustment mechanism that adjusts the optimal meeting time based on the recognized emotional state,
[0875] A system that includes this.
[0876] (Claim 2)
[0877] The system according to claim 1, wherein the information acquisition means is configured to electronically acquire schedule information from an external calendar service, and the emotion recognition means is configured to analyze the user's emotions using voice and facial expression data.
[0878] (Claim 3)
[0879] The system according to claim 1, wherein the time suggestion means is configured to prioritize optimal times by taking into account past meeting history, and further configures to adjust the suggestions based on emotional state. [Explanation of Symbols]
[0880] 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. Information gathering means for obtaining time information of members, An analysis processing means for analyzing the free time of members from acquired time information, A time detection means that identifies the common free time of all members based on the analysis results, A time suggestion processing means that proposes the optimal meeting time from identified free time, An invitation sending means for sending meeting invitations to members based on the proposed optimal time, A display processing means that visually displays the time information of all members, A system that includes this.
2. The system according to claim 1, wherein the information gathering means is configured to electronically acquire time information from an external time management service.
3. The system according to claim 1, wherein the time suggestion processing means is configured to prioritize optimal times considering past meeting history.