Artificial intelligence-based restaurant dish recommendation system
By using an AI-based restaurant food recommendation system that leverages knowledge graphs and cosine similarity algorithms, the system addresses the problem of low customer ordering efficiency in existing technologies, enabling personalized food recommendations and an optimized ordering experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TEA RESEARCH CAFENG (SHENZHEN) CATERING MANAGEMENT CO LTD
- Filing Date
- 2024-09-19
- Publication Date
- 2026-04-28
AI Technical Summary
Existing restaurant ordering systems cannot provide personalized menu recommendations based on customer needs, resulting in low ordering efficiency and a poor customer experience.
An AI-based restaurant food recommendation system is adopted, including an order recording module, a food recommendation module, and a recommendation evaluation module. Through knowledge graph association analysis and cosine similarity algorithm, it intelligently recommends food items that meet customers' potential needs and dynamically monitors the ordering process to improve recommendation accuracy and customer acceptance.
It improves customer ordering efficiency, ensures the accuracy of food recommendations and the customer ordering experience, and optimizes the ordering process through intelligent sorting and real-time evaluation modules.
Smart Images

Figure CN119379381B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of service management technology, and more specifically, to an artificial intelligence-based restaurant menu recommendation system. Background Technology
[0002] Restaurant ordering methods are increasingly reliant on mobile devices. Customers can order via tablets provided by the restaurant or by scanning QR codes on their phones. Currently, the display order of restaurant menus on these devices is fixed, either sorted by sales volume or by menu type. This approach fails to provide personalized menu displays and recommendations, resulting in inefficient ordering and difficulty in quickly selecting desired items, ultimately leading to a poor customer experience. Therefore, enabling customers to quickly select their preferred dishes while ensuring a satisfactory ordering experience is a pressing issue that needs to be addressed. Summary of the Invention
[0003] In view of the shortcomings of existing technologies, the purpose of this invention is to provide a restaurant menu recommendation system based on artificial intelligence.
[0004] To achieve the above objectives, the present invention provides the following technical solution:
[0005] An AI-based restaurant food recommendation system includes an order record module, a food recommendation module, and a recommendation evaluation module.
[0006] The order record module is used to generate a food order record when a customer places an order;
[0007] When generating a meal order record, the meal recommendation module marks the meal corresponding to the order record as the target meal, obtains the pre-recommended meals based on the target meal, and filters and sorts the recommended meals based on the pre-recommended meals.
[0008] The recommendation evaluation module is used to determine whether it is necessary to continue recommending dishes during the subsequent ordering process.
[0009] Furthermore, when customers use a terminal device to order food, they are taken to the information interface of that food when they click on the name of the dish. When the customer places an order on the information interface of the food, an order record is generated.
[0010] Furthermore, the food order record includes the order quantity, order time, and number of diners.
[0011] Furthermore, the relationship between the target dish and other dishes in the restaurant is obtained. Through knowledge graph association analysis, dishes associated with the target dish are marked as recommended dishes, and dishes not associated with the target dish are marked as unrecommended dishes. The order frequency, order interval, and total number of fluctuations in the number of diners for the target dish are obtained and marked as A = [A1, A2, A3]. The order frequency, order interval, and total number of fluctuations in the number of diners for the recommended dishes are obtained and marked as B = [B1, B2, B3]. The cosine similarity algorithm is used to obtain the approximate order value between the target dish and the recommended dishes. An order approximation threshold is set. When the approximate order value is greater than or equal to the order approximation threshold, the recommended dish is marked as a recommended dish. When the approximate order value is less than the order approximation threshold, the recommended dish is marked as unrecommended.
[0012] Furthermore, all recommended dishes are sorted from largest to smallest according to the approximate value of the order, and the names of the sorted recommended dishes are displayed on the customer's terminal device.
[0013] Furthermore, the order frequency is obtained as follows: obtain all order records for this dish within a time period T before the current system time, and the total number of order records is the order frequency.
[0014] Furthermore, the order interval is obtained as follows: obtain all order records for this dish before the current system time, sort all order records according to the order time, calculate the time difference between the order times of two adjacent order records after sorting to obtain the adjacent interval, sum all adjacent intervals and take the average to obtain the order interval.
[0015] Furthermore, the total number of fluctuations in the number of diners is obtained as follows: All order records for this dish prior to the current system time are retrieved. All order records are sorted chronologically by order time. The difference in the number of diners between two adjacent order records is calculated, and the absolute value is taken to obtain the difference in the number of diners. A threshold difference for the number of diners is set. When the difference in the number of diners is greater than or equal to the threshold difference, the number of fluctuations in the number of diners is incremented by one. The total number of fluctuations in the number of diners is then summed to obtain the total number of fluctuations in the number of diners.
[0016] Furthermore, the evaluation process determines whether to continue recommending dishes during subsequent ordering. Specifically, each time a new order record is generated during the current ordering process, the customer recommendation score for that order is obtained, a customer recommendation record is generated, and a customer recommendation threshold is set. If the customer recommendation score for that order is less than the low customer recommendation score, subsequent recommendations for dishes are canceled. If the customer recommendation score for that order is greater than the high customer recommendation score, the recommendation fluctuation value for that order is obtained, and a recommendation fluctuation threshold is set. If the recommendation fluctuation value is greater than or equal to the recommendation fluctuation threshold, subsequent recommendations for dishes are canceled. If the recommendation fluctuation value is less than the recommendation fluctuation threshold, subsequent recommendations for dishes are maintained.
[0017] Furthermore, customer recommendation records include customer recommendation value and customer recommendation time;
[0018] The customer recommendation score for this order was obtained as follows: All order records for this order were retrieved, and all order records were sorted chronologically by order time. The order record with the next adjacent order was marked as the "next-next ordered item," and the order record with the previous adjacent order was marked as the "next-previous ordered item." When a "next-next ordered item" is a recommended item of a "next-previous ordered item," the number of valid recommendations was increased by one. Next, the ordering time of the next-ordered item is compared with the ordering time of the previous-ordered item to calculate the recommended order interval. When the next-ordered item is a negative item of the previous-ordered item, no action is taken. The number of valid recommendations for this order is summed to obtain the total number of valid recommendations, which is marked as LMS. The total number of order records for this order is marked as RGH. All recommended order intervals are summed and averaged to obtain the average recommended order interval, which is marked as TWY. The formula is then used to calculate the average recommended order interval. The customer recommendation value (APL) for this order is obtained, where a1 is the coefficient of the total number of valid recommendations, a2 is the coefficient of the number of food order records, and a3 is the coefficient of the average recommendation order interval.
[0019] The fluctuation value of the customer reviews for this order was obtained as follows: All customer review records for this order were retrieved. The customer review values were sorted chronologically by review time. The difference between adjacent customer review values was calculated to obtain the customer review fluctuation value. A customer review threshold was set. When the customer review fluctuation value was greater than or equal to the threshold, the fluctuation count was incremented by one. The total number of fluctuation counts for this order was summed and marked as ZKE. The customer review values from all records were summed and averaged to obtain the customer review average, marked as WGR. The formula was then used... The recommendation fluctuation value JYS is obtained, where b1 is the coefficient of the total number of recommendation fluctuations and b2 is the coefficient of the average customer recommendation value.
[0020] Compared with the prior art, the present invention has the following beneficial effects:
[0021] 1. Set up an order record module and a food recommendation module to collect statistics on the food items ordered by customers each time, and conduct a comprehensive analysis of the ordered food items to further identify the food items that customers have potential needs for. Intelligently sort and recommend food items to customers, thereby improving the efficiency of customers' ordering while ensuring the accuracy of food recommendations.
[0022] 2. A recommendation evaluation module can be set up to continuously monitor the customer's ordering process, dynamically analyze the customer's acceptance of the recommended dishes, and interrupt the recommendation of dishes in a timely manner to ensure the customer's ordering experience. Attached Figure Description
[0023] Figure 1 A flowchart illustrating the process of sorting and recommending dishes.
[0024] Figure 2 A flowchart for determining whether further food recommendations are needed during the subsequent ordering process. Detailed Implementation
[0025] Example 1
[0026] Reference Figure 1 An AI-based restaurant food recommendation system, including an order record module and a food recommendation module.
[0027] Order record module: When a customer orders food using a terminal device, the customer enters the information interface of that food when the customer clicks on the name of the food. When the customer places an order on the information interface of the food, an order record is generated.
[0028] The food recommendation module: When a food order record is generated, the food corresponding to that order record is marked as the target food. The food order record includes the order quantity (i.e., the quantity ordered by the customer in the food information interface), the order time (i.e., the corresponding time when the customer placed the order in the food information interface), and the number of diners.
[0029] The system obtains the relationship between the target dish and other dishes in the restaurant. Through knowledge graph association analysis, dishes associated with the target dish are marked as recommended dishes, and dishes not associated with the target dish are marked as unrecommended dishes. The system obtains the order frequency, order interval, and total number of fluctuations in the number of diners for the target dish and marks them as A = [A1, A2, A3]. The system obtains the order frequency, order interval, and total number of fluctuations in the number of diners for the recommended dishes and marks them as B = [B1, B2, B3]. The system uses a cosine similarity algorithm to obtain the approximate order value between the target dish and the recommended dishes. An order approximate threshold is set. The order approximate threshold is a system-set threshold that can be modified according to actual needs. When the order approximate value is greater than or equal to the order approximate threshold, the recommended dish is marked as a recommended dish. When the order approximate value is less than the order approximate threshold, the recommended dish is marked as unrecommended.
[0030] Sort all recommended dishes in descending order of their approximate order value, and then display the names of the sorted recommended dishes on the customer's device.
[0031] If the order frequency, order interval, and total number of diners for the target dish are 12, 5, and 28 respectively, and the order frequency, order interval, and total number of diners for the recommended dish are 14, 6, and 33 respectively, then...
[0032] The order frequency is obtained as follows: retrieve all order records for this dish within a time period T before the current system time, and the total number of order records is the order frequency.
[0033] The order interval is obtained as follows: retrieve all order records for this dish before the current system time, sort all order records according to the order time, calculate the time difference between the order times of two adjacent order records after sorting to obtain the adjacent interval, sum all adjacent intervals and take the average to obtain the order interval.
[0034] The total number of fluctuations in the number of diners is obtained as follows: All order records for this dish prior to the current system time are retrieved. All order records are sorted chronologically by order time. The difference in the number of diners between two adjacent order records is calculated, and the absolute value is taken to obtain the diners' number difference. A diners' number difference threshold is set; this threshold is a system-defined threshold that can be modified according to actual needs. When the diners' number difference is greater than or equal to the diners' number difference threshold, the number of fluctuations in the number of diners is incremented by one. When the diners' number difference is less than the diners' number difference threshold, no action is taken. The total number of diners' number fluctuations is then summed to obtain the total number of fluctuations in the number of diners.
[0035] The terminal device interface displays dish names such as Kung Pao Chicken, Corn Ribs, and Curry Chicken. When a customer clicks on Braised Sea Cucumber with Scallions, they are taken to the Braised Sea Cucumber with Scallions information interface (which introduces sample photos, ingredients, price, and portion size of Braised Sea Cucumber with Scallions). The customer can choose whether to order Braised Sea Cucumber with Scallions on this interface. When the customer selects to order Braised Sea Cucumber with Scallions, a dish order record is generated, and Braised Sea Cucumber with Scallions is marked as the target dish. Through knowledge graph association analysis, it is found that Boiled Shrimp, Braised Razor Clams, and Stir-fried Clams in the restaurant are all associated with Braised Sea Cucumber with Scallions. Therefore, Boiled Shrimp, Braised Razor Clams, and Stir-fried Clams are marked as recommended dishes.
[0036] The restaurant's dishes are represented in the form of a knowledge graph. For example, the relationships in the knowledge graph represent the connections between dishes, such as the relationship between cuisines, flavors, etc. The knowledge graph can accurately reflect the relationships between dishes.
[0037] The system includes an order recording module and a food recommendation module. It tracks the food items ordered by customers each time and performs a comprehensive analysis of these orders. This analysis further identifies food items that customers may have potential needs for and intelligently recommends them to customers in a ranked manner. This improves the efficiency of customers' ordering process while ensuring the accuracy of food recommendations.
[0038] Example 2
[0039] Reference Figure 2 Based on Example 1, the system also includes a recommendation evaluation module. This module: whenever a new order record is generated during the current ordering process, it obtains the customer recommendation value for that order and generates a customer recommendation record. The customer recommendation record includes the customer recommendation value and the customer recommendation time (the time corresponding to the generation of the new order record). It sets a customer recommendation threshold, which is a system-preset threshold that can be modified according to actual needs. When the customer recommendation value for the current order is less than the low customer recommendation value, subsequent recommendations for the food are cancelled. When the customer recommendation value for the current order is greater than the high customer recommendation value, it obtains the recommendation fluctuation value for the current order and sets a recommendation fluctuation threshold, which is also a system-preset threshold that can be modified according to actual needs. When the recommendation fluctuation value is greater than or equal to the recommendation fluctuation threshold, subsequent recommendations for the food are cancelled. When the recommendation fluctuation value is less than the recommendation fluctuation threshold, subsequent recommendations for the food are maintained.
[0040] The customer recommendation score for this order was obtained as follows: All order records for this order were retrieved, and all order records were sorted chronologically by order time. The order record with the next adjacent order was marked as the "next-next ordered item," and the order record with the previous adjacent order was marked as the "next-previous ordered item." When a "next-next ordered item" is a recommended item of a "next-previous ordered item," the number of valid recommendations was increased by one. Next, the ordering time of the next-ordered item is compared with the ordering time of the previous-ordered item to calculate the recommended order interval. When the next-ordered item is a negative item of the previous-ordered item, no action is taken. The number of valid recommendations for this order is summed to obtain the total number of valid recommendations, which is marked as LMS. The total number of order records for this order is marked as RGH. All recommended order intervals are summed and averaged to obtain the average recommended order interval, which is marked as TWY. The formula is then used to calculate the average recommended order interval. The customer recommendation rating (APL) for this order is obtained, where a1 is the coefficient of total effective recommendation frequency, a2 is the coefficient of the number of order records for the food, and a3 is the coefficient of average recommendation order interval. The value of a1 is 0.82, the value of a2 is 0.41, and the value of a3 is 0.57.
[0041] The fluctuation value of the customer review for this order is obtained as follows: All customer review records for this order are retrieved. The customer review values are sorted chronologically by review time. The difference between the preceding and following customer review values is calculated to obtain the customer review fluctuation value. A customer review threshold is set; the threshold value is greater than 0. The customer review threshold is a system-defined threshold that can be modified according to actual needs. When the customer review fluctuation value is greater than or equal to the threshold value, the number of times the fluctuation exceeds the threshold is incremented by one. The total number of times the fluctuation exceeds the threshold is summed and marked as ZKE. The customer review values of all records are summed and averaged to obtain the customer review average, marked as WGR. The formula is then used to calculate the average customer review value. The recommendation fluctuation value JYS is obtained, where b1 is the coefficient of the total number of recommendation fluctuations, b2 is the coefficient of the average customer recommendation value, b1 is 1.83, and b2 is 0.99.
[0042] The recommendation evaluation module can continuously monitor the customer's ordering process, dynamically analyze the customer's acceptance of the recommended dishes, and interrupt the recommendation in a timely manner to ensure the customer's dining experience.
[0043] The above formulas are all dimensionless calculations. The formulas are derived from software simulations based on a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.
[0044] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0045] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0046] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0047] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0048] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0049] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0050] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A restaurant menu recommendation system based on artificial intelligence, characterized in that, This includes an order record module, a food recommendation module, and a recommendation evaluation module; The order record module is used to generate a food order record when a customer places an order; When generating a meal order record, the meal recommendation module marks the meal corresponding to the order record as the target meal, obtains the pre-recommended meals based on the target meal, and filters and sorts the recommended meals based on the pre-recommended meals. The recommendation evaluation module is used to determine whether it is necessary to continue recommending dishes during the subsequent ordering process; The system determines whether to continue recommending dishes during subsequent ordering processes. Specifically, each time a new order record is generated during the current ordering process, the customer recommendation score for that order is obtained, a customer recommendation record is generated, and a customer recommendation threshold is set. If the customer recommendation score for that order is less than the low customer recommendation score, subsequent recommendations for the dish are canceled. If the customer recommendation score for that order is greater than the high customer recommendation score, the recommendation fluctuation value for that order is obtained, and a recommendation fluctuation threshold is set. If the recommendation fluctuation value is greater than or equal to the recommendation fluctuation threshold, subsequent recommendations for the dish are canceled. If the recommendation fluctuation value is less than the recommendation fluctuation threshold, subsequent recommendations for the dish are maintained. Customer review records include customer review value and the time of customer review; The customer recommendation score for this order was obtained as follows: All order records for this order were retrieved, sorted chronologically by order time, and the total number of valid recommendations (LMS), the total number of order records for this order (RGH), and the average order interval (TWY) were calculated using the formula... The customer recommendation value (APL) for this order is obtained, where a1 is the coefficient of the total number of valid recommendations, a2 is the coefficient of the number of food order records, and a3 is the coefficient of the average recommendation order interval. The recommendation fluctuation value for this order was obtained as follows: All customer recommendation records for this order were retrieved; the customer recommendation values of all records were sorted according to the order of the recommendation time; and the total number of recommendation fluctuations (ZKE) and the average customer recommendation value (WGR) were obtained. The formula was then used to calculate the fluctuation value. The recommendation fluctuation value JYS is obtained, where b1 is the coefficient of the total number of recommendation fluctuations and b2 is the coefficient of the average customer recommendation value. The steps to obtain the total number of valid recommendations (LMS), the total number of order records for this order (RGH), and the average recommended order interval (TWY) are as follows: Mark the order record of the next adjacent order after sorting as the "next-next ordered item," and mark the order record of the previous adjacent order as the "next-previous ordered item." When the next-next ordered item is a recommended item of the next-previous ordered item, increment the number of valid recommendations by one. Calculate the time difference between the order time of the next-next ordered item and the order time of the next-previous ordered item to obtain the recommended order interval. Sum the number of valid recommendations for this order to obtain the total number of valid recommendations, and mark it as LMS. Mark the total number of order records for this order as RGH. Sum all recommended order intervals and take the average to obtain the average recommended order interval, and mark it as TWY. The steps for obtaining the total number of customer rating changes (ZKE) and the average customer rating (WGR) are as follows: Calculate the difference between the previous and next customer rating values after sorting to obtain the customer rating change value. Set a customer rating change threshold. When the customer rating change value is greater than or equal to the threshold, increment the number of rating changes by one. Sum the number of rating changes for this order to obtain the total number of rating changes, and mark it as ZKE. Sum the customer rating values of all customer rating records and take the average to obtain the average customer rating, and mark it as WGR.
2. The restaurant menu recommendation system based on artificial intelligence according to claim 1, characterized in that, When a customer orders food using a terminal device, they are taken to the food information page when they click on the name of the dish. When the customer places an order on the food information page, an order record is generated.
3. The restaurant menu recommendation system based on artificial intelligence according to claim 1, characterized in that, The food order record includes the order quantity, order time, and number of diners.
4. The restaurant menu recommendation system based on artificial intelligence according to claim 1, characterized in that, The system identifies the relationships between the target dish and other dishes in the restaurant. Through knowledge graph association analysis, dishes associated with the target dish are marked as recommended dishes, while those not associated are marked as not recommended dishes. The system also obtains the order frequency, order interval, and total number of fluctuations in the number of diners for the target dish, and marks these as... Obtain the order frequency, order interval, and total number of fluctuations in the number of diners for the recommended dishes, and mark them as follows. The cosine similarity algorithm is used to obtain the approximate order value between the target dish and the recommended dish. An approximate order value threshold is set. When the approximate order value is greater than or equal to the approximate order value threshold, the recommended dish is marked as a recommended dish. When the approximate order value is less than the approximate order value threshold, the recommended dish is marked as a non-recommended dish.
5. The restaurant menu recommendation system based on artificial intelligence according to claim 1, characterized in that, Sort all recommended dishes in descending order of their approximate order value, and then display the names of the sorted recommended dishes on the customer's device.
6. The restaurant menu recommendation system based on artificial intelligence according to claim 4, characterized in that, The order frequency is obtained as follows: retrieve all order records for this dish within a time period T before the current system time, and the total number of order records is the order frequency.
7. The restaurant menu recommendation system based on artificial intelligence according to claim 4, characterized in that, The order interval is obtained as follows: retrieve all order records for this dish before the current system time, sort all order records according to the order time, calculate the time difference between the order times of two adjacent order records after sorting to obtain the adjacent interval, sum all adjacent intervals and take the average to obtain the order interval.
8. The restaurant menu recommendation system based on artificial intelligence according to claim 4, characterized in that, The total number of fluctuations in the number of diners is obtained as follows: All order records for this dish prior to the current system time are retrieved. All order records are sorted chronologically by order time. The difference in the number of diners between two adjacent order records is calculated, and the absolute value is taken to obtain the difference in the number of diners. A threshold difference for the number of diners is set. When the difference in the number of diners is greater than or equal to the threshold difference, the number of fluctuations in the number of diners is incremented by one. The total number of fluctuations in the number of diners is then summed to obtain the total number of fluctuations in the number of diners.
Citation Information
Patent Citations
Dish recommendation method and apparatus
CN107391531A