System
The system addresses challenges in Japanese cooking platforms by offering visual guides, ingredient alternatives, and community features, making it easier for users to learn and enjoy Japanese cuisine.
Patent Information
- Application Number
- JP2024133494
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Conventional Japanese cooking recipe platforms face challenges such as difficulty for beginners in understanding cooking steps without visual aids, regional ingredient variations, and lack of community interaction for feedback and recipe sharing.
A system that provides step-by-step cooking instructions with images and videos, suggests alternative ingredients, and allows users to share and rate recipes and comments within a community, facilitating user authentication and interaction.
Enables users, especially beginners, to easily learn Japanese cuisine by providing detailed instructions, alternative ingredients, and fostering a community for sharing and feedback, enhancing the cooking experience.
Smart Images

Figure 2026030511000001_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] Conventional Japanese cooking recipe learning platforms have the following issues. First, beginners have difficulty understanding the cooking steps, and it is difficult to follow them without photos or videos. Second, the ingredients used by users vary by region, and certain ingredients may be difficult to obtain, making it necessary to suggest substitutes. Furthermore, there are few opportunities for users to share their cooking results and receive feedback, making it difficult to form a community. The present invention aims to solve these issues and provide a platform that makes it easy for users to learn and enjoy Japanese cooking. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by the following means. A system is provided that includes a means for receiving authentication information entered by a user and generating an authentication token, a means for receiving keywords searched by a user and providing search results, a means for acquiring and providing detailed information corresponding to a selected recipe, a means for suggesting alternative ingredients for ingredients included in a recipe, and a means for receiving images and comments posted by users and displaying them within a community. Furthermore, the system includes a means for providing step-by-step cooking instructions for each recipe along with images and videos, and a means for users to rate or comment on images and comments posted by other users, thereby deepening users' understanding and promoting the formation of a community. This realizes a platform that is easy to understand even for beginners, allowing them to learn Japanese cuisine while having fun.
[0006] "User" refers to an individual who uses the platform of the present invention to search for, view, and post Japanese cuisine recipes.
[0007] "Authentication Information" means personal identification information, such as a username and password, required for a User to access the Platform.
[0008] An "authentication token" is a unique code issued after user authentication to perform subsequent session management and authentication.
[0009] A "search keyword" refers to a string of characters that a user enters to search for information about a specific recipe or dish.
[0010] "Search Results" means the list of relevant recipes and information provided by the Platform based on the search keywords entered by a User.
[0011] A "recipe" refers to information that includes instructions and a list of ingredients for making a particular dish.
[0012] "Detailed Information" refers to all relevant information about the selected recipe, such as specific ingredients, cooking instructions, photos, and videos.
[0013] "Substitute ingredients" refers to other ingredients suggested to replace the primary ingredient in a particular recipe.
[0014] "Images" refers to photos of dishes created by users and visual content shared within the community.
[0015] "Comment" means text feedback provided by a User to Content created by other Users on the Platform.
[0016] "Community" refers to the social features on the platform that allow users to interact with each other and share cooking information and impressions.
[0017] "Rating" refers to the act of rating a user on another user's post or comment, and can take the form of a "like" or a star rating. [Brief explanation of the drawings]
[0018] [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
[0019] 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.
[0020] First, the terms used in the following description will be explained.
[0021] 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).
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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."
[0026] [First embodiment]
[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0028] 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.
[0029] 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).
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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."
[0039] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. A detailed description of this system is provided below.
[0040] User authentication and profile management
[0041] User Registration
[0042] User: Visits the registration page and enters authentication information such as name, email address, and password.
[0043] Terminal: Sends the entered information to the server. The server receives this information and processes it by storing it in a database. If authentication is successful, the server generates an authentication token and returns it to the user.
[0044] User Login
[0045] User: Visit the login page and enter your registered email address and password.
[0046] Terminal: The entered authentication information is sent to the server, which checks the user information against its database and, if authentication is successful, issues a new token and returns it to the user.
[0047] Searching and viewing recipes
[0048] Recipe Search
[0049] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0050] Device: Sends a request containing keywords to the server, which searches the database for recipes based on the keywords and returns the search results.
[0051] Displaying search results
[0052] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface.
[0053] Step-by-step cooking guide
[0054] Recipe Selection
[0055] User: Select the recipe that interests them from the search results.
[0056] Device: Requests detailed information about the selected recipe from the server, which retrieves and returns details from the database, including recipe steps, ingredients, photos, and videos.
[0057] Viewing detailed information
[0058] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[0059] Substitute ingredient suggestion system
[0060] Request an alternative material
[0061] User: Request substitution information for a specific ingredient in a recipe.
[0062] Terminal: Sends a request including an ingredient ID to the server. The server retrieves and returns information on alternative ingredients for the corresponding ingredient from the database.
[0063] Displaying Alternative Material Information
[0064] Device: Analyzes the received information on alternative ingredients and displays it on the user interface, allowing the user to proceed with cooking using ingredients they have on hand.
[0065] Community Features
[0066] Creating a Post
[0067] User: Post photos of your own cooking and comments.
[0068] Device: Posted images and comments are sent to the server, which stores them in a database and shares them with other users.
[0069] Retrieving and Displaying Feeds
[0070] Users: Visit the community page.
[0071] Device: Sends a request to the server to get the latest posts feed. The server retrieves the latest posts from the database and returns them to the device.
[0072] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[0073] With these functions, the platform of the present invention allows users to easily learn Japanese cuisine, share various information, and receive feedback from other users, thereby expanding the enjoyment of cooking and providing a system that promotes interaction between users.
[0074] The processing flow will be explained below.
[0075] User authentication and profile management
[0076] User Registration
[0077] Step 1:
[0078] A user accesses the membership registration page and enters their name, email address, and password.
[0079] Step 2:
[0080] The terminal sends a POST request containing the entered information to the server.
[0081] Step 3:
[0082] The server receives the request and stores the user information in a database.
[0083] Step 4:
[0084] If the server successfully saves the user information, it generates an authentication token and returns it to the user.
[0085] Step 5:
[0086] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[0087] User Login
[0088] Step 1:
[0089] The user accesses the login page and enters their registered email address and password.
[0090] Step 2:
[0091] The device sends a POST request to the server containing the entered authentication information.
[0092] Step 3:
[0093] The server receives the request and checks the user information against a database.
[0094] Step 4:
[0095] If the authentication is successful, the server issues a new token and returns it to the user.
[0096] Step 5:
[0097] The device stores the received authentication token in local storage.
[0098] Searching and viewing recipes
[0099] Recipe Search
[0100] Step 1:
[0101] A user enters a keyword (e.g., "sushi") into a search bar on your site.
[0102] Step 2:
[0103] The device sends a GET request containing the keyword to the server.
[0104] Step 3:
[0105] The server receives the request and searches a database for recipes based on the keywords.
[0106] Step 4:
[0107] The server returns the search results to the device in JSON format.
[0108] Step 5:
[0109] The terminal analyzes the received search results and displays the recipe title, photo, and brief description on the user interface.
[0110] Step-by-step cooking guide
[0111] Recipe Selection
[0112] Step 1:
[0113] The user selects the recipe of interest from the search results.
[0114] Step 2:
[0115] The device sends a GET request to the server containing the ID of the selected recipe.
[0116] Step 3:
[0117] The server receives the request and retrieves the details of the recipe (instructions, ingredients, photos, videos) from the database.
[0118] Step 4:
[0119] The server returns detailed recipe information to the terminal in JSON format.
[0120] Step 5:
[0121] The terminal analyzes the received recipe information and displays it step by step on the user interface.
[0122] Substitute ingredient suggestion system
[0123] Request an alternative material
[0124] Step 1:
[0125] A user requests substitution information for a specific ingredient in a recipe.
[0126] Step 2:
[0127] The device sends a GET request to the server containing the ID of the selected ingredient.
[0128] Step 3:
[0129] The server receives the request and retrieves information on substitute ingredients for the relevant ingredient from the database.
[0130] Step 4:
[0131] The server returns the alternative material information to the terminal in JSON format.
[0132] Step 5:
[0133] The terminal analyzes the received alternative material information and displays it on the user interface.
[0134] Community Features
[0135] Creating a Post
[0136] Step 1:
[0137] Users enter photos of their own cooking and comments.
[0138] Step 2:
[0139] The device sends a POST request including the entered photo data and comments to the server.
[0140] Step 3:
[0141] The server receives the request and saves the post in a database.
[0142] Step 4:
[0143] The server returns status code 200 indicating the save was successful.
[0144] Retrieving and Displaying Feeds
[0145] Step 1:
[0146] A user visits a community page.
[0147] Step 2:
[0148] The device sends a GET request to the server to retrieve the latest post feed.
[0149] Step 3:
[0150] The server receives the request and retrieves the latest posts from the database.
[0151] Step 4:
[0152] The server returns the post feed to the device in JSON format.
[0153] Step 5:
[0154] The terminal analyzes the received post feed and displays it on the user interface.
[0155] Example 1
[0156] 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."
[0157] Conventional recipe websites and cooking applications make it difficult for users to effectively learn Japanese cooking recipes, especially for beginners, as the detailed steps and ingredients are difficult to understand. Furthermore, the lack of suggestions for alternative ingredients and the lack of interaction between users can reduce the enjoyment of cooking and potentially lower motivation to learn. There is a need for a system that addresses these issues and allows users to learn Japanese cooking more easily and enjoyably.
[0158] 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.
[0159] In this invention, the server includes a means for receiving authentication information entered by a user and generating an authentication token, a means for receiving search terms searched by the user and providing search results, and a means for acquiring and providing detailed information corresponding to the selected cooking instruction. This allows a user to access the system after authentication, search for recipes using the search function, and check the details. The server also includes a means for suggesting alternative ingredients for ingredients included in the cooking instruction and a means for receiving images and comments posted by users and displaying them among co-users, promoting interaction between users and enabling cooking using alternative ingredients.
[0160] "Authentication information" is the information a user needs to access a system, and typically includes a name, email address, and password.
[0161] An "authentication token" is a string of data generated by a server to indicate that a user has been properly authenticated, allowing continued access.
[0162] A "search word" is a word or phrase that a user enters to locate specific information within the system.
[0163] "Search results" are a set of information or data provided by the system based on the search words entered by the user.
[0164] "Cooking Instructions" are detailed instructions about the steps and ingredients for making a particular dish, allowing users to learn how to cook.
[0165] "Detailed information" includes information such as specific steps, ingredients, photos and videos related to cooking instruction.
[0166] "Ingredients" refers to the ingredients and materials used in cooking.
[0167] "Substitute ingredient information" is information about other ingredients that can be used when a specific ingredient is not available or when you want to change it.
[0168] "Images" are visual data such as photos and illustrations of food that users post to the system.
[0169] A "comment" is a text message posted by a user to the system, and includes evaluations and impressions of other users.
[0170] "Joint users" are multiple users of the system who aim to exchange information and opinions with each other.
[0171] The present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. This system is realized by a combination of hardware and software.
[0172] User authentication and profile management
[0173] User Registration
[0174] User: Access the membership registration page and enter your name, email address, and password.
[0175] Terminal: Sends the entered authentication information to the server.
[0176] Server: Stores the received information in a database, and if storage is successful, generates an authentication token and returns it to the user via the terminal.
[0177] Example: "On the user registration page, enter the name "Yamada Taro" and the email address "taro@example.com" and press the member registration button."
[0178] User Login
[0179] User: Visit the login page and enter your registered email address and password.
[0180] Terminal: Sends input information to the server.
[0181] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[0182] Example: "Enter your email address 'taro@example.com' and password on the login page and press the login button."
[0183] Searching and viewing recipes
[0184] Recipe Search
[0185] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0186] Device: Send a request containing the keyword to the server.
[0187] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[0188] Example: "Type 'sushi' into the search bar and press the search button."
[0189] Displaying search results
[0190] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and summary in the user interface.
[0191] Example: "Display 'Tuna sushi' from the list of search results."
[0192] Step-by-step cooking guide
[0193] Recipe Selection
[0194] User: Select the recipe that interests them from the search results.
[0195] Terminal: Requests detailed information about the selected recipe from the server.
[0196] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[0197] Example: "Select 'Tuna Sushi' from the search results and view detailed information."
[0198] Viewing detailed information
[0199] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[0200] Example: "Proceed with cooking while viewing the detailed recipe for 'Tuna Sushi'."
[0201] Substitute ingredient suggestion system
[0202] Request an alternative material
[0203] User: Request substitution information for a specific ingredient in a recipe.
[0204] Device: Sends a request including the ingredient ID to the server.
[0205] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[0206] Example: "Request a substitution for 'tuna' in the recipe for 'tuna sushi'."
[0207] Displaying Alternative Material Information
[0208] Terminal: Analyzes the alternative ingredient information received from the server and displays it on the user interface, allowing the user to proceed with cooking using the ingredients they have on hand.
[0209] Example: "Make sure you can use 'salmon' or 'bonito' instead of 'tuna'."
[0210] Community Features
[0211] Creating a Post
[0212] User: Post photos of your own cooking and comments.
[0213] Device: Sends posted images and comments to the server.
[0214] Server: Stores the received data in a database and shares it with other users.
[0215] Example: "Post a photo of the tuna sushi you made and a comment."
[0216] Retrieving and Displaying Feeds
[0217] Users: Visit the community page.
[0218] On your device: Sends a request to the server to get a feed of the latest posts.
[0219] Server: Gets the latest posts from the database and returns them to the device.
[0220] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[0221] Example: "Look at another user's 'grilled fish' post on the community page and click 'Like'."
[0222] With these features, the system of the present invention allows users to learn Japanese cuisine, share recipes and information with other users, receive feedback, and enjoy cooking. It also increases the variety and accessibility of cooking by suggesting alternative ingredients and providing step-by-step guides.
[0223] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0224] User authentication and profile management
[0225] User Registration
[0226] Step 1:
[0227] User: Access the membership registration page and enter your name, email address, and password.
[0228] Specific actions: Open the membership registration form in your browser and enter the required information.
[0229] Input: Name, Email Address, Password
[0230] Output: The input information is displayed in the form
[0231] Step 2:
[0232] Terminal: Sends the entered authentication information to the server.
[0233] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[0234] Input: Form data
[0235] Output: POST request to the server
[0236] Step 3:
[0237] Server: Stores the received information in a database and generates an authentication token if the storage is successful.
[0238] Specific operation: The server stores the received data in a database and generates a UUID (a unique identifier specific to the namespace).
[0239] Input: Form data
[0240] Output: UUID (auth token)
[0241] Step 4:
[0242] Server: Returns the generated authentication token to the device.
[0243] Specific operation: The server responds by sending an authentication token to the device.
[0244] Input: UUID (authentication token)
[0245] Output: Response message on the terminal
[0246] User Login
[0247] Step 1:
[0248] User: Visit the login page and enter your registered email address and password.
[0249] Specific behavior: Open the login form in your browser and enter your email address and password.
[0250] Input: Email address, Password
[0251] Output: The input information is displayed in the form
[0252] Step 2:
[0253] Terminal: Sends input information to the server.
[0254] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[0255] Input: Form data
[0256] Output: POST request to the server
[0257] Step 3:
[0258] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[0259] What happens: The server queries the database, verifies that the credentials match, and generates a new UUID.
[0260] Input: Form data
[0261] Output: New UUID (auth token)
[0262] Searching and viewing recipes
[0263] Recipe Search
[0264] Step 1:
[0265] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0266] Specific action: Enter a keyword into the search bar in your browser.
[0267] Input: Keyword (e.g. "sushi")
[0268] Output: The entered keyword will be displayed in the search bar.
[0269] Step 2:
[0270] Device: Send a request containing the keyword to the server.
[0271] Specific behavior: When you click the search button, a GET request containing the keywords is sent to the server.
[0272] Input: Keyword (e.g. "sushi")
[0273] Output: GET request containing keyword
[0274] Step 3:
[0275] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[0276] Specific operation: The server queries the database and retrieves the relevant recipe information.
[0277] Input: Keyword (e.g. "sushi")
[0278] Output: Search results (recipe list)
[0279] Displaying search results
[0280] Step 1:
[0281] Terminal: Analyzes the search results received from the server.
[0282] Specific operation: Parses search results in JSON or XML format and extracts the required data.
[0283] Input: Search results (recipe list)
[0284] Output: Parsed data
[0285] Step 2:
[0286] Terminal: Display search results in a user interface.
[0287] Specific operation: Display using HTML and CSS based on the analyzed data.
[0288] Input: Parsed data
[0289] Output: Search results are displayed on the screen
[0290] Step-by-step cooking guide
[0291] Recipe Selection
[0292] Step 1:
[0293] User: Select the recipe that interests them from the search results.
[0294] Specific Action: Click or tap to select a recipe from the search results list.
[0295] Input: Search results (recipe list)
[0296] Output: Selected recipe ID
[0297] Step 2:
[0298] Terminal: Requests detailed information about the selected recipe from the server.
[0299] Specific behavior: Sends a request containing the selected recipe ID to the server.
[0300] Input: Recipe ID
[0301] Output: GET request with recipe ID
[0302] Step 3:
[0303] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[0304] What happens next: The server executes a database query to retrieve more information.
[0305] Input: Recipe ID
[0306] Output: Recipe details
[0307] Viewing detailed information
[0308] Step 1:
[0309] Terminal: Analyzes the detailed recipe information received from the server.
[0310] Specific behavior: Parses data in JSON or XML format and extracts cooking instructions and ingredients.
[0311] Input: Recipe details
[0312] Output: Parsed details
[0313] Step 2:
[0314] Terminal: Display the analyzed information in the user interface.
[0315] Specific operation: Based on the analyzed information, a step-by-step display is performed using HTML and CSS.
[0316] Input: Parsed details
[0317] Output: Detailed information is displayed on the screen
[0318] Substitute ingredient suggestion system
[0319] Request an alternative material
[0320] Step 1:
[0321] User: Request substitution information for a specific ingredient in a recipe.
[0322] What it does: Select a specific ingredient on the recipe details page and make a substitution request.
[0323] Input: Ingredient ID
[0324] Output: Substitute material request
[0325] Step 2:
[0326] Device: Sends a request including the ingredient ID to the server.
[0327] What happens next: A request is sent to the server.
[0328] Input: Ingredient ID
[0329] Output: GET request with ingredient ID
[0330] Step 3:
[0331] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[0332] Specific Behavior: Executes a database query to retrieve alternative material information.
[0333] Input: Ingredient ID
[0334] Output: Alternative material information
[0335] Displaying Alternative Material Information
[0336] Step 1:
[0337] Terminal: Analyzes the alternative material information received from the server.
[0338] Specific behavior: Parses alternative material information in JSON or XML format.
[0339] Input: Alternative material information
[0340] Output: Analyzed alternative material information
[0341] Step 2:
[0342] Terminal: Display the analyzed information in the user interface.
[0343] Specific operation: Display using HTML and CSS based on alternative material information.
[0344] Input: Analyzed alternative material information
[0345] Output: Alternative material information is displayed on the screen
[0346] Community Features
[0347] Creating a Post
[0348] Step 1:
[0349] User: Post photos of your own cooking and comments.
[0350] Specific actions: Upload a photo and enter a comment.
[0351] Input: Image file, comment
[0352] Output: The submission is displayed in the form
[0353] Step 2:
[0354] Terminal: Sends the post to the server.
[0355] Specific behavior: Click the submit button and the data is sent to the server.
[0356] Input: Image file, comment
[0357] Output: POST request to the server
[0358] Step 3:
[0359] Server: Saves the submitted data in a database and shares it with other users.
[0360] Specific operation: Save image files and comments to the database and set sharing settings.
[0361] Input: Image file, comment
[0362] Output: New record in the database
[0363] Retrieving and Displaying Feeds
[0364] Step 1:
[0365] Users: Visit the community page.
[0366] Specific Action: Opens the community page.
[0367] Input: page access
[0368] Output: Page request
[0369] Step 2:
[0370] On your device: Send a request to the server for a feed of the latest posts.
[0371] Specific behavior: Sends a feed request to the server.
[0372] Input: Feed request
[0373] Output: GET request to the server
[0374] Step 3:
[0375] Server: Gets the latest posts from the database and returns them to the device.
[0376] What it does: Executes a database query to get the latest posts.
[0377] Input: Feed request
[0378] Output: Latest Posts feed
[0379] Step 4:
[0380] Terminal: Parses the received feed and displays it in a user interface.
[0381] Specific behavior: Parses feed data in JSON or XML format and extracts the required data.
[0382] Input: Latest Posts Feed
[0383] Output: Parsed data
[0384] Step 5:
[0385] On your device: Displays a feed of posts in a timeline format, allowing users to rate and comment.
[0386] Specific operation: Uses HTML and CSS to display feed data in a timeline format, and adds rating and comment functions.
[0387] Input: Parsed data
[0388] Output: Feed displayed in timeline format
[0389] This allows the system of the present invention to enable users to learn Japanese cuisine, share recipes and information with other users, and enjoy cooking while receiving feedback.
[0390] (Application example 1)
[0391] 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."
[0392] In conventional recipe learning systems, it is difficult for users to check cooking steps in real time or receive suggestions for substitute ingredients. Furthermore, in brick-and-mortar stores, information sharing and feedback between staff members is not effectively carried out, which can lead to a decline in cooking efficiency and quality. The present invention aims to solve these problems.
[0393] 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.
[0394] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting substitute ingredient information for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for staff at a physical store to manage account information and check recipe searches and step-by-step cooking procedures, and means for acquiring detailed recipe information using a generative AI model and suggesting substitute ingredients. This allows users to check cooking procedures and receive suggestions for substitute ingredients in real time, enabling effective information sharing and feedback between staff at a physical store.
[0395] "Authentication information" refers to information such as a name, email address, and password that a user enters when accessing a system.
[0396] An "authentication token" is a digital certificate that indicates that a user has been properly authenticated and is used to maintain a session.
[0397] A "keyword" is a specific word or phrase that a user enters when searching for information such as a recipe.
[0398] "Search results" are a list of related recipes and information returned by the system based on the keywords entered by the user.
[0399] "Detailed information" refers to specific information related to the selected recipe, such as cooking instructions, ingredients, photos, and videos.
[0400] "Alternative ingredient information" is information about other ingredients that can be used when a specific ingredient is unavailable.
[0401] "Images and comments" refers to photos of food posted by users to the community, along with their descriptions and comments.
[0402] The "means for displaying within the community" refers to a method or function for displaying images and comments posted by users on a community page so that other users can view them.
[0403] "Brick and mortar store" refers to a physical establishment such as a grocery store or restaurant, especially one that includes a kitchen.
[0404] "Staff" refers to employees and cooks working in physical stores.
[0405] "Account information" is data for managing user and staff profiles and authentication information.
[0406] "Generative AI models" refer to algorithms and machine learning models that use artificial intelligence to perform natural language processing, image recognition, and other tasks.
[0407] "Real-time" means that processing and response occur immediately at the moment the user makes a request.
[0408] The system of this invention allows staff at a brick-and-mortar restaurant to learn Japanese cuisine recipes, confirm cooking procedures, and share information among themselves. This system uses mobile devices such as smartphones and tablets as hardware and is built using a mobile app development framework (e.g., React Native or Flutter) as software. Firebase Authenticator and Firebase Firestore are used as servers.
[0409] 1. User authentication and profile management
[0410] User Registration
[0411] Staff access the member registration page of the smartphone application and enter authentication information such as name, email address, and password. The device sends this information to the server (Firebase Authenticator), which then generates an authentication token and returns it to the staff. This authentication token is a certificate that proves that the staff has the appropriate permissions and is stored in local storage.
[0412] User Login
[0413] A staff member accesses the login page and enters their registered email address and password. The device sends this authentication information to the server, which then checks the information against the database (Firebase Firestore). If authentication is successful, the server issues and returns a new token, allowing the staff member to access the system.
[0414] 2. Search and view recipes
[0415] Recipe Search
[0416] Staff enter keywords into the search bar in the app, e.g., "sushi." The device sends a request including the keyword to the server, which then searches the database for recipes based on the keyword and returns them. This allows staff to quickly obtain the recipe information they need.
[0417] Displaying search results
[0418] The device analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface, allowing staff to select dishes to serve based on this information.
[0419] 3. Step-by-step cooking guide
[0420] Recipe Selection
[0421] Staff members select a recipe they are interested in from the search results, and the device requests detailed information about the selected recipe from the server, which then returns the details, including the recipe's steps, ingredients, photos, and videos.
[0422] Viewing detailed information
[0423] The device analyzes the detailed information of the received recipe and displays it on the user interface, allowing staff to check the cooking instructions step by step and ensure accurate cooking.
[0424] 4. Substitute Ingredient Suggestion System
[0425] Request an alternative material
[0426] When a staff member requests information about substitute ingredients for a specific ingredient in a recipe, the terminal sends a request including the ingredient ID to the server, which retrieves and returns the substitute ingredient information for the corresponding ingredient from the database.
[0427] Displaying Alternative Material Information
[0428] The device analyzes the received information on alternative ingredients and displays it on the user interface, allowing staff to proceed with cooking using ingredients they have on hand.
[0429] 5. Community Features
[0430] Creating a Post
[0431] Staff members post photos of their own cooking along with comments. The devices send the posted images and comments to a server, which stores them in a database and shares them with other staff members.
[0432] Retrieving and Displaying Feeds
[0433] A staff member accesses the community page. The device sends a request to the server to retrieve the latest post feed. The server retrieves the latest posts from the database and returns them to the device. The device analyzes the received post feed and displays it on the user interface. This displays other staff members' cooking photos and comments in a timeline format, allowing staff members to rate and comment on them.
[0434] Specific examples of prompts for the generative AI model to use
[0435] For example, you could input the following prompt into a generative AI model:
[0436] "Generate recipes for Japanese cuisine. Please include detailed descriptions of ingredients and cooking steps. Please be as specific and clear as possible. Examples: sushi, tempura, udon."
[0437] Using this prompt, detailed recipe information can be captured from the generative AI model and used to create a recipe database that can be used by staff.
[0438] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0439] Step 1: User Registration
[0440] A user launches the application on their smartphone, accesses the membership registration page, and enters authentication information such as their name, email address, and password. The device sends this information to the server (Firebase Authenticator). The server receives the authentication information, stores it in a database, generates an authentication token, and returns it to the device. This token is stored in local storage.
[0441] (Input: Name, Email, Password. Output: Authentication Token)
[0442] Step 2: User Login
[0443] The user accesses the login page and enters their registered email address and password. The device sends this authentication information to the server. The server compares the received information with the database, and if authentication is successful, it issues a new token and returns it to the device. This token is also stored in local storage.
[0444] (Input: email address, password. Output: new authentication token)
[0445] Step 3: Find a recipe
[0446] The user enters a keyword into the search bar within the app. For example, the keyword "sushi." The device sends a request including this keyword to the server. The server searches the database for relevant recipe information and returns the search results to the device. The device analyzes the results and displays the recipe title, photo, and brief description on the user interface.
[0447] (Input: Keywords. Output: Search results)
[0448] Step 4: Get recipe details
[0449] The user selects a specific recipe from the search results. The device requests detailed information about the selected recipe from the server. The server retrieves detailed information about the recipe, such as steps, ingredients, photos, and videos, from the database and returns it to the device. The device analyzes the information and displays it in the user interface.
[0450] (Input: Recipe ID. Output: Recipe details information)
[0451] Step 5: Step-by-step cooking guide
[0452] The user proceeds with the cooking process while viewing detailed information. The device displays each cooking step by step with images and videos, allowing the user to accurately cook the food while checking the cooking process.
[0453] (Input: Recipe details. Output: Step-by-step guide)
[0454] Step 6: Propose alternative materials
[0455] The user requests information about alternative ingredients for a specific ingredient. The device sends a request including the ingredient ID to the server. The server retrieves the alternative ingredient information from the database and returns it to the device. The device analyzes it and displays it on the user interface.
[0456] (Input: Ingredient ID. Output: Substitute ingredient information)
[0457] Step 7: Recipe generation using generative AI models
[0458] The user enters a prompt to generate a new recipe. For example, "Please generate a recipe for Japanese cuisine. Please include detailed information about ingredients and cooking steps. Please be as specific and easy to understand as possible. For example, sushi, tempura, and udon." The device sends this prompt to the generative AI model. The server uses the generative AI model to generate detailed recipe information and returns it to the device. The device saves and displays it.
[0459] (Input: prompt text. Output: generated recipe information)
[0460] Step 8: Community Posting
[0461] Users post photos of their own cooking and comments. The device sends the posted images and comments to the server, which stores them in a database. The stored information is displayed on a community page for other users to view.
[0462] (Input: images, comments. Output: community feed)
[0463] Step 9: Retrieve and display the community feed
[0464] A user accesses a community page. The device requests the latest posts from the server, and the server retrieves the latest posts from the database and returns them to the device. The device analyzes them and displays them in the user interface. The user can rate and comment on other users' posts.
[0465] (Input: None. Output: Latest Posts Feed)
[0466] 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.
[0467] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A detailed description of this system is provided below.
[0468] User authentication and profile management
[0469] User Registration
[0470] User: Visits the registration page and enters authentication information such as name, email address, and password.
[0471] Terminal: Sends a POST request containing the entered information to the server.
[0472] Server: Receives the request, stores the user information in a database, and if authentication is successful, generates an authentication token and returns it to the user.
[0473] Device: The received authentication token is stored in local storage and used for subsequent authentication.
[0474] User Login
[0475] User: Visit the login page and enter your registered email address and password.
[0476] Terminal: Sends a POST request to the server containing the entered authentication information.
[0477] Server: Receives the request, checks the user information against a database, and if authentication is successful, issues a new token and returns it to the user.
[0478] On the device: The received authentication token is stored in local storage.
[0479] Searching and viewing recipes
[0480] Recipe Search
[0481] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0482] Device: Send a GET request containing the keyword to the server.
[0483] Server: Receives the request, searches the database for recipes based on the keywords, and returns the search results in JSON format to the device.
[0484] Device: Analyzes the received search results and displays the recipe title, photo, and brief description in the user interface.
[0485] Recipe Selection
[0486] User: Select the recipe that interests them from the search results.
[0487] Device: Send a GET request to the server containing the ID of the selected recipe.
[0488] Server: Receives the request, retrieves detailed information about the recipe (steps, ingredients, photos, videos) from the database, and returns it to the device in JSON format.
[0489] Terminal: Analyzes the received recipe information and displays it step by step on the user interface.
[0490] Substitute ingredient suggestion system
[0491] Request an alternative material
[0492] User: Request substitution information for a specific ingredient in a recipe.
[0493] Device: Send a GET request including the ingredient ID to the server.
[0494] Server: Receives the request, retrieves the substitute ingredient information for the corresponding ingredient from the database, and returns the substitute ingredient information to the terminal in JSON format.
[0495] Terminal: Analyzes the received alternative material information and displays it on the user interface.
[0496] Community Features
[0497] Creating a Post
[0498] User: Post photos of your own cooking and comments.
[0499] Terminal: Send a POST request to the server containing the posted image and comment.
[0500] Server: Receives the request, saves the post to the database, and returns status code 200 if the save was successful.
[0501] Retrieving and Displaying Feeds
[0502] Users: Visit the community page.
[0503] On your device: Send a GET request to the server to retrieve the latest posts feed.
[0504] Server: Receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[0505] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[0506] Emotion Engine
[0507] Emotion Recognition and Feedback
[0508] User: Posts and comments.
[0509] Device: Sends data, including posts and comments, to the server.
[0510] Server: Receives the data and the emotion engine recognizes the user's emotion. For example, it assigns an emotion label such as "joy" or "satisfied."
[0511] Server: Generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[0512] Terminal: Display feedback in the user interface.
[0513] Emotion-based recipe suggestions
[0514] User: Searches or browses for recipes on the site.
[0515] Device: Sends keywords and browsing history to the server.
[0516] Server: Receives the data and the emotion engine infers the user's emotions. For example, recommend challenging recipes to a "highly satisfied" user.
[0517] Server: Generates recommended recipe information and returns it to the device.
[0518] Device: Display recommended recipes in the user interface.
[0519] Sentiment analysis based on comments and ratings
[0520] Users: Comment and rate within the community.
[0521] Device: Send comments and ratings to the server.
[0522] Server: Receives the data and the emotion engine analyzes the user's emotions. For example, if there is a lot of positive feedback, it provides feedback that will motivate the user.
[0523] Server: Generates feedback based on the analysis results and returns it to the device.
[0524] Terminal: Display feedback in the user interface.
[0525] With these features, the platform of the present invention makes it easier for users to learn Japanese cuisine, deepens interactions with the community, and realizes a system that recognizes emotions and provides appropriate feedback, thereby improving the user experience and increasing the enjoyment of cooking.
[0526] The processing flow will be explained below.
[0527] Embodiment of Emotion Engine
[0528] Emotion Recognition and Feedback
[0529] Step 1:
[0530] A user posts and enters a comment.
[0531] Step 2:
[0532] The device sends data including posts and comments to the server.
[0533] Step 3:
[0534] The server receives the request and the emotion engine analyzes the user's posts and comments.
[0535] Step 4:
[0536] The emotion engine recognizes the user's emotions based on the analysis results (e.g., joy, satisfaction, empathy, etc. regarding the post).
[0537] Step 5:
[0538] The server generates an appropriate feedback message based on the perceived sentiment (e.g., "That's great!" or "Let's try harder next time!").
[0539] Step 6:
[0540] The server returns the generated feedback in JSON format to the device.
[0541] Step 7:
[0542] The terminal displays the received feedback on a user interface.
[0543] Emotion-based recipe suggestions
[0544] Step 1:
[0545] A user searches or browses for recipes on your site.
[0546] Step 2:
[0547] The device sends data including search keywords and browsing history to the server.
[0548] Step 3:
[0549] The server receives the request and the emotion engine analyzes keywords and browsing history.
[0550] Step 4:
[0551] The emotion engine infers the user's current emotion based on the analysis results (e.g., "highly satisfied").
[0552] Step 5:
[0553] The server selects an appropriate recipe based on the predictions made by the emotion engine (e.g., recommending a challenging recipe to a highly satisfied user).
[0554] Step 6:
[0555] The server returns the selected recipe information to the terminal in JSON format.
[0556] Step 7:
[0557] The terminal displays the received recipe information on a user interface.
[0558] Sentiment analysis based on comments and ratings
[0559] Step 1:
[0560] Users comment on and rate other users' posts within the community.
[0561] Step 2:
[0562] The device sends data including the content of the comments and ratings to the server.
[0563] Step 3:
[0564] The server receives the request and the emotion engine analyzes the comments and ratings.
[0565] Step 4:
[0566] The emotion engine recognizes the user's emotion based on the analysis results (e.g., positive, negative, neutral, etc.).
[0567] Step 5:
[0568] The server generates feedback based on the perceived sentiment (e.g., "Many users relate to your post").
[0569] Step 6:
[0570] The server returns the generated feedback in JSON format to the device.
[0571] Step 7:
[0572] The terminal displays the received feedback on a user interface.
[0573] These functions allow the platform of the present invention to utilize an emotion engine based on information gained in the process of users learning Japanese cuisine, and provide feedback and suggestions according to the user's emotions, improving the user experience and creating an environment in which cooking can be enjoyed.
[0574] Example 2
[0575] 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."
[0576] Conventional cooking learning systems often have separate functions for user authentication, recipe search, detailed display, alternative ingredient suggestions, and community posting, resulting in a lack of an integrated platform. Furthermore, they lack user emotion recognition and are unable to provide appropriate feedback to users, limiting the user experience. This creates challenges for users, resulting in an unsatisfactory experience in cooking learning and communication.
[0577] 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.
[0578] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, and means for performing emotion recognition on comments and posts entered by users and providing feedback. This allows users to perform a series of operations from authentication to emotion recognition feedback in an integrated manner on a single platform, thereby improving the experience of cooking learning and community participation.
[0579] "Authentication information" refers to personal identification information that a user enters when accessing a system, such as name, email address, and password.
[0580] An "authentication token" is a temporary digital certificate that is generated when a user logs into a system and is used to maintain authentication status.
[0581] "Search keywords" are words or phrases that a user enters when searching for specific information and are used to find related data within the system.
[0582] "Search results" are lists of relevant information returned by the system based on the keywords entered by the user, providing the information the user is looking for.
[0583] "More Info" is additional information provided about the particular item selected by the user, including recipe steps, ingredients, photos, videos, etc.
[0584] "Substitute ingredient information" refers to information about other ingredients that can be used to substitute for an ingredient required by a particular recipe if that ingredient is not available.
[0585] A "post" is content, including images and comments, that a user uploads through the community function within the system.
[0586] "Displaying within the community" refers to displaying content posted by a user in a shared space within the system so that other users can view it.
[0587] "Emotion recognition" is the process by which the system infers a user's emotions based on the comments and posts entered by the user, and assigns emotional labels such as "fun" or "satisfied."
[0588] "Feedback" is the response or message that a system gives back to a user in response to their actions or input, such as "That's great!" or "Let's try harder next time!"
[0589] The platform of the present invention is a system that allows users to learn cooking recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A specific embodiment of this system is described below.
[0590] User authentication and profile management
[0591] For user authentication and profile management, the authentication information entered by the user is received and an authentication token is generated. Specifically, the user accesses the membership registration page and enters their name, email address, and password. The device sends the entered information to the server as a POST request. The server receives the request and saves the user information in a database (e.g., MySQL). If the authentication process is successful, the server generates a JWT token and returns it to the user. The device stores this token in local storage and uses it for future authentications.
[0592] Searching and viewing recipes
[0593] To search for recipes, a user enters keywords into the site's search bar. For example, if a user types "sushi," the device sends the keywords as a GET request to the server. The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format. The device then analyzes the results and displays the title, photo, and description in the user interface.
[0594] Substitute ingredient suggestion system
[0595] To suggest substitute ingredients, the user requests substitute ingredient information for a specific ingredient. The device sends the request to the server, which retrieves the substitute ingredient information from the database and returns it in JSON format. The device parses it and displays it in the user interface. For example, "apple vinegar" is suggested as a substitute for "vinegared rice."
[0596] Community Features
[0597] The community function allows users to post photos of their own cooking along with comments. The device sends the posted content to the server, which saves it in a database. If the save is successful, the server returns a status code of 200. On the community page, users can obtain a feed, view other users' posts in a timeline format, and rate and comment on them.
[0598] Emotion Engine
[0599] Emotion recognition and feedback analyzes comments posted by users to recognize their emotions. For example, in response to a comment such as "The whole family loves this recipe!", an emotion engine (e.g., Google Cloud Natural Language API) recognizes "joy." Based on this, the server generates feedback such as "That's great!" and returns it to the user.
[0600] Examples and prompts
[0601] User authentication example
[0602] On the new user registration page, Mr. Tanaka enters his name as "Ichiro Tanaka," his email address as "tanaka@example.com," and his password as "password123." The server then stores this information in the database and returns a JWT token to Mr. Tanaka.
[0603] Prompt Sentence Examples
[0604] Please explain the process for a user to register as a new user.
[0605] Emotion recognition and feedback examples
[0606] When Suzuki types "My whole family loves this recipe!" into a post, the emotion engine recognizes "joy" and generates and displays the feedback "That's great!"
[0607] Prompt Sentence Examples
[0608] Describe how your system performs emotion recognition and generates feedback when a user leaves a comment. Please specify the emotion engine used in this process.
[0609] As described above, the platform of the present invention provides an environment in which users can use various functions in an integrated manner on a single system, thereby resolving the problems of conventional cooking learning systems and community systems.
[0610] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0611] Step 1:
[0612] A user accesses the membership registration page and enters their name, email address, and password.
[0613] Input: Personally identifiable information entered by the user (e.g., name, email address, password)
[0614] What it does: Collects information entered through the user interface and prepares it in the form of a POST request.
[0615] Output: POST request with authentication information
[0616] Step 2:
[0617] The device sends a POST request to the server containing the entered authentication information.
[0618] Input: POST request with authentication information
[0619] What it does: Sends a POST request to the server via HTTP.
[0620] Output: The request sent to the server
[0621] Step 3:
[0622] The server receives the request and stores the user information in a database.
[0623] Input: Authentication information sent in the POST request
[0624] What it does: Executes a SQL query to store user information in a database (e.g. MySQL).
[0625] Output: A database containing user information
[0626] Step 4:
[0627] If the server is successful in authentication, it generates an authentication token (JWT) and returns it to the user.
[0628] Input: Database save success status
[0629] Behavior: Generates a JWT token and returns it as an HTTP response.
[0630] Output: Authentication token returned to the user
[0631] Step 5:
[0632] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[0633] Input: Authentication token returned by the server
[0634] What it does: Saves the token in local storage (e.g., browser localStorage).
[0635] Output: Authentication token stored in local storage
[0636] Step 6:
[0637] A user types a keyword into a search bar on your site (e.g., "sushi").
[0638] Input: The keyword the user types
[0639] What it does: Captures keywords entered in the user interface.
[0640] Output: A search request containing the search keyword.
[0641] Step 7:
[0642] The device sends a GET request containing the keyword to the server.
[0643] Input: The search keyword entered by the user
[0644] What it does: Sends a GET request to the server via HTTP.
[0645] Output: The request sent to the server
[0646] Step 8:
[0647] The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format to the device.
[0648] Input: GET request containing search keywords
[0649] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[0650] Output: Search results in JSON format
[0651] Step 9:
[0652] The device analyzes the search results it receives and displays the title, photo, and brief description on the user interface.
[0653] Input: JSON format search results from the server
[0654] What it does: Parses JSON data and displays the results in HTML / CSS / JavaScript.
[0655] Output: Search results displayed in the user interface
[0656] Step 10:
[0657] The user selects the recipe of interest from the search results.
[0658] Input: User's recipe selection
[0659] Behavior: Gets the ID of the selected recipe.
[0660] Output: A request containing the selected recipe ID.
[0661] Step 11:
[0662] The device sends a GET request to the server containing the ID of the selected recipe.
[0663] Input: Selected recipe ID
[0664] What it does: Sends a GET request to the server via HTTP.
[0665] Output: The request sent to the server
[0666] Step 12:
[0667] The server receives the request, retrieves the recipe details (instructions, ingredients, photos, videos) from the database, and returns them to the device in JSON format.
[0668] Input: GET request containing a recipe ID
[0669] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[0670] Output: Detailed recipe information in JSON format
[0671] Step 13:
[0672] The terminal analyzes the received recipe details and displays them step by step on the user interface.
[0673] Input: JSON format recipe details from the server
[0674] How it works: Parses JSON data and displays instructions and ingredients using HTML / CSS / JavaScript.
[0675] Output: Detailed information displayed in the user interface
[0676] Step 14:
[0677] A user requests substitution information for a specific ingredient in a recipe.
[0678] Input: User's request for a substitute material
[0679] What it does: Gets the ID of the ingredient for which you want a substitution.
[0680] Output: Request containing ingredient ID
[0681] Step 15:
[0682] The device sends a GET request including the ingredient ID to the server.
[0683] Input: Ingredient ID for which you want to find a substitute
[0684] What it does: Sends a GET request to the server via HTTP.
[0685] Output: The request sent to the server
[0686] Step 16:
[0687] The server receives the request, retrieves information about alternative ingredients for the relevant ingredient from the database, and returns it to the terminal in JSON format.
[0688] Input: GET request containing ingredient ID
[0689] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[0690] Output: Alternative material information in JSON format
[0691] Step 17:
[0692] The terminal analyzes the received alternative material information and displays it on the user interface.
[0693] Input: Alternative material information in JSON format from the server
[0694] What it does: Parses JSON data and displays alternative ingredient information using HTML / CSS / JavaScript.
[0695] Output: Alternative material information displayed in the user interface
[0696] Step 18:
[0697] Users post photos of their own cooking along with comments.
[0698] Input: User's image and comment
[0699] Behavior: Prepares a POST request based on user interface input.
[0700] Output: POST request containing the post content
[0701] Step 19:
[0702] The device sends a POST request to the server containing the posted image and comment.
[0703] Input: POST request containing the post content
[0704] What it does: Sends a POST request to the server via HTTP.
[0705] Output: The request sent to the server
[0706] Step 20:
[0707] The server receives the request, saves the post to the database, and returns a status code of 200 if the save was successful.
[0708] Input: Post content sent via POST request
[0709] Behavior: Executes a SQL query to save to the database. Returns status code 200 if the save was successful.
[0710] Output: Status code for successful save
[0711] Step 21:
[0712] A user visits a community page and sends a GET request to retrieve a feed of the latest posts.
[0713] Input: Access to community page
[0714] What it does: Sends a GET request to the server via HTTP.
[0715] Output: The request sent to the server
[0716] Step 22:
[0717] The server receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[0718] Input: GET request to retrieve posts feed
[0719] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[0720] Output: Post feed in JSON format
[0721] Step 23:
[0722] The device analyzes the received post feed and displays it on the user interface. Other users' cooking photos and comments are displayed in a timeline format, and users can rate and comment on them.
[0723] Input: JSON-formatted posts feed from the server
[0724] What it does: Parses JSON data and displays the feed in HTML / CSS / JavaScript.
[0725] Output: Post feed displayed in the user interface
[0726] Step 24:
[0727] A user makes a post or enters a comment and sends it to the server.
[0728] Input: User posts and comments
[0729] What it does: Sends data, including posts and comments, to the server.
[0730] Output: Data sent to the server
[0731] Step 25:
[0732] The server receives the data and uses an emotion engine to recognize the user's emotions, assigning emotion labels such as "fun" or "satisfied."
[0733] Input: Data including posts and comments
[0734] What it does: Performs sentiment analysis using a sentiment engine (e.g., Google Cloud Natural Language API).
[0735] Output: Data after emotion labeling
[0736] Step 26:
[0737] The server generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[0738] Input: Data with emotion labels
[0739] What it does: Generates feedback text based on the recognized emotion and sends it to the device as an HTTP response.
[0740] Output: Feedback text
[0741] Step 27:
[0742] The terminal displays the feedback in the user interface.
[0743] Input: Feedback text from the server
[0744] What it does: Generates HTML / CSS / JavaScript to display the feedback text.
[0745] Output: Feedback text that is displayed in the user interface
[0746] (Application example 2)
[0747] 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."
[0748] Conventional recipe learning platforms have limited interactive feedback when users learn Japanese cooking procedures, execute cooking, and evaluate results. Furthermore, they have limited community features for improving cooking skills and functions for suggesting alternative ingredients, resulting in a suboptimal user experience. Furthermore, conventional systems lack the ability to provide feedback based on sentiment analysis of cooking results, leaving users without a means to appropriately improve their satisfaction.
[0749] 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.
[0750] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by the user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for a robot to cook and perform sentiment analysis of the cooking results, and means for generating feedback based on the sentiment analysis results and providing it to the user. This enables a user to learn Japanese recipes, cook, and receive emotional feedback based on the results, thereby effectively improving their cooking skills.
[0751] "Authentication Information" is the information a user provides when logging in or registering to a system, and typically includes a name, email address, password, etc.
[0752] An "authentication token" is a security token that is generated after a user is authenticated and is used to indicate that the user has been authenticated in subsequent requests.
[0753] "Search results" are a collection of information provided based on the keywords searched by the user, and typically include the recipe title, photo, and brief description.
[0754] "Detailed Information" is specific information related to the selected recipe, including cooking instructions, ingredients, photos, videos, etc.
[0755] "Alternative ingredient information" is information on alternative ingredients that are suggested when ingredients included in the original recipe are unavailable.
[0756] "Post" refers to the uploading of images and comments by a user to a community within the system.
[0757] The "means for displaying within the community" is a system element that allows other users to view a user's posts.
[0758] "Sentiment analysis" is the process of identifying emotional states based on user feedback and cooking results, analyzing text and image data and assigning emotional labels.
[0759] "Feedback" is a response message that the system generates based on the results of sentiment analysis, and can include praise for the user or suggestions for improvement.
[0760] The system of the present invention provides comprehensive support for Japanese cuisine, from learning recipes to cooking and providing feedback based on sentiment analysis. To realize this system, the following functions are implemented: user authentication, recipe search, detailed information provision, alternative ingredient suggestions, community functionality, sentiment analysis, and robotic cooking. A specific embodiment of this system is described below.
[0761] User authentication and profile management
[0762] The server receives the authentication information entered by the user and generates an authentication token, which allows users to have individual profiles and securely access the system. User registration and login forms are created on the front end (React), and Flask is used on the server side.
[0763] Searching and viewing recipes
[0764] The terminal sends the keyword entered by the user to the server, and the server searches for recipe data based on the keyword and provides the results. Similarly, to obtain detailed information, the terminal sends the selected recipe ID to the server and provides related detailed information.
[0765] Suggesting alternative ingredients
[0766] If the user does not have a particular ingredient, the server will suggest alternatives for that ingredient, allowing the user to continue cooking on the go. The ID of each ingredient is sent to the server via a GET request, and the server retrieves the alternative ingredient information.
[0767] Community Features
[0768] The server receives images and comments posted by users and displays them within the community. The device retrieves the latest posted feed and displays it on the interface. Other users can rate and comment on the images, promoting communication.
[0769] Emotion Recognition and Feedback
[0770] The server performs sentiment analysis based on the cooking results and user comments. Generative AI models such as TensorFlow / Keras are used for this sentiment analysis. Based on the obtained emotional data, the server generates appropriate feedback and provides it to the user. This improves user satisfaction and enriches the cooking experience.
[0771] Robot cooking function
[0772] The factory robot has the ability to cook food based on recipe information provided by the server. The cooking process and results are monitored in real time and used for sentiment analysis. This allows users to give cooking instructions and check the results even from remote locations.
[0773] Hardware and software used
[0774] The system of the present invention uses the following hardware and software:
[0775] Hardware: Tablets, smartphones, smart factory robots
[0776] Software: Python (Flask, TensorFlow / Keras), MySQL, React
[0777] Specific examples
[0778] A user logs into the system and searches for recipes using the keyword "sushi." From the search results, the user selects a "salmon sushi" recipe. Detailed information about the selected recipe is displayed, and if the user does not have salmon, the server will suggest alternatives such as "tuna" or "sea bream." The user then instructs the cooking robot to "cook salmon sushi," and the robot begins cooking. By photographing the cooking results and uploading them to the system, the server performs sentiment analysis and provides feedback such as "Excellent results! Let's keep it up next time!"
[0779] Here are some example prompts we tried:
[0780] "Perform sentiment analysis and generate feedback for the following Japanese recipe: Food photo: example_image.jpg Food evaluation comments: "It was very delicious!", "It was a little salty.""
[0781] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0782] Program processing flow
[0783] Step 1: User authentication and profile management
[0784] The server receives the authentication information (name, email address, password) entered by the user and stores it in a database.
[0785] Input: The credentials the user enters (name, email address, password).
[0786] Output: Generates an authentication token and returns it to the user.
[0787] Specific operation: The server receives the POST request, saves the information in a MySQL database, and generates and returns an authentication token to the user, which the user can use for future authentications.
[0788] Step 2: Find and view recipes
[0789] The terminal transmits the keyword entered by the user to the server, and the server searches for recipe data based on the keyword.
[0790] Input: The keyword that the user types into the search bar.
[0791] Output: Search results for recipes based on keywords (title, photo, brief description) in JSON format.
[0792] Specific operation: The server receives a GET request, searches the database for recipes that match the keywords, and returns the results in JSON format. The device displays the received search results in the user interface.
[0793] Step 3: Get more information
[0794] The device sends the ID of the selected recipe to the server, which retrieves and returns detailed information (ingredients, steps, photos, videos).
[0795] Input: The ID of the recipe selected by the user.
[0796] Output: Returns detailed information about the recipe (ingredients, steps, photos, videos) in JSON format.
[0797] Specific operation: The server receives a GET request, retrieves detailed information about the recipe from the database, and returns it in JSON format. The device displays the detailed information step by step.
[0798] Step 4: Propose alternative materials
[0799] The server receives the ID of the ingredient selected by the user, retrieves the substitute ingredient information from the database, and returns it to the terminal.
[0800] Input: User-specified ingredient ID.
[0801] Output: Alternative material information is returned in JSON format.
[0802] Specific operation: The server receives a GET request, retrieves the alternative material information from the database, and returns it in JSON format. The terminal displays the alternative material information.
[0803] Step 5: Post to the community
[0804] The server receives the images and comments posted by users and stores them in a database.
[0805] Input: Images and comments posted by users.
[0806] Output: Saves the post to the database and returns a status code of 200.
[0807] Specific operation: The server receives the POST request, saves the posted information to the database, and returns status code 200 if the save is successful.
[0808] Step 6: Retrieving and Displaying the Posts Feed
[0809] The device requests the latest post feed from the server, and the server retrieves the latest posts from the database and returns them.
[0810] Enter: Visit the community page.
[0811] Output: Returns the latest posts feed in JSON format.
[0812] Specific operation: The server receives a GET request, retrieves the latest posts from the database, and returns them in JSON format. The device displays the post feed in a timeline format.
[0813] Step 7: Sentiment analysis and feedback
[0814] The server receives the user's cooking results and comments, analyzes them using an emotion engine, and generates feedback based on the results and returns it to the user.
[0815] Input: User's cooking result image and comments.
[0816] Output: Sentiment analysis results and feedback based on them.
[0817] Specific operation: The server receives a POST request, performs sentiment analysis using TensorFlow / Keras, generates feedback based on the obtained sentiment data, and returns it to the user.
[0818] Step 8: Let the robot cook
[0819] The terminal sends recipe information from the server to the robot, and the robot cooks based on that information.
[0820] Input: Recipe information provided by the server.
[0821] Output: The food after cooking is complete.
[0822] Specific operation: The server sends recipe information to the robot, which then cooks the food based on that information. The cooking progress and results are monitored on the terminal.
[0823] 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.
[0824] 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.
[0825] 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.
[0826] [Second embodiment]
[0827] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0828] 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.
[0829] 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).
[0830] 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.
[0831] 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.
[0832] 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).
[0833] 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.
[0834] 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.
[0835] 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.
[0836] 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.
[0837] 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.
[0838] 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."
[0839] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. A detailed description of this system is provided below.
[0840] User authentication and profile management
[0841] User Registration
[0842] User: Visits the registration page and enters authentication information such as name, email address, and password.
[0843] Terminal: Sends the entered information to the server. The server receives this information and processes it by storing it in a database. If authentication is successful, the server generates an authentication token and returns it to the user.
[0844] User Login
[0845] User: Visit the login page and enter your registered email address and password.
[0846] Terminal: The entered authentication information is sent to the server, which checks the user information against its database and, if authentication is successful, issues a new token and returns it to the user.
[0847] Searching and viewing recipes
[0848] Recipe Search
[0849] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0850] Device: Sends a request containing keywords to the server, which searches the database for recipes based on the keywords and returns the search results.
[0851] Displaying search results
[0852] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface.
[0853] Step-by-step cooking guide
[0854] Recipe Selection
[0855] User: Select the recipe that interests them from the search results.
[0856] Device: Requests detailed information about the selected recipe from the server, which retrieves and returns details from the database, including recipe steps, ingredients, photos, and videos.
[0857] Viewing detailed information
[0858] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[0859] Substitute ingredient suggestion system
[0860] Request an alternative material
[0861] User: Request substitution information for a specific ingredient in a recipe.
[0862] Terminal: Sends a request including an ingredient ID to the server. The server retrieves and returns information on alternative ingredients for the corresponding ingredient from the database.
[0863] Displaying Alternative Material Information
[0864] Device: Analyzes the received information on alternative ingredients and displays it on the user interface, allowing the user to proceed with cooking using ingredients they have on hand.
[0865] Community Features
[0866] Creating a Post
[0867] User: Post photos of your own cooking and comments.
[0868] Device: Posted images and comments are sent to the server, which stores them in a database and shares them with other users.
[0869] Retrieving and Displaying Feeds
[0870] Users: Visit the community page.
[0871] Device: Sends a request to the server to get the latest posts feed. The server retrieves the latest posts from the database and returns them to the device.
[0872] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[0873] With these functions, the platform of the present invention allows users to easily learn Japanese cuisine, share various information, and receive feedback from other users, thereby expanding the enjoyment of cooking and providing a system that promotes interaction between users.
[0874] The processing flow will be explained below.
[0875] User authentication and profile management
[0876] User Registration
[0877] Step 1:
[0878] A user accesses the membership registration page and enters their name, email address, and password.
[0879] Step 2:
[0880] The terminal sends a POST request containing the entered information to the server.
[0881] Step 3:
[0882] The server receives the request and stores the user information in a database.
[0883] Step 4:
[0884] If the server successfully saves the user information, it generates an authentication token and returns it to the user.
[0885] Step 5:
[0886] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[0887] User Login
[0888] Step 1:
[0889] The user accesses the login page and enters their registered email address and password.
[0890] Step 2:
[0891] The device sends a POST request to the server containing the entered authentication information.
[0892] Step 3:
[0893] The server receives the request and checks the user information against a database.
[0894] Step 4:
[0895] If the authentication is successful, the server issues a new token and returns it to the user.
[0896] Step 5:
[0897] The device stores the received authentication token in local storage.
[0898] Searching and viewing recipes
[0899] Recipe Search
[0900] Step 1:
[0901] A user enters a keyword (e.g., "sushi") into a search bar on your site.
[0902] Step 2:
[0903] The device sends a GET request containing the keyword to the server.
[0904] Step 3:
[0905] The server receives the request and searches a database for recipes based on the keywords.
[0906] Step 4:
[0907] The server returns the search results to the device in JSON format.
[0908] Step 5:
[0909] The terminal analyzes the received search results and displays the recipe title, photo, and brief description on the user interface.
[0910] Step-by-step cooking guide
[0911] Recipe Selection
[0912] Step 1:
[0913] The user selects the recipe of interest from the search results.
[0914] Step 2:
[0915] The device sends a GET request to the server containing the ID of the selected recipe.
[0916] Step 3:
[0917] The server receives the request and retrieves the details of the recipe (instructions, ingredients, photos, videos) from the database.
[0918] Step 4:
[0919] The server returns detailed recipe information to the terminal in JSON format.
[0920] Step 5:
[0921] The terminal analyzes the received recipe information and displays it step by step on the user interface.
[0922] Substitute ingredient suggestion system
[0923] Request an alternative material
[0924] Step 1:
[0925] A user requests substitution information for a specific ingredient in a recipe.
[0926] Step 2:
[0927] The device sends a GET request to the server containing the ID of the selected ingredient.
[0928] Step 3:
[0929] The server receives the request and retrieves information on substitute ingredients for the relevant ingredient from the database.
[0930] Step 4:
[0931] The server returns the alternative material information to the terminal in JSON format.
[0932] Step 5:
[0933] The terminal analyzes the received alternative material information and displays it on the user interface.
[0934] Community Features
[0935] Creating a Post
[0936] Step 1:
[0937] Users enter photos of their own cooking and comments.
[0938] Step 2:
[0939] The device sends a POST request including the entered photo data and comments to the server.
[0940] Step 3:
[0941] The server receives the request and saves the post in a database.
[0942] Step 4:
[0943] The server returns status code 200 indicating the save was successful.
[0944] Retrieving and Displaying Feeds
[0945] Step 1:
[0946] A user visits a community page.
[0947] Step 2:
[0948] The device sends a GET request to the server to retrieve the latest post feed.
[0949] Step 3:
[0950] The server receives the request and retrieves the latest posts from the database.
[0951] Step 4:
[0952] The server returns the post feed to the device in JSON format.
[0953] Step 5:
[0954] The terminal analyzes the received post feed and displays it on the user interface.
[0955] Example 1
[0956] 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."
[0957] Conventional recipe websites and cooking applications make it difficult for users to effectively learn Japanese cooking recipes, especially for beginners, as the detailed steps and ingredients are difficult to understand. Furthermore, the lack of suggestions for alternative ingredients and the lack of interaction between users can reduce the enjoyment of cooking and potentially lower motivation to learn. There is a need for a system that addresses these issues and allows users to learn Japanese cooking more easily and enjoyably.
[0958] 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.
[0959] In this invention, the server includes a means for receiving authentication information entered by a user and generating an authentication token, a means for receiving search terms searched by the user and providing search results, and a means for acquiring and providing detailed information corresponding to the selected cooking instruction. This allows a user to access the system after authentication, search for recipes using the search function, and check the details. The server also includes a means for suggesting alternative ingredients for ingredients included in the cooking instruction and a means for receiving images and comments posted by users and displaying them among co-users, promoting interaction between users and enabling cooking using alternative ingredients.
[0960] "Authentication information" is the information a user needs to access a system, and typically includes a name, email address, and password.
[0961] An "authentication token" is a string of data generated by a server to indicate that a user has been properly authenticated, allowing continued access.
[0962] A "search word" is a word or phrase that a user enters to locate specific information within the system.
[0963] "Search results" are a set of information or data provided by the system based on the search words entered by the user.
[0964] "Cooking Instructions" are detailed instructions about the steps and ingredients for making a particular dish, allowing users to learn how to cook.
[0965] "Detailed information" includes information such as specific steps, ingredients, photos and videos related to cooking instruction.
[0966] "Ingredients" refers to the ingredients and materials used in cooking.
[0967] "Substitute ingredient information" is information about other ingredients that can be used when a specific ingredient is not available or when you want to change it.
[0968] "Images" are visual data such as photos and illustrations of food that users post to the system.
[0969] A "comment" is a text message posted by a user to the system, and includes evaluations and impressions of other users.
[0970] "Joint users" are multiple users of the system who aim to exchange information and opinions with each other.
[0971] The present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. This system is realized by a combination of hardware and software.
[0972] User authentication and profile management
[0973] User Registration
[0974] User: Access the membership registration page and enter your name, email address, and password.
[0975] Terminal: Sends the entered authentication information to the server.
[0976] Server: Stores the received information in a database, and if storage is successful, generates an authentication token and returns it to the user via the terminal.
[0977] Example: "On the user registration page, enter the name "Yamada Taro" and the email address "taro@example.com" and press the member registration button."
[0978] User Login
[0979] User: Visit the login page and enter your registered email address and password.
[0980] Terminal: Sends input information to the server.
[0981] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[0982] Example: "Enter your email address 'taro@example.com' and password on the login page and press the login button."
[0983] Searching and viewing recipes
[0984] Recipe Search
[0985] User: Enter a keyword into the site's search bar (e.g., "sushi").
[0986] Device: Send a request containing the keyword to the server.
[0987] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[0988] Example: "Type 'sushi' into the search bar and press the search button."
[0989] Displaying search results
[0990] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and summary in the user interface.
[0991] Example: "Display 'Tuna sushi' from the list of search results."
[0992] Step-by-step cooking guide
[0993] Recipe Selection
[0994] User: Select the recipe that interests them from the search results.
[0995] Terminal: Requests detailed information about the selected recipe from the server.
[0996] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[0997] Example: "Select 'Tuna Sushi' from the search results and view detailed information."
[0998] Viewing detailed information
[0999] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[1000] Example: "Proceed with cooking while viewing the detailed recipe for 'Tuna Sushi'."
[1001] Substitute ingredient suggestion system
[1002] Request an alternative material
[1003] User: Request substitution information for a specific ingredient in a recipe.
[1004] Device: Sends a request including the ingredient ID to the server.
[1005] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[1006] Example: "Request a substitution for 'tuna' in the recipe for 'tuna sushi'."
[1007] Displaying Alternative Material Information
[1008] Terminal: Analyzes the alternative ingredient information received from the server and displays it on the user interface, allowing the user to proceed with cooking using the ingredients they have on hand.
[1009] Example: "Make sure you can use 'salmon' or 'bonito' instead of 'tuna'."
[1010] Community Features
[1011] Creating a Post
[1012] User: Post photos of your own cooking and comments.
[1013] Device: Sends posted images and comments to the server.
[1014] Server: Stores the received data in a database and shares it with other users.
[1015] Example: "Post a photo of the tuna sushi you made and a comment."
[1016] Retrieving and Displaying Feeds
[1017] Users: Visit the community page.
[1018] On your device: Sends a request to the server to get a feed of the latest posts.
[1019] Server: Gets the latest posts from the database and returns them to the device.
[1020] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[1021] Example: "Look at another user's 'grilled fish' post on the community page and click 'Like'."
[1022] With these features, the system of the present invention allows users to learn Japanese cuisine, share recipes and information with other users, receive feedback, and enjoy cooking. It also increases the variety and accessibility of cooking by suggesting alternative ingredients and providing step-by-step guides.
[1023] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1024] User authentication and profile management
[1025] User Registration
[1026] Step 1:
[1027] User: Access the membership registration page and enter your name, email address, and password.
[1028] Specific actions: Open the membership registration form in your browser and enter the required information.
[1029] Input: Name, Email Address, Password
[1030] Output: The input information is displayed in the form
[1031] Step 2:
[1032] Terminal: Sends the entered authentication information to the server.
[1033] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[1034] Input: Form data
[1035] Output: POST request to the server
[1036] Step 3:
[1037] Server: Stores the received information in a database and generates an authentication token if the storage is successful.
[1038] Specific operation: The server stores the received data in a database and generates a UUID (a unique identifier specific to the namespace).
[1039] Input: Form data
[1040] Output: UUID (auth token)
[1041] Step 4:
[1042] Server: Returns the generated authentication token to the device.
[1043] Specific operation: The server responds by sending an authentication token to the device.
[1044] Input: UUID (authentication token)
[1045] Output: Response message on the terminal
[1046] User Login
[1047] Step 1:
[1048] User: Visit the login page and enter your registered email address and password.
[1049] Specific behavior: Open the login form in your browser and enter your email address and password.
[1050] Input: Email address, Password
[1051] Output: The input information is displayed in the form
[1052] Step 2:
[1053] Terminal: Sends input information to the server.
[1054] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[1055] Input: Form data
[1056] Output: POST request to the server
[1057] Step 3:
[1058] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[1059] What happens: The server queries the database, verifies that the credentials match, and generates a new UUID.
[1060] Input: Form data
[1061] Output: New UUID (auth token)
[1062] Searching and viewing recipes
[1063] Recipe Search
[1064] Step 1:
[1065] User: Enter a keyword into the site's search bar (e.g., "sushi").
[1066] Specific action: Enter a keyword into the search bar in your browser.
[1067] Input: Keyword (e.g. "sushi")
[1068] Output: The entered keyword will be displayed in the search bar.
[1069] Step 2:
[1070] Device: Send a request containing the keyword to the server.
[1071] Specific behavior: When you click the search button, a GET request containing the keywords is sent to the server.
[1072] Input: Keyword (e.g. "sushi")
[1073] Output: GET request containing keyword
[1074] Step 3:
[1075] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[1076] Specific operation: The server queries the database and retrieves the relevant recipe information.
[1077] Input: Keyword (e.g. "sushi")
[1078] Output: Search results (recipe list)
[1079] Displaying search results
[1080] Step 1:
[1081] Terminal: Analyzes the search results received from the server.
[1082] Specific operation: Parses search results in JSON or XML format and extracts the required data.
[1083] Input: Search results (recipe list)
[1084] Output: Parsed data
[1085] Step 2:
[1086] Terminal: Display search results in a user interface.
[1087] Specific operation: Display using HTML and CSS based on the analyzed data.
[1088] Input: Parsed data
[1089] Output: Search results are displayed on the screen
[1090] Step-by-step cooking guide
[1091] Recipe Selection
[1092] Step 1:
[1093] User: Select the recipe that interests them from the search results.
[1094] Specific Action: Click or tap to select a recipe from the search results list.
[1095] Input: Search results (recipe list)
[1096] Output: Selected recipe ID
[1097] Step 2:
[1098] Terminal: Requests detailed information about the selected recipe from the server.
[1099] Specific behavior: Sends a request containing the selected recipe ID to the server.
[1100] Input: Recipe ID
[1101] Output: GET request with recipe ID
[1102] Step 3:
[1103] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[1104] What happens next: The server executes a database query to retrieve more information.
[1105] Input: Recipe ID
[1106] Output: Recipe details
[1107] Viewing detailed information
[1108] Step 1:
[1109] Terminal: Analyzes the detailed recipe information received from the server.
[1110] Specific behavior: Parses data in JSON or XML format and extracts cooking instructions and ingredients.
[1111] Input: Recipe details
[1112] Output: Parsed details
[1113] Step 2:
[1114] Terminal: Display the analyzed information in the user interface.
[1115] Specific operation: Based on the analyzed information, a step-by-step display is performed using HTML and CSS.
[1116] Input: Parsed details
[1117] Output: Detailed information is displayed on the screen
[1118] Substitute ingredient suggestion system
[1119] Request an alternative material
[1120] Step 1:
[1121] User: Request substitution information for a specific ingredient in a recipe.
[1122] What it does: Select a specific ingredient on the recipe details page and make a substitution request.
[1123] Input: Ingredient ID
[1124] Output: Substitute material request
[1125] Step 2:
[1126] Device: Sends a request including the ingredient ID to the server.
[1127] What happens next: A request is sent to the server.
[1128] Input: Ingredient ID
[1129] Output: GET request with ingredient ID
[1130] Step 3:
[1131] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[1132] Specific Behavior: Executes a database query to retrieve alternative material information.
[1133] Input: Ingredient ID
[1134] Output: Alternative material information
[1135] Displaying Alternative Material Information
[1136] Step 1:
[1137] Terminal: Analyzes the alternative material information received from the server.
[1138] Specific behavior: Parses alternative material information in JSON or XML format.
[1139] Input: Alternative material information
[1140] Output: Analyzed alternative material information
[1141] Step 2:
[1142] Terminal: Display the analyzed information in the user interface.
[1143] Specific operation: Display using HTML and CSS based on alternative material information.
[1144] Input: Analyzed alternative material information
[1145] Output: Alternative material information is displayed on the screen
[1146] Community Features
[1147] Creating a Post
[1148] Step 1:
[1149] User: Post photos of your own cooking and comments.
[1150] Specific actions: Upload a photo and enter a comment.
[1151] Input: Image file, comment
[1152] Output: The submission is displayed in the form
[1153] Step 2:
[1154] Terminal: Sends the post to the server.
[1155] Specific behavior: Click the submit button and the data is sent to the server.
[1156] Input: Image file, comment
[1157] Output: POST request to the server
[1158] Step 3:
[1159] Server: Saves the submitted data in a database and shares it with other users.
[1160] Specific operation: Save image files and comments to the database and set sharing settings.
[1161] Input: Image file, comment
[1162] Output: New record in the database
[1163] Retrieving and Displaying Feeds
[1164] Step 1:
[1165] Users: Visit the community page.
[1166] Specific Action: Opens the community page.
[1167] Input: page access
[1168] Output: Page request
[1169] Step 2:
[1170] On your device: Send a request to the server for a feed of the latest posts.
[1171] Specific behavior: Sends a feed request to the server.
[1172] Input: Feed request
[1173] Output: GET request to the server
[1174] Step 3:
[1175] Server: Gets the latest posts from the database and returns them to the device.
[1176] What it does: Executes a database query to get the latest posts.
[1177] Input: Feed request
[1178] Output: Latest Posts feed
[1179] Step 4:
[1180] Terminal: Parses the received feed and displays it in a user interface.
[1181] Specific behavior: Parses feed data in JSON or XML format and extracts the required data.
[1182] Input: Latest Posts Feed
[1183] Output: Parsed data
[1184] Step 5:
[1185] On your device: Displays a feed of posts in a timeline format, allowing users to rate and comment.
[1186] Specific operation: Uses HTML and CSS to display feed data in a timeline format, and adds rating and comment functions.
[1187] Input: Parsed data
[1188] Output: Feed displayed in timeline format
[1189] This allows the system of the present invention to enable users to learn Japanese cuisine, share recipes and information with other users, and enjoy cooking while receiving feedback.
[1190] (Application example 1)
[1191] 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."
[1192] In conventional recipe learning systems, it is difficult for users to check cooking steps in real time or receive suggestions for substitute ingredients. Furthermore, in brick-and-mortar stores, information sharing and feedback between staff members is not effectively carried out, which can lead to a decline in cooking efficiency and quality. The present invention aims to solve these problems.
[1193] 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.
[1194] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting substitute ingredient information for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for staff at a physical store to manage account information and check recipe searches and step-by-step cooking procedures, and means for acquiring detailed recipe information using a generative AI model and suggesting substitute ingredients. This allows users to check cooking procedures and receive suggestions for substitute ingredients in real time, enabling effective information sharing and feedback between staff at a physical store.
[1195] "Authentication information" refers to information such as a name, email address, and password that a user enters when accessing a system.
[1196] An "authentication token" is a digital certificate that indicates that a user has been properly authenticated and is used to maintain a session.
[1197] A "keyword" is a specific word or phrase that a user enters when searching for information such as a recipe.
[1198] "Search results" are a list of related recipes and information returned by the system based on the keywords entered by the user.
[1199] "Detailed information" refers to specific information related to the selected recipe, such as cooking instructions, ingredients, photos, and videos.
[1200] "Alternative ingredient information" is information about other ingredients that can be used when a specific ingredient is unavailable.
[1201] "Images and comments" refers to photos of food posted by users to the community, along with their descriptions and comments.
[1202] The "means for displaying within the community" refers to a method or function for displaying images and comments posted by users on a community page so that other users can view them.
[1203] "Brick and mortar store" refers to a physical establishment such as a grocery store or restaurant, especially one that includes a kitchen.
[1204] "Staff" refers to employees and cooks working in physical stores.
[1205] "Account information" is data for managing user and staff profiles and authentication information.
[1206] "Generative AI models" refer to algorithms and machine learning models that use artificial intelligence to perform natural language processing, image recognition, and other tasks.
[1207] "Real-time" means that processing and response occur immediately at the moment the user makes a request.
[1208] The system of this invention allows staff at a brick-and-mortar restaurant to learn Japanese cuisine recipes, confirm cooking procedures, and share information among themselves. This system uses mobile devices such as smartphones and tablets as hardware and is built using a mobile app development framework (e.g., React Native or Flutter) as software. Firebase Authenticator and Firebase Firestore are used as servers.
[1209] 1. User authentication and profile management
[1210] User Registration
[1211] Staff access the member registration page of the smartphone application and enter authentication information such as name, email address, and password. The device sends this information to the server (Firebase Authenticator), which then generates an authentication token and returns it to the staff. This authentication token is a certificate that proves that the staff has the appropriate permissions and is stored in local storage.
[1212] User Login
[1213] A staff member accesses the login page and enters their registered email address and password. The device sends this authentication information to the server, which then checks the information against the database (Firebase Firestore). If authentication is successful, the server issues and returns a new token, allowing the staff member to access the system.
[1214] 2. Search and view recipes
[1215] Recipe Search
[1216] Staff enter keywords into the search bar in the app, e.g., "sushi." The device sends a request including the keyword to the server, which then searches the database for recipes based on the keyword and returns them. This allows staff to quickly obtain the recipe information they need.
[1217] Displaying search results
[1218] The device analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface, allowing staff to select dishes to serve based on this information.
[1219] 3. Step-by-step cooking guide
[1220] Recipe Selection
[1221] Staff members select a recipe they are interested in from the search results, and the device requests detailed information about the selected recipe from the server, which then returns the details, including the recipe's steps, ingredients, photos, and videos.
[1222] Viewing detailed information
[1223] The device analyzes the detailed information of the received recipe and displays it on the user interface, allowing staff to check the cooking instructions step by step and ensure accurate cooking.
[1224] 4. Substitute Ingredient Suggestion System
[1225] Request an alternative material
[1226] When a staff member requests information about substitute ingredients for a specific ingredient in a recipe, the terminal sends a request including the ingredient ID to the server, which retrieves and returns the substitute ingredient information for the corresponding ingredient from the database.
[1227] Displaying Alternative Material Information
[1228] The device analyzes the received information on alternative ingredients and displays it on the user interface, allowing staff to proceed with cooking using ingredients they have on hand.
[1229] 5. Community Features
[1230] Creating a Post
[1231] Staff members post photos of their own cooking along with comments. The devices send the posted images and comments to a server, which stores them in a database and shares them with other staff members.
[1232] Retrieving and Displaying Feeds
[1233] A staff member accesses the community page. The device sends a request to the server to retrieve the latest post feed. The server retrieves the latest posts from the database and returns them to the device. The device analyzes the received post feed and displays it on the user interface. This displays other staff members' cooking photos and comments in a timeline format, allowing staff members to rate and comment on them.
[1234] Specific examples of prompts for the generative AI model to use
[1235] For example, you could input the following prompt into a generative AI model:
[1236] "Generate recipes for Japanese cuisine. Please include detailed descriptions of ingredients and cooking steps. Please be as specific and clear as possible. Examples: sushi, tempura, udon."
[1237] Using this prompt, detailed recipe information can be captured from the generative AI model and used to create a recipe database that can be used by staff.
[1238] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1239] Step 1: User Registration
[1240] A user launches the application on their smartphone, accesses the membership registration page, and enters authentication information such as their name, email address, and password. The device sends this information to the server (Firebase Authenticator). The server receives the authentication information, stores it in a database, generates an authentication token, and returns it to the device. This token is stored in local storage.
[1241] (Input: Name, Email, Password. Output: Authentication Token)
[1242] Step 2: User Login
[1243] The user accesses the login page and enters their registered email address and password. The device sends this authentication information to the server. The server compares the received information with the database, and if authentication is successful, it issues a new token and returns it to the device. This token is also stored in local storage.
[1244] (Input: email address, password. Output: new authentication token)
[1245] Step 3: Find a recipe
[1246] The user enters a keyword into the search bar within the app. For example, the keyword "sushi." The device sends a request including this keyword to the server. The server searches the database for relevant recipe information and returns the search results to the device. The device analyzes the results and displays the recipe title, photo, and brief description on the user interface.
[1247] (Input: Keywords. Output: Search results)
[1248] Step 4: Get recipe details
[1249] The user selects a specific recipe from the search results. The device requests detailed information about the selected recipe from the server. The server retrieves detailed information about the recipe, such as steps, ingredients, photos, and videos, from the database and returns it to the device. The device analyzes the information and displays it in the user interface.
[1250] (Input: Recipe ID. Output: Recipe details information)
[1251] Step 5: Step-by-step cooking guide
[1252] The user proceeds with the cooking process while viewing detailed information. The device displays each cooking step by step with images and videos, allowing the user to accurately cook the food while checking the cooking process.
[1253] (Input: Recipe details. Output: Step-by-step guide)
[1254] Step 6: Propose alternative materials
[1255] The user requests information about alternative ingredients for a specific ingredient. The device sends a request including the ingredient ID to the server. The server retrieves the alternative ingredient information from the database and returns it to the device. The device analyzes it and displays it on the user interface.
[1256] (Input: Ingredient ID. Output: Substitute ingredient information)
[1257] Step 7: Recipe generation using generative AI models
[1258] The user enters a prompt to generate a new recipe. For example, "Please generate a recipe for Japanese cuisine. Please include detailed information about ingredients and cooking steps. Please be as specific and easy to understand as possible. For example, sushi, tempura, and udon." The device sends this prompt to the generative AI model. The server uses the generative AI model to generate detailed recipe information and returns it to the device. The device saves and displays it.
[1259] (Input: prompt text. Output: generated recipe information)
[1260] Step 8: Community Posting
[1261] Users post photos of their own cooking and comments. The device sends the posted images and comments to the server, which stores them in a database. The stored information is displayed on a community page for other users to view.
[1262] (Input: images, comments. Output: community feed)
[1263] Step 9: Retrieve and display the community feed
[1264] A user accesses a community page. The device requests the latest posts from the server, and the server retrieves the latest posts from the database and returns them to the device. The device analyzes them and displays them in the user interface. The user can rate and comment on other users' posts.
[1265] (Input: None. Output: Latest Posts Feed)
[1266] 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.
[1267] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A detailed description of this system is provided below.
[1268] User authentication and profile management
[1269] User Registration
[1270] User: Visits the registration page and enters authentication information such as name, email address, and password.
[1271] Terminal: Sends a POST request containing the entered information to the server.
[1272] Server: Receives the request, stores the user information in a database, and if authentication is successful, generates an authentication token and returns it to the user.
[1273] Device: The received authentication token is stored in local storage and used for subsequent authentication.
[1274] User Login
[1275] User: Visit the login page and enter your registered email address and password.
[1276] Terminal: Sends a POST request to the server containing the entered authentication information.
[1277] Server: Receives the request, checks the user information against a database, and if authentication is successful, issues a new token and returns it to the user.
[1278] On the device: The received authentication token is stored in local storage.
[1279] Searching and viewing recipes
[1280] Recipe Search
[1281] User: Enter a keyword into the site's search bar (e.g., "sushi").
[1282] Device: Send a GET request containing the keyword to the server.
[1283] Server: Receives the request, searches the database for recipes based on the keywords, and returns the search results in JSON format to the device.
[1284] Device: Analyzes the received search results and displays the recipe title, photo, and brief description in the user interface.
[1285] Recipe Selection
[1286] User: Select the recipe that interests them from the search results.
[1287] Device: Send a GET request to the server containing the ID of the selected recipe.
[1288] Server: Receives the request, retrieves detailed information about the recipe (steps, ingredients, photos, videos) from the database, and returns it to the device in JSON format.
[1289] Terminal: Analyzes the received recipe information and displays it step by step on the user interface.
[1290] Substitute ingredient suggestion system
[1291] Request an alternative material
[1292] User: Request substitution information for a specific ingredient in a recipe.
[1293] Device: Send a GET request including the ingredient ID to the server.
[1294] Server: Receives the request, retrieves the substitute ingredient information for the corresponding ingredient from the database, and returns the substitute ingredient information to the terminal in JSON format.
[1295] Terminal: Analyzes the received alternative material information and displays it on the user interface.
[1296] Community Features
[1297] Creating a Post
[1298] User: Post photos of your own cooking and comments.
[1299] Terminal: Send a POST request to the server containing the posted image and comment.
[1300] Server: Receives the request, saves the post to the database, and returns status code 200 if the save was successful.
[1301] Retrieving and Displaying Feeds
[1302] Users: Visit the community page.
[1303] On your device: Send a GET request to the server to retrieve the latest posts feed.
[1304] Server: Receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[1305] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[1306] Emotion Engine
[1307] Emotion Recognition and Feedback
[1308] User: Posts and comments.
[1309] Device: Sends data, including posts and comments, to the server.
[1310] Server: Receives the data and the emotion engine recognizes the user's emotion. For example, it assigns an emotion label such as "joy" or "satisfied."
[1311] Server: Generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[1312] Terminal: Display feedback in the user interface.
[1313] Emotion-based recipe suggestions
[1314] User: Searches or browses for recipes on the site.
[1315] Device: Sends keywords and browsing history to the server.
[1316] Server: Receives the data and the emotion engine infers the user's emotions. For example, recommend challenging recipes to a "highly satisfied" user.
[1317] Server: Generates recommended recipe information and returns it to the device.
[1318] Device: Display recommended recipes in the user interface.
[1319] Sentiment analysis based on comments and ratings
[1320] Users: Comment and rate within the community.
[1321] Device: Send comments and ratings to the server.
[1322] Server: Receives the data and the emotion engine analyzes the user's emotions. For example, if there is a lot of positive feedback, it provides feedback that will motivate the user.
[1323] Server: Generates feedback based on the analysis results and returns it to the device.
[1324] Terminal: Display feedback in the user interface.
[1325] With these features, the platform of the present invention makes it easier for users to learn Japanese cuisine, deepens interactions with the community, and realizes a system that recognizes emotions and provides appropriate feedback, thereby improving the user experience and increasing the enjoyment of cooking.
[1326] The processing flow will be explained below.
[1327] Embodiment of Emotion Engine
[1328] Emotion Recognition and Feedback
[1329] Step 1:
[1330] A user posts and enters a comment.
[1331] Step 2:
[1332] The device sends data including posts and comments to the server.
[1333] Step 3:
[1334] The server receives the request and the emotion engine analyzes the user's posts and comments.
[1335] Step 4:
[1336] The emotion engine recognizes the user's emotions based on the analysis results (e.g., joy, satisfaction, empathy, etc. regarding the post).
[1337] Step 5:
[1338] The server generates an appropriate feedback message based on the perceived sentiment (e.g., "That's great!" or "Let's try harder next time!").
[1339] Step 6:
[1340] The server returns the generated feedback in JSON format to the device.
[1341] Step 7:
[1342] The terminal displays the received feedback on a user interface.
[1343] Emotion-based recipe suggestions
[1344] Step 1:
[1345] A user searches or browses for recipes on your site.
[1346] Step 2:
[1347] The device sends data including search keywords and browsing history to the server.
[1348] Step 3:
[1349] The server receives the request and the emotion engine analyzes keywords and browsing history.
[1350] Step 4:
[1351] The emotion engine infers the user's current emotion based on the analysis results (e.g., "highly satisfied").
[1352] Step 5:
[1353] The server selects an appropriate recipe based on the predictions made by the emotion engine (e.g., recommending a challenging recipe to a highly satisfied user).
[1354] Step 6:
[1355] The server returns the selected recipe information to the terminal in JSON format.
[1356] Step 7:
[1357] The terminal displays the received recipe information on a user interface.
[1358] Sentiment analysis based on comments and ratings
[1359] Step 1:
[1360] Users comment on and rate other users' posts within the community.
[1361] Step 2:
[1362] The device sends data including the content of the comments and ratings to the server.
[1363] Step 3:
[1364] The server receives the request and the emotion engine analyzes the comments and ratings.
[1365] Step 4:
[1366] The emotion engine recognizes the user's emotion based on the analysis results (e.g., positive, negative, neutral, etc.).
[1367] Step 5:
[1368] The server generates feedback based on the perceived sentiment (e.g., "Many users relate to your post").
[1369] Step 6:
[1370] The server returns the generated feedback in JSON format to the device.
[1371] Step 7:
[1372] The terminal displays the received feedback on a user interface.
[1373] These functions allow the platform of the present invention to utilize an emotion engine based on information gained in the process of users learning Japanese cuisine, and provide feedback and suggestions according to the user's emotions, improving the user experience and creating an environment in which cooking can be enjoyed.
[1374] Example 2
[1375] 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."
[1376] Conventional cooking learning systems often have separate functions for user authentication, recipe search, detailed display, alternative ingredient suggestions, and community posting, resulting in a lack of an integrated platform. Furthermore, they lack user emotion recognition and are unable to provide appropriate feedback to users, limiting the user experience. This creates challenges for users, resulting in an unsatisfactory experience in cooking learning and communication.
[1377] 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.
[1378] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, and means for performing emotion recognition on comments and posts entered by users and providing feedback. This allows users to perform a series of operations from authentication to emotion recognition feedback in an integrated manner on a single platform, thereby improving the experience of cooking learning and community participation.
[1379] "Authentication information" refers to personal identification information that a user enters when accessing a system, such as name, email address, and password.
[1380] An "authentication token" is a temporary digital certificate that is generated when a user logs into a system and is used to maintain authentication status.
[1381] "Search keywords" are words or phrases that a user enters when searching for specific information and are used to find related data within the system.
[1382] "Search results" are lists of relevant information returned by the system based on the keywords entered by the user, providing the information the user is looking for.
[1383] "More Info" is additional information provided about the particular item selected by the user, including recipe steps, ingredients, photos, videos, etc.
[1384] "Substitute ingredient information" refers to information about other ingredients that can be used to substitute for an ingredient required by a particular recipe if that ingredient is not available.
[1385] A "post" is content, including images and comments, that a user uploads through the community function within the system.
[1386] "Displaying within the community" refers to displaying content posted by a user in a shared space within the system so that other users can view it.
[1387] "Emotion recognition" is the process by which the system infers a user's emotions based on the comments and posts entered by the user, and assigns emotional labels such as "fun" or "satisfied."
[1388] "Feedback" is the response or message that a system gives back to a user in response to their actions or input, such as "That's great!" or "Let's try harder next time!"
[1389] The platform of the present invention is a system that allows users to learn cooking recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A specific embodiment of this system is described below.
[1390] User authentication and profile management
[1391] For user authentication and profile management, the authentication information entered by the user is received and an authentication token is generated. Specifically, the user accesses the membership registration page and enters their name, email address, and password. The device sends the entered information to the server as a POST request. The server receives the request and saves the user information in a database (e.g., MySQL). If the authentication process is successful, the server generates a JWT token and returns it to the user. The device stores this token in local storage and uses it for future authentications.
[1392] Searching and viewing recipes
[1393] To search for recipes, a user enters keywords into the site's search bar. For example, if a user types "sushi," the device sends the keywords as a GET request to the server. The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format. The device then analyzes the results and displays the title, photo, and description in the user interface.
[1394] Substitute ingredient suggestion system
[1395] To suggest substitute ingredients, the user requests substitute ingredient information for a specific ingredient. The device sends the request to the server, which retrieves the substitute ingredient information from the database and returns it in JSON format. The device parses it and displays it in the user interface. For example, "apple vinegar" is suggested as a substitute for "vinegared rice."
[1396] Community Features
[1397] The community function allows users to post photos of their own cooking along with comments. The device sends the posted content to the server, which saves it in a database. If the save is successful, the server returns a status code of 200. On the community page, users can obtain a feed, view other users' posts in a timeline format, and rate and comment on them.
[1398] Emotion Engine
[1399] Emotion recognition and feedback analyzes comments posted by users to recognize their emotions. For example, in response to a comment such as "The whole family loves this recipe!", an emotion engine (e.g., Google Cloud Natural Language API) recognizes "joy." Based on this, the server generates feedback such as "That's great!" and returns it to the user.
[1400] Examples and prompts
[1401] User authentication example
[1402] On the new user registration page, Mr. Tanaka enters his name as "Ichiro Tanaka," his email address as "tanaka@example.com," and his password as "password123." The server then stores this information in the database and returns a JWT token to Mr. Tanaka.
[1403] Prompt Sentence Examples
[1404] Please explain the process for a user to register as a new user.
[1405] Emotion recognition and feedback examples
[1406] When Suzuki types "My whole family loves this recipe!" into a post, the emotion engine recognizes "joy" and generates and displays the feedback "That's great!"
[1407] Prompt Sentence Examples
[1408] Describe how your system performs emotion recognition and generates feedback when a user leaves a comment. Please specify the emotion engine used in this process.
[1409] As described above, the platform of the present invention provides an environment in which users can use various functions in an integrated manner on a single system, thereby resolving the problems of conventional cooking learning systems and community systems.
[1410] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1411] Step 1:
[1412] A user accesses the membership registration page and enters their name, email address, and password.
[1413] Input: Personally identifiable information entered by the user (e.g., name, email address, password)
[1414] What it does: Collects information entered through the user interface and prepares it in the form of a POST request.
[1415] Output: POST request with authentication information
[1416] Step 2:
[1417] The device sends a POST request to the server containing the entered authentication information.
[1418] Input: POST request with authentication information
[1419] What it does: Sends a POST request to the server via HTTP.
[1420] Output: The request sent to the server
[1421] Step 3:
[1422] The server receives the request and stores the user information in a database.
[1423] Input: Authentication information sent in the POST request
[1424] What it does: Executes a SQL query to store user information in a database (e.g. MySQL).
[1425] Output: A database containing user information
[1426] Step 4:
[1427] If the server is successful in authentication, it generates an authentication token (JWT) and returns it to the user.
[1428] Input: Database save success status
[1429] Behavior: Generates a JWT token and returns it as an HTTP response.
[1430] Output: Authentication token returned to the user
[1431] Step 5:
[1432] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[1433] Input: Authentication token returned by the server
[1434] What it does: Saves the token in local storage (e.g., browser localStorage).
[1435] Output: Authentication token stored in local storage
[1436] Step 6:
[1437] A user types a keyword into a search bar on your site (e.g., "sushi").
[1438] Input: The keyword the user types
[1439] What it does: Captures keywords entered in the user interface.
[1440] Output: A search request containing the search keyword.
[1441] Step 7:
[1442] The device sends a GET request containing the keyword to the server.
[1443] Input: The search keyword entered by the user
[1444] What it does: Sends a GET request to the server via HTTP.
[1445] Output: The request sent to the server
[1446] Step 8:
[1447] The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format to the device.
[1448] Input: GET request containing search keywords
[1449] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[1450] Output: Search results in JSON format
[1451] Step 9:
[1452] The device analyzes the search results it receives and displays the title, photo, and brief description on the user interface.
[1453] Input: JSON format search results from the server
[1454] What it does: Parses JSON data and displays the results in HTML / CSS / JavaScript.
[1455] Output: Search results displayed in the user interface
[1456] Step 10:
[1457] The user selects the recipe of interest from the search results.
[1458] Input: User's recipe selection
[1459] Behavior: Gets the ID of the selected recipe.
[1460] Output: A request containing the selected recipe ID.
[1461] Step 11:
[1462] The device sends a GET request to the server containing the ID of the selected recipe.
[1463] Input: Selected recipe ID
[1464] What it does: Sends a GET request to the server via HTTP.
[1465] Output: The request sent to the server
[1466] Step 12:
[1467] The server receives the request, retrieves the recipe details (instructions, ingredients, photos, videos) from the database, and returns them to the device in JSON format.
[1468] Input: GET request containing a recipe ID
[1469] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[1470] Output: Detailed recipe information in JSON format
[1471] Step 13:
[1472] The terminal analyzes the received recipe details and displays them step by step on the user interface.
[1473] Input: JSON format recipe details from the server
[1474] How it works: Parses JSON data and displays instructions and ingredients using HTML / CSS / JavaScript.
[1475] Output: Detailed information displayed in the user interface
[1476] Step 14:
[1477] A user requests substitution information for a specific ingredient in a recipe.
[1478] Input: User's request for a substitute material
[1479] What it does: Gets the ID of the ingredient for which you want a substitution.
[1480] Output: Request containing ingredient ID
[1481] Step 15:
[1482] The device sends a GET request including the ingredient ID to the server.
[1483] Input: Ingredient ID for which you want to find a substitute
[1484] What it does: Sends a GET request to the server via HTTP.
[1485] Output: The request sent to the server
[1486] Step 16:
[1487] The server receives the request, retrieves information about alternative ingredients for the relevant ingredient from the database, and returns it to the terminal in JSON format.
[1488] Input: GET request containing ingredient ID
[1489] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[1490] Output: Alternative material information in JSON format
[1491] Step 17:
[1492] The terminal analyzes the received alternative material information and displays it on the user interface.
[1493] Input: Alternative material information in JSON format from the server
[1494] What it does: Parses JSON data and displays alternative ingredient information using HTML / CSS / JavaScript.
[1495] Output: Alternative material information displayed in the user interface
[1496] Step 18:
[1497] Users post photos of their own cooking along with comments.
[1498] Input: User's image and comment
[1499] Behavior: Prepares a POST request based on user interface input.
[1500] Output: POST request containing the post content
[1501] Step 19:
[1502] The device sends a POST request to the server containing the posted image and comment.
[1503] Input: POST request containing the post content
[1504] What it does: Sends a POST request to the server via HTTP.
[1505] Output: The request sent to the server
[1506] Step 20:
[1507] The server receives the request, saves the post to the database, and returns a status code of 200 if the save was successful.
[1508] Input: Post content sent via POST request
[1509] Behavior: Executes a SQL query to save to the database. Returns status code 200 if the save was successful.
[1510] Output: Status code for successful save
[1511] Step 21:
[1512] A user visits a community page and sends a GET request to retrieve a feed of the latest posts.
[1513] Input: Access to community page
[1514] What it does: Sends a GET request to the server via HTTP.
[1515] Output: The request sent to the server
[1516] Step 22:
[1517] The server receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[1518] Input: GET request to retrieve posts feed
[1519] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[1520] Output: Post feed in JSON format
[1521] Step 23:
[1522] The device analyzes the received post feed and displays it on the user interface. Other users' cooking photos and comments are displayed in a timeline format, and users can rate and comment on them.
[1523] Input: JSON-formatted posts feed from the server
[1524] What it does: Parses JSON data and displays the feed in HTML / CSS / JavaScript.
[1525] Output: Post feed displayed in the user interface
[1526] Step 24:
[1527] A user makes a post or enters a comment and sends it to the server.
[1528] Input: User posts and comments
[1529] What it does: Sends data, including posts and comments, to the server.
[1530] Output: Data sent to the server
[1531] Step 25:
[1532] The server receives the data and uses an emotion engine to recognize the user's emotions, assigning emotion labels such as "fun" or "satisfied."
[1533] Input: Data including posts and comments
[1534] What it does: Performs sentiment analysis using a sentiment engine (e.g., Google Cloud Natural Language API).
[1535] Output: Data after emotion labeling
[1536] Step 26:
[1537] The server generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[1538] Input: Data with emotion labels
[1539] What it does: Generates feedback text based on the recognized emotion and sends it to the device as an HTTP response.
[1540] Output: Feedback text
[1541] Step 27:
[1542] The terminal displays the feedback in the user interface.
[1543] Input: Feedback text from the server
[1544] What it does: Generates HTML / CSS / JavaScript to display the feedback text.
[1545] Output: Feedback text that is displayed in the user interface
[1546] (Application example 2)
[1547] 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."
[1548] Conventional recipe learning platforms have limited interactive feedback when users learn Japanese cooking procedures, execute cooking, and evaluate results. Furthermore, they have limited community features for improving cooking skills and functions for suggesting alternative ingredients, resulting in a suboptimal user experience. Furthermore, conventional systems lack the ability to provide feedback based on sentiment analysis of cooking results, leaving users without a means to appropriately improve their satisfaction.
[1549] 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.
[1550] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by the user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for a robot to cook and perform sentiment analysis of the cooking results, and means for generating feedback based on the sentiment analysis results and providing it to the user. This enables a user to learn Japanese recipes, cook, and receive emotional feedback based on the results, thereby effectively improving their cooking skills.
[1551] "Authentication Information" is the information a user provides when logging in or registering to a system, and typically includes a name, email address, password, etc.
[1552] An "authentication token" is a security token that is generated after a user is authenticated and is used to indicate that the user has been authenticated in subsequent requests.
[1553] "Search results" are a collection of information provided based on the keywords searched by the user, and typically include the recipe title, photo, and brief description.
[1554] "Detailed Information" is specific information related to the selected recipe, including cooking instructions, ingredients, photos, videos, etc.
[1555] "Alternative ingredient information" is information on alternative ingredients that are suggested when ingredients included in the original recipe are unavailable.
[1556] "Post" refers to the uploading of images and comments by a user to a community within the system.
[1557] The "means for displaying within the community" is a system element that allows other users to view a user's posts.
[1558] "Sentiment analysis" is the process of identifying emotional states based on user feedback and cooking results, analyzing text and image data and assigning emotional labels.
[1559] "Feedback" is a response message that the system generates based on the results of sentiment analysis, and can include praise for the user or suggestions for improvement.
[1560] The system of the present invention provides comprehensive support for Japanese cuisine, from learning recipes to cooking and providing feedback based on sentiment analysis. To realize this system, the following functions are implemented: user authentication, recipe search, detailed information provision, alternative ingredient suggestions, community functionality, sentiment analysis, and robotic cooking. A specific embodiment of this system is described below.
[1561] User authentication and profile management
[1562] The server receives the authentication information entered by the user and generates an authentication token, which allows users to have individual profiles and securely access the system. User registration and login forms are created on the front end (React), and Flask is used on the server side.
[1563] Searching and viewing recipes
[1564] The terminal sends the keyword entered by the user to the server, and the server searches for recipe data based on the keyword and provides the results. Similarly, to obtain detailed information, the terminal sends the selected recipe ID to the server and provides related detailed information.
[1565] Suggesting alternative ingredients
[1566] If the user does not have a particular ingredient, the server will suggest alternatives for that ingredient, allowing the user to continue cooking on the go. The ID of each ingredient is sent to the server via a GET request, and the server retrieves the alternative ingredient information.
[1567] Community Features
[1568] The server receives images and comments posted by users and displays them within the community. The device retrieves the latest posted feed and displays it on the interface. Other users can rate and comment on the images, promoting communication.
[1569] Emotion Recognition and Feedback
[1570] The server performs sentiment analysis based on the cooking results and user comments. Generative AI models such as TensorFlow / Keras are used for this sentiment analysis. Based on the obtained emotional data, the server generates appropriate feedback and provides it to the user. This improves user satisfaction and enriches the cooking experience.
[1571] Robot cooking function
[1572] The factory robot has the ability to cook food based on recipe information provided by the server. The cooking process and results are monitored in real time and used for sentiment analysis. This allows users to give cooking instructions and check the results even from remote locations.
[1573] Hardware and software used
[1574] The system of the present invention uses the following hardware and software:
[1575] Hardware: Tablets, smartphones, smart factory robots
[1576] Software: Python (Flask, TensorFlow / Keras), MySQL, React
[1577] Specific examples
[1578] A user logs into the system and searches for recipes using the keyword "sushi." From the search results, the user selects a "salmon sushi" recipe. Detailed information about the selected recipe is displayed, and if the user does not have salmon, the server will suggest alternatives such as "tuna" or "sea bream." The user then instructs the cooking robot to "cook salmon sushi," and the robot begins cooking. By photographing the cooking results and uploading them to the system, the server performs sentiment analysis and provides feedback such as "Excellent results! Let's keep it up next time!"
[1579] Here are some example prompts we tried:
[1580] "Perform sentiment analysis and generate feedback for the following Japanese recipe: Food photo: example_image.jpg Food evaluation comments: "It was very delicious!", "It was a little salty.""
[1581] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1582] Program processing flow
[1583] Step 1: User authentication and profile management
[1584] The server receives the authentication information (name, email address, password) entered by the user and stores it in a database.
[1585] Input: The credentials the user enters (name, email address, password).
[1586] Output: Generates an authentication token and returns it to the user.
[1587] Specific operation: The server receives the POST request, saves the information in a MySQL database, and generates and returns an authentication token to the user, which the user can use for future authentications.
[1588] Step 2: Find and view recipes
[1589] The terminal transmits the keyword entered by the user to the server, and the server searches for recipe data based on the keyword.
[1590] Input: The keyword that the user types into the search bar.
[1591] Output: Search results for recipes based on keywords (title, photo, brief description) in JSON format.
[1592] Specific operation: The server receives a GET request, searches the database for recipes that match the keywords, and returns the results in JSON format. The device displays the received search results in the user interface.
[1593] Step 3: Get more information
[1594] The device sends the ID of the selected recipe to the server, which retrieves and returns detailed information (ingredients, steps, photos, videos).
[1595] Input: The ID of the recipe selected by the user.
[1596] Output: Returns detailed information about the recipe (ingredients, steps, photos, videos) in JSON format.
[1597] Specific operation: The server receives a GET request, retrieves detailed information about the recipe from the database, and returns it in JSON format. The device displays the detailed information step by step.
[1598] Step 4: Propose alternative materials
[1599] The server receives the ID of the ingredient selected by the user, retrieves the substitute ingredient information from the database, and returns it to the terminal.
[1600] Input: User-specified ingredient ID.
[1601] Output: Alternative material information is returned in JSON format.
[1602] Specific operation: The server receives a GET request, retrieves the alternative material information from the database, and returns it in JSON format. The terminal displays the alternative material information.
[1603] Step 5: Post to the community
[1604] The server receives the images and comments posted by users and stores them in a database.
[1605] Input: Images and comments posted by users.
[1606] Output: Saves the post to the database and returns a status code of 200.
[1607] Specific operation: The server receives the POST request, saves the posted information to the database, and returns status code 200 if the save is successful.
[1608] Step 6: Retrieving and Displaying the Posts Feed
[1609] The device requests the latest post feed from the server, and the server retrieves the latest posts from the database and returns them.
[1610] Enter: Visit the community page.
[1611] Output: Returns the latest posts feed in JSON format.
[1612] Specific operation: The server receives a GET request, retrieves the latest posts from the database, and returns them in JSON format. The device displays the post feed in a timeline format.
[1613] Step 7: Sentiment analysis and feedback
[1614] The server receives the user's cooking results and comments, analyzes them using an emotion engine, and generates feedback based on the results and returns it to the user.
[1615] Input: User's cooking result image and comments.
[1616] Output: Sentiment analysis results and feedback based on them.
[1617] Specific operation: The server receives a POST request, performs sentiment analysis using TensorFlow / Keras, generates feedback based on the obtained sentiment data, and returns it to the user.
[1618] Step 8: Let the robot cook
[1619] The terminal sends recipe information from the server to the robot, and the robot cooks based on that information.
[1620] Input: Recipe information provided by the server.
[1621] Output: The food after cooking is complete.
[1622] Specific operation: The server sends recipe information to the robot, which then cooks the food based on that information. The cooking progress and results are monitored on the terminal.
[1623] 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.
[1624] 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.
[1625] 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.
[1626] [Third embodiment]
[1627] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1628] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1629] 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).
[1630] 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.
[1631] 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.
[1632] 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).
[1633] 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.
[1634] 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.
[1635] 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.
[1636] 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.
[1637] 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.
[1638] 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."
[1639] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. A detailed description of this system is provided below.
[1640] User authentication and profile management
[1641] User Registration
[1642] User: Visits the registration page and enters authentication information such as name, email address, and password.
[1643] Terminal: Sends the entered information to the server. The server receives this information and processes it by storing it in a database. If authentication is successful, the server generates an authentication token and returns it to the user.
[1644] User Login
[1645] User: Visit the login page and enter your registered email address and password.
[1646] Terminal: The entered authentication information is sent to the server, which checks the user information against its database and, if authentication is successful, issues a new token and returns it to the user.
[1647] Searching and viewing recipes
[1648] Recipe Search
[1649] User: Enter a keyword into the site's search bar (e.g., "sushi").
[1650] Device: Sends a request containing keywords to the server, which searches the database for recipes based on the keywords and returns the search results.
[1651] Displaying search results
[1652] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface.
[1653] Step-by-step cooking guide
[1654] Recipe Selection
[1655] User: Select the recipe that interests them from the search results.
[1656] Device: Requests detailed information about the selected recipe from the server, which retrieves and returns details from the database, including recipe steps, ingredients, photos, and videos.
[1657] Viewing detailed information
[1658] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[1659] Substitute ingredient suggestion system
[1660] Request an alternative material
[1661] User: Request substitution information for a specific ingredient in a recipe.
[1662] Terminal: Sends a request including an ingredient ID to the server. The server retrieves and returns information on alternative ingredients for the corresponding ingredient from the database.
[1663] Displaying Alternative Material Information
[1664] Device: Analyzes the received information on alternative ingredients and displays it on the user interface, allowing the user to proceed with cooking using ingredients they have on hand.
[1665] Community Features
[1666] Creating a Post
[1667] User: Post photos of your own cooking and comments.
[1668] Device: Posted images and comments are sent to the server, which stores them in a database and shares them with other users.
[1669] Retrieving and Displaying Feeds
[1670] Users: Visit the community page.
[1671] Device: Sends a request to the server to get the latest posts feed. The server retrieves the latest posts from the database and returns them to the device.
[1672] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[1673] With these functions, the platform of the present invention allows users to easily learn Japanese cuisine, share various information, and receive feedback from other users, thereby expanding the enjoyment of cooking and providing a system that promotes interaction between users.
[1674] The processing flow will be explained below.
[1675] User authentication and profile management
[1676] User Registration
[1677] Step 1:
[1678] A user accesses the membership registration page and enters their name, email address, and password.
[1679] Step 2:
[1680] The terminal sends a POST request containing the entered information to the server.
[1681] Step 3:
[1682] The server receives the request and stores the user information in a database.
[1683] Step 4:
[1684] If the server successfully saves the user information, it generates an authentication token and returns it to the user.
[1685] Step 5:
[1686] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[1687] User Login
[1688] Step 1:
[1689] The user accesses the login page and enters their registered email address and password.
[1690] Step 2:
[1691] The device sends a POST request to the server containing the entered authentication information.
[1692] Step 3:
[1693] The server receives the request and checks the user information against a database.
[1694] Step 4:
[1695] If the authentication is successful, the server issues a new token and returns it to the user.
[1696] Step 5:
[1697] The device stores the received authentication token in local storage.
[1698] Searching and viewing recipes
[1699] Recipe Search
[1700] Step 1:
[1701] A user enters a keyword (e.g., "sushi") into a search bar on your site.
[1702] Step 2:
[1703] The device sends a GET request containing the keyword to the server.
[1704] Step 3:
[1705] The server receives the request and searches a database for recipes based on the keywords.
[1706] Step 4:
[1707] The server returns the search results to the device in JSON format.
[1708] Step 5:
[1709] The terminal analyzes the received search results and displays the recipe title, photo, and brief description on the user interface.
[1710] Step-by-step cooking guide
[1711] Recipe Selection
[1712] Step 1:
[1713] The user selects the recipe of interest from the search results.
[1714] Step 2:
[1715] The device sends a GET request to the server containing the ID of the selected recipe.
[1716] Step 3:
[1717] The server receives the request and retrieves the details of the recipe (instructions, ingredients, photos, videos) from the database.
[1718] Step 4:
[1719] The server returns detailed recipe information to the terminal in JSON format.
[1720] Step 5:
[1721] The terminal analyzes the received recipe information and displays it step by step on the user interface.
[1722] Substitute ingredient suggestion system
[1723] Request an alternative material
[1724] Step 1:
[1725] A user requests substitution information for a specific ingredient in a recipe.
[1726] Step 2:
[1727] The device sends a GET request to the server containing the ID of the selected ingredient.
[1728] Step 3:
[1729] The server receives the request and retrieves information on substitute ingredients for the relevant ingredient from the database.
[1730] Step 4:
[1731] The server returns the alternative material information to the terminal in JSON format.
[1732] Step 5:
[1733] The terminal analyzes the received alternative material information and displays it on the user interface.
[1734] Community Features
[1735] Creating a Post
[1736] Step 1:
[1737] Users enter photos of their own cooking and comments.
[1738] Step 2:
[1739] The device sends a POST request including the entered photo data and comments to the server.
[1740] Step 3:
[1741] The server receives the request and saves the post in a database.
[1742] Step 4:
[1743] The server returns status code 200 indicating the save was successful.
[1744] Retrieving and Displaying Feeds
[1745] Step 1:
[1746] A user visits a community page.
[1747] Step 2:
[1748] The device sends a GET request to the server to retrieve the latest post feed.
[1749] Step 3:
[1750] The server receives the request and retrieves the latest posts from the database.
[1751] Step 4:
[1752] The server returns the post feed to the device in JSON format.
[1753] Step 5:
[1754] The terminal analyzes the received post feed and displays it on the user interface.
[1755] Example 1
[1756] 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."
[1757] Conventional recipe websites and cooking applications make it difficult for users to effectively learn Japanese cooking recipes, especially for beginners, as the detailed steps and ingredients are difficult to understand. Furthermore, the lack of suggestions for alternative ingredients and the lack of interaction between users can reduce the enjoyment of cooking and potentially lower motivation to learn. There is a need for a system that addresses these issues and allows users to learn Japanese cooking more easily and enjoyably.
[1758] 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.
[1759] In this invention, the server includes a means for receiving authentication information entered by a user and generating an authentication token, a means for receiving search terms searched by the user and providing search results, and a means for acquiring and providing detailed information corresponding to the selected cooking instruction. This allows a user to access the system after authentication, search for recipes using the search function, and check the details. The server also includes a means for suggesting alternative ingredients for ingredients included in the cooking instruction and a means for receiving images and comments posted by users and displaying them among co-users, promoting interaction between users and enabling cooking using alternative ingredients.
[1760] "Authentication information" is the information a user needs to access a system, and typically includes a name, email address, and password.
[1761] An "authentication token" is a string of data generated by a server to indicate that a user has been properly authenticated, allowing continued access.
[1762] A "search word" is a word or phrase that a user enters to locate specific information within the system.
[1763] "Search results" are a set of information or data provided by the system based on the search words entered by the user.
[1764] "Cooking Instructions" are detailed instructions about the steps and ingredients for making a particular dish, allowing users to learn how to cook.
[1765] "Detailed information" includes information such as specific steps, ingredients, photos and videos related to cooking instruction.
[1766] "Ingredients" refers to the ingredients and materials used in cooking.
[1767] "Substitute ingredient information" is information about other ingredients that can be used when a specific ingredient is not available or when you want to change it.
[1768] "Images" are visual data such as photos and illustrations of food that users post to the system.
[1769] A "comment" is a text message posted by a user to the system, and includes evaluations and impressions of other users.
[1770] "Joint users" are multiple users of the system who aim to exchange information and opinions with each other.
[1771] The present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. This system is realized by a combination of hardware and software.
[1772] User authentication and profile management
[1773] User Registration
[1774] User: Access the membership registration page and enter your name, email address, and password.
[1775] Terminal: Sends the entered authentication information to the server.
[1776] Server: Stores the received information in a database, and if storage is successful, generates an authentication token and returns it to the user via the terminal.
[1777] Example: "On the user registration page, enter the name "Yamada Taro" and the email address "taro@example.com" and press the member registration button."
[1778] User Login
[1779] User: Visit the login page and enter your registered email address and password.
[1780] Terminal: Sends input information to the server.
[1781] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[1782] Example: "Enter your email address 'taro@example.com' and password on the login page and press the login button."
[1783] Searching and viewing recipes
[1784] Recipe Search
[1785] User: Enter a keyword into the site's search bar (e.g., "sushi").
[1786] Device: Send a request containing the keyword to the server.
[1787] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[1788] Example: "Type 'sushi' into the search bar and press the search button."
[1789] Displaying search results
[1790] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and summary in the user interface.
[1791] Example: "Display 'Tuna sushi' from the list of search results."
[1792] Step-by-step cooking guide
[1793] Recipe Selection
[1794] User: Select the recipe that interests them from the search results.
[1795] Terminal: Requests detailed information about the selected recipe from the server.
[1796] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[1797] Example: "Select 'Tuna Sushi' from the search results and view detailed information."
[1798] Viewing detailed information
[1799] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[1800] Example: "Proceed with cooking while viewing the detailed recipe for 'Tuna Sushi'."
[1801] Substitute ingredient suggestion system
[1802] Request an alternative material
[1803] User: Request substitution information for a specific ingredient in a recipe.
[1804] Device: Sends a request including the ingredient ID to the server.
[1805] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[1806] Example: "Request a substitution for 'tuna' in the recipe for 'tuna sushi'."
[1807] Displaying Alternative Material Information
[1808] Terminal: Analyzes the alternative ingredient information received from the server and displays it on the user interface, allowing the user to proceed with cooking using the ingredients they have on hand.
[1809] Example: "Make sure you can use 'salmon' or 'bonito' instead of 'tuna'."
[1810] Community Features
[1811] Creating a Post
[1812] User: Post photos of your own cooking and comments.
[1813] Device: Sends posted images and comments to the server.
[1814] Server: Stores the received data in a database and shares it with other users.
[1815] Example: "Post a photo of the tuna sushi you made and a comment."
[1816] Retrieving and Displaying Feeds
[1817] Users: Visit the community page.
[1818] On your device: Sends a request to the server to get a feed of the latest posts.
[1819] Server: Gets the latest posts from the database and returns them to the device.
[1820] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[1821] Example: "Look at another user's 'grilled fish' post on the community page and click 'Like'."
[1822] With these features, the system of the present invention allows users to learn Japanese cuisine, share recipes and information with other users, receive feedback, and enjoy cooking. It also increases the variety and accessibility of cooking by suggesting alternative ingredients and providing step-by-step guides.
[1823] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1824] User authentication and profile management
[1825] User Registration
[1826] Step 1:
[1827] User: Access the membership registration page and enter your name, email address, and password.
[1828] Specific actions: Open the membership registration form in your browser and enter the required information.
[1829] Input: Name, Email Address, Password
[1830] Output: The input information is displayed in the form
[1831] Step 2:
[1832] Terminal: Sends the entered authentication information to the server.
[1833] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[1834] Input: Form data
[1835] Output: POST request to the server
[1836] Step 3:
[1837] Server: Stores the received information in a database and generates an authentication token if the storage is successful.
[1838] Specific operation: The server stores the received data in a database and generates a UUID (a unique identifier specific to the namespace).
[1839] Input: Form data
[1840] Output: UUID (auth token)
[1841] Step 4:
[1842] Server: Returns the generated authentication token to the device.
[1843] Specific operation: The server responds by sending an authentication token to the device.
[1844] Input: UUID (authentication token)
[1845] Output: Response message on the terminal
[1846] User Login
[1847] Step 1:
[1848] User: Visit the login page and enter your registered email address and password.
[1849] Specific behavior: Open the login form in your browser and enter your email address and password.
[1850] Input: Email address, Password
[1851] Output: The input information is displayed in the form
[1852] Step 2:
[1853] Terminal: Sends input information to the server.
[1854] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[1855] Input: Form data
[1856] Output: POST request to the server
[1857] Step 3:
[1858] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[1859] What happens: The server queries the database, verifies that the credentials match, and generates a new UUID.
[1860] Input: Form data
[1861] Output: New UUID (auth token)
[1862] Searching and viewing recipes
[1863] Recipe Search
[1864] Step 1:
[1865] User: Enter a keyword into the site's search bar (e.g., "sushi").
[1866] Specific action: Enter a keyword into the search bar in your browser.
[1867] Input: Keyword (e.g. "sushi")
[1868] Output: The entered keyword will be displayed in the search bar.
[1869] Step 2:
[1870] Device: Send a request containing the keyword to the server.
[1871] Specific behavior: When you click the search button, a GET request containing the keywords is sent to the server.
[1872] Input: Keyword (e.g. "sushi")
[1873] Output: GET request containing keyword
[1874] Step 3:
[1875] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[1876] Specific operation: The server queries the database and retrieves the relevant recipe information.
[1877] Input: Keyword (e.g. "sushi")
[1878] Output: Search results (recipe list)
[1879] Displaying search results
[1880] Step 1:
[1881] Terminal: Analyzes the search results received from the server.
[1882] Specific operation: Parses search results in JSON or XML format and extracts the required data.
[1883] Input: Search results (recipe list)
[1884] Output: Parsed data
[1885] Step 2:
[1886] Terminal: Display search results in a user interface.
[1887] Specific operation: Display using HTML and CSS based on the analyzed data.
[1888] Input: Parsed data
[1889] Output: Search results are displayed on the screen
[1890] Step-by-step cooking guide
[1891] Recipe Selection
[1892] Step 1:
[1893] User: Select the recipe that interests them from the search results.
[1894] Specific Action: Click or tap to select a recipe from the search results list.
[1895] Input: Search results (recipe list)
[1896] Output: Selected recipe ID
[1897] Step 2:
[1898] Terminal: Requests detailed information about the selected recipe from the server.
[1899] Specific behavior: Sends a request containing the selected recipe ID to the server.
[1900] Input: Recipe ID
[1901] Output: GET request with recipe ID
[1902] Step 3:
[1903] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[1904] What happens next: The server executes a database query to retrieve more information.
[1905] Input: Recipe ID
[1906] Output: Recipe details
[1907] Viewing detailed information
[1908] Step 1:
[1909] Terminal: Analyzes the detailed recipe information received from the server.
[1910] Specific behavior: Parses data in JSON or XML format and extracts cooking instructions and ingredients.
[1911] Input: Recipe details
[1912] Output: Parsed details
[1913] Step 2:
[1914] Terminal: Display the analyzed information in the user interface.
[1915] Specific operation: Based on the analyzed information, a step-by-step display is performed using HTML and CSS.
[1916] Input: Parsed details
[1917] Output: Detailed information is displayed on the screen
[1918] Substitute ingredient suggestion system
[1919] Request an alternative material
[1920] Step 1:
[1921] User: Request substitution information for a specific ingredient in a recipe.
[1922] What it does: Select a specific ingredient on the recipe details page and make a substitution request.
[1923] Input: Ingredient ID
[1924] Output: Substitute material request
[1925] Step 2:
[1926] Device: Sends a request including the ingredient ID to the server.
[1927] What happens next: A request is sent to the server.
[1928] Input: Ingredient ID
[1929] Output: GET request with ingredient ID
[1930] Step 3:
[1931] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[1932] Specific Behavior: Executes a database query to retrieve alternative material information.
[1933] Input: Ingredient ID
[1934] Output: Alternative material information
[1935] Displaying Alternative Material Information
[1936] Step 1:
[1937] Terminal: Analyzes the alternative material information received from the server.
[1938] Specific behavior: Parses alternative material information in JSON or XML format.
[1939] Input: Alternative material information
[1940] Output: Analyzed alternative material information
[1941] Step 2:
[1942] Terminal: Display the analyzed information in the user interface.
[1943] Specific operation: Display using HTML and CSS based on alternative material information.
[1944] Input: Analyzed alternative material information
[1945] Output: Alternative material information is displayed on the screen
[1946] Community Features
[1947] Creating a Post
[1948] Step 1:
[1949] User: Post photos of your own cooking and comments.
[1950] Specific actions: Upload a photo and enter a comment.
[1951] Input: Image file, comment
[1952] Output: The submission is displayed in the form
[1953] Step 2:
[1954] Terminal: Sends the post to the server.
[1955] Specific behavior: Click the submit button and the data is sent to the server.
[1956] Input: Image file, comment
[1957] Output: POST request to the server
[1958] Step 3:
[1959] Server: Saves the submitted data in a database and shares it with other users.
[1960] Specific operation: Save image files and comments to the database and set sharing settings.
[1961] Input: Image file, comment
[1962] Output: New record in the database
[1963] Retrieving and Displaying Feeds
[1964] Step 1:
[1965] Users: Visit the community page.
[1966] Specific Action: Opens the community page.
[1967] Input: page access
[1968] Output: Page request
[1969] Step 2:
[1970] On your device: Send a request to the server for a feed of the latest posts.
[1971] Specific behavior: Sends a feed request to the server.
[1972] Input: Feed request
[1973] Output: GET request to the server
[1974] Step 3:
[1975] Server: Gets the latest posts from the database and returns them to the device.
[1976] What it does: Executes a database query to get the latest posts.
[1977] Input: Feed request
[1978] Output: Latest Posts feed
[1979] Step 4:
[1980] Terminal: Parses the received feed and displays it in a user interface.
[1981] Specific behavior: Parses feed data in JSON or XML format and extracts the required data.
[1982] Input: Latest Posts Feed
[1983] Output: Parsed data
[1984] Step 5:
[1985] On your device: Displays a feed of posts in a timeline format, allowing users to rate and comment.
[1986] Specific operation: Uses HTML and CSS to display feed data in a timeline format, and adds rating and comment functions.
[1987] Input: Parsed data
[1988] Output: Feed displayed in timeline format
[1989] This allows the system of the present invention to enable users to learn Japanese cuisine, share recipes and information with other users, and enjoy cooking while receiving feedback.
[1990] (Application example 1)
[1991] 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."
[1992] In conventional recipe learning systems, it is difficult for users to check cooking steps in real time or receive suggestions for substitute ingredients. Furthermore, in brick-and-mortar stores, information sharing and feedback between staff members is not effectively carried out, which can lead to a decline in cooking efficiency and quality. The present invention aims to solve these problems.
[1993] 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.
[1994] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting substitute ingredient information for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for staff at a physical store to manage account information and check recipe searches and step-by-step cooking procedures, and means for acquiring detailed recipe information using a generative AI model and suggesting substitute ingredients. This allows users to check cooking procedures and receive suggestions for substitute ingredients in real time, enabling effective information sharing and feedback between staff at a physical store.
[1995] "Authentication information" refers to information such as a name, email address, and password that a user enters when accessing a system.
[1996] An "authentication token" is a digital certificate that indicates that a user has been properly authenticated and is used to maintain a session.
[1997] A "keyword" is a specific word or phrase that a user enters when searching for information such as a recipe.
[1998] "Search results" are a list of related recipes and information returned by the system based on the keywords entered by the user.
[1999] "Detailed information" refers to specific information related to the selected recipe, such as cooking instructions, ingredients, photos, and videos.
[2000] "Alternative ingredient information" is information about other ingredients that can be used when a specific ingredient is unavailable.
[2001] "Images and comments" refers to photos of food posted by users to the community, along with their descriptions and comments.
[2002] The "means for displaying within the community" refers to a method or function for displaying images and comments posted by users on a community page so that other users can view them.
[2003] "Brick and mortar store" refers to a physical establishment such as a grocery store or restaurant, especially one that includes a kitchen.
[2004] "Staff" refers to employees and cooks working in physical stores.
[2005] "Account information" is data for managing user and staff profiles and authentication information.
[2006] "Generative AI models" refer to algorithms and machine learning models that use artificial intelligence to perform natural language processing, image recognition, and other tasks.
[2007] "Real-time" means that processing and response occur immediately at the moment the user makes a request.
[2008] The system of this invention allows staff at a brick-and-mortar restaurant to learn Japanese cuisine recipes, confirm cooking procedures, and share information among themselves. This system uses mobile devices such as smartphones and tablets as hardware and is built using a mobile app development framework (e.g., React Native or Flutter) as software. Firebase Authenticator and Firebase Firestore are used as servers.
[2009] 1. User authentication and profile management
[2010] User Registration
[2011] Staff access the member registration page of the smartphone application and enter authentication information such as name, email address, and password. The device sends this information to the server (Firebase Authenticator), which then generates an authentication token and returns it to the staff. This authentication token is a certificate that proves that the staff has the appropriate permissions and is stored in local storage.
[2012] User Login
[2013] A staff member accesses the login page and enters their registered email address and password. The device sends this authentication information to the server, which then checks the information against the database (Firebase Firestore). If authentication is successful, the server issues and returns a new token, allowing the staff member to access the system.
[2014] 2. Search and view recipes
[2015] Recipe Search
[2016] Staff enter keywords into the search bar in the app, e.g., "sushi." The device sends a request including the keyword to the server, which then searches the database for recipes based on the keyword and returns them. This allows staff to quickly obtain the recipe information they need.
[2017] Displaying search results
[2018] The device analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface, allowing staff to select dishes to serve based on this information.
[2019] 3. Step-by-step cooking guide
[2020] Recipe Selection
[2021] Staff members select a recipe they are interested in from the search results, and the device requests detailed information about the selected recipe from the server, which then returns the details, including the recipe's steps, ingredients, photos, and videos.
[2022] Viewing detailed information
[2023] The device analyzes the detailed information of the received recipe and displays it on the user interface, allowing staff to check the cooking instructions step by step and ensure accurate cooking.
[2024] 4. Substitute Ingredient Suggestion System
[2025] Request an alternative material
[2026] When a staff member requests information about substitute ingredients for a specific ingredient in a recipe, the terminal sends a request including the ingredient ID to the server, which retrieves and returns the substitute ingredient information for the corresponding ingredient from the database.
[2027] Displaying Alternative Material Information
[2028] The device analyzes the received information on alternative ingredients and displays it on the user interface, allowing staff to proceed with cooking using ingredients they have on hand.
[2029] 5. Community Features
[2030] Creating a Post
[2031] Staff members post photos of their own cooking along with comments. The devices send the posted images and comments to a server, which stores them in a database and shares them with other staff members.
[2032] Retrieving and Displaying Feeds
[2033] A staff member accesses the community page. The device sends a request to the server to retrieve the latest post feed. The server retrieves the latest posts from the database and returns them to the device. The device analyzes the received post feed and displays it on the user interface. This displays other staff members' cooking photos and comments in a timeline format, allowing staff members to rate and comment on them.
[2034] Specific examples of prompts for the generative AI model to use
[2035] For example, you could input the following prompt into a generative AI model:
[2036] "Generate recipes for Japanese cuisine. Please include detailed descriptions of ingredients and cooking steps. Please be as specific and clear as possible. Examples: sushi, tempura, udon."
[2037] Using this prompt, detailed recipe information can be captured from the generative AI model and used to create a recipe database that can be used by staff.
[2038] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[2039] Step 1: User Registration
[2040] A user launches the application on their smartphone, accesses the membership registration page, and enters authentication information such as their name, email address, and password. The device sends this information to the server (Firebase Authenticator). The server receives the authentication information, stores it in a database, generates an authentication token, and returns it to the device. This token is stored in local storage.
[2041] (Input: Name, Email, Password. Output: Authentication Token)
[2042] Step 2: User Login
[2043] The user accesses the login page and enters their registered email address and password. The device sends this authentication information to the server. The server compares the received information with the database, and if authentication is successful, it issues a new token and returns it to the device. This token is also stored in local storage.
[2044] (Input: email address, password. Output: new authentication token)
[2045] Step 3: Find a recipe
[2046] The user enters a keyword into the search bar within the app. For example, the keyword "sushi." The device sends a request including this keyword to the server. The server searches the database for relevant recipe information and returns the search results to the device. The device analyzes the results and displays the recipe title, photo, and brief description on the user interface.
[2047] (Input: Keywords. Output: Search results)
[2048] Step 4: Get recipe details
[2049] The user selects a specific recipe from the search results. The device requests detailed information about the selected recipe from the server. The server retrieves detailed information about the recipe, such as steps, ingredients, photos, and videos, from the database and returns it to the device. The device analyzes the information and displays it in the user interface.
[2050] (Input: Recipe ID. Output: Recipe details information)
[2051] Step 5: Step-by-step cooking guide
[2052] The user proceeds with the cooking process while viewing detailed information. The device displays each cooking step by step with images and videos, allowing the user to accurately cook the food while checking the cooking process.
[2053] (Input: Recipe details. Output: Step-by-step guide)
[2054] Step 6: Propose alternative materials
[2055] The user requests information about alternative ingredients for a specific ingredient. The device sends a request including the ingredient ID to the server. The server retrieves the alternative ingredient information from the database and returns it to the device. The device analyzes it and displays it on the user interface.
[2056] (Input: Ingredient ID. Output: Substitute ingredient information)
[2057] Step 7: Recipe generation using generative AI models
[2058] The user enters a prompt to generate a new recipe. For example, "Please generate a recipe for Japanese cuisine. Please include detailed information about ingredients and cooking steps. Please be as specific and easy to understand as possible. For example, sushi, tempura, and udon." The device sends this prompt to the generative AI model. The server uses the generative AI model to generate detailed recipe information and returns it to the device. The device saves and displays it.
[2059] (Input: prompt text. Output: generated recipe information)
[2060] Step 8: Community Posting
[2061] Users post photos of their own cooking and comments. The device sends the posted images and comments to the server, which stores them in a database. The stored information is displayed on a community page for other users to view.
[2062] (Input: images, comments. Output: community feed)
[2063] Step 9: Retrieve and display the community feed
[2064] A user accesses a community page. The device requests the latest posts from the server, and the server retrieves the latest posts from the database and returns them to the device. The device analyzes them and displays them in the user interface. The user can rate and comment on other users' posts.
[2065] (Input: None. Output: Latest Posts Feed)
[2066] 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.
[2067] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A detailed description of this system is provided below.
[2068] User authentication and profile management
[2069] User Registration
[2070] User: Visits the registration page and enters authentication information such as name, email address, and password.
[2071] Terminal: Sends a POST request containing the entered information to the server.
[2072] Server: Receives the request, stores the user information in a database, and if authentication is successful, generates an authentication token and returns it to the user.
[2073] Device: The received authentication token is stored in local storage and used for subsequent authentication.
[2074] User Login
[2075] User: Visit the login page and enter your registered email address and password.
[2076] Terminal: Sends a POST request to the server containing the entered authentication information.
[2077] Server: Receives the request, checks the user information against a database, and if authentication is successful, issues a new token and returns it to the user.
[2078] On the device: The received authentication token is stored in local storage.
[2079] Searching and viewing recipes
[2080] Recipe Search
[2081] User: Enter a keyword into the site's search bar (e.g., "sushi").
[2082] Device: Send a GET request containing the keyword to the server.
[2083] Server: Receives the request, searches the database for recipes based on the keywords, and returns the search results in JSON format to the device.
[2084] Device: Analyzes the received search results and displays the recipe title, photo, and brief description in the user interface.
[2085] Recipe Selection
[2086] User: Select the recipe that interests them from the search results.
[2087] Device: Send a GET request to the server containing the ID of the selected recipe.
[2088] Server: Receives the request, retrieves detailed information about the recipe (steps, ingredients, photos, videos) from the database, and returns it to the device in JSON format.
[2089] Terminal: Analyzes the received recipe information and displays it step by step on the user interface.
[2090] Substitute ingredient suggestion system
[2091] Request an alternative material
[2092] User: Request substitution information for a specific ingredient in a recipe.
[2093] Device: Send a GET request including the ingredient ID to the server.
[2094] Server: Receives the request, retrieves the substitute ingredient information for the corresponding ingredient from the database, and returns the substitute ingredient information to the terminal in JSON format.
[2095] Terminal: Analyzes the received alternative material information and displays it on the user interface.
[2096] Community Features
[2097] Creating a Post
[2098] User: Post photos of your own cooking and comments.
[2099] Terminal: Send a POST request to the server containing the posted image and comment.
[2100] Server: Receives the request, saves the post to the database, and returns status code 200 if the save was successful.
[2101] Retrieving and Displaying Feeds
[2102] Users: Visit the community page.
[2103] On your device: Send a GET request to the server to retrieve the latest posts feed.
[2104] Server: Receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[2105] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[2106] Emotion Engine
[2107] Emotion Recognition and Feedback
[2108] User: Posts and comments.
[2109] Device: Sends data, including posts and comments, to the server.
[2110] Server: Receives the data and the emotion engine recognizes the user's emotion. For example, it assigns an emotion label such as "joy" or "satisfied."
[2111] Server: Generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[2112] Terminal: Display feedback in the user interface.
[2113] Emotion-based recipe suggestions
[2114] User: Searches or browses for recipes on the site.
[2115] Device: Sends keywords and browsing history to the server.
[2116] Server: Receives the data and the emotion engine infers the user's emotions. For example, recommend challenging recipes to a "highly satisfied" user.
[2117] Server: Generates recommended recipe information and returns it to the device.
[2118] Device: Display recommended recipes in the user interface.
[2119] Sentiment analysis based on comments and ratings
[2120] Users: Comment and rate within the community.
[2121] Device: Send comments and ratings to the server.
[2122] Server: Receives the data and the emotion engine analyzes the user's emotions. For example, if there is a lot of positive feedback, it provides feedback that will motivate the user.
[2123] Server: Generates feedback based on the analysis results and returns it to the device.
[2124] Terminal: Display feedback in the user interface.
[2125] With these features, the platform of the present invention makes it easier for users to learn Japanese cuisine, deepens interactions with the community, and realizes a system that recognizes emotions and provides appropriate feedback, thereby improving the user experience and increasing the enjoyment of cooking.
[2126] The processing flow will be explained below.
[2127] Embodiment of Emotion Engine
[2128] Emotion Recognition and Feedback
[2129] Step 1:
[2130] A user posts and enters a comment.
[2131] Step 2:
[2132] The device sends data including posts and comments to the server.
[2133] Step 3:
[2134] The server receives the request and the emotion engine analyzes the user's posts and comments.
[2135] Step 4:
[2136] The emotion engine recognizes the user's emotions based on the analysis results (e.g., joy, satisfaction, empathy, etc. regarding the post).
[2137] Step 5:
[2138] The server generates an appropriate feedback message based on the perceived sentiment (e.g., "That's great!" or "Let's try harder next time!").
[2139] Step 6:
[2140] The server returns the generated feedback in JSON format to the device.
[2141] Step 7:
[2142] The terminal displays the received feedback on a user interface.
[2143] Emotion-based recipe suggestions
[2144] Step 1:
[2145] A user searches or browses for recipes on your site.
[2146] Step 2:
[2147] The device sends data including search keywords and browsing history to the server.
[2148] Step 3:
[2149] The server receives the request and the emotion engine analyzes keywords and browsing history.
[2150] Step 4:
[2151] The emotion engine infers the user's current emotion based on the analysis results (e.g., "highly satisfied").
[2152] Step 5:
[2153] The server selects an appropriate recipe based on the predictions made by the emotion engine (e.g., recommending a challenging recipe to a highly satisfied user).
[2154] Step 6:
[2155] The server returns the selected recipe information to the terminal in JSON format.
[2156] Step 7:
[2157] The terminal displays the received recipe information on a user interface.
[2158] Sentiment analysis based on comments and ratings
[2159] Step 1:
[2160] Users comment on and rate other users' posts within the community.
[2161] Step 2:
[2162] The device sends data including the content of the comments and ratings to the server.
[2163] Step 3:
[2164] The server receives the request and the emotion engine analyzes the comments and ratings.
[2165] Step 4:
[2166] The emotion engine recognizes the user's emotion based on the analysis results (e.g., positive, negative, neutral, etc.).
[2167] Step 5:
[2168] The server generates feedback based on the perceived sentiment (e.g., "Many users relate to your post").
[2169] Step 6:
[2170] The server returns the generated feedback in JSON format to the device.
[2171] Step 7:
[2172] The terminal displays the received feedback on a user interface.
[2173] These functions allow the platform of the present invention to utilize an emotion engine based on information gained in the process of users learning Japanese cuisine, and provide feedback and suggestions according to the user's emotions, improving the user experience and creating an environment in which cooking can be enjoyed.
[2174] Example 2
[2175] 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."
[2176] Conventional cooking learning systems often have separate functions for user authentication, recipe search, detailed display, alternative ingredient suggestions, and community posting, resulting in a lack of an integrated platform. Furthermore, they lack user emotion recognition and are unable to provide appropriate feedback to users, limiting the user experience. This creates challenges for users, resulting in an unsatisfactory experience in cooking learning and communication.
[2177] 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.
[2178] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, and means for performing emotion recognition on comments and posts entered by users and providing feedback. This allows users to perform a series of operations from authentication to emotion recognition feedback in an integrated manner on a single platform, thereby improving the experience of cooking learning and community participation.
[2179] "Authentication information" refers to personal identification information that a user enters when accessing a system, such as name, email address, and password.
[2180] An "authentication token" is a temporary digital certificate that is generated when a user logs into a system and is used to maintain authentication status.
[2181] "Search keywords" are words or phrases that a user enters when searching for specific information and are used to find related data within the system.
[2182] "Search results" are lists of relevant information returned by the system based on the keywords entered by the user, providing the information the user is looking for.
[2183] "More Info" is additional information provided about the particular item selected by the user, including recipe steps, ingredients, photos, videos, etc.
[2184] "Substitute ingredient information" refers to information about other ingredients that can be used to substitute for an ingredient required by a particular recipe if that ingredient is not available.
[2185] A "post" is content, including images and comments, that a user uploads through the community function within the system.
[2186] "Displaying within the community" refers to displaying content posted by a user in a shared space within the system so that other users can view it.
[2187] "Emotion recognition" is the process by which the system infers a user's emotions based on the comments and posts entered by the user, and assigns emotional labels such as "fun" or "satisfied."
[2188] "Feedback" is the response or message that a system gives back to a user in response to their actions or input, such as "That's great!" or "Let's try harder next time!"
[2189] The platform of the present invention is a system that allows users to learn cooking recipes, check cooking procedures, share information in a community, and also recognize users' emotions and provide feedback. A specific embodiment of this system is described below.
[2190] User authentication and profile management
[2191] For user authentication and profile management, the authentication information entered by the user is received and an authentication token is generated. Specifically, the user accesses the membership registration page and enters their name, email address, and password. The device sends the entered information to the server as a POST request. The server receives the request and saves the user information in a database (e.g., MySQL). If the authentication process is successful, the server generates a JWT token and returns it to the user. The device stores this token in local storage and uses it for future authentications.
[2192] Searching and viewing recipes
[2193] To search for recipes, a user enters keywords into the site's search bar. For example, if a user types "sushi," the device sends the keywords as a GET request to the server. The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format. The device then analyzes the results and displays the title, photo, and description in the user interface.
[2194] Substitute ingredient suggestion system
[2195] To suggest substitute ingredients, the user requests substitute ingredient information for a specific ingredient. The device sends the request to the server, which retrieves the substitute ingredient information from the database and returns it in JSON format. The device parses it and displays it in the user interface. For example, "apple vinegar" is suggested as a substitute for "vinegared rice."
[2196] Community Features
[2197] The community function allows users to post photos of their own cooking along with comments. The device sends the posted content to the server, which saves it in a database. If the save is successful, the server returns a status code of 200. On the community page, users can obtain a feed, view other users' posts in a timeline format, and rate and comment on them.
[2198] Emotion Engine
[2199] Emotion recognition and feedback analyzes comments posted by users to recognize their emotions. For example, in response to a comment such as "The whole family loves this recipe!", an emotion engine (e.g., Google Cloud Natural Language API) recognizes "joy." Based on this, the server generates feedback such as "That's great!" and returns it to the user.
[2200] Examples and prompts
[2201] User authentication example
[2202] On the new user registration page, Mr. Tanaka enters his name as "Ichiro Tanaka," his email address as "tanaka@example.com," and his password as "password123." The server then stores this information in the database and returns a JWT token to Mr. Tanaka.
[2203] Prompt Sentence Examples
[2204] Please explain the process for a user to register as a new user.
[2205] Emotion recognition and feedback examples
[2206] When Suzuki types "My whole family loves this recipe!" into a post, the emotion engine recognizes "joy" and generates and displays the feedback "That's great!"
[2207] Prompt Sentence Examples
[2208] Describe how your system performs emotion recognition and generates feedback when a user leaves a comment. Please specify the emotion engine used in this process.
[2209] As described above, the platform of the present invention provides an environment in which users can use various functions in an integrated manner on a single system, thereby resolving the problems of conventional cooking learning systems and community systems.
[2210] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2211] Step 1:
[2212] A user accesses the membership registration page and enters their name, email address, and password.
[2213] Input: Personally identifiable information entered by the user (e.g., name, email address, password)
[2214] What it does: Collects information entered through the user interface and prepares it in the form of a POST request.
[2215] Output: POST request with authentication information
[2216] Step 2:
[2217] The device sends a POST request to the server containing the entered authentication information.
[2218] Input: POST request with authentication information
[2219] What it does: Sends a POST request to the server via HTTP.
[2220] Output: The request sent to the server
[2221] Step 3:
[2222] The server receives the request and stores the user information in a database.
[2223] Input: Authentication information sent in the POST request
[2224] What it does: Executes a SQL query to store user information in a database (e.g. MySQL).
[2225] Output: A database containing user information
[2226] Step 4:
[2227] If the server is successful in authentication, it generates an authentication token (JWT) and returns it to the user.
[2228] Input: Database save success status
[2229] Behavior: Generates a JWT token and returns it as an HTTP response.
[2230] Output: Authentication token returned to the user
[2231] Step 5:
[2232] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[2233] Input: Authentication token returned by the server
[2234] What it does: Saves the token in local storage (e.g., browser localStorage).
[2235] Output: Authentication token stored in local storage
[2236] Step 6:
[2237] A user types a keyword into a search bar on your site (e.g., "sushi").
[2238] Input: The keyword the user types
[2239] What it does: Captures keywords entered in the user interface.
[2240] Output: A search request containing the search keyword.
[2241] Step 7:
[2242] The device sends a GET request containing the keyword to the server.
[2243] Input: The search keyword entered by the user
[2244] What it does: Sends a GET request to the server via HTTP.
[2245] Output: The request sent to the server
[2246] Step 8:
[2247] The server receives the request, searches the database for recipes based on the keywords, and returns the results in JSON format to the device.
[2248] Input: GET request containing search keywords
[2249] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[2250] Output: Search results in JSON format
[2251] Step 9:
[2252] The device analyzes the search results it receives and displays the title, photo, and brief description on the user interface.
[2253] Input: JSON format search results from the server
[2254] What it does: Parses JSON data and displays the results in HTML / CSS / JavaScript.
[2255] Output: Search results displayed in the user interface
[2256] Step 10:
[2257] The user selects the recipe of interest from the search results.
[2258] Input: User's recipe selection
[2259] Behavior: Gets the ID of the selected recipe.
[2260] Output: A request containing the selected recipe ID.
[2261] Step 11:
[2262] The device sends a GET request to the server containing the ID of the selected recipe.
[2263] Input: Selected recipe ID
[2264] What it does: Sends a GET request to the server via HTTP.
[2265] Output: The request sent to the server
[2266] Step 12:
[2267] The server receives the request, retrieves the recipe details (instructions, ingredients, photos, videos) from the database, and returns them to the device in JSON format.
[2268] Input: GET request containing a recipe ID
[2269] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[2270] Output: Detailed recipe information in JSON format
[2271] Step 13:
[2272] The terminal analyzes the received recipe details and displays them step by step on the user interface.
[2273] Input: JSON format recipe details from the server
[2274] How it works: Parses JSON data and displays instructions and ingredients using HTML / CSS / JavaScript.
[2275] Output: Detailed information displayed in the user interface
[2276] Step 14:
[2277] A user requests substitution information for a specific ingredient in a recipe.
[2278] Input: User's request for a substitute material
[2279] What it does: Gets the ID of the ingredient for which you want a substitution.
[2280] Output: Request containing ingredient ID
[2281] Step 15:
[2282] The device sends a GET request including the ingredient ID to the server.
[2283] Input: Ingredient ID for which you want to find a substitute
[2284] What it does: Sends a GET request to the server via HTTP.
[2285] Output: The request sent to the server
[2286] Step 16:
[2287] The server receives the request, retrieves information about alternative ingredients for the relevant ingredient from the database, and returns it to the terminal in JSON format.
[2288] Input: GET request containing ingredient ID
[2289] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[2290] Output: Alternative material information in JSON format
[2291] Step 17:
[2292] The terminal analyzes the received alternative material information and displays it on the user interface.
[2293] Input: Alternative material information in JSON format from the server
[2294] What it does: Parses JSON data and displays alternative ingredient information using HTML / CSS / JavaScript.
[2295] Output: Alternative material information displayed in the user interface
[2296] Step 18:
[2297] Users post photos of their own cooking along with comments.
[2298] Input: User's image and comment
[2299] Behavior: Prepares a POST request based on user interface input.
[2300] Output: POST request containing the post content
[2301] Step 19:
[2302] The device sends a POST request to the server containing the posted image and comment.
[2303] Input: POST request containing the post content
[2304] What it does: Sends a POST request to the server via HTTP.
[2305] Output: The request sent to the server
[2306] Step 20:
[2307] The server receives the request, saves the post to the database, and returns a status code of 200 if the save was successful.
[2308] Input: Post content sent via POST request
[2309] Behavior: Executes a SQL query to save to the database. Returns status code 200 if the save was successful.
[2310] Output: Status code for successful save
[2311] Step 21:
[2312] A user visits a community page and sends a GET request to retrieve a feed of the latest posts.
[2313] Input: Access to community page
[2314] What it does: Sends a GET request to the server via HTTP.
[2315] Output: The request sent to the server
[2316] Step 22:
[2317] The server receives the request, retrieves the latest posts from the database, and returns the post feed in JSON format to the device.
[2318] Input: GET request to retrieve posts feed
[2319] What it does: Executes a SQL query to search a database and converts the results to JSON format.
[2320] Output: Post feed in JSON format
[2321] Step 23:
[2322] The device analyzes the received post feed and displays it on the user interface. Other users' cooking photos and comments are displayed in a timeline format, and users can rate and comment on them.
[2323] Input: JSON-formatted posts feed from the server
[2324] What it does: Parses JSON data and displays the feed in HTML / CSS / JavaScript.
[2325] Output: Post feed displayed in the user interface
[2326] Step 24:
[2327] A user makes a post or enters a comment and sends it to the server.
[2328] Input: User posts and comments
[2329] What it does: Sends data, including posts and comments, to the server.
[2330] Output: Data sent to the server
[2331] Step 25:
[2332] The server receives the data and uses an emotion engine to recognize the user's emotions, assigning emotion labels such as "fun" or "satisfied."
[2333] Input: Data including posts and comments
[2334] What it does: Performs sentiment analysis using a sentiment engine (e.g., Google Cloud Natural Language API).
[2335] Output: Data after emotion labeling
[2336] Step 26:
[2337] The server generates feedback based on the recognized emotion and returns it to the user, such as "Great!" or "Better luck next time!"
[2338] Input: Data with emotion labels
[2339] What it does: Generates feedback text based on the recognized emotion and sends it to the device as an HTTP response.
[2340] Output: Feedback text
[2341] Step 27:
[2342] The terminal displays the feedback in the user interface.
[2343] Input: Feedback text from the server
[2344] What it does: Generates HTML / CSS / JavaScript to display the feedback text.
[2345] Output: Feedback text that is displayed in the user interface
[2346] (Application example 2)
[2347] 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."
[2348] Conventional recipe learning platforms have limited interactive feedback when users learn Japanese cooking procedures, execute cooking, and evaluate results. Furthermore, they have limited community features for improving cooking skills and functions for suggesting alternative ingredients, resulting in a suboptimal user experience. Furthermore, conventional systems lack the ability to provide feedback based on sentiment analysis of cooking results, leaving users without a means to appropriately improve their satisfaction.
[2349] 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.
[2350] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by the user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting alternative ingredients for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for a robot to cook and perform sentiment analysis of the cooking results, and means for generating feedback based on the sentiment analysis results and providing it to the user. This enables a user to learn Japanese recipes, cook, and receive emotional feedback based on the results, thereby effectively improving their cooking skills.
[2351] "Authentication Information" is the information a user provides when logging in or registering to a system, and typically includes a name, email address, password, etc.
[2352] An "authentication token" is a security token that is generated after a user is authenticated and is used to indicate that the user has been authenticated in subsequent requests.
[2353] "Search results" are a collection of information provided based on the keywords searched by the user, and typically include the recipe title, photo, and brief description.
[2354] "Detailed Information" is specific information related to the selected recipe, including cooking instructions, ingredients, photos, videos, etc.
[2355] "Alternative ingredient information" is information on alternative ingredients that are suggested when ingredients included in the original recipe are unavailable.
[2356] "Post" refers to the uploading of images and comments by a user to a community within the system.
[2357] The "means for displaying within the community" is a system element that allows other users to view a user's posts.
[2358] "Sentiment analysis" is the process of identifying emotional states based on user feedback and cooking results, analyzing text and image data and assigning emotional labels.
[2359] "Feedback" is a response message that the system generates based on the results of sentiment analysis, and can include praise for the user or suggestions for improvement.
[2360] The system of the present invention provides comprehensive support for Japanese cuisine, from learning recipes to cooking and providing feedback based on sentiment analysis. To realize this system, the following functions are implemented: user authentication, recipe search, detailed information provision, alternative ingredient suggestions, community functionality, sentiment analysis, and robotic cooking. A specific embodiment of this system is described below.
[2361] User authentication and profile management
[2362] The server receives the authentication information entered by the user and generates an authentication token, which allows users to have individual profiles and securely access the system. User registration and login forms are created on the front end (React), and Flask is used on the server side.
[2363] Searching and viewing recipes
[2364] The terminal sends the keyword entered by the user to the server, and the server searches for recipe data based on the keyword and provides the results. Similarly, to obtain detailed information, the terminal sends the selected recipe ID to the server and provides related detailed information.
[2365] Suggesting alternative ingredients
[2366] If the user does not have a particular ingredient, the server will suggest alternatives for that ingredient, allowing the user to continue cooking on the go. The ID of each ingredient is sent to the server via a GET request, and the server retrieves the alternative ingredient information.
[2367] Community Features
[2368] The server receives images and comments posted by users and displays them within the community. The device retrieves the latest posted feed and displays it on the interface. Other users can rate and comment on the images, promoting communication.
[2369] Emotion Recognition and Feedback
[2370] The server performs sentiment analysis based on the cooking results and user comments. Generative AI models such as TensorFlow / Keras are used for this sentiment analysis. Based on the obtained emotional data, the server generates appropriate feedback and provides it to the user. This improves user satisfaction and enriches the cooking experience.
[2371] Robot cooking function
[2372] The factory robot has the ability to cook food based on recipe information provided by the server. The cooking process and results are monitored in real time and used for sentiment analysis. This allows users to give cooking instructions and check the results even from remote locations.
[2373] Hardware and software used
[2374] The system of the present invention uses the following hardware and software:
[2375] Hardware: Tablets, smartphones, smart factory robots
[2376] Software: Python (Flask, TensorFlow / Keras), MySQL, React
[2377] Specific examples
[2378] A user logs into the system and searches for recipes using the keyword "sushi." From the search results, the user selects a "salmon sushi" recipe. Detailed information about the selected recipe is displayed, and if the user does not have salmon, the server will suggest alternatives such as "tuna" or "sea bream." The user then instructs the cooking robot to "cook salmon sushi," and the robot begins cooking. By photographing the cooking results and uploading them to the system, the server performs sentiment analysis and provides feedback such as "Excellent results! Let's keep it up next time!"
[2379] Here are some example prompts we tried:
[2380] "Perform sentiment analysis and generate feedback for the following Japanese recipe: Food photo: example_image.jpg Food evaluation comments: "It was very delicious!", "It was a little salty.""
[2381] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[2382] Program processing flow
[2383] Step 1: User authentication and profile management
[2384] The server receives the authentication information (name, email address, password) entered by the user and stores it in a database.
[2385] Input: The credentials the user enters (name, email address, password).
[2386] Output: Generates an authentication token and returns it to the user.
[2387] Specific operation: The server receives the POST request, saves the information in a MySQL database, and generates and returns an authentication token to the user, which the user can use for future authentications.
[2388] Step 2: Find and view recipes
[2389] The terminal transmits the keyword entered by the user to the server, and the server searches for recipe data based on the keyword.
[2390] Input: The keyword that the user types into the search bar.
[2391] Output: Search results for recipes based on keywords (title, photo, brief description) in JSON format.
[2392] Specific operation: The server receives a GET request, searches the database for recipes that match the keywords, and returns the results in JSON format. The device displays the received search results in the user interface.
[2393] Step 3: Get more information
[2394] The device sends the ID of the selected recipe to the server, which retrieves and returns detailed information (ingredients, steps, photos, videos).
[2395] Input: The ID of the recipe selected by the user.
[2396] Output: Returns detailed information about the recipe (ingredients, steps, photos, videos) in JSON format.
[2397] Specific operation: The server receives a GET request, retrieves detailed information about the recipe from the database, and returns it in JSON format. The device displays the detailed information step by step.
[2398] Step 4: Propose alternative materials
[2399] The server receives the ID of the ingredient selected by the user, retrieves the substitute ingredient information from the database, and returns it to the terminal.
[2400] Input: User-specified ingredient ID.
[2401] Output: Alternative material information is returned in JSON format.
[2402] Specific operation: The server receives a GET request, retrieves the alternative material information from the database, and returns it in JSON format. The terminal displays the alternative material information.
[2403] Step 5: Post to the community
[2404] The server receives the images and comments posted by users and stores them in a database.
[2405] Input: Images and comments posted by users.
[2406] Output: Saves the post to the database and returns a status code of 200.
[2407] Specific operation: The server receives the POST request, saves the posted information to the database, and returns status code 200 if the save is successful.
[2408] Step 6: Retrieving and Displaying the Posts Feed
[2409] The device requests the latest post feed from the server, and the server retrieves the latest posts from the database and returns them.
[2410] Enter: Visit the community page.
[2411] Output: Returns the latest posts feed in JSON format.
[2412] Specific operation: The server receives a GET request, retrieves the latest posts from the database, and returns them in JSON format. The device displays the post feed in a timeline format.
[2413] Step 7: Sentiment analysis and feedback
[2414] The server receives the user's cooking results and comments, analyzes them using an emotion engine, and generates feedback based on the results and returns it to the user.
[2415] Input: User's cooking result image and comments.
[2416] Output: Sentiment analysis results and feedback based on them.
[2417] Specific operation: The server receives a POST request, performs sentiment analysis using TensorFlow / Keras, generates feedback based on the obtained sentiment data, and returns it to the user.
[2418] Step 8: Let the robot cook
[2419] The terminal sends recipe information from the server to the robot, and the robot cooks based on that information.
[2420] Input: Recipe information provided by the server.
[2421] Output: The food after cooking is complete.
[2422] Specific operation: The server sends recipe information to the robot, which then cooks the food based on that information. The cooking progress and results are monitored on the terminal.
[2423] 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.
[2424] 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.
[2425] 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.
[2426] [Fourth embodiment]
[2427] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[2428] 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.
[2429] 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).
[2430] 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.
[2431] 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.
[2432] 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).
[2433] 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.
[2434] 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.
[2435] 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.
[2436] 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.
[2437] 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.
[2438] 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.
[2439] 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."
[2440] The platform of the present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. A detailed description of this system is provided below.
[2441] User authentication and profile management
[2442] User Registration
[2443] User: Visits the registration page and enters authentication information such as name, email address, and password.
[2444] Terminal: Sends the entered information to the server. The server receives this information and processes it by storing it in a database. If authentication is successful, the server generates an authentication token and returns it to the user.
[2445] User Login
[2446] User: Visit the login page and enter your registered email address and password.
[2447] Terminal: The entered authentication information is sent to the server, which checks the user information against its database and, if authentication is successful, issues a new token and returns it to the user.
[2448] Searching and viewing recipes
[2449] Recipe Search
[2450] User: Enter a keyword into the site's search bar (e.g., "sushi").
[2451] Device: Sends a request containing keywords to the server, which searches the database for recipes based on the keywords and returns the search results.
[2452] Displaying search results
[2453] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface.
[2454] Step-by-step cooking guide
[2455] Recipe Selection
[2456] User: Select the recipe that interests them from the search results.
[2457] Device: Requests detailed information about the selected recipe from the server, which retrieves and returns details from the database, including recipe steps, ingredients, photos, and videos.
[2458] Viewing detailed information
[2459] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[2460] Substitute ingredient suggestion system
[2461] Request an alternative material
[2462] User: Request substitution information for a specific ingredient in a recipe.
[2463] Terminal: Sends a request including an ingredient ID to the server. The server retrieves and returns information on alternative ingredients for the corresponding ingredient from the database.
[2464] Displaying Alternative Material Information
[2465] Device: Analyzes the received information on alternative ingredients and displays it on the user interface, allowing the user to proceed with cooking using ingredients they have on hand.
[2466] Community Features
[2467] Creating a Post
[2468] User: Post photos of your own cooking and comments.
[2469] Device: Posted images and comments are sent to the server, which stores them in a database and shares them with other users.
[2470] Retrieving and Displaying Feeds
[2471] Users: Visit the community page.
[2472] Device: Sends a request to the server to get the latest posts feed. The server retrieves the latest posts from the database and returns them to the device.
[2473] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[2474] With these functions, the platform of the present invention allows users to easily learn Japanese cuisine, share various information, and receive feedback from other users, thereby expanding the enjoyment of cooking and providing a system that promotes interaction between users.
[2475] The processing flow will be explained below.
[2476] User authentication and profile management
[2477] User Registration
[2478] Step 1:
[2479] A user accesses the membership registration page and enters their name, email address, and password.
[2480] Step 2:
[2481] The terminal sends a POST request containing the entered information to the server.
[2482] Step 3:
[2483] The server receives the request and stores the user information in a database.
[2484] Step 4:
[2485] If the server successfully saves the user information, it generates an authentication token and returns it to the user.
[2486] Step 5:
[2487] The authentication token received by the device is stored in local storage and used for subsequent authentication.
[2488] User Login
[2489] Step 1:
[2490] The user accesses the login page and enters their registered email address and password.
[2491] Step 2:
[2492] The device sends a POST request to the server containing the entered authentication information.
[2493] Step 3:
[2494] The server receives the request and checks the user information against a database.
[2495] Step 4:
[2496] If the authentication is successful, the server issues a new token and returns it to the user.
[2497] Step 5:
[2498] The device stores the received authentication token in local storage.
[2499] Searching and viewing recipes
[2500] Recipe Search
[2501] Step 1:
[2502] A user enters a keyword (e.g., "sushi") into a search bar on your site.
[2503] Step 2:
[2504] The device sends a GET request containing the keyword to the server.
[2505] Step 3:
[2506] The server receives the request and searches a database for recipes based on the keywords.
[2507] Step 4:
[2508] The server returns the search results to the device in JSON format.
[2509] Step 5:
[2510] The terminal analyzes the received search results and displays the recipe title, photo, and brief description on the user interface.
[2511] Step-by-step cooking guide
[2512] Recipe Selection
[2513] Step 1:
[2514] The user selects the recipe of interest from the search results.
[2515] Step 2:
[2516] The device sends a GET request to the server containing the ID of the selected recipe.
[2517] Step 3:
[2518] The server receives the request and retrieves the details of the recipe (instructions, ingredients, photos, videos) from the database.
[2519] Step 4:
[2520] The server returns detailed recipe information to the terminal in JSON format.
[2521] Step 5:
[2522] The terminal analyzes the received recipe information and displays it step by step on the user interface.
[2523] Substitute ingredient suggestion system
[2524] Request an alternative material
[2525] Step 1:
[2526] A user requests substitution information for a specific ingredient in a recipe.
[2527] Step 2:
[2528] The device sends a GET request to the server containing the ID of the selected ingredient.
[2529] Step 3:
[2530] The server receives the request and retrieves information on substitute ingredients for the relevant ingredient from the database.
[2531] Step 4:
[2532] The server returns the alternative material information to the terminal in JSON format.
[2533] Step 5:
[2534] The terminal analyzes the received alternative material information and displays it on the user interface.
[2535] Community Features
[2536] Creating a Post
[2537] Step 1:
[2538] Users enter photos of their own cooking and comments.
[2539] Step 2:
[2540] The device sends a POST request including the entered photo data and comments to the server.
[2541] Step 3:
[2542] The server receives the request and saves the post in a database.
[2543] Step 4:
[2544] The server returns status code 200 indicating the save was successful.
[2545] Retrieving and Displaying Feeds
[2546] Step 1:
[2547] A user visits a community page.
[2548] Step 2:
[2549] The device sends a GET request to the server to retrieve the latest post feed.
[2550] Step 3:
[2551] The server receives the request and retrieves the latest posts from the database.
[2552] Step 4:
[2553] The server returns the post feed to the device in JSON format.
[2554] Step 5:
[2555] The terminal analyzes the received post feed and displays it on the user interface.
[2556] Example 1
[2557] 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."
[2558] Conventional recipe websites and cooking applications make it difficult for users to effectively learn Japanese cooking recipes, especially for beginners, as the detailed steps and ingredients are difficult to understand. Furthermore, the lack of suggestions for alternative ingredients and the lack of interaction between users can reduce the enjoyment of cooking and potentially lower motivation to learn. There is a need for a system that addresses these issues and allows users to learn Japanese cooking more easily and enjoyably.
[2559] 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.
[2560] In this invention, the server includes a means for receiving authentication information entered by a user and generating an authentication token, a means for receiving search terms searched by the user and providing search results, and a means for acquiring and providing detailed information corresponding to the selected cooking instruction. This allows a user to access the system after authentication, search for recipes using the search function, and check the details. The server also includes a means for suggesting alternative ingredients for ingredients included in the cooking instruction and a means for receiving images and comments posted by users and displaying them among co-users, promoting interaction between users and enabling cooking using alternative ingredients.
[2561] "Authentication information" is the information a user needs to access a system, and typically includes a name, email address, and password.
[2562] An "authentication token" is a string of data generated by a server to indicate that a user has been properly authenticated, allowing continued access.
[2563] A "search word" is a word or phrase that a user enters to locate specific information within the system.
[2564] "Search results" are a set of information or data provided by the system based on the search words entered by the user.
[2565] "Cooking Instructions" are detailed instructions about the steps and ingredients for making a particular dish, allowing users to learn how to cook.
[2566] "Detailed information" includes information such as specific steps, ingredients, photos and videos related to cooking instruction.
[2567] "Ingredients" refers to the ingredients and materials used in cooking.
[2568] "Substitute ingredient information" is information about other ingredients that can be used when a specific ingredient is not available or when you want to change it.
[2569] "Images" are visual data such as photos and illustrations of food that users post to the system.
[2570] A "comment" is a text message posted by a user to the system, and includes evaluations and impressions of other users.
[2571] "Joint users" are multiple users of the system who aim to exchange information and opinions with each other.
[2572] The present invention is a system that allows users to learn Japanese recipes, check cooking procedures, and share information in a community. This system is realized by a combination of hardware and software.
[2573] User authentication and profile management
[2574] User Registration
[2575] User: Access the membership registration page and enter your name, email address, and password.
[2576] Terminal: Sends the entered authentication information to the server.
[2577] Server: Stores the received information in a database, and if storage is successful, generates an authentication token and returns it to the user via the terminal.
[2578] Example: "On the user registration page, enter the name "Yamada Taro" and the email address "taro@example.com" and press the member registration button."
[2579] User Login
[2580] User: Visit the login page and enter your registered email address and password.
[2581] Terminal: Sends input information to the server.
[2582] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[2583] Example: "Enter your email address 'taro@example.com' and password on the login page and press the login button."
[2584] Searching and viewing recipes
[2585] Recipe Search
[2586] User: Enter a keyword into the site's search bar (e.g., "sushi").
[2587] Device: Send a request containing the keyword to the server.
[2588] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[2589] Example: "Type 'sushi' into the search bar and press the search button."
[2590] Displaying search results
[2591] Terminal: Analyzes the search results received from the server and displays the recipe title, photo, and summary in the user interface.
[2592] Example: "Display 'Tuna sushi' from the list of search results."
[2593] Step-by-step cooking guide
[2594] Recipe Selection
[2595] User: Select the recipe that interests them from the search results.
[2596] Terminal: Requests detailed information about the selected recipe from the server.
[2597] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[2598] Example: "Select 'Tuna Sushi' from the search results and view detailed information."
[2599] Viewing detailed information
[2600] Device: Analyzes the received recipe details and displays them in a user interface, allowing users to follow step-by-step cooking instructions.
[2601] Example: "Proceed with cooking while viewing the detailed recipe for 'Tuna Sushi'."
[2602] Substitute ingredient suggestion system
[2603] Request an alternative material
[2604] User: Request substitution information for a specific ingredient in a recipe.
[2605] Device: Sends a request including the ingredient ID to the server.
[2606] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[2607] Example: "Request a substitution for 'tuna' in the recipe for 'tuna sushi'."
[2608] Displaying Alternative Material Information
[2609] Terminal: Analyzes the alternative ingredient information received from the server and displays it on the user interface, allowing the user to proceed with cooking using the ingredients they have on hand.
[2610] Example: "Make sure you can use 'salmon' or 'bonito' instead of 'tuna'."
[2611] Community Features
[2612] Creating a Post
[2613] User: Post photos of your own cooking and comments.
[2614] Device: Sends posted images and comments to the server.
[2615] Server: Stores the received data in a database and shares it with other users.
[2616] Example: "Post a photo of the tuna sushi you made and a comment."
[2617] Retrieving and Displaying Feeds
[2618] Users: Visit the community page.
[2619] On your device: Sends a request to the server to get a feed of the latest posts.
[2620] Server: Gets the latest posts from the database and returns them to the device.
[2621] Device: Analyzes the received post feed and displays it in the user interface. It displays other users' cooking photos and comments in a timeline format, allowing users to rate and comment.
[2622] Example: "Look at another user's 'grilled fish' post on the community page and click 'Like'."
[2623] With these features, the system of the present invention allows users to learn Japanese cuisine, share recipes and information with other users, receive feedback, and enjoy cooking. It also increases the variety and accessibility of cooking by suggesting alternative ingredients and providing step-by-step guides.
[2624] The flow of the identification process in the first embodiment will be described with reference to FIG.
[2625] User authentication and profile management
[2626] User Registration
[2627] Step 1:
[2628] User: Access the membership registration page and enter your name, email address, and password.
[2629] Specific actions: Open the membership registration form in your browser and enter the required information.
[2630] Input: Name, Email Address, Password
[2631] Output: The input information is displayed in the form
[2632] Step 2:
[2633] Terminal: Sends the entered authentication information to the server.
[2634] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[2635] Input: Form data
[2636] Output: POST request to the server
[2637] Step 3:
[2638] Server: Stores the received information in a database and generates an authentication token if the storage is successful.
[2639] Specific operation: The server stores the received data in a database and generates a UUID (a unique identifier specific to the namespace).
[2640] Input: Form data
[2641] Output: UUID (auth token)
[2642] Step 4:
[2643] Server: Returns the generated authentication token to the device.
[2644] Specific operation: The server responds by sending an authentication token to the device.
[2645] Input: UUID (authentication token)
[2646] Output: Response message on the terminal
[2647] User Login
[2648] Step 1:
[2649] User: Visit the login page and enter your registered email address and password.
[2650] Specific behavior: Open the login form in your browser and enter your email address and password.
[2651] Input: Email address, Password
[2652] Output: The input information is displayed in the form
[2653] Step 2:
[2654] Terminal: Sends input information to the server.
[2655] What happens: When you click the submit button on the form, the data is sent to the server as a POST request.
[2656] Input: Form data
[2657] Output: POST request to the server
[2658] Step 3:
[2659] Server: Checks the user information in the database, and if it matches, issues a new authentication token and returns it to the device.
[2660] What happens: The server queries the database, verifies that the credentials match, and generates a new UUID.
[2661] Input: Form data
[2662] Output: New UUID (auth token)
[2663] Searching and viewing recipes
[2664] Recipe Search
[2665] Step 1:
[2666] User: Enter a keyword into the site's search bar (e.g., "sushi").
[2667] Specific action: Enter a keyword into the search bar in your browser.
[2668] Input: Keyword (e.g. "sushi")
[2669] Output: The entered keyword will be displayed in the search bar.
[2670] Step 2:
[2671] Device: Send a request containing the keyword to the server.
[2672] Specific behavior: When you click the search button, a GET request containing the keywords is sent to the server.
[2673] Input: Keyword (e.g. "sushi")
[2674] Output: GET request containing keyword
[2675] Step 3:
[2676] Server: Searches the database for recipes based on keywords and returns the search results to the device.
[2677] Specific operation: The server queries the database and retrieves the relevant recipe information.
[2678] Input: Keyword (e.g. "sushi")
[2679] Output: Search results (recipe list)
[2680] Displaying search results
[2681] Step 1:
[2682] Terminal: Analyzes the search results received from the server.
[2683] Specific operation: Parses search results in JSON or XML format and extracts the required data.
[2684] Input: Search results (recipe list)
[2685] Output: Parsed data
[2686] Step 2:
[2687] Terminal: Display search results in a user interface.
[2688] Specific operation: Display using HTML and CSS based on the analyzed data.
[2689] Input: Parsed data
[2690] Output: Search results are displayed on the screen
[2691] Step-by-step cooking guide
[2692] Recipe Selection
[2693] Step 1:
[2694] User: Select the recipe that interests them from the search results.
[2695] Specific Action: Click or tap to select a recipe from the search results list.
[2696] Input: Search results (recipe list)
[2697] Output: Selected recipe ID
[2698] Step 2:
[2699] Terminal: Requests detailed information about the selected recipe from the server.
[2700] Specific behavior: Sends a request containing the selected recipe ID to the server.
[2701] Input: Recipe ID
[2702] Output: GET request with recipe ID
[2703] Step 3:
[2704] Server: Retrieves detailed information about the relevant recipe from the database and returns it to the device.
[2705] What happens next: The server executes a database query to retrieve more information.
[2706] Input: Recipe ID
[2707] Output: Recipe details
[2708] Viewing detailed information
[2709] Step 1:
[2710] Terminal: Analyzes the detailed recipe information received from the server.
[2711] Specific behavior: Parses data in JSON or XML format and extracts cooking instructions and ingredients.
[2712] Input: Recipe details
[2713] Output: Parsed details
[2714] Step 2:
[2715] Terminal: Display the analyzed information in the user interface.
[2716] Specific operation: Based on the analyzed information, a step-by-step display is performed using HTML and CSS.
[2717] Input: Parsed details
[2718] Output: Detailed information is displayed on the screen
[2719] Substitute ingredient suggestion system
[2720] Request an alternative material
[2721] Step 1:
[2722] User: Request substitution information for a specific ingredient in a recipe.
[2723] What it does: Select a specific ingredient on the recipe details page and make a substitution request.
[2724] Input: Ingredient ID
[2725] Output: Substitute material request
[2726] Step 2:
[2727] Device: Sends a request including the ingredient ID to the server.
[2728] What happens next: A request is sent to the server.
[2729] Input: Ingredient ID
[2730] Output: GET request with ingredient ID
[2731] Step 3:
[2732] Server: Obtains information on alternative ingredients for the relevant ingredients from the database and returns it to the device.
[2733] Specific Behavior: Executes a database query to retrieve alternative material information.
[2734] Input: Ingredient ID
[2735] Output: Alternative material information
[2736] Displaying Alternative Material Information
[2737] Step 1:
[2738] Terminal: Analyzes the alternative material information received from the server.
[2739] Specific behavior: Parses alternative material information in JSON or XML format.
[2740] Input: Alternative material information
[2741] Output: Analyzed alternative material information
[2742] Step 2:
[2743] Terminal: Display the analyzed information in the user interface.
[2744] Specific operation: Display using HTML and CSS based on alternative material information.
[2745] Input: Analyzed alternative material information
[2746] Output: Alternative material information is displayed on the screen
[2747] Community Features
[2748] Creating a Post
[2749] Step 1:
[2750] User: Post photos of your own cooking and comments.
[2751] Specific actions: Upload a photo and enter a comment.
[2752] Input: Image file, comment
[2753] Output: The submission is displayed in the form
[2754] Step 2:
[2755] Terminal: Sends the post to the server.
[2756] Specific behavior: Click the submit button and the data is sent to the server.
[2757] Input: Image file, comment
[2758] Output: POST request to the server
[2759] Step 3:
[2760] Server: Saves the submitted data in a database and shares it with other users.
[2761] Specific operation: Save image files and comments to the database and set sharing settings.
[2762] Input: Image file, comment
[2763] Output: New record in the database
[2764] Retrieving and Displaying Feeds
[2765] Step 1:
[2766] Users: Visit the community page.
[2767] Specific Action: Opens the community page.
[2768] Input: page access
[2769] Output: Page request
[2770] Step 2:
[2771] On your device: Send a request to the server for a feed of the latest posts.
[2772] Specific behavior: Sends a feed request to the server.
[2773] Input: Feed request
[2774] Output: GET request to the server
[2775] Step 3:
[2776] Server: Gets the latest posts from the database and returns them to the device.
[2777] What it does: Executes a database query to get the latest posts.
[2778] Input: Feed request
[2779] Output: Latest Posts feed
[2780] Step 4:
[2781] Terminal: Parses the received feed and displays it in a user interface.
[2782] Specific behavior: Parses feed data in JSON or XML format and extracts the required data.
[2783] Input: Latest Posts Feed
[2784] Output: Parsed data
[2785] Step 5:
[2786] On your device: Displays a feed of posts in a timeline format, allowing users to rate and comment.
[2787] Specific operation: Uses HTML and CSS to display feed data in a timeline format, and adds rating and comment functions.
[2788] Input: Parsed data
[2789] Output: Feed displayed in timeline format
[2790] This allows the system of the present invention to enable users to learn Japanese cuisine, share recipes and information with other users, and enjoy cooking while receiving feedback.
[2791] (Application example 1)
[2792] 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."
[2793] In conventional recipe learning systems, it is difficult for users to check cooking steps in real time or receive suggestions for substitute ingredients. Furthermore, in brick-and-mortar stores, information sharing and feedback between staff members is not effectively carried out, which can lead to a decline in cooking efficiency and quality. The present invention aims to solve these problems.
[2794] 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.
[2795] In this invention, the server includes means for receiving authentication information entered by a user and generating an authentication token, means for receiving keywords searched by a user and providing search results, means for acquiring and providing detailed information corresponding to a selected recipe, means for suggesting substitute ingredient information for ingredients included in the recipe, means for receiving images and comments posted by users and displaying them within the community, means for staff at a physical store to manage account information and check recipe searches and step-by-step cooking procedures, and means for acquiring detailed recipe information using a generative AI model and suggesting substitute ingredients. This allows users to check cooking procedures and receive suggestions for substitute ingredients in real time, enabling effective information sharing and feedback between staff at a physical store.
[2796] "Authentication information" refers to information such as a name, email address, and password that a user enters when accessing a system.
[2797] An "authentication token" is a digital certificate that indicates that a user has been properly authenticated and is used to maintain a session.
[2798] A "keyword" is a specific word or phrase that a user enters when searching for information such as a recipe.
[2799] "Search results" are a list of related recipes and information returned by the system based on the keywords entered by the user.
[2800] "Detailed information" refers to specific information related to the selected recipe, such as cooking instructions, ingredients, photos, and videos.
[2801] "Alternative ingredient information" is information about other ingredients that can be used when a specific ingredient is unavailable.
[2802] "Images and comments" refers to photos of food posted by users to the community, along with their descriptions and comments.
[2803] The "means for displaying within the community" refers to a method or function for displaying images and comments posted by users on a community page so that other users can view them.
[2804] "Brick and mortar store" refers to a physical establishment such as a grocery store or restaurant, especially one that includes a kitchen.
[2805] "Staff" refers to employees and cooks working in physical stores.
[2806] "Account information" is data for managing user and staff profiles and authentication information.
[2807] "Generative AI models" refer to algorithms and machine learning models that use artificial intelligence to perform natural language processing, image recognition, and other tasks.
[2808] "Real-time" means that processing and response occur immediately at the moment the user makes a request.
[2809] The system of this invention allows staff at a brick-and-mortar restaurant to learn Japanese cuisine recipes, confirm cooking procedures, and share information among themselves. This system uses mobile devices such as smartphones and tablets as hardware and is built using a mobile app development framework (e.g., React Native or Flutter) as software. Firebase Authenticator and Firebase Firestore are used as servers.
[2810] 1. User authentication and profile management
[2811] User Registration
[2812] Staff access the member registration page of the smartphone application and enter authentication information such as name, email address, and password. The device sends this information to the server (Firebase Authenticator), which then generates an authentication token and returns it to the staff. This authentication token is a certificate that proves that the staff has the appropriate permissions and is stored in local storage.
[2813] User Login
[2814] A staff member accesses the login page and enters their registered email address and password. The device sends this authentication information to the server, which then checks the information against the database (Firebase Firestore). If authentication is successful, the server issues and returns a new token, allowing the staff member to access the system.
[2815] 2. Search and view recipes
[2816] Recipe Search
[2817] Staff enter keywords into the search bar in the app, e.g., "sushi." The device sends a request including the keyword to the server, which then searches the database for recipes based on the keyword and returns them. This allows staff to quickly obtain the recipe information they need.
[2818] Displaying search results
[2819] The device analyzes the search results received from the server and displays the recipe title, photo, and brief description on the user interface, allowing staff to select dishes to serve based on this information.
[2820] 3. Step-by-step cooking guide
[2821] Recipe Selection
[2822] Staff members select a recipe they are interested in from the search results, and the device requests detailed information about the selected recipe from the server, which then returns the details, including the recipe's steps, ingredients, photos, and videos.
[2823] Viewing detailed information
[2824] The device analyzes the detailed information of the received recipe and displays it on the user interface, allowing staff to check the cooking instructions step by step and ensure accurate cooking.
[2825] 4. Substitute Ingredient Suggestion System
[2826] Request an alternative material
[2827] When a staff member requests information about substitute ingredients for a specific ingredient in a recipe, the terminal sends a request ...
Claims
1. means for receiving authentication information entered by a user and generating an authentication token; A means for receiving keywords searched by a user and providing search results; means for obtaining and providing detailed information corresponding to a selected recipe; A means for suggesting substitute ingredient information for ingredients included in a recipe; A means for receiving images and comments posted by users and displaying them within the community; A system including:
2. 10. The system of claim 1, further comprising means for providing step-by-step cooking instructions for each recipe, along with images and videos.
3. The system according to claim 1, further comprising means for rating or commenting on images and comments posted by other users.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A