Method and system for generating recommendation information
By acquiring features of multiple object types and using prediction and calibration models to generate recommendation information, the problem of low efficiency in multi-type item recommendation is solved, achieving efficient feature fusion and computational optimization, which is suitable for recommendation scenarios in FEEDS streams and the catering industry.
Patent Information
- Application Number
- CN202111320729.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-09
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2041-11-09
AI Technical Summary
Existing multi-type item recommendation schemes ignore potential relationships when integrating different types of items, resulting in low recommendation efficiency, poor generalization ability, and feature sparsity issues that lead to computational complexity and resource waste, making it difficult to adapt to changes and updates in feature types.
By acquiring object features and user features of multiple types of objects, predictive data is generated using a prediction model, and a calibration model is used to unify the evaluation criteria. The data is then integrated and sorted to generate recommendation information, adapting to changes and updates in feature types for different recommendation scenarios.
It improves the generalization ability of the recommendation model, reduces feature sparsity, lowers the computational burden, and enhances the ease of system adjustment and maintenance, making it particularly suitable for recommendation scenarios in FEEDS streaming and the catering industry.
Smart Images

Figure CN114036382B_ABST
Abstract
Description
Technical Field
[0001] This application relates to information recommendation, and in particular, to methods and systems for providing recommendation information to users for objects of various types. Background Technology
[0002] Information recommendation is an important function of data platforms. When recommending content or items, the recommendation system of a data platform needs to process the characteristics of the recommended content or items. Recommended items generally include items with a single type of characteristic and items with multiple types of characteristics.
[0003] Single-type items have only a single type, such as products sold on an e-commerce platform, which belong to the single-type item category of "products". Recommendations for single-type items only involve placing recommendations for that specific type of item at the designated recommendation location. This type of recommendation does not involve an integrated recommendation list of different types of items; it only selects the recommendation order among different items within that single type.
[0004] There are various ways to recommend items with multiple types. However, some recommendation methods ignore the potential relationships between different scenarios, which reduces the efficiency of recommendation slots. Some recommendation methods have poor generalization ability, which leads to a deterioration in recommendation performance when faced with newly added item types. Some multi-item recommendation schemes are not conducive to extracting effective features, and the large scale of data they process can cause the curse of dimensionality, resulting in computational complexity and excessive computing power consumption during model engineering, leading to low efficiency.
[0005] Therefore, there is a need to improve the recommendation scheme for multiple types of projects. Summary of the Invention
[0006] Embodiments of this application propose a method, system, and storage medium for generating recommendation information involving multiple types of objects for users, in order to provide a fusion recommendation scheme for multiple types of objects with strong generalization ability to solve at least one of the problems mentioned above.
[0007] According to one aspect of this application, a method for generating recommendation information is proposed, comprising: obtaining object features of a plurality of objects to be recommended, wherein each object has a plurality of object types; for each object, determining a plurality of prediction data for each object based at least on the object features of the object, wherein each prediction data is associated with an object type possessed by the object; calibrating the prediction data to obtain calibration data for each object; and sorting the plurality of objects based on the calibration data to generate recommendation information to be provided to a user.
[0008] According to another aspect of this application, a system for generating recommendation information is proposed, comprising: a database configured to acquire and store object features of a plurality of objects to be recommended, wherein each object has a plurality of object types; and a recommendation unit configured to communicatively connect to the database and: for each object, determining a plurality of prediction data for each object based at least on the object features of the object, wherein each prediction data is associated with an object type possessed by the object; calibrating the prediction data to obtain calibration data for each object; and sorting the plurality of objects based on the calibration data to generate recommendation information to be provided to a user.
[0009] According to another aspect of this application, a computer-readable storage medium is provided that stores a computer program thereon, the computer program including executable instructions that, when executed by a processor, implement the method described above.
[0010] According to another aspect of this application, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the executable instructions to implement the method described above.
[0011] The proposed fusion recommendation scheme for multi-type objects can fuse features from different types of objects, taking into account the feature relationships in the business scenario. It exhibits strong model generalization ability to adapt to changes and updates in feature types, effectively reducing the problem of excessive fusion feature terms with empty data caused by the differences and irrelevance between multiple feature types. This also reduces the feature sparsity of the recommendation model, thereby reducing computational burden and improving the convenience of system adjustment and maintenance. This recommendation scheme is particularly suitable for application scenarios such as FEEDS streaming and the catering industry. Attached Figure Description
[0012] The above and other features and advantages of this application will become more apparent from a detailed description of exemplary embodiments thereof with reference to the accompanying drawings.
[0013] Figure 1 This is an exemplary logic block diagram of an algorithmic architecture for generating recommendation information according to embodiments of this application.
[0014] Figure 2 This is an exemplary structural block diagram of a system for generating recommendation information according to embodiments of this application.
[0015] Figure 3 This is an exemplary flowchart of a method for generating recommendation information according to an embodiment of this application.
[0016] Figure 4 This is an exemplary block diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0017] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided to make the content of this application comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. In the drawings, the dimensions of some elements may be exaggerated or modified for clarity. The same reference numerals in the drawings denote the same or similar structures, and therefore their detailed descriptions will be omitted.
[0018] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a full understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details described, or other methods, elements, etc., can be employed. In other instances, well-known structures, methods, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0019] Recommendation schemes for projects with multiple types include setting up independent recommendation positions for each type (e.g., separate ad slots). This separation of recommendation positions involves setting up different promotion modules (e.g., "Live Streaming Room," "Find Good Stores") within the e-commerce platform interface, with each module only displaying recommendations for its corresponding project type. However, in the configuration of separate recommendation positions, the system's backend logic for each position is still a single-type project recommendation scheme. That is, projects of the same type are ranked and recommended within their respective recommendation positions, resulting in each type of project being modeled separately, reducing the efficiency of recommendation slots (e.g., ad slots). Therefore, strictly speaking, the method of separating recommendation positions does not constitute a true multi-type project recommendation.
[0020] True multi-type item fusion recommendation requires integrating user features with the features of the items to be recommended. Some recommendation methods fuse multiple item types, but only use simple parameters such as item ID and tags as features of the recommended items. If only simple parameters such as item ID and tags are used as features of items and fused with user features, it is impossible to fully extract the feature information of the items, obtain accurate recommendation results based on the relationship between users and items, and cause the performance of the recommendation system to degrade when the type of items changes or is updated.
[0021] Some multi-type item recommendation schemes integrate various features of items, merging user features and recommended item features into a single feature relationship table (also known as a wide feature table). While recommendation schemes using wide feature tables can achieve high generalization performance by integrating almost all features, including user and item features, into a single feature data relationship table, wide feature tables suffer from problems of massive size and strong feature sparsity. Sparsity refers to the existence of certain type items where features that are relevant or related to that type item have meaningful values, while other irrelevant or ineffective features have no meaningful values or useful information in that type item, resulting in empty data type items (usually assigned null or zero values). For example, in a wide feature table represented in matrix form, if there is no correlation or interaction between the features of the corresponding row and column types, the value of the item marked by that row and column is null (empty value). Other non-empty data type items indicate that there is a correlation or interaction between related features. The more clusters there are between type items with non-empty data and type items with empty data, the stronger the sparsity of this feature representation. Feature representation methods such as wide feature tables contain many type items with strong sparsity, making it difficult for recommendation algorithms to extract features quickly and effectively. Wide feature tables also contain many wasted dimensions, making model engineering computationally complex and consuming excessive computational resources.
[0022] The performance of integrating multiple project types is also related to specific recommendation scenarios. For example, FEEDS (Feedback Streams) is a common application scenario for recommendation systems, encompassing various types of push notifications. FEED originated from early RSS and is a type of continuously updated content presented to users. Users can choose to subscribe to multiple resources; websites provide FEED URLs, which users register in their readers. The resulting aggregated page in the reader is the FEED stream. FEED stream generation is primarily based on push operations, while updates include push, pull, and a combination of push and pull (HYBRID). Because the information in a FEED stream comes from different sources, it includes various types of data and features. Common FEED stream formats include text, image, and video streams. The presentation of FEED streams has evolved from Timeline (based on the chronological order of content updates) to update time sorting (equivalent to reverse chronological order of occurrence) and finally to intelligent sorting. More and more social networks are abandoning the traditional Timeline display method and adopting intelligent sorting, such as well-known international websites like Facebook and Twitter, and domestic websites like Sina Weibo and Zhihu. Intelligent sorting considers various factors such as trends, hot topics, user-generated content (UGC), editor-recommended PGC, and similarity. With technological advancements, intelligent algorithms will better understand user preferences. Intelligent sorting can improve the efficiency of content acquisition for users by adding high-quality content that users are interested in. Whether it's timeline, last update time sorting, or intelligent sorting, the choice of different FEEDS stream display methods needs to closely align with actual user needs. Therefore, recommending information to users in FEEDS stream application scenarios requires building efficient and accurate recommendation models and multi-type feature fusion methods.
[0023] Furthermore, in advertising and promotional scenarios such as the catering industry, there is a need to integrate and recommend various types of items in the user menus, coupon and points malls, and online activity interfaces of catering websites, apps, and mini-programs. These different types of items come from different sources and involve different types of goods, services, and activities. How to integrate these items with different types of characteristics and provide users with recommendation information (e.g., in the form of a list) that meets their personalized needs is the problem that the embodiments of this application aim to solve.
[0024] It should be understood that in this article, "object" refers to the item (or material) to be recommended during the recommendation process. Objects include physical items such as products, goods, commodities, and food, as well as virtual items such as information, content, and services.
[0025] Figure 1Exemplary logic of an algorithmic architecture for generating recommendation information according to embodiments of this application is shown.
[0026] First, user features 101, used to provide recommendation information to users, and object features 102, used to recommend objects, are obtained. User features 101 characterize user attributes and preferences, forming the basis for personalized recommendations. Object features 102 characterize the characteristics and parameters of objects across various dimensions, and are crucial features that need to be integrated during multi-type object recommendation. At least object features 102 must be obtained to make recommendations based on different dimensions of the object. Adding user features 101 further enables personalized recommendations for different users. Each object discussed in this paper generally has multiple object types, and therefore its object features also have multiple types. In the following text, the terms object type and feature type correspond, meaning that because an object has multiple types, its object features have corresponding multiple types. Object features can be represented using feature vectors, which include feature components corresponding to these object types. Similarly, user features, which can be represented using feature vectors, can also include different feature components.
[0027] Before fusing user feature 101 and object feature 102, the features can be categorized into common features (components) and specific features (components) based on how they are used by the model. Common features (components) are those commonly used by prediction models corresponding to different recommendation scenarios during the process of calculating predicted scores for ranking objects using the recommendation system's prediction models. Specific features (components) are those used individually by each of these prediction models. Specific features (components) are associated with the object type. Each recommendation scenario has a unique object type; therefore, the type of specific features (components) corresponds to the object type defined by the recommendation scenario.
[0028] This paper primarily describes the recommendation scheme of this application in the case of providing recommendation information for multiple types of objects to a single user. When providing recommendation information to this user, relative to the multiple types of object features, the user's user features 101 (such as the user's basic attributes) need to be used by the prediction models corresponding to each recommendation scenario. Therefore, user features 101 can be considered as common features, and the user feature components contained in user features 101 belong to common feature components 103. In object features 102, there may also be feature components that are used by all prediction models. In this case, these types of feature components also belong to common feature components 103. For most object feature components in the multiple types of object features 102, they are usually associated with specific recommendation scenarios. Therefore, these object feature components belong to proprietary feature components 104. For example, when the object features include food types, the object feature components include proprietary feature components 104 representing food-related parameters, ingredients, taste-related information, and attributes. When the object features include activity types, the object feature components include proprietary feature components 104 representing game, participants, activity reward-related information, and attributes. Since object feature 102 has multiple types, its object feature components include object feature components belonging to different object types. These object feature components belong to specific feature components 104 corresponding to specific recommendation scenarios.
[0029] For the same recommendation scenario, the object types associated with that scenario constitute the object type set for that scenario. Different recommendation scenarios can be distinguished by their corresponding object type sets. Using this classification method, feature tables can be built for different recommendation scenarios and object types based on common features (components) and specific features (components). For example, Figure 1 The common feature 103 represents the set of common feature components used by prediction models for all recommendation scenarios in user feature 101 and object feature 102. According to embodiments of this application, these common feature components can be fused (e.g., through concatenation) to form an integrated common feature vector. The specific features 104 include: a set 104a consisting of specific feature components corresponding to object types in the object type set of recommendation scenario A corresponding to prediction model 110a; a set 104b consisting of specific feature components corresponding to object types in the object type set of recommendation scenario B corresponding to prediction model 110b; ...; and a set 104n consisting of specific feature components corresponding to object types in the object type set of recommendation scenario N corresponding to prediction model 110n, where n is an integer greater than 1.
[0030] Each recommendation scenario has a corresponding prediction model to calculate predicted scores based on the relevant input features. These prediction models can also be called business line models. Different recommendation scenarios require different recommendation models. Thus, selecting a prediction model corresponding to a recommendation scenario is equivalent to selecting a prediction model corresponding to the set of object types in that recommendation scenario. Generally, the number of prediction models is adapted to the number of different recommendation scenarios. If the number of prediction model types is large enough, prediction and recommendation functions for more sets of object types can be provided across recommendation scenarios.
[0031] Before using prediction models 110a to 110n to calculate the predicted scores of the objects to be recommended under different recommendation scenarios, it is necessary to generate input features that the prediction models can recognize. For prediction model 110a, the common feature components contained in common feature 103 and the proprietary feature components in set 104a corresponding to the object types in the object type set of recommendation scenario A are fused to generate input feature 105a of prediction model 110a. Input feature 105a can be considered as the recommendation feature vector corresponding to recommendation scenario A. Fusion can be accomplished, for example, by vector concatenation or other vector operations that can combine multiple feature vectors (components) into an input feature format that conforms to the prediction model. Similarly, input feature 105b of prediction model 110b is generated by vector concatenation of common feature components in common feature 103 and proprietary feature components in set 104b, and input feature 105n of prediction model 110n is generated by vector concatenation of common feature components in common feature 103 and proprietary feature components in set 104n.
[0032] Prediction models 110a to 110n determine prediction data 111a to 111n associated with recommendation scenarios A to N, respectively, based at least on the fused features (i.e., input features 105a-105n) obtained from object features 102. Considering user features 101, prediction data 111a to 111n associated with recommendation scenarios A to N can be determined based on the fused features (i.e., input features 105a-105n) obtained from both object features 102 and user features 101. The prediction data indicates the evaluation information of user features and multiple types of object features in the corresponding recommendation scenario, for example, in the form of a prediction score. The prediction score is a measure of evaluation and can be in the form of a score value, probability value, or other forms. The prediction model can be a deep learning model, such as a neural network model like DNN or CNN, or other models capable of calculating prediction data for recommendations based on input features. Before using a prediction model, it is necessary to train the model on a training dataset consisting of labeled user features and multi-type object features (such as input features composed of public and proprietary features associated with the recommendation scenario corresponding to the prediction model) and other data such as user feedback to determine the model's parameters.
[0033] Because the prediction models for each recommendation scenario target different sets of object types, the evaluation criteria (e.g., scoring standards and formats) of the calculated prediction data are inconsistent, making it impossible to integrate the recommendation prediction data for multiple object types across these scenarios to obtain the final prediction data. For example, food objects and activity objects typically do not share the same or similar feature vectors and feature components, resulting in differences in the model's training data sampling methods and model structure settings. Consequently, the prediction data (scores) based on the corresponding recommendation scenarios are not comparable. One of the key aspects of the recommendation process in this application is how to unify the prediction data obtained from evaluations based on different scoring standards to the same evaluation dimension or range for subsequent comparison. In the embodiments of this application, a calibration model 120 is introduced to unify the evaluation criteria among the outputs of various prediction models.
[0034] The calibration model 120 adjusts the predicted data 111a to 111n of each output of the prediction models 110a to 110n to be comparable across the same evaluation dimensions or ranges, based on a common calibration standard applicable to multiple object types. The input data for the calibration model 120 can use the type data and corresponding predicted data of each prediction model. The model type data is used to distinguish prediction models, for example, it can take the form of a model ID or ordinal number. Here, the model ID or ordinal number, as a symbolic quantity belonging to discrete features, may not have actual feature meaning or physical significance but is only used to distinguish and label prediction models. The model type data 112a to 112n and the predicted data 111a to 111n can be used to generate the input data 121a to 121n of the calibration model 120 through different data / vector operations or manipulations. For example, the model type 112a of the prediction model 110a associated with recommendation scenario A can be concatenated with the predicted data 111a to obtain a data pair or data vector (112a, 111a) as input data 121a. In this scenario, calibration model 120 can obtain the object types and corresponding features involved in the recommendation scenario A corresponding to the prediction model 110a based on the model ID / serial number information 112a extracted from the input data 121a, and convert the corresponding prediction data into calibration data 112a on a unified evaluation dimension and scope. Calibration model 120 generally includes calibration rules for converting and calibrating the prediction data for various object types and corresponding feature types involved in various recommendation scenarios A to N. Calibration model 120 can be shared by all prediction models 110a to 110n, or different calibration models can be used for different prediction models. Sharing a calibration model facilitates maintenance and updates. Calibration model 120 can be implemented using deep learning models and neural network models such as DNN and CNN. The model can be trained before using calibration model 120.
[0035] The calibration data 122a to 122n, after being calibrated by calibration model 120, correspond to the input data 121a to 121n, respectively, and they belong to the same evaluation dimension or evaluation range. The data formats of the calibration data and the predicted data may be the same or different, and both belong to the evaluation metric information.
[0036] Finally, after calculating the corresponding calibration data 122a to 122n for each multi-type object, sorting or reordering 130 can be performed based on this calibration data (if the object data provided to the user is already sorted information). Sorting 130 can, for example, be based on ascending or descending order of the values of the calibration data 122a to 122n for all multi-type objects. The arrangement of multiple multi-type objects corresponding to the sorted calibration objects, as recommendation information, can be provided to the user through the user interface in the form of promotional information.
[0037] Users can intervene in or control the recommendation process by providing corresponding recommendation rules to the recommendation algorithm architecture. For example, users can set and modify the object type and feature type corresponding to the recommendation scenario, create and select a prediction model corresponding to the recommendation scenario (and even select a prediction model that crosses object type and feature type in the recommendation scenario), create and adjust the calibration rules of the calibration model 120, and control the algorithm and rule configuration of at least one of the ranking rules of the ranking 130.
[0038] As users and objects are updated, the recommendation information is also continuously updated, and user feedback on the recommendation information is also obtained. Updated user and object features, along with user feedback data, can be added to the historical training data of the prediction model as incremental update training data. The prediction model can be retrained periodically or irregularly to update or incrementally update the model parameters. Accordingly, the updated prediction model performs better, can calculate more accurate prediction data, and obtain more accurate recommendation information. According to embodiments of this application, the parameters of the calibration model 120 can also be updated based on this updated data in a similar manner to updating the prediction model.
[0039] For scenarios involving updating multi-type object information based on FEEDS streams, the recommendation algorithm architecture of this application can continuously optimize the model and correct recommendation information, providing personalized recommendations that accurately reflect the recommendation scenario. In recommendation scenarios such as the catering industry, the obtained recommendation information can also quickly and effectively track changes in the store's dishes, services, and activities within a set time window, and periodically iterate and update the model and recommendation information.
[0040] Figure 2 An exemplary system for generating recommendation information according to embodiments of this application is shown. Wherein, with Figure 1 The same or similar content in the algorithm architecture will not be repeated.
[0041] The recommendation system 200 mainly includes a database 210, a recommendation unit 220, a model unit 230, and a log unit 240.
[0042] Users interact with the recommendation system 200 through user device 250. User device 250 includes mobile devices such as smartphones, tablets, or mobile terminals used in conjunction with the recommendation system 200. In some cases, user device 250 may also be provided by the recommendation system 200 as part of it.
[0043] Database 210 is used to acquire and store object features of various types of objects to be recommended and user features of users involved in the recommendation scenario, as well as returned recommendation information and user feedback. At least object features need to be acquired and stored; adding user features allows for personalized recommendations for different users. Object features and user features can be stored as object profiles and user profiles, respectively. As an offline database, database 210 not only stores user features and object features but also the prediction model required by model unit 230 and the prediction model after training. Database 210 can also support providing recommendation results and feedback information as training data to model unit 230, and providing them in the form of reports to the administrators of recommendation system 200 and other users for data monitoring and analysis. Database 210 can be a local database of recommendation system 200 or a remote database existing in the form of a network database or cloud database.
[0044] Recommendation unit 220, as the core component of recommendation system 200, can take the form of an online "recommendation system platform." It can communicate with database 210 via wired or wireless means and implement most of the functions of recommendation system 200. These functions include, but are not limited to: for each multi-type object, determining multiple prediction data associated with the object type of each object based on object features and user features obtained from database 210; calibrating these prediction data to obtain calibration data for each object; and ranking multi-type objects based on the calibration data to generate recommendation information.
[0045] The recommendation unit 220 may include a calibration model 221, a rule engine 222, a sorting module 223, a fusion module 224, and a user interface 225.
[0046] Recommendation unit 220 also includes a prediction model 232 obtained from model unit 230. Prediction model 232 includes at least one prediction model corresponding to the recommendation scenario involved in the object currently calculating its calibration data. These recommendation scenarios are selected from recommendation scenario AN, therefore the selected at least one prediction model is selected from a set of prediction models consisting of multiple prediction models 232a to 232n corresponding to recommendation scenario AN. According to embodiments of this application, recommendation unit 220 may also store prediction model 232 within the unit or obtain prediction model 232 from database 210.
[0047] The fusion module 224 fuses the common and proprietary feature components from the user and object features in the database 210 to generate the input feature vector, i.e., the fused feature, for each prediction model in the prediction model 232 corresponding to the recommendation scenario. The recommendation unit 220 can also obtain user and object features from the database 210 via the feature center 231 (described in detail below) included in the model unit 230. The input features (fused features) output by the fusion module 224 are provided to the prediction model 232 to calculate, for example... Figure 1 The predicted data shown.
[0048] Recommendation unit 220 generates input data for calibration model 221 based on the predicted data output by prediction model 232 and the type data of the prediction model. Calibration model 221 transforms and calibrates the input data, generating calibration data corresponding to each prediction model. Multiple calibration data output by calibration model 221 are input to sorting module 223 to obtain sorted or reordered calibration data for the object. Sorting module 223 can sort or reorder the calibration data set consisting of calibration data for all objects. Recommendation unit 220 generates recommendation information based on the sorted or reordered calibration data for each object.
[0049] Recommended information is provided to user device 250 via interactive functions offered by the system front-end user interface 225. The user interface 225 can also be provided via a display subunit (in... Figure 2 (Not shown) The recommendation information is presented to the user. The display subunit can also be part of the user interface 225. When the user accesses the recommendation system 200 through an app or applet installed on the user device 250 or through an interface such as a webpage, the user interface 225 can extend to be displayed on the user device 250.
[0050] The user interface 225 is used not only to provide recommendation information to the user device 250, but also to receive recommendation rules input by the user. Recommendation rules include various configuration parameters for the operation of the recommendation system 200, such as rule settings for recommendation scenarios, prediction models, calibration models, fusion modules, and ranking modules. These recommendation rules are collected by the rule engine 222 and applied to the operation of the recommendation unit 220.
[0051] Model unit 230, acting as an offline model library, communicates with both database 210 and recommendation unit 220, providing functions related to the prediction model. Feature center 231 obtains historical and updated data of user feature data, object feature data, recommendation information data, and user feedback data from database 210. Model unit 230 can also obtain basic prediction models from database 210 and store trained prediction models in database 210 for subsequent recommendation processes. Similarly, recommendation unit 220 can store calibration model 221 in database 210. The prediction model set 232a to 232n stored in model unit 230 includes recommendation models corresponding to various recommendation scenarios involving multiple types of objects in the recommendation system, which are called by recommendation unit 220 as needed. Model training module 233 uses object features, user features, recommendation information, and user feedback provided by feature center 231 from database 210 to form a labeled training dataset, training the model parameters before using the prediction model. The training dataset typically comes from training sample data that has been manually or automatically labeled and validated. In embodiments of this application, training sample data may also come from historical data of object features, user features, recommendation information, and user feedback obtained in previous recommendation processes stored in database 210.
[0052] As the recommender system 200 continues to run, the model training module 233 can retrain the prediction model based on updated data including object features, user features, recommendation information, and user feedback to improve model performance. The recommender unit 220 can also use updated data including object features, user features, recommendation information, and user feedback to retrain and calibrate the calibration model 221 to update the model.
[0053] The log unit 240 in the recommender system 200 is used to collect user feature data, object feature data, and user feedback data from the user device 250, as well as data feedback from the recommender unit 220. It can be considered as the data collection unit of the recommender system 200, which is communicatively connected to the database 210 and the recommender unit 220. The data feedback includes recommendation information generated by the recommender unit 220, and may also include intermediate data during the recommendation process and model parameters for calibrating the model 221. The data acquired online by the log unit 240 is sent to the database 210. Figure 2 The dashed arrows in the middle show the data flow outside the process of recommending multiple types of objects to users, including the part of database 210 that acquires data online in real time or periodically via log unit 240 (top left) and the part that trains a prediction model offline based on historical data stored in database 210 (bottom).
[0054] Log unit 240 can, for example, use the Kafka distributed log system as a pipeline for real-time data transmission. As a log collection and messaging system, Kafka is a distributed, partitioned, multi-replica, multi-subscriber distributed log system originally developed by LinkedIn. It is typically used for access log collection and messaging services. Kafka guarantees good access performance and high throughput, supports message partitioning and sequential transmission, as well as real-time offline and online data processing, and is highly scalable.
[0055] According to embodiments of this application, a method for generating recommendation information is also proposed, the main steps of which are as follows: Figure 3 As shown. The method mainly includes the steps described below, where each step is combined with the above. Figure 1 and Figure 2 The recommendation process and similar content in the system will not be repeated.
[0056] Step S310: Obtain the object features (and user features) of the various types of objects to be recommended. At least the object features must be obtained. Adding user features enables personalized recommendation functionality for individual users.
[0057] Step S320: For each object, determine multiple prediction data for multiple recommendation scenarios involving the object based on at least the object's features. Step S320 further includes generating an object type set based on the object types associated with the recommendation scenarios and establishing a prediction model corresponding to the recommendation scenarios. For user features and object features, in step S320, based on the division of common feature components and specific feature components, the common feature components and the specific feature components corresponding to the object types in the object type set are fused to generate the input features of the prediction model (i.e., fused features), which are then used to determine the prediction data associated with the recommendation scenarios. Fusion may include concatenating these feature components into vectors.
[0058] Step S330: Calibrate these prediction data to obtain calibration data corresponding to the object. Specifically, for each prediction model, input data for the calibration model is generated based on the model type and the prediction data output by the model, enabling the calibration model to determine the calibration data corresponding to these prediction data.
[0059] Step S340: Sort the corresponding calibration data for all multi-type objects to generate recommendation information to be provided to users.
[0060] As can be seen from the above introduction, the fusion recommendation scheme for multi-type objects proposed in this application can consider the feature relationships in the business scenario for objects with different types of features, fuse features of different types of related objects, and has strong model generalization ability to adapt to changes and updates in feature types. It effectively reduces the problem of fused feature terms with too much null data due to the differences and irrelevance between multiple types of features, reduces the feature sparsity of the recommendation model to reduce computational burden and improve the convenience of system adjustment and maintenance. This recommendation scheme is particularly suitable for application scenarios such as FEEDS streaming and the catering industry.
[0061] It should be noted that although several modules or units for generating recommendation information have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units. Components displayed as modules or units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without any inventive effort.
[0062] In exemplary embodiments of this application, a computer-readable storage medium is also provided, on which a computer program is stored, the program including executable instructions that, when executed by, for example, a processor, can implement the steps of the method for generating recommendation information described in any of the above embodiments. In some possible implementations, various aspects of this application can also be implemented as a program product including program code that, when run on a terminal device, causes the terminal device to perform the steps described in the various exemplary embodiments of this application for the method of generating recommendation information.
[0063] The program product for implementing the above-described method according to embodiments of this application may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of this application is not limited thereto. In this document, a readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0064] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0065] The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0066] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0067] In an exemplary embodiment of this application, an electronic device is also provided, which may include a processor and a memory for storing executable instructions of the processor. The processor is configured to perform the steps of the method for generating recommendation information in any of the above embodiments by executing the executable instructions.
[0068] Those skilled in the art will understand that various aspects of this application can be implemented as a system, method, or program product. Therefore, various aspects of this application can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, collectively referred to herein as a "circuit," "module," or "system."
[0069] The following reference Figure 4 To describe an electronic device 400 according to this embodiment of the present application. Figure 4 The electronic device 400 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0070] like Figure 4 As shown, the electronic device 400 is presented in the form of a general-purpose computing device. The components of the electronic device 400 may include, but are not limited to: at least one processing unit 410, at least one storage unit 420, a bus 430 connecting different system components (including storage unit 420 and processing unit 410), a display unit 440, etc.
[0071] The storage unit stores program code that can be executed by the processing unit 410, causing the processing unit 410 to perform the steps described in the method for generating recommendation information according to various exemplary embodiments of this application. For example, the processing unit 410 can perform actions such as... Figure 3 The steps are shown in the figure.
[0072] The storage unit 420 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 4201 and / or a cache storage unit 4202, and may further include a read-only memory unit (ROM) 4203.
[0073] The storage unit 420 may also include a program / utility 4204 having a set (at least one) program module 4205, such program module 4205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0074] Bus 430 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0075] Electronic device 400 can also communicate with one or more external devices 500 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 400, and / or with any device that enables electronic device 400 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 450. Furthermore, electronic device 400 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 460. Network adapter 460 can communicate with other modules of electronic device 400 via bus 430. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0076] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, or network device, etc.) to execute the method for generating recommendation information according to the embodiments of this application.
[0077] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the appended claims.
Claims
1. A method for generating recommendation information, comprising: Obtain the object characteristics of multiple objects to be recommended to the user, where each object has multiple object types; For each object, at least based on the object characteristics of the object, multiple prediction data for each object are determined, wherein each prediction data is associated with the object type that the object possesses; The predicted data is calibrated to obtain calibration data for each object, wherein the calibration data for all objects belong to the same evaluation dimension or evaluation range; as well as The multiple objects are sorted based on the calibration data to generate recommendation information to be provided to the user.
2. The method according to claim 1, characterized in that, It further includes acquiring the user characteristics of the user, and for each object, determining multiple prediction data for each object based on the object characteristics and the user characteristics of the object.
3. The method according to claim 1 or 2, characterized in that, The object characteristics and / or user characteristics of the multiple objects include common feature components and proprietary feature components, wherein the common feature components are shared by the multiple objects, and the proprietary feature components correspond to the object type of the object.
4. The method according to claim 3, characterized in that, For each object, determining multiple prediction data for each object based at least on the object characteristics of the object further includes: Generate a set of object types based on the object types associated with the recommendation scenario; The common feature components and the specific feature components corresponding to the object types in the object type set are fused to generate a fused feature; and The predicted data associated with the recommended scenario is determined based on the fusion features.
5. The method according to claim 4, characterized in that, The process of fusing the common feature components and the specific feature components corresponding to the object types in the object type set to generate the fused feature further includes: The common feature components and the proprietary feature components corresponding to the object types in the object type set are concatenated into vectors.
6. The method according to claim 4, characterized in that, The prediction data associated with the recommendation scenario is determined using a prediction model corresponding to the recommendation scenario.
7. The method according to claim 6, characterized in that, Calibrling the predicted data to obtain calibration data for each object further includes: For each prediction model, the calibration data is determined based on the type of the prediction model and the prediction data output by the prediction model.
8. The method according to claim 7, characterized in that, The calibration data is determined using a calibration model.
9. The method according to claim 7 or 8, characterized in that, Determining the calibration data further includes: The prediction data of each prediction model is calibrated to generate calibration data for each prediction model; Calibration data for the object is generated based on the calibration data of each prediction model.
10. The method according to claim 1 or 2, characterized in that, Recommendation information is generated for the user based on the recommendation rules provided by the user.
11. The method according to claim 6, characterized in that, The prediction model is trained before each prediction model is used.
12. The method according to claim 6, characterized in that, The prediction model is updated based on at least one of the updated data of the object features, the updated data of the user features, and user feedback.
13. The method according to claim 9, characterized in that, The calibration model is updated based on at least one of the updated data of the object features, the updated data of the user features, and user feedback.
14. The method according to claim 1 or 2, characterized in that, The method is used to generate recommendation information based on FEEDS stream information.
15. The method according to claim 14, characterized in that, The FEEDS streams are FEEDS streams associated with the catering industry.
16. A system for generating recommendation information, comprising: The database is configured to retrieve and store object features of multiple objects to be recommended to users, where each object has multiple object types; The recommendation unit is configured to communicate with the database and, for each object, determine multiple predicted data for each object based at least on the object features of the object, wherein each predicted data is associated with an object type possessed by the object; calibrate the predicted data to obtain calibration data for each object, wherein the calibration data for all objects belongs to the same evaluation dimension or evaluation range; and sort the multiple objects based on the calibration data to generate recommendation information to be provided to the user.
17. The system according to claim 16, characterized in that, The database is further configured to acquire and store the user's user features, and the recommendation unit is further configured to determine multiple prediction data for each object based on the object's object features and the user's user features.
18. The system according to claim 16 or 17, characterized in that, The object characteristics and / or user characteristics of the multiple objects include common feature components and proprietary feature components, wherein the common feature components are shared by the multiple objects, and the proprietary feature components correspond to the object type of the object.
19. The system according to claim 18, characterized in that, The recommendation unit is further configured as follows: Generate a set of object types based on the object types associated with the recommendation scenario; The common feature components and the proprietary feature components corresponding to the object types in the object type set are fused to generate a fused feature; as well as The predicted data associated with the recommended scenario is determined based on the fusion features.
20. The system according to claim 19, characterized in that, The system also includes a model unit configured to communicate with the database and the recommendation unit respectively and to provide a prediction model corresponding to the recommendation scenario. The recommendation unit is further configured to use the prediction model to determine the prediction data associated with the recommendation scenario based on the fusion features.
21. The system according to claim 19 or 20, characterized in that, The recommendation unit is further configured to generate the fused feature by vector concatenating the public feature components and the proprietary feature components corresponding to the object types in the object type set.
22. The system according to claim 20, characterized in that, The recommendation unit is further configured as follows: For each prediction model, the calibration data is determined based on the type of the prediction model and the prediction data output by the prediction model.
23. The system according to claim 22, characterized in that, The recommendation unit includes a calibration model configured to determine the calibration data.
24. The system according to claim 22, characterized in that, The recommendation unit is further configured as follows: The prediction data of each prediction model is calibrated to generate calibration data for each prediction model; Calibration data for the object is generated based on the calibration data of each prediction model.
25. The system according to claim 16 or 17, characterized in that, The recommendation unit is further configured to generate recommendation information for the user based on the recommendation rules provided by the user.
26. The system according to claim 20, characterized in that, The database also stores the object features, the user features, the recommendation information, and historical data of user feedback. The model unit is further configured to train the prediction model based on the historical data.
27. The system according to claim 20, characterized in that, The recommendation unit and the model unit are further configured to update the prediction model based on at least one of the updated data of the object features, the updated data of the user features, and user feedback.
28. The system according to claim 23, characterized in that, The recommendation unit and the model unit are further configured to update the calibration model based on at least one of the updated data of the object features, the updated data of the user features, and user feedback.
29. The system according to claim 16 or 17, characterized in that, The recommendation unit also includes a user interface for interacting with the user.
30. The system according to claim 16, characterized in that, The system also includes a logging unit configured to collect the object features, the recommendation information and user feedback, and to send the collected data to the database.
31. The system according to claim 17, characterized in that, The system also includes a logging unit configured to collect the object features, the user features, the recommendation information and user feedback, and to send the collected data to the database.
32. The system according to claim 16 or 17, characterized in that, The system is used to generate recommendation information based on FEEDS stream information.
33. The system according to claim 32, characterized in that, The FEEDS streams are FEEDS streams associated with the catering industry.
34. A computer-readable storage medium having a computer program stored thereon, the computer program including executable instructions that, when executed by a processor, implement the method according to any one of claims 1 to 15.
35. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the executable instructions to implement the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Information processing method and device, information processing equipment and storage medium
CN112989182A
Heterogeneous graph neural network-based recommendation method
CN112990972A