System
The system addresses inconsistencies in food quality and waste by integrating AI and robotic cooking to automate restaurant operations, ensuring efficient and personalized service.
Patent Information
- Application Number
- JP2024125368
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
The restaurant industry faces challenges in ensuring consistent food quality and taste, managing food inventory efficiently to minimize waste, and automating tasks such as reservations, orders, and accounting, which are often performed manually.
A system that integrates AI technology with robotic cooking equipment to manage reservations, order analysis, inventory management, cooking instructions, billing, and personalized recommendations, using natural language processing and robotic cooking devices to automate these processes.
The system ensures consistent food quality, reduces food waste, and enhances operational efficiency by automating inventory management and providing personalized customer experiences.
Smart Images

Figure 2026023433000001_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] Ensuring consistency in food quality and taste and minimizing food waste are major challenges in the restaurant industry. Traditionally, restaurant food quality is highly variable because it relies on the skills and experience of the kitchen staff. In addition, food inventory management is often done manually, which can easily result in food waste. Another issue is the reduced efficiency of tasks such as reservations, orders, and accounting, which are all performed manually. To solve these problems, there is a demand for fully automated restaurant systems that utilize AI technology and robotic cooking equipment. [Means for solving the problem]
[0005] The present invention provides a system including means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to a robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user in the event of a shortage, means for updating ingredient inventory data, means for calculating a bill based on the user's order history and displaying a bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, thereby ensuring consistency in food quality and taste, reducing food waste by automating inventory management, and improving restaurant operational efficiency.
[0006] "User" means an individual or group that uses the system.
[0007] A "reservation request" is a request that includes information indicating a user's desired reservation for a specific date and time and conditions.
[0008] "Reservation status" is data that indicates availability for a specific date, time, and conditions in the reservation system.
[0009] "Reservation confirmation information" is detailed information about the reservation that is notified to the user when the reservation is confirmed.
[0010] An "order request" is a request that includes a user's desired dish or special request.
[0011] "Order request analysis" is a process of analyzing the contents of a user's order and extracting information necessary for cooking.
[0012] "Cooking instructions" are instructions that indicate specific cooking procedures and are generated based on an order request.
[0013] A "robotic cooking device" is a mechanical device that automates the process of cooking food.
[0014] "Stock status" is data indicating the current remaining amount of a particular ingredient.
[0015] "Alternatives" are suggestions for alternatives offered when a particular ingredient is out of stock.
[0016] "Inventory data update" is a process that updates the inventory database with the quantity of ingredients used.
[0017] "Order history" is information that records the user's past order data.
[0018] "Payment" is a process for calculating the total price of the dishes ordered by the user.
[0019] An "invoice" is a document that details the amount due that is displayed to the user.
[0020] "Payment information" is information that allows a user to make payment for a product or service.
[0021] "Suggestions" are new ordering suggestions provided based on the user's past ordering history and preferences.
[0022] "Personalized suggestions" are suggestions that are customized based on the preferences and history of individual users. [Brief explanation of the drawings]
[0023] [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
[0024] 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.
[0025] First, the terms used in the following description will be explained.
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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."
[0031] [First embodiment]
[0032] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0033] 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.
[0034] 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).
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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."
[0044] The present invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. Each of the components constituting the system of the present invention will be described in detail below.
[0045] System Configuration
[0046] 1. Reservation acceptance and confirmation
[0047] Before a user visits a restaurant, they submit a reservation request to the system, which includes the desired date and time, number of people, and any special requests (such as allergies).
[0048] Examples:
[0049] If a user wants to make a reservation for 4 people at 19:00 on October 25th, the server will connect to the reservation database to see if there is availability for that date and time. If there is availability, the system will confirm the reservation and send the user a confirmation email.
[0050] 2. Order analysis and cooking
[0051] When a user arrives at a restaurant, they use a device (tablet or smartphone) to notify the server of their arrival. The user then orders the food they want via the device. Order details can be freely entered, and special requests (such as allergies) can also be accommodated.
[0052] Examples:
[0053] When a user orders "seafood pasta," the server receives the order request, analyzes the order using natural language processing technology, and sends the recipe ID for seafood pasta to the robotic cooking device based on the analysis results.
[0054] 3. Inventory Management
[0055] The server checks the inventory management system to see if the ingredients needed for the order are available, and if they are out of stock, the system suggests alternatives to the user.
[0056] Examples:
[0057] If an order is placed for seafood pasta and seafood is out of stock, the server will suggest to the user, "We're out of seafood, would you like to change it to chicken pasta?"
[0058] 4. Cooking instructions
[0059] The server sends cooking instructions based on the order contents to the robotic cooking device and provides food of consistent quality.
[0060] Examples:
[0061] Cooking instructions for seafood pasta are sent to the robotic cooking device, which then starts cooking accordingly.
[0062] 5. Accounting
[0063] Once the meal is finished, the server automatically calculates the bill based on the order history, displays the bill to the user via the terminal, and the user can select a payment method.
[0064] Examples:
[0065] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0066] 6. Personalized recommendations
[0067] The server analyzes the user's past ordering history and preferences, and generates personalized suggestions for the user's next visit.
[0068] Examples:
[0069] If a user has previously rated a truffle dish highly, they will receive a notification suggesting a "new truffle dish" for their next recommendation.
[0070] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves the customer experience.
[0071] The processing flow will be explained below.
[0072] (Reception processing)
[0073] Step 1:
[0074] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[0075] Step 2:
[0076] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[0077] Step 3:
[0078] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[0079] (Order Processing)
[0080] Step 1:
[0081] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[0082] Step 2:
[0083] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[0084] Step 3:
[0085] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[0086] Step 4:
[0087] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[0088] (Inventory management and cooking instructions)
[0089] Step 1:
[0090] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[0091] Step 2:
[0092] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[0093] Step 3:
[0094] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[0095] (Accounting)
[0096] Step 1:
[0097] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[0098] Step 2:
[0099] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[0100] Step 3:
[0101] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[0102] (Personalized suggestions)
[0103] Step 1:
[0104] The server retrieves relevant information from an order history database to analyze the user's past order history and preferences.
[0105] Step 2:
[0106] The server uses machine learning algorithms to analyze user preferences and generate personalized suggestions.
[0107] Step 3:
[0108] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit. For example, the recommendation could include new menu items or special discounts.
[0109] Example 1
[0110] 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."
[0111] In traditional restaurant operations, processes such as reservations, orders, inventory management, cooking, and accounting are often managed separately, creating a need for greater efficiency. Furthermore, there is a lack of mechanisms for providing consistent quality food while minimizing food waste. Furthermore, it is difficult to provide personalized suggestions that take into account user preferences and past ordering history, making it difficult to improve customer satisfaction.
[0112] 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.
[0113] In this invention, the server includes means for receiving reservation requests from users, means for checking reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving arrival notifications from users and managing arrival status, means for receiving order requests from users and analyzing the order requests to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, thereby improving the efficiency of restaurant operations overall, reducing ingredient waste, providing food of consistent quality, and improving the user experience.
[0114] "Reservation Request" means a reservation request that includes the User's desired date and time, number of people, and any special requests (such as allergy information).
[0115] The "reservation status checking means" refers to a means for connecting to a reservation database based on a reservation request and checking whether there is availability on the specified date and time.
[0116] "Reservation confirmation information" refers to detailed reservation information that is sent to the user when the reservation is confirmed.
[0117] "Arrival Notification" means the means used to notify the server that a user has arrived at the restaurant.
[0118] "Order Request" means a request by a User to transmit via a Terminal the food they would like to eat at a restaurant or any special requests.
[0119] "Order request analysis means" refers to a means for analyzing the contents of a user's order using natural language processing technology and identifying the corresponding recipe.
[0120] "Cooking instructions" refers to the specific cooking steps and recipe ID sent to the robotic cooking device based on the analyzed order details.
[0121] "Robot cooking device" means a device that automatically cooks food according to cooking instructions from a server.
[0122] "Stock status confirmation means" means a means for confirming whether ingredients related to an order are available through an inventory management system.
[0123] "Alternatives" means other food or ingredient options offered to the user in the event of a shortage.
[0124] "Stock data update means" refers to a means for keeping stock information updated as orders and cooking progress.
[0125] "Accounting means" refers to a means for automatically calculating the account based on the user's order history and issuing an invoice.
[0126] "Payment information processing means" means a means for making a payment based on the payment method selected by the user.
[0127] The "means for generating proposals" refers to a means for analyzing the user's past order history and generating personalized proposals for the next visit to the store.
[0128] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. This system comprehensively manages everything from receiving reservation requests from users to cooking, accounting, and personalized suggestions for the next visit. Specific embodiments of the system are described below.
[0129] Hardware and software used
[0130] Server: A central management system that handles reservation management, order analysis, inventory management, cooking instructions, accounting calculations, and personalized proposal generation.
[0131] Terminal: The device (tablet or smartphone) where users make reservations, receive notifications, place orders, and make payments.
[0132] Robotic cooking device: An automatic cooking device that cooks according to cooking instructions from a server.
[0133] Natural language processing technology: Software technology for analyzing user orders.
[0134] Inventory management system: A system that manages the inventory of ingredients related to orders.
[0135] Payment System: A system that processes user payments.
[0136] Specific step-by-step instructions
[0137] 1. Reservation acceptance and confirmation
[0138] The user uses the terminal to enter the desired date and time, number of people, and any special requests into the reservation form. When the user presses the submit button, the request is sent to the server.
[0139] The server receives the reservation request and connects to the reservation database to check if there are any openings for the specified date and time. For example, it checks for reservations for 4 people at 19:00 on October 25th.
[0140] If availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[0141] Example prompts to be input to the generative AI model:
[0142] Please confirm the reservation with the following details: Desired date and time: October 25th, 19:00, Number of people: 4, Special requests: None. Please let me know if there are any openings on the date and time.
[0143] 2. Arrival notification and order analysis
[0144] When the user arrives at the restaurant, the terminal sends an arrival notification, which lets the server know that the user has arrived.
[0145] The user orders the food they want through the terminal, for example, selecting "seafood pasta" and entering any special requests.
[0146] The server receives the order request and analyzes the order using natural language processing technology. For example, if the text is "seafood pasta," the server sends the corresponding recipe ID to the robotic cooking device.
[0147] Example prompts to be input to the generative AI model:
[0148] User order: 'Seafood Pasta'. Parse this order and send the appropriate recipe ID to the robotic cooking device.
[0149] 3. Check inventory and propose alternatives
[0150] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, it checks the stock of seafood.
[0151] If there is a shortage of stock, the server will suggest an alternative to the user, for example sending a message saying, "We are out of seafood, would you like to switch to chicken pasta?"
[0152] Example prompts to be input to the generative AI model:
[0153] An order for seafood pasta is placed, but seafood is out of stock. Suggest chicken pasta as an alternative to the user.
[0154] 4. Send cooking instructions
[0155] The server creates cooking instructions based on the order, including specific recipe IDs and cooking steps.
[0156] The server sends the cooking instructions to the robotic cooking device, which then starts cooking according to the instructions. For example, if an instruction to cook seafood pasta is sent, the robotic cooking device will pick up the necessary ingredients and start cooking.
[0157] Example prompts to be input to the generative AI model:
[0158] Send cooking instructions for seafood pasta to your robotic cooking device.
[0159] 5. Accounting
[0160] Once the meal is finished, the server automatically calculates the bill based on the order history.
[0161] The terminal displays a bill based on the user's order history, and the user selects a payment method (credit card, cash, etc.).
[0162] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0163] Example prompts to be input to the generative AI model:
[0164] Calculate the bill based on the user's order history and display the invoice. If the user chooses to pay by credit card, connect to the payment system to complete the payment.
[0165] 6. Personalized recommendations
[0166] The server analyzes the user's past ordering history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, the server generates suggestions based on this data.
[0167] The server decides what dishes and services to offer the user the next time they visit and sends a notification to them, such as "Try our new truffle dish next time."
[0168] Example prompts to be input to the generative AI model:
[0169] Analyze the user's past order history to determine what dishes to suggest the next time they visit. If the user has previously rated a truffle dish highly, send them a notification suggesting a new truffle dish the next time.
[0170] In this way, the system of the present invention centrally manages everything from user reservations to orders, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[0171] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0172] Step 1:
[0173] Receiving and confirming booking requests
[0174] The user uses a terminal to enter the desired date and time, number of people, and any special requests into a reservation form. The entered reservation request is sent to the server. The server receives the reservation request and queries the reservation database to check whether there is availability for the specified date and time. The server receives a response from the reservation database, and if availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[0175] Input: User reservation request (desired date and time, number of people, special requests)
[0176] Data processing: querying the reservation database to check availability
[0177] Output: Reservation confirmation email sent to user
[0178] Step 2:
[0179] Receive and manage arrival notifications
[0180] When a user arrives at a restaurant, he or she uses a terminal to send an arrival notification to the server. The server receives the arrival notification and records the user's arrival status in the management system. This allows the server to recognize that the user has arrived.
[0181] Input: Arrival notification from user
[0182] Data processing: Recording and management of arrival status
[0183] Output: Arrival status update on the server
[0184] Step 3:
[0185] Receiving and parsing order requests
[0186] The user orders the food they want to eat through a terminal. For example, they select "seafood pasta" and enter any special requests. The order request is sent to the server. The server receives the order request and analyzes the order using natural language processing technology. From the analyzed text, the corresponding recipe ID is identified and sent to the robotic cooking device.
[0187] Input: User order request (dish name, special requests)
[0188] Data processing: Text analysis using natural language processing technology, recipe ID identification
[0189] Output: Recipe ID sent to the robotic cooking device
[0190] Step 4:
[0191] Check stock availability and suggest alternatives
[0192] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, the server checks the stock of seafood. If there is insufficient stock, the server sends a message to the user saying, "We are out of seafood. Would you like to change to chicken pasta?"
[0193] Input: Recipe ID, Availability Request
[0194] Data processing: Data integration with inventory management system, checking stock status
[0195] Output: Alternative suggestion message to user
[0196] Step 5:
[0197] Generate and send cooking instructions
[0198] The server creates cooking instructions based on the order details and inventory status. The created cooking instructions include specific recipe IDs and cooking steps. The server sends these cooking instructions to the robotic cooking device, which then begins cooking according to the instructions.
[0199] Input: Order details, stock status
[0200] Data processing: Generate cooking instructions (recipe ID, cooking steps)
[0201] Output: Send cooking instructions to the robotic cooking device
[0202] Step 6:
[0203] Accounting
[0204] When the user finishes their meal, the server automatically calculates the bill based on their order history. The generated bill information is displayed on the terminal. The user selects a payment method (credit card, cash, etc.) through the terminal and enters payment information. The server then works with the payment system to complete the payment.
[0205] Input: Order History
[0206] Data processing: accounting calculations, invoice generation
[0207] Output: Displaying bills on the terminal, linking with payment systems
[0208] Step 7:
[0209] Generate and notify personalized suggestions
[0210] The server analyzes the user's past order history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, it generates suggestions based on this data. The server then decides which dishes and services to suggest for the user's next visit and sends a notification to the user. For example, it sends a notification saying, "Please try our new truffle dish next time."
[0211] Input: User's past order history
[0212] Data processing: analyzing order history and generating proposals
[0213] Output: Personalized suggestion notification to user
[0214] Through the above steps, the system of the present invention centrally manages everything from user reservations to ordering, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[0215] (Application example 1)
[0216] 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."
[0217] Modern restaurants handle a wide range of tasks, including taking reservations, analyzing orders, managing inventory, providing cooking instructions, accounting, and providing personalized recommendations to customers. There is a need to streamline these tasks and provide high-quality food while minimizing food waste. However, conventional systems have struggled to manage these tasks in an integrated manner and provide the convenience of smartphones. It has also been difficult to generate personalized recommendations based on a user's past ordering history and effectively notify them for the next visit.
[0218] 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.
[0219] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the automatic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating a bill based on the user's order history and displaying a bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, means for notifying the user of arrival at the restaurant using a smartphone, and means for the user to select a payment method and complete payment using a smartphone. This makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[0220] The "means for receiving a reservation request from a user" is a function that allows the server to receive a request from a user to make a reservation at a restaurant.
[0221] The "means for checking reservation status based on reservation request" is a function for checking whether a reservation is possible on the desired date and time by checking the reservation register or database based on the received reservation request.
[0222] The "means for notifying the user of reservation confirmation information when the reservation is confirmed" is a function for notifying the user of the confirmation information when the reservation is confirmed.
[0223] "Means for receiving an order request from a user, analyzing the order request, and generating cooking instructions" is a function that allows the server to receive a request for a dish ordered by a user, analyze it, and generate the instructions necessary for cooking.
[0224] The "means for transmitting cooking instructions to an automatic cooking device" is a function for transmitting the generated cooking instructions to a robot or an automated cooking device.
[0225] "Means for checking the stock status of ingredients related to an order and suggesting alternatives to the user if there is a shortage of stock" is a function for checking the stock of ingredients required for an order and suggesting alternatives to the user if there is a shortage.
[0226] The "means for updating ingredient inventory data" is a function for updating ingredient inventory data in real time according to orders and usage status.
[0227] "Means for calculating the bill based on the user's order history and displaying the invoice to the user" is a function for automatically calculating the bill based on the user's past order history and presenting the invoice to the user.
[0228] The "means for processing user payment information" is a function for processing payment information based on the payment method selected by the user.
[0229] "Means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions the next time they visit the store" is a function for analyzing the user's past order history and generating and notifying personalized suggestions based on that the next time they visit the store.
[0230] The "means for a user to notify a server of arrival at a restaurant using a smartphone" is a function for a user to notify a server that they have arrived at a restaurant using a smartphone.
[0231] "Means for users to select a payment method using a smartphone and complete payment" refers to a function that allows users to select the desired payment method using a smartphone and complete the payment.
[0232] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. The system includes functions for taking reservations, analyzing orders, managing inventory, providing cooking instructions, processing bills, and providing personalized suggestions.
[0233] System Configuration
[0234] 1. Reservation acceptance and confirmation
[0235] The user makes a reservation using their smartphone by inputting the desired date and time, number of people, and any special requests (such as allergy information). The server receives the reservation request and checks the reservation status against the reservation database. If there is availability, the server confirms the reservation and notifies the user of the reservation confirmation information.
[0236] 2. Arrival notification and order analysis
[0237] When a user arrives at a restaurant, they notify the server of their arrival using their smartphone. The user then orders the food they want directly from their smartphone. The server receives the order request, analyzes it using natural language processing technology, and generates cooking instructions. The generated cooking instructions are then sent to the automatic cooking device.
[0238] 3. Inventory management and alternative proposals
[0239] The server checks the availability of ingredients related to the order. If there is a shortage, the server will suggest an alternative to the user. For example, if seafood pasta is out of stock, the server will suggest changing to chicken pasta.
[0240] 4. Accounting
[0241] Based on the user's order history, the server processes the bill and displays the invoice on the user's smartphone. The user then selects a payment method and completes the transaction.
[0242] 5. Personalized recommendations
[0243] The server analyzes the user's past order history and generates personalized recommendations for the next visit. For example, if the user has previously rated truffle dishes highly, the server will suggest new truffle dishes.
[0244] Hardware / Software Used
[0245] Server: Flask (Python web framework)
[0246] Database: SQLite (a simple database management system)
[0247] Client: Smartphone (iOS / Android)
[0248] Specific examples
[0249] Examples of reservation acceptance:
[0250] If a user sends a request from their smartphone requesting a reservation for four people at 7:00 PM on October 25th, the server receives the request, queries the reservation database to check availability, and if there is availability, confirms the reservation and notifies the user with the confirmation.
[0251] Example prompt sentence:
[0252] "User wants to make a restaurant reservation for 4 people on October 25th at 7:00 PM. Please check availability for that date and time and confirm the reservation."
[0253] In this way, the present invention provides a comprehensive system for streamlining restaurant operations and providing high-quality service to users.
[0254] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0255] Step 1:
[0256] Receiving a booking request
[0257] The user inputs a reservation request from a device (smartphone). The input includes the desired date and time, number of people, and special requests (such as allergy information). This data is sent to the server, which then receives the reservation request.
[0258] Input: reservation date and time, number of people, special requests
[0259] Output: Reservation request data received
[0260] Step 2:
[0261] Check reservation status
[0262] Based on the received reservation request, the server sends a query to the reservation database to check availability for the desired date and time. The reservation database responds to the query and replies to the server whether there is availability for the specified date and time.
[0263] Input: Reservation request data
[0264] Output:Available / unavailable reservation information
[0265] Step 3:
[0266] Notification of reservation confirmation information
[0267] When a reservation is confirmed, the server generates reservation confirmation information and notifies the terminal (smartphone) of this, allowing the user to know that the reservation has been confirmed.
[0268] Input:Available reservation information
[0269] Output: Reservation confirmation notice
[0270] Step 4:
[0271] Receiving arrival notifications
[0272] When the user arrives at the restaurant at the reserved date and time, they notify the server of their arrival using their smartphone. The server receives the arrival notification and prepares to proceed to the next step.
[0273] Input: Arrival Notification
[0274] Output: Received arrival notification
[0275] Step 5:
[0276] Receiving and parsing order requests
[0277] The user sends a food order request from their device. The server receives the order request and analyzes the order using natural language processing technology. Cooking instructions are generated based on the analysis results.
[0278] Input: Order Request
[0279] Output: Parsed order details and cooking instructions
[0280] Step 6:
[0281] Send cooking instructions
[0282] The server sends the generated cooking instructions to the automatic cooking device, which then begins preparing the food based on the received instructions.
[0283] Input: Cooking instructions
[0284] Output: Sending instructions to the automatic cooking device
[0285] Step 7:
[0286] Check inventory and offer alternatives
[0287] The server checks the availability of ingredients needed for the order. If there is a shortage, the server generates an alternative and sends it to the device (smartphone). The user checks the alternative and approves it or places another order as necessary.
[0288] Input: Order request, inventory data
[0289] Output: Alternative proposals
[0290] Step 8:
[0291] Updating food inventory data
[0292] The server updates food inventory data in real time according to orders and cooking status, making it possible to always maintain the latest inventory information.
[0293] Input: Order history, cooking status
[0294] Output: Updated inventory data
[0295] Step 9:
[0296] Accounting and billing
[0297] The server calculates the bill based on the user's order history, generates an invoice, and displays it on the user's smartphone for confirmation.
[0298] Input: Order History
[0299] Output: View invoice
[0300] Step 10:
[0301] Processing payment information
[0302] The user selects a payment method using their smartphone and makes the payment. The server receives the payment information and completes the payment.
[0303] Input: User's payment information
[0304] Output: Payment completion notification
[0305] Step 11:
[0306] Generate and notify personalized suggestions
[0307] The server analyzes the user's past order history and generates personalized suggestions for the next visit, which are then sent to the user's smartphone.
[0308] Input: Past order history
[0309] Output: Personalized suggestion notification
[0310] The above are the specific processing steps of the system for carrying out the invention, which makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[0311] 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.
[0312] This invention is a fully automated system that combines AI technology with a robotic cooking device, aiming to improve the efficiency of restaurant operations and the user experience. Furthermore, this invention is characterized by its configuration that combines an emotion engine that recognizes the user's emotions and provides services based on them.
[0313] System Configuration
[0314] 1. Reservation acceptance and confirmation
[0315] The user uses a terminal to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (such as allergy information). The server connects to the reservation database to check availability for that date and time, and if the reservation is confirmed, it notifies the user with reservation confirmation information.
[0316] Examples:
[0317] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[0318] 2. Order analysis and cooking
[0319] When a user arrives at a restaurant, they use their device to send a notification of their arrival to the server. They then freely input the food they want to eat and submit an order request. The server analyzes the order, identifies the corresponding recipe, and sends cooking instructions to the robotic cooking device.
[0320] Examples:
[0321] When a user orders a "Wagyu steak," the server receives the order, analyzes the order using natural language processing technology, identifies the recipe ID for the Wagyu steak, and sends it to the robotic cooking device.
[0322] 3. Inventory Management
[0323] The server checks the availability of ingredients related to the order, suggests alternatives to the user if they are out of stock, and records the consumed ingredient quantities in an inventory database, updating the inventory status.
[0324] Examples:
[0325] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[0326] 4. Emotion Recognition and Adaptation
[0327] The emotion engine analyzes the user's voice and facial expressions to identify their emotions and provides services based on these. The emotion engine monitors the user's emotions in real time when ordering and while eating, and responds appropriately.
[0328] Examples:
[0329] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[0330] 5. Accounting
[0331] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill to the user. The user selects a payment method on the terminal, and the server processes the payment information.
[0332] Examples:
[0333] If the user selects to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0334] 6. Personalized recommendations
[0335] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[0336] Examples:
[0337] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[0338] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[0339] The processing flow will be explained below.
[0340] (Reception processing)
[0341] Step 1:
[0342] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[0343] Step 2:
[0344] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[0345] Step 3:
[0346] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[0347] (Order Processing)
[0348] Step 1:
[0349] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[0350] Step 2:
[0351] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[0352] Step 3:
[0353] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[0354] Step 4:
[0355] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[0356] (Inventory management and cooking instructions)
[0357] Step 1:
[0358] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[0359] Step 2:
[0360] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[0361] Step 3:
[0362] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[0363] (Emotion Recognition and Adaptation)
[0364] Step 1:
[0365] When a user places an order using the terminal, the emotion engine analyzes the user's voice and facial expressions in real time.
[0366] Step 2:
[0367] The emotion engine identifies the user's emotion based on the analysis results and sends that information to the server.
[0368] Step 3:
[0369] The server considers ways to provide appropriate services based on the user's emotional information. For example, if the user is feeling stressed, it generates a proposal to provide a relaxing environment.
[0370] Step 4:
[0371] The server sends instructions to the relevant devices to execute the service content suggested by the emotion engine, for example, playing relaxing music.
[0372] (Accounting)
[0373] Step 1:
[0374] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[0375] Step 2:
[0376] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[0377] Step 3:
[0378] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[0379] (Personalized suggestions)
[0380] Step 1:
[0381] The server acquires and analyzes the user's past order history and emotional data.
[0382] Step 2:
[0383] The server uses machine learning algorithms to analyze the user's preferences and generate personalized recommendations for the next visit.
[0384] Step 3:
[0385] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit, for example, offering new menu items or special discounts.
[0386] Example 2
[0387] 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."
[0388] Conventional restaurant operations often rely on manual labor for a wide range of tasks, including taking reservations, processing orders, managing inventory, and accounting, creating a need for greater operational efficiency. Improving the user experience is also an important issue, which includes understanding user emotions and providing services based on those emotions. The present invention aims to solve these issues and improve the efficiency of restaurant operations and the user experience.
[0389] 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.
[0390] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for receiving arrival notifications from a user and processing the arrival information, means for recognizing emotions from the user's voice and facial expressions and providing service based on the recognized emotions, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the user's next visit, thereby enabling efficient restaurant operations and providing high-quality service based on the user's emotions.
[0391] A "reservation request" is a request containing information indicating a user's desire to visit a restaurant with a specific number of people at a specific date and time.
[0392] "Reservation status" refers to the availability of seats at a restaurant on a specific date and time and whether or not a reservation has already been made.
[0393] "Reservation confirmation information" is detailed reservation information that is notified to the user when the user's reservation is confirmed.
[0394] An "order request" is a request by a user to specify the food and drink they would like to eat at a restaurant.
[0395] "Cooking instructions" refer to instructions for the robotic cooking device to cook a specific dish, generated based on a received order request.
[0396] A "robotic cooking device" is a mechanical device used to automatically cook food.
[0397] "Inventory status of ingredients" refers to the current stock and remaining amount of various ingredients at the restaurant.
[0398] "Inventory data" refers to recorded data such as the stock and consumption amounts of each type of food ingredient.
[0399] An "arrival notification" is information that notifies the server that the user has arrived at the restaurant.
[0400] "Emotion recognition" is a technology that analyzes a user's voice and facial expressions to identify their emotions at that time.
[0401] "Payment" refers to calculating the total amount of food and drinks ordered by the user.
[0402] "Invoice" means information in paper or digital form that notifies a user of an amount due.
[0403] "Payment information" refers to information related to settlement, such as credit card information, required when a user makes a payment.
[0404] "Suggestions" refer to dishes and services that will be suggested for the next visit, generated based on the user's past order history and emotional data.
[0405] The present invention is a fully automated system that combines AI technology with a robotic cooking device to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes the user's emotions and provides services based on those emotions. Specific embodiments of this system are described below.
[0406] System Configuration
[0407] Reservation acceptance and confirmation
[0408] The user uses a device (smartphone or PC) to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (allergy information, etc.). The server connects to a reservation database (e.g., PostgreSQL) to check availability for that date and time, and if the reservation is confirmed, it notifies the user by email (using the SMTP protocol) with reservation confirmation information.
[0409] Examples:
[0410] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[0411] Example prompt: "Please enter your desired reservation date and time and number of people."
[0412] Order analysis and cooking
[0413] When a user arrives at a restaurant, they use a device (such as a tablet) to send a notification of their arrival to the server. The user then freely enters the dishes they want into an order form and submits an order request. The server then analyzes the order using natural language processing technology (e.g., GPT-4), identifies the corresponding recipe, and sends cooking instructions to a robotic cooking device (e.g., Moley Kitchen Robot).
[0414] Examples:
[0415] When a user orders a "Wagyu steak," the server uses NLP technology to analyze the order and identify the recipe ID for the Wagyu steak, which is then sent to the robotic cooking device to begin cooking.
[0416] Example prompt: "I'd like to order a Wagyu steak."
[0417] Inventory management
[0418] The server checks the availability of ingredients related to the order and, if they are out of stock, suggests alternatives to the user. The server connects to an inventory database (e.g., PostgreSQL) to record the quantities of ingredients consumed and update the inventory status.
[0419] Examples:
[0420] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[0421] Example prompt: "Please check stock availability and suggest alternatives."
[0422] Emotion Recognition and Adaptation
[0423] An emotion engine (for example, Microsoft Azure's Cognitive Services) analyzes the user's voice and facial expressions to identify their emotions. It uses a combination of cameras and microphones to collect data and analyzes it in real time. The emotion engine monitors the user's emotions when ordering and while eating and responds appropriately.
[0424] Examples:
[0425] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[0426] Example prompt: "Analyze the user's emotions and respond accordingly."
[0427] Accounting
[0428] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill on the terminal. The user selects a payment method, and the server processes the payment information. The payment system uses the Stripe API.
[0429] Examples:
[0430] When a user selects to pay by credit card, the information is entered via the terminal, and the server works with the payment system to complete the payment.
[0431] Example prompt: "Please perform accounting procedures."
[0432] Personalized suggestions
[0433] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[0434] Examples:
[0435] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[0436] Example prompt: "Generate suggestions based on user data."
[0437] This system enables efficient restaurant operations and reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[0438] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0439] Reservation acceptance and confirmation
[0440] Step 1:
[0441] The user uses a terminal (smartphone or PC) to input and submit a reservation request.
[0442] Specific operation: The user enters the desired date and time, number of people, and special requests (such as allergy information) into the reservation form and presses the "Submit" button.
[0443] Input: Desired date and time, number of people, special requests
[0444] Output: Booking request data
[0445] Step 2:
[0446] The server receives the reservation request and connects to the reservation database.
[0447] What happens: The server sends an SQL query to the PostgreSQL database to inquire about availability for the specified date and time.
[0448] Input: Booking request data
[0449] Output: SQL query result (availability)
[0450] Step 3:
[0451] The server checks availability and generates reservation confirmation information.
[0452] Specific behavior: If the result of the SQL query is "Available," the server confirms the reservation and sends a reservation confirmation email to the user using the SMTP protocol.
[0453] Input: SQL query result (availability)
[0454] Output: Reservation confirmation information
[0455] Order analysis and cooking
[0456] Step 4:
[0457] When the user arrives at the restaurant, the user inputs and transmits an arrival notification from the terminal.
[0458] Specific action: The user presses the "I've arrived" button on the restaurant terminal (tablet).
[0459] Input: Arrival Notification
[0460] Output: Arrival notification data
[0461] Step 5:
[0462] The user enters the food they want to eat into the order form and submits it.
[0463] Specific operation: The user enters "Wagyu steak" or similar into the order form and presses the "Submit" button.
[0464] Input: Order Request
[0465] Output: Order request data
[0466] Step 6:
[0467] The server receives the order request and analyzes it using natural language processing techniques.
[0468] Specific operation: The server uses natural language processing technology (e.g., GPT-4) to analyze the order details and identify the corresponding recipe ID.
[0469] Input: Order request data
[0470] Output: Recipe ID
[0471] Step 7:
[0472] The server sends cooking instructions to the robotic cooking device.
[0473] Specific operation: The server sends the recipe ID for Wagyu steak to Moley Kitchen Robot and starts cooking.
[0474] Input: Recipe ID
[0475] Output: Cooking instructions
[0476] Inventory management
[0477] Step 8:
[0478] The server checks the availability of ingredients associated with the order.
[0479] What happens: The server sends an SQL query to the PostgreSQL database to get inventory status.
[0480] Input: Order request data
[0481] Output: Stock availability data
[0482] Step 9:
[0483] If there is a shortage of stock, the server generates an alternative and suggests it to the user.
[0484] What happens: The server identifies the missing ingredients and notifies the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[0485] Input: Inventory status data
[0486] Output: Alternative proposal data
[0487] Step 10:
[0488] The server records the quantity of ingredients consumed in an inventory database.
[0489] What happens: The server updates the inventory database to record the quantity of ingredients consumed.
[0490] Input: Food consumption data
[0491] Output: Updated inventory data
[0492] Emotion Recognition and Adaptation
[0493] Step 11:
[0494] The emotion engine analyzes the user's voice and facial expressions to identify emotions.
[0495] How it works: The server sends data collected via the camera and microphone to Microsoft Azure's Cognitive Services for emotional analysis.
[0496] Input: Voice data, facial expression data
[0497] Output: Emotion data
[0498] Step 12:
[0499] The server generates an appropriate service based on the analysis results and sends an execution instruction.
[0500] Specific operation: Based on the results obtained from the emotion engine, the server sends an instruction to the sound device or other system, for example, "play relaxing music."
[0501] Input: Emotion data
[0502] Output: Service delivery instructions
[0503] Accounting
[0504] Step 13:
[0505] The server automatically calculates the bill based on the order history.
[0506] Specific operation: The server retrieves the order history from the order database and calculates the total amount.
[0507] Input: Order history data
[0508] Output: Invoice data
[0509] Step 14:
[0510] The server displays the bill on the terminal.
[0511] Specific operation: The server sends the billing information to the terminal and displays it on the screen.
[0512] Input: Invoice data
[0513] Output: Displayed invoice
[0514] Step 15:
[0515] The user selects a payment method and enters the information into the terminal. The server processes the payment information.
[0516] Specific behavior: The user selects a credit card and enters the information into the terminal, and the server completes the payment using the Stripe API.
[0517] Input: Payment Information
[0518] Output: Payment completion data
[0519] Personalized suggestions
[0520] Step 16:
[0521] The server generates suggestions based on the user's past order history and emotional data.
[0522] Specific operation: The server analyzes the order history database and emotion data to generate suitable suggestions for the customer's next visit.
[0523] Input: Order history data, emotion data
[0524] Output: Proposal
[0525] Step 17:
[0526] The server notifies the user of the proposal.
[0527] What it does: The server sends a notification to the user's device and displays personalized suggestions.
[0528] Input: Proposal
[0529] Output: Personalized suggestion notification
[0530] (Application example 2)
[0531] 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."
[0532] In modern restaurant operations, many tasks, such as reservation management, order processing, inventory management, and emotion recognition, are performed manually, resulting in inefficiency and a high risk of human error. Furthermore, providing services based on user emotions is difficult, creating a need for improved customer satisfaction. Given this background, there is a growing need for a system that can streamline restaurant operations, maintain consistent quality, and provide personalized services based on user emotions.
[0533] 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.
[0534] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, and means for analyzing the user's emotions using a smartphone camera or microphone and providing services based on the analysis results, thereby improving the efficiency of restaurant operations and providing personalized services based on the user's emotions.
[0535] A "reservation request" is a request sent by a user to a restaurant to reserve a table at a specific date and time.
[0536] "Reservation status" refers to whether or not a seat is available at a restaurant on a specific date and time.
[0537] "Reservation confirmation information" is information sent by a restaurant in response to a reservation request sent by a user to notify the restaurant of acceptance of the reservation and to confirm matters such as the date, time, and number of people.
[0538] An "order request" is a request in which a user specifies a dish they would like to eat at a restaurant and asks for it to be served.
[0539] "Cooking instructions" are instructions indicating which dish to cook and how to cook it based on the order request.
[0540] A "robot cooking device" is a mechanical device that automatically cooks food based on programmed instructions.
[0541] "Stock status" refers to the current status of how much of a particular ingredient is in stock at a restaurant.
[0542] An "alternative" is another option that is proposed when the user's desired order cannot be provided due to reasons such as lack of stock.
[0543] "Ingredient inventory data" refers to data that records the current inventory of each ingredient used in the restaurant.
[0544] "Checkout" is the process of calculating and charging the user for the food and services they have ordered.
[0545] "Invoice" means a document specifying the fees payable by a User.
[0546] "Payment information" refers to data such as credit card information or electronic payment information used by a user to pay for an order.
[0547] "Suggested Content" refers to recommended menu items and services that the restaurant will provide the user the next time they visit the restaurant based on the user's past ordering history.
[0548] "Personalized offers" are offers that are customized based on a user's individual preferences and past ordering history.
[0549] A "smartphone camera" is a photographic device built into a smartphone and is used to acquire image data.
[0550] A "microphone" is a device for picking up sound.
[0551] "Emotion analysis" is the process of inferring a user's emotional state from their facial expressions and voice using data acquired by a camera or microphone.
[0552] "Service provision" refers to providing services and responses according to the user's requests and circumstances.
[0553] This invention is a fully automated system that combines AI technology with robotic cooking devices to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes user emotions and provides services based on those emotions.
[0554] Overall system configuration
[0555] 1. Reservation acceptance and confirmation
[0556] A user submits a reservation request using a smartphone application. The server receives this request and checks the reservation database to see if the requested date and time is available. If there is availability, the server confirms the reservation and notifies the user with the reservation confirmation information. This process uses the Python Flask framework and a SQLite database.
[0557] 2. Order analysis and preparation
[0558] When a user arrives at a restaurant, they send a notification of their arrival to the server via their smartphone application. They then input the food they want to order into the application and submit an order request. The server analyzes the order request and identifies the corresponding recipe using natural language processing technology. The cooking instructions generated are then sent to the robotic cooking device, which then automatically prepares the food.
[0559] 3. Inventory Management
[0560] The server checks the availability of ingredients related to the order and immediately suggests alternatives to the user if there is a shortage. The consumed quantity of ingredients is also updated in the inventory database. This inventory management process also uses a SQLite database.
[0561] 4. Emotion Recognition and Adaptation
[0562] The emotion engine uses the smartphone's camera and microphone to recognize the user's emotions. Based on the recognized emotions, it adjusts music playback and service content. Emotion recognition uses a deep learning model based on TensorFlow.
[0563] Specifically, if the user makes a displeased face when placing an order, the emotion engine generates a suggestion to change the music, and the server carries out the instruction.
[0564] 5. Accounting
[0565] When the user finishes their meal, the server automatically calculates the bill based on their order history and displays the bill on their smartphone. The user selects a payment method on the app, and the server processes the payment information, connecting with an electronic payment service.
[0566] 6. Personalized recommendations
[0567] The server generates personalized suggestions based on the user's past order history and emotional data for the next visit. For example, if a user has previously ordered truffle dishes, the server will send the user a notification suggesting a "new truffle dish" the next time they visit.
[0568] Hardware and software used
[0569] Hardware: Smartphone (with camera and microphone), robotic cooking device
[0570] software:
[0571] Flask (Python framework)
[0572] SQLite (database)
[0573] TensorFlow (deep learning model)
[0574] Prompt Sentence Examples
[0575] As an example of a prompt sentence to give to a generative AI model, the implementation of a "Smart Restaurant Partner" application presents the following specific requirements:
[0576] I would like to implement the following items in the "Smart Restaurant Partner" app:
[0577] 1. A reservation management system that receives user reservation requests and uses an SQLite database.
[0578] 2. Personalized menu suggestions based on past order history, using machine learning algorithms.
[0579] 3. Real-time emotion recognition using image data. Loading the model and returning the estimation results using Python.
[0580] By following these steps, a fully automated restaurant system can be realized that improves the user experience while increasing operational efficiency.
[0581] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0582] Step 1:
[0583] A user submits a reservation request using a smartphone application. The input includes the reservation date and time, number of people, and any special requests (such as allergy information). The server receives this reservation request and queries an SQLite database to check availability for the specified date and time. As an output, if the reservation is confirmed, a reservation confirmation is generated and notified to the user.
[0584] Step 2:
[0585] After the user arrives at the restaurant, they send an arrival notification to the server through their smartphone application. The arrival notification contains the data as input. The server receives this notification and prepares to proceed to the next step of order processing. The output is that the system is ready to accept the next order.
[0586] Step 3:
[0587] A user inputs an order request using a smartphone application and sends it to the server. The input includes the name of the dish and any special requests. The server receives the order request and analyzes the order using natural language processing. Based on the analyzed data, the corresponding recipe ID is identified, and cooking instructions are generated as output and sent to the robotic cooking device.
[0588] Step 4:
[0589] The server checks the availability of ingredients associated with the order. Inputs include the order details and the inventory database. If an inventory shortage occurs, the server generates an alternative and proposes it to the user. Outputs include a notification of the alternative to the user. The inventory database is updated to record the quantity of the ingredient consumed.
[0590] Step 5:
[0591] The system analyzes the user's emotions using the smartphone's camera and microphone. The input includes captured image and audio data. The server passes this data to an emotion recognition model to analyze the user's emotions. As an output, a service is provided based on the analysis results. For example, if a displeased expression is detected, the system plays relaxing music.
[0592] Step 6:
[0593] After the user finishes their meal, the server automatically calculates the bill based on the order history. The input includes the order history data. The calculated bill is displayed on the smartphone application, and the user selects a payment method. The output is the payment information sent to the payment system, and the payment is completed.
[0594] Step 7:
[0595] The server generates personalized suggestions for the user's next visit based on the user's past order history and emotional data. The input includes order history data and emotional data. The output is a notification of the personalized suggestions and sent to the user. For example, if the user has previously ordered a truffle dish, a "new truffle dish" will be suggested the next time the user visits the restaurant.
[0596] 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.
[0597] 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.
[0598] 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.
[0599] [Second embodiment]
[0600] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0601] 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.
[0602] 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).
[0603] 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.
[0604] 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.
[0605] 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).
[0606] 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.
[0607] 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.
[0608] 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.
[0609] 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.
[0610] 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.
[0611] 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."
[0612] The present invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. Each of the components constituting the system of the present invention will be described in detail below.
[0613] System Configuration
[0614] 1. Reservation acceptance and confirmation
[0615] Before a user visits a restaurant, they submit a reservation request to the system, which includes the desired date and time, number of people, and any special requests (such as allergies).
[0616] Examples:
[0617] If a user wants to make a reservation for 4 people at 19:00 on October 25th, the server will connect to the reservation database to see if there is availability for that date and time. If there is availability, the system will confirm the reservation and send the user a confirmation email.
[0618] 2. Order analysis and cooking
[0619] When a user arrives at a restaurant, they use a device (tablet or smartphone) to notify the server of their arrival. The user then orders the food they want via the device. Order details can be freely entered, and special requests (such as allergies) can also be accommodated.
[0620] Examples:
[0621] When a user orders "seafood pasta," the server receives the order request, analyzes the order using natural language processing technology, and sends the recipe ID for seafood pasta to the robotic cooking device based on the analysis results.
[0622] 3. Inventory Management
[0623] The server checks the inventory management system to see if the ingredients needed for the order are available, and if they are out of stock, the system suggests alternatives to the user.
[0624] Examples:
[0625] If an order is placed for seafood pasta and seafood is out of stock, the server will suggest to the user, "We're out of seafood, would you like to change it to chicken pasta?"
[0626] 4. Cooking instructions
[0627] The server sends cooking instructions based on the order contents to the robotic cooking device and provides food of consistent quality.
[0628] Examples:
[0629] Cooking instructions for seafood pasta are sent to the robotic cooking device, which then starts cooking accordingly.
[0630] 5. Accounting
[0631] Once the meal is finished, the server automatically calculates the bill based on the order history, displays the bill to the user via the terminal, and the user can select a payment method.
[0632] Examples:
[0633] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0634] 6. Personalized recommendations
[0635] The server analyzes the user's past ordering history and preferences, and generates personalized suggestions for the user's next visit.
[0636] Examples:
[0637] If a user has previously rated a truffle dish highly, they will receive a notification suggesting a "new truffle dish" for their next recommendation.
[0638] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves the customer experience.
[0639] The processing flow will be explained below.
[0640] (Reception processing)
[0641] Step 1:
[0642] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[0643] Step 2:
[0644] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[0645] Step 3:
[0646] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[0647] (Order Processing)
[0648] Step 1:
[0649] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[0650] Step 2:
[0651] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[0652] Step 3:
[0653] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[0654] Step 4:
[0655] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[0656] (Inventory management and cooking instructions)
[0657] Step 1:
[0658] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[0659] Step 2:
[0660] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[0661] Step 3:
[0662] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[0663] (Accounting)
[0664] Step 1:
[0665] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[0666] Step 2:
[0667] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[0668] Step 3:
[0669] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[0670] (Personalized suggestions)
[0671] Step 1:
[0672] The server retrieves relevant information from an order history database to analyze the user's past order history and preferences.
[0673] Step 2:
[0674] The server uses machine learning algorithms to analyze user preferences and generate personalized suggestions.
[0675] Step 3:
[0676] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit. For example, the recommendation could include new menu items or special discounts.
[0677] Example 1
[0678] 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."
[0679] In traditional restaurant operations, processes such as reservations, orders, inventory management, cooking, and accounting are often managed separately, creating a need for greater efficiency. Furthermore, there is a lack of mechanisms for providing consistent quality food while minimizing food waste. Furthermore, it is difficult to provide personalized suggestions that take into account user preferences and past ordering history, making it difficult to improve customer satisfaction.
[0680] 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.
[0681] In this invention, the server includes means for receiving reservation requests from users, means for checking reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving arrival notifications from users and managing arrival status, means for receiving order requests from users and analyzing the order requests to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, thereby improving the efficiency of restaurant operations overall, reducing ingredient waste, providing food of consistent quality, and improving the user experience.
[0682] "Reservation Request" means a reservation request that includes the User's desired date and time, number of people, and any special requests (such as allergy information).
[0683] The "reservation status checking means" refers to a means for connecting to a reservation database based on a reservation request and checking whether there is availability on the specified date and time.
[0684] "Reservation confirmation information" refers to detailed reservation information that is sent to the user when the reservation is confirmed.
[0685] "Arrival Notification" means the means used to notify the server that a user has arrived at the restaurant.
[0686] "Order Request" means a request by a User to transmit via a Terminal the food they would like to eat at a restaurant or any special requests.
[0687] "Order request analysis means" refers to a means for analyzing the contents of a user's order using natural language processing technology and identifying the corresponding recipe.
[0688] "Cooking instructions" refers to the specific cooking steps and recipe ID sent to the robotic cooking device based on the analyzed order details.
[0689] "Robot cooking device" means a device that automatically cooks food according to cooking instructions from a server.
[0690] "Stock status confirmation means" means a means for confirming whether ingredients related to an order are available through an inventory management system.
[0691] "Alternatives" means other food or ingredient options offered to the user in the event of a shortage.
[0692] "Stock data update means" refers to a means for keeping stock information updated as orders and cooking progress.
[0693] "Accounting means" refers to a means for automatically calculating the account based on the user's order history and issuing an invoice.
[0694] "Payment information processing means" means a means for making a payment based on the payment method selected by the user.
[0695] The "means for generating proposals" refers to a means for analyzing the user's past order history and generating personalized proposals for the next visit to the store.
[0696] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. This system comprehensively manages everything from receiving reservation requests from users to cooking, accounting, and personalized suggestions for the next visit. Specific embodiments of the system are described below.
[0697] Hardware and software used
[0698] Server: A central management system that handles reservation management, order analysis, inventory management, cooking instructions, accounting calculations, and personalized proposal generation.
[0699] Terminal: The device (tablet or smartphone) where users make reservations, receive notifications, place orders, and make payments.
[0700] Robotic cooking device: An automatic cooking device that cooks according to cooking instructions from a server.
[0701] Natural language processing technology: Software technology for analyzing user orders.
[0702] Inventory management system: A system that manages the inventory of ingredients related to orders.
[0703] Payment System: A system that processes user payments.
[0704] Specific step-by-step instructions
[0705] 1. Reservation acceptance and confirmation
[0706] The user uses the terminal to enter the desired date and time, number of people, and any special requests into the reservation form. When the user presses the submit button, the request is sent to the server.
[0707] The server receives the reservation request and connects to the reservation database to check if there are any openings for the specified date and time. For example, it checks for reservations for 4 people at 19:00 on October 25th.
[0708] If availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[0709] Example prompts to be input to the generative AI model:
[0710] Please confirm the reservation with the following details: Desired date and time: October 25th, 19:00, Number of people: 4, Special requests: None. Please let me know if there are any openings on the date and time.
[0711] 2. Arrival notification and order analysis
[0712] When the user arrives at the restaurant, the terminal sends an arrival notification, which lets the server know that the user has arrived.
[0713] The user orders the food they want through the terminal, for example, selecting "seafood pasta" and entering any special requests.
[0714] The server receives the order request and analyzes the order using natural language processing technology. For example, if the text is "seafood pasta," the server sends the corresponding recipe ID to the robotic cooking device.
[0715] Example prompts to be input to the generative AI model:
[0716] User order: 'Seafood Pasta'. Parse this order and send the appropriate recipe ID to the robotic cooking device.
[0717] 3. Check inventory and propose alternatives
[0718] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, it checks the stock of seafood.
[0719] If there is a shortage of stock, the server will suggest an alternative to the user, for example sending a message saying, "We are out of seafood, would you like to switch to chicken pasta?"
[0720] Example prompts to be input to the generative AI model:
[0721] An order for seafood pasta is placed, but seafood is out of stock. Suggest chicken pasta as an alternative to the user.
[0722] 4. Send cooking instructions
[0723] The server creates cooking instructions based on the order, including specific recipe IDs and cooking steps.
[0724] The server sends the cooking instructions to the robotic cooking device, which then starts cooking according to the instructions. For example, if an instruction to cook seafood pasta is sent, the robotic cooking device will pick up the necessary ingredients and start cooking.
[0725] Example prompts to be input to the generative AI model:
[0726] Send cooking instructions for seafood pasta to your robotic cooking device.
[0727] 5. Accounting
[0728] Once the meal is finished, the server automatically calculates the bill based on the order history.
[0729] The terminal displays a bill based on the user's order history, and the user selects a payment method (credit card, cash, etc.).
[0730] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0731] Example prompts to be input to the generative AI model:
[0732] Calculate the bill based on the user's order history and display the invoice. If the user chooses to pay by credit card, connect to the payment system to complete the payment.
[0733] 6. Personalized recommendations
[0734] The server analyzes the user's past ordering history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, the server generates suggestions based on this data.
[0735] The server decides what dishes and services to offer the user the next time they visit and sends a notification to them, such as "Try our new truffle dish next time."
[0736] Example prompts to be input to the generative AI model:
[0737] Analyze the user's past order history to determine what dishes to suggest the next time they visit. If the user has previously rated a truffle dish highly, send them a notification suggesting a new truffle dish the next time.
[0738] In this way, the system of the present invention centrally manages everything from user reservations to orders, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[0739] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0740] Step 1:
[0741] Receiving and confirming booking requests
[0742] The user uses a terminal to enter the desired date and time, number of people, and any special requests into a reservation form. The entered reservation request is sent to the server. The server receives the reservation request and queries the reservation database to check whether there is availability for the specified date and time. The server receives a response from the reservation database, and if availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[0743] Input: User reservation request (desired date and time, number of people, special requests)
[0744] Data processing: querying the reservation database to check availability
[0745] Output: Reservation confirmation email sent to user
[0746] Step 2:
[0747] Receive and manage arrival notifications
[0748] When a user arrives at a restaurant, he or she uses a terminal to send an arrival notification to the server. The server receives the arrival notification and records the user's arrival status in the management system. This allows the server to recognize that the user has arrived.
[0749] Input: Arrival notification from user
[0750] Data processing: Recording and management of arrival status
[0751] Output: Arrival status update on the server
[0752] Step 3:
[0753] Receiving and parsing order requests
[0754] The user orders the food they want to eat through a terminal. For example, they select "seafood pasta" and enter any special requests. The order request is sent to the server. The server receives the order request and analyzes the order using natural language processing technology. From the analyzed text, the corresponding recipe ID is identified and sent to the robotic cooking device.
[0755] Input: User order request (dish name, special requests)
[0756] Data processing: Text analysis using natural language processing technology, recipe ID identification
[0757] Output: Recipe ID sent to the robotic cooking device
[0758] Step 4:
[0759] Check stock availability and suggest alternatives
[0760] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, the server checks the stock of seafood. If there is insufficient stock, the server sends a message to the user saying, "We are out of seafood. Would you like to change to chicken pasta?"
[0761] Input: Recipe ID, Availability Request
[0762] Data processing: Data integration with inventory management system, checking stock status
[0763] Output: Alternative suggestion message to user
[0764] Step 5:
[0765] Generate and send cooking instructions
[0766] The server creates cooking instructions based on the order details and inventory status. The created cooking instructions include specific recipe IDs and cooking steps. The server sends these cooking instructions to the robotic cooking device, which then begins cooking according to the instructions.
[0767] Input: Order details, stock status
[0768] Data processing: Generate cooking instructions (recipe ID, cooking steps)
[0769] Output: Send cooking instructions to the robotic cooking device
[0770] Step 6:
[0771] Accounting
[0772] When the user finishes their meal, the server automatically calculates the bill based on their order history. The generated bill information is displayed on the terminal. The user selects a payment method (credit card, cash, etc.) through the terminal and enters payment information. The server then works with the payment system to complete the payment.
[0773] Input: Order History
[0774] Data processing: accounting calculations, invoice generation
[0775] Output: Displaying bills on the terminal, linking with payment systems
[0776] Step 7:
[0777] Generate and notify personalized suggestions
[0778] The server analyzes the user's past order history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, it generates suggestions based on this data. The server then decides which dishes and services to suggest for the user's next visit and sends a notification to the user. For example, it sends a notification saying, "Please try our new truffle dish next time."
[0779] Input: User's past order history
[0780] Data processing: analyzing order history and generating proposals
[0781] Output: Personalized suggestion notification to user
[0782] Through the above steps, the system of the present invention centrally manages everything from user reservations to ordering, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[0783] (Application example 1)
[0784] 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."
[0785] Modern restaurants handle a wide range of tasks, including taking reservations, analyzing orders, managing inventory, providing cooking instructions, accounting, and providing personalized recommendations to customers. There is a need to streamline these tasks and provide high-quality food while minimizing food waste. However, conventional systems have struggled to manage these tasks in an integrated manner and provide the convenience of smartphones. It has also been difficult to generate personalized recommendations based on a user's past ordering history and effectively notify them for the next visit.
[0786] 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.
[0787] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the automatic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating a bill based on the user's order history and displaying a bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, means for notifying the user of arrival at the restaurant using a smartphone, and means for the user to select a payment method and complete payment using a smartphone. This makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[0788] The "means for receiving a reservation request from a user" is a function that allows the server to receive a request from a user to make a reservation at a restaurant.
[0789] The "means for checking reservation status based on reservation request" is a function for checking whether a reservation is possible on the desired date and time by checking the reservation register or database based on the received reservation request.
[0790] The "means for notifying the user of reservation confirmation information when the reservation is confirmed" is a function for notifying the user of the confirmation information when the reservation is confirmed.
[0791] "Means for receiving an order request from a user, analyzing the order request, and generating cooking instructions" is a function that allows the server to receive a request for a dish ordered by a user, analyze it, and generate the instructions necessary for cooking.
[0792] The "means for transmitting cooking instructions to an automatic cooking device" is a function for transmitting the generated cooking instructions to a robot or an automated cooking device.
[0793] "Means for checking the stock status of ingredients related to an order and suggesting alternatives to the user if there is a shortage of stock" is a function for checking the stock of ingredients required for an order and suggesting alternatives to the user if there is a shortage.
[0794] The "means for updating ingredient inventory data" is a function for updating ingredient inventory data in real time according to orders and usage status.
[0795] "Means for calculating the bill based on the user's order history and displaying the invoice to the user" is a function for automatically calculating the bill based on the user's past order history and presenting the invoice to the user.
[0796] The "means for processing user payment information" is a function for processing payment information based on the payment method selected by the user.
[0797] "Means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions the next time they visit the store" is a function for analyzing the user's past order history and generating and notifying personalized suggestions based on that the next time they visit the store.
[0798] The "means for a user to notify a server of arrival at a restaurant using a smartphone" is a function for a user to notify a server that they have arrived at a restaurant using a smartphone.
[0799] "Means for users to select a payment method using a smartphone and complete payment" refers to a function that allows users to select the desired payment method using a smartphone and complete the payment.
[0800] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. The system includes functions for taking reservations, analyzing orders, managing inventory, providing cooking instructions, processing bills, and providing personalized suggestions.
[0801] System Configuration
[0802] 1. Reservation acceptance and confirmation
[0803] The user makes a reservation using their smartphone by inputting the desired date and time, number of people, and any special requests (such as allergy information). The server receives the reservation request and checks the reservation status against the reservation database. If there is availability, the server confirms the reservation and notifies the user of the reservation confirmation information.
[0804] 2. Arrival notification and order analysis
[0805] When a user arrives at a restaurant, they notify the server of their arrival using their smartphone. The user then orders the food they want directly from their smartphone. The server receives the order request, analyzes it using natural language processing technology, and generates cooking instructions. The generated cooking instructions are then sent to the automatic cooking device.
[0806] 3. Inventory management and alternative proposals
[0807] The server checks the availability of ingredients related to the order. If there is a shortage, the server will suggest an alternative to the user. For example, if seafood pasta is out of stock, the server will suggest changing to chicken pasta.
[0808] 4. Accounting
[0809] Based on the user's order history, the server processes the bill and displays the invoice on the user's smartphone. The user then selects a payment method and completes the transaction.
[0810] 5. Personalized recommendations
[0811] The server analyzes the user's past order history and generates personalized recommendations for the next visit. For example, if the user has previously rated truffle dishes highly, the server will suggest new truffle dishes.
[0812] Hardware / Software Used
[0813] Server: Flask (Python web framework)
[0814] Database: SQLite (a simple database management system)
[0815] Client: Smartphone (iOS / Android)
[0816] Specific examples
[0817] Examples of reservation acceptance:
[0818] If a user sends a request from their smartphone requesting a reservation for four people at 7:00 PM on October 25th, the server receives the request, queries the reservation database to check availability, and if there is availability, confirms the reservation and notifies the user with the confirmation.
[0819] Example prompt sentence:
[0820] "User wants to make a restaurant reservation for 4 people on October 25th at 7:00 PM. Please check availability for that date and time and confirm the reservation."
[0821] In this way, the present invention provides a comprehensive system for streamlining restaurant operations and providing high-quality service to users.
[0822] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0823] Step 1:
[0824] Receiving a booking request
[0825] The user inputs a reservation request from a device (smartphone). The input includes the desired date and time, number of people, and special requests (such as allergy information). This data is sent to the server, which then receives the reservation request.
[0826] Input: reservation date and time, number of people, special requests
[0827] Output: Reservation request data received
[0828] Step 2:
[0829] Check reservation status
[0830] Based on the received reservation request, the server sends a query to the reservation database to check availability for the desired date and time. The reservation database responds to the query and replies to the server whether there is availability for the specified date and time.
[0831] Input: Reservation request data
[0832] Output:Available / unavailable reservation information
[0833] Step 3:
[0834] Notification of reservation confirmation information
[0835] When a reservation is confirmed, the server generates reservation confirmation information and notifies the terminal (smartphone) of this, allowing the user to know that the reservation has been confirmed.
[0836] Input:Available reservation information
[0837] Output: Reservation confirmation notice
[0838] Step 4:
[0839] Receiving arrival notifications
[0840] When the user arrives at the restaurant at the reserved date and time, they notify the server of their arrival using their smartphone. The server receives the arrival notification and prepares to proceed to the next step.
[0841] Input: Arrival Notification
[0842] Output: Received arrival notification
[0843] Step 5:
[0844] Receiving and parsing order requests
[0845] The user sends a food order request from their device. The server receives the order request and analyzes the order using natural language processing technology. Cooking instructions are generated based on the analysis results.
[0846] Input: Order Request
[0847] Output: Parsed order details and cooking instructions
[0848] Step 6:
[0849] Send cooking instructions
[0850] The server sends the generated cooking instructions to the automatic cooking device, which then begins preparing the food based on the received instructions.
[0851] Input: Cooking instructions
[0852] Output: Sending instructions to the automatic cooking device
[0853] Step 7:
[0854] Check inventory and offer alternatives
[0855] The server checks the availability of ingredients needed for the order. If there is a shortage, the server generates an alternative and sends it to the device (smartphone). The user checks the alternative and approves it or places another order as necessary.
[0856] Input: Order request, inventory data
[0857] Output: Alternative proposals
[0858] Step 8:
[0859] Updating food inventory data
[0860] The server updates food inventory data in real time according to orders and cooking status, making it possible to always maintain the latest inventory information.
[0861] Input: Order history, cooking status
[0862] Output: Updated inventory data
[0863] Step 9:
[0864] Accounting and billing
[0865] The server calculates the bill based on the user's order history, generates an invoice, and displays it on the user's smartphone for confirmation.
[0866] Input: Order History
[0867] Output: View invoice
[0868] Step 10:
[0869] Processing payment information
[0870] The user selects a payment method using their smartphone and makes the payment. The server receives the payment information and completes the payment.
[0871] Input: User's payment information
[0872] Output: Payment completion notification
[0873] Step 11:
[0874] Generate and notify personalized suggestions
[0875] The server analyzes the user's past order history and generates personalized suggestions for the next visit, which are then sent to the user's smartphone.
[0876] Input: Past order history
[0877] Output: Personalized suggestion notification
[0878] The above are the specific processing steps of the system for carrying out the invention, which makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[0879] 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.
[0880] This invention is a fully automated system that combines AI technology with a robotic cooking device, aiming to improve the efficiency of restaurant operations and the user experience. Furthermore, this invention is characterized by its configuration that combines an emotion engine that recognizes the user's emotions and provides services based on them.
[0881] System Configuration
[0882] 1. Reservation acceptance and confirmation
[0883] The user uses a terminal to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (such as allergy information). The server connects to the reservation database to check availability for that date and time, and if the reservation is confirmed, it notifies the user with reservation confirmation information.
[0884] Examples:
[0885] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[0886] 2. Order analysis and cooking
[0887] When a user arrives at a restaurant, they use their device to send a notification of their arrival to the server. They then freely input the food they want to eat and submit an order request. The server analyzes the order, identifies the corresponding recipe, and sends cooking instructions to the robotic cooking device.
[0888] Examples:
[0889] When a user orders a "Wagyu steak," the server receives the order, analyzes the order using natural language processing technology, identifies the recipe ID for the Wagyu steak, and sends it to the robotic cooking device.
[0890] 3. Inventory Management
[0891] The server checks the availability of ingredients related to the order, suggests alternatives to the user if they are out of stock, and records the consumed ingredient quantities in an inventory database, updating the inventory status.
[0892] Examples:
[0893] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[0894] 4. Emotion Recognition and Adaptation
[0895] The emotion engine analyzes the user's voice and facial expressions to identify their emotions and provides services based on these. The emotion engine monitors the user's emotions in real time when ordering and while eating, and responds appropriately.
[0896] Examples:
[0897] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[0898] 5. Accounting
[0899] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill to the user. The user selects a payment method on the terminal, and the server processes the payment information.
[0900] Examples:
[0901] If the user selects to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[0902] 6. Personalized recommendations
[0903] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[0904] Examples:
[0905] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[0906] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[0907] The processing flow will be explained below.
[0908] (Reception processing)
[0909] Step 1:
[0910] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[0911] Step 2:
[0912] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[0913] Step 3:
[0914] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[0915] (Order Processing)
[0916] Step 1:
[0917] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[0918] Step 2:
[0919] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[0920] Step 3:
[0921] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[0922] Step 4:
[0923] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[0924] (Inventory management and cooking instructions)
[0925] Step 1:
[0926] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[0927] Step 2:
[0928] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[0929] Step 3:
[0930] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[0931] (Emotion Recognition and Adaptation)
[0932] Step 1:
[0933] When a user places an order using the terminal, the emotion engine analyzes the user's voice and facial expressions in real time.
[0934] Step 2:
[0935] The emotion engine identifies the user's emotion based on the analysis results and sends that information to the server.
[0936] Step 3:
[0937] The server considers ways to provide appropriate services based on the user's emotional information. For example, if the user is feeling stressed, it generates a proposal to provide a relaxing environment.
[0938] Step 4:
[0939] The server sends instructions to the relevant devices to execute the service content suggested by the emotion engine, for example, playing relaxing music.
[0940] (Accounting)
[0941] Step 1:
[0942] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[0943] Step 2:
[0944] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[0945] Step 3:
[0946] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[0947] (Personalized suggestions)
[0948] Step 1:
[0949] The server acquires and analyzes the user's past order history and emotional data.
[0950] Step 2:
[0951] The server uses machine learning algorithms to analyze the user's preferences and generate personalized recommendations for the next visit.
[0952] Step 3:
[0953] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit, for example, offering new menu items or special discounts.
[0954] Example 2
[0955] 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."
[0956] Conventional restaurant operations often rely on manual labor for a wide range of tasks, including taking reservations, processing orders, managing inventory, and accounting, creating a need for greater operational efficiency. Improving the user experience is also an important issue, which includes understanding user emotions and providing services based on those emotions. The present invention aims to solve these issues and improve the efficiency of restaurant operations and the user experience.
[0957] 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.
[0958] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for receiving arrival notifications from a user and processing the arrival information, means for recognizing emotions from the user's voice and facial expressions and providing service based on the recognized emotions, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the user's next visit, thereby enabling efficient restaurant operations and providing high-quality service based on the user's emotions.
[0959] A "reservation request" is a request containing information indicating a user's desire to visit a restaurant with a specific number of people at a specific date and time.
[0960] "Reservation status" refers to the availability of seats at a restaurant on a specific date and time and whether or not a reservation has already been made.
[0961] "Reservation confirmation information" is detailed reservation information that is notified to the user when the user's reservation is confirmed.
[0962] An "order request" is a request by a user to specify the food and drink they would like to eat at a restaurant.
[0963] "Cooking instructions" refer to instructions for the robotic cooking device to cook a specific dish, generated based on a received order request.
[0964] A "robotic cooking device" is a mechanical device used to automatically cook food.
[0965] "Inventory status of ingredients" refers to the current stock and remaining amount of various ingredients at the restaurant.
[0966] "Inventory data" refers to recorded data such as the stock and consumption amounts of each type of food ingredient.
[0967] An "arrival notification" is information that notifies the server that the user has arrived at the restaurant.
[0968] "Emotion recognition" is a technology that analyzes a user's voice and facial expressions to identify their emotions at that time.
[0969] "Payment" refers to calculating the total amount of food and drinks ordered by the user.
[0970] "Invoice" means information in paper or digital form that notifies a user of an amount due.
[0971] "Payment information" refers to information related to settlement, such as credit card information, required when a user makes a payment.
[0972] "Suggestions" refer to dishes and services that will be suggested for the next visit, generated based on the user's past order history and emotional data.
[0973] The present invention is a fully automated system that combines AI technology with a robotic cooking device to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes the user's emotions and provides services based on those emotions. Specific embodiments of this system are described below.
[0974] System Configuration
[0975] Reservation acceptance and confirmation
[0976] The user uses a device (smartphone or PC) to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (allergy information, etc.). The server connects to a reservation database (e.g., PostgreSQL) to check availability for that date and time, and if the reservation is confirmed, it notifies the user by email (using the SMTP protocol) with reservation confirmation information.
[0977] Examples:
[0978] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[0979] Example prompt: "Please enter your desired reservation date and time and number of people."
[0980] Order analysis and cooking
[0981] When a user arrives at a restaurant, they use a device (such as a tablet) to send a notification of their arrival to the server. The user then freely enters the dishes they want into an order form and submits an order request. The server then analyzes the order using natural language processing technology (e.g., GPT-4), identifies the corresponding recipe, and sends cooking instructions to a robotic cooking device (e.g., Moley Kitchen Robot).
[0982] Examples:
[0983] When a user orders a "Wagyu steak," the server uses NLP technology to analyze the order and identify the recipe ID for the Wagyu steak, which is then sent to the robotic cooking device to begin cooking.
[0984] Example prompt: "I'd like to order a Wagyu steak."
[0985] Inventory management
[0986] The server checks the availability of ingredients related to the order and, if they are out of stock, suggests alternatives to the user. The server connects to an inventory database (e.g., PostgreSQL) to record the quantities of ingredients consumed and update the inventory status.
[0987] Examples:
[0988] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[0989] Example prompt: "Please check stock availability and suggest alternatives."
[0990] Emotion Recognition and Adaptation
[0991] An emotion engine (for example, Microsoft Azure's Cognitive Services) analyzes the user's voice and facial expressions to identify their emotions. It uses a combination of cameras and microphones to collect data and analyzes it in real time. The emotion engine monitors the user's emotions when ordering and while eating and responds appropriately.
[0992] Examples:
[0993] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[0994] Example prompt: "Analyze the user's emotions and respond accordingly."
[0995] Accounting
[0996] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill on the terminal. The user selects a payment method, and the server processes the payment information. The payment system uses the Stripe API.
[0997] Examples:
[0998] When a user selects to pay by credit card, the information is entered via the terminal, and the server works with the payment system to complete the payment.
[0999] Example prompt: "Please perform accounting procedures."
[1000] Personalized suggestions
[1001] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[1002] Examples:
[1003] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[1004] Example prompt: "Generate suggestions based on user data."
[1005] This system enables efficient restaurant operations and reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[1006] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1007] Reservation acceptance and confirmation
[1008] Step 1:
[1009] The user uses a terminal (smartphone or PC) to input and submit a reservation request.
[1010] Specific operation: The user enters the desired date and time, number of people, and special requests (such as allergy information) into the reservation form and presses the "Submit" button.
[1011] Input: Desired date and time, number of people, special requests
[1012] Output: Booking request data
[1013] Step 2:
[1014] The server receives the reservation request and connects to the reservation database.
[1015] What happens: The server sends an SQL query to the PostgreSQL database to inquire about availability for the specified date and time.
[1016] Input: Booking request data
[1017] Output: SQL query result (availability)
[1018] Step 3:
[1019] The server checks availability and generates reservation confirmation information.
[1020] Specific behavior: If the result of the SQL query is "Available," the server confirms the reservation and sends a reservation confirmation email to the user using the SMTP protocol.
[1021] Input: SQL query result (availability)
[1022] Output: Reservation confirmation information
[1023] Order analysis and cooking
[1024] Step 4:
[1025] When the user arrives at the restaurant, the user inputs and transmits an arrival notification from the terminal.
[1026] Specific action: The user presses the "I've arrived" button on the restaurant terminal (tablet).
[1027] Input: Arrival Notification
[1028] Output: Arrival notification data
[1029] Step 5:
[1030] The user enters the food they want to eat into the order form and submits it.
[1031] Specific operation: The user enters "Wagyu steak" or similar into the order form and presses the "Submit" button.
[1032] Input: Order Request
[1033] Output: Order request data
[1034] Step 6:
[1035] The server receives the order request and analyzes it using natural language processing techniques.
[1036] Specific operation: The server uses natural language processing technology (e.g., GPT-4) to analyze the order details and identify the corresponding recipe ID.
[1037] Input: Order request data
[1038] Output: Recipe ID
[1039] Step 7:
[1040] The server sends cooking instructions to the robotic cooking device.
[1041] Specific operation: The server sends the recipe ID for Wagyu steak to Moley Kitchen Robot and starts cooking.
[1042] Input: Recipe ID
[1043] Output: Cooking instructions
[1044] Inventory management
[1045] Step 8:
[1046] The server checks the availability of ingredients associated with the order.
[1047] What happens: The server sends an SQL query to the PostgreSQL database to get inventory status.
[1048] Input: Order request data
[1049] Output: Stock availability data
[1050] Step 9:
[1051] If there is a shortage of stock, the server generates an alternative and suggests it to the user.
[1052] What happens: The server identifies the missing ingredients and notifies the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[1053] Input: Inventory status data
[1054] Output: Alternative proposal data
[1055] Step 10:
[1056] The server records the quantity of ingredients consumed in an inventory database.
[1057] What happens: The server updates the inventory database to record the quantity of ingredients consumed.
[1058] Input: Food consumption data
[1059] Output: Updated inventory data
[1060] Emotion Recognition and Adaptation
[1061] Step 11:
[1062] The emotion engine analyzes the user's voice and facial expressions to identify emotions.
[1063] How it works: The server sends data collected via the camera and microphone to Microsoft Azure's Cognitive Services for emotional analysis.
[1064] Input: Voice data, facial expression data
[1065] Output: Emotion data
[1066] Step 12:
[1067] The server generates an appropriate service based on the analysis results and sends an execution instruction.
[1068] Specific operation: Based on the results obtained from the emotion engine, the server sends an instruction to the sound device or other system, for example, "play relaxing music."
[1069] Input: Emotion data
[1070] Output: Service delivery instructions
[1071] Accounting
[1072] Step 13:
[1073] The server automatically calculates the bill based on the order history.
[1074] Specific operation: The server retrieves the order history from the order database and calculates the total amount.
[1075] Input: Order history data
[1076] Output: Invoice data
[1077] Step 14:
[1078] The server displays the bill on the terminal.
[1079] Specific operation: The server sends the billing information to the terminal and displays it on the screen.
[1080] Input: Invoice data
[1081] Output: Displayed invoice
[1082] Step 15:
[1083] The user selects a payment method and enters the information into the terminal. The server processes the payment information.
[1084] Specific behavior: The user selects a credit card and enters the information into the terminal, and the server completes the payment using the Stripe API.
[1085] Input: Payment Information
[1086] Output: Payment completion data
[1087] Personalized suggestions
[1088] Step 16:
[1089] The server generates suggestions based on the user's past order history and emotional data.
[1090] Specific operation: The server analyzes the order history database and emotion data to generate suitable suggestions for the customer's next visit.
[1091] Input: Order history data, emotion data
[1092] Output: Proposal
[1093] Step 17:
[1094] The server notifies the user of the proposal.
[1095] What it does: The server sends a notification to the user's device and displays personalized suggestions.
[1096] Input: Proposal
[1097] Output: Personalized suggestion notification
[1098] (Application example 2)
[1099] 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."
[1100] In modern restaurant operations, many tasks, such as reservation management, order processing, inventory management, and emotion recognition, are performed manually, resulting in inefficiency and a high risk of human error. Furthermore, providing services based on user emotions is difficult, creating a need for improved customer satisfaction. Given this background, there is a growing need for a system that can streamline restaurant operations, maintain consistent quality, and provide personalized services based on user emotions.
[1101] 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.
[1102] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, and means for analyzing the user's emotions using a smartphone camera or microphone and providing services based on the analysis results, thereby improving the efficiency of restaurant operations and providing personalized services based on the user's emotions.
[1103] A "reservation request" is a request sent by a user to a restaurant to reserve a table at a specific date and time.
[1104] "Reservation status" refers to whether or not a seat is available at a restaurant on a specific date and time.
[1105] "Reservation confirmation information" is information sent by a restaurant in response to a reservation request sent by a user to notify the restaurant of acceptance of the reservation and to confirm matters such as the date, time, and number of people.
[1106] An "order request" is a request in which a user specifies a dish they would like to eat at a restaurant and asks for it to be served.
[1107] "Cooking instructions" are instructions indicating which dish to cook and how to cook it based on the order request.
[1108] A "robot cooking device" is a mechanical device that automatically cooks food based on programmed instructions.
[1109] "Stock status" refers to the current status of how much of a particular ingredient is in stock at a restaurant.
[1110] An "alternative" is another option that is proposed when the user's desired order cannot be provided due to reasons such as lack of stock.
[1111] "Ingredient inventory data" refers to data that records the current inventory of each ingredient used in the restaurant.
[1112] "Checkout" is the process of calculating and charging the user for the food and services they have ordered.
[1113] "Invoice" means a document specifying the fees payable by a User.
[1114] "Payment information" refers to data such as credit card information or electronic payment information used by a user to pay for an order.
[1115] "Suggested Content" refers to recommended menu items and services that the restaurant will provide the user the next time they visit the restaurant based on the user's past ordering history.
[1116] "Personalized offers" are offers that are customized based on a user's individual preferences and past ordering history.
[1117] A "smartphone camera" is a photographic device built into a smartphone and is used to acquire image data.
[1118] A "microphone" is a device for picking up sound.
[1119] "Emotion analysis" is the process of inferring a user's emotional state from their facial expressions and voice using data acquired by a camera or microphone.
[1120] "Service provision" refers to providing services and responses according to the user's requests and circumstances.
[1121] This invention is a fully automated system that combines AI technology with robotic cooking devices to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes user emotions and provides services based on those emotions.
[1122] Overall system configuration
[1123] 1. Reservation acceptance and confirmation
[1124] A user submits a reservation request using a smartphone application. The server receives this request and checks the reservation database to see if the requested date and time is available. If there is availability, the server confirms the reservation and notifies the user with the reservation confirmation information. This process uses the Python Flask framework and a SQLite database.
[1125] 2. Order analysis and preparation
[1126] When a user arrives at a restaurant, they send a notification of their arrival to the server via their smartphone application. They then input the food they want to order into the application and submit an order request. The server analyzes the order request and identifies the corresponding recipe using natural language processing technology. The cooking instructions generated are then sent to the robotic cooking device, which then automatically prepares the food.
[1127] 3. Inventory Management
[1128] The server checks the availability of ingredients related to the order and immediately suggests alternatives to the user if there is a shortage. The consumed quantity of ingredients is also updated in the inventory database. This inventory management process also uses a SQLite database.
[1129] 4. Emotion Recognition and Adaptation
[1130] The emotion engine uses the smartphone's camera and microphone to recognize the user's emotions. Based on the recognized emotions, it adjusts music playback and service content. Emotion recognition uses a deep learning model based on TensorFlow.
[1131] Specifically, if the user makes a displeased face when placing an order, the emotion engine generates a suggestion to change the music, and the server carries out the instruction.
[1132] 5. Accounting
[1133] When the user finishes their meal, the server automatically calculates the bill based on their order history and displays the bill on their smartphone. The user selects a payment method on the app, and the server processes the payment information, connecting with an electronic payment service.
[1134] 6. Personalized recommendations
[1135] The server generates personalized suggestions based on the user's past order history and emotional data for the next visit. For example, if a user has previously ordered truffle dishes, the server will send the user a notification suggesting a "new truffle dish" the next time they visit.
[1136] Hardware and software used
[1137] Hardware: Smartphone (with camera and microphone), robotic cooking device
[1138] software:
[1139] Flask (Python framework)
[1140] SQLite (database)
[1141] TensorFlow (deep learning model)
[1142] Prompt Sentence Examples
[1143] As an example of a prompt sentence to give to a generative AI model, the implementation of a "Smart Restaurant Partner" application presents the following specific requirements:
[1144] I would like to implement the following items in the "Smart Restaurant Partner" app:
[1145] 1. A reservation management system that receives user reservation requests and uses an SQLite database.
[1146] 2. Personalized menu suggestions based on past order history, using machine learning algorithms.
[1147] 3. Real-time emotion recognition using image data. Loading the model and returning the estimation results using Python.
[1148] By following these steps, a fully automated restaurant system can be realized that improves the user experience while increasing operational efficiency.
[1149] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1150] Step 1:
[1151] A user submits a reservation request using a smartphone application. The input includes the reservation date and time, number of people, and any special requests (such as allergy information). The server receives this reservation request and queries an SQLite database to check availability for the specified date and time. As an output, if the reservation is confirmed, a reservation confirmation is generated and notified to the user.
[1152] Step 2:
[1153] After the user arrives at the restaurant, they send an arrival notification to the server through their smartphone application. The arrival notification contains the data as input. The server receives this notification and prepares to proceed to the next step of order processing. The output is that the system is ready to accept the next order.
[1154] Step 3:
[1155] A user inputs an order request using a smartphone application and sends it to the server. The input includes the name of the dish and any special requests. The server receives the order request and analyzes the order using natural language processing. Based on the analyzed data, the corresponding recipe ID is identified, and cooking instructions are generated as output and sent to the robotic cooking device.
[1156] Step 4:
[1157] The server checks the availability of ingredients associated with the order. Inputs include the order details and the inventory database. If an inventory shortage occurs, the server generates an alternative and proposes it to the user. Outputs include a notification of the alternative to the user. The inventory database is updated to record the quantity of the ingredient consumed.
[1158] Step 5:
[1159] The system analyzes the user's emotions using the smartphone's camera and microphone. The input includes captured image and audio data. The server passes this data to an emotion recognition model to analyze the user's emotions. As an output, a service is provided based on the analysis results. For example, if a displeased expression is detected, the system plays relaxing music.
[1160] Step 6:
[1161] After the user finishes their meal, the server automatically calculates the bill based on the order history. The input includes the order history data. The calculated bill is displayed on the smartphone application, and the user selects a payment method. The output is the payment information sent to the payment system, and the payment is completed.
[1162] Step 7:
[1163] The server generates personalized suggestions for the user's next visit based on the user's past order history and emotional data. The input includes order history data and emotional data. The output is a notification of the personalized suggestions and sent to the user. For example, if the user has previously ordered a truffle dish, a "new truffle dish" will be suggested the next time the user visits the restaurant.
[1164] 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.
[1165] 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.
[1166] 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.
[1167] [Third embodiment]
[1168] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1169] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[1170] 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).
[1171] 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.
[1172] 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.
[1173] 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).
[1174] 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.
[1175] 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.
[1176] 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.
[1177] 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.
[1178] 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.
[1179] 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."
[1180] The present invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. Each of the components constituting the system of the present invention will be described in detail below.
[1181] System Configuration
[1182] 1. Reservation acceptance and confirmation
[1183] Before a user visits a restaurant, they submit a reservation request to the system, which includes the desired date and time, number of people, and any special requests (such as allergies).
[1184] Examples:
[1185] If a user wants to make a reservation for 4 people at 19:00 on October 25th, the server will connect to the reservation database to see if there is availability for that date and time. If there is availability, the system will confirm the reservation and send the user a confirmation email.
[1186] 2. Order analysis and cooking
[1187] When a user arrives at a restaurant, they use a device (tablet or smartphone) to notify the server of their arrival. The user then orders the food they want via the device. Order details can be freely entered, and special requests (such as allergies) can also be accommodated.
[1188] Examples:
[1189] When a user orders "seafood pasta," the server receives the order request, analyzes the order using natural language processing technology, and sends the recipe ID for seafood pasta to the robotic cooking device based on the analysis results.
[1190] 3. Inventory Management
[1191] The server checks the inventory management system to see if the ingredients needed for the order are available, and if they are out of stock, the system suggests alternatives to the user.
[1192] Examples:
[1193] If an order is placed for seafood pasta and seafood is out of stock, the server will suggest to the user, "We're out of seafood, would you like to change it to chicken pasta?"
[1194] 4. Cooking instructions
[1195] The server sends cooking instructions based on the order contents to the robotic cooking device and provides food of consistent quality.
[1196] Examples:
[1197] Cooking instructions for seafood pasta are sent to the robotic cooking device, which then starts cooking accordingly.
[1198] 5. Accounting
[1199] Once the meal is finished, the server automatically calculates the bill based on the order history, displays the bill to the user via the terminal, and the user can select a payment method.
[1200] Examples:
[1201] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[1202] 6. Personalized recommendations
[1203] The server analyzes the user's past ordering history and preferences, and generates personalized suggestions for the user's next visit.
[1204] Examples:
[1205] If a user has previously rated a truffle dish highly, they will receive a notification suggesting a "new truffle dish" for their next recommendation.
[1206] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves the customer experience.
[1207] The processing flow will be explained below.
[1208] (Reception processing)
[1209] Step 1:
[1210] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[1211] Step 2:
[1212] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[1213] Step 3:
[1214] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[1215] (Order Processing)
[1216] Step 1:
[1217] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[1218] Step 2:
[1219] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[1220] Step 3:
[1221] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[1222] Step 4:
[1223] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[1224] (Inventory management and cooking instructions)
[1225] Step 1:
[1226] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[1227] Step 2:
[1228] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[1229] Step 3:
[1230] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[1231] (Accounting)
[1232] Step 1:
[1233] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[1234] Step 2:
[1235] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[1236] Step 3:
[1237] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[1238] (Personalized suggestions)
[1239] Step 1:
[1240] The server retrieves relevant information from an order history database to analyze the user's past order history and preferences.
[1241] Step 2:
[1242] The server uses machine learning algorithms to analyze user preferences and generate personalized suggestions.
[1243] Step 3:
[1244] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit. For example, the recommendation could include new menu items or special discounts.
[1245] Example 1
[1246] 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."
[1247] In traditional restaurant operations, processes such as reservations, orders, inventory management, cooking, and accounting are often managed separately, creating a need for greater efficiency. Furthermore, there is a lack of mechanisms for providing consistent quality food while minimizing food waste. Furthermore, it is difficult to provide personalized suggestions that take into account user preferences and past ordering history, making it difficult to improve customer satisfaction.
[1248] 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.
[1249] In this invention, the server includes means for receiving reservation requests from users, means for checking reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving arrival notifications from users and managing arrival status, means for receiving order requests from users and analyzing the order requests to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, thereby improving the efficiency of restaurant operations overall, reducing ingredient waste, providing food of consistent quality, and improving the user experience.
[1250] "Reservation Request" means a reservation request that includes the User's desired date and time, number of people, and any special requests (such as allergy information).
[1251] The "reservation status checking means" refers to a means for connecting to a reservation database based on a reservation request and checking whether there is availability on the specified date and time.
[1252] "Reservation confirmation information" refers to detailed reservation information that is sent to the user when the reservation is confirmed.
[1253] "Arrival Notification" means the means used to notify the server that a user has arrived at the restaurant.
[1254] "Order Request" means a request by a User to transmit via a Terminal the food they would like to eat at a restaurant or any special requests.
[1255] "Order request analysis means" refers to a means for analyzing the contents of a user's order using natural language processing technology and identifying the corresponding recipe.
[1256] "Cooking instructions" refers to the specific cooking steps and recipe ID sent to the robotic cooking device based on the analyzed order details.
[1257] "Robot cooking device" means a device that automatically cooks food according to cooking instructions from a server.
[1258] "Stock status confirmation means" means a means for confirming whether ingredients related to an order are available through an inventory management system.
[1259] "Alternatives" means other food or ingredient options offered to the user in the event of a shortage.
[1260] "Stock data update means" refers to a means for keeping stock information updated as orders and cooking progress.
[1261] "Accounting means" refers to a means for automatically calculating the account based on the user's order history and issuing an invoice.
[1262] "Payment information processing means" means a means for making a payment based on the payment method selected by the user.
[1263] The "means for generating proposals" refers to a means for analyzing the user's past order history and generating personalized proposals for the next visit to the store.
[1264] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. This system comprehensively manages everything from receiving reservation requests from users to cooking, accounting, and personalized suggestions for the next visit. Specific embodiments of the system are described below.
[1265] Hardware and software used
[1266] Server: A central management system that handles reservation management, order analysis, inventory management, cooking instructions, accounting calculations, and personalized proposal generation.
[1267] Terminal: The device (tablet or smartphone) where users make reservations, receive notifications, place orders, and make payments.
[1268] Robotic cooking device: An automatic cooking device that cooks according to cooking instructions from a server.
[1269] Natural language processing technology: Software technology for analyzing user orders.
[1270] Inventory management system: A system that manages the inventory of ingredients related to orders.
[1271] Payment System: A system that processes user payments.
[1272] Specific step-by-step instructions
[1273] 1. Reservation acceptance and confirmation
[1274] The user uses the terminal to enter the desired date and time, number of people, and any special requests into the reservation form. When the user presses the submit button, the request is sent to the server.
[1275] The server receives the reservation request and connects to the reservation database to check if there are any openings for the specified date and time. For example, it checks for reservations for 4 people at 19:00 on October 25th.
[1276] If availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[1277] Example prompts to be input to the generative AI model:
[1278] Please confirm the reservation with the following details: Desired date and time: October 25th, 19:00, Number of people: 4, Special requests: None. Please let me know if there are any openings on the date and time.
[1279] 2. Arrival notification and order analysis
[1280] When the user arrives at the restaurant, the terminal sends an arrival notification, which lets the server know that the user has arrived.
[1281] The user orders the food they want through the terminal, for example, selecting "seafood pasta" and entering any special requests.
[1282] The server receives the order request and analyzes the order using natural language processing technology. For example, if the text is "seafood pasta," the server sends the corresponding recipe ID to the robotic cooking device.
[1283] Example prompts to be input to the generative AI model:
[1284] User order: 'Seafood Pasta'. Parse this order and send the appropriate recipe ID to the robotic cooking device.
[1285] 3. Check inventory and propose alternatives
[1286] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, it checks the stock of seafood.
[1287] If there is a shortage of stock, the server will suggest an alternative to the user, for example sending a message saying, "We are out of seafood, would you like to switch to chicken pasta?"
[1288] Example prompts to be input to the generative AI model:
[1289] An order for seafood pasta is placed, but seafood is out of stock. Suggest chicken pasta as an alternative to the user.
[1290] 4. Send cooking instructions
[1291] The server creates cooking instructions based on the order, including specific recipe IDs and cooking steps.
[1292] The server sends the cooking instructions to the robotic cooking device, which then starts cooking according to the instructions. For example, if an instruction to cook seafood pasta is sent, the robotic cooking device will pick up the necessary ingredients and start cooking.
[1293] Example prompts to be input to the generative AI model:
[1294] Send cooking instructions for seafood pasta to your robotic cooking device.
[1295] 5. Accounting
[1296] Once the meal is finished, the server automatically calculates the bill based on the order history.
[1297] The terminal displays a bill based on the user's order history, and the user selects a payment method (credit card, cash, etc.).
[1298] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[1299] Example prompts to be input to the generative AI model:
[1300] Calculate the bill based on the user's order history and display the invoice. If the user chooses to pay by credit card, connect to the payment system to complete the payment.
[1301] 6. Personalized recommendations
[1302] The server analyzes the user's past ordering history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, the server generates suggestions based on this data.
[1303] The server decides what dishes and services to offer the user the next time they visit and sends a notification to them, such as "Try our new truffle dish next time."
[1304] Example prompts to be input to the generative AI model:
[1305] Analyze the user's past order history to determine what dishes to suggest the next time they visit. If the user has previously rated a truffle dish highly, send them a notification suggesting a new truffle dish the next time.
[1306] In this way, the system of the present invention centrally manages everything from user reservations to orders, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[1307] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1308] Step 1:
[1309] Receiving and confirming booking requests
[1310] The user uses a terminal to enter the desired date and time, number of people, and any special requests into a reservation form. The entered reservation request is sent to the server. The server receives the reservation request and queries the reservation database to check whether there is availability for the specified date and time. The server receives a response from the reservation database, and if availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[1311] Input: User reservation request (desired date and time, number of people, special requests)
[1312] Data processing: querying the reservation database to check availability
[1313] Output: Reservation confirmation email sent to user
[1314] Step 2:
[1315] Receive and manage arrival notifications
[1316] When a user arrives at a restaurant, he or she uses a terminal to send an arrival notification to the server. The server receives the arrival notification and records the user's arrival status in the management system. This allows the server to recognize that the user has arrived.
[1317] Input: Arrival notification from user
[1318] Data processing: Recording and management of arrival status
[1319] Output: Arrival status update on the server
[1320] Step 3:
[1321] Receiving and parsing order requests
[1322] The user orders the food they want to eat through a terminal. For example, they select "seafood pasta" and enter any special requests. The order request is sent to the server. The server receives the order request and analyzes the order using natural language processing technology. From the analyzed text, the corresponding recipe ID is identified and sent to the robotic cooking device.
[1323] Input: User order request (dish name, special requests)
[1324] Data processing: Text analysis using natural language processing technology, recipe ID identification
[1325] Output: Recipe ID sent to the robotic cooking device
[1326] Step 4:
[1327] Check stock availability and suggest alternatives
[1328] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, the server checks the stock of seafood. If there is insufficient stock, the server sends a message to the user saying, "We are out of seafood. Would you like to change to chicken pasta?"
[1329] Input: Recipe ID, Availability Request
[1330] Data processing: Data integration with inventory management system, checking stock status
[1331] Output: Alternative suggestion message to user
[1332] Step 5:
[1333] Generate and send cooking instructions
[1334] The server creates cooking instructions based on the order details and inventory status. The created cooking instructions include specific recipe IDs and cooking steps. The server sends these cooking instructions to the robotic cooking device, which then begins cooking according to the instructions.
[1335] Input: Order details, stock status
[1336] Data processing: Generate cooking instructions (recipe ID, cooking steps)
[1337] Output: Send cooking instructions to the robotic cooking device
[1338] Step 6:
[1339] Accounting
[1340] When the user finishes their meal, the server automatically calculates the bill based on their order history. The generated bill information is displayed on the terminal. The user selects a payment method (credit card, cash, etc.) through the terminal and enters payment information. The server then works with the payment system to complete the payment.
[1341] Input: Order History
[1342] Data processing: accounting calculations, invoice generation
[1343] Output: Displaying bills on the terminal, linking with payment systems
[1344] Step 7:
[1345] Generate and notify personalized suggestions
[1346] The server analyzes the user's past order history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, it generates suggestions based on this data. The server then decides which dishes and services to suggest for the user's next visit and sends a notification to the user. For example, it sends a notification saying, "Please try our new truffle dish next time."
[1347] Input: User's past order history
[1348] Data processing: analyzing order history and generating proposals
[1349] Output: Personalized suggestion notification to user
[1350] Through the above steps, the system of the present invention centrally manages everything from user reservations to ordering, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[1351] (Application example 1)
[1352] 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."
[1353] Modern restaurants handle a wide range of tasks, including taking reservations, analyzing orders, managing inventory, providing cooking instructions, accounting, and providing personalized recommendations to customers. There is a need to streamline these tasks and provide high-quality food while minimizing food waste. However, conventional systems have struggled to manage these tasks in an integrated manner and provide the convenience of smartphones. It has also been difficult to generate personalized recommendations based on a user's past ordering history and effectively notify them for the next visit.
[1354] 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.
[1355] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the automatic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating a bill based on the user's order history and displaying a bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, means for notifying the user of arrival at the restaurant using a smartphone, and means for the user to select a payment method and complete payment using a smartphone. This makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[1356] The "means for receiving a reservation request from a user" is a function that allows the server to receive a request from a user to make a reservation at a restaurant.
[1357] The "means for checking reservation status based on reservation request" is a function for checking whether a reservation is possible on the desired date and time by checking the reservation register or database based on the received reservation request.
[1358] The "means for notifying the user of reservation confirmation information when the reservation is confirmed" is a function for notifying the user of the confirmation information when the reservation is confirmed.
[1359] "Means for receiving an order request from a user, analyzing the order request, and generating cooking instructions" is a function that allows the server to receive a request for a dish ordered by a user, analyze it, and generate the instructions necessary for cooking.
[1360] The "means for transmitting cooking instructions to an automatic cooking device" is a function for transmitting the generated cooking instructions to a robot or an automated cooking device.
[1361] "Means for checking the stock status of ingredients related to an order and suggesting alternatives to the user if there is a shortage of stock" is a function for checking the stock of ingredients required for an order and suggesting alternatives to the user if there is a shortage.
[1362] The "means for updating ingredient inventory data" is a function for updating ingredient inventory data in real time according to orders and usage status.
[1363] "Means for calculating the bill based on the user's order history and displaying the invoice to the user" is a function for automatically calculating the bill based on the user's past order history and presenting the invoice to the user.
[1364] The "means for processing user payment information" is a function for processing payment information based on the payment method selected by the user.
[1365] "Means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions the next time they visit the store" is a function for analyzing the user's past order history and generating and notifying personalized suggestions based on that the next time they visit the store.
[1366] The "means for a user to notify a server of arrival at a restaurant using a smartphone" is a function for a user to notify a server that they have arrived at a restaurant using a smartphone.
[1367] "Means for users to select a payment method using a smartphone and complete payment" refers to a function that allows users to select the desired payment method using a smartphone and complete the payment.
[1368] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. The system includes functions for taking reservations, analyzing orders, managing inventory, providing cooking instructions, processing bills, and providing personalized suggestions.
[1369] System Configuration
[1370] 1. Reservation acceptance and confirmation
[1371] The user makes a reservation using their smartphone by inputting the desired date and time, number of people, and any special requests (such as allergy information). The server receives the reservation request and checks the reservation status against the reservation database. If there is availability, the server confirms the reservation and notifies the user of the reservation confirmation information.
[1372] 2. Arrival notification and order analysis
[1373] When a user arrives at a restaurant, they notify the server of their arrival using their smartphone. The user then orders the food they want directly from their smartphone. The server receives the order request, analyzes it using natural language processing technology, and generates cooking instructions. The generated cooking instructions are then sent to the automatic cooking device.
[1374] 3. Inventory management and alternative proposals
[1375] The server checks the availability of ingredients related to the order. If there is a shortage, the server will suggest an alternative to the user. For example, if seafood pasta is out of stock, the server will suggest changing to chicken pasta.
[1376] 4. Accounting
[1377] Based on the user's order history, the server processes the bill and displays the invoice on the user's smartphone. The user then selects a payment method and completes the transaction.
[1378] 5. Personalized recommendations
[1379] The server analyzes the user's past order history and generates personalized recommendations for the next visit. For example, if the user has previously rated truffle dishes highly, the server will suggest new truffle dishes.
[1380] Hardware / Software Used
[1381] Server: Flask (Python web framework)
[1382] Database: SQLite (a simple database management system)
[1383] Client: Smartphone (iOS / Android)
[1384] Specific examples
[1385] Examples of reservation acceptance:
[1386] If a user sends a request from their smartphone requesting a reservation for four people at 7:00 PM on October 25th, the server receives the request, queries the reservation database to check availability, and if there is availability, confirms the reservation and notifies the user with the confirmation.
[1387] Example prompt sentence:
[1388] "User wants to make a restaurant reservation for 4 people on October 25th at 7:00 PM. Please check availability for that date and time and confirm the reservation."
[1389] In this way, the present invention provides a comprehensive system for streamlining restaurant operations and providing high-quality service to users.
[1390] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1391] Step 1:
[1392] Receiving a booking request
[1393] The user inputs a reservation request from a device (smartphone). The input includes the desired date and time, number of people, and special requests (such as allergy information). This data is sent to the server, which then receives the reservation request.
[1394] Input: reservation date and time, number of people, special requests
[1395] Output: Reservation request data received
[1396] Step 2:
[1397] Check reservation status
[1398] Based on the received reservation request, the server sends a query to the reservation database to check availability for the desired date and time. The reservation database responds to the query and replies to the server whether there is availability for the specified date and time.
[1399] Input: Reservation request data
[1400] Output:Available / unavailable reservation information
[1401] Step 3:
[1402] Notification of reservation confirmation information
[1403] When a reservation is confirmed, the server generates reservation confirmation information and notifies the terminal (smartphone) of this, allowing the user to know that the reservation has been confirmed.
[1404] Input:Available reservation information
[1405] Output: Reservation confirmation notice
[1406] Step 4:
[1407] Receiving arrival notifications
[1408] When the user arrives at the restaurant at the reserved date and time, they notify the server of their arrival using their smartphone. The server receives the arrival notification and prepares to proceed to the next step.
[1409] Input: Arrival Notification
[1410] Output: Received arrival notification
[1411] Step 5:
[1412] Receiving and parsing order requests
[1413] The user sends a food order request from their device. The server receives the order request and analyzes the order using natural language processing technology. Cooking instructions are generated based on the analysis results.
[1414] Input: Order Request
[1415] Output: Parsed order details and cooking instructions
[1416] Step 6:
[1417] Send cooking instructions
[1418] The server sends the generated cooking instructions to the automatic cooking device, which then begins preparing the food based on the received instructions.
[1419] Input: Cooking instructions
[1420] Output: Sending instructions to the automatic cooking device
[1421] Step 7:
[1422] Check inventory and offer alternatives
[1423] The server checks the availability of ingredients needed for the order. If there is a shortage, the server generates an alternative and sends it to the device (smartphone). The user checks the alternative and approves it or places another order as necessary.
[1424] Input: Order request, inventory data
[1425] Output: Alternative proposals
[1426] Step 8:
[1427] Updating food inventory data
[1428] The server updates food inventory data in real time according to orders and cooking status, making it possible to always maintain the latest inventory information.
[1429] Input: Order history, cooking status
[1430] Output: Updated inventory data
[1431] Step 9:
[1432] Accounting and billing
[1433] The server calculates the bill based on the user's order history, generates an invoice, and displays it on the user's smartphone for confirmation.
[1434] Input: Order History
[1435] Output: View invoice
[1436] Step 10:
[1437] Processing payment information
[1438] The user selects a payment method using their smartphone and makes the payment. The server receives the payment information and completes the payment.
[1439] Input: User's payment information
[1440] Output: Payment completion notification
[1441] Step 11:
[1442] Generate and notify personalized suggestions
[1443] The server analyzes the user's past order history and generates personalized suggestions for the next visit, which are then sent to the user's smartphone.
[1444] Input: Past order history
[1445] Output: Personalized suggestion notification
[1446] The above are the specific processing steps of the system for carrying out the invention, which makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[1447] 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.
[1448] This invention is a fully automated system that combines AI technology with a robotic cooking device, aiming to improve the efficiency of restaurant operations and the user experience. Furthermore, this invention is characterized by its configuration that combines an emotion engine that recognizes the user's emotions and provides services based on them.
[1449] System Configuration
[1450] 1. Reservation acceptance and confirmation
[1451] The user uses a terminal to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (such as allergy information). The server connects to the reservation database to check availability for that date and time, and if the reservation is confirmed, it notifies the user with reservation confirmation information.
[1452] Examples:
[1453] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[1454] 2. Order analysis and cooking
[1455] When a user arrives at a restaurant, they use their device to send a notification of their arrival to the server. They then freely input the food they want to eat and submit an order request. The server analyzes the order, identifies the corresponding recipe, and sends cooking instructions to the robotic cooking device.
[1456] Examples:
[1457] When a user orders a "Wagyu steak," the server receives the order, analyzes the order using natural language processing technology, identifies the recipe ID for the Wagyu steak, and sends it to the robotic cooking device.
[1458] 3. Inventory Management
[1459] The server checks the availability of ingredients related to the order, suggests alternatives to the user if they are out of stock, and records the consumed ingredient quantities in an inventory database, updating the inventory status.
[1460] Examples:
[1461] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[1462] 4. Emotion Recognition and Adaptation
[1463] The emotion engine analyzes the user's voice and facial expressions to identify their emotions and provides services based on these. The emotion engine monitors the user's emotions in real time when ordering and while eating, and responds appropriately.
[1464] Examples:
[1465] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[1466] 5. Accounting
[1467] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill to the user. The user selects a payment method on the terminal, and the server processes the payment information.
[1468] Examples:
[1469] If the user selects to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[1470] 6. Personalized recommendations
[1471] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[1472] Examples:
[1473] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[1474] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[1475] The processing flow will be explained below.
[1476] (Reception processing)
[1477] Step 1:
[1478] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[1479] Step 2:
[1480] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[1481] Step 3:
[1482] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[1483] (Order Processing)
[1484] Step 1:
[1485] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[1486] Step 2:
[1487] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[1488] Step 3:
[1489] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[1490] Step 4:
[1491] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[1492] (Inventory management and cooking instructions)
[1493] Step 1:
[1494] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[1495] Step 2:
[1496] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[1497] Step 3:
[1498] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[1499] (Emotion Recognition and Adaptation)
[1500] Step 1:
[1501] When a user places an order using the terminal, the emotion engine analyzes the user's voice and facial expressions in real time.
[1502] Step 2:
[1503] The emotion engine identifies the user's emotion based on the analysis results and sends that information to the server.
[1504] Step 3:
[1505] The server considers ways to provide appropriate services based on the user's emotional information. For example, if the user is feeling stressed, it generates a proposal to provide a relaxing environment.
[1506] Step 4:
[1507] The server sends instructions to the relevant devices to execute the service content suggested by the emotion engine, for example, playing relaxing music.
[1508] (Accounting)
[1509] Step 1:
[1510] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[1511] Step 2:
[1512] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[1513] Step 3:
[1514] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[1515] (Personalized suggestions)
[1516] Step 1:
[1517] The server acquires and analyzes the user's past order history and emotional data.
[1518] Step 2:
[1519] The server uses machine learning algorithms to analyze the user's preferences and generate personalized recommendations for the next visit.
[1520] Step 3:
[1521] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit, for example, offering new menu items or special discounts.
[1522] Example 2
[1523] 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."
[1524] Conventional restaurant operations often rely on manual labor for a wide range of tasks, including taking reservations, processing orders, managing inventory, and accounting, creating a need for greater operational efficiency. Improving the user experience is also an important issue, which includes understanding user emotions and providing services based on those emotions. The present invention aims to solve these issues and improve the efficiency of restaurant operations and the user experience.
[1525] 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.
[1526] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for receiving arrival notifications from a user and processing the arrival information, means for recognizing emotions from the user's voice and facial expressions and providing service based on the recognized emotions, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the user's next visit, thereby enabling efficient restaurant operations and providing high-quality service based on the user's emotions.
[1527] A "reservation request" is a request containing information indicating a user's desire to visit a restaurant with a specific number of people at a specific date and time.
[1528] "Reservation status" refers to the availability of seats at a restaurant on a specific date and time and whether or not a reservation has already been made.
[1529] "Reservation confirmation information" is detailed reservation information that is notified to the user when the user's reservation is confirmed.
[1530] An "order request" is a request by a user to specify the food and drink they would like to eat at a restaurant.
[1531] "Cooking instructions" refer to instructions for the robotic cooking device to cook a specific dish, generated based on a received order request.
[1532] A "robotic cooking device" is a mechanical device used to automatically cook food.
[1533] "Inventory status of ingredients" refers to the current stock and remaining amount of various ingredients at the restaurant.
[1534] "Inventory data" refers to recorded data such as the stock and consumption amounts of each type of food ingredient.
[1535] An "arrival notification" is information that notifies the server that the user has arrived at the restaurant.
[1536] "Emotion recognition" is a technology that analyzes a user's voice and facial expressions to identify their emotions at that time.
[1537] "Payment" refers to calculating the total amount of food and drinks ordered by the user.
[1538] "Invoice" means information in paper or digital form that notifies a user of an amount due.
[1539] "Payment information" refers to information related to settlement, such as credit card information, required when a user makes a payment.
[1540] "Suggestions" refer to dishes and services that will be suggested for the next visit, generated based on the user's past order history and emotional data.
[1541] The present invention is a fully automated system that combines AI technology with a robotic cooking device to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes the user's emotions and provides services based on those emotions. Specific embodiments of this system are described below.
[1542] System Configuration
[1543] Reservation acceptance and confirmation
[1544] The user uses a device (smartphone or PC) to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (allergy information, etc.). The server connects to a reservation database (e.g., PostgreSQL) to check availability for that date and time, and if the reservation is confirmed, it notifies the user by email (using the SMTP protocol) with reservation confirmation information.
[1545] Examples:
[1546] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[1547] Example prompt: "Please enter your desired reservation date and time and number of people."
[1548] Order analysis and cooking
[1549] When a user arrives at a restaurant, they use a device (such as a tablet) to send a notification of their arrival to the server. The user then freely enters the dishes they want into an order form and submits an order request. The server then analyzes the order using natural language processing technology (e.g., GPT-4), identifies the corresponding recipe, and sends cooking instructions to a robotic cooking device (e.g., Moley Kitchen Robot).
[1550] Examples:
[1551] When a user orders a "Wagyu steak," the server uses NLP technology to analyze the order and identify the recipe ID for the Wagyu steak, which is then sent to the robotic cooking device to begin cooking.
[1552] Example prompt: "I'd like to order a Wagyu steak."
[1553] Inventory management
[1554] The server checks the availability of ingredients related to the order and, if they are out of stock, suggests alternatives to the user. The server connects to an inventory database (e.g., PostgreSQL) to record the quantities of ingredients consumed and update the inventory status.
[1555] Examples:
[1556] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[1557] Example prompt: "Please check stock availability and suggest alternatives."
[1558] Emotion Recognition and Adaptation
[1559] An emotion engine (for example, Microsoft Azure's Cognitive Services) analyzes the user's voice and facial expressions to identify their emotions. It uses a combination of cameras and microphones to collect data and analyzes it in real time. The emotion engine monitors the user's emotions when ordering and while eating and responds appropriately.
[1560] Examples:
[1561] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[1562] Example prompt: "Analyze the user's emotions and respond accordingly."
[1563] Accounting
[1564] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill on the terminal. The user selects a payment method, and the server processes the payment information. The payment system uses the Stripe API.
[1565] Examples:
[1566] When a user selects to pay by credit card, the information is entered via the terminal, and the server works with the payment system to complete the payment.
[1567] Example prompt: "Please perform accounting procedures."
[1568] Personalized suggestions
[1569] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[1570] Examples:
[1571] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[1572] Example prompt: "Generate suggestions based on user data."
[1573] This system enables efficient restaurant operations and reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[1574] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1575] Reservation acceptance and confirmation
[1576] Step 1:
[1577] The user uses a terminal (smartphone or PC) to input and submit a reservation request.
[1578] Specific operation: The user enters the desired date and time, number of people, and special requests (such as allergy information) into the reservation form and presses the "Submit" button.
[1579] Input: Desired date and time, number of people, special requests
[1580] Output: Booking request data
[1581] Step 2:
[1582] The server receives the reservation request and connects to the reservation database.
[1583] What happens: The server sends an SQL query to the PostgreSQL database to inquire about availability for the specified date and time.
[1584] Input: Booking request data
[1585] Output: SQL query result (availability)
[1586] Step 3:
[1587] The server checks availability and generates reservation confirmation information.
[1588] Specific behavior: If the result of the SQL query is "Available," the server confirms the reservation and sends a reservation confirmation email to the user using the SMTP protocol.
[1589] Input: SQL query result (availability)
[1590] Output: Reservation confirmation information
[1591] Order analysis and cooking
[1592] Step 4:
[1593] When the user arrives at the restaurant, the user inputs and transmits an arrival notification from the terminal.
[1594] Specific action: The user presses the "I've arrived" button on the restaurant terminal (tablet).
[1595] Input: Arrival Notification
[1596] Output: Arrival notification data
[1597] Step 5:
[1598] The user enters the food they want to eat into the order form and submits it.
[1599] Specific operation: The user enters "Wagyu steak" or similar into the order form and presses the "Submit" button.
[1600] Input: Order Request
[1601] Output: Order request data
[1602] Step 6:
[1603] The server receives the order request and analyzes it using natural language processing techniques.
[1604] Specific operation: The server uses natural language processing technology (e.g., GPT-4) to analyze the order details and identify the corresponding recipe ID.
[1605] Input: Order request data
[1606] Output: Recipe ID
[1607] Step 7:
[1608] The server sends cooking instructions to the robotic cooking device.
[1609] Specific operation: The server sends the recipe ID for Wagyu steak to Moley Kitchen Robot and starts cooking.
[1610] Input: Recipe ID
[1611] Output: Cooking instructions
[1612] Inventory management
[1613] Step 8:
[1614] The server checks the availability of ingredients associated with the order.
[1615] What happens: The server sends an SQL query to the PostgreSQL database to get inventory status.
[1616] Input: Order request data
[1617] Output: Stock availability data
[1618] Step 9:
[1619] If there is a shortage of stock, the server generates an alternative and suggests it to the user.
[1620] What happens: The server identifies the missing ingredients and notifies the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[1621] Input: Inventory status data
[1622] Output: Alternative proposal data
[1623] Step 10:
[1624] The server records the quantity of ingredients consumed in an inventory database.
[1625] What happens: The server updates the inventory database to record the quantity of ingredients consumed.
[1626] Input: Food consumption data
[1627] Output: Updated inventory data
[1628] Emotion Recognition and Adaptation
[1629] Step 11:
[1630] The emotion engine analyzes the user's voice and facial expressions to identify emotions.
[1631] How it works: The server sends data collected via the camera and microphone to Microsoft Azure's Cognitive Services for emotional analysis.
[1632] Input: Voice data, facial expression data
[1633] Output: Emotion data
[1634] Step 12:
[1635] The server generates an appropriate service based on the analysis results and sends an execution instruction.
[1636] Specific operation: Based on the results obtained from the emotion engine, the server sends an instruction to the sound device or other system, for example, "play relaxing music."
[1637] Input: Emotion data
[1638] Output: Service delivery instructions
[1639] Accounting
[1640] Step 13:
[1641] The server automatically calculates the bill based on the order history.
[1642] Specific operation: The server retrieves the order history from the order database and calculates the total amount.
[1643] Input: Order history data
[1644] Output: Invoice data
[1645] Step 14:
[1646] The server displays the bill on the terminal.
[1647] Specific operation: The server sends the billing information to the terminal and displays it on the screen.
[1648] Input: Invoice data
[1649] Output: Displayed invoice
[1650] Step 15:
[1651] The user selects a payment method and enters the information into the terminal. The server processes the payment information.
[1652] Specific behavior: The user selects a credit card and enters the information into the terminal, and the server completes the payment using the Stripe API.
[1653] Input: Payment Information
[1654] Output: Payment completion data
[1655] Personalized suggestions
[1656] Step 16:
[1657] The server generates suggestions based on the user's past order history and emotional data.
[1658] Specific operation: The server analyzes the order history database and emotion data to generate suitable suggestions for the customer's next visit.
[1659] Input: Order history data, emotion data
[1660] Output: Proposal
[1661] Step 17:
[1662] The server notifies the user of the proposal.
[1663] What it does: The server sends a notification to the user's device and displays personalized suggestions.
[1664] Input: Proposal
[1665] Output: Personalized suggestion notification
[1666] (Application example 2)
[1667] 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."
[1668] In modern restaurant operations, many tasks, such as reservation management, order processing, inventory management, and emotion recognition, are performed manually, resulting in inefficiency and a high risk of human error. Furthermore, providing services based on user emotions is difficult, creating a need for improved customer satisfaction. Given this background, there is a growing need for a system that can streamline restaurant operations, maintain consistent quality, and provide personalized services based on user emotions.
[1669] 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.
[1670] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, and means for analyzing the user's emotions using a smartphone camera or microphone and providing services based on the analysis results, thereby improving the efficiency of restaurant operations and providing personalized services based on the user's emotions.
[1671] A "reservation request" is a request sent by a user to a restaurant to reserve a table at a specific date and time.
[1672] "Reservation status" refers to whether or not a seat is available at a restaurant on a specific date and time.
[1673] "Reservation confirmation information" is information sent by a restaurant in response to a reservation request sent by a user to notify the restaurant of acceptance of the reservation and to confirm matters such as the date, time, and number of people.
[1674] An "order request" is a request in which a user specifies a dish they would like to eat at a restaurant and asks for it to be served.
[1675] "Cooking instructions" are instructions indicating which dish to cook and how to cook it based on the order request.
[1676] A "robot cooking device" is a mechanical device that automatically cooks food based on programmed instructions.
[1677] "Stock status" refers to the current status of how much of a particular ingredient is in stock at a restaurant.
[1678] An "alternative" is another option that is proposed when the user's desired order cannot be provided due to reasons such as lack of stock.
[1679] "Ingredient inventory data" refers to data that records the current inventory of each ingredient used in the restaurant.
[1680] "Checkout" is the process of calculating and charging the user for the food and services they have ordered.
[1681] "Invoice" means a document specifying the fees payable by a User.
[1682] "Payment information" refers to data such as credit card information or electronic payment information used by a user to pay for an order.
[1683] "Suggested Content" refers to recommended menu items and services that the restaurant will provide the user the next time they visit the restaurant based on the user's past ordering history.
[1684] "Personalized offers" are offers that are customized based on a user's individual preferences and past ordering history.
[1685] A "smartphone camera" is a photographic device built into a smartphone and is used to acquire image data.
[1686] A "microphone" is a device for picking up sound.
[1687] "Emotion analysis" is the process of inferring a user's emotional state from their facial expressions and voice using data acquired by a camera or microphone.
[1688] "Service provision" refers to providing services and responses according to the user's requests and circumstances.
[1689] This invention is a fully automated system that combines AI technology with robotic cooking devices to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes user emotions and provides services based on those emotions.
[1690] Overall system configuration
[1691] 1. Reservation acceptance and confirmation
[1692] A user submits a reservation request using a smartphone application. The server receives this request and checks the reservation database to see if the requested date and time is available. If there is availability, the server confirms the reservation and notifies the user with the reservation confirmation information. This process uses the Python Flask framework and a SQLite database.
[1693] 2. Order analysis and preparation
[1694] When a user arrives at a restaurant, they send a notification of their arrival to the server via their smartphone application. They then input the food they want to order into the application and submit an order request. The server analyzes the order request and identifies the corresponding recipe using natural language processing technology. The cooking instructions generated are then sent to the robotic cooking device, which then automatically prepares the food.
[1695] 3. Inventory Management
[1696] The server checks the availability of ingredients related to the order and immediately suggests alternatives to the user if there is a shortage. The consumed quantity of ingredients is also updated in the inventory database. This inventory management process also uses a SQLite database.
[1697] 4. Emotion Recognition and Adaptation
[1698] The emotion engine uses the smartphone's camera and microphone to recognize the user's emotions. Based on the recognized emotions, it adjusts music playback and service content. Emotion recognition uses a deep learning model based on TensorFlow.
[1699] Specifically, if the user makes a displeased face when placing an order, the emotion engine generates a suggestion to change the music, and the server carries out the instruction.
[1700] 5. Accounting
[1701] When the user finishes their meal, the server automatically calculates the bill based on their order history and displays the bill on their smartphone. The user selects a payment method on the app, and the server processes the payment information, connecting with an electronic payment service.
[1702] 6. Personalized recommendations
[1703] The server generates personalized suggestions based on the user's past order history and emotional data for the next visit. For example, if a user has previously ordered truffle dishes, the server will send the user a notification suggesting a "new truffle dish" the next time they visit.
[1704] Hardware and software used
[1705] Hardware: Smartphone (with camera and microphone), robotic cooking device
[1706] software:
[1707] Flask (Python framework)
[1708] SQLite (database)
[1709] TensorFlow (deep learning model)
[1710] Prompt Sentence Examples
[1711] As an example of a prompt sentence to give to a generative AI model, the implementation of a "Smart Restaurant Partner" application presents the following specific requirements:
[1712] I would like to implement the following items in the "Smart Restaurant Partner" app:
[1713] 1. A reservation management system that receives user reservation requests and uses an SQLite database.
[1714] 2. Personalized menu suggestions based on past order history, using machine learning algorithms.
[1715] 3. Real-time emotion recognition using image data. Loading the model and returning the estimation results using Python.
[1716] By following these steps, a fully automated restaurant system can be realized that improves the user experience while increasing operational efficiency.
[1717] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1718] Step 1:
[1719] A user submits a reservation request using a smartphone application. The input includes the reservation date and time, number of people, and any special requests (such as allergy information). The server receives this reservation request and queries an SQLite database to check availability for the specified date and time. As an output, if the reservation is confirmed, a reservation confirmation is generated and notified to the user.
[1720] Step 2:
[1721] After the user arrives at the restaurant, they send an arrival notification to the server through their smartphone application. The arrival notification contains the data as input. The server receives this notification and prepares to proceed to the next step of order processing. The output is that the system is ready to accept the next order.
[1722] Step 3:
[1723] A user inputs an order request using a smartphone application and sends it to the server. The input includes the name of the dish and any special requests. The server receives the order request and analyzes the order using natural language processing. Based on the analyzed data, the corresponding recipe ID is identified, and cooking instructions are generated as output and sent to the robotic cooking device.
[1724] Step 4:
[1725] The server checks the availability of ingredients associated with the order. Inputs include the order details and the inventory database. If an inventory shortage occurs, the server generates an alternative and proposes it to the user. Outputs include a notification of the alternative to the user. The inventory database is updated to record the quantity of the ingredient consumed.
[1726] Step 5:
[1727] The system analyzes the user's emotions using the smartphone's camera and microphone. The input includes captured image and audio data. The server passes this data to an emotion recognition model to analyze the user's emotions. As an output, a service is provided based on the analysis results. For example, if a displeased expression is detected, the system plays relaxing music.
[1728] Step 6:
[1729] After the user finishes their meal, the server automatically calculates the bill based on the order history. The input includes the order history data. The calculated bill is displayed on the smartphone application, and the user selects a payment method. The output is the payment information sent to the payment system, and the payment is completed.
[1730] Step 7:
[1731] The server generates personalized suggestions for the user's next visit based on the user's past order history and emotional data. The input includes order history data and emotional data. The output is a notification of the personalized suggestions and sent to the user. For example, if the user has previously ordered a truffle dish, a "new truffle dish" will be suggested the next time the user visits the restaurant.
[1732] 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.
[1733] 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.
[1734] 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.
[1735] [Fourth embodiment]
[1736] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1737] 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.
[1738] 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).
[1739] 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.
[1740] 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.
[1741] 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).
[1742] 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.
[1743] 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.
[1744] 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.
[1745] 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.
[1746] 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.
[1747] 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.
[1748] 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."
[1749] The present invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. Each of the components constituting the system of the present invention will be described in detail below.
[1750] System Configuration
[1751] 1. Reservation acceptance and confirmation
[1752] Before a user visits a restaurant, they submit a reservation request to the system, which includes the desired date and time, number of people, and any special requests (such as allergies).
[1753] Examples:
[1754] If a user wants to make a reservation for 4 people at 19:00 on October 25th, the server will connect to the reservation database to see if there is availability for that date and time. If there is availability, the system will confirm the reservation and send the user a confirmation email.
[1755] 2. Order analysis and cooking
[1756] When a user arrives at a restaurant, they use a device (tablet or smartphone) to notify the server of their arrival. The user then orders the food they want via the device. Order details can be freely entered, and special requests (such as allergies) can also be accommodated.
[1757] Examples:
[1758] When a user orders "seafood pasta," the server receives the order request, analyzes the order using natural language processing technology, and sends the recipe ID for seafood pasta to the robotic cooking device based on the analysis results.
[1759] 3. Inventory Management
[1760] The server checks the inventory management system to see if the ingredients needed for the order are available, and if they are out of stock, the system suggests alternatives to the user.
[1761] Examples:
[1762] If an order is placed for seafood pasta and seafood is out of stock, the server will suggest to the user, "We're out of seafood, would you like to change it to chicken pasta?"
[1763] 4. Cooking instructions
[1764] The server sends cooking instructions based on the order contents to the robotic cooking device and provides food of consistent quality.
[1765] Examples:
[1766] Cooking instructions for seafood pasta are sent to the robotic cooking device, which then starts cooking accordingly.
[1767] 5. Accounting
[1768] Once the meal is finished, the server automatically calculates the bill based on the order history, displays the bill to the user via the terminal, and the user can select a payment method.
[1769] Examples:
[1770] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[1771] 6. Personalized recommendations
[1772] The server analyzes the user's past ordering history and preferences, and generates personalized suggestions for the user's next visit.
[1773] Examples:
[1774] If a user has previously rated a truffle dish highly, they will receive a notification suggesting a "new truffle dish" for their next recommendation.
[1775] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves the customer experience.
[1776] The processing flow will be explained below.
[1777] (Reception processing)
[1778] Step 1:
[1779] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[1780] Step 2:
[1781] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[1782] Step 3:
[1783] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[1784] (Order Processing)
[1785] Step 1:
[1786] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[1787] Step 2:
[1788] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[1789] Step 3:
[1790] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[1791] Step 4:
[1792] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[1793] (Inventory management and cooking instructions)
[1794] Step 1:
[1795] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[1796] Step 2:
[1797] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[1798] Step 3:
[1799] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[1800] (Accounting)
[1801] Step 1:
[1802] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[1803] Step 2:
[1804] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[1805] Step 3:
[1806] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[1807] (Personalized suggestions)
[1808] Step 1:
[1809] The server retrieves relevant information from an order history database to analyze the user's past order history and preferences.
[1810] Step 2:
[1811] The server uses machine learning algorithms to analyze user preferences and generate personalized suggestions.
[1812] Step 3:
[1813] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit. For example, the recommendation could include new menu items or special discounts.
[1814] Example 1
[1815] 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."
[1816] In traditional restaurant operations, processes such as reservations, orders, inventory management, cooking, and accounting are often managed separately, creating a need for greater efficiency. Furthermore, there is a lack of mechanisms for providing consistent quality food while minimizing food waste. Furthermore, it is difficult to provide personalized suggestions that take into account user preferences and past ordering history, making it difficult to improve customer satisfaction.
[1817] 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.
[1818] In this invention, the server includes means for receiving reservation requests from users, means for checking reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving arrival notifications from users and managing arrival status, means for receiving order requests from users and analyzing the order requests to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, thereby improving the efficiency of restaurant operations overall, reducing ingredient waste, providing food of consistent quality, and improving the user experience.
[1819] "Reservation Request" means a reservation request that includes the User's desired date and time, number of people, and any special requests (such as allergy information).
[1820] The "reservation status checking means" refers to a means for connecting to a reservation database based on a reservation request and checking whether there is availability on the specified date and time.
[1821] "Reservation confirmation information" refers to detailed reservation information that is sent to the user when the reservation is confirmed.
[1822] "Arrival Notification" means the means used to notify the server that a user has arrived at the restaurant.
[1823] "Order Request" means a request by a User to transmit via a Terminal the food they would like to eat at a restaurant or any special requests.
[1824] "Order request analysis means" refers to a means for analyzing the contents of a user's order using natural language processing technology and identifying the corresponding recipe.
[1825] "Cooking instructions" refers to the specific cooking steps and recipe ID sent to the robotic cooking device based on the analyzed order details.
[1826] "Robot cooking device" means a device that automatically cooks food according to cooking instructions from a server.
[1827] "Stock status confirmation means" means a means for confirming whether ingredients related to an order are available through an inventory management system.
[1828] "Alternatives" means other food or ingredient options offered to the user in the event of a shortage.
[1829] "Stock data update means" refers to a means for keeping stock information updated as orders and cooking progress.
[1830] "Accounting means" refers to a means for automatically calculating the account based on the user's order history and issuing an invoice.
[1831] "Payment information processing means" means a means for making a payment based on the payment method selected by the user.
[1832] The "means for generating proposals" refers to a means for analyzing the user's past order history and generating personalized proposals for the next visit to the store.
[1833] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. This system comprehensively manages everything from receiving reservation requests from users to cooking, accounting, and personalized suggestions for the next visit. Specific embodiments of the system are described below.
[1834] Hardware and software used
[1835] Server: A central management system that handles reservation management, order analysis, inventory management, cooking instructions, accounting calculations, and personalized proposal generation.
[1836] Terminal: The device (tablet or smartphone) where users make reservations, receive notifications, place orders, and make payments.
[1837] Robotic cooking device: An automatic cooking device that cooks according to cooking instructions from a server.
[1838] Natural language processing technology: Software technology for analyzing user orders.
[1839] Inventory management system: A system that manages the inventory of ingredients related to orders.
[1840] Payment System: A system that processes user payments.
[1841] Specific step-by-step instructions
[1842] 1. Reservation acceptance and confirmation
[1843] The user uses the terminal to enter the desired date and time, number of people, and any special requests into the reservation form. When the user presses the submit button, the request is sent to the server.
[1844] The server receives the reservation request and connects to the reservation database to check if there are any openings for the specified date and time. For example, it checks for reservations for 4 people at 19:00 on October 25th.
[1845] If availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[1846] Example prompts to be input to the generative AI model:
[1847] Please confirm the reservation with the following details: Desired date and time: October 25th, 19:00, Number of people: 4, Special requests: None. Please let me know if there are any openings on the date and time.
[1848] 2. Arrival notification and order analysis
[1849] When the user arrives at the restaurant, the terminal sends an arrival notification, which lets the server know that the user has arrived.
[1850] The user orders the food they want through the terminal, for example, selecting "seafood pasta" and entering any special requests.
[1851] The server receives the order request and analyzes the order using natural language processing technology. For example, if the text is "seafood pasta," the server sends the corresponding recipe ID to the robotic cooking device.
[1852] Example prompts to be input to the generative AI model:
[1853] User order: 'Seafood Pasta'. Parse this order and send the appropriate recipe ID to the robotic cooking device.
[1854] 3. Check inventory and propose alternatives
[1855] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, it checks the stock of seafood.
[1856] If there is a shortage of stock, the server will suggest an alternative to the user, for example sending a message saying, "We are out of seafood, would you like to switch to chicken pasta?"
[1857] Example prompts to be input to the generative AI model:
[1858] An order for seafood pasta is placed, but seafood is out of stock. Suggest chicken pasta as an alternative to the user.
[1859] 4. Send cooking instructions
[1860] The server creates cooking instructions based on the order, including specific recipe IDs and cooking steps.
[1861] The server sends the cooking instructions to the robotic cooking device, which then starts cooking according to the instructions. For example, if an instruction to cook seafood pasta is sent, the robotic cooking device will pick up the necessary ingredients and start cooking.
[1862] Example prompts to be input to the generative AI model:
[1863] Send cooking instructions for seafood pasta to your robotic cooking device.
[1864] 5. Accounting
[1865] Once the meal is finished, the server automatically calculates the bill based on the order history.
[1866] The terminal displays a bill based on the user's order history, and the user selects a payment method (credit card, cash, etc.).
[1867] If the user chooses to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[1868] Example prompts to be input to the generative AI model:
[1869] Calculate the bill based on the user's order history and display the invoice. If the user chooses to pay by credit card, connect to the payment system to complete the payment.
[1870] 6. Personalized recommendations
[1871] The server analyzes the user's past ordering history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, the server generates suggestions based on this data.
[1872] The server decides what dishes and services to offer the user the next time they visit and sends a notification to them, such as "Try our new truffle dish next time."
[1873] Example prompts to be input to the generative AI model:
[1874] Analyze the user's past order history to determine what dishes to suggest the next time they visit. If the user has previously rated a truffle dish highly, send them a notification suggesting a new truffle dish the next time.
[1875] In this way, the system of the present invention centrally manages everything from user reservations to orders, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[1876] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1877] Step 1:
[1878] Receiving and confirming booking requests
[1879] The user uses a terminal to enter the desired date and time, number of people, and any special requests into a reservation form. The entered reservation request is sent to the server. The server receives the reservation request and queries the reservation database to check whether there is availability for the specified date and time. The server receives a response from the reservation database, and if availability is confirmed, the server confirms the reservation and sends a reservation confirmation email to the user.
[1880] Input: User reservation request (desired date and time, number of people, special requests)
[1881] Data processing: querying the reservation database to check availability
[1882] Output: Reservation confirmation email sent to user
[1883] Step 2:
[1884] Receive and manage arrival notifications
[1885] When a user arrives at a restaurant, he or she uses a terminal to send an arrival notification to the server. The server receives the arrival notification and records the user's arrival status in the management system. This allows the server to recognize that the user has arrived.
[1886] Input: Arrival notification from user
[1887] Data processing: Recording and management of arrival status
[1888] Output: Arrival status update on the server
[1889] Step 3:
[1890] Receiving and parsing order requests
[1891] The user orders the food they want to eat through a terminal. For example, they select "seafood pasta" and enter any special requests. The order request is sent to the server. The server receives the order request and analyzes the order using natural language processing technology. From the analyzed text, the corresponding recipe ID is identified and sent to the robotic cooking device.
[1892] Input: User order request (dish name, special requests)
[1893] Data processing: Text analysis using natural language processing technology, recipe ID identification
[1894] Output: Recipe ID sent to the robotic cooking device
[1895] Step 4:
[1896] Check stock availability and suggest alternatives
[1897] Based on the order details, the server checks whether the necessary ingredients are available by linking with the inventory management system. For example, for an order for seafood pasta, the server checks the stock of seafood. If there is insufficient stock, the server sends a message to the user saying, "We are out of seafood. Would you like to change to chicken pasta?"
[1898] Input: Recipe ID, Availability Request
[1899] Data processing: Data integration with inventory management system, checking stock status
[1900] Output: Alternative suggestion message to user
[1901] Step 5:
[1902] Generate and send cooking instructions
[1903] The server creates cooking instructions based on the order details and inventory status. The created cooking instructions include specific recipe IDs and cooking steps. The server sends these cooking instructions to the robotic cooking device, which then begins cooking according to the instructions.
[1904] Input: Order details, stock status
[1905] Data processing: Generate cooking instructions (recipe ID, cooking steps)
[1906] Output: Send cooking instructions to the robotic cooking device
[1907] Step 6:
[1908] Accounting
[1909] When the user finishes their meal, the server automatically calculates the bill based on their order history. The generated bill information is displayed on the terminal. The user selects a payment method (credit card, cash, etc.) through the terminal and enters payment information. The server then works with the payment system to complete the payment.
[1910] Input: Order History
[1911] Data processing: accounting calculations, invoice generation
[1912] Output: Displaying bills on the terminal, linking with payment systems
[1913] Step 7:
[1914] Generate and notify personalized suggestions
[1915] The server analyzes the user's past order history to detect their preferences and trends. For example, if the user has previously rated truffle dishes highly, it generates suggestions based on this data. The server then decides which dishes and services to suggest for the user's next visit and sends a notification to the user. For example, it sends a notification saying, "Please try our new truffle dish next time."
[1916] Input: User's past order history
[1917] Data processing: analyzing order history and generating proposals
[1918] Output: Personalized suggestion notification to user
[1919] Through the above steps, the system of the present invention centrally manages everything from user reservations to ordering, cooking, payment, and suggestions for the next visit, thereby improving the efficiency of restaurant operations and the user experience.
[1920] (Application example 1)
[1921] 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."
[1922] Modern restaurants handle a wide range of tasks, including taking reservations, analyzing orders, managing inventory, providing cooking instructions, accounting, and providing personalized recommendations to customers. There is a need to streamline these tasks and provide high-quality food while minimizing food waste. However, conventional systems have struggled to manage these tasks in an integrated manner and provide the convenience of smartphones. It has also been difficult to generate personalized recommendations based on a user's past ordering history and effectively notify them for the next visit.
[1923] 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.
[1924] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the automatic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for calculating a bill based on the user's order history and displaying a bill to the user, means for processing the user's payment information, means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the next visit, means for notifying the user of arrival at the restaurant using a smartphone, and means for the user to select a payment method and complete payment using a smartphone. This makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[1925] The "means for receiving a reservation request from a user" is a function that allows the server to receive a request from a user to make a reservation at a restaurant.
[1926] The "means for checking reservation status based on reservation request" is a function for checking whether a reservation is possible on the desired date and time by checking the reservation register or database based on the received reservation request.
[1927] The "means for notifying the user of reservation confirmation information when the reservation is confirmed" is a function for notifying the user of the confirmation information when the reservation is confirmed.
[1928] "Means for receiving an order request from a user, analyzing the order request, and generating cooking instructions" is a function that allows the server to receive a request for a dish ordered by a user, analyze it, and generate the instructions necessary for cooking.
[1929] The "means for transmitting cooking instructions to an automatic cooking device" is a function for transmitting the generated cooking instructions to a robot or an automated cooking device.
[1930] "Means for checking the stock status of ingredients related to an order and suggesting alternatives to the user if there is a shortage of stock" is a function for checking the stock of ingredients required for an order and suggesting alternatives to the user if there is a shortage.
[1931] The "means for updating ingredient inventory data" is a function for updating ingredient inventory data in real time according to orders and usage status.
[1932] "Means for calculating the bill based on the user's order history and displaying the invoice to the user" is a function for automatically calculating the bill based on the user's past order history and presenting the invoice to the user.
[1933] The "means for processing user payment information" is a function for processing payment information based on the payment method selected by the user.
[1934] "Means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions the next time they visit the store" is a function for analyzing the user's past order history and generating and notifying personalized suggestions based on that the next time they visit the store.
[1935] The "means for a user to notify a server of arrival at a restaurant using a smartphone" is a function for a user to notify a server that they have arrived at a restaurant using a smartphone.
[1936] "Means for users to select a payment method using a smartphone and complete payment" refers to a function that allows users to select the desired payment method using a smartphone and complete the payment.
[1937] This invention is a system for streamlining restaurant operations and providing high-quality food while minimizing food waste. The system includes functions for taking reservations, analyzing orders, managing inventory, providing cooking instructions, processing bills, and providing personalized suggestions.
[1938] System Configuration
[1939] 1. Reservation acceptance and confirmation
[1940] The user makes a reservation using their smartphone by inputting the desired date and time, number of people, and any special requests (such as allergy information). The server receives the reservation request and checks the reservation status against the reservation database. If there is availability, the server confirms the reservation and notifies the user of the reservation confirmation information.
[1941] 2. Arrival notification and order analysis
[1942] When a user arrives at a restaurant, they notify the server of their arrival using their smartphone. The user then orders the food they want directly from their smartphone. The server receives the order request, analyzes it using natural language processing technology, and generates cooking instructions. The generated cooking instructions are then sent to the automatic cooking device.
[1943] 3. Inventory management and alternative proposals
[1944] The server checks the availability of ingredients related to the order. If there is a shortage, the server will suggest an alternative to the user. For example, if seafood pasta is out of stock, the server will suggest changing to chicken pasta.
[1945] 4. Accounting
[1946] Based on the user's order history, the server processes the bill and displays the invoice on the user's smartphone. The user then selects a payment method and completes the transaction.
[1947] 5. Personalized recommendations
[1948] The server analyzes the user's past order history and generates personalized recommendations for the next visit. For example, if the user has previously rated truffle dishes highly, the server will suggest new truffle dishes.
[1949] Hardware / Software Used
[1950] Server: Flask (Python web framework)
[1951] Database: SQLite (a simple database management system)
[1952] Client: Smartphone (iOS / Android)
[1953] Specific examples
[1954] Examples of reservation acceptance:
[1955] If a user sends a request from their smartphone requesting a reservation for four people at 7:00 PM on October 25th, the server receives the request, queries the reservation database to check availability, and if there is availability, confirms the reservation and notifies the user with the confirmation.
[1956] Example prompt sentence:
[1957] "User wants to make a restaurant reservation for 4 people on October 25th at 7:00 PM. Please check availability for that date and time and confirm the reservation."
[1958] In this way, the present invention provides a comprehensive system for streamlining restaurant operations and providing high-quality service to users.
[1959] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1960] Step 1:
[1961] Receiving a booking request
[1962] The user inputs a reservation request from a device (smartphone). The input includes the desired date and time, number of people, and special requests (such as allergy information). This data is sent to the server, which then receives the reservation request.
[1963] Input: reservation date and time, number of people, special requests
[1964] Output: Reservation request data received
[1965] Step 2:
[1966] Check reservation status
[1967] Based on the received reservation request, the server sends a query to the reservation database to check availability for the desired date and time. The reservation database responds to the query and replies to the server whether there is availability for the specified date and time.
[1968] Input: Reservation request data
[1969] Output:Available / unavailable reservation information
[1970] Step 3:
[1971] Notification of reservation confirmation information
[1972] When a reservation is confirmed, the server generates reservation confirmation information and notifies the terminal (smartphone) of this, allowing the user to know that the reservation has been confirmed.
[1973] Input:Available reservation information
[1974] Output: Reservation confirmation notice
[1975] Step 4:
[1976] Receiving arrival notifications
[1977] When the user arrives at the restaurant at the reserved date and time, they notify the server of their arrival using their smartphone. The server receives the arrival notification and prepares to proceed to the next step.
[1978] Input: Arrival Notification
[1979] Output: Received arrival notification
[1980] Step 5:
[1981] Receiving and parsing order requests
[1982] The user sends a food order request from their device. The server receives the order request and analyzes the order using natural language processing technology. Cooking instructions are generated based on the analysis results.
[1983] Input: Order Request
[1984] Output: Parsed order details and cooking instructions
[1985] Step 6:
[1986] Send cooking instructions
[1987] The server sends the generated cooking instructions to the automatic cooking device, which then begins preparing the food based on the received instructions.
[1988] Input: Cooking instructions
[1989] Output: Sending instructions to the automatic cooking device
[1990] Step 7:
[1991] Check inventory and offer alternatives
[1992] The server checks the availability of ingredients needed for the order. If there is a shortage, the server generates an alternative and sends it to the device (smartphone). The user checks the alternative and approves it or places another order as necessary.
[1993] Input: Order request, inventory data
[1994] Output: Alternative proposals
[1995] Step 8:
[1996] Updating food inventory data
[1997] The server updates food inventory data in real time according to orders and cooking status, making it possible to always maintain the latest inventory information.
[1998] Input: Order history, cooking status
[1999] Output: Updated inventory data
[2000] Step 9:
[2001] Accounting and billing
[2002] The server calculates the bill based on the user's order history, generates an invoice, and displays it on the user's smartphone for confirmation.
[2003] Input: Order History
[2004] Output: View invoice
[2005] Step 10:
[2006] Processing payment information
[2007] The user selects a payment method using their smartphone and makes the payment. The server receives the payment information and completes the payment.
[2008] Input: User's payment information
[2009] Output: Payment completion notification
[2010] Step 11:
[2011] Generate and notify personalized suggestions
[2012] The server analyzes the user's past order history and generates personalized suggestions for the next visit, which are then sent to the user's smartphone.
[2013] Input: Past order history
[2014] Output: Personalized suggestion notification
[2015] The above are the specific processing steps of the system for carrying out the invention, which makes it possible to provide high-quality service to users while improving the efficiency of restaurant operations and minimizing food waste.
[2016] 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.
[2017] This invention is a fully automated system that combines AI technology with a robotic cooking device, aiming to improve the efficiency of restaurant operations and the user experience. Furthermore, this invention is characterized by its configuration that combines an emotion engine that recognizes the user's emotions and provides services based on them.
[2018] System Configuration
[2019] 1. Reservation acceptance and confirmation
[2020] The user uses a terminal to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (such as allergy information). The server connects to the reservation database to check availability for that date and time, and if the reservation is confirmed, it notifies the user with reservation confirmation information.
[2021] Examples:
[2022] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[2023] 2. Order analysis and cooking
[2024] When a user arrives at a restaurant, they use their device to send a notification of their arrival to the server. They then freely input the food they want to eat and submit an order request. The server analyzes the order, identifies the corresponding recipe, and sends cooking instructions to the robotic cooking device.
[2025] Examples:
[2026] When a user orders a "Wagyu steak," the server receives the order, analyzes the order using natural language processing technology, identifies the recipe ID for the Wagyu steak, and sends it to the robotic cooking device.
[2027] 3. Inventory Management
[2028] The server checks the availability of ingredients related to the order, suggests alternatives to the user if they are out of stock, and records the consumed ingredient quantities in an inventory database, updating the inventory status.
[2029] Examples:
[2030] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[2031] 4. Emotion Recognition and Adaptation
[2032] The emotion engine analyzes the user's voice and facial expressions to identify their emotions and provides services based on these. The emotion engine monitors the user's emotions in real time when ordering and while eating, and responds appropriately.
[2033] Examples:
[2034] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[2035] 5. Accounting
[2036] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill to the user. The user selects a payment method on the terminal, and the server processes the payment information.
[2037] Examples:
[2038] If the user selects to pay by credit card, payment information is entered via the terminal, and the server works with the payment system to complete the payment.
[2039] 6. Personalized recommendations
[2040] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[2041] Examples:
[2042] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[2043] This allows for efficient restaurant operations, reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[2044] The processing flow will be explained below.
[2045] (Reception processing)
[2046] Step 1:
[2047] A user uses a terminal to send a restaurant reservation request to the server, which includes the desired date and time, number of people, and special requests (such as allergy information).
[2048] Step 2:
[2049] The server parses the incoming reservation request and connects to the reservation database to check availability for the desired date and time. Here, it queries the reservation table using an SQL query.
[2050] Step 3:
[2051] If the date and time are available, the server adds a new reservation entry to the reservation database. If successful, it sends a reservation confirmation email to the user.
[2052] (Order Processing)
[2053] Step 1:
[2054] When a user arrives at a restaurant, they use their terminal to send an arrival notification to the server, which confirms that the user has arrived.
[2055] Step 2:
[2056] A user inputs the desired food via a terminal and sends an order request to the server, including details of the food and any special requests.
[2057] Step 3:
[2058] The server receives the order request, analyzes the order details using natural language processing technology, and then retrieves the recipe ID corresponding to the order details from the recipe database.
[2059] Step 4:
[2060] The server then sends cooking instructions to the robotic cooking device based on the analyzed order details, including the ingredients and cooking steps required.
[2061] (Inventory management and cooking instructions)
[2062] Step 1:
[2063] The server queries the inventory management system to check the availability of ingredients related to the order, and if there is a shortage, consider alternatives.
[2064] Step 2:
[2065] If the stock is low, the server displays a message on the terminal suggesting an alternative to the user, and if the user accepts the alternative, generates cooking instructions again based on the content of the alternative.
[2066] Step 3:
[2067] The server records the consumed quantity of ingredients in an inventory database and updates the inventory status.
[2068] (Emotion Recognition and Adaptation)
[2069] Step 1:
[2070] When a user places an order using the terminal, the emotion engine analyzes the user's voice and facial expressions in real time.
[2071] Step 2:
[2072] The emotion engine identifies the user's emotion based on the analysis results and sends that information to the server.
[2073] Step 3:
[2074] The server considers ways to provide appropriate services based on the user's emotional information. For example, if the user is feeling stressed, it generates a proposal to provide a relaxing environment.
[2075] Step 4:
[2076] The server sends instructions to the relevant devices to execute the service content suggested by the emotion engine, for example, playing relaxing music.
[2077] (Accounting)
[2078] Step 1:
[2079] When the user finishes their meal, the server retrieves the user's order information from the order history database and calculates the total amount.
[2080] Step 2:
[2081] The server displays the calculated total amount as a bill on the user's terminal, and the user selects a payment method and enters payment information.
[2082] Step 3:
[2083] The server sends the entered payment information to the payment system, processes the payment, and notifies the user of the result when the payment is complete.
[2084] (Personalized suggestions)
[2085] Step 1:
[2086] The server acquires and analyzes the user's past order history and emotional data.
[2087] Step 2:
[2088] The server uses machine learning algorithms to analyze the user's preferences and generate personalized recommendations for the next visit.
[2089] Step 3:
[2090] The server then notifies the user of the generated recommendations, which can be sent via email or displayed on the user's device the next time they visit, for example, offering new menu items or special discounts.
[2091] Example 2
[2092] 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."
[2093] Conventional restaurant operations often rely on manual labor for a wide range of tasks, including taking reservations, processing orders, managing inventory, and accounting, creating a need for greater operational efficiency. Improving the user experience is also an important issue, which includes understanding user emotions and providing services based on those emotions. The present invention aims to solve these issues and improve the efficiency of restaurant operations and the user experience.
[2094] 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.
[2095] In this invention, the server includes means for receiving a reservation request from a user, means for checking the reservation status based on the reservation request, means for notifying the user of reservation confirmation information when the reservation is confirmed, means for receiving an order request from a user and analyzing the order request to generate cooking instructions, means for transmitting the cooking instructions to the robotic cooking device, means for checking the inventory status of ingredients related to the order and suggesting alternatives to the user if an inventory shortage occurs, means for updating ingredient inventory data, means for receiving arrival notifications from a user and processing the arrival information, means for recognizing emotions from the user's voice and facial expressions and providing service based on the recognized emotions, means for calculating the bill based on the user's order history and displaying the bill to the user, means for processing the user's payment information, and means for generating suggestions based on the user's past order history and notifying the user of personalized suggestions for the user's next visit, thereby enabling efficient restaurant operations and providing high-quality service based on the user's emotions.
[2096] A "reservation request" is a request containing information indicating a user's desire to visit a restaurant with a specific number of people at a specific date and time.
[2097] "Reservation status" refers to the availability of seats at a restaurant on a specific date and time and whether or not a reservation has already been made.
[2098] "Reservation confirmation information" is detailed reservation information that is notified to the user when the user's reservation is confirmed.
[2099] An "order request" is a request by a user to specify the food and drink they would like to eat at a restaurant.
[2100] "Cooking instructions" refer to instructions for the robotic cooking device to cook a specific dish, generated based on a received order request.
[2101] A "robotic cooking device" is a mechanical device used to automatically cook food.
[2102] "Inventory status of ingredients" refers to the current stock and remaining amount of various ingredients at the restaurant.
[2103] "Inventory data" refers to recorded data such as the stock and consumption amounts of each type of food ingredient.
[2104] An "arrival notification" is information that notifies the server that the user has arrived at the restaurant.
[2105] "Emotion recognition" is a technology that analyzes a user's voice and facial expressions to identify their emotions at that time.
[2106] "Payment" refers to calculating the total amount of food and drinks ordered by the user.
[2107] "Invoice" means information in paper or digital form that notifies a user of an amount due.
[2108] "Payment information" refers to information related to settlement, such as credit card information, required when a user makes a payment.
[2109] "Suggestions" refer to dishes and services that will be suggested for the next visit, generated based on the user's past order history and emotional data.
[2110] The present invention is a fully automated system that combines AI technology with a robotic cooking device to improve the efficiency of restaurant operations and the user experience. The system also includes an emotion engine that recognizes the user's emotions and provides services based on those emotions. Specific embodiments of this system are described below.
[2111] System Configuration
[2112] Reservation acceptance and confirmation
[2113] The user uses a device (smartphone or PC) to send a reservation request to the server. The request includes the desired date and time, number of people, and any special requests (allergy information, etc.). The server connects to a reservation database (e.g., PostgreSQL) to check availability for that date and time, and if the reservation is confirmed, it notifies the user by email (using the SMTP protocol) with reservation confirmation information.
[2114] Examples:
[2115] If a user requests a reservation for four people at 19:00 on October 25th, the server checks the reservation database, and if the result is "available," it confirms the reservation and sends the user a reservation confirmation email.
[2116] Example prompt: "Please enter your desired reservation date and time and number of people."
[2117] Order analysis and cooking
[2118] When a user arrives at a restaurant, they use a device (such as a tablet) to send a notification of their arrival to the server. The user then freely enters the dishes they want into an order form and submits an order request. The server then analyzes the order using natural language processing technology (e.g., GPT-4), identifies the corresponding recipe, and sends cooking instructions to a robotic cooking device (e.g., Moley Kitchen Robot).
[2119] Examples:
[2120] When a user orders a "Wagyu steak," the server uses NLP technology to analyze the order and identify the recipe ID for the Wagyu steak, which is then sent to the robotic cooking device to begin cooking.
[2121] Example prompt: "I'd like to order a Wagyu steak."
[2122] Inventory management
[2123] The server checks the availability of ingredients related to the order and, if they are out of stock, suggests alternatives to the user. The server connects to an inventory database (e.g., PostgreSQL) to record the quantities of ingredients consumed and update the inventory status.
[2124] Examples:
[2125] If Wagyu beef is out of stock, the server will suggest to the user, "We're running low on Wagyu beef, would you like to change to a regular beef steak?"
[2126] Example prompt: "Please check stock availability and suggest alternatives."
[2127] Emotion Recognition and Adaptation
[2128] An emotion engine (for example, Microsoft Azure's Cognitive Services) analyzes the user's voice and facial expressions to identify their emotions. It uses a combination of cameras and microphones to collect data and analyzes it in real time. The emotion engine monitors the user's emotions when ordering and while eating and responds appropriately.
[2129] Examples:
[2130] If the user displays a displeased expression when placing an order, the emotion engine will generate a suggestion to "play calming music for a relaxing environment," and the server will carry out the instruction.
[2131] Example prompt: "Analyze the user's emotions and respond accordingly."
[2132] Accounting
[2133] Once the meal is finished, the server automatically calculates the bill based on the order history and displays the bill on the terminal. The user selects a payment method, and the server processes the payment information. The payment system uses the Stripe API.
[2134] Examples:
[2135] When a user selects to pay by credit card, the information is entered via the terminal, and the server works with the payment system to complete the payment.
[2136] Example prompt: "Please perform accounting procedures."
[2137] Personalized suggestions
[2138] Based on the user's past order history and emotional data, the server generates personalized suggestions for the next visit and notifies the user.
[2139] Examples:
[2140] If a user has enjoyed ordering truffle dishes in the past, the system will send the user a notification suggesting a "new truffle dish" the next time they visit the restaurant.
[2141] Example prompt: "Generate suggestions based on user data."
[2142] This system enables efficient restaurant operations and reduces food waste, ensures consistency in food quality and taste, and improves customer satisfaction by providing services based on user emotions.
[2143] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2144] Reservation acceptance and confirmation
[2145] Step 1:
[2146] The user uses a terminal (smartphone or PC) to input and submit a reservation request.
[2147] Specific operation: The user enters the desired date and time, number of people, and special requests (such as allergy information) into the reservation form and presses the "Submit" button.
[2148] Input: Desired date and time, number of people, special requests
[2149] Output: Booking request data
[2150] Step 2:
[2151] The server receives the reservation request and connects to the reservation database.
[2152] What happens: The server sends an SQL query to the PostgreSQL database to inquire about availability for the specified date and time.
[2153] Input: Booking request data
[2154] Output: SQL query result (availability)
[2155] Step 3:
[2156] The server checks availability and generates reservation confirmation information.
[2157] Specific behavior: If the result of the SQL query is "Available," the server confirms the reservation and sends a reservation confirmation email to the user using the SMTP protocol.
[2158] Input: SQL query result (availability)
[2159] Output: Reservation confirmation information
[2160] Order analysis and cooking
[2161] Step 4:
[2162] When the user arrives at the restaurant, the user inputs and transmits a...
Claims
1. means for receiving a reservation request from a user; means for checking the reservation status based on the reservation request; means for notifying the user of reservation confirmation information when the reservation is confirmed; means for receiving an order request from a user and analyzing the order request to generate cooking instructions; means for transmitting the cooking instructions to the robotic cooking device; a means for checking the stock status of ingredients related to the order and suggesting alternatives to the user if there is a shortage of stock; A means for updating food inventory data; means for calculating a bill based on the user's order history and displaying a bill to the user; means for processing user payment information; means for generating recommendations based on the user's past order history and notifying the user of personalized recommendations the next time they visit the store; A system including:
2. 2. The system according to claim 1, wherein the reservation status confirmation means includes means for transmitting a query to a reservation database to obtain availability for the desired date and time.
3. 2. The system according to claim 1, wherein the order request analyzing means includes means for analyzing the order contents using natural language processing technology and identifying a corresponding recipe.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A