Dish recommendation method suitable for ordering system
By creating user preference portraits in the ordering system and optimizing dish recommendations with health data, the problem of not being able to actively recommend dishes in the existing technology is solved, and user experience and ordering satisfaction are improved.
Patent Information
- Application Number
- CN202411147317.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-01
- Filing Date
- 2024-08-20
- Publication Date
- 2024-12-13
AI Technical Summary
The existing ordering system is unable to actively recommend dishes to users, which makes it difficult for users to order without understanding the restaurant dishes. The passive recommendation error rate is high and the user experience is poor.
By receiving user preference data, creating user preference portraits, optimizing recommendations based on historical ordering data, combining default recommendation rules and health data to recommend dishes, and providing warnings for excessive standards and tasting functions.
It improves the user experience and stickiness, and the recommended dishes meet users' tastes and health needs, reduces the misjudgment rate, and improves users' satisfaction with ordering.
Smart Images

Figure CN119130580A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of meal ordering management, and in particular relates to a dish recommendation method applicable to a meal ordering system. Background Art
[0002] At present, the information technology development in the field of ordering food is becoming more and more mature, especially the use scenarios based on the interconnection between restaurants and clients are becoming more and more diverse. However, most of the existing ordering systems require users to actively place orders, and cannot actively recommend dishes to users. When customers do not know the dishes of a restaurant, it becomes difficult to place an order.
[0003] Chinese patent document publication number CN109390045A discloses a healthy dish recommendation system with balanced nutrition within a set time, including a dish recommendation system, the dish recommendation system includes a user login system, an information entry system, an Internet of Things access system, a central processing system and a dish selection system, the information entry system is used for users to enter basic information, the Internet of Things access system is used to input the nutritional profile and dietary therapy methods of dishes into the dish recommendation system through the Internet of Things, the central processing system is used to interpret instructions and data processing, and the dish selection system is provided with a time period setting system, and can cooperate with the time period setting system to provide dish suggestions for users in a specific age stage or time stage. However, the above system adopts a passive recommendation method, and it is necessary to complete the recommendation of dishes based on the nutritional profile and dietary therapy methods entered in advance by the user. This passive recommendation has a high probability of misjudgment, which is easy to cause users to abandon it, and the user experience is poor. Summary of the invention
[0004] In view of the defects in the prior art, the present invention provides a dish recommendation method suitable for a food ordering system to improve user experience.
[0005] A dish recommendation method applicable to a food ordering system, comprising:
[0006] When receiving a user's ordering instruction, determining whether there is user preference data;
[0007] If it does not exist, recommend dishes to the user according to the default recommendation rules;
[0008] If available, recommend dishes to the user based on preference data;
[0009] When receiving the user's instruction to end ordering, the user's ordering data is associated with the user; and the preference data is optimized according to the user's historical ordering data.
[0010] Furthermore, recommending dishes to users according to the default recommendation rules specifically includes:
[0011] Receive basic data of users' likes, moderate likes, and dislikes; the dimensions of the basic data include at least one of ingredient list, taste preference, processing method, sauce, preparation method, dish form, doneness, and ingested food form;
[0012] Create a portrait pool containing multiple dimensions of user preference portraits based on basic data;
[0013] Get the dish portraits of each dish in the restaurant;
[0014] Match the dish portraits with the portrait pool respectively;
[0015] Recommend dishes with high matching degree to users.
[0016] Furthermore, the portrait pool contains user preference portraits in 8 dimensions; the 8 dimensions are ingredient list, taste preference, processing method, sauce, preparation method, dish form, doneness, and food intake form; the user preference portrait in each dimension has 5 levels: the first level is created based on the basic data that the user likes the first percentage, the second level is created based on the basic data that the user likes the second percentage, the third level is created based on the basic data that the user likes the third percentage, the fourth level is created based on the basic data that the user likes the fourth percentage, and the fifth level is created based on the basic data that the user likes the fifth percentage; the likes decrease from the first percentage to the fifth percentage.
[0017] Furthermore, optimizing preference data based on the user's historical ordering data specifically includes:
[0018] Define the profile pool as preference data;
[0019] In the user's historical ordering data, when only one feature of a dish does not exist in the user's portrait pool, the matching degree of other features of the dish is obtained; when the matching degrees of other features are greater than a preset threshold, the matching degree of the feature that does not exist in the user's portrait pool is defined as the first level;
[0020] In the user's historical ordering data, when multiple features of a dish do not exist in the user's portrait pool, the matching degree of all features that do not exist in the user's portrait pool is defined as the third level;
[0021] In the user's historical ordering data, when a dish is a favorite of the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is increased to the second level;
[0022] In the user's historical ordering data, when a dish is not liked by the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is lowered to the fourth level;
[0023] In the user's historical ordering data, when a dish is a favorite of the user, the number of times the user likes all the features of the dish in the user's preference portrait is increased by 1; when the number of times the user likes a feature in the user's preference portrait is greater than N, the matching degree of the feature in the user's preference portrait is increased by one level, where N is an integer;
[0024] In the user's historical ordering data, when a dish is not liked by the user, the number of times the user dislikes all features of the dish in the user's preference portrait is increased by 1; when the number of times the user dislikes a feature in the user's preference portrait is greater than N, the matching degree of the feature in the user's preference portrait is lowered by one level.
[0025] Furthermore, it also includes:
[0026] After the user finishes eating, an evaluation task is generated that includes all the dishes served.
[0027] When feedback information from the user regarding the evaluation task is received, the dishes liked in the feedback information are defined as dishes liked by the user, and the dishes not liked in the feedback information are defined as dishes not liked by the user.
[0028] Furthermore, the ordering data is associated with the user through the user ID;
[0029] The user ID is obtained by associating a mobile phone number, facial information, finger vein information, fingerprint information or a password.
[0030] Furthermore, after optimizing the preference data according to the user's historical ordering data, the method further includes:
[0031] Receive user’s health data;
[0032] Use health data to correct preference data and eliminate preferences that are harmful to users.
[0033] Furthermore, after recommending dishes to the user, the method further includes:
[0034] Create a user's nutrient element threshold table based on the user's basic data and health data; the nutrient element threshold table includes upper limit thresholds of the content of multiple nutrient elements;
[0035] After obtaining the dishes recommended to the user, the content of all nutritional elements in the dishes is obtained according to the ingredient list of the dishes;
[0036] When the content of a nutrient element in a dish is greater than the upper limit threshold of the corresponding nutrient element in the nutrient element threshold table, an over-limit warning is issued.
[0037] Furthermore, recommending dishes to users specifically includes:
[0038] Receive users' requests for new experiences;
[0039] Recommend dishes to users based on their taste for new items and default recommendation rules, or recommend dishes to users based on their taste for new items and preference data.
[0040] Furthermore, the method further comprises:
[0041] When receiving a login instruction from a user and there is user preference data, recommending a merchant to the user based on the preference data;
[0042] Receive the user's dish reservation data and make a reservation for the merchant's dishes.
[0043] Furthermore, the method further comprises:
[0044] Receive the user's remote reservation data; the remote reservation data includes the merchant, the reserved dish information, and the pick-up point;
[0045] Send remote reservation data to merchants so that they can prepare the goods according to the reserved dishes;
[0046] The raw material reservation information is generated according to the reserved dish information, and the raw material reservation information is sent to the supplier.
[0047] It can be seen from the above technical scheme that the dish recommendation method suitable for the ordering system provided by the present invention can generate user preference data based on the user's ordering data, and recommend dishes that meet the user's taste, health, etc. based on the preference data, thereby improving the user experience and user stickiness. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for the specific embodiments or the description of the prior art. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, the elements or parts are not necessarily drawn according to the actual scale.
[0049] Figure 1 Flow chart of the dish recommendation method provided in the embodiment.
[0050] Figure 2 A module block diagram of the dish recommendation method operating system provided in the embodiment.
[0051] Figure 3 A flowchart of a method for recommending dishes to users based on default recommendation rules provided in an embodiment.
[0052] Figure 4 A flow chart of a method for modifying preference data provided in an embodiment.
[0053] Figure 5A flow chart of the method for over-standard warning provided in an embodiment. DETAILED DESCRIPTION
[0054] The embodiments of the technical solution of the present invention will be described in detail below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and are therefore only used as examples, and the protection scope of the present invention cannot be limited thereto. It should be noted that, unless otherwise specified, the technical terms or scientific terms used in this application should be the common meanings understood by those skilled in the art to which the present invention belongs.
[0055] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.
[0056] It should also be understood that the terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0057] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0058] Example:
[0059] A dish recommendation method suitable for ordering system, see Figure 1 ,include:
[0060] When receiving a user's ordering instruction, determining whether there is user preference data;
[0061] If it does not exist, recommend dishes to the user according to the default recommendation rules;
[0062] If available, recommend dishes to the user based on preference data;
[0063] When receiving the user's instruction to end ordering, the user's ordering data is associated with the user; and the preference data is optimized according to the user's historical ordering data.
[0064] In this embodiment, the dish recommendation system operated by the method may include a user terminal and an ordering system. The user terminal is mainly used for users to complete ordering operations, and the ordering system can manage the data uploaded by each user terminal. The user terminal can be implemented by a dedicated terminal configured by each merchant, or by a mobile terminal brought by the user. Figure 2 , the dish recommendation system also includes a merchant end and a data server, wherein the ordering system is provided with a data transmission unit, a data processing unit, a preference analysis unit, a code generation unit, a health analysis unit and a user management unit. The user end is provided with an order entry unit, a tasting unit and a reservation unit. The data server is mainly used to store the user's preference data. In the ordering system, the data transmission unit is mainly used to receive the data uploaded by the user end and send it to the data processing unit. The data processing unit mainly receives the ordering data and the user ID, associates the ordering data and the user ID; and is also used to send the ordering data to the preference analysis unit, and retrieves the user's preference data according to the user ID. The preference analysis unit is mainly used to obtain the user's preference data, generate default recommendation rules, and correct the preference data according to the ordering data analysis. The code generation unit is mainly used to generate the user ID. The health analysis unit is used to execute the over-standard early warning method. The user management unit is mainly used to manage the data entered by the user end. In the user end, the order entry unit is mainly used for the user to enter the taste preference of the dish and complete the order. The tasting unit is mainly used to complete the user's tasting needs. The reservation unit is mainly used to complete the user's reservation function.
[0065] When a user comes to a certain merchant for a meal for the first time, after logging into the user terminal, the user triggers the order button set in the user terminal and initiates the start ordering instruction. At this time, it is necessary to determine whether the user's preference data exists. Since this is the first time the user has come to the merchant, the merchant does not have the user's historical ordering data or the user's preference data, so at this time, dishes are recommended to the user according to the default recommendation rules. For example, the default recommendation rule can be created based on the basic data entered by the user, or it can be a random recommendation of the merchant's hot products. When the user finishes ordering, the end button set in the user terminal can be triggered to initiate the end ordering instruction. At this time, the user terminal can send the user's ordering data to the ordering system, and the ordering system associates the ordering data with the user. In this way, the ordering system can collect each user's historical ordering data and optimize each user's preference data based on each user's historical ordering data.
[0066] When the user comes to the merchant to dine again, when the user terminal receives the start ordering instruction, it needs to determine whether the user's preference data exists. At this time, the user terminal can read the user's preference data in the ordering system and recommend dishes to the user based on the preference data. Similarly, when the user completes the ordering, the end button set in the user terminal can be triggered to initiate the end ordering instruction. At this time, the user terminal sends the user's ordering data to the ordering system again. After the ordering system associates the ordering data with the user, it can optimize the user's preference data based on the user's multiple ordering data.
[0067] The dish recommendation method applicable to the ordering system can generate user preference data based on the user's ordering data, and recommend dishes that meet the user's taste, health, etc. based on the preference data, thereby improving the user experience and user stickiness.
[0068] Further, in some embodiments, see Figure 3 , according to the default recommendation rules, the dishes recommended to users include:
[0069] Receive basic data of users' likes, moderate likes, and dislikes; the dimensions of the basic data include at least one of ingredient list, taste preference, processing method, sauce, preparation method, dish form, doneness, and ingested food form;
[0070] Create a portrait pool containing multiple dimensions of user preference portraits based on basic data;
[0071] Get the dish portraits of each dish in the restaurant;
[0072] Match the dish portraits with the portrait pool respectively;
[0073] Recommend dishes with high matching degree to users.
[0074] In this embodiment, the characteristics of the ingredient list mainly include all the ingredients in the dish. For example, the characteristics of the ingredient list of steak include beef chunks, French fries, cherry tomatoes, salad dressing, and lettuce. The characteristics of taste preference include light, spicy, sour, etc., and the taste preference can be determined according to the inherent taste of various dishes. The characteristics of the processing method include stir-frying, frying, steaming, deep-frying, stewing, smoking, roasting, etc. The characteristics of the sauce include soy sauce, oyster sauce, sesame oil, sesame paste, Japanese sauce, etc. The characteristics of the preparation method include pickling, soaking, air drying, drying, smoking, etc. The characteristics of the dish form include appetizers, soups, one dish, two dishes, desserts, fruits, etc. The characteristics of doneness include soft, hard, how well done the steak is, etc. The characteristics of the form of food intake include eating raw, cooked, etc. The basic data can also include the user's allergens, which are used to screen out dishes that are harmful to the user when recommending dishes. When entering basic data, users can enter data that they like, moderately like, and dislike, and then create a portrait pool containing multiple dimensions of user preference portraits based on the entered basic data. For example, based on the basic information, 8 dimensions of user preference portraits are created, and the 8 dimensions are ingredient list, taste preference, processing method, sauce, preparation method, dish form, degree of doneness, and food intake form, which constitute the user's portrait pool. The user preference portrait of each dimension contains the characteristics that the user likes, moderately likes, or dislikes. The user preference portrait of each dimension can be set to 5 levels; among which, the first level is created based on the basic data that the user likes, the third level is created based on the basic data that the user moderately likes, and the fifth level is created based on the basic data that the user dislikes. That is, the first level is created based on the basic data that the user likes the first percentage (100%), the second level is created based on the basic data that the user likes the second percentage (75%), the third level is created based on the basic data that the user likes the third percentage (50%), the fourth level is created based on the basic data that the user likes the fourth percentage (25%), and the fifth level is created based on the basic data that the user likes the fifth percentage (0%).
[0075] In this embodiment, when the method recommends dishes to users according to the default recommendation rules, the dish portraits of each dish in the restaurant are obtained; the dish portraits are matched with the portrait pool respectively; and the dishes with high matching degree are recommended to the user. Each dish also includes 8 dimensions of dish portraits, namely, ingredient list, taste preference, processing method, sauce, preparation method, dish form, degree of doneness, and food intake form. When matching the dish portrait with the portrait pool, the dish portrait of each dimension in the dish is matched with the user preference portrait of the corresponding dimension in the portrait pool to obtain the matching degree of each feature in the dish. The matching degree is determined according to the percentage of users who like the matched level, and the matching degree is recorded in the user preference portrait. For example, the characteristics of dish A include beef, cherry tomatoes, light, fried, and sesame paste, among which beef and cherry tomatoes belong to the dimension of ingredient list, light belongs to the dimension of taste preference, fried belongs to the dimension of processing method, and sesame paste belongs to the dimension of sauce. During matching, beef and cherry tomatoes are matched with the user preference portrait of the user's ingredient list, and the matching degree of beef is 100% (matched to the first level), and the matching degree of cherry tomatoes is 75% (matched to the second level). Light is matched with the user preference portrait of the user's taste preference, and the matching degree of light is 100% (matched to the first level), fried is matched with the user preference portrait of the user's processing method, and the matching degree of fried is 50% (matched to the third level), and sesame paste is matched with the user preference portrait of the user's sauce, and sesame paste is 75% (matched to the second level), thereby obtaining the matching degree of each feature in the dish. The method also sets a threshold value for each dimension (for example, 75%). When the matching degree of all features of the dish is greater than the corresponding threshold value, it is considered that the dish has a high matching degree with the user, and the dish is recommended to the user.
[0076] Furthermore, in some embodiments, optimizing the preference data according to the user's historical ordering data specifically includes:
[0077] Define the profile pool as preference data;
[0078] In the user's historical ordering data, when only one feature of a dish does not exist in the user's portrait pool, the matching degree of other features of the dish is obtained; when the matching degrees of other features are all greater than a preset threshold, the matching degree of the feature that does not exist in the user's portrait pool is defined as the first level;
[0079] In the user's historical ordering data, when multiple features of a dish do not exist in the user's portrait pool, the matching degree of all features that do not exist in the user's portrait pool is defined as the third level;
[0080] In the user's historical ordering data, when a dish is a favorite of the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is increased to the second level;
[0081] In the user's historical ordering data, when a dish is not liked by the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is lowered to the fourth level.
[0082] In this embodiment, when the user enters basic data, a portrait pool can be generated based on the basic data, and the portrait pool is defined as the initial preference data. Then the portrait pool is optimized based on the user's ordering data. The optimization methods are mainly the following:
[0083] 1) When only the feature (cherry tomatoes) of dish B ordered by the user is not in the user's portrait pool, and the matching degrees of other features in dish B are greater than the corresponding threshold, a unique feature (cherry tomatoes) is added to the user preference portrait of the user's ingredient list, and the level of cherry tomatoes is set to the first level, which is the degree of preference.
[0084] 2) When dish C ordered by the user contains multiple features (cherry tomatoes, bland, stir-fried) that are not in the user's portrait pool, a new feature of cherry tomatoes is added to the user preference portrait of the user's ingredient list, and the level of cherry tomatoes is set to the third level. A new feature of bland is added to the user preference portrait of the user's taste preference, and the level of bland is set to the third level. A new feature of stir-fried is added to the user preference portrait of the user's processing method, and the level of stir-fried is set to the third level. All of them have a medium degree of preference.
[0085] 3) When dish C ordered by the user is a favorite dish of the user and the dish has features with a matching degree of the third level (cherry tomatoes, light taste, and stir-fried), the matching degree of cherry tomatoes, light taste, and stir-fried is set to the second level to increase the user's preference for the feature.
[0086] 4) When dish C ordered by the user is not a dish the user likes, and the dish has features with a matching degree of the third level (cherry tomatoes, bland, and fried), the matching degree of cherry tomatoes, bland, and fried is lowered to the fourth level to reduce the user's preference for the feature.
[0087] 5) When the dish C ordered by the user is a dish that the user likes, the number of times the user likes all the features of dish C (beef, cherry tomatoes, bland, fried) in the user preference portrait is increased by 1, that is, the number of times the user likes corresponding to beef, cherry tomatoes, bland, and fried in the user preference portrait is increased by 1. When the dish C (beef, cherry tomatoes, bland, fried) ordered by the user is a dish that the user does not like, the number of times the user dislikes all the features of dish C in the user preference portrait is increased by 1. That is, the number of times the user likes corresponding to beef, cherry tomatoes, bland, and fried in the user preference portrait is increased by 1.
[0088] When the number of times that users like a certain feature in the user preference portrait is greater than N, it means that the feature has appeared in multiple dishes that the user likes, and the matching degree of the feature in the user preference portrait is increased by one level. For example, assuming that the number of times that users like the feature of cherry tomatoes in the user preference portrait is greater than 3, the matching degree of cherry tomatoes is increased from the second level to the first level; when the number of times that users dislike a certain feature in the user preference portrait is greater than N, it means that the feature has appeared in multiple dishes that the user dislikes, and the matching degree of the feature in the user preference portrait is decreased by one level. For example, assuming that the number of times that users dislike the feature of cherry tomatoes in the user preference portrait is greater than 3, the matching degree of cherry tomatoes is decreased from the second level to the third level.
[0089] In this embodiment, the method can also correct the user preference profile in the following ways, for example:
[0090] 1) When a user places orders for dishes with the same characteristics multiple times, it means that the user likes these characteristics, and the levels of these characteristics in the user preference portrait can be adjusted to the first level.
[0091] 2) If the user has ordered a dish many times in the past, but has not ordered it again in a certain period of time, it may be because the chef has changed or the user's taste has changed. In this case, the method can first determine whether the chef has been changed. If the chef has not been changed, it is considered that the user's taste has changed. At this time, it is necessary to recreate the user preference profile based on the new historical ordering data.
[0092] Furthermore, in some embodiments, it also includes:
[0093] After the user finishes eating, an evaluation task is generated that includes all the dishes served.
[0094] When feedback information from the user regarding the evaluation task is received, the dishes liked in the feedback information are defined as dishes liked by the user, and the dishes not liked in the feedback information are defined as dishes not liked by the user.
[0095] In this embodiment, the dishes that the user likes and the dishes that the user dislikes are determined through user feedback. After the user finishes eating, the method generates an evaluation task that includes all the dishes ordered this time. For example, the evaluation task lists all the dishes ordered by the user this time, allowing the user to choose whether to like or dislike each dish. The dishes that the user feedback likes are defined as the user's like dishes, and the dishes that the user feedback dislikes are defined as the user's dislike dishes.
[0096] Further, in some embodiments, the ordering data is associated with the user through the user ID;
[0097] The user ID is obtained by associating a mobile phone number, facial information, finger vein information, fingerprint information or a password.
[0098] In this embodiment, after the ordering system receives the user's ordering data, it can generate a user ID and associate the ordering data with the user through the user ID. The ordering data can also send the generated user ID to the user terminal for storage. The user ID is usually set to a string of easy-to-remember numbers to facilitate user memory. When the user logs in to the user terminal again, the user terminal obtains the user ID and reads the corresponding ordering data or preference data based on the user ID. For example, the user ID can be set to the user's mobile phone number. When the user uses the user terminal to order again, he enters the mobile phone number to log in, and the user terminal can read the ordering data or preference data associated with the mobile phone number in the ordering system.
[0099] The method can also obtain the user ID by associating face information, finger vein information, fingerprint information or password. For example, the user can log in to the user terminal through face recognition, finger vein recognition, fingerprint recognition and password recognition. At this time, face information, finger vein information, fingerprint information or password can all be used as the user's identity code. The user terminal uploads the user's identity code to the ordering system, and the ordering system can obtain the user ID based on the identity code, or obtain the user ID by associating the identity code. In this way, when the user logs in to the user terminal through the identity code, the user terminal can obtain the user's identity code and read the corresponding ordering data and preference data in the ordering system.
[0100] Furthermore, in some embodiments, optimizing the preference data according to the user's historical ordering data specifically includes:
[0101] Create a BP neural network model, where the input layer of the BP neural network model is the historical ordering data, and the output layer is the preference data;
[0102] Use the historical ordering data and historical preference data of multiple historical users to train the BP neural network model;
[0103] All dishes in the user's historical ordering data are input into the trained BP neural network model to obtain the user's preference data.
[0104] In this embodiment, the method can also use the BP neural network model to analyze preference data. First, a BP neural network model is created, wherein the input layer of the BP neural network model is the historical ordering data, and the output layer is the preference data. Then, the BP neural network model is trained, and the neural network model is trained using the historical ordering data and historical preference data of multiple historical users to obtain a trained neural network model. Finally, all dishes in the historical ordering data of the user to be analyzed are input into the trained BP neural network model, and the user's preference data can be obtained. This method can use data from different users to continuously train the BP neural network model, improve the accuracy of preference data, and can recommend dishes based on the user's real needs, abandoning the fool-proof recommendation method in the prior art.
[0105] Further, in some embodiments, see Figure 4 After obtaining the preference data according to the user's historical ordering data, the method further includes:
[0106] Receive user’s health data;
[0107] Use health data to correct preference data and eliminate preferences that are harmful to users.
[0108] In this embodiment, the ordering system also uses health data to modify the preference data, eliminate preferences that are harmful to the user, and ensure the user's health. The health data includes the diseases the user suffers from. For example, for diabetic patients, high-sugar foods should be eliminated and low-sugar foods should be mainly recommended.
[0109] Further, in some embodiments, after recommending dishes to the user, the method Figure 5 , also includes:
[0110] Create a user's nutrient element threshold table based on the user's basic data and health data; the nutrient element threshold table includes upper limit thresholds of the content of multiple nutrient elements;
[0111] After obtaining the dishes recommended to the user, the content of all nutritional elements in the dishes is obtained according to the ingredient list of the dishes;
[0112] When the content of a nutrient element in a dish is greater than the upper limit threshold of the corresponding nutrient element in the nutrient element threshold table, an over-limit warning is issued.
[0113] In this embodiment, in order to further improve the health and balance of the user's diet, the method also has an over-standard warning function. The method can create a user's nutrient element threshold table based on the user's basic data and health data on the ordering system; the nutrient element threshold table includes the upper limit threshold of the content of multiple nutrient elements. For example, the nutrient element threshold table contains the maximum content of protein, trace elements, and carbohydrates that the user can eat (i.e., the upper limit threshold of the content). After obtaining the dishes recommended to the user, the user end can upload the dishes to the ordering system, and the ordering system analyzes the content of all nutrient elements in the dishes according to the ingredient list of the dishes, for example, according to the types and contents of all ingredients in the ingredient list, the content of all nutrient elements in the dishes is obtained. The ordering system determines whether the content of all nutrient elements in the dishes is less than the upper limit threshold of the content of the corresponding nutrient elements in the nutrient element threshold table. If so, it means that the recommended dishes meet the health needs of the user. The ordering system can retain the user's original preference data and send a normal element prompt to the user end, and the user end recommends the dish to the user normally. If the content of a nutrient element in a dish is greater than the upper limit threshold of the corresponding nutrient element in the nutrient element threshold table, it means that the recommended dish cannot meet the user's health needs. At this time, the ordering system can send an element exceeding the standard prompt to the user end, reminding the user to correct the preference data. The user end does not recommend the dish to the user. The ordering system can also correct the preference data according to the exceeding situation. For example, the ordering system analyzes the calorie, protein, trace element and carbohydrate content of the dish, obtains the ideal intake and limit intake of various elements of the user based on the basic data and health data, and generates the user's nutrient element threshold table based on the limit intake. When it is found that a certain element in the dish recommended to the user exceeds the standard, an early warning is issued, so that the user does not have to worry about the problem of excessive intake of elements when enjoying the dish.
[0114] Furthermore, in some embodiments, recommending dishes to the user specifically includes:
[0115] Receive users' requests for new experiences;
[0116] Recommend dishes to users based on their taste for new items and default recommendation rules, or recommend dishes to users based on their taste for new items and preference data.
[0117] In this embodiment, in order to provide users with more humane services, the method provides a user tasting function. The user enters the tasting requirement through the user terminal. For example, the tasting requirement can include one new item in every four recommended dishes. In this way, the user terminal can recommend dishes to the user based on the tasting requirement and the default recommendation rule, or based on the tasting requirement and preference data.
[0118] Furthermore, in some embodiments, the method further comprises:
[0119] When receiving a login instruction from a user and there is user preference data, recommending a merchant to the user based on the preference data;
[0120] Receive the user's dish reservation data and make a reservation for the merchant's dishes.
[0121] In this embodiment, in order to effectively enhance the stickiness between users and merchants, the method can recommend merchants to users based on preference data, and book the corresponding dishes of the merchants through the user end. In this way, the merchants that users like can be obtained through user preference data, which increases the interaction probability between users and their favorite merchants and solves the ordering problem of users who have difficulty choosing dishes and merchants.
[0122] Furthermore, in some embodiments, the method further comprises:
[0123] Receive the user's remote reservation data; the remote reservation data includes the merchant, the reserved dish information, and the pick-up point;
[0124] Send remote reservation data to merchants so that they can prepare the goods according to the reserved dishes;
[0125] The raw material reservation information is generated according to the reserved dish information, and the raw material reservation information is sent to the supplier.
[0126] In this embodiment, in order to enhance the user experience, the method also provides a remote reservation function. The user terminal can receive the user's remote reservation data (i.e., online ordering); the remote reservation data includes the merchant, the reserved dish information, and the pick-up point (or delivery point). The user terminal sends the remote reservation data to the merchant, so that when the merchant is closed or it is inconvenient for the user to dine at the merchant, the user terminal can place an order remotely through the user terminal and select the delivery point or pick-up point, so that the merchant can prepare the goods in advance during working hours and deliver the dishes to the user in time. The method also generates raw material reservation information based on the reserved dish information, and sends the raw material reservation information to the supplier, so that the supplier can prepare the raw materials according to the raw material reservation information and provide the raw materials to the merchant in time.
[0127] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. These modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention, and they should all be included in the scope of the claims and specification of the present invention.
Claims
1. A dish recommendation method suitable for a food ordering system, characterized in that: include: When receiving a user's ordering instruction, determining whether there is preference data of the user; If it does not exist, recommend dishes to the user according to the default recommendation rules; If so, recommend dishes to the user based on the preference data; When receiving the user's order ending instruction, associating the user's order data with the user; The preference data is optimized according to the user's historical ordering data.
2. The dish recommendation method applicable to the ordering system according to claim 1, characterized in that: The method of recommending dishes to the user according to the default recommendation rules specifically includes: Receive basic data of the user's likes, moderate likes, and dislikes; the dimensions of the basic data include at least one of ingredient list, taste preference, processing method, sauce, preparation method, dish form, doneness, and ingested food form; Creating a portrait pool containing user preference portraits of multiple dimensions according to the basic data; Get the dish portraits of each dish in the restaurant; Matching the dish portraits with the portrait pool respectively; Recommend dishes with a high matching degree to the user.
3. The dish recommendation method applicable to the ordering system according to claim 2, characterized in that: The portrait pool includes user preference portraits in 8 dimensions; the 8 dimensions are ingredient list, taste preference, processing method, sauce, preparation method, dish form, doneness, and food intake form; the user preference portrait in each dimension has 5 levels: the first level is created based on the basic data that the user likes the first percentage, the second level is created based on the basic data that the user likes the second percentage, the third level is created based on the basic data that the user likes the third percentage, the fourth level is created based on the basic data that the user likes the fourth percentage, and the fifth level is created based on the basic data that the user likes the fifth percentage; The likes decrease from the first to the fifth percentage.
4. The dish recommendation method applicable to the ordering system according to claim 3, characterized in that: Optimizing the preference data according to the user's historical ordering data specifically includes: defining the portrait pool as the preference data; In the user's historical ordering data, when only one feature of a dish does not exist in the user's portrait pool, the matching degree of other features of the dish is obtained; when the matching degrees of other features are all greater than a preset threshold, the matching degree of the feature that does not exist in the user's portrait pool is defined as the first level; In the user's historical ordering data, when multiple features of a dish do not exist in the user's portrait pool, the matching degree of all features that do not exist in the user's portrait pool is defined as the third level; In the user's historical ordering data, when a dish is a favorite of the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is increased to the second level; In the user's historical ordering data, when a dish is not liked by the user and there is a feature with a matching degree of the third level in the dish, the matching degree of the feature with a matching degree of the third level is lowered to the fourth level; In the user's historical ordering data, when a dish is a favorite of the user, the number of times the user likes all the features of the dish in the user's preference portrait is increased by 1; when the number of times the user likes a feature in the user's preference portrait is greater than N, the matching degree of the feature in the user's preference portrait is increased by one level, where N is an integer; In the user's historical ordering data, when a dish is not liked by the user, the number of times the user dislikes all features of the dish in the user's preference portrait is increased by 1; when the number of times the user dislikes a feature in the user's preference portrait is greater than N, the matching degree of the feature in the user's preference portrait is lowered by one level.
5. The dish recommendation method applicable to the ordering system according to claim 4, characterized in that: Also includes: After the user finishes eating, an evaluation task is generated that includes all the dishes served. When feedback information from the user regarding the evaluation task is received, the dishes liked in the feedback information are defined as dishes liked by the user, and the dishes disliked in the feedback information are defined as dishes disliked by the user.
6. The dish recommendation method applicable to the ordering system according to claim 2, characterized in that: After optimizing the preference data according to the user's historical ordering data, the method further includes: Receive user’s health data; The health data is used to modify the preference data to eliminate preferences that are harmful to the user.
7. The dish recommendation method applicable to a food ordering system according to claim 6, characterized in that: After recommending dishes to the user, the method further includes: Creating a user's nutritional element threshold table based on the user's basic data and health data; the nutritional element threshold table includes upper limit thresholds of the content of multiple nutritional elements; After obtaining the dishes recommended to the user, analyzing the ingredients list of the dishes to obtain the content of all nutritional elements in the dishes; When the content of a nutrient element in the dish is greater than the upper limit threshold of the content of the corresponding nutrient element in the nutrient element threshold table, an over-limit warning is issued.
8. The dish recommendation method applicable to a food ordering system according to claim 1, characterized in that: The dish recommendation to the user specifically includes: Receive users' requests for new experiences; Recommend dishes to the user based on the need for trying new things and default recommendation rules, or recommend dishes to the user based on the need for trying new things and the preference data.
9. The dish recommendation method applicable to a food ordering system according to claim 1, characterized in that: The method further comprises: When receiving a login instruction from a user and there is preference data of the user, recommending a merchant to the user according to the preference data; Receive the user's dish reservation data and make a reservation for the merchant's dishes.
10. The dish recommendation method applicable to a food ordering system according to claim 9, characterized in that: The method further comprises: Receive remote reservation data from the user; the remote reservation data includes the merchant, the reserved dish information, and the pick-up point; Sending the remote reservation data to the merchant so that the merchant can prepare the goods according to the reserved dish information; The raw material reservation information is generated according to the reserved dish information, and the raw material reservation information is sent to the supplier.
