Single item pushing method based on user ordering data
By combining the inverted index and B-tree data structure with the user's search keywords, contextual information, and real-time behavior data, we optimize dish recommendations, solve the problems of redundant and invalid recommendations in the existing system, achieve more accurate and personalized dish recommendations, and improve the user experience.
Patent Information
- Application Number
- CN202510825218.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-19
- Publication Date
- 2025-10-03
AI Technical Summary
In the existing online ordering service system, the existing recommendation system makes redundant and invalid recommendations when recommending dishes based on user historical data, and is unable to dynamically adjust according to time periods and environmental changes, resulting in low accuracy and personalization of recommendations and poor user experience.
The material index is constructed through inverted index and B-tree data structure, and the user's current search keywords, context information and real-time behavior data are combined to perform dish expansion recall and optimized recommendation. The user's historical order data and comment data are used to score and sort dish requirements, dynamically adjust the recommendation list, and optimize based on user feedback.
It improves the accuracy and personalization of recommendations, enhances user acceptance and satisfaction, enhances the intelligence and dynamic adaptability of the recommendation system, strengthens user stickiness, and drives the long-term growth of the platform.
Smart Images

Figure CN120746670A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a method for pushing single products based on user order data. Background Art
[0002] With the rapid development of the internet and mobile application technologies, online ordering service systems have become a key business model in the restaurant industry. These systems allow users to quickly and easily select and purchase dishes on their mobile phones, significantly improving their dining efficiency and experience. However, despite the convenience provided by current online ordering service systems, several technical bottlenecks still exist, limiting the accuracy, real-time nature of their recommendations, and improving user satisfaction. With the increasing variety of dishes and the number of users, the volume of dish data in online ordering systems is also expanding. First, many existing recommendation systems rely on historical order data to predict user needs, but this often leads to redundancy and ineffective recommendations. Because recommendation systems typically prioritize dishes related to a user's past interests, they ignore diversity and result in duplicate recommendations. This is particularly true when a user's order history includes items that are simply added to the order list—dishes not actually preferred by the user but chosen for pairing or promotional reasons. These items often appear in the recommendation list, resulting in low accuracy and low personalization. Secondly, existing recommendation systems often rely on users' historical order history to make recommendations. However, these systems often ignore time, weather, and location. For example, during lunchtime, users may prefer lighter dishes, while at dinnertime, they may opt for more substantial dishes. Traditional systems are unable to dynamically adjust to these time-of-day and environmental changes, resulting in recommended dishes that may not meet users' current needs, reducing the relevance and timeliness of recommendations. Furthermore, most current recommendation systems focus on using historical records to provide recommendations for dishes similar to users' past preferences. However, this approach often results in monotonous recommendation results, lacking innovation and diversity. Users can experience recommendation fatigue from constantly seeing similar or repetitive dishes, which affects their acceptance and satisfaction with the recommendation system and may even lead to user churn. These issues are prevalent in existing online ordering service systems, significantly limiting their recommendation effectiveness and user experience. Therefore, improving the accuracy, efficiency, and personalization of recommendation systems has become a pressing technical challenge for online ordering service systems. Summary of the Invention
[0003] The present invention addresses the problems existing in the above-mentioned prior art and provides a method for pushing products based on user order data, which mainly includes:
[0004] Through the online ordering service system, store information and basic information of all dishes are obtained, and the material index is built using the inverted index and B-tree data structure;
[0005] According to the user's current search keyword, dishes with the same category and label are obtained from the material index, and an extended recall of dishes is performed to obtain an extended recall dish list;
[0006] Based on the user's contextual information and the basic information of the dishes, the recalled dishes that are suitable for the current environment and time period are screened out, and the recommended list of recalled dishes is optimized to obtain an optimized recommended list of recalled dishes;
[0007] Based on the target user's historical order data, user browsing data, user comment data, and optimized recalled dish feature data, predict the user's demand score for each dish in the optimized recalled dish recommendation list and determine the user's dish recommendation list;
[0008] By calculating the similarity between dishes, the order of dishes in the user's dish recommendation list is adjusted, and the optimal dish recommendation list is updated based on the user's real-time behavior data;
[0009] Obtain user adoption rates and feedback data for the optimal dish recommendation list, determine user satisfaction with the current optimal dish recommendation list, and readjust and push the optimal dish recommendation list based on user satisfaction.
[0010] Furthermore, the online ordering service system is used to obtain store information and basic information of all dishes, and a material index is built using an inverted index and a B-tree data structure, including:
[0011] Through the online ordering service system, store information and basic information of all dishes are obtained. Store information includes store location data, store business status, special dishes, sales data and user ratings. Basic information of dishes includes dish name, category, label, price, inventory, sales volume, sales revenue and sales time. Through the online ordering service system database, user historical order data is obtained, user registration information, historical order data, user browsing data and user comment data are obtained. User registration information includes age, gender and registration time. Historical order data includes order time, dish name, order quantity and consumption amount. Browsing data includes browsed dishes, browsing time, and browsing duration; user comment data includes reviewed dishes, comment content, and comment time; data cleaning and standardization techniques are used to integrate data, remove invalid data, and merge data sets from different sources to obtain integrated dish, store, and user information data sets. Invalid data includes duplicate records and error information; based on the integrated data, inverted index and B-tree data structures are used to construct material indexes, including indexing the name, category, and label of the dish through the inverted index, and indexing the store's geographical location and business status information using the B-tree index.
[0012] Furthermore, according to the user's current search keyword, dishes under the same category and label are obtained from the material index, and an extended dish recall is performed to obtain an extended recalled dish list, including:
[0013] Through the online ordering service system, the user's current search keywords are obtained, and text processing tools are used to perform word segmentation operations on the user's search keywords to extract valid keyword information; based on the valid keyword information, an inverted index retrieval algorithm is used to match all dishes to obtain dishes that match the keywords, and the category and label of each dish are determined. Dishes with the same category and label are obtained from the material index, and dishes are expanded and recalled to obtain an expanded recalled dish list; based on the user's historical order data, complementary dishes are identified and removed from the user's historical order data to construct the user's historical interest menu data; based on the user's historical interest menu data and user browsing data, the similarity between users is calculated by calculating the cosine similarity method to evaluate the interest similarity between users; the historical order data and user browsing data of users whose interest similarity with the target user is higher than a preset similarity threshold are obtained, and dishes that the target user has not ordered or browsed are screened out to recall dishes to obtain a list of recalled dishes with similar interests; the expanded recalled dish list and the interest-similar recalled dish list are combined as the recalled dish list.
[0014] The method also includes identifying complementary dishes based on the user's historical order data, removing complementary dishes from the user's historical order data, and constructing the user's historical interest menu data, specifically including:
[0015] Based on the integrated user historical order data, the order data of users participating in the full-reduction activity is obtained, including the name of the dish, the price of the dish, the order quantity and the consumption amount; if the difference between the consumption amount of the user participating in the full-reduction activity and the full-reduction threshold of the full-reduction activity is less than the preset difference threshold, the order is marked as a potential order for making up for the order; the names and prices of low-priced dishes in the potential order for making up for the order are obtained, and low-priced dishes are dishes with prices lower than the preset price threshold; based on the consumption amount of the user's potential order for making up for the order, the price of the low-priced dish, the user's order frequency of the low-priced dish and the frequency of occurrence of low-priced dishes in the potential order for making up for the order in the full-reduction activity, the support vector machine algorithm is used for model training to construct a user's make-up dish recognition model to identify make-up dishes; the make-up dishes are removed from the user's historical order data to construct the user's historical interest menu data.
[0016] Furthermore, the recalled dishes that meet the current environment and time period are screened out based on the user's context information and the basic information of the dishes, and the recalled dishes recommendation list is optimized to obtain an optimized recalled dishes recommendation list, including:
[0017] Based on the user's positioning information, the user's geographic location data is obtained, the distance between the user and each store is determined, and the stores whose distance to the user's current location is less than a preset distance threshold are screened out. The list of dishes provided by the stores is obtained, and the dishes that meet the recalled dish list are screened out to generate a recalled dish recommendation list; based on the user's contextual information and the basic information of the dishes, a recurrent neural network is used for model training to build a user dish demand model, judge the user's current dish demand, screen out recalled dishes that meet the current environment and time period, and optimize the recalled dish recommendation list to obtain an optimized recalled dish recommendation list. The contextual information includes the current time, weather, and holidays.
[0018] Furthermore, the method of predicting the user's demand score for each dish in the optimized recalled dish recommendation list based on the target user's historical order data, user browsing data, user comment data, and optimized recalled dish feature data, and determining the user's dish recommendation list includes:
[0019] According to the optimized recalled dish recommendation list, the dish feature data of each dish is obtained, and the user's historical order data, user browsing data, and user comment data are obtained through the online order service system database, and the obtained data is standardized. The dish feature data includes dish name, category, label, price and score. The standardization processing includes unique hot encoding for category data, converting discrete categories into vectors, using Z-score standardization method for numerical data, and using interpolation or mean filling method for missing values; based on the standardized user's historical order data, user browsing data, user comment data, and the optimized recalled dish feature data, a Transformer model is used to construct a user dish matching model; based on the target user's historical order data, user browsing data, user comment data, and the optimized recalled dish feature data, the user dish matching model is used to predict the user's demand score for each dish in the optimized recalled dish recommendation list, and filter out dishes with demand scores higher than the preset score threshold as the user dish recommendation list.
[0020] Furthermore, the method of adjusting the order of dishes in the user's dish recommendation list by calculating the similarity between dishes and updating the optimal dish recommendation list based on the user's real-time behavior data includes:
[0021] Based on the dish feature data in the user's dish recommendation list, the cosine similarity calculation method is used to calculate the similarity between each dish and other dishes. The feature data includes dish name, category, label, price and rating. Based on the calculated similarity between dishes and the user's rating of dish demand, the maximum marginal similarity algorithm is used to select the best dishes in the sorting position in turn, adjust the order of dishes in the user's dish recommendation list, and determine the optimal dish recommendation list. The formula of the maximum marginal similarity algorithm is: MMR is the maximum marginal relevance, R is the initial recommendation list, S is the current sorted recommendation result set, Rel(d i ) is the user’s demand score for dish i, Sim(d i ,d j ) is the similarity between dishes i and j, λ is the trade-off parameter of MMR, which is obtained by fitting historical data; through the online ordering service system, the real-time behavior data of users is obtained, and the optimal dish recommendation list is updated based on the real-time behavior data of users. The real-time behavior data of users include the search keywords, ordering data, browsing data and comment data of users; the basic information of dishes is obtained in real time, the adjusted user dish recommendation list is filtered, the filtered user dish recommendation list is supplemented with dishes based on the demand score, and the optimal dish recommendation list is re-determined. The filtering operation includes removing sold-out dishes, dishes that do not meet the user's purchase restrictions, and dishes with quality problems or violation records; through the online ordering service system, the optimal dish recommendation list is sent to the user end in the form of a list.
[0022] Furthermore, the method of obtaining user adoption rates and feedback data on the optimal dish recommendation list, determining user satisfaction with the current optimal dish recommendation list, and re-adjusting and pushing the optimal dish recommendation list based on user satisfaction includes:
[0023] After the optimal dish recommendation list is pushed to the user through the online ordering service system, the user's order data, browsing data, comment data and feedback data are obtained; based on the user's adoption rate and feedback data of the optimal dish recommendation list, the user satisfaction with the current optimal dish recommendation list is judged; if the user satisfaction is lower than the preset threshold, the optimal dish recommendation list is readjusted and pushed based on the user's order data, browsing data, comment data and feedback data until the user satisfaction is higher than the preset threshold.
[0024] The technical solution provided by the embodiment of the present invention may have the following beneficial effects:
[0025] The present invention provides a method for pushing single items based on user order data. The present invention uses an inverted index and a B-tree data structure to construct a material index, which can quickly recall relevant dishes searched by users, greatly improving the recommendation efficiency and system response speed. The present invention improves the accuracy and personalization of recommendations by eliminating redundant and invalid recommendations, especially removing dishes that are added to the user's historical orders. The present invention combines the user's contextual information, including time period, weather, geographic location, etc., to perform dynamic screening and optimization, so that the recommended dishes are more in line with the user's current needs, improving the timeliness and relevance of the recommendations. The present invention optimizes the order and diversity of the recommendation list through precise demand prediction and dish similarity calculation, avoids duplicate recommendations, and improves user acceptance and satisfaction. The present invention can continuously adjust according to real-time feedback from users, further improving the intelligence, personalization and dynamic adaptability of the recommendation system, enhancing user stickiness, and promoting the long-term growth of the platform and improving user satisfaction. The present invention provides a single product push method based on user order data, which effectively solves the problems existing in the existing recommended dishes, significantly improves the efficiency, accuracy and user satisfaction of dish recommendations, and provides an online ordering service system with a more intelligent, personalized and efficient dish recommendation solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 This is a flow chart of a method for pushing products based on user order data according to the present invention;
[0027] Figure 2 Schematic diagram of a method for pushing products based on user order data according to the present invention;
[0028] Figure 3 This is another schematic diagram of a method for pushing a single product based on user order data according to the present invention. DETAILED DESCRIPTION
[0029] In order to make the objectives, technical solutions and advantages of the present invention more clear, the present invention is described in detail below with reference to the accompanying drawings and specific embodiments.
[0030] like Figure 1-3 In this embodiment, a method for pushing a single product based on user order data may specifically include:
[0031] Step S101: Obtain store information and basic information of all dishes through the online ordering service system, and use the inverted index and B-tree data structure to build a material index.
[0032] Through the online ordering service system, store information and basic information about all dishes are obtained. Store information includes store location data, store operating status, featured dishes, sales data, and user ratings. Basic dish information includes dish name, category, label, price, inventory, sales volume, sales revenue, and sales time. Historical user order data is obtained through the online ordering service system database, including user registration information, historical order data, user browsing data, and user comment data. User registration information includes age, gender, and registration time. Historical order data includes order time, dish name, order quantity, and consumption amount. User browsing data includes dishes viewed, browsing time, and browsing duration. User comment data includes reviewed dishes, comment content, and comment time. Data cleaning and standardization techniques are used for data integration to remove invalid data and merge datasets from different sources to obtain a consolidated dataset of dish, store, and user information. Invalid data includes duplicate records and error messages. Based on the integrated data, the inverted index and B-tree data structure are used to construct the material index, including indexing the name, category, and label of the dish through the inverted index, and indexing the store's geographical location and business status information using the B-tree index.
[0033] For example, a restaurant is located in the center of a city at coordinates 39.9042°N, 116.4074°E, representing its location in downtown Beijing. The restaurant is operating normally and, based on user ratings, has an overall rating of 4.5 out of 5. The menu offers several popular hot dishes and snacks. Basic information for each dish includes the name, category, label, price, inventory, and sales volume. For example, one dish costs 28 yuan, has 50 servings in inventory, has sold 200 servings, and has generated 5,600 yuan in sales. Another dish costs 48 yuan, has 30 servings in inventory, has sold 150 servings, and has generated 7,200 yuan in sales. Sales records show that the first dish sold 50 servings in the past month, while the second dish sold 60 servings. Historical user data is obtained through the online ordering service, including user A's registration date of May 10, 2023, gender of female, and age of 28. User A's historical order data includes two orders of a certain dish for a total of 56 yuan on June 1, 2023, and one order of another dish for a total of 48 yuan on June 3, 2023. User A's browsing data shows that he browsed one dish page for 20 seconds and another dish page for 30 seconds. Furthermore, user A's review data shows that he reviewed a dish on June 4, 2023, stating that it tasted very good, had a strong spicy flavor, and the ingredients were fresh, with a rating of 5 out of 5. Data cleaning and normalization techniques are used to clean and normalize data from different sources. First, duplicate records and erroneous information are removed. If it is known that user A ordered the same dish repeatedly on June 3, 2023, the redundant order information is deleted. Second, numerical data is normalized, such as using Z-score normalization on the user's historical spending amount and sales volume. Categorical data, such as dish names, categories, and labels, are converted into numerical vectors using one-hot encoding. Finally, missing data, such as missing ratings in user reviews, is handled through mean filling or interpolation. Through data cleaning and standardization, a dataset is integrated that includes information such as the name, category, label, price, inventory, sales volume, etc. of each dish. It also combines user registration information, order data, browsing behavior, and comment data. Inverted index and B-tree are used to build material indexes. The inverted index is used to index the name, category, and label of the dish. If user A searches for a certain dish, the inverted index can quickly find all dishes labeled spicy and classified as seafood. The store's geographic location and business status are used for indexing in the B-tree index to quickly filter out stores that are close to user A and currently open, thereby further improving recommendation efficiency.
[0034] Step S102: According to the user's current search keyword, dishes under the same category and label are obtained from the material index, and an extended dish recall is performed to obtain an extended recalled dish list.
[0035] The online ordering service system obtains the user's current search keywords. Using text processing tools, the search keywords are segmented and valid keyword information is extracted. Based on this valid keyword information, an inverted index retrieval algorithm is used to match all dishes to obtain dishes matching the keywords. The category and label of each dish are then determined. Dishes with the same category and label are retrieved from the material index for an expanded recall of dishes, resulting in an expanded recall list. Based on the user's historical order data, complementary dishes are identified and removed from the user's historical order data to construct the user's historical interest menu data. Based on the user's historical interest menu data and user browsing data, the user's similarity is calculated using cosine similarity to assess interest similarity. The historical order data and browsing data of users whose interest similarity with the target user exceeds a preset similarity threshold are obtained. Dishes not ordered or browsed by the target user are filtered out for recall, resulting in a list of dishes with similar interests. The expanded recall list and the list of dishes with similar interests are combined into the recall list.
[0036] For example, user B is using an online ordering service and enters "spicy hairtail fish" in the search box. This search keyword is segmented by a text processing tool, extracting the valid keywords "spicy" and "hairtail fish." Using an inverted index search algorithm, all dishes are matched, filtering out dishes containing the keywords "spicy" or "river fish." The matched dishes are all classified as seafood and tagged as spicy. Using the item index, the recall is expanded from dishes with the same category and tag, adding three more seafood dishes tagged with spicy: spicy eel, spicy shredded kelp, and stir-fried squid. Based on this, the user's historical order data is examined. If user B has ordered both spicy crayfish and spicy shredded kelp within the past week, and spicy shredded kelp is a dish they frequently order in their past orders, the user identifies the spicy shredded kelp as a "complementary" dish and removes it from their historical data. The user's historical interest menu data is then constructed, retaining only the dishes they are truly interested in. The similarity between user B and other users is calculated by cosine similarity, assessing the similarity of interests between users. If there are 10 users with similar ordering and browsing history as user B, and the similarity of interests between 5 of these users exceeds the preset similarity threshold of 0.8, then the dishes ordered by these similar users in the past week are further screened and used as recommendation candidates for user B. For example, if a similar user of user B has ordered spicy squid, but user B has not ordered this dish, this dish is added to the list of recalled dishes with similar interests. The expanded recalled dishes are combined with the recalled dishes with similar interests to form the recalled dish list for user B.
[0037] Based on the user's historical order data, identify the dishes that make up the order, remove the dishes that make up the order from the user's historical order data, and construct the user's historical interest menu data.
[0038] Based on the integrated user historical order data, the order data of users participating in the full-reduction activity is obtained, including the dish name, dish price, order quantity and consumption amount. If the difference between the user's consumption amount in the full-reduction activity and the full-reduction threshold of the full-reduction activity is less than the preset difference threshold, the order is marked as a potential order for grouping together. The names and prices of low-priced dishes in the potential grouping behavior orders are obtained. Low-priced dishes are dishes with prices lower than the preset price threshold. Based on the consumption amount of the user's potential grouping behavior orders, the dish price of the low-priced dish, the user's order frequency of the low-priced dish, and the frequency of low-priced dishes in the potential grouping behavior orders for the full-reduction activity, the support vector machine algorithm is used for model training to construct a user grouping dish recognition model to identify grouping dishes. Grouping dishes are removed from the user's historical order data to construct the user's historical interest menu data.
[0039] For example, user C participated in a discount promotion some time ago, with a discount threshold of 20 yuan off for every 100 yuan spent. In one order, the user purchased three dishes: a 60 yuan Kung Pao Chicken, a 25 yuan Spicy Shredded Potatoes, and a 15 yuan Spicy Shredded Kelp, for a total of 100 yuan. Because this order participated in the discount promotion, the user's purchase amount met the discount threshold, so it was necessary to determine whether the order met the criteria for potential order-buying behavior. The user spent 100 yuan, and the difference between the user's purchase amount and the discount threshold was calculated as 100 yuan - 100 yuan = 0 yuan. This difference is less than the preset difference threshold of 5 yuan, so the order is marked as a potential order for order-buying behavior. If the threshold for low-priced dishes is set at 20 yuan, then dishes priced below 20 yuan are considered low-priced dishes. In this order, the Spicy Shredded Kelp, priced at 15 yuan, meets this criterion and is therefore considered low-priced. Consider a user named D who participated in multiple discount promotions on a restaurant platform over the past few months. During these promotions, user D's order data was recorded, including the amount spent on each order (e.g., one order cost 120 yuan, another 80 yuan), the price of the low-priced dishes in each order (e.g., in one order, the low-priced dishes included dish A for 5 yuan and dish B for 8 yuan), the frequency with which user D ordered the low-priced dishes (e.g., user D ordered dish A 10 times and dish B 8 times in the past 30 days), and the frequency of low-priced dishes in each discount promotion (e.g., in several past discount promotions, both dish A and dish B appeared multiple times, perhaps dish A was offered as a low-priced dish in all five promotions, while dish B appeared less frequently, perhaps only three times). Based on this data, a support vector machine algorithm was used to train a model to identify low-priced dishes that user D might use to top up his or her order during discount promotions. The trained model can identify dishes A and B as likely items that user D is looking to fill out his order, while dish C is less likely. Ultimately, based on the model's recognition results, dishes A and B are removed from user D's historical order data, and they no longer appear in the user's historical interest list. This allows the recommendation system to more accurately reflect the user's true interests and avoid recommending low-priced dishes that users may simply purchase to fill out their order.
[0040] Step S103, based on the user's context information and the basic information of the dishes, filter out the recalled dishes that meet the current environment and time period, and optimize the recalled dish recommendation list to obtain an optimized recalled dish recommendation list.
[0041] Based on the user's location information, the system obtains the user's geographic location data, determines the distance between the user and each store, and selects stores whose distance from the user's current location is less than a preset distance threshold. The system then obtains a list of dishes offered by each store and selects dishes that match the recall list to generate a list of recall dish recommendations. Based on the user's contextual information and basic dish information, a recurrent neural network is used for model training to construct a user's dish demand model, determine the user's current dish demand, select recall dishes that meet the current environment and time period, and optimize the recall dish recommendation list to obtain an optimized recall dish recommendation list. Contextual information includes the current time, weather, and holidays.
[0042] For example, user E's location coordinates are 39.9042°N, 116.4074°E, in downtown Beijing. Based on the user's geographic location, the distances between the user and various restaurants are calculated. If the preset distance threshold is 5 kilometers, the user will only see restaurants within 5 kilometers of their current location. If user E is currently located in a commercial district, the distances to restaurant 1 are 3 kilometers, 7 kilometers to restaurant 2, and 2 kilometers to restaurant 3. Based on the preset 5-kilometer distance threshold, restaurant 2 is excluded, while restaurants 1 and 3 are considered candidates. The menus offered by restaurants 1 and 3 are obtained. If restaurant 1 offers 10 dishes and restaurant 3 offers 8, an expanded menu of recalled dishes and a similarity menu of recalled dishes are determined based on user E's historical ordering data or preferences, as the recalled menu. User E's contextual information includes the current time, weather, and whether it is a holiday. For example, if it is 3:00 PM on a weekend, the weather is sunny, and it is a public holiday, for example. Based on this information, a recurrent neural network is trained to construct a user menu demand model to determine user E's needs during this specific time period. This user menu demand model predicts that the user may prefer light, nutritious dishes over spicy or strong dishes, such as refreshing salads and steamed dishes. Therefore, the generated optimized menu recommendation list may include six dishes from stores 1 and 3. These dishes not only match user E's historical preferences but are also optimized based on the current time, weather, and holiday information, making them more suitable for the user's current needs.
[0043] Step S104, based on the target user's historical order data, user browsing data, user comment data, and optimized recalled dish feature data, predict the user's demand score for each dish in the optimized recalled dish recommendation list, and determine the user's dish recommendation list.
[0044] Based on the optimized recalled dish recommendation list, dish feature data for each dish is obtained. The user's historical order data, browsing data, and review data are obtained from the online order service system database. This data is then normalized. Dish feature data includes dish name, category, tag, price, and rating. Normalization involves one-hot encoding categorical data, converting discrete categories into vectors, applying Z-score normalization to numeric data, and imputing missing values using interpolation or mean filling. A Transformer model is used to construct a user-dish matching model based on the standardized user's historical order data, browsing data, and review data, as well as the optimized recalled dish feature data. The user-dish matching model is used to predict the user's demand score for each dish in the optimized recalled dish recommendation list based on the target user's historical order data, browsing data, and review data, as well as the optimized recalled dish feature data. Dishes with demand scores above a preset threshold are selected as the user's dish recommendation list.
[0045] For example, user F's historical order data, user browsing data, and user review data are obtained from the online ordering service system database. Based on the optimized list of recalled dish recommendations, the dish feature data for each dish is obtained. For example, a dish is named "Kung Pao Chicken," is classified as a main dish, is labeled "spicy" and "salty," costs 38 yuan, and has a rating of 4.5. These dish feature data are standardized. For categorical data, such as the main dish category, one-hot encoding is used to convert it into a vector. The main dish is encoded as [1,0,0], and the dish categories include main dishes, snacks, and desserts. For numerical data such as price and rating, the Z-score standardization method is used. This method subtracts the mean of each column from each value and then divides it by the standard deviation to ensure that the data distribution has a uniform scale. For missing numerical data, such as missing ratings for a particular dish, interpolation or mean filling is used to complete the data. User F's historical order data, browsing data, and review data also need to be standardized. For example, assume that user F has ordered Kung Pao Chicken and Spicy Hot Pot, and rated Kung Pao Chicken 4.0 and Spicy Hot Pot 3.0 in their reviews. This data is then processed, including one-hot encoding the dish categories, Z-score normalization of the ratings, and handling of missing values. The optimized recalled dish feature data and standardized user behavior data are combined and input into the Transformer model to construct a user-dish matching model. The model predicts the user's demand rating for the recalled dish based on their historical behavior. After training, the model predicts a demand rating of 4.8 for Kung Pao Chicken in the recommended list. Finally, based on the predicted demand scores, dishes with demand scores higher than the preset score threshold of 4.0 are screened out and recommended to user F as his personalized dish recommendation list. Through the user dish matching model, the dishes finally recommended to user F include Kung Pao Chicken, Spicy Hot Pot, Spicy Crayfish, and other 10 dishes.
[0046] Step S105: By calculating the similarity between dishes, the order of dishes in the user's dish recommendation list is adjusted, and the optimal dish recommendation list is updated based on the user's real-time behavior data.
[0047] Based on the dish feature data in the user's dish recommendation list, the cosine similarity calculation method is used to calculate the similarity between each dish and other dishes. The feature data includes dish name, category, label, price and rating. Based on the calculated similarity between dishes and the user's rating of dish requirements, the maximum marginal similarity algorithm is used to select the best dishes in the sorting position, adjust the order of dishes in the user's dish recommendation list, and determine the optimal dish recommendation list. The formula of the maximum marginal similarity algorithm is: MMR is the maximum marginal relevance, R is the initial recommendation list, S is the current sorted recommendation result set, Rel(d i ) is the user’s demand score for dish i, Sim(d i ,d j ) is the similarity between dishes i and j, and λ is the trade-off parameter of MMR, which is obtained by fitting historical data. Through the online ordering service system, the real-time behavior data of users is obtained, and the optimal dish recommendation list is updated based on the real-time behavior data of users. The real-time behavior data of users include the user's search keywords, ordering data, browsing data and comment data. The basic information of the dishes is obtained in real time, and the adjusted user dish recommendation list is filtered. The filtered user dish recommendation list is supplemented with dishes based on the demand score, and the optimal dish recommendation list is re-determined. The filtering operation includes removing sold-out dishes, dishes that do not meet the user's purchase restrictions, and dishes with quality problems or violation records. The optimal dish recommendation list is sent to the user end in the form of a list through the online ordering service system.
[0048] For example, the online ordering service system generates a dish recommendation list for user G, which contains 10 dishes in total. Each dish has feature data, including name, category, label, price and rating. For example, Kung Pao Chicken is a main dish, with the labels spicy and salty, a price of 38 yuan, and a rating of 4.5. Sweet and Sour Spare Ribs is a main dish, with the labels sweet and sour, a price of 45 yuan, and a rating of 4.4. Broccoli with Garlic is a vegetarian dish, with the labels light and fresh, a price of 22 yuan, and a rating of 3.9. Mango Sago is a dessert, with the labels sweet and refreshing, and a price of 4. 28 yuan, score 4.6, cola chicken wings are the main dish, labeled as sweet and fragrant, price 36 yuan, score 4.3, dry pot cauliflower is a vegetarian dish, labeled as fragrant and spicy, price 26 yuan, score 4.2, boiled beef is the main dish, labeled as spicy and numb, price 52 yuan, score 4.5, mango pudding is a dessert, labeled as sweet and fruity, price 25 yuan, score 4.1, braised eggplant is a vegetarian dish, labeled as salty and fragrant, price 23 yuan, score 4.0, black pepper beef fillet is the main dish, labeled as salty and fragrant, price 50 yuan, score 4.4. By vectorizing numerical and textual features such as category, label, price, and rating, and calculating cosine similarity between these dishes, we can determine the similarity between the dishes. For example, the similarity between Kung Pao Chicken and Boiled Beef is 0.92, indicating that they are both main dishes, both labeled spicy, and have similar flavors. However, the similarity between Mango Sago and Black Pepper Beef Tenderloin is only 0.18, indicating significant differences in category, flavor, and price. If the system were to sort directly by demand rating without intervention, multiple main dishes or dishes with similar flavors would likely be grouped together, leading to user fatigue or selection difficulties. In order to optimize the user experience, the maximum marginal similarity algorithm is used to select the best dishes in the sorting position based on the calculated similarity between dishes and the user's rating of dish needs, and the dish recommendation list is rearranged. Its goal is to ensure that the recommended dishes meet user needs while making adjacent dishes more diverse in category and flavor. The system will try to avoid recommending three spicy main dishes consecutively, but instead stagger the order of the three spicy main dishes so that the recommendation list presents a rich combination of flavors and categories. The formula of the maximum marginal similarity algorithm is: R is the initial recommendation list, S is the currently sorted recommendation result set, Rel(d i ) is the user’s demand score for dish i, Sim(d i ,d j) is the similarity between dishes i and j, and λ is the trade-off parameter for MMR, obtained by fitting historical data. MMR refers to maximum marginal relevance. In the formula, it is not a quantity but a selection operation, indicating the selection of the next best dish from the candidate set. Dynamic optimization is performed based on user G's real-time behavioral data. If user G has searched for desserts, browsed mango pudding and mango pudding, and ordered sweet and sour spare ribs in the past 10 minutes, the ranking of dessert dishes in the recommendation list will be increased. At the same time, if user G is marked as not liking spicy food in the settings, the system will automatically remove all dishes with spicy labels, such as Kung Pao Chicken, Dry Pot Cauliflower, and Boiled Beef. Filtering is performed based on real-time dish inventory information and operational data. If the braised eggplant is sold out and the cola chicken wings have been removed from the shelves by the merchant due to quality issues, these two dishes will be removed from the recommendation list. Based on user preferences and demand ratings, the system adds two highly rated and diverse dishes from the candidate library, such as pan-fried salmon as a main course, tagged "fresh" and rated 4.5, and coconut milk sago as a dessert, tagged "sweet" and rated 4.6, to ensure the completeness of the recommended list. Finally, after re-ranking, filtering, and supplementing, the system presents a list of optimal dishes to user G, encompassing a wide variety of categories, flavors, quality, and meeting the user's latest behavioral preferences. This list is presented to user G in a list format, increasing their willingness to order and satisfaction.
[0049] Step S106: Obtain the user adoption rate and feedback data of the optimal dish recommendation list, determine the user satisfaction level of the current optimal dish recommendation list, and readjust and push the optimal dish recommendation list based on the user satisfaction level.
[0050] After pushing the optimal dish recommendation list to users, the online ordering service system collects user order data, browsing data, comment data, and feedback data. Based on the user adoption rate and feedback data for the optimal dish recommendation list, the system determines user satisfaction with the current optimal dish recommendation list. If user satisfaction falls below a preset threshold, the optimal dish recommendation list is re-adjusted and pushed based on the user's order data, browsing data, comment data, and feedback data until user satisfaction rises above the preset threshold.
[0051] For example, an online ordering service system sends a list of top dishes to user H, containing 10 dishes. User H browses through 8 of them and ultimately orders only 2, resulting in a 20% acceptance rate. Furthermore, after placing their order, user H gives one dish a 3-star rating and leaves the other unrated. The system also records that user H clicked the feedback button after dining, indicating that the dish was not interesting and leaving a note indicating that the taste was too salty and unpalatable. If the preset satisfaction threshold is a 40% acceptance rate or an average rating of 4 stars—that is, if the user orders 4 or more dishes, or an average rating of 4.0 or above—the system considers the current recommendation list to meet a basic level of satisfaction. However, user H's top dish recommendation list only has a 20% acceptance rate, an average rating of 3.0, and includes negative feedback, the system determines that the current recommendation list does not meet the satisfaction standard. The system analyzed user H's behavioral data and discovered that he spent more time browsing pages for light dishes, such as Garlic Broccoli and Coconut Milk Sago, but the dishes he actually ordered were relatively salty. Combined with the feedback from reviews that the dishes tended to be salty, the system inferred that the current recommendation list was insufficiently aligned with the flavor profile, particularly overlooking the user's potential preference for light flavors. Therefore, the system adjusted its recommendation logic, increasing the weight of dishes labeled light, slightly sweet, and low in oil. It then generated a new, optimized list of dishes. For example, it replaced the original recommendations of Boiled Beef and Black Pepper Beef Tenderloin with options more in line with user preferences, such as Stir-fried Lettuce, Scrambled Eggs with Wood Ear Mushrooms, and Coconut Taro Balls. The new list was then pushed back to user H. If user H's order percentage in the second recommendation increased to 50%, and he gave one 5-star review, with no negative feedback, the system's satisfaction level had reached the threshold.
[0052] The above description is merely a preferred embodiment of the present application and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also encompasses other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the concept of this application. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this application.
Claims
1. A method for pushing products based on user order data, characterized in that: The method comprises: Through the online ordering service system, store information and basic information of all dishes are obtained, and the material index is built using the inverted index and B-tree data structure; According to the user's current search keyword, dishes with the same category and label are obtained from the material index, and an extended recall of dishes is performed to obtain an extended recall dish list; Based on the user's contextual information and the basic information of the dishes, the recalled dishes that are suitable for the current environment and time period are screened out, and the recommended list of recalled dishes is optimized to obtain an optimized recommended list of recalled dishes; Based on the target user's historical order data, user browsing data, user comment data, and optimized recalled dish feature data, predict the user's demand score for each dish in the optimized recalled dish recommendation list and determine the user's dish recommendation list; By calculating the similarity between dishes, the order of dishes in the user's dish recommendation list is adjusted, and the optimal dish recommendation list is updated based on the user's real-time behavior data; Obtain user adoption rates and feedback data for the optimal dish recommendation list, determine user satisfaction with the current optimal dish recommendation list, and readjust and push the optimal dish recommendation list based on user satisfaction.
2. The method according to claim 1, wherein The online ordering service system is used to obtain store information and basic information of all dishes, and an inverted index and B-tree data structure are used to build a material index, including: Through the online ordering service system, store information and basic information of all dishes are obtained. Store information includes store location data, store business status, special dishes, sales data and user ratings. Basic information of dishes includes dish name, category, label, price, inventory, sales volume, sales revenue and sales time. Through the online ordering service system database, user historical order data is obtained, user registration information, historical order data, user browsing data and user comment data are obtained. User registration information includes age, gender and registration time. Historical order data includes order time, dish name, order quantity and consumption amount. Browsing data includes browsed dishes, browsing time, and browsing duration; user comment data includes reviewed dishes, comment content, and comment time; data cleaning and standardization techniques are used to integrate data, remove invalid data, and merge data sets from different sources to obtain integrated dish, store, and user information data sets. Invalid data includes duplicate records and error information; based on the integrated data, inverted index and B-tree data structures are used to construct material indexes, including indexing the name, category, and label of the dish through the inverted index, and indexing the store's geographical location and business status information using the B-tree index.
3. The method according to claim 1, wherein According to the user's current search keyword, dishes under the same category and label are obtained from the material index, and an extended dish recall is performed to obtain an extended recalled dish list, including: Through the online ordering service system, the user's current search keywords are obtained, and text processing tools are used to perform word segmentation operations on the user's search keywords to extract valid keyword information; based on the valid keyword information, an inverted index retrieval algorithm is used to match all dishes to obtain dishes that match the keywords, and the category and label of each dish are determined. Dishes with the same category and label are obtained from the material index, and dishes are expanded and recalled to obtain an expanded recalled dish list; based on the user's historical order data, complementary dishes are identified and removed from the user's historical order data to construct the user's historical interest menu data; based on the user's historical interest menu data and user browsing data, the similarity between users is calculated by calculating the cosine similarity method to evaluate the interest similarity between users; the historical order data and user browsing data of users whose interest similarity with the target user is higher than a preset similarity threshold are obtained, and dishes that the target user has not ordered or browsed are screened out to recall dishes to obtain a list of recalled dishes with similar interests; the expanded recalled dish list and the interest-similar recalled dish list are combined as the recalled dish list.
4. The method according to claim 3, wherein: The method of identifying complementary dishes based on the user's historical order data, removing the complementary dishes from the user's historical order data, and constructing the user's historical interest menu data includes: Based on the integrated user historical order data, the order data of users participating in the full-reduction activity is obtained, including the name of the dish, the price of the dish, the order quantity and the consumption amount; if the difference between the consumption amount of the user participating in the full-reduction activity and the full-reduction threshold of the full-reduction activity is less than the preset difference threshold, the order is marked as a potential order for making up for the order; the names and prices of low-priced dishes in the potential order for making up for the order are obtained, and low-priced dishes are dishes with prices lower than the preset price threshold; based on the consumption amount of the user's potential order for making up for the order, the price of the low-priced dish, the user's order frequency of the low-priced dish and the frequency of occurrence of low-priced dishes in the potential order for making up for the order in the full-reduction activity, the support vector machine algorithm is used for model training to construct a user's make-up dish recognition model to identify make-up dishes; the make-up dishes are removed from the user's historical order data to construct the user's historical interest menu data.
5. The method according to claim 1, wherein According to the user's context information and the basic information of the dishes, the recalled dishes that meet the current environment and time period are screened out, and the recalled dishes recommendation list is optimized to obtain an optimized recalled dishes recommendation list, including: Based on the user's positioning information, the user's geographic location data is obtained, the distance between the user and each store is determined, and the stores whose distance to the user's current location is less than a preset distance threshold are screened out. The list of dishes provided by the stores is obtained, and the dishes that meet the recalled dish list are screened out to generate a recalled dish recommendation list; based on the user's contextual information and the basic information of the dishes, a recurrent neural network is used for model training to build a user dish demand model, judge the user's current dish demand, screen out recalled dishes that meet the current environment and time period, and optimize the recalled dish recommendation list to obtain an optimized recalled dish recommendation list. The contextual information includes the current time, weather, and holidays.
6. The method according to claim 1, wherein The method of predicting the user's demand score for each dish in the optimized recalled dish recommendation list based on the target user's historical order data, user browsing data, user comment data, and optimized recalled dish feature data, and determining the user's dish recommendation list includes: According to the optimized recalled dish recommendation list, the dish feature data of each dish is obtained, and the user's historical order data, user browsing data, and user comment data are obtained through the online order service system database, and the obtained data is standardized. The dish feature data includes dish name, category, label, price and score. The standardization processing includes unique hot encoding for category data, converting discrete categories into vectors, using Z-score standardization method for numerical data, and using interpolation or mean filling method for missing values; based on the standardized user's historical order data, user browsing data, user comment data, and the optimized recalled dish feature data, a Transformer model is used to construct a user dish matching model; based on the target user's historical order data, user browsing data, user comment data, and the optimized recalled dish feature data, the user dish matching model is used to predict the user's demand score for each dish in the optimized recalled dish recommendation list, and filter out dishes with demand scores higher than the preset score threshold as the user dish recommendation list.
7. The method according to claim 1, wherein The method of calculating the similarity between dishes, adjusting the order of dishes in the user's dish recommendation list, and updating the optimal dish recommendation list based on the user's real-time behavior data includes: Based on the dish feature data in the user's dish recommendation list, the cosine similarity calculation method is used to calculate the similarity between each dish and other dishes. The feature data includes dish name, category, label, price and rating. Based on the calculated similarity between dishes and the user's rating of dish demand, the maximum marginal similarity algorithm is used to select the best dishes in the sorting position in turn, adjust the order of dishes in the user's dish recommendation list, and determine the optimal dish recommendation list. The formula of the maximum marginal similarity algorithm is: MMR is the maximum marginal relevance, R is the initial recommendation list, S is the current sorted recommendation result set, Rel(d i ) is the user’s demand score for dish i, Sim(d i ,d j ) is the similarity between dishes i and j, λ is the trade-off parameter of MMR, which is obtained by fitting historical data; through the online ordering service system, the real-time behavior data of users is obtained, and the optimal dish recommendation list is updated based on the real-time behavior data of users. The real-time behavior data of users include the search keywords, ordering data, browsing data and comment data of users; the basic information of dishes is obtained in real time, the adjusted user dish recommendation list is filtered, the filtered user dish recommendation list is supplemented with dishes based on the demand score, and the optimal dish recommendation list is re-determined. The filtering operation includes removing sold-out dishes, dishes that do not meet the user's purchase restrictions, and dishes with quality problems or violation records; through the online ordering service system, the optimal dish recommendation list is sent to the user end in the form of a list.
8. The method according to claim 1, wherein The method of obtaining user adoption rates and feedback data on the optimal dish recommendation list, determining user satisfaction with the current optimal dish recommendation list, and re-adjusting and pushing the optimal dish recommendation list based on user satisfaction includes: After the optimal dish recommendation list is pushed to the user through the online ordering service system, the user's order data, browsing data, comment data and feedback data are obtained; based on the user's adoption rate and feedback data of the optimal dish recommendation list, the user satisfaction with the current optimal dish recommendation list is judged; if the user satisfaction is lower than the preset threshold, the optimal dish recommendation list is readjusted and pushed based on the user's order data, browsing data, comment data and feedback data until the user satisfaction is higher than the preset threshold.
Citation Information
Patent Citations
Dish recommendation method
CN110544160A
Commodity searching method, device and system and electronic equipment
CN110781365A
Restaurant ordering recommendation method and system based on multi-user information fusion and entropy
CN112861008A
Dish recommendation method based on context awareness reordering
CN117194795A
