System
A personal assistant system addresses inefficiencies in conventional schedule management by analyzing natural language requests and using user profiles to provide personalized schedule management, improving user convenience and efficiency.
Patent Information
- Application Number
- JP2024138233
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2026-03-04
AI Technical Summary
Conventional schedule management systems are inefficient and lack personalized support based on individual users' preferences and past behavior, making it difficult for busy professionals, students, and self-employed individuals to manage their schedules effectively.
A personal assistant system that receives natural language requests, analyzes them to extract keywords and time information, references user profiles for personalized support, and manages schedules by adding appointments to a database while providing notifications.
Enables users to easily and efficiently manage their schedules with personalized support, enhancing their quality of life by allowing intuitive input and tailored suggestions.
Smart Images

Figure 2026035390000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Busy business professionals, students, and self-employed individuals face challenges in efficiently managing their schedules. Conventional methods require users to manage their schedules themselves and use each service individually, which is time-consuming and laborious. Furthermore, existing systems often lack personalized support based on individual users' preferences and past behavior. This can lead to a decline in users' quality of life. The present invention aims to solve this problem. [Means for solving the problem]
[0005] The present invention provides a system that includes a means for receiving requests entered by a user in natural language, analyzing the requests to extract important keywords and time information, and referencing a user profile to obtain the user's preferences and past schedule. It also includes a means for adding a new schedule to a schedule database based on the analysis results and notifying the user of the schedule setting results. This allows users to easily manage their schedules without hassle and receive personalized support tailored to their individual needs. The system also includes a means for acquiring data from external sources and generating responses based on that data, as well as a means for making personalized suggestions tailored to the user's preferences, providing even greater convenience.
[0006] "User" refers to a person who uses a personal assistant app.
[0007] "Natural language" refers to the forms of language expression used by humans on a daily basis, including in particular textual and spoken communication.
[0008] A "request" refers to an operation or input request that a user makes to an app.
[0009] "Receiving" refers to the process by which a terminal obtains input data from a user.
[0010] "Analysis" refers to the process of converting natural language data entered by a user into an understandable format and extracting the necessary information.
[0011] "Keywords" refers to important words or phrases identified during the analysis of a user's request.
[0012] "Time information" refers to data related to the date, time, and date included in a user's request.
[0013] "User profile" refers to individual data including a user's preferences, past behavior, schedule information, etc.
[0014] "Lookup" refers to the process of retrieving the required information from a stored database or profile.
[0015] "Schedule Database" refers to data storage for storing and managing user schedules.
[0016] "Notification" refers to the process by which a device communicates results or information to a user.
[0017] "Personalized support" refers to customized assistance provided based on a user's individual preferences and past behavior.
[0018] "Getting data from outside" refers to the process by which an app pulls in the information it needs from other services or systems.
[0019] "Generating a response" refers to the process of creating an appropriate answer or action based on a user request.
[0020] "Suggestion" refers to the process of recommending an action or option to a user. [Brief explanation of the drawings]
[0021] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6]FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0022] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0023] First, the terms used in the following description will be explained.
[0024] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0025] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0026] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0027] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0028] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0029] [First embodiment]
[0030] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0031] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0032] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0033] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0034] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0035] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0036] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0037] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0038] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0039] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0040] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0041] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0042] overview
[0043] This invention is a personal assistant system that supports schedule management by receiving requests entered by users in natural language, analyzing them, and extracting important keywords and time information. Furthermore, it can refer to a user profile and provide personalized support based on the user's preferences and past behavior.
[0044] System configuration
[0045] This system mainly consists of the following two components:
[0046] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[0047] 2. Server: Contains a cloud-based AI engine that analyzes user input and provides schedule management and personalized suggestions.
[0048] 1. User Interface
[0049] The user inputs natural language data using the device, for example, a request such as "Schedule a meeting tomorrow at 3 PM." The device receives this data and sends it to the server as text data.
[0050] 2. Data analysis on the server
[0051] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[0052] 3. User profile reference
[0053] The server references a user profile database to retrieve the user's past schedule and preferences, and uses this information to determine whether the analysis results match the user's profile.
[0054] 4. Adding events and notifications
[0055] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3:00 PM" is added to the schedule database. The server then generates a text message to notify the user of the appointment setting results and sends it to the device.
[0056] 5. Display of User Notifications
[0057] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM." This notification allows the user to confirm that the new appointment was successfully scheduled.
[0058] Specific examples
[0059] Below is a concrete example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM."
[0060] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM."
[0061] The terminal sends this request to the server.
[0062] The server analyzes the request using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0063] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[0064] After confirmation, add the new appointment to the schedule database.
[0065] The server converts the result into a text message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[0066] The terminal displays this message to the user.
[0067] This system allows users to easily and efficiently manage their schedules, providing great convenience in their daily lives and work. It also provides functions to acquire data from external sources and generate responses based on that data, as well as functions to make personalized suggestions based on the user's preferences, further improving the user experience.
[0068] The processing flow will be explained below.
[0069] Detailed program processing flow
[0070] Step 1:
[0071] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM," which sends the user's request to the system.
[0072] Step 2:
[0073] The device receives the user's input as text data and sends the text data to the server.
[0074] Step 3:
[0075] The server receives the text data sent from the device and prepares it for analysis by a natural language processing (NLP) engine.
[0076] Step 4:
[0077] The server uses an NLP engine to analyze the received text data, specifically extracting important keywords such as "tomorrow," "10:00 AM," "meeting," and "add event" as well as time information.
[0078] Step 5:
[0079] The server references a user profile database to retrieve the user's past schedule and preferences, for example, to check information about the user's past schedules and preferences.
[0080] Step 6:
[0081] The server checks the extracted keywords and time information against the user profile to see if there are any conflicts with existing events, and if so, generates an appropriate error message.
[0082] Step 7:
[0083] After the server confirms, it adds the new appointment to the schedule database. The appointment will have the content "Meeting tomorrow at 10:00 AM."
[0084] Step 8:
[0085] The server generates a notification message for the user based on the results of the schedule setting. Specifically, it creates a text message saying, "A meeting has been scheduled for tomorrow at 10:00 AM."
[0086] Step 9:
[0087] The server generates a notification message and sends it to the terminal, which notifies the user of the result.
[0088] Step 10:
[0089] The device receives the text message sent from the server and displays the received message to the user. For example, a notification saying "A meeting has been scheduled for tomorrow at 10 AM" is displayed.
[0090] Example 1
[0091] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0092] Conventional schedule management systems are often not designed to be intuitive for users, making it particularly difficult to input information in natural language. They also lack the functionality to make personalized suggestions that take into account users' past behavior and preferences. This makes it difficult for users to efficiently manage their schedules.
[0093] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0094] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for analyzing text data received from the terminal using a natural language processing engine, means for adding schedule information to the database based on the analyzed information and generating a notification message, means for the server to send a message to the user based on the schedule information, and means for the terminal to receive the notified message and display it to the user. This enables users to intuitively input requests in natural language and receive personalized support, thereby efficiently managing their schedules.
[0095] "User" means an individual or entity that uses the System to enter requests in natural language.
[0096] "Request" refers to a request or instruction entered in natural language by a user and received by a system.
[0097] A "terminal" is a device operated by a user (such as a smartphone, tablet, or PC) and is hardware that communicates with the system.
[0098] A "server" is a central computer system that analyzes and processes requests sent by users.
[0099] A "natural language processing engine" is a software module that analyzes incoming natural language requests and extracts important keywords and time information.
[0100] "Key words" are specific words or phrases that express intent extracted from a request.
[0101] "Time information" is information that specifically indicates the date and time included in the request.
[0102] A "user profile" is a data set that records a user's past behavior, preferences, and schedule information.
[0103] The "schedule database" is a database system that stores schedules that are added based on the analysis results.
[0104] "Notification message" is a text message that notifies the user of the results of analysis or schedule setting.
[0105] A "database" is a data storage system where user profile and schedule information is stored.
[0106] "Message sending means" refers to a function for sending a notification message generated by the server to the terminal.
[0107] The "display means" is a function that visually displays messages received by the terminal to the user.
[0108] MODE FOR CARRYING OUT THE INVENTION
[0109] This invention is a personal assistant system that analyzes requests entered by users in natural language and supports schedule management. The system mainly consists of a terminal that provides a user interface and a server that analyzes the requests and updates the schedule.
[0110] User Interface and Device Operation
[0111] The user inputs a request in natural language using a smartphone, tablet, or PC. For example, a request such as "Schedule a meeting tomorrow at 3 PM" is input. The device receives this input and sends it to the server as text data. An HTTP POST request is used for transmission.
[0112] Request analysis and data processing on the server
[0113] The server analyzes the incoming request using a natural language processing (NLP) engine implemented in Python, which uses libraries such as spaCy and NLTK to extract important keywords and time information from the request, such as "tomorrow," "3 PM," and "meeting."
[0114] The server then consults a user profile database, such as MongoDB, to retrieve the user's past schedule and preferences, and uses this information to check whether the new appointment overlaps with any existing appointments.
[0115] Once confirmation is complete, the server adds the new appointment to a schedule database such as MySQL (registered trademark). For example, by executing the query "INSERT INTO schedules ...", the schedule information is added to the database. The server also generates a notification message for the user and sends it to the terminal as an "HTTP response". The content of the message might be something like "A meeting has been scheduled for tomorrow at 3:00 PM".
[0116] Notifications and Displays
[0117] The device receives the "HTTP response" returned from the server and extracts the text message from the response body. This notification message is then displayed to the user. This can be displayed using a "pop-up" or "notification bar", allowing the user to confirm that the new appointment has been set correctly.
[0118] Specific operation example
[0119] For example, if a user types "Add a meeting for tomorrow at 10 AM," the following happens:
[0120] 1. A user types into their device, "Add a meeting for tomorrow at 10 AM."
[0121] 2. The device receives this input and sends the text data to the server.
[0122] 3. The server analyzes the received data and extracts keywords such as "tomorrow," "10:00 AM," and "meeting."
[0123] 4. The server looks up the user profile in MongoDB and checks for duplicates.
[0124] 5. After confirmation, the server adds the new appointment to the MySQL schedule database.
[0125] 6. The server generates a message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[0126] 7. The device will receive this message and display it to the user in a "pop-up notification".
[0127] Prompt Sentence Examples
[0128] 1. "Schedule a meeting tomorrow at 3 PM."
[0129] 2. "Add a presentation for next Tuesday at 10am."
[0130] The system allows users to intuitively manage their schedules in natural language and receive personalized support.
[0131] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0132] Step 1:
[0133] The user inputs a request in natural language into the device. The user uses a smartphone, tablet, or PC to input a request in natural language, such as "Schedule a meeting tomorrow at 3 PM." The device receives this input as text data. Input: User's natural language input, Output: Text data.
[0134] Step 2:
[0135] The terminal sends the received text data to the server. The terminal sends the text data to the server as an HTTP POST request. At this time, the text data is included in the request body. Input: Text data, Output: HTTP POST request.
[0136] Step 3:
[0137] The server processes the HTTP POST request received from the terminal. The server receives the request and extracts text data from the request body. This text data is passed to the natural language processing engine. Input: HTTP POST request, Output: text data.
[0138] Step 4:
[0139] The server analyzes the text data using a natural language processing engine. The server uses a natural language processing engine implemented in Python (such as spaCy or NLTK) to extract important keywords and time information from the text data, such as "tomorrow," "3 p.m.", and "meeting." Input: text data, output: important keywords and time information.
[0140] Step 5:
[0141] The server references the user profile database. The server retrieves the user's profile information from a database such as MongoDB, and checks whether the analysis results overlap with existing schedules based on the retrieved information. Input: Important keywords and time information, user profile. Output: Duplicate check results.
[0142] Step 6:
[0143] The server adds a new schedule to the schedule database. If no duplicates are found, the server runs a query to add a new schedule to the schedule database, such as "MySQL." For example, it runs the query "INSERT INTO schedules ..." to add the schedule information. Input: Duplicate check result, important keywords and time information. Output: Addition of a new schedule.
[0144] Step 7:
[0145] The server generates a notification message containing the results of the schedule setting and sends it to the terminal. The server generates a text message to notify the user based on the information that the new schedule has been added. The generated message is sent to the terminal as an HTTP response. Input: Result of adding a new schedule, Output: HTTP response (notification message).
[0146] Step 8:
[0147] The terminal receives the HTTP response sent from the server and displays the notification message. The terminal extracts the text message from the received HTTP response and displays it visually to the user. For example, it uses a "pop-up notification" or "notification bar" to display a message such as "A meeting has been scheduled for tomorrow at 3 PM." Input: HTTP response (notification message), Output: Display of notification message to the user.
[0148] (Application example 1)
[0149] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0150] Conventional personal assistant systems primarily support schedule management and are unable to enhance users' daily activities, especially their shopping experience. The objective of this invention is to provide a system that allows users to search for and purchase products in a virtual store using natural language requests and effectively manage the results. The invention also aims to enhance the shopping experience by providing personalized product suggestions based on the user's purchase history and preferences.
[0151] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0152] In this invention, the server includes means for receiving requests input by a user in natural language, means for analyzing the received natural language requests and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the results of the schedule setting, means for supporting product searches and purchases within the virtual store, means for making personalized product suggestions based on the purchase history and preferences, and means for providing product arrival notifications and reservation reminders. This enables users to easily and efficiently shop in the virtual store simply by inputting requests in natural language.
[0153] "User" means an individual or purchaser who enters a request in natural language.
[0154] "Natural language" refers to the language used in everyday life and used by users to input requests to a system.
[0155] A "request" is a request or demand that a user inputs into the system.
[0156] "Keywords" are important words or phrases extracted from a natural language request.
[0157] "Time information" is data related to date and time included in a natural language request.
[0158] A "user profile" is a database containing data about an individual user's preferences and past behavior.
[0159] "Preferences" are information about the preferences and interests of a particular user.
[0160] A "schedule database" is a database for storing user schedule information.
[0161] "Notification" means information or a message sent to a user.
[0162] A "virtual store" is a virtual store operated on the Internet where users can purchase products online.
[0163] "Product search" refers to the act of searching for a specific product or service.
[0164] "Purchase history" refers to a record of products and services previously purchased by a user.
[0165] "Personalized product suggestions" are products and services that are individually suggested based on a user's preferences and purchasing history.
[0166] A "reservation reminder" is a notification that notifies the user in advance of the reservation they have made.
[0167] "Product Arrival Notification" is a notification that informs the user that the product they purchased has arrived.
[0168] The following describes an embodiment of the present invention. The system receives and analyzes user requests entered in natural language, and supports schedule management and shopping experiences in virtual stores. The system mainly consists of the following components:
[0169] 1. User Interface
[0170] The user interface is implemented on devices such as smartphones, smart glasses, and head-mounted displays. It has the function of receiving requests entered by the user in natural language and sending the requests as text data to the server. For example, a user might enter, "I'd like to reserve a new pair of sneakers for next Saturday."
[0171] 2. Natural Language Processing (NLP) Engine
[0172] The server uses a natural language processing engine such as Google® Cloud Natural Language API or Microsoft® Azure® Text Analytics to analyze the incoming request and extract important keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information.
[0173] 3. User Profile Management
[0174] The server consults a user profile database (e.g., MongoDB or PostgreSQL) to retrieve the user's preferences, past purchases, and schedule, and uses this information to personalize the request.
[0175] 4. Schedule management function
[0176] The server adds a new appointment to the schedule database based on the analysis results, and also generates a text message of the appointment and sends it to the user interface, such as "You've scheduled an appointment for your new sneakers next Saturday."
[0177] 5. Virtual store function
[0178] The server supports product search and purchase in the virtual store, provides personalized product suggestions based on the user's preferences and purchase history, and also provides product arrival notifications and reservation reminders.
[0179] Hardware and software used
[0180] Hardware: Smartphones, smart glasses, head-mounted displays, cloud servers
[0181] Software: Front-end frameworks (React Native, Flutter®), natural language processing engines (Google Cloud Natural Language API, Microsoft Azure Text Analytics), database systems (MongoDB, PostgreSQL), back-end frameworks (Django, Flask)
[0182] Specific examples
[0183] If a user types on their smartphone, "I'd like to reserve some new sneakers for next Saturday," the system processes the following:
[0184] 1. The user interface receives this request and sends it to the server.
[0185] 2. A natural language processing engine extracts keywords such as "next Saturday," "new sneakers," and "reservation."
[0186] 3. The user profile database checks the user's past purchase history and schedule to see if a reservation is available.
[0187] 4. A new reservation is added to the schedule database and a message is generated saying, "Your reservation for your new sneakers has been set for next Saturday."
[0188] 5. The user interface displays this message to the user.
[0189] Prompt Sentence Examples
[0190] "I'd like to reserve some new sneakers for next Saturday."
[0191] This process allows users to enjoy a convenient and efficient shopping experience in a virtual store.
[0192] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0193] Step 1:
[0194] The user enters a request
[0195] A user uses a smartphone or smart glasses to input a request in natural language, for example, "I'd like to reserve some new sneakers for next Saturday."
[0196] Input: User's natural language request
[0197] Output: Text data of natural language requests
[0198] Step 2:
[0199] The device sends a request to the server
[0200] The device receives a natural language request and sends it to the server as text data, usually via an HTTP request.
[0201] Input: Text data of natural language requests
[0202] Output: Text data sent to the server
[0203] Step 3:
[0204] The server performs natural language processing (NLP)
[0205] The server uses Google Cloud Natural Language API and Microsoft Azure Text Analytics to analyze the received text data, extracting important keywords and time information.
[0206] Input: Text data sent to the server
[0207] Data processing: Extraction of keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information using a natural language processing engine
[0208] Output: Extracted keywords and time information data
[0209] Step 4:
[0210] The server looks up the user profile
[0211] The server accesses a user profile database to obtain the user's purchase history, preferences, and schedule information.
[0212] Input: Extracted keywords and time information data
[0213] Data Reference: User profile database query
[0214] Output: Profile information of the user
[0215] Step 5:
[0216] The server manages the schedule
[0217] The server adds new reservation information to the schedule database based on the retrieved profile information. For example, "reservation of new sneakers next Saturday" is added to the schedule.
[0218] Input: Extracted keywords and time information data, user profile information
[0219] Data calculation: Adding new reservation information to the schedule database
[0220] Output: Booking information added to the schedule database
[0221] Step 6:
[0222] The server notifies the results of the schedule setting
[0223] The server generates a text message with the results of the appointment and sends it to the device, such as "Your appointment for your new sneakers has been scheduled for next Saturday."
[0224] Input: Booking information added to the schedule database
[0225] Data Generation: Text message generation
[0226] Output: The generated text message
[0227] Step 7:
[0228] The device displays a notification to the user
[0229] The device receives the text message sent by the server and displays it to the user, confirming that the reservation was successfully made.
[0230] Input: Text message sent from the server
[0231] Output: Notification displayed in the user interface
[0232] This series of processes allows the user to easily and efficiently shop at the virtual store, and also allows the user to check the set schedule information at any time.
[0233] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0234] overview
[0235] This invention relates to a personal assistant system that receives requests entered by a user in natural language, analyzes them, and extracts important keywords and time information to support schedule management. Furthermore, this invention references a user profile to provide personalized support based on the user's preferences and past behavior. It also includes an emotion engine that recognizes emotions from the user's input and adjusts responses based on the recognized emotions, providing a more emotionally sensitive service.
[0236] System configuration
[0237] This system mainly consists of the following three components:
[0238] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[0239] 2. Server: Contains a cloud-based AI engine that analyzes user input, manages schedules, and provides personalized suggestions.
[0240] 3. Emotion Engine: Recognizes emotions from user input and tailors responses and suggestions based on those emotions.
[0241] 1. User Interface
[0242] The user inputs a request in natural language using the device. For example, a request such as "Schedule a meeting tomorrow at 3:00 PM" is input. The device receives this request and sends it to the server as text data.
[0243] 2. Data analysis on the server
[0244] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[0245] 3. Use of Emotion Engine
[0246] The server uses an emotion engine in conjunction with the NLP engine to recognize emotions from user input, for example, if the input contains words like "hurry up," it will recognize that the user is requesting a sense of urgency.
[0247] 4. User profile reference
[0248] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, it checks whether the analysis results match the user's profile, taking into account emotions.
[0249] 5. Adding events and notifications
[0250] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3 PM" is added to the schedule database. At that time, emotions recognized by the emotion engine are also reflected. For example, if the user is in a hurry, the process will be carried out quickly.
[0251] After the addition, the server generates a notification message for the user based on the result and sentiment of the appointment, for example, creating a text message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!"
[0252] 6. Display of User Notices
[0253] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[0254] Specific examples
[0255] Below is an example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!"
[0256] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!"
[0257] The terminal sends this request to the server.
[0258] The server analyzes the data using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0259] The server uses an emotion engine to recognize the emotion "hurry" from the input.
[0260] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[0261] After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to the schedule database.
[0262] The server converts the result into a text message saying, "We've scheduled a meeting for tomorrow at 10 AM. We rushed to get it done!" and sends it to the device.
[0263] The terminal displays this message to the user.
[0264] This system allows users to easily manage their schedules without any hassle and provides personalized support that takes their emotions into consideration. It also includes functions to obtain data from external sources and generate responses based on that data, as well as functions to generate suggestions and notification content according to the user's emotions, further improving the user experience.
[0265] The processing flow will be explained below.
[0266] Detailed program processing flow
[0267] Step 1:
[0268] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!" This sends the user's request to the system.
[0269] Step 2:
[0270] The device receives user input as text data and sends it to the server, which converts the text data into a structured format and calls the appropriate API to transmit the data.
[0271] Step 3:
[0272] The server receives the text data sent from the device, and adds it to a queue for text analysis, ready to be analyzed by a natural language processing (NLP) engine.
[0273] Step 4:
[0274] The server uses an NLP engine to analyze the received text data, extracting important keywords and time information such as "tomorrow," "10:00 AM," "meeting," "add an event," and "hurry up."
[0275] Step 5:
[0276] The server uses an emotion engine to recognize emotions from the text data. For example, if the text contains the phrase "hurry up," it is recognized that the user is in a hurry or has a strong desire.
[0277] Step 6:
[0278] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, the server takes the user's past behavior and preferences into account when scheduling a new appointment.
[0279] Step 7:
[0280] The server checks the extracted keywords and time information against the user profile to see if there are any overlaps with existing events. If there are any overlaps, it generates an appropriate error message, otherwise it moves on to the next step.
[0281] Step 8:
[0282] The server adds a new appointment to the schedule database. Specifically, a new appointment is registered: "Meeting tomorrow at 10 AM." The user's emotions are also saved based on the results of the emotion engine.
[0283] Step 9:
[0284] The server generates a notification message for the user based on the schedule setting result and the recognition result of the emotion engine. For example, a text message such as "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to respond!" is created.
[0285] Step 10:
[0286] The server generates a notification message and sends it to the terminal, thereby notifying the user of the results of the schedule setting.
[0287] Step 11:
[0288] The device receives the text message sent by the server and displays it to the user. For example, a notification like "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" appears on the device screen.
[0289] Specific examples
[0290] If a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!", the following process will occur based on the steps above:
[0291] The user inputs a request into the terminal and sends it.
[0292] The terminal transmits the request as text data to the server.
[0293] The server receives the text data and analyzes it using an NLP engine.
[0294] The server uses an emotion engine to recognize the emotion that the user is in a hurry.
[0295] The server references the user profile to check past schedules and preferences.
[0296] The server adds the new appointment to the schedule database.
[0297] The server generates a notification message reflecting the result of the schedule setting and the emotion, and transmits it to the terminal.
[0298] The device receives the notification message and displays it to the user.
[0299] In this way, the system can improve the user experience by quickly processing user requests and providing emotionally relevant and personalized notifications.
[0300] Example 2
[0301] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0302] Conventional schedule management systems had low accuracy in analyzing requests entered by users in natural language, making it difficult to accurately extract important keywords and time information. They also lacked the ability to provide personalized suggestions that took user emotions into account, and were unable to fully meet user needs. Furthermore, their ability to provide personalized support by referencing user profiles was also insufficient.
[0303] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0304] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for recognizing emotions from the user's input and adjusting responses and suggestions based on the emotions, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, and means for notifying the user of the results of schedule setting. This enables accurate and prompt schedule management based on the user's request input in natural language, and makes it possible to provide personalized support that is sensitive to emotions.
[0305] A "user" is a person who utilizes the inventive system to input requests in natural language and receive scheduling and personalized support.
[0306] A "terminal" is a device operated by a user, such as a smartphone, tablet, or PC, that has the ability to receive user input and send it to a server.
[0307] A "server" is a computer system that receives data sent by users and analyzes and processes it, and generally operates in a cloud environment.
[0308] A "natural language request" is a query or command entered by a user in everyday language, expressed in the language that humans use every day, rather than in any particular format.
[0309] "Key keywords" refer to key words and phrases extracted from natural language requests that are necessary for scheduling and response generation.
[0310] "Time information" is information about a specific date and time included in a request, and is essential data for setting a schedule.
[0311] "Emotion recognition" is a technology that reads emotions from requests entered by users and adjusts responses and suggestions based on those emotions.
[0312] A "user profile" is a database containing personal information such as a user's past behavior, preferences, and schedule, and is referenced to provide personalized support.
[0313] A "new appointment" refers to a new reservation or event that is added to the schedule database based on a user request.
[0314] The "schedule database" is a database for managing and storing users' schedules, and plays a central role in schedule management.
[0315] "Notification" means a message or alert communicated by the system to the user to inform them of a newly scheduled event or related information.
[0316] "External data acquisition" is the process of obtaining necessary data from the internet or other external sources at the user's request.
[0317] "Personalized Suggestions" refers to providing tailored support to meet user expectations by making individually optimized suggestions based on the user's profile data and current request.
[0318] MODE FOR CARRYING OUT THE INVENTION
[0319] This invention relates to a personal assistant system that supports schedule management by receiving requests entered by a user in natural language, analyzing them, and extracting important keywords and time information. The system also references a user profile to provide personalized support based on the user's preferences and past behavior. Furthermore, the system recognizes emotions from the user's input and adjusts responses based on those emotions, providing a service that is sensitive to the user's emotions.
[0320] System configuration
[0321] This system mainly consists of the following three components:
[0322] 1. Device:
[0323] A device (such as a smartphone, tablet, or PC) that is operated by a user and receives user input and displays results.
[0324] For example, a smartphone app receives a user's text input and sends it to a cloud server.
[0325] 2. Server:
[0326] It includes a cloud-based AI engine that analyzes user input to manage schedules and provide personalized suggestions, using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3.
[0327] Analyze user input to extract important keywords (e.g., "tomorrow," "3 p.m.," "meeting") and time information.
[0328] It also uses emotion recognition engines such as Hume AI and IBM Watson (registered trademark) to recognize emotions.
[0329] 3. Emotion Engine:
[0330] Recognize emotions from user input and tailor responses and suggestions based on those emotions.
[0331] For example, it analyzes words such as "hurry" and recognizes that the user is in a hurry.
[0332] User Interface
[0333] The user uses the device to input a request in natural language, for example, "Schedule a meeting tomorrow at 3 PM." The device receives this input and sends it to the server as text data.
[0334] Data analysis on the server
[0335] The server receives the text data sent from the device, and analyzes it using tools such as Google Cloud NLP API and OpenAI's GPT-3 to extract important keywords and time information.
[0336] Use of emotion engine
[0337] The server uses emotion recognition engines such as Hume AI and IBM Watson in conjunction with an NLP engine to recognize emotions from user input. For example, if the input contains the expression "hurry," it will determine that the user is in a hurry.
[0338] Viewing a User Profile
[0339] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify whether the analysis results match the user's profile.
[0340] Adding events and notifications
[0341] The server adds a new appointment to the schedule database based on the analysis results. For example, "Meeting tomorrow at 3 PM" is added to the schedule database. The server also takes into account the emotions recognized by the emotion engine. If the user is in a hurry, the process will be quicker.
[0342] Viewing User Notifications
[0343] The server generates a notification message for the user based on the result of the appointment and the emotion, and sends it to the device. For example, a message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!" is generated. The device receives this message and displays it to the user.
[0344] Specific examples
[0345] Here's what happens when a user requests "Add a meeting for tomorrow at 10 AM. Hurry!":
[0346] 1. A user types into their terminal, "Add a meeting for tomorrow at 10 AM. Hurry!"
[0347] 2. The device sends this request to the server.
[0348] 3. The server analyzes the data using Google Cloud NLP API and OpenAI's GPT-3, and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0349] 4. The server analyzes emotions using Hume AI or IBM Watson and recognizes the emotion of "being in a hurry."
[0350] 5. The server looks up existing user profiles to see if there are any overlapping schedules.
[0351] 6. After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to your schedule database.
[0352] 7. The server generates a notification message saying, "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" and sends it to the device.
[0353] 8. The terminal displays this message to the user.
[0354] Prompt Sentence Examples
[0355] Below are some examples of input prompts for generative AI models:
[0356] User request: "Schedule a meeting tomorrow at 3pm"
[0357] Important keywords: ["tomorrow", "3pm", "meeting"]
[0358] Emotion recognition: "Normal"
[0359] User profile: {Past events: [], Preferences: []}
[0360] Generate a response based on the analysis results.
[0361] This system allows users to manage their schedules smoothly and hassle-free, and provides personalized support that takes their emotions into consideration.
[0362] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0363] Step 1:
[0364] The user inputs a request into the terminal in natural language. For example, they input the text "Schedule a meeting tomorrow at 3 PM." This input becomes the initial input data for the system.
[0365] Input: User text input "Schedule a meeting tomorrow at 3pm"
[0366] Output: User's text data
[0367] Specific action: The user enters text using the smartphone keyboard.
[0368] Step 2:
[0369] The terminal sends the received text data to the server. This is the process of transferring data from the terminal to the server.
[0370] Input: User's text data
[0371] Output: Text data sent to the server
[0372] Specific operation: The mobile app sends text data to the API endpoint of the cloud server as an HTTPS request.
[0373] Step 3:
[0374] The server analyzes the received text data using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3, extracting important keywords and time information.
[0375] Input: User text data "Schedule a meeting tomorrow at 3pm"
[0376] Output: Extracted keywords and time information (e.g. "tomorrow", "3pm", "meeting")
[0377] Specific operation: The server calls the NLP engine to analyze and extract keywords and time information from the text.
[0378] Step 4:
[0379] The server uses an emotion engine (e.g., Hume AI or IBM Watson) to recognize emotions from the user's input. For example, if the input contains the phrase "hurry," it recognizes that the user is in a hurry.
[0380] Input: User text data "Schedule a meeting tomorrow at 3pm"
[0381] Output: Recognized emotion information (e.g., "normal")
[0382] Specific operation: The server uses an emotion engine to analyze the text and determine emotions such as urgency.
[0383] Step 5:
[0384] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify that the action matches the user's profile.
[0385] Input: User's text data and profile ID
[0386] Output: User's past schedule and preference data
[0387] What happens: The server executes an SQL query to retrieve user profile information from the database.
[0388] Step 6:
[0389] The server adds new events to the schedule database based on the analysis results, such as a "meeting tomorrow at 3 PM," taking emotions into account.
[0390] Input: Keywords and time information, emotion information, user profile
[0391] Output: Updated schedule database
[0392] What happens next: The server executes a SQL statement that inserts a new appointment into the schedule database.
[0393] Step 7:
[0394] The server generates a notification message for the user based on the schedule setting result and emotion information and sends it to the device. For example, a message such as "Your meeting has been scheduled for tomorrow at 3 PM. Thank you for your hard work!" can be generated.
[0395] Input: New appointment information, emotional information
[0396] Output: Notification message "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[0397] Specific operation: The server uses the template engine to generate a notification message.
[0398] Step 8:
[0399] The device receives the notification message sent by the server and displays it to the user. For example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!" is displayed.
[0400] Input: Notification message sent
[0401] Output: Notification message displayed to the user
[0402] What happens: The mobile app receives the notification and displays it on the user's smartphone screen as a push notification.
[0403] (Application example 2)
[0404] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0405] Conventional schedule management systems are limited to adding appointments and sending notifications based on simple requests, and do not support driving instructions that reflect user emotions, urgency, or personalized information. This makes it difficult to set plans that are in line with user preferences and emotions, particularly in autonomous vehicles, making it difficult to achieve efficient and comfortable driving.
[0406] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0407] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for recognizing emotions from the user's input and adjusting responses based on the emotions, and means for connecting to a system that provides information on vehicle operation and giving operation instructions. This enables personalized schedule management and operation instructions that take into account the user's emotions and urgency.
[0408] "Natural language" is a language used in everyday communication, and is a means by which people share information through writing and conversation.
[0409] A "request" refers to a request or instruction a user makes to a system.
[0410] "Analysis" is the process of breaking down input data or information and extracting meaning and important elements.
[0411] "Keywords" refer to words or phrases that are particularly important among the information extracted through analysis.
[0412] "Time information" is information about a specific date and time or period included in a request or data.
[0413] A "user profile" is a collection of information about a user, including past behavior and preferences.
[0414] A "schedule database" refers to a database where users' schedules and plans are stored.
[0415] "Notification" refers to the act or means by which a system conveys information to a user.
[0416] "Emotions" are psychological responses and feelings that are recognized from a user's input or state.
[0417] "Operation instructions" refers to giving specific instructions and guidance regarding vehicle operation.
[0418] "Means" refers to a method or device used to achieve a particular purpose.
[0419] 1. System Overview
[0420] This invention is comprised mainly of a terminal installed in the autonomous vehicle and a server system built on the cloud. The user inputs a request in natural language from inside the vehicle, which is analyzed to determine emotions and schedule information. The system also references the user profile to provide driving instructions.
[0421] 2. Hardware and Software Configuration
[0422] Device:
[0423] Microphone and infotainment system: This receives the user's voice input.
[0424] Display: Visually displays results and notifications.
[0425] Head-mounted display (optional): The driver and passengers can view detailed information.
[0426] server:
[0427] Cloud Server: Provides scalable computing resources.
[0428] NLP Engine (Natural Language Processing Engine): Parses requests using the Google Cloud Natural Language API.
[0429] Emotion engine: Determines emotions using IBM Watson's Emotion Analysis.
[0430] Database system: User profiles and schedules are managed using AWS (registered trademark) RDS.
[0431] 3. Data Processing
[0432] When a user inputs a request in natural language through the infotainment system or head-mounted display, the process proceeds as follows:
[0433] 4. Processing Flow
[0434] 1. Accepting user input
[0435] The device receives voice input through a microphone and converts it into text.
[0436] 2. Natural Language Processing
[0437] The server uses the Google Cloud Natural Language API to parse this text and extract important keywords and time information. For example, if the request is "Set up to be at work at 3 PM," the keywords "3 PM," "work," and "set up" are extracted.
[0438] 3. Emotion recognition
[0439] Next, an emotion engine (IBM Watson Emotion Analysis) analyzes the request and recognizes the user's emotion. For example, if the request is accompanied by "hurry," it is recognized as requiring an urgent response.
[0440] 4. User profile reference
[0441] The server references user profiles stored in AWS RDS to obtain information about past behavior and preferences, enabling it to provide optimal suggestions and driving instructions to users.
[0442] 5. Add operation instructions and schedules
[0443] Based on the extracted keywords, time information, and emotion information, a new schedule is added to the schedule database and driving instructions are sent to the vehicle. For example, a notification such as "Driving to work scheduled for 3 PM" is generated and sent to the vehicle promptly.
[0444] 6. Display of notifications
[0445] Finally, the device (infotainment system or head-mounted display) displays the notification sent by the server to the user, for example, "Route to work scheduled for 3 PM. Urgent!"
[0446] 5. Specific Examples
[0447] For example, let's look at what happens when a user says, "I'm in a hurry, schedule an appointment to come to the office at 3 PM." The device converts the voice input into text, which the server analyzes. Based on the analysis results, the emotion engine recognizes the need for urgency and references the user profile from AWS RDS. After that, a new appointment is added to the schedule database, driving instructions are issued, and a notification is displayed on the device.
[0448] Prompt Sentence Examples
[0449] If the user types "I'm in a hurry, schedule an appointment to be at the office at 3 PM," the following is an example of a prompt:
[0450] "Instruction: Urgently schedule an appointment to come to the office at 3 PM. Calculate the optimal route by referencing past route data from the schedule database. Use the emotion engine to confirm urgent responses."
[0451] This system allows users to easily manage schedules and give driving instructions from inside the vehicle, realizing personalized services that are sensitive to emotions.
[0452] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0453] Step 1:
[0454] The user provides voice input in natural language.
[0455] The user speaks into the infotainment system's microphone, saying, "Hurry, schedule an appointment to be at work at 3 p.m."
[0456] Input format: Audio data
[0457] Output: Instructions as audio data
[0458] Step 2:
[0459] Convert voice input to text.
[0460] The terminal's voice recognition system converts the voice data into text data.
[0461] Specific operation: The voice recognition function analyzes the voice data and converts it into text such as "Hurry, schedule an appointment to be at the office at 3 p.m."
[0462] Input: Audio data
[0463] Output: Text data
[0464] Step 3:
[0465] Analyze text data using a natural language processing engine.
[0466] The server uses the Google Cloud Natural Language API to parse the text data and extract important keywords and time information.
[0467] How it works: The NLP engine breaks down text data and identifies key elements to extract keywords and time information such as "urgent," "3 p.m.", and "office."
[0468] Input: Text data
[0469] Output: Extracted keywords and time information
[0470] Step 4:
[0471] Recognize user emotions with an emotion engine.
[0472] The server uses IBM Watson Emotion Analysis to determine the sentiment of the text being analyzed.
[0473] Specific behavior: Based on the phrase "hurry", the emotion engine evaluates the text data and adds emotion information to recognize the user's emotion of hurry.
[0474] Input: Text data
[0475] Output: Emotional information
[0476] Step 5:
[0477] View your user profile.
[0478] The server references the user profile database stored in AWS RDS to retrieve past schedule and preference data.
[0479] Specific operation: Based on the user ID, past behavioral patterns and preference information are inquired and appropriate information is obtained.
[0480] Input: User ID
[0481] Output: User profile data
[0482] Step 6:
[0483] Add a new appointment to the schedule database.
[0484] The server registers the new schedule in the schedule database based on the extracted keywords, time information, and emotion information.
[0485] Specific behavior: Add an entry to the schedule database saying "Go to the office at 3 PM" and also save the information that an urgent action is required.
[0486] Input: Extracted keywords, time information, and emotion information
[0487] Output: Updated schedule database
[0488] Step 7:
[0489] Gives operational instructions.
[0490] The server calculates the optimal route based on past driving data and user preferences, and sends driving instructions to the self-driving vehicle.
[0491] Specific operation: In cooperation with the traffic management system, the system calculates a route based on the extracted information and sends the "optimal route to get to work at 3:00 PM" to the autonomous vehicle.
[0492] Input: Schedule data and user profile data
[0493] Output: Operation instruction data
[0494] Step 8:
[0495] The schedule setting results are notified to the user.
[0496] The device receives notifications from the server and provides the user with information visually or audibly.
[0497] Specific operation: The message "A trip to work has been scheduled for 3 PM. This is urgent!" will be displayed on the display or head-mounted display, or a notification will be sent via the voice assistant.
[0498] Input: Operation instruction data
[0499] Output: User notification
[0500] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0501] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0502] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0503] [Second embodiment]
[0504] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0505] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0506] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0507] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0508] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0509] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0510] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0511] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0512] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0513] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0514] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0515] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0516] overview
[0517] This invention is a personal assistant system that supports schedule management by receiving requests entered by users in natural language, analyzing them, and extracting important keywords and time information. Furthermore, it can refer to a user profile and provide personalized support based on the user's preferences and past behavior.
[0518] System configuration
[0519] This system mainly consists of the following two components:
[0520] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[0521] 2. Server: Contains a cloud-based AI engine that analyzes user input and provides schedule management and personalized suggestions.
[0522] 1. User Interface
[0523] The user inputs natural language data using the device, for example, a request such as "Schedule a meeting tomorrow at 3 PM." The device receives this data and sends it to the server as text data.
[0524] 2. Data analysis on the server
[0525] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[0526] 3. User profile reference
[0527] The server references a user profile database to retrieve the user's past schedule and preferences, and uses this information to determine whether the analysis results match the user's profile.
[0528] 4. Adding events and notifications
[0529] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3:00 PM" is added to the schedule database. The server then generates a text message to notify the user of the appointment setting results and sends it to the device.
[0530] 5. Display of User Notifications
[0531] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM." This notification allows the user to confirm that the new appointment was successfully scheduled.
[0532] Specific examples
[0533] Below is a concrete example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM."
[0534] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM."
[0535] The terminal sends this request to the server.
[0536] The server analyzes the request using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0537] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[0538] After confirmation, add the new appointment to the schedule database.
[0539] The server converts the result into a text message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[0540] The terminal displays this message to the user.
[0541] This system allows users to easily and efficiently manage their schedules, providing great convenience in their daily lives and work. It also provides functions to acquire data from external sources and generate responses based on that data, as well as functions to make personalized suggestions based on the user's preferences, further improving the user experience.
[0542] The processing flow will be explained below.
[0543] Detailed program processing flow
[0544] Step 1:
[0545] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM," which sends the user's request to the system.
[0546] Step 2:
[0547] The device receives the user's input as text data and sends the text data to the server.
[0548] Step 3:
[0549] The server receives the text data sent from the device and prepares it for analysis by a natural language processing (NLP) engine.
[0550] Step 4:
[0551] The server uses an NLP engine to analyze the received text data, specifically extracting important keywords such as "tomorrow," "10:00 AM," "meeting," and "add event" as well as time information.
[0552] Step 5:
[0553] The server references a user profile database to retrieve the user's past schedule and preferences, for example, to check information about the user's past schedules and preferences.
[0554] Step 6:
[0555] The server checks the extracted keywords and time information against the user profile to see if there are any conflicts with existing events, and if so, generates an appropriate error message.
[0556] Step 7:
[0557] After the server confirms, it adds the new appointment to the schedule database. The appointment will have the content "Meeting tomorrow at 10:00 AM."
[0558] Step 8:
[0559] The server generates a notification message for the user based on the results of the schedule setting. Specifically, it creates a text message saying, "A meeting has been scheduled for tomorrow at 10:00 AM."
[0560] Step 9:
[0561] The server generates a notification message and sends it to the terminal, which notifies the user of the result.
[0562] Step 10:
[0563] The device receives the text message sent from the server and displays the received message to the user. For example, a notification saying "A meeting has been scheduled for tomorrow at 10 AM" is displayed.
[0564] Example 1
[0565] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0566] Conventional schedule management systems are often not designed to be intuitive for users, making it particularly difficult to input information in natural language. They also lack the functionality to make personalized suggestions that take into account users' past behavior and preferences. This makes it difficult for users to efficiently manage their schedules.
[0567] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0568] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for analyzing text data received from the terminal using a natural language processing engine, means for adding schedule information to the database based on the analyzed information and generating a notification message, means for the server to send a message to the user based on the schedule information, and means for the terminal to receive the notified message and display it to the user. This enables users to intuitively input requests in natural language and receive personalized support, thereby efficiently managing their schedules.
[0569] "User" means an individual or entity that uses the System to enter requests in natural language.
[0570] "Request" refers to a request or instruction entered in natural language by a user and received by a system.
[0571] A "terminal" is a device operated by a user (such as a smartphone, tablet, or PC) and is hardware that communicates with the system.
[0572] A "server" is a central computer system that analyzes and processes requests sent by users.
[0573] A "natural language processing engine" is a software module that analyzes incoming natural language requests and extracts important keywords and time information.
[0574] "Key words" are specific words or phrases that express intent extracted from a request.
[0575] "Time information" is information that specifically indicates the date and time included in the request.
[0576] A "user profile" is a data set that records a user's past behavior, preferences, and schedule information.
[0577] The "schedule database" is a database system that stores schedules that are added based on the analysis results.
[0578] "Notification message" is a text message that notifies the user of the results of analysis or schedule setting.
[0579] A "database" is a data storage system where user profile and schedule information is stored.
[0580] "Message sending means" refers to a function for sending a notification message generated by the server to the terminal.
[0581] The "display means" is a function that visually displays messages received by the terminal to the user.
[0582] MODE FOR CARRYING OUT THE INVENTION
[0583] This invention is a personal assistant system that analyzes requests entered by users in natural language and supports schedule management. The system mainly consists of a terminal that provides a user interface and a server that analyzes the requests and updates the schedule.
[0584] User Interface and Device Operation
[0585] The user inputs a request in natural language using a smartphone, tablet, or PC. For example, a request such as "Schedule a meeting tomorrow at 3 PM" is input. The device receives this input and sends it to the server as text data. An HTTP POST request is used for transmission.
[0586] Request analysis and data processing on the server
[0587] The server analyzes the incoming request using a natural language processing (NLP) engine implemented in Python, which uses libraries such as spaCy and NLTK to extract important keywords and time information from the request, such as "tomorrow," "3 PM," and "meeting."
[0588] The server then consults a user profile database, such as MongoDB, to retrieve the user's past schedule and preferences, and uses this information to check whether the new appointment overlaps with any existing appointments.
[0589] Once confirmation is complete, the server adds the new appointment to a schedule database such as MySQL. For example, the schedule information is added to the database by executing the query "INSERT INTO schedules ...". The server also generates a notification message for the user and sends it to the terminal as an HTTP response. The content of the message might be something like "A meeting has been scheduled for tomorrow at 3:00 PM."
[0590] Notifications and Displays
[0591] The device receives the "HTTP response" returned from the server and extracts the text message from the response body. This notification message is then displayed to the user. This can be displayed using a "pop-up" or "notification bar", allowing the user to confirm that the new appointment has been set correctly.
[0592] Specific operation example
[0593] For example, if a user types "Add a meeting for tomorrow at 10 AM," the following happens:
[0594] 1. A user types into their device, "Add a meeting for tomorrow at 10 AM."
[0595] 2. The device receives this input and sends the text data to the server.
[0596] 3. The server analyzes the received data and extracts keywords such as "tomorrow," "10:00 AM," and "meeting."
[0597] 4. The server looks up the user profile in MongoDB and checks for duplicates.
[0598] 5. After confirmation, the server adds the new appointment to the MySQL schedule database.
[0599] 6. The server generates a message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[0600] 7. The device will receive this message and display it to the user in a "pop-up notification".
[0601] Prompt Sentence Examples
[0602] 1. "Schedule a meeting tomorrow at 3 PM."
[0603] 2. "Add a presentation for next Tuesday at 10am."
[0604] The system allows users to intuitively manage their schedules in natural language and receive personalized support.
[0605] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0606] Step 1:
[0607] The user inputs a request in natural language into the device. The user uses a smartphone, tablet, or PC to input a request in natural language, such as "Schedule a meeting tomorrow at 3 PM." The device receives this input as text data. Input: User's natural language input, Output: Text data.
[0608] Step 2:
[0609] The terminal sends the received text data to the server. The terminal sends the text data to the server as an HTTP POST request. At this time, the text data is included in the request body. Input: Text data, Output: HTTP POST request.
[0610] Step 3:
[0611] The server processes the HTTP POST request received from the terminal. The server receives the request and extracts text data from the request body. This text data is passed to the natural language processing engine. Input: HTTP POST request, Output: text data.
[0612] Step 4:
[0613] The server analyzes the text data using a natural language processing engine. The server uses a natural language processing engine implemented in Python (such as spaCy or NLTK) to extract important keywords and time information from the text data, such as "tomorrow," "3 p.m.", and "meeting." Input: text data, output: important keywords and time information.
[0614] Step 5:
[0615] The server references the user profile database. The server retrieves the user's profile information from a database such as MongoDB, and checks whether the analysis results overlap with existing schedules based on the retrieved information. Input: Important keywords and time information, user profile. Output: Duplicate check results.
[0616] Step 6:
[0617] The server adds a new schedule to the schedule database. If no duplicates are found, the server runs a query to add a new schedule to the schedule database, such as "MySQL." For example, it runs the query "INSERT INTO schedules ..." to add the schedule information. Input: Duplicate check result, important keywords and time information. Output: Addition of a new schedule.
[0618] Step 7:
[0619] The server generates a notification message containing the results of the schedule setting and sends it to the terminal. The server generates a text message to notify the user based on the information that the new schedule has been added. The generated message is sent to the terminal as an HTTP response. Input: Result of adding a new schedule, Output: HTTP response (notification message).
[0620] Step 8:
[0621] The terminal receives the HTTP response sent from the server and displays the notification message. The terminal extracts the text message from the received HTTP response and displays it visually to the user. For example, it uses a "pop-up notification" or "notification bar" to display a message such as "A meeting has been scheduled for tomorrow at 3 PM." Input: HTTP response (notification message), Output: Display of notification message to the user.
[0622] (Application example 1)
[0623] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0624] Conventional personal assistant systems primarily support schedule management and are unable to enhance users' daily activities, especially their shopping experience. The objective of this invention is to provide a system that allows users to search for and purchase products in a virtual store using natural language requests and effectively manage the results. The invention also aims to enhance the shopping experience by providing personalized product suggestions based on the user's purchase history and preferences.
[0625] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0626] In this invention, the server includes means for receiving requests input by a user in natural language, means for analyzing the received natural language requests and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the results of the schedule setting, means for supporting product searches and purchases within the virtual store, means for making personalized product suggestions based on the purchase history and preferences, and means for providing product arrival notifications and reservation reminders. This enables users to easily and efficiently shop in the virtual store simply by inputting requests in natural language.
[0627] "User" means an individual or purchaser who enters a request in natural language.
[0628] "Natural language" refers to the language used in everyday life and used by users to input requests to a system.
[0629] A "request" is a request or demand that a user inputs into the system.
[0630] "Keywords" are important words or phrases extracted from a natural language request.
[0631] "Time information" is data related to date and time included in a natural language request.
[0632] A "user profile" is a database containing data about an individual user's preferences and past behavior.
[0633] "Preferences" are information about the preferences and interests of a particular user.
[0634] A "schedule database" is a database for storing user schedule information.
[0635] "Notification" means information or a message sent to a user.
[0636] A "virtual store" is a virtual store operated on the Internet where users can purchase products online.
[0637] "Product search" refers to the act of searching for a specific product or service.
[0638] "Purchase history" refers to a record of products and services previously purchased by a user.
[0639] "Personalized product suggestions" are products and services that are individually suggested based on a user's preferences and purchasing history.
[0640] A "reservation reminder" is a notification that notifies the user in advance of the reservation they have made.
[0641] "Product Arrival Notification" is a notification that informs the user that the product they purchased has arrived.
[0642] The following describes an embodiment of the present invention. The system receives and analyzes user requests entered in natural language, and supports schedule management and shopping experiences in virtual stores. The system mainly consists of the following components:
[0643] 1. User Interface
[0644] The user interface is implemented on devices such as smartphones, smart glasses, and head-mounted displays. It has the function of receiving requests entered by the user in natural language and sending the requests as text data to the server. For example, a user might enter, "I'd like to reserve a new pair of sneakers for next Saturday."
[0645] 2. Natural Language Processing (NLP) Engine
[0646] The server uses natural language processing engines such as Google Cloud Natural Language API or Microsoft Azure Text Analytics to parse the incoming request and extract important keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information.
[0647] 3. User Profile Management
[0648] The server consults a user profile database (e.g., MongoDB or PostgreSQL) to retrieve the user's preferences, past purchases, and schedule, and uses this information to personalize the request.
[0649] 4. Schedule management function
[0650] The server adds a new appointment to the schedule database based on the analysis results, and also generates a text message of the appointment and sends it to the user interface, such as "You've scheduled an appointment for your new sneakers next Saturday."
[0651] 5. Virtual store function
[0652] The server supports product search and purchase in the virtual store, provides personalized product suggestions based on the user's preferences and purchase history, and also provides product arrival notifications and reservation reminders.
[0653] Hardware and software used
[0654] Hardware: Smartphones, smart glasses, head-mounted displays, cloud servers
[0655] Software: Front-end frameworks (React Native, Flutter), natural language processing engines (Google Cloud Natural Language API, Microsoft Azure Text Analytics), database systems (MongoDB, PostgreSQL), back-end frameworks (Django, Flask)
[0656] Specific examples
[0657] If a user types on their smartphone, "I'd like to reserve some new sneakers for next Saturday," the system processes the following:
[0658] 1. The user interface receives this request and sends it to the server.
[0659] 2. A natural language processing engine extracts keywords such as "next Saturday," "new sneakers," and "reservation."
[0660] 3. The user profile database checks the user's past purchase history and schedule to see if a reservation is available.
[0661] 4. A new reservation is added to the schedule database and a message is generated saying, "Your reservation for your new sneakers has been set for next Saturday."
[0662] 5. The user interface displays this message to the user.
[0663] Prompt Sentence Examples
[0664] "I'd like to reserve some new sneakers for next Saturday."
[0665] This process allows users to enjoy a convenient and efficient shopping experience in a virtual store.
[0666] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0667] Step 1:
[0668] The user enters a request
[0669] A user uses a smartphone or smart glasses to input a request in natural language, for example, "I'd like to reserve some new sneakers for next Saturday."
[0670] Input: User's natural language request
[0671] Output: Text data of natural language requests
[0672] Step 2:
[0673] The device sends a request to the server
[0674] The device receives a natural language request and sends it to the server as text data, usually via an HTTP request.
[0675] Input: Text data of natural language requests
[0676] Output: Text data sent to the server
[0677] Step 3:
[0678] The server performs natural language processing (NLP)
[0679] The server uses Google Cloud Natural Language API and Microsoft Azure Text Analytics to analyze the received text data, extracting important keywords and time information.
[0680] Input: Text data sent to the server
[0681] Data processing: Extraction of keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information using a natural language processing engine
[0682] Output: Extracted keywords and time information data
[0683] Step 4:
[0684] The server looks up the user profile
[0685] The server accesses a user profile database to obtain the user's purchase history, preferences, and schedule information.
[0686] Input: Extracted keywords and time information data
[0687] Data Reference: User profile database query
[0688] Output: Profile information of the user
[0689] Step 5:
[0690] The server manages the schedule
[0691] The server adds new reservation information to the schedule database based on the retrieved profile information. For example, "reservation of new sneakers next Saturday" is added to the schedule.
[0692] Input: Extracted keywords and time information data, user profile information
[0693] Data calculation: Adding new reservation information to the schedule database
[0694] Output: Booking information added to the schedule database
[0695] Step 6:
[0696] The server notifies the results of the schedule setting
[0697] The server generates a text message with the results of the appointment and sends it to the device, such as "Your appointment for your new sneakers has been scheduled for next Saturday."
[0698] Input: Booking information added to the schedule database
[0699] Data Generation: Text message generation
[0700] Output: The generated text message
[0701] Step 7:
[0702] The device displays a notification to the user
[0703] The device receives the text message sent by the server and displays it to the user, confirming that the reservation was successfully made.
[0704] Input: Text message sent from the server
[0705] Output: Notification displayed in the user interface
[0706] This series of processes allows the user to easily and efficiently shop at the virtual store, and also allows the user to check the set schedule information at any time.
[0707] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0708] overview
[0709] This invention relates to a personal assistant system that receives requests entered by a user in natural language, analyzes them, and extracts important keywords and time information to support schedule management. Furthermore, this invention references a user profile to provide personalized support based on the user's preferences and past behavior. It also includes an emotion engine that recognizes emotions from the user's input and adjusts responses based on the recognized emotions, providing a more emotionally sensitive service.
[0710] System configuration
[0711] This system mainly consists of the following three components:
[0712] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[0713] 2. Server: Contains a cloud-based AI engine that analyzes user input, manages schedules, and provides personalized suggestions.
[0714] 3. Emotion Engine: Recognizes emotions from user input and tailors responses and suggestions based on those emotions.
[0715] 1. User Interface
[0716] The user inputs a request in natural language using the device. For example, a request such as "Schedule a meeting tomorrow at 3:00 PM" is input. The device receives this request and sends it to the server as text data.
[0717] 2. Data analysis on the server
[0718] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[0719] 3. Use of Emotion Engine
[0720] The server uses an emotion engine in conjunction with the NLP engine to recognize emotions from user input, for example, if the input contains words like "hurry up," it will recognize that the user is requesting a sense of urgency.
[0721] 4. User profile reference
[0722] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, it checks whether the analysis results match the user's profile, taking into account emotions.
[0723] 5. Adding events and notifications
[0724] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3 PM" is added to the schedule database. At that time, emotions recognized by the emotion engine are also reflected. For example, if the user is in a hurry, the process will be carried out quickly.
[0725] After the addition, the server generates a notification message for the user based on the result and sentiment of the appointment, for example, creating a text message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!"
[0726] 6. Display of User Notices
[0727] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[0728] Specific examples
[0729] Below is an example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!"
[0730] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!"
[0731] The terminal sends this request to the server.
[0732] The server analyzes the data using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0733] The server uses an emotion engine to recognize the emotion "hurry" from the input.
[0734] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[0735] After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to the schedule database.
[0736] The server converts the result into a text message saying, "We've scheduled a meeting for tomorrow at 10 AM. We rushed to get it done!" and sends it to the device.
[0737] The terminal displays this message to the user.
[0738] This system allows users to easily manage their schedules without any hassle and provides personalized support that takes their emotions into consideration. It also includes functions to obtain data from external sources and generate responses based on that data, as well as functions to generate suggestions and notification content according to the user's emotions, further improving the user experience.
[0739] The processing flow will be explained below.
[0740] Detailed program processing flow
[0741] Step 1:
[0742] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!" This sends the user's request to the system.
[0743] Step 2:
[0744] The device receives user input as text data and sends it to the server, which converts the text data into a structured format and calls the appropriate API to transmit the data.
[0745] Step 3:
[0746] The server receives the text data sent from the device, and adds it to a queue for text analysis, ready to be analyzed by a natural language processing (NLP) engine.
[0747] Step 4:
[0748] The server uses an NLP engine to analyze the received text data, extracting important keywords and time information such as "tomorrow," "10:00 AM," "meeting," "add an event," and "hurry up."
[0749] Step 5:
[0750] The server uses an emotion engine to recognize emotions from the text data. For example, if the text contains the phrase "hurry up," it is recognized that the user is in a hurry or has a strong desire.
[0751] Step 6:
[0752] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, the server takes the user's past behavior and preferences into account when scheduling a new appointment.
[0753] Step 7:
[0754] The server checks the extracted keywords and time information against the user profile to see if there are any overlaps with existing events. If there are any overlaps, it generates an appropriate error message, otherwise it moves on to the next step.
[0755] Step 8:
[0756] The server adds a new appointment to the schedule database. Specifically, a new appointment is registered: "Meeting tomorrow at 10 AM." The user's emotions are also saved based on the results of the emotion engine.
[0757] Step 9:
[0758] The server generates a notification message for the user based on the schedule setting result and the recognition result of the emotion engine. For example, a text message such as "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to respond!" is created.
[0759] Step 10:
[0760] The server generates a notification message and sends it to the terminal, thereby notifying the user of the results of the schedule setting.
[0761] Step 11:
[0762] The device receives the text message sent by the server and displays it to the user. For example, a notification like "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" appears on the device screen.
[0763] Specific examples
[0764] If a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!", the following process will occur based on the steps above:
[0765] The user inputs a request into the terminal and sends it.
[0766] The terminal transmits the request as text data to the server.
[0767] The server receives the text data and analyzes it using an NLP engine.
[0768] The server uses an emotion engine to recognize the emotion that the user is in a hurry.
[0769] The server references the user profile to check past schedules and preferences.
[0770] The server adds the new appointment to the schedule database.
[0771] The server generates a notification message reflecting the result of the schedule setting and the emotion, and transmits it to the terminal.
[0772] The device receives the notification message and displays it to the user.
[0773] In this way, the system can improve the user experience by quickly processing user requests and providing emotionally relevant and personalized notifications.
[0774] Example 2
[0775] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0776] Conventional schedule management systems had low accuracy in analyzing requests entered by users in natural language, making it difficult to accurately extract important keywords and time information. They also lacked the ability to provide personalized suggestions that took user emotions into account, and were unable to fully meet user needs. Furthermore, their ability to provide personalized support by referencing user profiles was also insufficient.
[0777] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0778] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for recognizing emotions from the user's input and adjusting responses and suggestions based on the emotions, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, and means for notifying the user of the results of schedule setting. This enables accurate and prompt schedule management based on the user's request input in natural language, and makes it possible to provide personalized support that is sensitive to emotions.
[0779] A "user" is a person who utilizes the inventive system to input requests in natural language and receive scheduling and personalized support.
[0780] A "terminal" is a device operated by a user, such as a smartphone, tablet, or PC, that has the ability to receive user input and send it to a server.
[0781] A "server" is a computer system that receives data sent by users and analyzes and processes it, and generally operates in a cloud environment.
[0782] A "natural language request" is a query or command entered by a user in everyday language, expressed in the language that humans use every day, rather than in any particular format.
[0783] "Key keywords" refer to key words and phrases extracted from natural language requests that are necessary for scheduling and response generation.
[0784] "Time information" is information about a specific date and time included in a request, and is essential data for setting a schedule.
[0785] "Emotion recognition" is a technology that reads emotions from requests entered by users and adjusts responses and suggestions based on those emotions.
[0786] A "user profile" is a database containing personal information such as a user's past behavior, preferences, and schedule, and is referenced to provide personalized support.
[0787] A "new appointment" refers to a new reservation or event that is added to the schedule database based on a user request.
[0788] The "schedule database" is a database for managing and storing users' schedules, and plays a central role in schedule management.
[0789] "Notification" means a message or alert communicated by the system to the user to inform them of a newly scheduled event or related information.
[0790] "External data acquisition" is the process of obtaining necessary data from the internet or other external sources at the user's request.
[0791] "Personalized Suggestions" refers to providing tailored support to meet user expectations by making individually optimized suggestions based on the user's profile data and current request.
[0792] MODE FOR CARRYING OUT THE INVENTION
[0793] This invention relates to a personal assistant system that supports schedule management by receiving requests entered by a user in natural language, analyzing them, and extracting important keywords and time information. The system also references a user profile to provide personalized support based on the user's preferences and past behavior. Furthermore, the system recognizes emotions from the user's input and adjusts responses based on those emotions, providing a service that is sensitive to the user's emotions.
[0794] System configuration
[0795] This system mainly consists of the following three components:
[0796] 1. Device:
[0797] A device (such as a smartphone, tablet, or PC) that is operated by a user and receives user input and displays results.
[0798] For example, a smartphone app receives a user's text input and sends it to a cloud server.
[0799] 2. Server:
[0800] It includes a cloud-based AI engine that analyzes user input to manage schedules and provide personalized suggestions, using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3.
[0801] Analyze user input to extract important keywords (e.g., "tomorrow," "3 p.m.," "meeting") and time information.
[0802] It also uses emotion recognition engines such as Hume AI and IBM Watson to recognize emotions.
[0803] 3. Emotion Engine:
[0804] Recognize emotions from user input and tailor responses and suggestions based on those emotions.
[0805] For example, it analyzes words such as "hurry" and recognizes that the user is in a hurry.
[0806] User Interface
[0807] The user uses the device to input a request in natural language, for example, "Schedule a meeting tomorrow at 3 PM." The device receives this input and sends it to the server as text data.
[0808] Data analysis on the server
[0809] The server receives the text data sent from the device, and analyzes it using tools such as Google Cloud NLP API and OpenAI's GPT-3 to extract important keywords and time information.
[0810] Use of emotion engine
[0811] The server uses emotion recognition engines such as Hume AI and IBM Watson in conjunction with an NLP engine to recognize emotions from user input. For example, if the input contains the expression "hurry," it will determine that the user is in a hurry.
[0812] Viewing a User Profile
[0813] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify whether the analysis results match the user's profile.
[0814] Adding events and notifications
[0815] The server adds a new appointment to the schedule database based on the analysis results. For example, "Meeting tomorrow at 3 PM" is added to the schedule database. The server also takes into account the emotions recognized by the emotion engine. If the user is in a hurry, the process will be quicker.
[0816] Viewing User Notifications
[0817] The server generates a notification message for the user based on the result of the appointment and the emotion, and sends it to the device. For example, a message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!" is generated. The device receives this message and displays it to the user.
[0818] Specific examples
[0819] Here's what happens when a user requests "Add a meeting for tomorrow at 10 AM. Hurry!":
[0820] 1. A user types into their terminal, "Add a meeting for tomorrow at 10 AM. Hurry!"
[0821] 2. The device sends this request to the server.
[0822] 3. The server analyzes the data using Google Cloud NLP API and OpenAI's GPT-3, and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[0823] 4. The server analyzes emotions using Hume AI or IBM Watson and recognizes the emotion of "being in a hurry."
[0824] 5. The server looks up existing user profiles to see if there are any overlapping schedules.
[0825] 6. After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to your schedule database.
[0826] 7. The server generates a notification message saying, "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" and sends it to the device.
[0827] 8. The terminal displays this message to the user.
[0828] Prompt Sentence Examples
[0829] Below are some examples of input prompts for generative AI models:
[0830] User request: "Schedule a meeting tomorrow at 3pm"
[0831] Important keywords: ["tomorrow", "3pm", "meeting"]
[0832] Emotion recognition: "Normal"
[0833] User profile: {Past events: [], Preferences: []}
[0834] Generate a response based on the analysis results.
[0835] This system allows users to manage their schedules smoothly and hassle-free, and provides personalized support that takes their emotions into consideration.
[0836] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0837] Step 1:
[0838] The user inputs a request into the terminal in natural language. For example, they input the text "Schedule a meeting tomorrow at 3 PM." This input becomes the initial input data for the system.
[0839] Input: User text input "Schedule a meeting tomorrow at 3pm"
[0840] Output: User's text data
[0841] Specific action: The user enters text using the smartphone keyboard.
[0842] Step 2:
[0843] The terminal sends the received text data to the server. This is the process of transferring data from the terminal to the server.
[0844] Input: User's text data
[0845] Output: Text data sent to the server
[0846] Specific operation: The mobile app sends text data to the API endpoint of the cloud server as an HTTPS request.
[0847] Step 3:
[0848] The server analyzes the received text data using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3, extracting important keywords and time information.
[0849] Input: User text data "Schedule a meeting tomorrow at 3pm"
[0850] Output: Extracted keywords and time information (e.g. "tomorrow", "3pm", "meeting")
[0851] Specific operation: The server calls the NLP engine to analyze and extract keywords and time information from the text.
[0852] Step 4:
[0853] The server uses an emotion engine (e.g., Hume AI or IBM Watson) to recognize emotions from the user's input. For example, if the input contains the phrase "hurry," it recognizes that the user is in a hurry.
[0854] Input: User text data "Schedule a meeting tomorrow at 3pm"
[0855] Output: Recognized emotion information (e.g., "normal")
[0856] Specific operation: The server uses an emotion engine to analyze the text and determine emotions such as urgency.
[0857] Step 5:
[0858] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify that the action matches the user's profile.
[0859] Input: User's text data and profile ID
[0860] Output: User's past schedule and preference data
[0861] What happens: The server executes an SQL query to retrieve user profile information from the database.
[0862] Step 6:
[0863] The server adds new events to the schedule database based on the analysis results, such as a "meeting tomorrow at 3 PM," taking emotions into account.
[0864] Input: Keywords and time information, emotion information, user profile
[0865] Output: Updated schedule database
[0866] What happens next: The server executes a SQL statement that inserts a new appointment into the schedule database.
[0867] Step 7:
[0868] The server generates a notification message for the user based on the schedule setting result and emotion information and sends it to the device. For example, a message such as "Your meeting has been scheduled for tomorrow at 3 PM. Thank you for your hard work!" can be generated.
[0869] Input: New appointment information, emotional information
[0870] Output: Notification message "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[0871] Specific operation: The server uses the template engine to generate a notification message.
[0872] Step 8:
[0873] The device receives the notification message sent by the server and displays it to the user. For example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!" is displayed.
[0874] Input: Notification message sent
[0875] Output: Notification message displayed to the user
[0876] What happens: The mobile app receives the notification and displays it on the user's smartphone screen as a push notification.
[0877] (Application example 2)
[0878] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0879] Conventional schedule management systems are limited to adding appointments and sending notifications based on simple requests, and do not support driving instructions that reflect user emotions, urgency, or personalized information. This makes it difficult to set plans that are in line with user preferences and emotions, particularly in autonomous vehicles, making it difficult to achieve efficient and comfortable driving.
[0880] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0881] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for recognizing emotions from the user's input and adjusting responses based on the emotions, and means for connecting to a system that provides information on vehicle operation and giving operation instructions. This enables personalized schedule management and operation instructions that take into account the user's emotions and urgency.
[0882] "Natural language" is a language used in everyday communication, and is a means by which people share information through writing and conversation.
[0883] A "request" refers to a request or instruction a user makes to a system.
[0884] "Analysis" is the process of breaking down input data or information and extracting meaning and important elements.
[0885] "Keywords" refer to words or phrases that are particularly important among the information extracted through analysis.
[0886] "Time information" is information about a specific date and time or period included in a request or data.
[0887] A "user profile" is a collection of information about a user, including past behavior and preferences.
[0888] A "schedule database" refers to a database where users' schedules and plans are stored.
[0889] "Notification" refers to the act or means by which a system conveys information to a user.
[0890] "Emotions" are psychological responses and feelings that are recognized from a user's input or state.
[0891] "Operation instructions" refers to giving specific instructions and guidance regarding vehicle operation.
[0892] "Means" refers to a method or device used to achieve a particular purpose.
[0893] 1. System Overview
[0894] This invention is comprised mainly of a terminal installed in the autonomous vehicle and a server system built on the cloud. The user inputs a request in natural language from inside the vehicle, which is analyzed to determine emotions and schedule information. The system also references the user profile to provide driving instructions.
[0895] 2. Hardware and Software Configuration
[0896] Device:
[0897] Microphone and infotainment system: This receives the user's voice input.
[0898] Display: Visually displays results and notifications.
[0899] Head-mounted display (optional): The driver and passengers can view detailed information.
[0900] server:
[0901] Cloud Server: Provides scalable computing resources.
[0902] NLP Engine (Natural Language Processing Engine): Parses requests using the Google Cloud Natural Language API.
[0903] Emotion engine: Determines emotions using IBM Watson's Emotion Analysis.
[0904] Database system: AWS RDS manages user profiles and schedules.
[0905] 3. Data Processing
[0906] When a user inputs a request in natural language through the infotainment system or head-mounted display, the process proceeds as follows:
[0907] 4. Processing Flow
[0908] 1. Accepting user input
[0909] The device receives voice input through a microphone and converts it into text.
[0910] 2. Natural Language Processing
[0911] The server uses the Google Cloud Natural Language API to parse this text and extract important keywords and time information. For example, if the request is "Set up to be at work at 3 PM," the keywords "3 PM," "work," and "set up" are extracted.
[0912] 3. Emotion recognition
[0913] Next, an emotion engine (IBM Watson Emotion Analysis) analyzes the request and recognizes the user's emotion. For example, if the request is accompanied by "hurry," it is recognized as requiring an urgent response.
[0914] 4. User profile reference
[0915] The server references user profiles stored in AWS RDS to obtain information about past behavior and preferences, enabling it to provide optimal suggestions and driving instructions to users.
[0916] 5. Add operation instructions and schedules
[0917] Based on the extracted keywords, time information, and emotion information, a new schedule is added to the schedule database and driving instructions are sent to the vehicle. For example, a notification such as "Driving to work scheduled for 3 PM" is generated and sent to the vehicle promptly.
[0918] 6. Display of notifications
[0919] Finally, the device (infotainment system or head-mounted display) displays the notification sent by the server to the user, for example, "Route to work scheduled for 3 PM. Urgent!"
[0920] 5. Specific Examples
[0921] For example, let's look at what happens when a user says, "I'm in a hurry, schedule an appointment to come to the office at 3 PM." The device converts the voice input into text, which the server analyzes. Based on the analysis results, the emotion engine recognizes the need for urgency and references the user profile from AWS RDS. After that, a new appointment is added to the schedule database, driving instructions are issued, and a notification is displayed on the device.
[0922] Prompt Sentence Examples
[0923] If the user types "I'm in a hurry, schedule an appointment to be at the office at 3 PM," the following is an example of a prompt:
[0924] "Instruction: Urgently schedule an appointment to come to the office at 3 PM. Calculate the optimal route by referencing past route data from the schedule database. Use the emotion engine to confirm urgent responses."
[0925] This system allows users to easily manage schedules and give driving instructions from inside the vehicle, realizing personalized services that are sensitive to emotions.
[0926] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0927] Step 1:
[0928] The user provides voice input in natural language.
[0929] The user speaks into the infotainment system's microphone, saying, "Hurry, schedule an appointment to be at work at 3 p.m."
[0930] Input format: Audio data
[0931] Output: Instructions as audio data
[0932] Step 2:
[0933] Convert voice input to text.
[0934] The terminal's voice recognition system converts the voice data into text data.
[0935] Specific operation: The voice recognition function analyzes the voice data and converts it into text such as "Hurry, schedule an appointment to be at the office at 3 p.m."
[0936] Input: Audio data
[0937] Output: Text data
[0938] Step 3:
[0939] Analyze text data using a natural language processing engine.
[0940] The server uses the Google Cloud Natural Language API to parse the text data and extract important keywords and time information.
[0941] How it works: The NLP engine breaks down text data and identifies key elements to extract keywords and time information such as "urgent," "3 p.m.", and "office."
[0942] Input: Text data
[0943] Output: Extracted keywords and time information
[0944] Step 4:
[0945] Recognize user emotions with an emotion engine.
[0946] The server uses IBM Watson Emotion Analysis to determine the sentiment of the text being analyzed.
[0947] Specific behavior: Based on the phrase "hurry", the emotion engine evaluates the text data and adds emotion information to recognize the user's emotion of hurry.
[0948] Input: Text data
[0949] Output: Emotional information
[0950] Step 5:
[0951] View your user profile.
[0952] The server references the user profile database stored in AWS RDS to retrieve past schedule and preference data.
[0953] Specific operation: Based on the user ID, past behavioral patterns and preference information are inquired and appropriate information is obtained.
[0954] Input: User ID
[0955] Output: User profile data
[0956] Step 6:
[0957] Add a new appointment to the schedule database.
[0958] The server registers the new schedule in the schedule database based on the extracted keywords, time information, and emotion information.
[0959] Specific behavior: Add an entry to the schedule database saying "Go to the office at 3 PM" and also save the information that an urgent action is required.
[0960] Input: Extracted keywords, time information, and emotion information
[0961] Output: Updated schedule database
[0962] Step 7:
[0963] Gives operational instructions.
[0964] The server calculates the optimal route based on past driving data and user preferences, and sends driving instructions to the self-driving vehicle.
[0965] Specific operation: In cooperation with the traffic management system, the system calculates a route based on the extracted information and sends the "optimal route to get to work at 3:00 PM" to the autonomous vehicle.
[0966] Input: Schedule data and user profile data
[0967] Output: Operation instruction data
[0968] Step 8:
[0969] The schedule setting results are notified to the user.
[0970] The device receives notifications from the server and provides the user with information visually or audibly.
[0971] Specific operation: The message "A trip to work has been scheduled for 3 PM. This is urgent!" will be displayed on the display or head-mounted display, or a notification will be sent via the voice assistant.
[0972] Input: Operation instruction data
[0973] Output: User notification
[0974] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0975] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0976] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0977] [Third embodiment]
[0978] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0979] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0980] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0981] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0982] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0983] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0984] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0985] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0986] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0987] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0988] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0989] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0990] overview
[0991] This invention is a personal assistant system that supports schedule management by receiving requests entered by users in natural language, analyzing them, and extracting important keywords and time information. Furthermore, it can refer to a user profile and provide personalized support based on the user's preferences and past behavior.
[0992] System configuration
[0993] This system mainly consists of the following two components:
[0994] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[0995] 2. Server: Contains a cloud-based AI engine that analyzes user input and provides schedule management and personalized suggestions.
[0996] 1. User Interface
[0997] The user inputs natural language data using the device, for example, a request such as "Schedule a meeting tomorrow at 3 PM." The device receives this data and sends it to the server as text data.
[0998] 2. Data analysis on the server
[0999] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[1000] 3. User profile reference
[1001] The server references a user profile database to retrieve the user's past schedule and preferences, and uses this information to determine whether the analysis results match the user's profile.
[1002] 4. Adding events and notifications
[1003] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3:00 PM" is added to the schedule database. The server then generates a text message to notify the user of the appointment setting results and sends it to the device.
[1004] 5. Display of User Notifications
[1005] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM." This notification allows the user to confirm that the new appointment was successfully scheduled.
[1006] Specific examples
[1007] Below is a concrete example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM."
[1008] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM."
[1009] The terminal sends this request to the server.
[1010] The server analyzes the request using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1011] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[1012] After confirmation, add the new appointment to the schedule database.
[1013] The server converts the result into a text message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[1014] The terminal displays this message to the user.
[1015] This system allows users to easily and efficiently manage their schedules, providing great convenience in their daily lives and work. It also provides functions to acquire data from external sources and generate responses based on that data, as well as functions to make personalized suggestions based on the user's preferences, further improving the user experience.
[1016] The processing flow will be explained below.
[1017] Detailed program processing flow
[1018] Step 1:
[1019] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM," which sends the user's request to the system.
[1020] Step 2:
[1021] The device receives the user's input as text data and sends the text data to the server.
[1022] Step 3:
[1023] The server receives the text data sent from the device and prepares it for analysis by a natural language processing (NLP) engine.
[1024] Step 4:
[1025] The server uses an NLP engine to analyze the received text data, specifically extracting important keywords such as "tomorrow," "10:00 AM," "meeting," and "add event" as well as time information.
[1026] Step 5:
[1027] The server references a user profile database to retrieve the user's past schedule and preferences, for example, to check information about the user's past schedules and preferences.
[1028] Step 6:
[1029] The server checks the extracted keywords and time information against the user profile to see if there are any conflicts with existing events, and if so, generates an appropriate error message.
[1030] Step 7:
[1031] After the server confirms, it adds the new appointment to the schedule database. The appointment will have the content "Meeting tomorrow at 10:00 AM."
[1032] Step 8:
[1033] The server generates a notification message for the user based on the results of the schedule setting. Specifically, it creates a text message saying, "A meeting has been scheduled for tomorrow at 10:00 AM."
[1034] Step 9:
[1035] The server generates a notification message and sends it to the terminal, which notifies the user of the result.
[1036] Step 10:
[1037] The device receives the text message sent from the server and displays the received message to the user. For example, a notification saying "A meeting has been scheduled for tomorrow at 10 AM" is displayed.
[1038] Example 1
[1039] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1040] Conventional schedule management systems are often not designed to be intuitive for users, making it particularly difficult to input information in natural language. They also lack the functionality to make personalized suggestions that take into account users' past behavior and preferences. This makes it difficult for users to efficiently manage their schedules.
[1041] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1042] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for analyzing text data received from the terminal using a natural language processing engine, means for adding schedule information to the database based on the analyzed information and generating a notification message, means for the server to send a message to the user based on the schedule information, and means for the terminal to receive the notified message and display it to the user. This enables users to intuitively input requests in natural language and receive personalized support, thereby efficiently managing their schedules.
[1043] "User" means an individual or entity that uses the System to enter requests in natural language.
[1044] "Request" refers to a request or instruction entered in natural language by a user and received by a system.
[1045] A "terminal" is a device operated by a user (such as a smartphone, tablet, or PC) and is hardware that communicates with the system.
[1046] A "server" is a central computer system that analyzes and processes requests sent by users.
[1047] A "natural language processing engine" is a software module that analyzes incoming natural language requests and extracts important keywords and time information.
[1048] "Key words" are specific words or phrases that express intent extracted from a request.
[1049] "Time information" is information that specifically indicates the date and time included in the request.
[1050] A "user profile" is a data set that records a user's past behavior, preferences, and schedule information.
[1051] The "schedule database" is a database system that stores schedules that are added based on the analysis results.
[1052] "Notification message" is a text message that notifies the user of the results of analysis or schedule setting.
[1053] A "database" is a data storage system where user profile and schedule information is stored.
[1054] "Message sending means" refers to a function for sending a notification message generated by the server to the terminal.
[1055] The "display means" is a function that visually displays messages received by the terminal to the user.
[1056] MODE FOR CARRYING OUT THE INVENTION
[1057] This invention is a personal assistant system that analyzes requests entered by users in natural language and supports schedule management. The system mainly consists of a terminal that provides a user interface and a server that analyzes the requests and updates the schedule.
[1058] User Interface and Device Operation
[1059] The user inputs a request in natural language using a smartphone, tablet, or PC. For example, a request such as "Schedule a meeting tomorrow at 3 PM" is input. The device receives this input and sends it to the server as text data. An HTTP POST request is used for transmission.
[1060] Request analysis and data processing on the server
[1061] The server analyzes the incoming request using a natural language processing (NLP) engine implemented in Python, which uses libraries such as spaCy and NLTK to extract important keywords and time information from the request, such as "tomorrow," "3 PM," and "meeting."
[1062] The server then consults a user profile database, such as MongoDB, to retrieve the user's past schedule and preferences, and uses this information to check whether the new appointment overlaps with any existing appointments.
[1063] Once confirmation is complete, the server adds the new appointment to a schedule database such as MySQL. For example, the schedule information is added to the database by executing the query "INSERT INTO schedules ...". The server also generates a notification message for the user and sends it to the terminal as an HTTP response. The content of the message might be something like "A meeting has been scheduled for tomorrow at 3:00 PM."
[1064] Notifications and Displays
[1065] The device receives the "HTTP response" returned from the server and extracts the text message from the response body. This notification message is then displayed to the user. This can be displayed using a "pop-up" or "notification bar", allowing the user to confirm that the new appointment has been set correctly.
[1066] Specific operation example
[1067] For example, if a user types "Add a meeting for tomorrow at 10 AM," the following happens:
[1068] 1. A user types into their device, "Add a meeting for tomorrow at 10 AM."
[1069] 2. The device receives this input and sends the text data to the server.
[1070] 3. The server analyzes the received data and extracts keywords such as "tomorrow," "10:00 AM," and "meeting."
[1071] 4. The server looks up the user profile in MongoDB and checks for duplicates.
[1072] 5. After confirmation, the server adds the new appointment to the MySQL schedule database.
[1073] 6. The server generates a message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[1074] 7. The device will receive this message and display it to the user in a "pop-up notification".
[1075] Prompt Sentence Examples
[1076] 1. "Schedule a meeting tomorrow at 3 PM."
[1077] 2. "Add a presentation for next Tuesday at 10am."
[1078] The system allows users to intuitively manage their schedules in natural language and receive personalized support.
[1079] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1080] Step 1:
[1081] The user inputs a request in natural language into the device. The user uses a smartphone, tablet, or PC to input a request in natural language, such as "Schedule a meeting tomorrow at 3 PM." The device receives this input as text data. Input: User's natural language input, Output: Text data.
[1082] Step 2:
[1083] The terminal sends the received text data to the server. The terminal sends the text data to the server as an HTTP POST request. At this time, the text data is included in the request body. Input: Text data, Output: HTTP POST request.
[1084] Step 3:
[1085] The server processes the HTTP POST request received from the terminal. The server receives the request and extracts text data from the request body. This text data is passed to the natural language processing engine. Input: HTTP POST request, Output: text data.
[1086] Step 4:
[1087] The server analyzes the text data using a natural language processing engine. The server uses a natural language processing engine implemented in Python (such as spaCy or NLTK) to extract important keywords and time information from the text data, such as "tomorrow," "3 p.m.", and "meeting." Input: text data, output: important keywords and time information.
[1088] Step 5:
[1089] The server references the user profile database. The server retrieves the user's profile information from a database such as MongoDB, and checks whether the analysis results overlap with existing schedules based on the retrieved information. Input: Important keywords and time information, user profile. Output: Duplicate check results.
[1090] Step 6:
[1091] The server adds a new schedule to the schedule database. If no duplicates are found, the server runs a query to add a new schedule to the schedule database, such as "MySQL." For example, it runs the query "INSERT INTO schedules ..." to add the schedule information. Input: Duplicate check result, important keywords and time information. Output: Addition of a new schedule.
[1092] Step 7:
[1093] The server generates a notification message containing the results of the schedule setting and sends it to the terminal. The server generates a text message to notify the user based on the information that the new schedule has been added. The generated message is sent to the terminal as an HTTP response. Input: Result of adding a new schedule, Output: HTTP response (notification message).
[1094] Step 8:
[1095] The terminal receives the HTTP response sent from the server and displays the notification message. The terminal extracts the text message from the received HTTP response and displays it visually to the user. For example, it uses a "pop-up notification" or "notification bar" to display a message such as "A meeting has been scheduled for tomorrow at 3 PM." Input: HTTP response (notification message), Output: Display of notification message to the user.
[1096] (Application example 1)
[1097] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1098] Conventional personal assistant systems primarily support schedule management and are unable to enhance users' daily activities, especially their shopping experience. The objective of this invention is to provide a system that allows users to search for and purchase products in a virtual store using natural language requests and effectively manage the results. The invention also aims to enhance the shopping experience by providing personalized product suggestions based on the user's purchase history and preferences.
[1099] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1100] In this invention, the server includes means for receiving requests input by a user in natural language, means for analyzing the received natural language requests and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the results of the schedule setting, means for supporting product searches and purchases within the virtual store, means for making personalized product suggestions based on the purchase history and preferences, and means for providing product arrival notifications and reservation reminders. This enables users to easily and efficiently shop in the virtual store simply by inputting requests in natural language.
[1101] "User" means an individual or purchaser who enters a request in natural language.
[1102] "Natural language" refers to the language used in everyday life and used by users to input requests to a system.
[1103] A "request" is a request or demand that a user inputs into the system.
[1104] "Keywords" are important words or phrases extracted from a natural language request.
[1105] "Time information" is data related to date and time included in a natural language request.
[1106] A "user profile" is a database containing data about an individual user's preferences and past behavior.
[1107] "Preferences" are information about the preferences and interests of a particular user.
[1108] A "schedule database" is a database for storing user schedule information.
[1109] "Notification" means information or a message sent to a user.
[1110] A "virtual store" is a virtual store operated on the Internet where users can purchase products online.
[1111] "Product search" refers to the act of searching for a specific product or service.
[1112] "Purchase history" refers to a record of products and services previously purchased by a user.
[1113] "Personalized product suggestions" are products and services that are individually suggested based on a user's preferences and purchasing history.
[1114] A "reservation reminder" is a notification that notifies the user in advance of the reservation they have made.
[1115] "Product Arrival Notification" is a notification that informs the user that the product they purchased has arrived.
[1116] The following describes an embodiment of the present invention. The system receives and analyzes user requests entered in natural language, and supports schedule management and shopping experiences in virtual stores. The system mainly consists of the following components:
[1117] 1. User Interface
[1118] The user interface is implemented on devices such as smartphones, smart glasses, and head-mounted displays. It has the function of receiving requests entered by the user in natural language and sending the requests as text data to the server. For example, a user might enter, "I'd like to reserve a new pair of sneakers for next Saturday."
[1119] 2. Natural Language Processing (NLP) Engine
[1120] The server uses natural language processing engines such as Google Cloud Natural Language API or Microsoft Azure Text Analytics to parse the incoming request and extract important keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information.
[1121] 3. User Profile Management
[1122] The server consults a user profile database (e.g., MongoDB or PostgreSQL) to retrieve the user's preferences, past purchases, and schedule, and uses this information to personalize the request.
[1123] 4. Schedule management function
[1124] The server adds a new appointment to the schedule database based on the analysis results, and also generates a text message of the appointment and sends it to the user interface, such as "You've scheduled an appointment for your new sneakers next Saturday."
[1125] 5. Virtual store function
[1126] The server supports product search and purchase in the virtual store, provides personalized product suggestions based on the user's preferences and purchase history, and also provides product arrival notifications and reservation reminders.
[1127] Hardware and software used
[1128] Hardware: Smartphones, smart glasses, head-mounted displays, cloud servers
[1129] Software: Front-end frameworks (React Native, Flutter), natural language processing engines (Google Cloud Natural Language API, Microsoft Azure Text Analytics), database systems (MongoDB, PostgreSQL), back-end frameworks (Django, Flask)
[1130] Specific examples
[1131] If a user types on their smartphone, "I'd like to reserve some new sneakers for next Saturday," the system processes the following:
[1132] 1. The user interface receives this request and sends it to the server.
[1133] 2. A natural language processing engine extracts keywords such as "next Saturday," "new sneakers," and "reservation."
[1134] 3. The user profile database checks the user's past purchase history and schedule to see if a reservation is available.
[1135] 4. A new reservation is added to the schedule database and a message is generated saying, "Your reservation for your new sneakers has been set for next Saturday."
[1136] 5. The user interface displays this message to the user.
[1137] Prompt Sentence Examples
[1138] "I'd like to reserve some new sneakers for next Saturday."
[1139] This process allows users to enjoy a convenient and efficient shopping experience in a virtual store.
[1140] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1141] Step 1:
[1142] The user enters a request
[1143] A user uses a smartphone or smart glasses to input a request in natural language, for example, "I'd like to reserve some new sneakers for next Saturday."
[1144] Input: User's natural language request
[1145] Output: Text data of natural language requests
[1146] Step 2:
[1147] The device sends a request to the server
[1148] The device receives a natural language request and sends it to the server as text data, usually via an HTTP request.
[1149] Input: Text data of natural language requests
[1150] Output: Text data sent to the server
[1151] Step 3:
[1152] The server performs natural language processing (NLP)
[1153] The server uses Google Cloud Natural Language API and Microsoft Azure Text Analytics to analyze the received text data, extracting important keywords and time information.
[1154] Input: Text data sent to the server
[1155] Data processing: Extraction of keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information using a natural language processing engine
[1156] Output: Extracted keywords and time information data
[1157] Step 4:
[1158] The server looks up the user profile
[1159] The server accesses a user profile database to obtain the user's purchase history, preferences, and schedule information.
[1160] Input: Extracted keywords and time information data
[1161] Data Reference: User profile database query
[1162] Output: Profile information of the user
[1163] Step 5:
[1164] The server manages the schedule
[1165] The server adds new reservation information to the schedule database based on the retrieved profile information. For example, "reservation of new sneakers next Saturday" is added to the schedule.
[1166] Input: Extracted keywords and time information data, user profile information
[1167] Data calculation: Adding new reservation information to the schedule database
[1168] Output: Booking information added to the schedule database
[1169] Step 6:
[1170] The server notifies the results of the schedule setting
[1171] The server generates a text message with the results of the appointment and sends it to the device, such as "Your appointment for your new sneakers has been scheduled for next Saturday."
[1172] Input: Booking information added to the schedule database
[1173] Data Generation: Text message generation
[1174] Output: The generated text message
[1175] Step 7:
[1176] The device displays a notification to the user
[1177] The device receives the text message sent by the server and displays it to the user, confirming that the reservation was successfully made.
[1178] Input: Text message sent from the server
[1179] Output: Notification displayed in the user interface
[1180] This series of processes allows the user to easily and efficiently shop at the virtual store, and also allows the user to check the set schedule information at any time.
[1181] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1182] overview
[1183] This invention relates to a personal assistant system that receives requests entered by a user in natural language, analyzes them, and extracts important keywords and time information to support schedule management. Furthermore, this invention references a user profile to provide personalized support based on the user's preferences and past behavior. It also includes an emotion engine that recognizes emotions from the user's input and adjusts responses based on the recognized emotions, providing a more emotionally sensitive service.
[1184] System configuration
[1185] This system mainly consists of the following three components:
[1186] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[1187] 2. Server: Contains a cloud-based AI engine that analyzes user input, manages schedules, and provides personalized suggestions.
[1188] 3. Emotion Engine: Recognizes emotions from user input and tailors responses and suggestions based on those emotions.
[1189] 1. User Interface
[1190] The user inputs a request in natural language using the device. For example, a request such as "Schedule a meeting tomorrow at 3:00 PM" is input. The device receives this request and sends it to the server as text data.
[1191] 2. Data analysis on the server
[1192] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[1193] 3. Use of Emotion Engine
[1194] The server uses an emotion engine in conjunction with the NLP engine to recognize emotions from user input, for example, if the input contains words like "hurry up," it will recognize that the user is requesting a sense of urgency.
[1195] 4. User profile reference
[1196] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, it checks whether the analysis results match the user's profile, taking into account emotions.
[1197] 5. Adding events and notifications
[1198] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3 PM" is added to the schedule database. At that time, emotions recognized by the emotion engine are also reflected. For example, if the user is in a hurry, the process will be carried out quickly.
[1199] After the addition, the server generates a notification message for the user based on the result and sentiment of the appointment, for example, creating a text message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!"
[1200] 6. Display of User Notices
[1201] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[1202] Specific examples
[1203] Below is an example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!"
[1204] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!"
[1205] The terminal sends this request to the server.
[1206] The server analyzes the data using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1207] The server uses an emotion engine to recognize the emotion "hurry" from the input.
[1208] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[1209] After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to the schedule database.
[1210] The server converts the result into a text message saying, "We've scheduled a meeting for tomorrow at 10 AM. We rushed to get it done!" and sends it to the device.
[1211] The terminal displays this message to the user.
[1212] This system allows users to easily manage their schedules without any hassle and provides personalized support that takes their emotions into consideration. It also includes functions to obtain data from external sources and generate responses based on that data, as well as functions to generate suggestions and notification content according to the user's emotions, further improving the user experience.
[1213] The processing flow will be explained below.
[1214] Detailed program processing flow
[1215] Step 1:
[1216] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!" This sends the user's request to the system.
[1217] Step 2:
[1218] The device receives user input as text data and sends it to the server, which converts the text data into a structured format and calls the appropriate API to transmit the data.
[1219] Step 3:
[1220] The server receives the text data sent from the device, and adds it to a queue for text analysis, ready to be analyzed by a natural language processing (NLP) engine.
[1221] Step 4:
[1222] The server uses an NLP engine to analyze the received text data, extracting important keywords and time information such as "tomorrow," "10:00 AM," "meeting," "add an event," and "hurry up."
[1223] Step 5:
[1224] The server uses an emotion engine to recognize emotions from the text data. For example, if the text contains the phrase "hurry up," it is recognized that the user is in a hurry or has a strong desire.
[1225] Step 6:
[1226] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, the server takes the user's past behavior and preferences into account when scheduling a new appointment.
[1227] Step 7:
[1228] The server checks the extracted keywords and time information against the user profile to see if there are any overlaps with existing events. If there are any overlaps, it generates an appropriate error message, otherwise it moves on to the next step.
[1229] Step 8:
[1230] The server adds a new appointment to the schedule database. Specifically, a new appointment is registered: "Meeting tomorrow at 10 AM." The user's emotions are also saved based on the results of the emotion engine.
[1231] Step 9:
[1232] The server generates a notification message for the user based on the schedule setting result and the recognition result of the emotion engine. For example, a text message such as "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to respond!" is created.
[1233] Step 10:
[1234] The server generates a notification message and sends it to the terminal, thereby notifying the user of the results of the schedule setting.
[1235] Step 11:
[1236] The device receives the text message sent by the server and displays it to the user. For example, a notification like "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" appears on the device screen.
[1237] Specific examples
[1238] If a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!", the following process will occur based on the steps above:
[1239] The user inputs a request into the terminal and sends it.
[1240] The terminal transmits the request as text data to the server.
[1241] The server receives the text data and analyzes it using an NLP engine.
[1242] The server uses an emotion engine to recognize the emotion that the user is in a hurry.
[1243] The server references the user profile to check past schedules and preferences.
[1244] The server adds the new appointment to the schedule database.
[1245] The server generates a notification message reflecting the result of the schedule setting and the emotion, and transmits it to the terminal.
[1246] The device receives the notification message and displays it to the user.
[1247] In this way, the system can improve the user experience by quickly processing user requests and providing emotionally relevant and personalized notifications.
[1248] Example 2
[1249] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1250] Conventional schedule management systems had low accuracy in analyzing requests entered by users in natural language, making it difficult to accurately extract important keywords and time information. They also lacked the ability to provide personalized suggestions that took user emotions into account, and were unable to fully meet user needs. Furthermore, their ability to provide personalized support by referencing user profiles was also insufficient.
[1251] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1252] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for recognizing emotions from the user's input and adjusting responses and suggestions based on the emotions, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, and means for notifying the user of the results of schedule setting. This enables accurate and prompt schedule management based on the user's request input in natural language, and makes it possible to provide personalized support that is sensitive to emotions.
[1253] A "user" is a person who utilizes the inventive system to input requests in natural language and receive scheduling and personalized support.
[1254] A "terminal" is a device operated by a user, such as a smartphone, tablet, or PC, that has the ability to receive user input and send it to a server.
[1255] A "server" is a computer system that receives data sent by users and analyzes and processes it, and generally operates in a cloud environment.
[1256] A "natural language request" is a query or command entered by a user in everyday language, expressed in the language that humans use every day, rather than in any particular format.
[1257] "Key keywords" refer to key words and phrases extracted from natural language requests that are necessary for scheduling and response generation.
[1258] "Time information" is information about a specific date and time included in a request, and is essential data for setting a schedule.
[1259] "Emotion recognition" is a technology that reads emotions from requests entered by users and adjusts responses and suggestions based on those emotions.
[1260] A "user profile" is a database containing personal information such as a user's past behavior, preferences, and schedule, and is referenced to provide personalized support.
[1261] A "new appointment" refers to a new reservation or event that is added to the schedule database based on a user request.
[1262] The "schedule database" is a database for managing and storing users' schedules, and plays a central role in schedule management.
[1263] "Notification" means a message or alert communicated by the system to the user to inform them of a newly scheduled event or related information.
[1264] "External data acquisition" is the process of obtaining necessary data from the internet or other external sources at the user's request.
[1265] "Personalized Suggestions" refers to providing tailored support to meet user expectations by making individually optimized suggestions based on the user's profile data and current request.
[1266] MODE FOR CARRYING OUT THE INVENTION
[1267] This invention relates to a personal assistant system that supports schedule management by receiving requests entered by a user in natural language, analyzing them, and extracting important keywords and time information. The system also references a user profile to provide personalized support based on the user's preferences and past behavior. Furthermore, the system recognizes emotions from the user's input and adjusts responses based on those emotions, providing a service that is sensitive to the user's emotions.
[1268] System configuration
[1269] This system mainly consists of the following three components:
[1270] 1. Device:
[1271] A device (such as a smartphone, tablet, or PC) that is operated by a user and receives user input and displays results.
[1272] For example, a smartphone app receives a user's text input and sends it to a cloud server.
[1273] 2. Server:
[1274] It includes a cloud-based AI engine that analyzes user input to manage schedules and provide personalized suggestions, using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3.
[1275] Analyze user input to extract important keywords (e.g., "tomorrow," "3 p.m.," "meeting") and time information.
[1276] It also uses emotion recognition engines such as Hume AI and IBM Watson to recognize emotions.
[1277] 3. Emotion Engine:
[1278] Recognize emotions from user input and tailor responses and suggestions based on those emotions.
[1279] For example, it analyzes words such as "hurry" and recognizes that the user is in a hurry.
[1280] User Interface
[1281] The user uses the device to input a request in natural language, for example, "Schedule a meeting tomorrow at 3 PM." The device receives this input and sends it to the server as text data.
[1282] Data analysis on the server
[1283] The server receives the text data sent from the device, and analyzes it using tools such as Google Cloud NLP API and OpenAI's GPT-3 to extract important keywords and time information.
[1284] Use of emotion engine
[1285] The server uses emotion recognition engines such as Hume AI and IBM Watson in conjunction with an NLP engine to recognize emotions from user input. For example, if the input contains the expression "hurry," it will determine that the user is in a hurry.
[1286] Viewing a User Profile
[1287] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify whether the analysis results match the user's profile.
[1288] Adding events and notifications
[1289] The server adds a new appointment to the schedule database based on the analysis results. For example, "Meeting tomorrow at 3 PM" is added to the schedule database. The server also takes into account the emotions recognized by the emotion engine. If the user is in a hurry, the process will be quicker.
[1290] Viewing User Notifications
[1291] The server generates a notification message for the user based on the result of the appointment and the emotion, and sends it to the device. For example, a message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!" is generated. The device receives this message and displays it to the user.
[1292] Specific examples
[1293] Here's what happens when a user requests "Add a meeting for tomorrow at 10 AM. Hurry!":
[1294] 1. A user types into their terminal, "Add a meeting for tomorrow at 10 AM. Hurry!"
[1295] 2. The device sends this request to the server.
[1296] 3. The server analyzes the data using Google Cloud NLP API and OpenAI's GPT-3, and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1297] 4. The server analyzes emotions using Hume AI or IBM Watson and recognizes the emotion of "being in a hurry."
[1298] 5. The server looks up existing user profiles to see if there are any overlapping schedules.
[1299] 6. After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to your schedule database.
[1300] 7. The server generates a notification message saying, "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" and sends it to the device.
[1301] 8. The terminal displays this message to the user.
[1302] Prompt Sentence Examples
[1303] Below are some examples of input prompts for generative AI models:
[1304] User request: "Schedule a meeting tomorrow at 3pm"
[1305] Important keywords: ["tomorrow", "3pm", "meeting"]
[1306] Emotion recognition: "Normal"
[1307] User profile: {Past events: [], Preferences: []}
[1308] Generate a response based on the analysis results.
[1309] This system allows users to manage their schedules smoothly and hassle-free, and provides personalized support that takes their emotions into consideration.
[1310] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1311] Step 1:
[1312] The user inputs a request into the terminal in natural language. For example, they input the text "Schedule a meeting tomorrow at 3 PM." This input becomes the initial input data for the system.
[1313] Input: User text input "Schedule a meeting tomorrow at 3pm"
[1314] Output: User's text data
[1315] Specific action: The user enters text using the smartphone keyboard.
[1316] Step 2:
[1317] The terminal sends the received text data to the server. This is the process of transferring data from the terminal to the server.
[1318] Input: User's text data
[1319] Output: Text data sent to the server
[1320] Specific operation: The mobile app sends text data to the API endpoint of the cloud server as an HTTPS request.
[1321] Step 3:
[1322] The server analyzes the received text data using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3, extracting important keywords and time information.
[1323] Input: User text data "Schedule a meeting tomorrow at 3pm"
[1324] Output: Extracted keywords and time information (e.g. "tomorrow", "3pm", "meeting")
[1325] Specific operation: The server calls the NLP engine to analyze and extract keywords and time information from the text.
[1326] Step 4:
[1327] The server uses an emotion engine (e.g., Hume AI or IBM Watson) to recognize emotions from the user's input. For example, if the input contains the phrase "hurry," it recognizes that the user is in a hurry.
[1328] Input: User text data "Schedule a meeting tomorrow at 3pm"
[1329] Output: Recognized emotion information (e.g., "normal")
[1330] Specific operation: The server uses an emotion engine to analyze the text and determine emotions such as urgency.
[1331] Step 5:
[1332] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify that the action matches the user's profile.
[1333] Input: User's text data and profile ID
[1334] Output: User's past schedule and preference data
[1335] What happens: The server executes an SQL query to retrieve user profile information from the database.
[1336] Step 6:
[1337] The server adds new events to the schedule database based on the analysis results, such as a "meeting tomorrow at 3 PM," taking emotions into account.
[1338] Input: Keywords and time information, emotion information, user profile
[1339] Output: Updated schedule database
[1340] What happens next: The server executes a SQL statement that inserts a new appointment into the schedule database.
[1341] Step 7:
[1342] The server generates a notification message for the user based on the schedule setting result and emotion information and sends it to the device. For example, a message such as "Your meeting has been scheduled for tomorrow at 3 PM. Thank you for your hard work!" can be generated.
[1343] Input: New appointment information, emotional information
[1344] Output: Notification message "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[1345] Specific operation: The server uses the template engine to generate a notification message.
[1346] Step 8:
[1347] The device receives the notification message sent by the server and displays it to the user. For example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!" is displayed.
[1348] Input: Notification message sent
[1349] Output: Notification message displayed to the user
[1350] What happens: The mobile app receives the notification and displays it on the user's smartphone screen as a push notification.
[1351] (Application example 2)
[1352] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1353] Conventional schedule management systems are limited to adding appointments and sending notifications based on simple requests, and do not support driving instructions that reflect user emotions, urgency, or personalized information. This makes it difficult to set plans that are in line with user preferences and emotions, particularly in autonomous vehicles, making it difficult to achieve efficient and comfortable driving.
[1354] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1355] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for recognizing emotions from the user's input and adjusting responses based on the emotions, and means for connecting to a system that provides information on vehicle operation and giving operation instructions. This enables personalized schedule management and operation instructions that take into account the user's emotions and urgency.
[1356] "Natural language" is a language used in everyday communication, and is a means by which people share information through writing and conversation.
[1357] A "request" refers to a request or instruction a user makes to a system.
[1358] "Analysis" is the process of breaking down input data or information and extracting meaning and important elements.
[1359] "Keywords" refer to words or phrases that are particularly important among the information extracted through analysis.
[1360] "Time information" is information about a specific date and time or period included in a request or data.
[1361] A "user profile" is a collection of information about a user, including past behavior and preferences.
[1362] A "schedule database" refers to a database where users' schedules and plans are stored.
[1363] "Notification" refers to the act or means by which a system conveys information to a user.
[1364] "Emotions" are psychological responses and feelings that are recognized from a user's input or state.
[1365] "Operation instructions" refers to giving specific instructions and guidance regarding vehicle operation.
[1366] "Means" refers to a method or device used to achieve a particular purpose.
[1367] 1. System Overview
[1368] This invention is comprised mainly of a terminal installed in the autonomous vehicle and a server system built on the cloud. The user inputs a request in natural language from inside the vehicle, which is analyzed to determine emotions and schedule information. The system also references the user profile to provide driving instructions.
[1369] 2. Hardware and Software Configuration
[1370] Device:
[1371] Microphone and infotainment system: This receives the user's voice input.
[1372] Display: Visually displays results and notifications.
[1373] Head-mounted display (optional): The driver and passengers can view detailed information.
[1374] server:
[1375] Cloud Server: Provides scalable computing resources.
[1376] NLP Engine (Natural Language Processing Engine): Parses requests using the Google Cloud Natural Language API.
[1377] Emotion engine: Determines emotions using IBM Watson's Emotion Analysis.
[1378] Database system: AWS RDS manages user profiles and schedules.
[1379] 3. Data Processing
[1380] When a user inputs a request in natural language through the infotainment system or head-mounted display, the process proceeds as follows:
[1381] 4. Processing Flow
[1382] 1. Accepting user input
[1383] The device receives voice input through a microphone and converts it into text.
[1384] 2. Natural Language Processing
[1385] The server uses the Google Cloud Natural Language API to parse this text and extract important keywords and time information. For example, if the request is "Set up to be at work at 3 PM," the keywords "3 PM," "work," and "set up" are extracted.
[1386] 3. Emotion recognition
[1387] Next, an emotion engine (IBM Watson Emotion Analysis) analyzes the request and recognizes the user's emotion. For example, if the request is accompanied by "hurry," it is recognized as requiring an urgent response.
[1388] 4. User profile reference
[1389] The server references user profiles stored in AWS RDS to obtain information about past behavior and preferences, enabling it to provide optimal suggestions and driving instructions to users.
[1390] 5. Add operation instructions and schedules
[1391] Based on the extracted keywords, time information, and emotion information, a new schedule is added to the schedule database and driving instructions are sent to the vehicle. For example, a notification such as "Driving to work scheduled for 3 PM" is generated and sent to the vehicle promptly.
[1392] 6. Display of notifications
[1393] Finally, the device (infotainment system or head-mounted display) displays the notification sent by the server to the user, for example, "Route to work scheduled for 3 PM. Urgent!"
[1394] 5. Specific Examples
[1395] For example, let's look at what happens when a user says, "I'm in a hurry, schedule an appointment to come to the office at 3 PM." The device converts the voice input into text, which the server analyzes. Based on the analysis results, the emotion engine recognizes the need for urgency and references the user profile from AWS RDS. After that, a new appointment is added to the schedule database, driving instructions are issued, and a notification is displayed on the device.
[1396] Prompt Sentence Examples
[1397] If the user types "I'm in a hurry, schedule an appointment to be at the office at 3 PM," the following is an example of a prompt:
[1398] "Instruction: Urgently schedule an appointment to come to the office at 3 PM. Calculate the optimal route by referencing past route data from the schedule database. Use the emotion engine to confirm urgent responses."
[1399] This system allows users to easily manage schedules and give driving instructions from inside the vehicle, realizing personalized services that are sensitive to emotions.
[1400] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1401] Step 1:
[1402] The user provides voice input in natural language.
[1403] The user speaks into the infotainment system's microphone, saying, "Hurry, schedule an appointment to be at work at 3 p.m."
[1404] Input format: Audio data
[1405] Output: Instructions as audio data
[1406] Step 2:
[1407] Convert voice input to text.
[1408] The terminal's voice recognition system converts the voice data into text data.
[1409] Specific operation: The voice recognition function analyzes the voice data and converts it into text such as "Hurry, schedule an appointment to be at the office at 3 p.m."
[1410] Input: Audio data
[1411] Output: Text data
[1412] Step 3:
[1413] Analyze text data using a natural language processing engine.
[1414] The server uses the Google Cloud Natural Language API to parse the text data and extract important keywords and time information.
[1415] How it works: The NLP engine breaks down text data and identifies key elements to extract keywords and time information such as "urgent," "3 p.m.", and "office."
[1416] Input: Text data
[1417] Output: Extracted keywords and time information
[1418] Step 4:
[1419] Recognize user emotions with an emotion engine.
[1420] The server uses IBM Watson Emotion Analysis to determine the sentiment of the text being analyzed.
[1421] Specific behavior: Based on the phrase "hurry", the emotion engine evaluates the text data and adds emotion information to recognize the user's emotion of hurry.
[1422] Input: Text data
[1423] Output: Emotional information
[1424] Step 5:
[1425] View your user profile.
[1426] The server references the user profile database stored in AWS RDS to retrieve past schedule and preference data.
[1427] Specific operation: Based on the user ID, past behavioral patterns and preference information are inquired and appropriate information is obtained.
[1428] Input: User ID
[1429] Output: User profile data
[1430] Step 6:
[1431] Add a new appointment to the schedule database.
[1432] The server registers the new schedule in the schedule database based on the extracted keywords, time information, and emotion information.
[1433] Specific behavior: Add an entry to the schedule database saying "Go to the office at 3 PM" and also save the information that an urgent action is required.
[1434] Input: Extracted keywords, time information, and emotion information
[1435] Output: Updated schedule database
[1436] Step 7:
[1437] Gives operational instructions.
[1438] The server calculates the optimal route based on past driving data and user preferences, and sends driving instructions to the self-driving vehicle.
[1439] Specific operation: In cooperation with the traffic management system, the system calculates a route based on the extracted information and sends the "optimal route to get to work at 3:00 PM" to the autonomous vehicle.
[1440] Input: Schedule data and user profile data
[1441] Output: Operation instruction data
[1442] Step 8:
[1443] The schedule setting results are notified to the user.
[1444] The device receives notifications from the server and provides the user with information visually or audibly.
[1445] Specific operation: The message "A trip to work has been scheduled for 3 PM. This is urgent!" will be displayed on the display or head-mounted display, or a notification will be sent via the voice assistant.
[1446] Input: Operation instruction data
[1447] Output: User notification
[1448] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1449] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1450] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1451] [Fourth embodiment]
[1452] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1453] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1454] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1455] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1456] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1457] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1458] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1459] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1460] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1461] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1462] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1463] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1464] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1465] overview
[1466] This invention is a personal assistant system that supports schedule management by receiving requests entered by users in natural language, analyzing them, and extracting important keywords and time information. Furthermore, it can refer to a user profile and provide personalized support based on the user's preferences and past behavior.
[1467] System configuration
[1468] This system mainly consists of the following two components:
[1469] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[1470] 2. Server: Contains a cloud-based AI engine that analyzes user input and provides schedule management and personalized suggestions.
[1471] 1. User Interface
[1472] The user inputs natural language data using the device, for example, a request such as "Schedule a meeting tomorrow at 3 PM." The device receives this data and sends it to the server as text data.
[1473] 2. Data analysis on the server
[1474] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[1475] 3. User profile reference
[1476] The server references a user profile database to retrieve the user's past schedule and preferences, and uses this information to determine whether the analysis results match the user's profile.
[1477] 4. Adding events and notifications
[1478] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3:00 PM" is added to the schedule database. The server then generates a text message to notify the user of the appointment setting results and sends it to the device.
[1479] 5. Display of User Notifications
[1480] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM." This notification allows the user to confirm that the new appointment was successfully scheduled.
[1481] Specific examples
[1482] Below is a concrete example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM."
[1483] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM."
[1484] The terminal sends this request to the server.
[1485] The server analyzes the request using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1486] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[1487] After confirmation, add the new appointment to the schedule database.
[1488] The server converts the result into a text message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[1489] The terminal displays this message to the user.
[1490] This system allows users to easily and efficiently manage their schedules, providing great convenience in their daily lives and work. It also provides functions to acquire data from external sources and generate responses based on that data, as well as functions to make personalized suggestions based on the user's preferences, further improving the user experience.
[1491] The processing flow will be explained below.
[1492] Detailed program processing flow
[1493] Step 1:
[1494] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM," which sends the user's request to the system.
[1495] Step 2:
[1496] The device receives the user's input as text data and sends the text data to the server.
[1497] Step 3:
[1498] The server receives the text data sent from the device and prepares it for analysis by a natural language processing (NLP) engine.
[1499] Step 4:
[1500] The server uses an NLP engine to analyze the received text data, specifically extracting important keywords such as "tomorrow," "10:00 AM," "meeting," and "add event" as well as time information.
[1501] Step 5:
[1502] The server references a user profile database to retrieve the user's past schedule and preferences, for example, to check information about the user's past schedules and preferences.
[1503] Step 6:
[1504] The server checks the extracted keywords and time information against the user profile to see if there are any conflicts with existing events, and if so, generates an appropriate error message.
[1505] Step 7:
[1506] After the server confirms, it adds the new appointment to the schedule database. The appointment will have the content "Meeting tomorrow at 10:00 AM."
[1507] Step 8:
[1508] The server generates a notification message for the user based on the results of the schedule setting. Specifically, it creates a text message saying, "A meeting has been scheduled for tomorrow at 10:00 AM."
[1509] Step 9:
[1510] The server generates a notification message and sends it to the terminal, which notifies the user of the result.
[1511] Step 10:
[1512] The device receives the text message sent from the server and displays the received message to the user. For example, a notification saying "A meeting has been scheduled for tomorrow at 10 AM" is displayed.
[1513] Example 1
[1514] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1515] Conventional schedule management systems are often not designed to be intuitive for users, making it particularly difficult to input information in natural language. They also lack the functionality to make personalized suggestions that take into account users' past behavior and preferences. This makes it difficult for users to efficiently manage their schedules.
[1516] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1517] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for analyzing text data received from the terminal using a natural language processing engine, means for adding schedule information to the database based on the analyzed information and generating a notification message, means for the server to send a message to the user based on the schedule information, and means for the terminal to receive the notified message and display it to the user. This enables users to intuitively input requests in natural language and receive personalized support, thereby efficiently managing their schedules.
[1518] "User" means an individual or entity that uses the System to enter requests in natural language.
[1519] "Request" refers to a request or instruction entered in natural language by a user and received by a system.
[1520] A "terminal" is a device operated by a user (such as a smartphone, tablet, or PC) and is hardware that communicates with the system.
[1521] A "server" is a central computer system that analyzes and processes requests sent by users.
[1522] A "natural language processing engine" is a software module that analyzes incoming natural language requests and extracts important keywords and time information.
[1523] "Key words" are specific words or phrases that express intent extracted from a request.
[1524] "Time information" is information that specifically indicates the date and time included in the request.
[1525] A "user profile" is a data set that records a user's past behavior, preferences, and schedule information.
[1526] The "schedule database" is a database system that stores schedules that are added based on the analysis results.
[1527] "Notification message" is a text message that notifies the user of the results of analysis or schedule setting.
[1528] A "database" is a data storage system where user profile and schedule information is stored.
[1529] "Message sending means" refers to a function for sending a notification message generated by the server to the terminal.
[1530] The "display means" is a function that visually displays messages received by the terminal to the user.
[1531] MODE FOR CARRYING OUT THE INVENTION
[1532] This invention is a personal assistant system that analyzes requests entered by users in natural language and supports schedule management. The system mainly consists of a terminal that provides a user interface and a server that analyzes the requests and updates the schedule.
[1533] User Interface and Device Operation
[1534] The user inputs a request in natural language using a smartphone, tablet, or PC. For example, a request such as "Schedule a meeting tomorrow at 3 PM" is input. The device receives this input and sends it to the server as text data. An HTTP POST request is used for transmission.
[1535] Request analysis and data processing on the server
[1536] The server analyzes the incoming request using a natural language processing (NLP) engine implemented in Python, which uses libraries such as spaCy and NLTK to extract important keywords and time information from the request, such as "tomorrow," "3 PM," and "meeting."
[1537] The server then consults a user profile database, such as MongoDB, to retrieve the user's past schedule and preferences, and uses this information to check whether the new appointment overlaps with any existing appointments.
[1538] Once confirmation is complete, the server adds the new appointment to a schedule database such as MySQL. For example, the schedule information is added to the database by executing the query "INSERT INTO schedules ...". The server also generates a notification message for the user and sends it to the terminal as an HTTP response. The content of the message might be something like "A meeting has been scheduled for tomorrow at 3:00 PM."
[1539] Notifications and Displays
[1540] The device receives the "HTTP response" returned from the server and extracts the text message from the response body. This notification message is then displayed to the user. This can be displayed using a "pop-up" or "notification bar", allowing the user to confirm that the new appointment has been set correctly.
[1541] Specific operation example
[1542] For example, if a user types "Add a meeting for tomorrow at 10 AM," the following happens:
[1543] 1. A user types into their device, "Add a meeting for tomorrow at 10 AM."
[1544] 2. The device receives this input and sends the text data to the server.
[1545] 3. The server analyzes the received data and extracts keywords such as "tomorrow," "10:00 AM," and "meeting."
[1546] 4. The server looks up the user profile in MongoDB and checks for duplicates.
[1547] 5. After confirmation, the server adds the new appointment to the MySQL schedule database.
[1548] 6. The server generates a message saying "A meeting has been scheduled for tomorrow at 10:00 AM" and sends it to the device.
[1549] 7. The device will receive this message and display it to the user in a "pop-up notification".
[1550] Prompt Sentence Examples
[1551] 1. "Schedule a meeting tomorrow at 3 PM."
[1552] 2. "Add a presentation for next Tuesday at 10am."
[1553] The system allows users to intuitively manage their schedules in natural language and receive personalized support.
[1554] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1555] Step 1:
[1556] The user inputs a request in natural language into the device. The user uses a smartphone, tablet, or PC to input a request in natural language, such as "Schedule a meeting tomorrow at 3 PM." The device receives this input as text data. Input: User's natural language input, Output: Text data.
[1557] Step 2:
[1558] The terminal sends the received text data to the server. The terminal sends the text data to the server as an HTTP POST request. At this time, the text data is included in the request body. Input: Text data, Output: HTTP POST request.
[1559] Step 3:
[1560] The server processes the HTTP POST request received from the terminal. The server receives the request and extracts text data from the request body. This text data is passed to the natural language processing engine. Input: HTTP POST request, Output: text data.
[1561] Step 4:
[1562] The server analyzes the text data using a natural language processing engine. The server uses a natural language processing engine implemented in Python (such as spaCy or NLTK) to extract important keywords and time information from the text data, such as "tomorrow," "3 p.m.", and "meeting." Input: text data, output: important keywords and time information.
[1563] Step 5:
[1564] The server references the user profile database. The server retrieves the user's profile information from a database such as MongoDB, and checks whether the analysis results overlap with existing schedules based on the retrieved information. Input: Important keywords and time information, user profile. Output: Duplicate check results.
[1565] Step 6:
[1566] The server adds a new schedule to the schedule database. If no duplicates are found, the server runs a query to add a new schedule to the schedule database, such as "MySQL." For example, it runs the query "INSERT INTO schedules ..." to add the schedule information. Input: Duplicate check result, important keywords and time information. Output: Addition of a new schedule.
[1567] Step 7:
[1568] The server generates a notification message containing the results of the schedule setting and sends it to the terminal. The server generates a text message to notify the user based on the information that the new schedule has been added. The generated message is sent to the terminal as an HTTP response. Input: Result of adding a new schedule, Output: HTTP response (notification message).
[1569] Step 8:
[1570] The terminal receives the HTTP response sent from the server and displays the notification message. The terminal extracts the text message from the received HTTP response and displays it visually to the user. For example, it uses a "pop-up notification" or "notification bar" to display a message such as "A meeting has been scheduled for tomorrow at 3 PM." Input: HTTP response (notification message), Output: Display of notification message to the user.
[1571] (Application example 1)
[1572] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1573] Conventional personal assistant systems primarily support schedule management and are unable to enhance users' daily activities, especially their shopping experience. The objective of this invention is to provide a system that allows users to search for and purchase products in a virtual store using natural language requests and effectively manage the results. The invention also aims to enhance the shopping experience by providing personalized product suggestions based on the user's purchase history and preferences.
[1574] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1575] In this invention, the server includes means for receiving requests input by a user in natural language, means for analyzing the received natural language requests and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the results of the schedule setting, means for supporting product searches and purchases within the virtual store, means for making personalized product suggestions based on the purchase history and preferences, and means for providing product arrival notifications and reservation reminders. This enables users to easily and efficiently shop in the virtual store simply by inputting requests in natural language.
[1576] "User" means an individual or purchaser who enters a request in natural language.
[1577] "Natural language" refers to the language used in everyday life and used by users to input requests to a system.
[1578] A "request" is a request or demand that a user inputs into the system.
[1579] "Keywords" are important words or phrases extracted from a natural language request.
[1580] "Time information" is data related to date and time included in a natural language request.
[1581] A "user profile" is a database containing data about an individual user's preferences and past behavior.
[1582] "Preferences" are information about the preferences and interests of a particular user.
[1583] A "schedule database" is a database for storing user schedule information.
[1584] "Notification" means information or a message sent to a user.
[1585] A "virtual store" is a virtual store operated on the Internet where users can purchase products online.
[1586] "Product search" refers to the act of searching for a specific product or service.
[1587] "Purchase history" refers to a record of products and services previously purchased by a user.
[1588] "Personalized product suggestions" are products and services that are individually suggested based on a user's preferences and purchasing history.
[1589] A "reservation reminder" is a notification that notifies the user in advance of the reservation they have made.
[1590] "Product Arrival Notification" is a notification that informs the user that the product they purchased has arrived.
[1591] The following describes an embodiment of the present invention. The system receives and analyzes user requests entered in natural language, and supports schedule management and shopping experiences in virtual stores. The system mainly consists of the following components:
[1592] 1. User Interface
[1593] The user interface is implemented on devices such as smartphones, smart glasses, and head-mounted displays. It has the function of receiving requests entered by the user in natural language and sending the requests as text data to the server. For example, a user might enter, "I'd like to reserve a new pair of sneakers for next Saturday."
[1594] 2. Natural Language Processing (NLP) Engine
[1595] The server uses natural language processing engines such as Google Cloud Natural Language API or Microsoft Azure Text Analytics to parse the incoming request and extract important keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information.
[1596] 3. User Profile Management
[1597] The server consults a user profile database (e.g., MongoDB or PostgreSQL) to retrieve the user's preferences, past purchases, and schedule, and uses this information to personalize the request.
[1598] 4. Schedule management function
[1599] The server adds a new appointment to the schedule database based on the analysis results, and also generates a text message of the appointment and sends it to the user interface, such as "You've scheduled an appointment for your new sneakers next Saturday."
[1600] 5. Virtual store function
[1601] The server supports product search and purchase in the virtual store, provides personalized product suggestions based on the user's preferences and purchase history, and also provides product arrival notifications and reservation reminders.
[1602] Hardware and software used
[1603] Hardware: Smartphones, smart glasses, head-mounted displays, cloud servers
[1604] Software: Front-end frameworks (React Native, Flutter), natural language processing engines (Google Cloud Natural Language API, Microsoft Azure Text Analytics), database systems (MongoDB, PostgreSQL), back-end frameworks (Django, Flask)
[1605] Specific examples
[1606] If a user types on their smartphone, "I'd like to reserve some new sneakers for next Saturday," the system processes the following:
[1607] 1. The user interface receives this request and sends it to the server.
[1608] 2. A natural language processing engine extracts keywords such as "next Saturday," "new sneakers," and "reservation."
[1609] 3. The user profile database checks the user's past purchase history and schedule to see if a reservation is available.
[1610] 4. A new reservation is added to the schedule database and a message is generated saying, "Your reservation for your new sneakers has been set for next Saturday."
[1611] 5. The user interface displays this message to the user.
[1612] Prompt Sentence Examples
[1613] "I'd like to reserve some new sneakers for next Saturday."
[1614] This process allows users to enjoy a convenient and efficient shopping experience in a virtual store.
[1615] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1616] Step 1:
[1617] The user enters a request
[1618] A user uses a smartphone or smart glasses to input a request in natural language, for example, "I'd like to reserve some new sneakers for next Saturday."
[1619] Input: User's natural language request
[1620] Output: Text data of natural language requests
[1621] Step 2:
[1622] The device sends a request to the server
[1623] The device receives a natural language request and sends it to the server as text data, usually via an HTTP request.
[1624] Input: Text data of natural language requests
[1625] Output: Text data sent to the server
[1626] Step 3:
[1627] The server performs natural language processing (NLP)
[1628] The server uses Google Cloud Natural Language API and Microsoft Azure Text Analytics to analyze the received text data, extracting important keywords and time information.
[1629] Input: Text data sent to the server
[1630] Data processing: Extraction of keywords (e.g., "next Saturday," "new sneakers," "reservation") and time information using a natural language processing engine
[1631] Output: Extracted keywords and time information data
[1632] Step 4:
[1633] The server looks up the user profile
[1634] The server accesses a user profile database to obtain the user's purchase history, preferences, and schedule information.
[1635] Input: Extracted keywords and time information data
[1636] Data Reference: User profile database query
[1637] Output: Profile information of the user
[1638] Step 5:
[1639] The server manages the schedule
[1640] The server adds new reservation information to the schedule database based on the retrieved profile information. For example, "reservation of new sneakers next Saturday" is added to the schedule.
[1641] Input: Extracted keywords and time information data, user profile information
[1642] Data calculation: Adding new reservation information to the schedule database
[1643] Output: Booking information added to the schedule database
[1644] Step 6:
[1645] The server notifies the results of the schedule setting
[1646] The server generates a text message with the results of the appointment and sends it to the device, such as "Your appointment for your new sneakers has been scheduled for next Saturday."
[1647] Input: Booking information added to the schedule database
[1648] Data Generation: Text message generation
[1649] Output: The generated text message
[1650] Step 7:
[1651] The device displays a notification to the user
[1652] The device receives the text message sent by the server and displays it to the user, confirming that the reservation was successfully made.
[1653] Input: Text message sent from the server
[1654] Output: Notification displayed in the user interface
[1655] This series of processes allows the user to easily and efficiently shop at the virtual store, and also allows the user to check the set schedule information at any time.
[1656] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1657] overview
[1658] This invention relates to a personal assistant system that receives requests entered by a user in natural language, analyzes them, and extracts important keywords and time information to support schedule management. Furthermore, this invention references a user profile to provide personalized support based on the user's preferences and past behavior. It also includes an emotion engine that recognizes emotions from the user's input and adjusts responses based on the recognized emotions, providing a more emotionally sensitive service.
[1659] System configuration
[1660] This system mainly consists of the following three components:
[1661] 1. Terminal: A device (such as a smartphone, tablet, or PC) that the user operates, receives user input, and displays results.
[1662] 2. Server: Contains a cloud-based AI engine that analyzes user input, manages schedules, and provides personalized suggestions.
[1663] 3. Emotion Engine: Recognizes emotions from user input and tailors responses and suggestions based on those emotions.
[1664] 1. User Interface
[1665] The user inputs a request in natural language using the device. For example, a request such as "Schedule a meeting tomorrow at 3:00 PM" is input. The device receives this request and sends it to the server as text data.
[1666] 2. Data analysis on the server
[1667] The server receives the text data sent from the device, which is then analyzed by a natural language processing (NLP) engine to extract important keywords (such as "tomorrow," "3 p.m.", "meeting") and time information.
[1668] 3. Use of Emotion Engine
[1669] The server uses an emotion engine in conjunction with the NLP engine to recognize emotions from user input, for example, if the input contains words like "hurry up," it will recognize that the user is requesting a sense of urgency.
[1670] 4. User profile reference
[1671] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, it checks whether the analysis results match the user's profile, taking into account emotions.
[1672] 5. Adding events and notifications
[1673] Based on the analysis results, a new appointment is added to the schedule database. For example, based on the extracted keywords and time information, "Meeting tomorrow at 3 PM" is added to the schedule database. At that time, emotions recognized by the emotion engine are also reflected. For example, if the user is in a hurry, the process will be carried out quickly.
[1674] After the addition, the server generates a notification message for the user based on the result and sentiment of the appointment, for example, creating a text message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!"
[1675] 6. Display of User Notices
[1676] The device receives the text message sent by the server and displays it to the user, for example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[1677] Specific examples
[1678] Below is an example of what happens when a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!"
[1679] A user types into their terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!"
[1680] The terminal sends this request to the server.
[1681] The server analyzes the data using an NLP engine and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1682] The server uses an emotion engine to recognize the emotion "hurry" from the input.
[1683] The server checks the user profile to see if the appointment overlaps with an existing appointment.
[1684] After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to the schedule database.
[1685] The server converts the result into a text message saying, "We've scheduled a meeting for tomorrow at 10 AM. We rushed to get it done!" and sends it to the device.
[1686] The terminal displays this message to the user.
[1687] This system allows users to easily manage their schedules without any hassle and provides personalized support that takes their emotions into consideration. It also includes functions to obtain data from external sources and generate responses based on that data, as well as functions to generate suggestions and notification content according to the user's emotions, further improving the user experience.
[1688] The processing flow will be explained below.
[1689] Detailed program processing flow
[1690] Step 1:
[1691] A user types into a terminal, "Schedule a meeting for tomorrow at 10 AM. Hurry!" This sends the user's request to the system.
[1692] Step 2:
[1693] The device receives user input as text data and sends it to the server, which converts the text data into a structured format and calls the appropriate API to transmit the data.
[1694] Step 3:
[1695] The server receives the text data sent from the device, and adds it to a queue for text analysis, ready to be analyzed by a natural language processing (NLP) engine.
[1696] Step 4:
[1697] The server uses an NLP engine to analyze the received text data, extracting important keywords and time information such as "tomorrow," "10:00 AM," "meeting," "add an event," and "hurry up."
[1698] Step 5:
[1699] The server uses an emotion engine to recognize emotions from the text data. For example, if the text contains the phrase "hurry up," it is recognized that the user is in a hurry or has a strong desire.
[1700] Step 6:
[1701] The server references a user profile database to retrieve the user's past schedule and preferences, and based on this information, the server takes the user's past behavior and preferences into account when scheduling a new appointment.
[1702] Step 7:
[1703] The server checks the extracted keywords and time information against the user profile to see if there are any overlaps with existing events. If there are any overlaps, it generates an appropriate error message, otherwise it moves on to the next step.
[1704] Step 8:
[1705] The server adds a new appointment to the schedule database. Specifically, a new appointment is registered: "Meeting tomorrow at 10 AM." The user's emotions are also saved based on the results of the emotion engine.
[1706] Step 9:
[1707] The server generates a notification message for the user based on the schedule setting result and the recognition result of the emotion engine. For example, a text message such as "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to respond!" is created.
[1708] Step 10:
[1709] The server generates a notification message and sends it to the terminal, thereby notifying the user of the results of the schedule setting.
[1710] Step 11:
[1711] The device receives the text message sent by the server and displays it to the user. For example, a notification like "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" appears on the device screen.
[1712] Specific examples
[1713] If a user requests, "Add a meeting for tomorrow at 10 AM. Hurry!", the following process will occur based on the steps above:
[1714] The user inputs a request into the terminal and sends it.
[1715] The terminal transmits the request as text data to the server.
[1716] The server receives the text data and analyzes it using an NLP engine.
[1717] The server uses an emotion engine to recognize the emotion that the user is in a hurry.
[1718] The server references the user profile to check past schedules and preferences.
[1719] The server adds the new appointment to the schedule database.
[1720] The server generates a notification message reflecting the result of the schedule setting and the emotion, and transmits it to the terminal.
[1721] The device receives the notification message and displays it to the user.
[1722] In this way, the system can improve the user experience by quickly processing user requests and providing emotionally relevant and personalized notifications.
[1723] Example 2
[1724] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1725] Conventional schedule management systems had low accuracy in analyzing requests entered by users in natural language, making it difficult to accurately extract important keywords and time information. They also lacked the ability to provide personalized suggestions that took user emotions into account, and were unable to fully meet user needs. Furthermore, their ability to provide personalized support by referencing user profiles was also insufficient.
[1726] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1727] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for recognizing emotions from the user's input and adjusting responses and suggestions based on the emotions, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, and means for notifying the user of the results of schedule setting. This enables accurate and prompt schedule management based on the user's request input in natural language, and makes it possible to provide personalized support that is sensitive to emotions.
[1728] A "user" is a person who utilizes the inventive system to input requests in natural language and receive scheduling and personalized support.
[1729] A "terminal" is a device operated by a user, such as a smartphone, tablet, or PC, that has the ability to receive user input and send it to a server.
[1730] A "server" is a computer system that receives data sent by users and analyzes and processes it, and generally operates in a cloud environment.
[1731] A "natural language request" is a query or command entered by a user in everyday language, expressed in the language that humans use every day, rather than in any particular format.
[1732] "Key keywords" refer to key words and phrases extracted from natural language requests that are necessary for scheduling and response generation.
[1733] "Time information" is information about a specific date and time included in a request, and is essential data for setting a schedule.
[1734] "Emotion recognition" is a technology that reads emotions from requests entered by users and adjusts responses and suggestions based on those emotions.
[1735] A "user profile" is a database containing personal information such as a user's past behavior, preferences, and schedule, and is referenced to provide personalized support.
[1736] A "new appointment" refers to a new reservation or event that is added to the schedule database based on a user request.
[1737] The "schedule database" is a database for managing and storing users' schedules, and plays a central role in schedule management.
[1738] "Notification" means a message or alert communicated by the system to the user to inform them of a newly scheduled event or related information.
[1739] "External data acquisition" is the process of obtaining necessary data from the internet or other external sources at the user's request.
[1740] "Personalized Suggestions" refers to providing tailored support to meet user expectations by making individually optimized suggestions based on the user's profile data and current request.
[1741] MODE FOR CARRYING OUT THE INVENTION
[1742] This invention relates to a personal assistant system that supports schedule management by receiving requests entered by a user in natural language, analyzing them, and extracting important keywords and time information. The system also references a user profile to provide personalized support based on the user's preferences and past behavior. Furthermore, the system recognizes emotions from the user's input and adjusts responses based on those emotions, providing a service that is sensitive to the user's emotions.
[1743] System configuration
[1744] This system mainly consists of the following three components:
[1745] 1. Device:
[1746] A device (such as a smartphone, tablet, or PC) that is operated by a user and receives user input and displays results.
[1747] For example, a smartphone app receives a user's text input and sends it to a cloud server.
[1748] 2. Server:
[1749] It includes a cloud-based AI engine that analyzes user input to manage schedules and provide personalized suggestions, using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3.
[1750] Analyze user input to extract important keywords (e.g., "tomorrow," "3 p.m.," "meeting") and time information.
[1751] It also uses emotion recognition engines such as Hume AI and IBM Watson to recognize emotions.
[1752] 3. Emotion Engine:
[1753] Recognize emotions from user input and tailor responses and suggestions based on those emotions.
[1754] For example, it analyzes words such as "hurry" and recognizes that the user is in a hurry.
[1755] User Interface
[1756] The user uses the device to input a request in natural language, for example, "Schedule a meeting tomorrow at 3 PM." The device receives this input and sends it to the server as text data.
[1757] Data analysis on the server
[1758] The server receives the text data sent from the device, and analyzes it using tools such as Google Cloud NLP API and OpenAI's GPT-3 to extract important keywords and time information.
[1759] Use of emotion engine
[1760] The server uses emotion recognition engines such as Hume AI and IBM Watson in conjunction with an NLP engine to recognize emotions from user input. For example, if the input contains the expression "hurry," it will determine that the user is in a hurry.
[1761] Viewing a User Profile
[1762] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify whether the analysis results match the user's profile.
[1763] Adding events and notifications
[1764] The server adds a new appointment to the schedule database based on the analysis results. For example, "Meeting tomorrow at 3 PM" is added to the schedule database. The server also takes into account the emotions recognized by the emotion engine. If the user is in a hurry, the process will be quicker.
[1765] Viewing User Notifications
[1766] The server generates a notification message for the user based on the result of the appointment and the emotion, and sends it to the device. For example, a message like "Your meeting has been scheduled for tomorrow at 3 PM. Good job!" is generated. The device receives this message and displays it to the user.
[1767] Specific examples
[1768] Here's what happens when a user requests "Add a meeting for tomorrow at 10 AM. Hurry!":
[1769] 1. A user types into their terminal, "Add a meeting for tomorrow at 10 AM. Hurry!"
[1770] 2. The device sends this request to the server.
[1771] 3. The server analyzes the data using Google Cloud NLP API and OpenAI's GPT-3, and extracts important information such as "tomorrow," "10:00 AM," "meeting," and "add event."
[1772] 4. The server analyzes emotions using Hume AI or IBM Watson and recognizes the emotion of "being in a hurry."
[1773] 5. The server looks up existing user profiles to see if there are any overlapping schedules.
[1774] 6. After confirming, quickly add the "Meeting tomorrow at 10:00 AM" to your schedule database.
[1775] 7. The server generates a notification message saying, "We've scheduled a meeting for tomorrow at 10 AM. We've rushed to get it done!" and sends it to the device.
[1776] 8. The terminal displays this message to the user.
[1777] Prompt Sentence Examples
[1778] Below are some examples of input prompts for generative AI models:
[1779] User request: "Schedule a meeting tomorrow at 3pm"
[1780] Important keywords: ["tomorrow", "3pm", "meeting"]
[1781] Emotion recognition: "Normal"
[1782] User profile: {Past events: [], Preferences: []}
[1783] Generate a response based on the analysis results.
[1784] This system allows users to manage their schedules smoothly and hassle-free, and provides personalized support that takes their emotions into consideration.
[1785] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1786] Step 1:
[1787] The user inputs a request into the terminal in natural language. For example, they input the text "Schedule a meeting tomorrow at 3 PM." This input becomes the initial input data for the system.
[1788] Input: User text input "Schedule a meeting tomorrow at 3pm"
[1789] Output: User's text data
[1790] Specific action: The user enters text using the smartphone keyboard.
[1791] Step 2:
[1792] The terminal sends the received text data to the server. This is the process of transferring data from the terminal to the server.
[1793] Input: User's text data
[1794] Output: Text data sent to the server
[1795] Specific operation: The mobile app sends text data to the API endpoint of the cloud server as an HTTPS request.
[1796] Step 3:
[1797] The server analyzes the received text data using natural language processing engines such as Google Cloud NLP API and OpenAI's GPT-3, extracting important keywords and time information.
[1798] Input: User text data "Schedule a meeting tomorrow at 3pm"
[1799] Output: Extracted keywords and time information (e.g. "tomorrow", "3pm", "meeting")
[1800] Specific operation: The server calls the NLP engine to analyze and extract keywords and time information from the text.
[1801] Step 4:
[1802] The server uses an emotion engine (e.g., Hume AI or IBM Watson) to recognize emotions from the user's input. For example, if the input contains the phrase "hurry," it recognizes that the user is in a hurry.
[1803] Input: User text data "Schedule a meeting tomorrow at 3pm"
[1804] Output: Recognized emotion information (e.g., "normal")
[1805] Specific operation: The server uses an emotion engine to analyze the text and determine emotions such as urgency.
[1806] Step 5:
[1807] The server references the user's profile in a database to retrieve the user's past schedule and preferences, and uses this information to verify that the action matches the user's profile.
[1808] Input: User's text data and profile ID
[1809] Output: User's past schedule and preference data
[1810] What happens: The server executes an SQL query to retrieve user profile information from the database.
[1811] Step 6:
[1812] The server adds new events to the schedule database based on the analysis results, such as a "meeting tomorrow at 3 PM," taking emotions into account.
[1813] Input: Keywords and time information, emotion information, user profile
[1814] Output: Updated schedule database
[1815] What happens next: The server executes a SQL statement that inserts a new appointment into the schedule database.
[1816] Step 7:
[1817] The server generates a notification message for the user based on the schedule setting result and emotion information and sends it to the device. For example, a message such as "Your meeting has been scheduled for tomorrow at 3 PM. Thank you for your hard work!" can be generated.
[1818] Input: New appointment information, emotional information
[1819] Output: Notification message "Your meeting has been scheduled for tomorrow at 3 PM. Great job!"
[1820] Specific operation: The server uses the template engine to generate a notification message.
[1821] Step 8:
[1822] The device receives the notification message sent by the server and displays it to the user. For example, a notification saying "Your meeting has been scheduled for tomorrow at 3 PM. Great job!" is displayed.
[1823] Input: Notification message sent
[1824] Output: Notification message displayed to the user
[1825] What happens: The mobile app receives the notification and displays it on the user's smartphone screen as a push notification.
[1826] (Application example 2)
[1827] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1828] Conventional schedule management systems are limited to adding appointments and sending notifications based on simple requests, and do not support driving instructions that reflect user emotions, urgency, or personalized information. This makes it difficult to set plans that are in line with user preferences and emotions, particularly in autonomous vehicles, making it difficult to achieve efficient and comfortable driving.
[1829] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1830] In this invention, the server includes means for receiving a request input by a user in natural language, means for analyzing the received natural language request and extracting important keywords and time information, means for referencing a user profile and acquiring the user's preferences and past schedule, means for adding a new schedule to a schedule database based on the analysis results, means for notifying the user of the schedule setting results, means for recognizing emotions from the user's input and adjusting responses based on the emotions, and means for connecting to a system that provides information on vehicle operation and giving operation instructions. This enables personalized schedule management and operation instructions that take into account the user's emotions and urgency.
[1831] "Natural language" is a language used in everyday communication, and is a means by which people share information through writing and conversation.
[1832] A "request" refers to a request or instruction a user makes to a system.
[1833] "Analysis" is the process of breaking down input data or information and extracting meaning and important elements.
[1834] "Keywords" refer to words or phrases that are particularly important among the information extracted through analysis.
[1835] "Time information" is information about a specific date and time or period included in a request or data.
[1836] A "user profile" is a collection of information about a user, including past behavior and preferences.
[1837] A "schedule database" refers to a database where users' schedules and plans are stored.
[1838] "Notification" refers to the act or means by which a system conveys information to a user.
[1839] "Emotions" are psychological responses and feelings that are recognized from a user's input or state.
[1840] "Operation instructions" refers to giving specific instructions and guidance regarding vehicle operation.
[1841] "Means" refers to a method or device used to achieve a particular purpose.
[1842] 1. System Overview
[1843] This invention is comprised mainly of a terminal installed in the autonomous vehicle and a server system built on the cloud. The user inputs a request in natural language from inside the vehicle, which is analyzed to determine emotions and schedule information. The system also references the user profile to provide driving instructions.
[1844] 2. Hardware and Software Configuration
[1845] Device:
[1846] Microphone and infotainment system: This receives the user's voice input.
[1847] Display: Visually displays results and notifications.
[1848] Head-mounted display (optional): The driver and passengers can view detailed information.
[1849] server:
[1850] Cloud Server: Provides scalable computing resources.
[1851] NLP Engine (Natural Language Processing Engine): Parses requests using the Google Cloud Natural Language API.
[1852] Emotion engine: Determines emotions using IBM Watson's Emotion Analysis.
[1853] Database system: AWS RDS manages user profiles and schedules.
[1854] 3. Data Processing
[1855] When a user inputs a request in natural language through the infotainment system or head-mounted display, the process proceeds as follows:
[1856] 4. Processing Flow
[1857] 1. Accepting user input
[1858] The device receives voice input through a microphone and converts it into text.
[1859] 2. Natural Language Processing
[1860] The server uses the Google Cloud Natural Language API to parse this text and extract important keywords and time information. For example, if the request is "Set up to be at work at 3 PM," the keywords "3 PM," "work," and "set up" are extracted.
[1861] 3. Emotion recognition
[1862] Next, an emotion engine (IBM Watson Emotion Analysis) analyzes the request and recognizes the user's emotion. For example, if the request is accompanied by "hurry," it is recognized as requiring an urgent response.
[1863] 4. User profile reference
[1864] The server references user profiles stored in AWS RDS to obtain information about past behavior and preferences, enabling it to provide optimal suggestions and driving instructions to users.
[1865] 5. Add operation instructions and schedules
[1866] Based on the extracted keywords, time information, and emotion information, a new schedule is added to the schedule database and driving instructions are sent to the vehicle. For example, a notification such as "Driving to work scheduled for 3 PM" is generated and sent to the vehicle promptly.
[1867] 6. Display of notifications
[1868] Finally, the device (infotainment system or head-mounted display) displays the notification sent by the server to the user, for example, "Route to work scheduled for 3 PM. Urgent!"
[1869] 5. Specific Examples
[1870] For example, let's look at what happens when a user says, "I'm in a hurry, schedule an appointment to come to the office at 3 PM." The device converts the voice input into text, which the server analyzes. Based on the analysis results, the emotion engine recognizes the need for urgency and references the user profile from AWS RDS. After that, a new appointment is added to the schedule database, driving instructions are issued, and a notification is displayed on the device.
[1871] Prompt Sentence Examples
[1872] If the user types "I'm in a hurry, schedule an appointment to be at the office at 3 PM," the following is an example of a prompt:
[1873] "Instruction: Urgently schedule an appointment to come to the office at 3 PM. Calculate the optimal route by referencing past route data from the schedule database. Use the emotion engine to confirm urgent responses."
[1874] This system allows users to easily manage schedules and give driving instructions from inside the vehicle, realizing personalized services that are sensitive to emotions.
[1875] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1876] Step 1:
[1877] The user provides voice input in natural language.
[1878] The user speaks into the infotainment system's microphone, saying, "Hurry, schedule an appointment to be at work at 3 p.m."
[1879] Input format: Audio data
[1880] Output: Instructions as audio data
[1881] Step 2:
[1882] Convert voice input to text.
[1883] The terminal's voice recognition system converts the voice data into text data.
[1884] Specific operation: The voice recognition function analyzes the voice data and converts it into text such as "Hurry, schedule an appointment to be at the office at 3 p.m."
[1885] Input: Audio data
[1886] Output: Text data
[1887] Step 3:
[1888] Analyze text data using a natural language processing engine.
[1889] The server uses the Google Cloud Natural Language API to parse the text data and extract important keywords and time information.
[1890] How it works: The NLP engine breaks down text data and identifies key elements to extract keywords and time information such as "urgent," "3 p.m.", and "office."
[1891] Input: Text data
[1892] Output: Extracted keywords and time information
[1893] Step 4:
[1894] Recognize user emotions with an emotion engine.
[1895] The server uses IBM Watson Emotion Analysis to determine the sentiment of the text being analyzed.
[1896] Specific behavior: Based on the phrase "hurry", the emotion engine evaluates the text data and adds emotion information to recognize the user's emotion of hurry.
[1897] Input: Text data
[1898] Output: Emotional information
[1899] Step 5:
[1900] View your user profile.
[1901] The server references the user profile database stored in AWS RDS to retrieve past schedule and preference data.
[1902] Specific operation: Based on the user ID, past behavioral patterns and preference information are inquired and appropriate information is obtained.
[1903] Input: User ID
[1904] Output: User profile data
[1905] Step 6:
[1906] Add a new appointment to the schedule database.
[1907] The server registers the new schedule in the schedule database based on the extracted keywords, time information, and emotion information.
[1908] Specific behavior: Add an entry to the schedule database saying "Go to the office at 3 PM" and also save the information that an urgent action is required.
[1909] Input: Extracted keywords, time information, and emotion information
[1910] Output: Updated schedule database
[1911] Step 7:
[1912] Gives operational instructions.
[1913] The server calculates the optimal route based on past driving data and user preferences, and sends driving instructions to the self-driving vehicle.
[1914] Specific operation: In cooperation with the traffic management system, the system calculates a route based on the extracted information and sends the "optimal route to get to work at 3:00 PM" to the autonomous vehicle.
[1915] Input: Schedule data and user profile data
[1916] Output: Operation instruction data
[1917] Step 8:
[1918] The schedule setting results are notified to the user.
[1919] The device receives notifications from the server and provides the user with information visually or audibly.
[1920] Specific operation: The message "A trip to work has been scheduled for 3 PM. This is urgent!" will be displayed on the display or head-mounted display, or a notification will be sent via the voice assistant.
[1921] Input: Operation instruction data
[1922] Output: User notification
[1923] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1924] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1925] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1926] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1927] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1928] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1929] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1930] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1931] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1932] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1933] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1934] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1935] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1936] 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.
[1937] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1938] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1939] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1940] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1941] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1942] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1943] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1944] The following is further disclosed regarding the above embodiment.
[1945] (Claim 1)
[1946] a means for receiving a request inputted by a user in natural language;
[1947] a means for analyzing the received natural language request and extracting important keywords and time information;
[1948] A means of referencing a user profile to obtain the user's preferences and past schedules;
[1949] A means to add new events to the schedule database based on the analysis results;
[1950] The system includes a means for notifying the user of the results of the scheduling.
[1951] (Claim 2)
[1952] 10. The system of claim 1, further comprising means for externally obtaining data based on a user request and generating a response based on the obtained data.
[1953] (Claim 3)
[1954] 10. The system of claim 1, further comprising means for providing personalized suggestions based on user requests and user profile data according to user preferences.
[1955] "Example 1"
[1956] (Claim 1)
[1957] a means for receiving a request inputted by a user in natural language;
[1958] a means for analyzing the received natural language request and extracting important keywords and time information;
[1959] A means of referencing a user profile to obtain the user's preferences and past schedules;
[1960] A means to add new events to the schedule database based on the analysis results;
[1961] a means for notifying the user of the results of the scheduling;
[1962] means for analyzing text data received from the terminal using a natural language processing engine;
[1963] means for adding schedule information to a database and generating notification messages based on the analyzed information;
[1964] A means for the server to send messages to users based on the schedule information;
[1965] A means for the device to receive the notification message and display it to the user
[1966] A system including:
[1967] (Claim 2)
[1968] 10. The system of claim 1, further comprising means for externally obtaining data based on a user request and generating a response based on the obtained data.
[1969] (Claim 3)
[1970] 10. The system of claim 1, further comprising means for providing personalized suggestions based on user requests and user profile data according to user preferences.
[1971] "Application Example 1"
[1972] (Claim 1)
[1973] a means for receiving a request inputted by a user in natural language;
[1974] a means for analyzing the received natural language request and extracting important keywords and time information;
[1975] A means of referencing a user profile to obtain the user's preferences and past schedules;
[1976] A means to add new events to the schedule database based on the analysis results;
[1977] a means for notifying the user of the results of the scheduling;
[1978] A means to support product search and purchase within the virtual store,
[1979] a means for providing personalized product recommendations based on purchase history and preferences;
[1980] A system that includes a means to provide product arrival notifications and appointment reminders.
[1981] (Claim 2)
[1982] and further including means for externally obtaining data based on a user request and generating a response based on the obtained data.
[1983] 10. The system of claim 1.
[1984] (Claim 3)
[1985] Further includes means for making personalized offers based on user requests and user profile data, according to user preferences.
[1986] 10. The system of claim 1.
[1987] "Example 2: Combining Emotion Engines"
[1988] (Claim 1)
[1989] a means for receiving a request inputted by a user in natural language;
[1990] a means for analyzing the received natural language request and extracting important keywords and time information;
[1991] a means of recognizing emotions from user input and tailoring responses and suggestions based on those emotions;
[1992] A means of referencing a user profile to obtain the user's preferences and past schedules;
[1993] A means to add new events to the schedule database based on the analysis results;
[1994] The system includes a means for notifying the user of the results of the scheduling.
[1995] (Claim 2)
[1996] 10. The system of claim 1, further comprising means for externally obtaining data based on a user request and generating a response based on the obtained data.
[1997] (Claim 3)
[1998] 10. The system of claim 1, further comprising means for providing personalized suggestions based on user requests and user profile data according to user preferences.
[1999] "Application example 2 when combining emotion engines"
[2000] (Claim 1)
[2001] a means for receiving a request inputted by a user in natural language;
[2002] a means for analyzing the received natural language request and extracting important keywords and time information;
[2003] A means of referencing a user profile to obtain the user's preferences and past schedules;
[2004] A means to add new events to the schedule database based on the analysis results;
[2005] a means for notifying the user of the results of the scheduling;
[2006] means for recognizing emotion from user input and tailoring responses based on the emotion;
[2007] A system including a means for connecting to a system that provides information on vehicle operation and providing operation instructions.
[2008] (Claim 2)
[2009] 10. The system of claim 1, further comprising means for externally obtaining data based on a user request and generating a response based on the obtained data.
[2010] (Claim 3)
[2011] 10. The system of claim 1, further comprising means for providing personalized suggestions based on user requests and user profile data according to user preferences. [Explanation of symbols]
[2012] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. a means for receiving a request inputted by a user in natural language; a means for analyzing the received natural language request and extracting important keywords and time information; A means of referencing a user profile to obtain the user's preferences and past schedules; A means to add new events to the schedule database based on the analysis results; The system includes a means for notifying the user of the results of the scheduling.
2. 10. The system of claim 1, further comprising means for externally acquiring data based on a user request and generating a response based on the acquired data.
3. 10. The system of claim 1, further comprising means for providing personalized suggestions based on user requests and user profile data according to user preferences.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A