A recommendation method and related apparatus
By extracting user and item operation information sets, target user feature vectors and target item feature vectors are generated. The target recommendation model is then used to output recommendation information, which solves the problem of inaccurate selection rate prediction in existing technologies and achieves more accurate item recommendations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2021-06-30
- Publication Date
- 2026-07-31
AI Technical Summary
Existing selection rate prediction methods cannot accurately reflect the probability of user selection in item recommendation, resulting in inaccurate recommendation results.
By acquiring the operation information set of target users and items, the feature vectors of target users and target items are extracted. Based on the target recommendation model, recommendation information is output. Considering the user's attribute information, item's attribute information, and operation type, feature vector fusion is performed using activation functions and weighted summation to generate a more accurate recommendation index.
It improves the accuracy of item recommendations, enabling more precise prediction of user actions on items, thereby enhancing the accuracy of the recommendation system and user satisfaction.
Smart Images

Figure CN115545738B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence, and more particularly to a recommendation method and related apparatus. Background Technology
[0002] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0003] Selection rate prediction refers to predicting the probability of a user selecting a particular item under specific circumstances. For example, selection rate prediction plays a crucial role in recommendation systems for applications such as app stores and online advertising. By predicting selection rate, businesses can maximize profits and improve user satisfaction. Recommendation systems need to consider both the user's selection rate and the item's bid price. The selection rate is predicted by the recommendation system based on the user's historical behavior, while the item's bid price represents the system's revenue after the item is selected / downloaded. For instance, a function can be constructed that calculates a value based on the predicted user selection rate and the item's bid price. The recommendation system then sorts items in descending order according to this function value.
[0004] However, selection rate prediction can only represent the probability of a user selecting an item, and the item recommendation results based on this information are not accurate. Summary of the Invention
[0005] Firstly, this application provides a recommended method, the method comprising:
[0006] Obtain a first set of operation information for the target user. The first set of operation information includes attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types. The correspondence is used to indicate the operation type of the target user's operation on the multiple items.
[0007] The target user's attribute information can be attributes related to user preferences, such as at least one of gender, age, occupation, income, hobbies, and education level. Gender can be male or female, age can be a number between 0 and 100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be primary school, junior high school, high school, university, etc. This application does not limit the specific type of the target user's attribute information.
[0008] The items can be physical or virtual, such as apps, audio / video files, web pages, and news articles. The attribute information of the items can be at least one of the following: item name, developer, installation package size, category, and rating. For example, if an item is an application, the category can be chat, parkour, office, etc., and the rating can be a score or review of the item. This application does not limit the specific type of attribute information of the items.
[0009] Among these, the operation type can be the type of behavioral operation performed by the target user on the item. On online platforms and applications, users often have various forms of interaction with items (that is, multiple operation types), such as... Figure 5 The diagram illustrates user actions on e-commerce platforms, including browsing, clicking, adding items to cart, and purchasing. These diverse behaviors reflect user preferences and are very helpful in accurately characterizing user traits. It should be understood that action types that reflect a user's preference for certain items can also be called positive action types.
[0010] It should be understood that the data presentation state of the operation type in the embodiments of this application can be a feature vector (which can also be referred to as the operation type feature vector in the embodiments of this application). The operation type feature vector can be updated during the training process of the target recommendation model and obtained after the target recommendation model converges (or meets the data processing accuracy requirements). During the training process of the target recommendation model, the generalization of the operation type feature vector is continuously enhanced. When the target recommendation model converges, the operation type feature vector can have strong generalization. The so-called strong generalization means that the operation type feature vector can be applied to the target recommendation model to predict the probability of operations between new users and new items, and the accuracy of the probability prediction is very high.
[0011] It should be understood that each operation type can correspond to an operation type feature vector, and when performing model inference for the target recommendation model, the operation type feature vector corresponding to each operation type can remain fixed.
[0012] It should be understood that the operation type feature vector can be used to generate the target user feature vector and the target item feature vector, or it can be used as the input of the target recommendation model alone. The target recommendation model can calculate the probability that the target user will perform an operation of the operation type corresponding to the operation type feature vector on the target item based on the target user feature vector, the target item feature vector and the operation type feature vector.
[0013] Based on the first set of operational information, feature extraction is performed to determine the target user feature vector;
[0014] A second set of operation information for the target item is obtained. The second set of operation information includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence is used to indicate the operation type of the multiple users performing operations on the target item.
[0015] Based on the second set of operational information, feature extraction is performed to determine the feature vector of the target item;
[0016] Based on the target user feature vector and the target item feature vector, recommendation information is output based on the target recommendation model. The recommendation information is used to represent the probability that the target user performs the multiple operation types on the target item.
[0017] When the recommendation information meets the preset conditions, the target item is recommended to the target user.
[0018] In one possible implementation, when recommending information to a target user, the probability of the target user performing multiple operation types on multiple items (including the target item) can be calculated, and the recommendation index of each item for the target user can be determined based on the probability of the multiple operation types.
[0019] In one possible implementation, the maximum probability among the probabilities of multiple operation types for each item by the target user can be selected to characterize the recommendation index of each item for the target user.
[0020] In one possible implementation, the combined value of the probability of multiple operation types of each item by the target user can be calculated to represent the recommendation index of each item to the target user. The combined value can be based on a weighted summation method. Specifically, corresponding weights can be set for each operation type. For example, the weight of the purchase operation is greater than the weight of the add to cart operation. Then, the recommendation index of each operation type can be obtained by combining the weights and probabilities of each operation type based on a weighted summation.
[0021] After obtaining the recommendation index of each item for the target user, the recommendation indexes can be sorted, and the M items with the highest recommendation index (including the target item) can be recommended to the target user.
[0022] In one possible implementation, a probability threshold can be set. When the probability of at least one of the multiple operation types of the target user for the target item is greater than the probability threshold, the target item can be recommended to the target user.
[0023] When recommending information, you can present the recommended information to users in the form of a list page, hoping that users will take action.
[0024] This application generates a target user feature vector representing the target user's preferences based on related items and operation types, and generates a second feature vector representing the attractiveness of the target item to the user based on related users and operation types, in order to predict the probability of the target user performing multiple operation types on the target item, and can more accurately characterize the probability of the user's operation on the item.
[0025] In one possible implementation, the step of determining the target user feature vector based on the first operation information set includes:
[0026] Multiple sub-user feature vectors are determined based on the first operation information set, wherein each sub-user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship;
[0027] The feature vectors of the multiple sub-users are fused to obtain the feature vector of the target user.
[0028] In one possible implementation, the first operation information set includes: attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; then, a sub-user feature vector (first sub-user feature vector) can be calculated based on the attribute information of the first item and the first operation type. Through the above method, multiple sub-user feature vectors can be obtained, some of which can be considered as first-order feature vectors of the target user (based on real operation information, such as attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type), and some of which can be considered as second-order feature vectors of the target user (based on predicted operation information, such as attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type). Similarly, higher-order feature vectors of the target user can also be obtained.
[0029] In one possible implementation, each sub-user feature vector can represent the target user's preference characteristics. Therefore, multiple sub-user feature vectors can be fused. For sub-user feature vectors of the same order, an activation function can be used for fusion. The fusion of sub-user feature vectors of the same order can yield a single feature vector result. For sub-user feature vectors of multiple orders, multiple feature vector results can be obtained. These multiple feature vector results can then be fused (for example, they can be fused based on different weights; for example, feature vectors of lower order can more accurately characterize the target user's features, so the weights during fusion can be set larger) to obtain the target user feature vector. The fusion can be, but is not limited to, summation and concatenation operations.
[0030] In one possible implementation, the step of determining the target item feature vector based on the second operation information set includes:
[0031] Multiple sub-item feature vectors are determined based on the second operation information set, wherein each sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships; the multiple sub-item feature vectors are fused to obtain the target item feature vector.
[0032] In one possible implementation, a sub-item feature vector can be obtained by extracting features based on the attribute information and operation type of users with corresponding relationships. The sub-item feature vector can represent the attractiveness of the target item to the user. Multiple sub-item feature vectors can be obtained, and the multiple sub-item feature vectors can be fused to obtain the second feature vector.
[0033] Through the above method, multiple sub-item feature vectors can be obtained. Some of these sub-item feature vectors can be considered as the first-order feature vectors of the target item (based on real operation information, such as the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type). Some of these sub-item feature vectors can be considered as the second-order feature vectors of the target item (based on predicted operation information, such as the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type). Similarly, higher-order feature vectors of the target item can also be obtained.
[0034] In one possible implementation, each sub-item feature vector can represent the attractiveness of the target item to the user. Therefore, multiple sub-item feature vectors can be fused. For sub-item feature vectors of the same order, an activation function can be used for fusion. The fusion of sub-item feature vectors of the same order can yield one feature vector result. For sub-item feature vectors of multiple orders, multiple feature vector results can be obtained. These multiple feature vector results can then be fused (for example, they can be fused based on different weights; for example, feature vectors of lower order can more accurately characterize the features of the target item, so the weights during fusion can be set larger) to obtain a second feature vector. The fusion can be, but is not limited to, summation and concatenation operations.
[0035] In one possible implementation, the step of outputting recommendation information based on the target recommendation model according to the target user feature vector and the target item feature vector includes: outputting recommendation information based on the target recommendation model according to the multiple operation type feature vectors of the multiple operation types, the target user feature vector and the target item feature vector.
[0036] In one possible implementation, the target recommendation model can calculate the similarity between the target user feature vector and the target item feature vector, and then calculate the similarity between the target user feature vector, the target item feature vector, and the operation type feature vector.
[0037] In one possible implementation, obtaining the first operation information set includes: obtaining a first operation information subset and a second operation information subset; wherein, the first operation information subset includes attribute information of a first item, a first operation type, and a correspondence between the first item and the first operation type; the first operation type is the actual operation type of the target user on the first item; the second operation information subset includes attribute information of a second item, a second operation type, and a correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item; determining multiple sub-user feature vectors based on the first operation information set includes: determining a first sub-user feature vector based on the first operation information subset; and determining a second sub-user feature vector based on the second operation information subset.
[0038] In other words, the attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type are obtained based on the target user's actual operation records.
[0039] Since the available historical operation records related to users are limited, in order to improve the accuracy of information recommendation, we can explore richer information from the limited historical operation data, thereby generating more operation information related to users and improving the data utilization rate of historical operation records.
[0040] In one possible implementation, fusing the multiple sub-item feature vectors includes: fusing the first sub-user feature vector and the second sub-user feature vector according to the first weight of the first sub-user feature vector and the second weight of the second sub-user feature vector.
[0041] This application embodiment can fuse sub-user feature vectors based on different weights. For sub-user feature vectors obtained from users' actual operation data (such as the first sub-user feature vector mentioned above), since they can more accurately characterize the characteristics of the target user, the weights can be set to be larger. For sub-user feature vectors obtained from users' predicted operation data (such as the second sub-user feature vector mentioned above), since they may not accurately characterize the characteristics of the target user, the weights can be set to be smaller. In addition, the sub-user feature vectors obtained from users' predicted operation data are fused based on the order of prediction (e.g., based on the preference level among 5 users). The prediction data obtained from similarity (which has a higher order than the prediction data obtained from the similarity of preferences between only two users) can also be assigned different weights, with higher orders resulting in lower weights. Furthermore, the aforementioned order can be used as part of the feedforward process during the training of the target recommendation model to adjust the proportion of sub-user feature vectors of each order during fusion, and it is continuously updated during training. When the target recommendation model converges, weights for different orders can be obtained, which can adjust the proportion of sub-user feature vectors of each order during fusion to obtain a target user feature vector that can accurately characterize user preference features.
[0042] In one possible implementation, each sub-user feature vector can represent the target user's preference features. Therefore, multiple sub-user feature vectors can be fused. For sub-user feature vectors of the same order, an activation function can be used for fusion. The fusion of sub-user feature vectors of the same order can yield a single feature vector result. For sub-user feature vectors of multiple orders, multiple feature vector results can be obtained. These multiple feature vector results can then be fused to obtain the target user feature vector. The fusion can be, but is not limited to, summation and concatenation operations.
[0043] In one possible implementation, obtaining the second operation information subset includes: obtaining the second operation type; specifically, obtaining the second operation type involves: obtaining the third operation type of a first user on the second item, wherein the first user is a user whose item preference characteristics satisfy a preset condition; and obtaining the second operation type based on the third operation type of the first user on the second item.
[0044] In one possible implementation, the preset conditions may include both the first user and the target user being users who have operated on the first item.
[0045] When different users (such as the first user and the target user) perform operations on the same item, it can be shown that the two users are likely to have the same or similar preferences. Therefore, operation information related to the target user can be generated based on the first user's operation information on other items. Although this part of the newly generated operation information related to the target user is not in the historical operation record, it can likely represent the possible operation association between the target user and other items besides the first item.
[0046] In one possible implementation, both the target user and the first user can perform operations on the first item. For example, the target user browses the first item while the first user purchases it. In this case, the target user and the first user can be considered to have similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information on other items. In particular, since the historical operation records also contain the first user's operation information on the second item, the target user's operation information on the second item can be generated.
[0047] To ensure the accuracy of the generated operation information, the operation type of the second user on the second item in the target user's operation information can be set to be consistent with the operation type of the first user on the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0048] In this embodiment of the application, based on the users (target user and first user) who have performed operations on the same item (first item), new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0049] Furthermore, in one possible implementation, the target user's operation information for the third item can be generated based on the historical operation records, which also include the second user's operation information for the second item and the third user's operation information for the third item. That is, both the second user and the first user can have performed operations on the second item, such as the first user browsing the second item and the second user purchasing the second item. In this case, the first user and the second user can be considered to have similar preferences. Since the first user and the second user have similar preferences, the target user and the second user can also be considered to have similar preferences. Therefore, more operation information related to the target user can be generated based on the second user's historical operation information for other items. In particular, since the historical operation records also contain the second user's operation information for the third item, the target user's operation information for the third item can be generated.
[0050] In order to ensure the accuracy of the generated operation information, the operation type of the target user on the third item in the operation information of the target user on the third item can be set to be consistent with the operation type of the second user on the third item in the historical operation record.
[0051] In this embodiment, based on the user who has performed an operation on the same item (the second item), new operation information related to the target user is generated through the other operation information of the second user. This uncovers richer information from the limited historical operation data and improves the data utilization rate of historical operation records.
[0052] In one possible implementation, the preset condition may include the difference in user attributes between the first user and the target user being less than a threshold.
[0053] The above method reflects the similarity of users' preferences by whether users have performed actions on the same item. In one possible implementation, the similarity of users' preferences can also be determined directly by the differences in user attributes, where user attributes are attributes that can reflect user preferences.
[0054] In one possible implementation, user attributes can be at least one of the following: gender, age, occupation, income, hobbies, and education level. Gender can be male or female, age can be a number between 0 and 100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be primary school, junior high school, high school, university, etc.
[0055] In this embodiment, users with similar user attributes can be considered to have similar preferences. For example, users with similar user attributes can be users with very small age differences, users of the same gender, users with the same or similar occupations (similar occupations can be understood as being in the same industry), users with the same or similar hobbies (e.g., users who both like tennis), and users with the same or similar educational levels (e.g., users who are both university graduates). In addition, user attributes can also be represented by weight values. The more similar the weight values, the more similar the user attributes are between users. Furthermore, user attributes can also be represented by feature vectors. The closer the distance between feature vectors, the more similar the user attributes are between users.
[0056] In one possible implementation, the difference in user attributes between the target user and the first user is less than a threshold, meaning that the target user and the first user are users with similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information for other items. In particular, based on the fact that the historical operation records also contain the first user's operation information for the second item, the target user's operation information for the second item can be generated.
[0057] To ensure the accuracy of the generated operation information, the operation type of the target user for the second item in the operation information of the target user for the second item can be set to be consistent with the operation type of the first user for the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0058] In this embodiment, based on users with similar user attributes (target user and first user), new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0059] In one possible implementation, the preset conditions may include the first user and the target user being users who operate on items whose attribute differences are less than a threshold.
[0060] In one possible implementation, the item attributes can be at least one of the following: item name, developer, installation package size, category, and rating. Taking the item as an application as an example, the item category can be chat, parkour game, office, etc., and the rating can be a score or comment on the item.
[0061] In this embodiment of the application, users who operate on items with similar item attributes are considered to have similar preferences. For example, items with similar item attributes can be items with the same or similar names, items with the same or similar categories, or items with the same or similar ratings. In addition, item attributes can also be represented by weight values. The more similar the weight values, the more similar the item attributes are between the items. Furthermore, item attributes can also be represented by feature vectors. The closer the distance between feature vectors, the more similar the item attributes are between the items.
[0062] In one possible implementation, a first user performs an operation on a first item, and a target user performs an operation on a fourth item. Based on the fact that the difference in the item attributes of the first item and the fourth item is less than a threshold, the target user and the first user are considered to be users with similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information on other items. In particular, based on the fact that the historical operation record also contains the first user's operation information on a second item, the target user's operation information on the second item can be generated.
[0063] To ensure the accuracy of the generated operation information, the operation type of the target user for the second item in the operation information of the target user for the second item can be set to be consistent with the operation type of the first user for the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0064] In this embodiment, based on the user (target user and first user) who operates on items with similar attributes, new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0065] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0066] In one possible implementation, the operation type is a positive operation type.
[0067] In one possible implementation, obtaining the second set of operation information includes:
[0068] Obtain the third and fourth subsets of operation information; among which,
[0069] The third operation information subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item.
[0070] The fourth operation information subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the prediction operation type of the third user on the target item.
[0071] The step of determining multiple sub-item feature vectors based on the second operation information set includes:
[0072] The first sub-item feature vector is determined based on the third subset of operation information.
[0073] The second sub-item feature vector is determined based on the fourth operation information subset.
[0074] In one possible implementation, the fusion of the multiple sub-item feature vectors includes:
[0075] The first sub-item feature vector and the second sub-item feature vector are fused based on the third weight of the first sub-item feature vector and the fourth weight of the second sub-user feature vector.
[0076] In one possible implementation, obtaining the fourth subset of operation information includes:
[0077] Obtain the fifth operation type;
[0078] The acquisition of the fifth operation type specifically includes:
[0079] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0080] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0081] In one possible implementation, the preset condition includes at least one of the following:
[0082] Both the fourth user and the third user are users who have operated on the first item;
[0083] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0084] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0085] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0086] Secondly, this application provides a method for training a recommendation model, the method comprising:
[0087] Obtain a first operation information sample set of the target sample user. The first operation information sample set includes attribute information of multiple items, multiple operation types, and the correspondence between the multiple items and the multiple operation types. The correspondence is used to represent the operation type of the target sample user's operation on the multiple items.
[0088] Based on the first operation information sample set, feature extraction is performed to determine the target sample user feature vector;
[0089] A second operation information sample set for the target sample item is obtained. The second operation information sample set includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence is used to represent the operation type of the multiple users performing operations on the target item.
[0090] Based on the second operation information sample set, feature extraction is performed to determine the feature vector of the target sample item;
[0091] Obtain sample tags based on the actual operation types of the target sample users on the target items;
[0092] Using the target sample user feature vector and the target sample item feature vector as input, and the sample label as output, the model is trained to obtain the target recommendation model.
[0093] In one possible implementation, the step of determining the target sample user feature vector by feature extraction based on the first operation information sample set includes:
[0094] Based on the first operation information sample set, multiple sub-sample user feature vectors are determined, wherein each sub-sample user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship.
[0095] The user feature vectors of the multiple user subsamples are fused to obtain the user feature vector of the target sample.
[0096] In one possible implementation, the step of determining the feature vector of the target sample item based on the second operation information sample set includes:
[0097] Based on the second operation information sample set, multiple sub-sample item feature vectors are determined, wherein each second sub-sample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0098] The feature vectors of the multiple sub-sample items are fused to obtain the feature vector of the target sample item.
[0099] In one possible implementation, obtaining the first operation information sample set includes:
[0100] Obtain a first subset of operation information samples and a second subset of operation information samples; wherein,
[0101] The first operation information sample subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0102] The second operation information sample subset includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0103] The step of determining multiple sub-sample user feature vectors based on the first operation information sample set includes:
[0104] The first subsample user feature vector is determined based on the first operation information sample subset;
[0105] The second subsample user feature vector is determined based on the second operation information sample subset.
[0106] In one possible implementation, fusing the user feature vectors of the multiple user subsamples includes:
[0107] The first subsample user feature vector and the second subsample user feature vector are fused based on the first weight of the first subsample user feature vector and the second weight of the second subsample user feature vector.
[0108] In one possible implementation, obtaining the second operational information sample subset includes:
[0109] Obtain the second operation type;
[0110] The acquisition of the second operation type specifically includes:
[0111] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0112] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0113] In one possible implementation, the preset condition includes at least one of the following:
[0114] Both the first user and the target user are users who have operated on the first item;
[0115] The difference in user attributes between the first user and the target user is less than a threshold; and
[0116] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0117] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0118] In one possible implementation, the operation type is a positive operation type.
[0119] In one possible implementation, obtaining the second operation information sample set includes:
[0120] Obtain the third operation information sample subset and the fourth operation information sample subset; wherein,
[0121] The third operation information sample subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item;
[0122] The fourth operation information sample subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the predicted operation type of the third user on the target item.
[0123] The step of determining multiple sub-sample item feature vectors based on the second operation information sample set includes:
[0124] The feature vector of the first subsample item is determined based on the third operational information sample subset;
[0125] The feature vector of the second subsample item is determined based on the fourth operation information sample subset.
[0126] In one possible implementation, fusing the feature vectors of the multiple sub-sample items includes:
[0127] The feature vectors of the first and second subsample items are fused based on the third weight of the feature vector of the first subsample item and the fourth weight of the feature vector of the second subsample item.
[0128] In one possible implementation, obtaining the fourth subset of operation information includes:
[0129] Obtain the fifth operation type;
[0130] The acquisition of the fifth operation type specifically includes:
[0131] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0132] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0133] In one possible implementation, the preset condition includes at least one of the following:
[0134] Both the fourth user and the third user are users who have operated on the first item;
[0135] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0136] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0137] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0138] Thirdly, this application provides a method for constructing training samples, the method comprising:
[0139] Obtain the first operation type of the first user on the first item, and the item preference characteristics of the first user and the target user meet preset conditions;
[0140] Based on the first user's first operation type for the first item, a second operation type for the target user on the first item is generated; the second operation type is the predicted operation behavior of the target user on the first item.
[0141] Training samples are constructed based on the target user's attribute information, the first item's attribute information, and the second operation type.
[0142] This application can uncover richer information from limited historical operation data, thereby generating more user-related operation information, which can improve the data utilization rate of historical operation records, build more training samples, and the recommendation model trained based on the above training samples can more accurately predict user behavior.
[0143] In one possible implementation, the preset condition includes at least one of the following:
[0144] Both the first user and the target user are users who have interacted with the second item;
[0145] The difference in user attributes between the first user and the target user is less than a threshold; and
[0146] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0147] In one possible implementation, the user attribute includes at least one of the following:
[0148] Gender, age, occupation, income, hobbies, education level.
[0149] In one possible implementation, the item attribute includes at least one of the following:
[0150] Item name, developer, installation package size, category, and customer satisfaction rating.
[0151] In one possible implementation, the first operation type is the same as the second operation type.
[0152] In one possible implementation, the first operation type and the second operation type include at least one of the following:
[0153] Browse, add to cart, and purchase.
[0154] In one possible implementation, generating a second operation type for the target user on the first item based on the first operation type of the first user on the first item includes: obtaining a second operation type based on the first operation type of the first user on the first item.
[0155] The process of obtaining the second operation type specifically involves obtaining the second operation type according to the first operation type.
[0156] In one possible implementation, the operational information obtained above can be used to train a target recommendation model. Specifically, the attribute information of the target user and the attribute information of the first item can be obtained; a target user feature vector can be determined based on the target user's attribute information; a target item feature vector can be determined based on the attribute information of the first item; a third feature vector of the second operation type can be obtained; and the target recommendation model can be trained based on the target user feature vector, the target item feature vector, and the third feature vector to obtain the trained target recommendation model. The descriptions of how to determine the target user feature vector based on the target user's attribute information, how to determine the target item feature vector based on the attribute information of the first item, and how to obtain the third feature vector of the second operation type can be referred to in the above embodiments; similarities will not be repeated here.
[0157] In one possible implementation, a target recommendation model can output a predicted probability based on the target user feature vector, the target item feature vector, and the third feature vector. The predicted probability represents the probability that the target user will perform the second operation type operation on the first item. Based on the probability, a loss is determined, and the target recommendation model is updated based on the loss.
[0158] Fourthly, this application provides an information recommendation device, characterized in that the device comprises:
[0159] The acquisition module is configured to acquire a first set of operation information of a target user, the first set of operation information including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence being used to indicate the operation type of the operation performed by the target user on the multiple items; and to acquire a second set of operation information of a target item, the second set of operation information including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence being used to indicate the operation type of the operation performed by the multiple users on the target item;
[0160] The feature vector generation module is used to extract features based on the first operation information set to determine the target user feature vector; and to extract features based on the second operation information set to determine the target item feature vector;
[0161] The information recommendation module is used to output recommendation information based on the target user feature vector and the target item feature vector, according to a target recommendation model. The recommendation information represents the probability that the target user will perform the multiple operation types on the target item. When the recommendation information meets preset conditions, the module determines to recommend the target item to the target user.
[0162] In one possible implementation, the feature vector generation module is specifically used for:
[0163] Multiple sub-user feature vectors are determined based on the first operation information set, wherein each sub-user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship;
[0164] The feature vectors of the multiple sub-users are fused to obtain the feature vector of the target user.
[0165] In one possible implementation, the feature vector generation module is specifically used for:
[0166] Multiple sub-item feature vectors are determined based on the second operation information set, wherein each sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0167] The feature vectors of the multiple sub-items are fused to obtain the feature vector of the target item.
[0168] In one possible implementation, the information recommendation module is specifically used for:
[0169] Based on the feature vectors of multiple operation types, the feature vector of the target user, and the feature vector of the target item, recommendation information is output based on the target recommendation model.
[0170] In one possible implementation, the acquisition module is specifically used for:
[0171] Obtain the first subset of operation information and the second subset of operation information; wherein,
[0172] The first operation information subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0173] The second subset of operation information includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0174] The feature vector generation module is specifically used for:
[0175] The first sub-user feature vector is determined based on the first subset of operation information.
[0176] The second sub-user feature vector is determined based on the second subset of operation information.
[0177] In one possible implementation, the feature vector generation module is specifically used for:
[0178] The first sub-user feature vector and the second sub-user feature vector are fused based on the first weight of the first sub-user feature vector and the second weight of the second sub-user feature vector.
[0179] In one possible implementation, the acquisition module is further configured to:
[0180] Obtain the second operation type;
[0181] The acquisition of the second operation type specifically includes:
[0182] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0183] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0184] In one possible implementation, the preset condition includes at least one of the following:
[0185] Both the first user and the target user are users who have operated on the first item;
[0186] The difference in user attributes between the first user and the target user is less than a threshold; and
[0187] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0188] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0189] In one possible implementation, the operation type is a positive operation type.
[0190] In one possible implementation, the acquisition module is specifically used for:
[0191] Obtain the third and fourth subsets of operation information; among which,
[0192] The third operation information subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item.
[0193] The fourth operation information subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the prediction operation type of the third user on the target item.
[0194] The feature vector generation module is specifically used for:
[0195] The first sub-item feature vector is determined based on the third subset of operation information.
[0196] The second sub-item feature vector is determined based on the fourth operation information subset.
[0197] In one possible implementation, the feature vector generation module is specifically used for:
[0198] The first sub-item feature vector and the second sub-item feature vector are fused based on the third weight of the first sub-item feature vector and the fourth weight of the second sub-user feature vector.
[0199] In one possible implementation, the acquisition module is specifically used for:
[0200] Obtain the fifth operation type;
[0201] The acquisition of the fifth operation type specifically includes:
[0202] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0203] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0204] In one possible implementation, the preset condition includes at least one of the following:
[0205] Both the fourth user and the third user are users who have operated on the first item;
[0206] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0207] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0208] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0209] This application provides an information recommendation device, comprising: an acquisition module, configured to acquire a first operation information set of a target user, the first operation information set including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence representing the operation type of the target user's operation on the multiple items; and an acquisition module for acquiring a second operation information set of a target item, the second operation information set including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence representing the operation type of the multiple users' operation on the target item; a feature vector generation module, configured to perform feature extraction based on the first operation information set to determine a target user feature vector; and perform feature extraction based on the second operation information set to determine a target item feature vector; and an information recommendation module, configured to output recommendation information based on the target user feature vector and the target item feature vector, using a target recommendation model, the recommendation information representing the probability that the target user performs the multiple operation types on the target item; and when the recommendation information meets preset conditions, determining to recommend the target item to the target user. This application generates a target user feature vector representing the target user's preferences based on related items and operation types, and generates a second feature vector representing the attractiveness of the target item to the user based on related users and operation types, in order to predict the probability of the target user performing multiple operation types on the target item, and can more accurately characterize the probability of the user's operation on the item.
[0210] Fifthly, this application provides a recommendation model training apparatus, the apparatus comprising:
[0211] The acquisition module is used to acquire a first operation information sample set of the target sample user, the first operation information sample set including attribute information of multiple items, multiple operation types, and the correspondence between the multiple items and the multiple operation types, the correspondence being used to represent the operation type of the operation performed by the target sample user on the multiple items; and to acquire a second operation information sample set of the target sample item, the second operation information sample set including attribute information of multiple users, the multiple operation types, and the correspondence between the multiple users and the multiple operation types, the correspondence being used to represent the operation type of the operation performed by the multiple users on the target item;
[0212] The feature vector generation module is used to extract features from the first operation information sample set to determine the target sample user feature vector; and to extract features from the second operation information sample set to determine the target sample item feature vector.
[0213] The acquisition module is also used to acquire sample tags based on the actual operation type of the target sample user on the target item;
[0214] The model training module is used to train the model using the target sample user feature vector and the target sample item feature vector as input, and the sample label as output, to obtain the target recommendation model.
[0215] In one possible implementation, the feature vector generation module is specifically used for:
[0216] Based on the first operation information sample set, multiple sub-sample user feature vectors are determined, wherein each sub-sample user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship.
[0217] The user feature vectors of the multiple user subsamples are fused to obtain the user feature vector of the target sample.
[0218] In one possible implementation, the feature vector generation module is specifically used for:
[0219] Based on the second operation information sample set, multiple sub-sample item feature vectors are determined, wherein each second sub-sample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0220] The feature vectors of the multiple sub-sample items are fused to obtain the feature vector of the target sample item.
[0221] In one possible implementation, the acquisition module is specifically used for:
[0222] Obtain a first subset of operation information samples and a second subset of operation information samples; wherein,
[0223] The first operation information sample subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0224] The second operation information sample subset includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0225] The feature vector generation module is specifically used for:
[0226] The first subsample user feature vector is determined based on the first operation information sample subset;
[0227] The second subsample user feature vector is determined based on the second operation information sample subset.
[0228] In one possible implementation, the feature vector generation module is specifically used for:
[0229] The first subsample user feature vector and the second subsample user feature vector are fused based on the first weight of the first subsample user feature vector and the second weight of the second subsample user feature vector.
[0230] In one possible implementation, the acquisition module is specifically used for:
[0231] Obtain the second operation type;
[0232] The acquisition of the second operation type specifically includes:
[0233] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0234] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0235] In one possible implementation, the preset condition includes at least one of the following:
[0236] Both the first user and the target user are users who have operated on the first item;
[0237] The difference in user attributes between the first user and the target user is less than a threshold; and
[0238] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0239] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0240] In one possible implementation, the operation type is a positive operation type.
[0241] In one possible implementation, the acquisition module is specifically used for:
[0242] Obtain the third operation information sample subset and the fourth operation information sample subset; wherein,
[0243] The third operation information sample subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item;
[0244] The fourth operation information sample subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the predicted operation type of the third user on the target item.
[0245] The feature vector generation module is specifically used for:
[0246] The feature vector of the first subsample item is determined based on the third operational information sample subset;
[0247] The feature vector of the second subsample item is determined based on the fourth operation information sample subset.
[0248] In one possible implementation, the feature vector generation module is specifically used for:
[0249] The feature vectors of the first and second subsample items are fused based on the third weight of the feature vector of the first subsample item and the fourth weight of the feature vector of the second subsample item.
[0250] In one possible implementation, the acquisition module is specifically used for:
[0251] Obtain the fifth operation type;
[0252] The acquisition of the fifth operation type specifically includes:
[0253] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0254] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0255] In one possible implementation, the preset condition includes at least one of the following:
[0256] Both the fourth user and the third user are users who have operated on the first item;
[0257] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0258] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0259] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0260] Sixthly, this application provides a training sample construction apparatus, the apparatus comprising:
[0261] The acquisition module is used to acquire the first operation type of the first user on the first item, and the item preference characteristics of the first user and the target user meet preset conditions;
[0262] An operation information generation module is used to generate a second operation type for the target user on the first item based on the first operation type of the first user on the first item; the second operation type is the predicted operation behavior of the target user on the first item.
[0263] The sample construction module is used to construct training samples based on the attribute information of the target user, the attribute information of the first item, and the second operation type.
[0264] In one possible implementation, the preset condition includes at least one of the following:
[0265] Both the first user and the target user are users who have interacted with the second item;
[0266] The difference in user attributes between the first user and the target user is less than a threshold; and
[0267] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0268] In one possible implementation, the user attribute includes at least one of the following:
[0269] Gender, age, occupation, income, hobbies, education level.
[0270] In one possible implementation, the item attribute includes at least one of the following:
[0271] Item name, developer, installation package size, category, and customer satisfaction rating.
[0272] In one possible implementation, the operation information generation module is specifically used for:
[0273] Based on the first user's first operation type for the first item, obtain the second operation type;
[0274] The process of obtaining the second operation type specifically involves obtaining the second operation type according to the first operation type.
[0275] In one possible implementation, the first operation type and the second operation type include at least one of the following:
[0276] Browse, add to cart, and purchase.
[0277] This application provides a user operation behavior prediction device, comprising: an acquisition module for acquiring a first operation type of a first user on a first item, wherein the item preference features of the first user and a target user satisfy preset conditions; and an operation information generation module for generating a second operation type of the target user on the first item based on the first operation type of the first user on the first item, wherein the second operation type is the predicted operation behavior of the target user on the first item. This application can uncover richer information from limited historical operation data, thereby generating more user-related operation information, thus improving the data utilization rate of historical operation records. The recommendation model trained based on the above information can more accurately predict user behavior.
[0278] In a seventh aspect, embodiments of this application provide a recommended apparatus, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform any of the optional methods described in the first aspect above.
[0279] Eighthly, embodiments of this application provide a training apparatus, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform any of the optional methods described in the second aspect above.
[0280] Ninthly, embodiments of this application provide a user operation behavior prediction device, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform any of the optional methods described in the third aspect above.
[0281] In a tenth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the first aspect and any optional method described above, the second aspect and any optional method described above, and the third aspect and any optional method described above.
[0282] In one aspect, embodiments of this application provide a computer program product, including code, which, when executed, is used to implement the first aspect and any optional method described above, the second aspect and any optional method described above, and the third aspect and any optional method described above.
[0283] In a twelfth aspect, this application provides a chip system including a processor for supporting an execution device or training device in implementing the functions involved in the foregoing aspects, such as transmitting or processing data involved in the foregoing methods; or, information. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the execution device or training device. The chip system may be composed of chips or may include chips and other discrete devices.
[0284] This application provides a recommendation method, the method comprising: acquiring a first operation information set of a target user, the first operation information set including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence being used to represent the operation types of the operations performed by the target user on the multiple items; performing feature extraction based on the first operation information set to determine a target user feature vector; acquiring a second operation information set of a target item, the second operation information set including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence being used to represent the operation types of the operations performed by the multiple users on the target item; performing feature extraction based on the second operation information set to determine a target item feature vector; outputting recommendation information based on the target user feature vector and the target item feature vector, according to a target recommendation model, the recommendation information representing the probability that the target user performs the multiple operation types on the target item; and determining to recommend the target item to the target user when the recommendation information meets preset conditions. By using the above methods, target user feature vectors representing target user preferences are generated based on related items and operation types, and target item feature vectors representing the attractiveness of target items to users are generated based on related users and operation types. This allows for the prediction of the probability of target users performing multiple operation types on target items, and can more accurately characterize the probability of user operations on items. Attached Figure Description
[0285] Figure 1 A structural diagram illustrating the main framework of artificial intelligence;
[0286] Figure 2 A schematic diagram of a system architecture provided for an embodiment of this application;
[0287] Figure 3 A schematic diagram of an information recommendation process provided in an embodiment of this application;
[0288] Figure 4 A flowchart illustrating an information recommendation method provided in an embodiment of this application;
[0289] Figure 5 A schematic diagram of operation information provided in an embodiment of this application;
[0290] Figure 6 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0291] Figure 7 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0292] Figure 8 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0293] Figure 9 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0294] Figure 10 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0295] Figure 11 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0296] Figure 12 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0297] Figure 13 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0298] Figure 14 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0299] Figure 15 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0300] Figure 16 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0301] Figure 17 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0302] Figure 18 A schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0303] Figure 19aA schematic diagram illustrating an information recommendation method provided in an embodiment of this application;
[0304] Figure 19b A schematic diagram illustrating a user behavior prediction method provided in an embodiment of this application;
[0305] Figure 20 A schematic diagram illustrating a recommendation model training method provided in an embodiment of this application;
[0306] Figure 21 A schematic diagram of an information recommendation device provided in an embodiment of this application;
[0307] Figure 22 A schematic diagram of a user behavior prediction device provided in an embodiment of this application;
[0308] Figure 23 A schematic diagram of a recommendation model training device provided in an embodiment of this application;
[0309] Figure 24 A schematic diagram of an execution device provided in an embodiment of this application;
[0310] Figure 25 A schematic diagram of a training device provided in an embodiment of this application;
[0311] Figure 26 This is a schematic diagram of a chip provided in an embodiment of this application. Detailed Implementation
[0312] The embodiments of the present invention will now be described with reference to the accompanying drawings. The terminology used in the embodiments section is for illustrative purposes only and is not intended to limit the scope of the invention.
[0313] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.
[0314] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0315] First, the overall workflow of the artificial intelligence system is described; please refer to [link / reference]. Figure 1 , Figure 1 The diagram illustrates a structural framework for artificial intelligence (AI). The framework is further elaborated below along two dimensions: the "Intelligent Information Chain" (horizontal axis) and the "IT Value Chain" (vertical axis). The "Intelligent Information Chain" reflects a series of processes from data acquisition to processing. For example, it could be the general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, and intelligent execution and output. In this process, data undergoes a condensation process of "data—information—knowledge—wisdom." The "IT Value Chain" reflects the value that AI brings to the information technology industry, from the underlying infrastructure of human intelligence and information (provided and processed through technological means) to the industrial ecosystem of the system.
[0316] (1) Infrastructure
[0317] Infrastructure provides computing power to support artificial intelligence systems, enabling communication with the external world and providing support through a basic platform. This communication occurs through sensors; computing power is provided by intelligent chips (hardware acceleration chips such as CPUs, NPUs, GPUs, ASICs, and FPGAs); and the basic platform includes distributed computing frameworks and related platform guarantees and support, which may include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to acquire data, and this data is provided to intelligent chips in the distributed computing system provided by the basic platform for computation.
[0318] (2) Data
[0319] The data at the next layer of infrastructure is used to represent the data sources in the field of artificial intelligence. The data involves graphics, images, voice, text, and IoT data from traditional devices, including business data from existing systems and sensor data such as force, displacement, liquid level, temperature, and humidity.
[0320] (3) Data processing
[0321] Data processing typically includes methods such as data training, machine learning, deep learning, search, reasoning, and decision-making.
[0322] Among them, machine learning and deep learning can perform intelligent information modeling, extraction, preprocessing, and training on data, including symbolization and formalization.
[0323] Reasoning refers to the process in which, in a computer or intelligent system, the machine thinks and solves problems by simulating human intelligent reasoning, based on reasoning control strategies and using formalized information. Typical functions include search and matching.
[0324] Decision-making refers to the process of making decisions based on intelligent information after reasoning, and it typically provides functions such as classification, sorting, and prediction.
[0325] (4) General ability
[0326] After the data processing mentioned above, the results of the data processing can be used to form some general capabilities, such as algorithms or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.
[0327] (5) Smart Products and Industry Applications
[0328] Intelligent products and industry applications refer to products and applications of artificial intelligence systems in various fields. They are the encapsulation of overall artificial intelligence solutions, productizing intelligent information decision-making and realizing practical applications. Their application areas mainly include: intelligent terminals, intelligent transportation, intelligent healthcare, autonomous driving, smart cities, etc.
[0329] This application's embodiments can be applied to the field of information recommendation, specifically to app stores, music playback recommendations, video playback recommendations, reading recommendations, news and information recommendations, and information recommendations on web pages. This application can be applied to recommendation systems, which can determine recommendation objects based on the recommendation methods provided in this application. Recommendation objects can be, but are not limited to, applications (APPs), audio and video, web pages, and news and information.
[0330] In recommender systems, information recommendation can include processes such as prediction and recommendation. Prediction aims to predict a user's level of preference for each item, which can be reflected by the probability of a user selecting that item. Recommendation involves ranking the recommended items based on the prediction results, for example, ranking them from highest to lowest preference based on the predicted level of preference, and then recommending information to the user based on this ranking.
[0331] For example, in an app store scenario, a recommendation system can recommend apps to users based on the ranking results; in a music recommendation scenario, a recommendation system can recommend music to users based on the ranking results; and in a video recommendation scenario, a recommendation system can recommend videos to users based on the ranking results.
[0332] The application architecture of this application embodiment will be described next.
[0333] The following is combined Figure 2 The system architecture provided in the embodiments of this application will be described in detail. Figure 2 This is a schematic diagram of a system architecture provided for an embodiment of this application. For example... Figure 2As shown, the system architecture 500 includes an execution device 510, a training device 520, a database 530, a client device 540, a data storage system 550, and a data acquisition device 560.
[0334] The execution device 510 includes a calculation module 511, an I / O interface 512, a preprocessing module 513, and a preprocessing module 514. The calculation module 511 may include a target model / rule 501, while the preprocessing modules 513 and 514 are optional.
[0335] The data acquisition device 560 is used to collect training samples. In this embodiment, the training samples can be the user's historical operation records, which can be user behavior logs. These historical operation records can include user operation information related to items, including operation type, user identifier, and item identifier. When the item is an e-commerce product, the operation type can include, but is not limited to, clicking, purchasing, returning, adding to cart, etc. When the item is an application, the operation type can include, but is not limited to, clicking, downloading, etc. The training samples are the data used to train the initialized recommendation model. After collecting the training samples, the data acquisition device 560 stores these training samples in the database 530.
[0336] It should be understood that the data acquisition device 560 in this application embodiment can mine the collected historical operation records to obtain more user operation information on items (such as the first operation type of the first user on the first item in this application embodiment).
[0337] The training device 520 can train the initialized recommendation model based on the training samples maintained in the database 530 to obtain the target model / rule 501. In this embodiment, the target model / rule 501 can be a recommendation model, which can predict the probability of a user performing an operation corresponding to a certain type of operation on an item based on the user's operation information on the item. This probability can be used for information recommendation.
[0338] It should be noted that in practical applications, the training samples maintained in database 530 may not all come from the data acquisition device 560. They may also be received from other devices or obtained by expanding the data acquired by data acquisition device 560 (e.g., the second operation type of the target user on the first item in this embodiment). Furthermore, it should be noted that training device 520 may not necessarily train the target model / rule 501 entirely based on the training samples maintained in database 530. It may also obtain training samples from the cloud or other sources for model training. The above description should not be construed as limiting the embodiments of this application.
[0339] The target model / rule 501 trained using training device 520 can be applied to different systems or devices, such as... Figure 2 The execution device 510 shown can be a terminal, such as a mobile phone terminal, tablet computer, laptop computer, augmented reality (AR) / virtual reality (VR) device, vehicle terminal, etc., or it can be a server or cloud, etc.
[0340] exist Figure 2 In the execution device 510, an input / output (I / O) interface 512 is configured for data interaction with external devices. Users can input data (such as operation information in this embodiment, such as operation information of a second user on a first item, operation information of a second user on a second item, operation information of a first user on a first item, etc.) through the client device 540 to the I / O interface 512.
[0341] Preprocessing modules 513 and 514 are used to preprocess the input data received from the I / O interface 512. It should be understood that preprocessing modules 513 and 514 may be absent, or only one preprocessing module may be used. When preprocessing modules 513 and 514 are absent, the calculation module 511 can be used directly to process the input data.
[0342] During the preprocessing of input data by the execution device 510, or during the calculation module 511 of the execution device 510 performing calculations and other related processes, the execution device 510 can call data, code, etc. in the data storage system 550 for corresponding processing, or store the data, instructions, etc. obtained from the corresponding processing into the data storage system 550.
[0343] Finally, the I / O interface 512 presents the processing results to the client device 540, thereby providing them to the user.
[0344] In this embodiment of the application, the execution device 510 can obtain the code stored in the data storage system 550 to implement the recommended method in this embodiment of the application.
[0345] In this embodiment of the application, the execution device 510 may include hardware circuits (such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), general-purpose processors, digital signal processors (DSPs), microprocessors or microcontrollers, etc.) or combinations of these hardware circuits. For example, the execution device 510 may be a hardware system with instruction execution capabilities, such as a CPU or DSP, or a hardware system without instruction execution capabilities, such as an ASIC or FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.
[0346] Specifically, the execution device 510 can be a hardware system with the function of executing instructions. The information recommendation method provided in this application embodiment can be software code stored in the data storage system 550. The execution device 510 can obtain the software code from the data storage system 550 and execute the obtained software code to implement the recommendation method provided in this application embodiment.
[0347] It should be understood that the execution device 510 can be a combination of a hardware system without the function of executing instructions and a hardware system with the function of executing instructions. Some steps of the recommended method provided in the embodiments of this application can also be implemented by a hardware system in the execution device 510 that does not have the function of executing instructions, which is not limited here.
[0348] exist Figure 2 In the illustrated scenario, the user can manually provide input data, which can be done through the interface provided by I / O interface 512. Alternatively, the client device 540 can automatically send input data to I / O interface 512. If user authorization is required for the client device 540 to automatically send input data, the user can set the corresponding permissions in the client device 540. The user can view the output results of the execution device 510 on the client device 540, which can be presented in various forms such as display, sound, or animation. The client device 540 can also act as a data acquisition terminal, collecting the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530. Alternatively, data can be collected directly from the I / O interface 512 without going through the client device 540, using the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530.
[0349] It is worth noting that, Figure 2 This is merely a schematic diagram of a system architecture provided in an embodiment of this application. The positional relationships between the devices, components, modules, etc., shown in the diagram do not constitute any limitation. For example, in Figure 2 In this context, the data storage system 550 is an external storage device relative to the execution device 510. However, in other cases, the data storage system 550 may also be placed within the execution device 510. It should be understood that the aforementioned execution device 510 may be deployed within the client device 540.
[0350] Since the embodiments of this application involve a large number of neural network applications, for ease of understanding, the relevant terms and concepts such as neural networks involved in the embodiments of this application will be introduced below.
[0351] 1. Click-through rate (CTR)
[0352] Click probability, also known as click-through rate, refers to the ratio of the number of clicks to the number of impressions of recommended information (e.g., recommended items) on a website or application. Click-through rate is usually an important metric for evaluating recommendation systems.
[0353] 2. Personalized Recommendation System
[0354] A personalized recommendation system refers to a system that analyzes a user's historical data (such as the operation information in the embodiments of this application) using machine learning algorithms, and uses this data to predict new requests and provide personalized recommendation results.
[0355] 3. Offline training
[0356] Offline training refers to a module in a personalized recommendation system that iteratively updates the parameters of the recommendation model according to the algorithm learned by the machine learning, based on the user's historical data (such as the operation information in the embodiments of this application), until the set requirements are met.
[0357] 4. Online Inference
[0358] Online prediction refers to using a model trained offline to predict a user's preference for recommended items in the current context, based on the characteristics of the user, the item, and the context, and to predict the probability that the user will choose the recommended item.
[0359] For example, Figure 3 This is a schematic diagram of the recommendation system provided in an embodiment of this application. For example... Figure 3As shown, when a user enters the system, a recommendation request is triggered. The recommendation system inputs this request and its related information (such as the operation information in this embodiment) into the recommendation model, and then predicts the user's selection rate for items within the system. Further, the items are sorted in descending order based on the predicted selection rate or a function based on that selection rate; that is, the recommendation system can display items in different positions sequentially as recommendations to the user. The user browses items in different positions and performs user actions, such as browsing, selecting, and downloading. Simultaneously, the user's actual behavior is stored in a log as training data, and the parameters of the recommendation model are continuously updated through an offline training module to improve the model's predictive performance.
[0360] For example, a user opening the app store on a smart device (e.g., a mobile phone) triggers the app store's recommendation system. The app store's recommendation system predicts the probability of the user downloading each recommended candidate app based on the user's historical behavior logs, such as historical download records and user selection records, as well as the app store's own characteristics, such as environmental features like time and location. Based on the calculation results, the app store's recommendation system can display candidate apps in descending order of predicted probability values, thereby increasing the download probability of candidate apps.
[0361] For example, apps with a predicted high user selection rate can be displayed in the top recommendation positions, while apps with a predicted low user selection rate can be displayed in the bottom recommendation positions.
[0362] The recommended model mentioned above can be a neural network model. The following is an introduction to the relevant terms and concepts of neural networks that may be involved in the embodiments of this application.
[0363] (1) Neural Network
[0364] A neural network can be composed of neural units, which can be defined as a computational unit that takes xs (i.e., input data) and an intercept of 1 as input. The output of this computational unit can be:
[0365]
[0366] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of this activation function can be used as the input of the next convolutional layer, and the activation function can be the sigmoid function. A neural network is a network formed by connecting multiple of the above-mentioned individual neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, which can be a region composed of several neural units.
[0367] (2) Deep Neural Networks
[0368] Deep Neural Networks (DNNs), also known as multilayer neural networks, can be understood as neural networks with many hidden layers, though there's no specific metric for "many." DNNs can be categorized into three layers based on their position: input layers, hidden layers, and output layers. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. All layers are fully connected, meaning that any neuron in the i-th layer is connected to any neuron in the (i+1)-th layer. Although DNNs appear complex, the operation of each layer is actually quite simple, resembling a linear relationship as follows: in, It is the input vector. It is the output vector. α is the offset vector, W is the weight matrix (also called coefficients), and α() is the activation function. Each layer is simply an adjustment of the input vector. The output vector is obtained through such a simple operation. Because DNNs have many layers, the coefficients W and the offset vector... The number of these parameters is therefore quite large. The definitions of these parameters in a DNN are as follows: Taking the coefficient W as an example: Assuming a three-layer DNN, the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as... The superscript 3 represents the layer number where coefficient W resides, while the subscript corresponds to the output third layer index 2 and the input second layer index 4. In summary, the coefficients from the k-th neuron in layer L-1 to the j-th neuron in layer L are defined as follows: It's important to note that the input layer does not have a W parameter. In deep neural networks, more hidden layers allow the network to better represent complex real-world situations. Theoretically, the more parameters a model has, the higher its complexity and "capacity," meaning it can perform more complex learning tasks. Training a deep neural network is essentially the process of learning the weight matrix, with the ultimate goal of obtaining the weight matrix of all layers in the trained deep neural network (a weight matrix formed by the vectors W from many layers).
[0369] (3) Loss Function
[0370] In training a deep neural network, to ensure the output closely approximates the desired predicted value, we compare the network's prediction with the target value. Based on the difference, we update the weight vector of each layer (usually pre-configuring parameters before the initial update). For example, if the prediction is too high, the weight vector is adjusted to predict a lower value. This adjustment continues until the deep neural network predicts the target value or a value very close to it. Therefore, we need to predefine "how to compare the difference between the predicted and target values," which is the loss function or objective function. These are important equations used to measure the difference between the predicted and target values. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and training the deep neural network becomes a process of minimizing this loss.
[0371] (4) Backpropagation algorithm
[0372] Backpropagation (BP) can be used during training to correct the parameters in the initial model, thereby reducing the model's error loss. Specifically, forward propagation of the input signal to the output generates error loss; this error loss information is then propagated back to update the parameters in the initial model, leading to convergence of the error loss. The backpropagation algorithm is an error-loss-driven backpropagation process aimed at obtaining optimal model parameters, such as the weight matrix.
[0373] The following section uses the model inference stage as an example to illustrate the information recommendation method provided in this application.
[0374] Reference Figure 4 , Figure 4 An example of a recommended method provided in this application is shown below. Figure 4 As shown, a recommended method provided in this application embodiment includes:
[0375] 401. Obtain a first set of operation information for the target user. The first set of operation information includes attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types. The correspondence is used to indicate the operation type of the operation performed by the target user on the multiple items.
[0376] In this embodiment of the application, the execution subject of step 401 can be a terminal device, which can be a portable mobile device, such as, but not limited to, mobile or portable computing devices (such as smartphones), personal computers, server computers, handheld devices (such as tablets) or laptop devices, multiprocessor systems, game consoles or controllers, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, mobile computing and / or communication devices with wearable or accessory form factors (such as watches, glasses, headphones or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc.
[0377] In this embodiment of the application, the execution subject of step 401 can be a cloud-side server. The server can receive the first operation information set of the target user sent from the terminal device, and then the server can obtain the first operation information set of the target user.
[0378] For ease of description, the form of the executing entity will not be distinguished below, and will be described as an executing device. In the embodiments of this application, the executing device can obtain a first set of operation information of the target user. The first set of operation information of the target user can be obtained based on the interaction records between the target user and the items (e.g., the user's behavior log). The information in the first set of operation information may include the target user's actual operation records on each item. The first set of operation information may include the target user's attribute information, the attribute information of each item, and the operation type of the target user's operation on the multiple items.
[0379] The target user's attribute information can be attributes related to user preferences, such as at least one of gender, age, occupation, income, hobbies, and education level. Gender can be male or female, age can be a number between 0 and 100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be primary school, junior high school, high school, university, etc. This application does not limit the specific type of the target user's attribute information.
[0380] The items can be physical or virtual, such as apps, audio / video files, web pages, and news articles. The attribute information of the items can include at least one of the following: item name, developer, installation package size, category, and rating. For example, if an item is an application, the category can be chat, parkour, office, etc., and the rating can be a score or comment on the item. This application does not limit the specific type of attribute information of the items.
[0381] Among these, the operation type can be the type of behavioral operation performed by the target user on the item. On online platforms and applications, users often have various forms of interaction with items (that is, multiple operation types), such as... Figure 5 The data shows user actions on e-commerce platforms, including browsing, clicking, adding items to cart, and making purchases. These diverse behaviors reflect user preferences and are very helpful in accurately characterizing user profiles.
[0382] In one possible implementation, the first operation information set may include attribute information of the first item, a first operation type, and a correspondence between the first item and the first operation type; wherein, the first operation type is the actual operation behavior of the target user on the first item. That is, the aforementioned attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type are obtained based on the target user's actual operation records.
[0383] For example, Figure 5 The operation information can include: User 1's browsing operation on item 1, User 1's purchase operation on item 1, User 1's adding operation on item 1 to shopping cart, User 2's browsing operation on item 1, and User 2's purchase operation on item 1.
[0384] In this embodiment of the application, the above operation information can be expressed as a triple information format. The form of the triple can be <user, relation, item>, where the user in the triple can be user information, the item can be item information, and the relation can be the operation type. For example, the purchase operation of user 1 on item 2 can be expressed as: <user 1, purchase operation, item 2>.
[0385] In one possible implementation, the first operation information set includes: attribute information of the second item, a second operation type, and a correspondence between the second item and the second operation type; wherein the second operation type is the predicted operation behavior of the target user on the second item.
[0386] In this embodiment of the application, since the available historical operation records related to the user are limited, in order to improve the accuracy of information recommendation, richer information can be discovered from the limited historical operation data, thereby generating more operation information related to the user, and thus improving the data utilization rate of historical operation records.
[0387] The following describes how to generate the predicted action behavior of the target user towards the second item:
[0388] In one possible implementation, a third operation type of the first user on the second item can be obtained, and based on the third operation type of the first user on the second item, and the item preference features of the first user and the target user satisfy a preset condition, a correspondence between the second item and the second operation type can be generated in the first operation information set.
[0389] In one possible implementation, the preset conditions may include both the first user and the target user being users who have operated on the first item.
[0390] When different users (such as the first user and the target user) perform operations on the same item, it can be shown that the two users are likely to have the same or similar preferences. Therefore, operation information related to the target user can be generated based on the first user's operation information on other items. Although this part of the newly generated operation information related to the target user is not in the historical operation record, it can likely represent the possible operation association between the target user and other items besides the first item.
[0391] In one possible implementation, both the target user and the first user can perform operations on the first item. For example, the target user browses the first item while the first user purchases it. In this case, the target user and the first user can be considered to have similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information on other items. In particular, since the historical operation records also contain the first user's operation information on the second item, the target user's operation information on the second item can be generated.
[0392] To ensure the accuracy of the generated operation information, the operation type of the second user on the second item in the target user's operation information can be set to be consistent with the operation type of the first user on the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0393] Reference Figure 6Both the first user and the target user performed operations on the first item, and the first user performed an operation on the first item of type second operation, thereby generating the target user's operation on the second item of type third operation.
[0394] For example, based on the operation information: <target user, collection operation, first item>, <first user, collection operation, first item>, and <first user, purchase operation, second item>, the operation information <target user, purchase operation, second item> can be generated.
[0395] In this embodiment of the application, based on the users (target user and first user) who have performed operations on the same item (first item), new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0396] Furthermore, in one possible implementation, the target user's operation information for the third item can be generated based on the historical operation records, which also include the second user's operation information for the second item and the third user's operation information for the third item. That is, both the second user and the first user can have performed operations on the second item, such as the first user browsing the second item and the second user purchasing the second item. In this case, the first user and the second user can be considered to have similar preferences. Since the first user and the second user have similar preferences, the target user and the second user can also be considered to have similar preferences. Therefore, more operation information related to the target user can be generated based on the second user's historical operation information for other items. In particular, since the historical operation records also contain the second user's operation information for the third item, the target user's operation information for the third item can be generated.
[0397] In order to ensure the accuracy of the generated operation information, the operation type of the target user on the third item in the operation information of the target user on the third item can be set to be consistent with the operation type of the second user on the third item in the historical operation record.
[0398] Reference Figure 7 Both the second user and the first user performed operations on the second item, and the second user also performed operations on the third item, thereby generating operation information of the target user on the third item.
[0399] For example, if the historical operation information includes <target user, favorite operation, first item>, <first user, favorite operation, first item>, <first user, purchase operation, second item>, <second user, browse operation, second item>, and <second user, purchase operation, third item>, then operation information <target user, purchase operation, third item> can be generated.
[0400] In this embodiment, based on the user who has performed an operation on the same item (the second item), new operation information related to the target user is generated through the other operation information of the second user. This uncovers richer information from the limited historical operation data and improves the data utilization rate of historical operation records.
[0401] In one possible implementation, the preset condition may include the difference in user attributes between the first user and the target user being less than a threshold.
[0402] The above method reflects the similarity of users' preferences by whether users have performed actions on the same item. In one possible implementation, the similarity of users' preferences can also be determined directly by the differences in user attributes, where user attributes are attributes that can reflect user preferences.
[0403] In one possible implementation, user attributes can be at least one of the following: gender, age, occupation, income, hobbies, and education level. Gender can be male or female, age can be a number between 0 and 100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be primary school, junior high school, high school, university, etc.
[0404] In this embodiment, users with similar user attributes can be considered to have similar preferences. For example, users with similar user attributes can be users with very small age differences, users of the same gender, users with the same or similar occupations (similar occupations can be understood as being in the same industry), users with the same or similar hobbies (e.g., users who both like tennis), and users with the same or similar educational levels (e.g., users who are both university graduates). In addition, user attributes can also be represented by weight values. The more similar the weight values, the more similar the user attributes are between users. Furthermore, user attributes can also be represented by feature vectors. The closer the distance between feature vectors, the more similar the user attributes are between users.
[0405] In one possible implementation, the difference in user attributes between the target user and the first user is less than a threshold, meaning that the target user and the first user are users with similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information for other items. In particular, based on the fact that the historical operation records also contain the first user's operation information for the second item, the target user's operation information for the second item can be generated.
[0406] To ensure the accuracy of the generated operation information, the operation type of the target user for the second item in the operation information of the target user for the second item can be set to be consistent with the operation type of the first user for the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0407] For example, the operation information may include <target user, collection operation, first item> and <first user, purchase operation, second item>. Then, based on the fact that the difference in user attributes between the target user and the first user is less than a threshold, the operation information <target user, purchase operation, second item> can be generated.
[0408] In this embodiment, based on users with similar user attributes (target user and first user), new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0409] The above method determines the similarity of preferences between users by the differences in user attributes. In one possible implementation, the similarity of preferences between users can also be determined by whether users have performed operations on items with similar item attributes.
[0410] In one possible implementation, the preset conditions may include the first user and the target user being users who operate on items whose attribute differences are less than a threshold.
[0411] In one possible implementation, the item attributes can be at least one of the following: item name, developer, installation package size, category, and rating. Taking the item as an application as an example, the item category can be chat, parkour game, office, etc., and the rating can be a score or comment on the item.
[0412] In this embodiment of the application, users who operate on items with similar item attributes are considered to have similar preferences. For example, items with similar item attributes can be items with the same or similar names, items with the same or similar categories, or items with the same or similar ratings. In addition, item attributes can also be represented by weight values. The more similar the weight values, the more similar the item attributes are between the items. Furthermore, item attributes can also be represented by feature vectors. The closer the distance between feature vectors, the more similar the item attributes are between the items.
[0413] In one possible implementation, a first user performs an operation on a first item, and a target user performs an operation on a fourth item. Based on the fact that the difference in the item attributes of the first item and the fourth item is less than a threshold, the target user and the first user are considered to be users with similar preferences. Therefore, more operation information related to the target user can be generated based on the first user's historical operation information on other items. In particular, based on the fact that the historical operation record also contains the first user's operation information on a second item, the target user's operation information on the second item can be generated.
[0414] To ensure the accuracy of the generated operation information, the operation type of the target user for the second item in the operation information of the target user for the second item can be set to be consistent with the operation type of the first user for the second item in the historical operation record (that is, the second operation type and the third operation type are the same).
[0415] For example, if the operation information includes <target user, favorite operation, first item>, <first user, browse operation, fourth item>, and <first user, purchase operation, second item>, then the operation information <target user, purchase operation, second item> can be generated based on the fact that the difference in item attributes between the first item and the fourth item is less than a threshold.
[0416] In this embodiment, based on the user (target user and first user) who operates on items with similar attributes, new operation information related to the target user is generated through other operation information of the first user. This uncovers richer information from limited historical operation data and improves the data utilization rate of historical operation records.
[0417] The above methods were used to mine higher-order node relationships in historical operation records, generating more operation information. Furthermore, these data mining methods can be used simultaneously to maximize the extraction of data. The following example illustrates this process:
[0418] The following historical operation records can be obtained: Let <user, operation type, item> triples represent multi-row ternary heterogeneous graph networks. Then the above historical operation records can be simplified as: <user1, purchase, item1>, <user1, favorite, item2>, <user1, favorite, item3>, <user2, favorite, item2>, <user2, click, item3>, <user3, click, item3>.
[0419] Since item 2 is collected by user 2 and also by user 1, new operation information for user 2 can be generated: <user 2, purchase, item 1>, and so on, operation information can be obtained: <user 3, purchase, item 1>.
[0420] In addition, a user's user attribute information can be: Based on the user's operation information above, the following multi-level three-dimensional data can be obtained through graph network collaborative filtering: user Let <User 4, Purchase, Item 1> represent the data, and so on, to obtain data such as <User 5, Purchase, Item 1>. Furthermore, item attributes can include: item name, category, tags, rating, reviews, etc. The same process can also yield the following results. Represented as <User 1, Purchase, Item 4>.
[0421] Through the above data mining process, the original 6 ternary operational information items were expanded to 10.
[0422] 402. Based on the first operation information set, perform feature extraction to determine the target user feature vector.
[0423] After obtaining the first set of operation information of the target user, feature extraction can be performed based on the first set of operation information to determine the feature vector of the target user.
[0424] The following describes how to extract features from the first operation information set to determine the target user feature vector:
[0425] In one possible implementation, the first operation information set may include multiple sets of corresponding items and operation types. A sub-user feature vector can be calculated for each set of corresponding items and operation types. Then, the calculated sub-user feature vectors are fused to obtain the target user feature vector. Each sub-user feature vector is obtained by extracting features from the attribute information and operation type of the corresponding items.
[0426] In one possible implementation, the first operation information set includes: attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type; then a sub-user feature vector can be calculated based on the attribute information of the first item and the first operation type.
[0427] The attribute information of the first item can be represented as an embedding vector (e.g., using...). Representing the attribute information of an item (l can be equal to 1), the first operation type can be represented as an embedding vector (e.g., using...). (Indicating the operation type), the sub-user feature vector can be represented by the similarity between the attribute information of the first item and the first operation type.
[0428] Reference Figure 8 and Figure 9 For example, sub-user feature vectors can be calculated in the following way:
[0429]
[0430] Where σ(x) is the activation function, for example, the activation function can be the sigmoid function. This refers to a collection of operation types and items that are associated with the target user. (l) These are the weights of the neurons in layer l. Defined as an element-wise dot product operation between two vectors.
[0431] In one possible implementation, the first operation information set includes: attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; then a sub-user feature vector can be calculated based on the attribute information of the second item and the second operation type.
[0432] The information of the second item can be represented as an embedding vector (e.g., using...). The second operation type can be represented as an embedding vector (e.g., using information about the second item, where l can be equal to 2). (Representing the second operation type), the second feature vector can be represented by the similarity between the information of the second item and the second operation type, as shown in the reference. Figure 10 For example, the second feature vector of the second user can be calculated in the following way:
[0433]
[0434] Where σ(x) is the activation function, for example, the activation function can be the sigmoid function. This refers to a collection of operation types and items that are associated with the target user.(l) These are the weights of the neurons in layer l. Defined as an element-wise dot product operation between two vectors.
[0435] Through the above method, multiple sub-user feature vectors can be obtained. Some of these sub-user feature vectors can be considered as the first-order feature vectors of the target user (based on real operation information, such as the attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type). Some of these sub-user feature vectors can be considered as the second-order feature vectors of the target user (based on predicted operation information, such as the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type). Similarly, higher-order feature vectors of the target user can also be obtained.
[0436] In one possible implementation, each sub-user feature vector can represent the target user's preference features. Therefore, multiple sub-user feature vectors can be fused. For sub-user feature vectors of the same order, an activation function can be used for fusion, such as σ(x) in the above formula. For sub-user feature vectors of the same order, one feature vector result can be obtained by fusion. For sub-user feature vectors of multiple orders, multiple feature vector results can be obtained. Then, multiple feature vector results can be fused to obtain the target user feature vector. The fusion can be, but is not limited to, summation and concatenation operations.
[0437] In one possible implementation, refer to Figure 11 Since the target user's operation information for the first item is data from historical operation records, which is real data and 100% accurate, while the target user's operation information for the second item is inferred from other data in historical operation records and is not 100% accurate, when fusing the data, the weight of the target user's operation information for the first item can be set to be greater than the weight of the target user's operation information for the second item. As a result, the target user's preference characteristics represented by the fused operation information will be more accurate.
[0438] In one possible implementation, refer to Figure 12 Multiple sub-user feature vectors can be fused. For example, the feature vector fusion can be performed using the following formula:
[0439]
[0440] Where L represents the order of the eigenvector.
[0441] In one possible implementation, refer to Figure 13Furthermore, the initial embedding vector of the target user can also be used as the object of the fusion operation.
[0442] In one possible implementation, the higher-order (greater than 2-order) feature vectors of the target user can also be used as the object of the fusion operation.
[0443] In one possible implementation, a first subset of operation information and a second subset of operation information can be obtained; wherein, the first subset of operation information includes attribute information of a first item, a first operation type, and a correspondence between the first item and the first operation type; the first operation type is the actual operation type of the target user on the first item; the second subset of operation information includes attribute information of a second item, a second operation type, and a correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item; the step of determining multiple sub-user feature vectors based on the first subset of operation information includes: determining a first sub-user feature vector based on the first subset of operation information; and determining a second sub-user feature vector based on the second subset of operation information.
[0444] In other words, the attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type are obtained based on the target user's actual operation records.
[0445] Since the available historical operation records related to users are limited, in order to improve the accuracy of information recommendation, we can explore richer information from the limited historical operation data, thereby generating more operation information related to users and improving the data utilization rate of historical operation records.
[0446] In one possible implementation, the first sub-user feature vector and the second sub-user feature vector can be fused based on the first weight of the first sub-user feature vector and the second weight of the second sub-user feature vector.
[0447] This application embodiment can fuse sub-user feature vectors based on different weights. For sub-user feature vectors obtained from users' actual operation data (such as the first sub-user feature vector mentioned above), since they can more accurately characterize the characteristics of the target user, the weights can be set to be larger. For sub-user feature vectors obtained from users' predicted operation data (such as the second sub-user feature vector mentioned above), since they may not accurately characterize the characteristics of the target user, the weights can be set to be smaller. In addition, the sub-user feature vectors obtained from users' predicted operation data are fused based on the order of prediction (e.g., based on the preference level among 5 users). The prediction data obtained from similarity (which has a higher order than the prediction data obtained from the similarity of preferences between only two users) can also be assigned different weights, with higher orders resulting in lower weights. Furthermore, the aforementioned order can be used as part of the feedforward process during the training of the target recommendation model to adjust the proportion of sub-user feature vectors of each order during fusion, and it is continuously updated during training. When the target recommendation model converges, weights for different orders can be obtained, which can adjust the proportion of sub-user feature vectors of each order during fusion to obtain a target user feature vector that can accurately characterize user preference features.
[0448] 403. Obtain a second set of operation information for the target item. The second set of operation information includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence is used to indicate the operation type of the multiple users performing operations on the target item.
[0449] Unlike the first set of operation information, the second set of operation information includes the multiple users and the multiple operation types that have a corresponding relationship with the target item.
[0450] In one possible implementation, the second operation information set may include four operation information subsets, wherein the fourth operation information subset may include attribute information of a third user, a fifth operation type, and a correspondence between the third user and the fifth operation type; wherein the fifth operation type is the predicted operation type of the third user on the target item.
[0451] In one possible implementation, a sixth operation type of a fourth user on the target item can be obtained, where the fourth user and the third user's item preference characteristics satisfy preset conditions; based on the sixth operation type of the fourth user on the target item, a fifth operation type can be obtained.
[0452] In one possible implementation, the preset condition includes at least one of the following:
[0453] Both the fourth user and the third user are users who have operated on the first item;
[0454] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0455] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0456] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type, for example, the fifth operation type is the same as the sixth operation type.
[0457] The strategy for expanding operational information can be referred to the description of step 401 in the above embodiments, and the similarities will not be repeated here.
[0458] 404. Based on the second operation information set, perform feature extraction to determine the feature vector of the target item.
[0459] In one possible implementation, a sub-item feature vector can be obtained by extracting features based on the attribute information and operation type of users with corresponding relationships. The sub-item feature vector can represent the attractiveness of the target item to the user. Multiple sub-item feature vectors can be obtained, and the multiple sub-item feature vectors can be fused to obtain the target item feature vector.
[0460] In one possible implementation, the second operation information set includes: attribute information of the second user, a fourth positive operation type, and a correspondence between the second user and the fourth positive operation type. Then, the sub-item feature vector of the target item can be obtained based on the attribute information of the second user and the fourth positive operation type. The attribute information of the second user can be represented as an embedding vector (e.g., using...). The attribute information of the second user (l can be equal to 1), the first operation type can be represented as an embedding vector (e.g., using...). The first operation type is represented by the first feature vector, and the fourth feature vector can be represented by the similarity between the second user's information and the fourth operation type, as shown in the reference. Figure 14 For example, the sub-item feature vector of the target item can be calculated in the following way:
[0461]
[0462] Where σ(x) is the activation function, for example, the activation function can be the sigmoid function. This refers to the set of operation types and users that are associated with the target item. (l)These are the weights of the neurons in layer l. Defined as an element-wise dot product operation between two vectors.
[0463] In one possible implementation, a sub-item feature vector of the target item can be determined based on the second user's operation information on the second item, wherein the sub-item feature vector can be used to characterize the attractiveness features of the target item to the second user.
[0464] In one possible implementation, the second operation information set includes: attribute information of a third user, a fifth operation type, and a correspondence between the third user and the fifth operation type; wherein, the fifth operation type is the predicted operation behavior of the third user on the target item, and a sub-item feature vector of the target user can be obtained based on the attribute information of the third user and the fifth operation type, wherein the information of the first user can be represented as an embedding vector (e.g., using...). The information represents the first user (l can be equal to 2), and the fifth operation type can be represented as an embedding vector (e.g., using...). (Representing the second operation type), the sub-item feature vector can be represented by the similarity between the third user's information and the fifth operation type, as shown in the reference. Figure 15 For example, the sub-item feature vector of the target item can be calculated in the following way:
[0465]
[0466] Where σ(x) is the activation function, for example, the activation function can be the sigmoid function. This refers to the set of operation types and users that are associated with the target item. (l) These are the weights of the neurons in layer l. Defined as an element-wise dot product operation between two vectors.
[0467] Reference Figure 16 In the above manner, multiple sub-item feature vectors can be obtained. Some of these sub-item feature vectors can be considered as first-order feature vectors of the target item (based on real operation information, such as the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type). Some of these sub-item feature vectors can be considered as second-order feature vectors of the target user (based on predicted operation information, such as the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type). Similarly, higher-order feature vectors of the target item can also be obtained.
[0468] In one possible implementation, each sub-item feature vector can represent the attractiveness of the target item to the user. Therefore, multiple sub-item feature vectors can be fused. For sub-item feature vectors of the same order, an activation function can be used for fusion, such as σ(x) in the above formula. The fusion of sub-item feature vectors of the same order can yield one feature vector result. For sub-item feature vectors of multiple orders, multiple feature vector results can be obtained. Then, multiple feature vector results can be fused to obtain the target item feature vector. The fusion can be, but is not limited to, summation and concatenation operations.
[0469] In one possible implementation, since the second user's operation information regarding the target item is data from historical operation records—that is, real data—it is 100% accurate, while the third user's operation information regarding the target item is inferred from other data in historical operation records and is not 100% accurate, the weight of the second user's operation information regarding the target item in the fused operation information can be set to be greater than that of the third user's operation information regarding the target item. As a result, the attractiveness characteristics of the target item to the user represented by the fused operation information will be more accurate.
[0470] In one possible implementation, refer to Figure 17 Multiple sub-item feature vectors can be fused. For example, the feature vector fusion can be performed using the following formula:
[0471]
[0472] Where L represents the order of the eigenvector.
[0473] In one possible implementation, refer to Figure 18 Furthermore, the initial embedding vector of the target item can also be used as the object of the fusion operation.
[0474] In one possible implementation, the higher-order (greater than 2-order) feature vector of the target item can also be used as the object of the fusion operation.
[0475] In one possible implementation, the operation type feature vector for each of the plurality of operation types can be obtained; wherein each operation type feature vector can be obtained when training the target recommendation model.
[0476] In one implementation, each operation type in the operation information of different orders can obtain a corresponding operation type sub-feature vector. Multiple operation type sub-feature vectors can be fused to obtain the operation type feature vector of each operation type in multiple operation types.
[0477] For example, a fully connected network can be used to process the operation type feature vector of the operation type in the previous-order operation information to obtain the operation type feature vector of the operation type in the adjacent subsequent-order operation information. This can be calculated using, for example, the following formula:
[0478]
[0479] in, It is the neuron weight. This is the operation type feature vector from the operation type information of the previous operation. It is the operation type feature vector of the operation type in the adjacent next-order operation information.
[0480] In one possible implementation, it can be and The features are fused to obtain the operation type feature vector.
[0481] For example, feature vector fusion can be performed using the following formula:
[0482]
[0483] Where L represents the order of the eigenvector.
[0484] 405. Based on the target user feature vector and the target item feature vector, and using a target recommendation model, output recommendation information, wherein the recommendation information is used to represent the probability that the target user will perform the multiple operation types on the target item.
[0485] Through the above method, we can obtain the target user feature vector, the target item feature vector, and multiple operation type feature vectors for multiple operation types. Then, based on the multiple operation type feature vectors for multiple operation types, the target user feature vector, and the target item feature vector, we can output recommendation information based on the target recommendation model. Specifically, we can determine the probability of the target user performing each operation type on the target item based on the similarity among the target user feature vector, the target item feature vector, and each operation type feature vector.
[0486] For example, the predicted probability of user u performing an operation of type k on item v can be calculated as follows:
[0487]
[0488] Where d is the model parameter, which is the length of the latent vector, for example, it can be 128.
[0489] For example, refer to Figure 19a , Figure 19a The diagram illustrates the flow of an information recommendation method. In one possible implementation, the similarity between the target user feature vector and the target item feature vector can be calculated first. Then, the similarity between the second user feature vector, the target item feature vector, and the operation type feature vector can be calculated.
[0490] 406. When the recommendation information meets the preset conditions, determine to recommend the target item to the target user.
[0491] By using the above method, the probability of a target user performing multiple operation types corresponding to a target item can be obtained, and information can be recommended based on the above probabilities. Specifically, when the recommended information meets preset conditions, the target item can be recommended to the target user.
[0492] The preset conditions are described below:
[0493] In one possible implementation, when recommending information to a target user, the probability of the target user performing multiple operation types on multiple items (including the target item) can be calculated, and the recommendation index of each item for the target user can be determined based on the probability of the multiple operation types.
[0494] In one possible implementation, the maximum probability among the probabilities of multiple operation types for each item by the target user can be selected to characterize the recommendation index of each item for the target user.
[0495] In one possible implementation, the combined value of the probability of multiple operation types of each item by the target user can be calculated to represent the recommendation index of each item to the target user. The combined value can be based on a weighted summation method. Specifically, corresponding weights can be set for each operation type. For example, the weight of the purchase operation is greater than the weight of the add to cart operation. Then, the recommendation index of each operation type can be obtained by combining the weights and probabilities of each operation type based on a weighted summation.
[0496] After obtaining the recommendation index of each item for the target user, the recommendation indexes can be sorted, and the M items with the highest recommendation index (including the target item) can be recommended to the target user.
[0497] In one possible implementation, a probability threshold can be set. When the probability of at least one of the multiple operation types of the target user for the target item is greater than the probability threshold, the target item can be recommended to the target user.
[0498] When recommending information, you can present the recommended information to users in the form of a list page, hoping that users will take action.
[0499] The beneficial effects of the embodiments of this application are described below with reference to experiments. The information recommendation method provided by the embodiments of this application is compared with several existing mature technologies in the industry (BPR, NCF, LightGCN, CMF, MC-BPR, NMTR, and EHCF) as follows. Using a publicly available e-commerce dataset, the statistical data of which are as follows: number of users: 48,749; number of items: 39,493; number of browsing behaviors: 1,548,126; number of items added to cart: 193,747; number of purchases: 259,747. Except for the user's last purchase record, which is used as a test example, the other data is used as the training set to train the method. This invention uses industry-recognized HR (hit rate) and NDCG as evaluation metrics for comparative experiments.
[0500] Table 1: Performance comparison with existing recommendation models on public datasets
[0501]
[0502] Based on the results in Table 1, we can draw the following conclusions: First, considering multiple user operation types yields better results than using only one operation type, and considering higher-order relationships between nodes can improve the accuracy of the recommendation algorithm.
[0503] This application provides a recommendation method, the method comprising: acquiring a first operation information set of a target user, the first operation information set including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence being used to represent the operation types of the operations performed by the target user on the multiple items; performing feature extraction based on the first operation information set to determine a target user feature vector; acquiring a second operation information set of a target item, the second operation information set including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence being used to represent the operation types of the operations performed by the multiple users on the target item; performing feature extraction based on the second operation information set to determine a target item feature vector; outputting recommendation information based on the target user feature vector and the target item feature vector, according to a target recommendation model, the recommendation information representing the probability that the target user performs the multiple operation types on the target item; and determining to recommend the target item to the target user when the recommendation information meets preset conditions. By using the above methods, target user feature vectors representing target user preferences are generated based on related items and operation types, and target item feature vectors representing the attractiveness of target items to users are generated based on related users and operation types. This allows for the prediction of the probability of target users performing multiple operation types on target items, and can more accurately characterize the probability of user operations on items.
[0504] Reference Figure 19b Figure 19b is a schematic diagram of a training sample construction method provided in an embodiment of this application, wherein the method includes:
[0505] 1901: Obtain the first operation type of the first user on the first item, and the item preference features of the first user and the target user meet the preset conditions.
[0506] Among them, the first operation type of the first user on the first item can be the actual operation type of the first user on the first item.
[0507] The above methods were used to mine higher-order node relationships in historical operation records, generating more operation information. Furthermore, these data mining methods can be used simultaneously to maximize the extraction of data. The following example illustrates this process:
[0508] The following historical operation records can be obtained: Let <user, operation type, item> triples represent multi-row ternary heterogeneous graph networks. Then the above historical operation records can be simplified as: <user1, purchase, item1>, <user1, favorite, item2>, <user1, favorite, item3>, <user2, favorite, item2>, <user2, click, item3>, <user3, click, item3>.
[0509] Since item 2 is collected by user 2 and also by user 1, new operation information for user 2 can be generated: <user 2, purchase, item 1>, and so on, operation information can be obtained: <user 3, purchase, item 1>.
[0510] In addition, a user's user attribute information can be: Based on the user's operation information above, the following multi-level three-data elements can be obtained through graph network collaborative filtering: Let <User 4, Purchase, Item 1> represent the data, and so on, to obtain data such as <User 5, Purchase, Item 1>. Furthermore, item attributes can include: item name, category, tags, rating, reviews, etc. The same process can also yield the following results. Represented as <User 1, Purchase, Item 4>.
[0511] Through the above data mining process, the original 6 ternary operational information items were expanded to 10.
[0512] For more details on step 1901, please refer to the description of the data expansion strategy in the above embodiments, which will not be repeated here.
[0513] 1902. Based on the first operation type of the first user for the first item, generate a second operation type of the target user for the first item; the second operation type is the predicted operation behavior of the target user for the first item.
[0514] For a further description of step 1902, please refer to the description of the data expansion strategy in the above embodiments, which will not be repeated here.
[0515] 1903. Construct training samples based on the attribute information of the target user, the attribute information of the first item, and the second operation type.
[0516] This application can uncover richer information from limited historical operation data, thereby generating more user-related operation information, which can improve the data utilization rate of historical operation records, build more training samples, and the recommendation model trained based on the above training samples can more accurately predict user behavior.
[0517] In one possible implementation, the preset condition includes at least one of the following:
[0518] Both the first user and the target user are users who have interacted with the second item;
[0519] The difference in user attributes between the first user and the target user is less than a threshold; and
[0520] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0521] In one possible implementation, the user attribute includes at least one of the following:
[0522] Gender, age, occupation, income, hobbies, education level.
[0523] In one possible implementation, the item attribute includes at least one of the following:
[0524] Item name, developer, installation package size, category, and customer satisfaction rating.
[0525] In one possible implementation, the first operation type is the same as the second operation type.
[0526] In one possible implementation, the first operation type and the second operation type include at least one of the following:
[0527] Browse, add to cart, and purchase.
[0528] In one possible implementation, the operational information obtained above can be used to train a target recommendation model. Specifically, the attribute information of the target user and the attribute information of the first item can be obtained; a target user feature vector can be determined based on the target user's attribute information; a target item feature vector can be determined based on the attribute information of the first item; a third feature vector of the second operation type can be obtained; and the target recommendation model can be trained based on the target user feature vector, the target item feature vector, and the third feature vector to obtain the trained target recommendation model. The descriptions of how to determine the target user feature vector based on the target user's attribute information, how to determine the target item feature vector based on the attribute information of the first item, and how to obtain the third feature vector of the second operation type can be referred to in the above embodiments; similarities will not be repeated here.
[0529] In one possible implementation, a target recommendation model can output a predicted probability based on the target user feature vector, the target item feature vector, and the third feature vector. The predicted probability represents the probability that the target user will perform the second operation type operation on the first item. Based on the probability, a loss is determined, and the target recommendation model is updated based on the loss.
[0530] This application provides a method for predicting user operation behavior. The method includes: obtaining a first operation type of a first user on a first item, wherein the item preference features of the first user and a target user satisfy preset conditions; generating a second operation type of the target user on the first item based on the first operation type of the first user on the first item; the second operation type is the predicted operation behavior of the target user on the first item. This method can uncover richer information from limited historical operation data, thereby generating more user-related operation information and improving the data utilization rate of historical operation records. The recommendation model trained based on the above information can more accurately predict user behavior.
[0531] Reference Figure 20 , Figure 20 This application provides a flowchart illustrating a recommendation model training method, the method comprising:
[0532] 2001. Obtain a first operation information sample set of the target sample user. The first operation information sample set includes attribute information of multiple items, multiple operation types, and the correspondence between the multiple items and the multiple operation types. The correspondence is used to represent the operation type of the target sample user's operation on the multiple items.
[0533] The description of step 2001 can be found in the description of step 401 in the above embodiments, and will not be repeated here.
[0534] 2002. Based on the first operation information sample set, perform feature extraction to determine the target sample user feature vector;
[0535] The description of step 2002 can be found in the description of step 402 in the above embodiments, and will not be repeated here.
[0536] 2003. Obtain a second operation information sample set for the target sample item. The second operation information sample set includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence is used to represent the operation type of the multiple users performing operations on the target item.
[0537] The description of step 2003 can be found in the description of step 403 in the above embodiments, and will not be repeated here.
[0538] 2004. Based on the second operation information sample set, feature extraction is performed to determine the feature vector of the target sample item;
[0539] The description of step 2004 can be found in the description of step 404 in the above embodiments, and will not be repeated here.
[0540] 2005. Obtain sample tags based on the actual operation type of the target sample user on the target item;
[0541] 2006. Using the target sample user feature vector and the target sample item feature vector as input, and the sample label as output, perform model training to obtain the target recommendation model.
[0542] In one possible implementation, the step of determining the target sample user feature vector by feature extraction based on the first operation information sample set includes:
[0543] Based on the first operation information sample set, multiple sub-sample user feature vectors are determined, wherein each sub-sample user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship.
[0544] The user feature vectors of the multiple user subsamples are fused to obtain the user feature vector of the target sample.
[0545] In one possible implementation, the step of determining the feature vector of the target sample item based on the second operation information sample set includes:
[0546] Based on the second operation information sample set, multiple sub-sample item feature vectors are determined, wherein each second sub-sample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0547] The feature vectors of the multiple sub-sample items are fused to obtain the feature vector of the target sample item.
[0548] In one possible implementation, obtaining the first operation information sample set includes:
[0549] Obtain a first subset of operation information samples and a second subset of operation information samples; wherein,
[0550] The first operation information sample subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0551] The second operation information sample subset includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0552] The step of determining multiple sub-sample user feature vectors based on the first operation information sample set includes:
[0553] The first subsample user feature vector is determined based on the first operation information sample subset;
[0554] The second subsample user feature vector is determined based on the second operation information sample subset.
[0555] In one possible implementation, fusing the user feature vectors of the multiple user subsamples includes:
[0556] The first subsample user feature vector and the second subsample user feature vector are fused based on the first weight of the first subsample user feature vector and the second weight of the second subsample user feature vector.
[0557] In one possible implementation, obtaining the second operational information sample subset includes:
[0558] Obtain the second operation type;
[0559] The acquisition of the second operation type specifically includes:
[0560] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0561] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0562] In one possible implementation, the preset condition includes at least one of the following:
[0563] Both the first user and the target user are users who have operated on the first item;
[0564] The difference in user attributes between the first user and the target user is less than a threshold; and
[0565] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0566] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0567] In one possible implementation, the operation type is a positive operation type.
[0568] In one possible implementation, obtaining the second operation information sample set includes:
[0569] Obtain the third operation information sample subset and the fourth operation information sample subset; wherein,
[0570] The third operation information sample subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item;
[0571] The fourth operation information sample subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the predicted operation type of the third user on the target item.
[0572] The step of determining multiple sub-sample item feature vectors based on the second operation information sample set includes:
[0573] The feature vector of the first subsample item is determined based on the third operational information sample subset;
[0574] The feature vector of the second subsample item is determined based on the fourth operation information sample subset.
[0575] In one possible implementation, fusing the feature vectors of the multiple sub-sample items includes:
[0576] The feature vectors of the first and second subsample items are fused based on the third weight of the feature vector of the first subsample item and the fourth weight of the feature vector of the second subsample item.
[0577] In one possible implementation, obtaining the fourth subset of operation information includes:
[0578] Obtain the fifth operation type;
[0579] The acquisition of the fifth operation type specifically includes:
[0580] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0581] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0582] In one possible implementation, the preset condition includes at least one of the following:
[0583] Both the fourth user and the third user are users who have operated on the first item;
[0584] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0585] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0586] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0587] This application provides a recommendation model training method, the method comprising: acquiring a first operation information sample set of a target sample user, the first operation information sample set including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence being used to represent the operation type of the target sample user's operation on the multiple items; performing feature extraction based on the first operation information sample set to determine a target sample user feature vector; acquiring a second operation information sample set of target sample items, the second operation information sample set including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence being used to represent the operation type of the multiple users' operation on the target items; performing feature extraction based on the second operation information sample set to determine a target sample item feature vector; obtaining sample labels based on the actual operation type of the target sample user on the target item; and training a model using the target sample user feature vector and the target sample item feature vector as input and the sample labels as output to obtain a target recommendation model. By using the above methods, target user feature vectors representing target user preferences are generated based on related items and operation types, and target item feature vectors representing the attractiveness of target items to users are generated based on related users and operation types. This allows for the prediction of the probability of target users performing multiple operation types on target items, and can more accurately characterize the probability of user operations on items.
[0588] Reference Figure 21 , Figure 21A recommended device 2100 provided for embodiments of this application includes:
[0589] The acquisition module 2101 is used to acquire a first set of operation information of a target user, the first set of operation information including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence being used to indicate the operation type of the operation performed by the target user on the multiple items; and to acquire a second set of operation information of a target item, the second set of operation information including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence being used to indicate the operation type of the operation performed by the multiple users on the target item;
[0590] For a detailed description of the acquisition module 2101, please refer to the descriptions of steps 401 and 403, which will not be repeated here.
[0591] The feature vector generation module 2102 is used to extract features based on the first operation information set to determine the feature vector of the target user; and to extract features based on the second operation information set to determine the feature vector of the target item.
[0592] For a detailed description of the feature vector generation module 2102, please refer to the descriptions of steps 402 and 404, which will not be repeated here.
[0593] The information recommendation module 2103 is used to output recommendation information based on the target user feature vector and the target item feature vector, and on a target recommendation model. The recommendation information is used to represent the probability that the target user will perform the multiple operation types on the target item. When the recommendation information meets preset conditions, the target item is recommended to the target user.
[0594] For a detailed description of the information recommendation module 2103, please refer to the description in step 406, which will not be repeated here.
[0595] In one possible implementation, the feature vector generation module 2102 is specifically used for:
[0596] Multiple sub-user feature vectors are determined based on the first operation information set, wherein each sub-user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship;
[0597] The feature vectors of the multiple sub-users are fused to obtain the feature vector of the target user.
[0598] In one possible implementation, the feature vector generation module 2102 is specifically used for:
[0599] Multiple sub-item feature vectors are determined based on the second operation information set, wherein each sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0600] The feature vectors of the multiple sub-items are fused to obtain the feature vector of the target item.
[0601] In one possible implementation, the information recommendation module 2103 is specifically used for:
[0602] Based on the feature vectors of multiple operation types, the feature vector of the target user, and the feature vector of the target item, recommendation information is output based on the target recommendation model.
[0603] In one possible implementation, the acquisition module 2101 is specifically used for:
[0604] Obtain the first subset of operation information and the second subset of operation information; wherein,
[0605] The first operation information subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0606] The second subset of operation information includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0607] The feature vector generation module 2102 is specifically used for:
[0608] The first sub-user feature vector is determined based on the first subset of operation information.
[0609] The second sub-user feature vector is determined based on the second subset of operation information.
[0610] In one possible implementation, the feature vector generation module 2102 is specifically used for:
[0611] The first sub-user feature vector and the second sub-user feature vector are fused based on the first weight of the first sub-user feature vector and the second weight of the second sub-user feature vector.
[0612] The acquisition module 2101 is further configured to:
[0613] Obtain the second operation type;
[0614] The acquisition of the second operation type specifically includes:
[0615] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0616] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0617] In one possible implementation, the preset condition includes at least one of the following:
[0618] Both the first user and the target user are users who have operated on the first item;
[0619] The difference in user attributes between the first user and the target user is less than a threshold; and
[0620] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0621] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0622] In one possible implementation, the operation type is a positive operation type.
[0623] In one possible implementation, the acquisition module 2101 is specifically used for:
[0624] Obtain the third and fourth subsets of operation information; among which,
[0625] The third operation information subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item.
[0626] The fourth operation information subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the prediction operation type of the third user on the target item.
[0627] The feature vector generation module 2102 is specifically used for:
[0628] The first sub-item feature vector is determined based on the third subset of operation information.
[0629] The second sub-item feature vector is determined based on the fourth operation information subset.
[0630] In one possible implementation, the feature vector generation module 2102 is specifically used for:
[0631] The first sub-item feature vector and the second sub-item feature vector are fused based on the third weight of the first sub-item feature vector and the fourth weight of the second sub-user feature vector.
[0632] In one possible implementation, the acquisition module 2101 is specifically used for:
[0633] Obtain the fifth operation type;
[0634] The acquisition of the fifth operation type specifically includes:
[0635] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0636] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0637] In one possible implementation, the preset condition includes at least one of the following:
[0638] Both the fourth user and the third user are users who have operated on the first item;
[0639] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0640] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0641] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0642] This application provides an information recommendation device, comprising: an acquisition module, configured to acquire a first operation information set of a target user, the first operation information set including attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types, the correspondence representing the operation type of the target user's operation on the multiple items; and an acquisition module for acquiring a second operation information set of a target item, the second operation information set including attribute information of multiple users, the multiple operation types, and a correspondence between the multiple users and the multiple operation types, the correspondence representing the operation type of the multiple users' operation on the target item; a feature vector generation module, configured to perform feature extraction based on the first operation information set to determine a target user feature vector; and perform feature extraction based on the second operation information set to determine a target item feature vector; and an information recommendation module, configured to output recommendation information based on the target user feature vector and the target item feature vector, using a target recommendation model, the recommendation information representing the probability that the target user performs the multiple operation types on the target item; and when the recommendation information meets preset conditions, determining to recommend the target item to the target user. This application generates a target user feature vector representing the target user's preferences based on related items and operation types, and generates a second feature vector representing the attractiveness of the target item to the user based on related users and operation types, in order to predict the probability of the target user performing multiple operation types on the target item, and can more accurately characterize the probability of the user's operation on the item.
[0643] Reference Figure 22 , Figure 22 This application provides a schematic diagram of the structure of a training sample construction device, wherein the device 2200 includes:
[0644] The acquisition module 2201 is used to acquire the first operation type of the first user on the first item, and the item preference characteristics of the first user and the target user meet preset conditions;
[0645] For a detailed description of the acquisition module 2201, please refer to the description of step 1901, which will not be repeated here.
[0646] The operation information generation module 2202 is used to generate a second operation type of the target user on the first item based on the first operation type of the first user on the first item; the second operation type is the predicted operation behavior of the target user on the first item.
[0647] For a detailed description of the operation information generation module 2202, please refer to the description of step 1902, which will not be repeated here.
[0648] The sample construction module 2203 is used to construct training samples based on the attribute information of the target user, the attribute information of the first item, and the second operation type.
[0649] For a detailed description of the sample construction module 2203, please refer to the description of step 1903, which will not be repeated here.
[0650] In one possible implementation, the preset condition includes at least one of the following:
[0651] Both the first user and the target user are users who have interacted with the second item;
[0652] The difference in user attributes between the first user and the target user is less than a threshold; and
[0653] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0654] In one possible implementation, the user attribute includes at least one of the following:
[0655] Gender, age, occupation, income, hobbies, education level.
[0656] In one possible implementation, the item attribute includes at least one of the following:
[0657] Item name, developer, installation package size, category, and customer satisfaction rating.
[0658] In one possible implementation, the first operation type is the same as the second operation type.
[0659] In one possible implementation, the first operation type and the second operation type include at least one of the following:
[0660] Browse, add to cart, and purchase.
[0661] In one possible implementation, the operation information generation module 2202 is specifically used for:
[0662] Based on the first user's first operation type for the first item, obtain the second operation type;
[0663] The process of obtaining the second operation type specifically involves obtaining the second operation type according to the first operation type.
[0664] This application provides a user operation behavior prediction device, comprising: an acquisition module for acquiring a first operation type of a first user on a first item, wherein the item preference features of the first user and a target user satisfy preset conditions; and an operation information generation module for generating a second operation type of the target user on the first item based on the first operation type of the first user on the first item, wherein the second operation type is the predicted operation behavior of the target user on the first item. This application can uncover richer information from limited historical operation data, thereby generating more user-related operation information, thus improving the data utilization rate of historical operation records. The recommendation model trained based on the above information can more accurately predict user behavior.
[0665] Reference Figure 23 , Figure 23 This application provides a schematic diagram of the structure of a recommendation model training device, wherein the device 2300 may include:
[0666] The acquisition module 2301 is used to acquire a first operation information sample set of the target sample user, the first operation information sample set including attribute information of multiple items, multiple operation types, and the correspondence between the multiple items and the multiple operation types, the correspondence being used to represent the operation type of the operation performed by the target sample user on the multiple items; and to acquire a second operation information sample set of the target sample item, the second operation information sample set including attribute information of multiple users, the multiple operation types, and the correspondence between the multiple users and the multiple operation types, the correspondence being used to represent the operation type of the operation performed by the multiple users on the target item;
[0667] For a detailed description of the acquisition module 2301, please refer to the descriptions of steps 2001 and 2003, which will not be repeated here.
[0668] The feature vector generation module 2302 is used to extract features based on the first operation information sample set to determine the target sample user feature vector; and to extract features based on the second operation information sample set to determine the target sample item feature vector.
[0669] For a detailed description of the feature vector generation module 2302, please refer to the descriptions of steps 2002 and 2004, which will not be repeated here.
[0670] The acquisition module 2301 is also used to acquire sample tags based on the actual operation type of the target sample user on the target item;
[0671] For a detailed description of the acquisition module 2301, please refer to the description in step 2005, which will not be repeated here.
[0672] The model training module 2303 is used to train the model using the target sample user feature vector and the target sample item feature vector as input and the sample label as output, to obtain the target recommendation model.
[0673] For a detailed description of the model training module 2303, please refer to the description in step 2006, which will not be repeated here.
[0674] In one possible implementation, the feature vector generation module 2302 is specifically used for:
[0675] Based on the first operation information sample set, multiple sub-sample user feature vectors are determined, wherein each sub-sample user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship.
[0676] The user feature vectors of the multiple user subsamples are fused to obtain the user feature vector of the target sample.
[0677] In one possible implementation, the feature vector generation module 2302 is specifically used for:
[0678] Based on the second operation information sample set, multiple sub-sample item feature vectors are determined, wherein each second sub-sample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships;
[0679] The feature vectors of the multiple sub-sample items are fused to obtain the feature vector of the target sample item.
[0680] In one possible implementation, the step of taking the target sample user feature vector and the target sample item feature vector as input includes:
[0681] The input consists of multiple operation type feature vectors of the multiple operation types, the target sample user feature vector, and the target sample item feature vector.
[0682] In one possible implementation, the acquisition module 2301 is specifically used for:
[0683] Obtain a first subset of operation information samples and a second subset of operation information samples; wherein,
[0684] The first operation information sample subset includes attribute information of the first item, a first operation type, and the correspondence between the first item and the first operation type; the first operation type is the actual operation type performed by the target user on the first item.
[0685] The second operation information sample subset includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; the second operation type is the predicted operation type of the target user on the second item.
[0686] The feature vector generation module 2302 is specifically used for:
[0687] The first subsample user feature vector is determined based on the first operation information sample subset;
[0688] The second subsample user feature vector is determined based on the second operation information sample subset.
[0689] In one possible implementation, the feature vector generation module 2302 is specifically used for:
[0690] The first subsample user feature vector and the second subsample user feature vector are fused based on the first weight of the first subsample user feature vector and the second weight of the second subsample user feature vector.
[0691] In one possible implementation, the acquisition module 2301 is specifically used for:
[0692] Obtain the second operation type;
[0693] The acquisition of the second operation type specifically includes:
[0694] Obtain the third operation type of the first user on the second item, where the first user is a user whose item preference characteristics meet preset conditions;
[0695] Based on the third operation type of the first user for the second item, the second operation type is obtained.
[0696] In one possible implementation, the preset condition includes at least one of the following:
[0697] Both the first user and the target user are users who have operated on the first item;
[0698] The difference in user attributes between the first user and the target user is less than a threshold; and
[0699] The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
[0700] In one possible implementation, obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
[0701] In one possible implementation, the operation type is a positive operation type.
[0702] In one possible implementation, the acquisition module 2301 is specifically used for:
[0703] Obtain the third operation information sample subset and the fourth operation information sample subset; wherein,
[0704] The third operation information sample subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item;
[0705] The fourth operation information sample subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the predicted operation type of the third user on the target item.
[0706] The feature vector generation module 2302 is specifically used for:
[0707] The feature vector of the first subsample item is determined based on the third operational information sample subset;
[0708] The feature vector of the second subsample item is determined based on the fourth operation information sample subset.
[0709] In one possible implementation, the feature vector generation module 2302 is specifically used for:
[0710] Based on the third weight of the feature vector of the first sub-sample item and the fourth weight of the feature vector of the second sub-sample item, the feature vectors of the first and second sub-sample items are fused. In one possible implementation, the acquisition module 2301 is specifically used for:
[0711] Obtain the fifth operation type;
[0712] The acquisition of the fifth operation type specifically includes:
[0713] Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions;
[0714] Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
[0715] In one possible implementation, the preset condition includes at least one of the following:
[0716] Both the fourth user and the third user are users who have operated on the first item;
[0717] The difference in user attributes between the fourth user and the third user is less than a threshold; and
[0718] The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
[0719] In one possible implementation, obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
[0720] The following describes an execution device provided in an embodiment of this application. Please refer to [link / reference]. Figure 24 , Figure 24 This is a schematic diagram of an execution device provided in an embodiment of this application. The execution device 2400 can specifically be a mobile phone, tablet, laptop, smart wearable device, server, etc., and is not limited thereto. The execution device 2400 may be equipped with... Figure 10 The data processing apparatus described in the corresponding embodiment is used to implement Figure 10 The corresponding embodiment describes the data processing function. Specifically, the execution device 2400 includes: a receiver 2401, a transmitter 2402, a processor 2403, and a memory 2404 (wherein the execution device 2400 may have one or more processors 2403), wherein the processor 2403 may include an application processor 24031 and a communication processor 24032. In some embodiments of this application, the receiver 2401, transmitter 2402, processor 2403, and memory 2404 may be connected via a bus or other means.
[0721] Memory 2404 may include read-only memory and random access memory, and provides instructions and data to processor 2403. A portion of memory 2404 may also include non-volatile random access memory (NVRAM). Memory 2404 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.
[0722] Processor 2403 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together through a bus system, which may include not only the data bus, but also power buses, control buses, and status signal buses. However, for clarity, all buses in the diagram are referred to as the bus system.
[0723] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 2403. The processor 2403 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above methods can be completed by the integrated logic circuitry in the hardware of the processor 2403 or by instructions in software form. The processor 2403 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor or microcontroller, a vision processing unit (VPU), a tensor processing unit (TPU), or other processors suitable for AI computation. It may further include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 2403 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 2404. Processor 2403 reads information from memory 2404 and, in conjunction with its hardware, completes steps 401 to 406, as well as steps 1901 and 1902, in the above embodiments.
[0724] Receiver 2401 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of the execution device. Transmitter 2402 can be used to output digital or character information through the first interface; transmitter 2402 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 2402 may also include a display device such as a display screen.
[0725] This application also provides a training device; please refer to [link / reference]. Figure 25 , Figure 25This is a schematic diagram of a training device provided in an embodiment of this application. Specifically, the training device 2500 is implemented by one or more servers. The training device 2500 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 2525 (e.g., one or more processors) and memory 2532, and one or more storage media 2530 (e.g., one or more mass storage devices) for storing application programs 2542 or data 2544. The memory 2532 and storage media 2530 can be temporary or persistent storage. The program stored in the storage media 2530 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the training device. Furthermore, the CPU 2525 may be configured to communicate with the storage media 2530 and execute the series of instruction operations in the storage media 2530 on the training device 2500.
[0726] The training device 2500 may also include one or more power supplies 2526, one or more wired or wireless network interfaces 2550, one or more input / output interfaces 2558; or, one or more operating systems 2541, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0727] Specifically, the training device can perform steps 2001 to 2006 in the above embodiments.
[0728] This application also provides a computer program product that, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.
[0729] This application also provides a computer-readable storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.
[0730] The execution device, training device, or terminal device provided in this application embodiment can specifically be a chip. The chip includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the execution device to execute the data processing method described in the above embodiments, or to cause the chip within the training device to execute the data processing method described in the above embodiments. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).
[0731] For details, please refer to Figure 26 , Figure 26 This is a schematic diagram of a chip provided in an embodiment of this application. The chip can be represented as a neural network processor NPU2600. The NPU 2600 is mounted as a coprocessor on the host CPU, and tasks are assigned by the host CPU. The core part of the NPU is the arithmetic circuit 2603, which is controlled by the controller 2604 to extract matrix data from the memory and perform multiplication operations.
[0732] The NPU 2600 achieves this through the cooperation of its various internal components. Figure 4 The information recommendation method provided in the described embodiments and Figure 19b The training sample construction method provided in the described embodiments, and Figure 20 The recommended model training method is provided in the described embodiments.
[0733] More specifically, in some implementations, the arithmetic circuitry 2603 within the NPU 2600 includes multiple processing engines (PEs). In some implementations, the arithmetic circuitry 2603 is a two-dimensional pulsating array. The arithmetic circuitry 2603 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuitry 2603 is a general-purpose matrix processor.
[0734] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 2602 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 2601 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is stored in the accumulator 2608.
[0735] Unified memory 2606 is used to store input and output data. Weight data is directly transferred to weight memory 2602 via Direct Memory Access Controller (DMAC) 2605. Input data is also transferred to unified memory 2606 via DMAC.
[0736] BIU stands for Bus Interface Unit 2610, which is used for interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 2609.
[0737] The Bus Interface Unit (BIU) 2610 is used by the instruction fetch memory 2609 to fetch instructions from external memory, and also by the memory access controller 2605 to fetch the original data of the input matrix A or the weight matrix B from external memory.
[0738] The DMAC is mainly used to move input data from external memory DDR to unified memory 2606, or to weight data to weight memory 2602, or to input data to input memory 2601.
[0739] The vector computation unit 2607 includes multiple processing units that further process the output of the computation circuit 2603 when necessary, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is mainly used for computation in non-convolutional / fully connected layers of neural networks, such as batch normalization, pixel-level summation, and upsampling of feature planes.
[0740] In some implementations, vector computation unit 2607 can store the processed output vector in unified memory 2606. For example, vector computation unit 2607 can apply a linear function, or a nonlinear function, to the output of computation circuit 2603, such as linear interpolation of feature planes extracted by a convolutional layer, or, for example, a vector of accumulated values, to generate activation values. In some implementations, vector computation unit 2607 generates normalized values, pixel-level summed values, or both. In some implementations, the processed output vector can be used as activation input to computation circuit 2603, for example, for use in subsequent layers of the neural network.
[0741] The instruction fetch buffer 2609 connected to the controller 2604 is used to store the instructions used by the controller 2604;
[0742] The unified memory 2606, input memory 2601, weighted memory 2602, and instruction fetch memory 2609 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.
[0743] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the above program.
[0744] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as 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 embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0745] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0746] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0747] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A recommendation method, characterized in that, The method includes: A first set of operation information for a target user is obtained. The first set of operation information includes attribute information of multiple items, multiple operation types, and a correspondence between the multiple items and the multiple operation types. The correspondence between the multiple items and the multiple operation types is used to represent the operation type of the target user's operation on the multiple items. The correspondence between the multiple items and the multiple operation types includes a correspondence between a first item and a first operation type and a correspondence between a second item and a second operation type. The first operation type is the target user's actual operation type on the first item. The second operation type is the target user's predicted operation type on the second item. The second operation type is obtained based on a third operation type of the first user on the second item. The third operation type is the first user's actual operation type on the second item. The first user is a user whose item preference characteristics meet preset conditions. Based on the first operation information set, feature extraction is performed to determine the target user feature vector, and the target user feature vector represents the target user's preferences. A second set of operation information for the target item is obtained. The second set of operation information includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence between the multiple users and the multiple operation types is used to indicate the operation type of the multiple users performing operations on the target item. Based on the second operation information set, feature extraction is performed to determine the target item feature vector, and the target item feature vector characterizes the attractiveness of the target item to the multiple users; Based on the target user feature vector and the target item feature vector, and using a target recommendation model, recommendation information is output, wherein the recommendation information is used to represent the probability that the target user performs the multiple operation types on the target item; When the recommendation information meets the preset conditions, the target item is recommended to the target user.
2. The method according to claim 1, characterized in that, The step of extracting features based on the first operation information set to determine the target user feature vector includes: Multiple sub-user feature vectors are determined based on the first operation information set, wherein each sub-user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship; The feature vectors of the multiple sub-users are fused to obtain the feature vector of the target user.
3. The method according to claim 1 or 2, characterized in that, The step of extracting features based on the second operation information set to determine the feature vector of the target item includes: Multiple sub-item feature vectors are determined based on the second operation information set, wherein each sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships; The feature vectors of the multiple sub-items are fused to obtain the feature vector of the target item.
4. The method according to claim 2, characterized in that, The step of obtaining the first operation information set includes: obtaining a first operation information subset and a second operation information subset; wherein... The first operation information subset includes the attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type; The second subset of operation information includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; The step of determining multiple sub-user feature vectors based on the first operation information set includes: A first sub-user feature vector is determined based on the first operation information subset. The first sub-user feature vector is obtained by extracting features from the attribute information and operation type of items that have corresponding relationships in the first operation information subset. The second sub-user feature vector is determined based on the second operation information subset. The second sub-user feature vector is obtained by extracting the attribute information and operation type of items that have corresponding relationships in the second operation information subset. The process of fusing the multiple sub-user feature vectors to obtain the target user feature vector includes: The first sub-user feature vector and the second sub-user feature vector are fused to obtain the target user feature vector.
5. The method according to claim 4, characterized in that, The fusion of the first sub-user feature vector and the second sub-user feature vector includes: The first sub-user feature vector and the second sub-user feature vector are fused based on the first weight of the first sub-user feature vector and the second weight of the second sub-user feature vector.
6. The method according to claim 4 or 5, characterized in that, The acquisition of the second subset of operation information includes: Obtain the second operation type; The acquisition of the second operation type specifically includes: Get the third operation type of the first user on the second item; Based on the third operation type of the first user for the second item, the second operation type is obtained.
7. The method according to claim 6, characterized in that, The preset conditions include at least one of the following: Both the first user and the target user are users who have operated on the first item; The difference in user attributes between the first user and the target user is less than a threshold; and The first user and the target user are users who operate on items whose attribute differences are less than a threshold.
8. The method according to claim 6, characterized in that, The step of obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
9. The method according to claim 3, characterized in that, The acquisition of the second operation information set includes: Obtain the third and fourth subsets of operation information; among which, The third operation information subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item; The fourth operation information subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the prediction operation type of the third user on the target item. The step of determining multiple sub-item feature vectors based on the second operation information set includes: The first sub-item feature vector is determined based on the third operation information subset, wherein the first sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships in the third operation information subset; The second sub-item feature vector is determined based on the fourth operation information subset. The second sub-item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships in the fourth operation information subset. The process of fusing the feature vectors of the multiple sub-items to obtain the feature vector of the target item includes: The feature vectors of the first sub-item and the second sub-item are fused to obtain the feature vector of the target item.
10. The method according to claim 9, characterized in that, The fusion of the feature vectors of the first sub-item and the second sub-item includes: The first sub-item feature vector and the second sub-item feature vector are fused based on the third weight of the first sub-item feature vector and the fourth weight of the second sub-item feature vector.
11. The method according to claim 9, characterized in that, The fourth subset of operation information includes: Obtain the fifth operation type; The acquisition of the fifth operation type specifically includes: Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions; Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
12. The method according to claim 11, characterized in that, The preset conditions include at least one of the following: Both the fourth user and the third user are users who have operated on the first item; The difference in user attributes between the fourth user and the third user is less than a threshold; and The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
13. The method according to claim 11, characterized in that, The step of obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
14. The method according to any one of claims 1 to 2, characterized in that, The operation type is a positive operation type.
15. A method for training a recommendation model, characterized in that, The method includes: A first operation information sample set of the target sample user is obtained. The first operation information sample set includes attribute information of multiple items, multiple operation types, and the correspondence between the multiple items and the multiple operation types. The correspondence between the multiple items and the multiple operation types is used to represent the operation type of the target sample user's operation on the multiple items. The correspondence between the multiple items and the multiple operation types includes the correspondence between the first item and the first operation type and the correspondence between the second item and the second operation type. The first operation type is the actual operation type of the target sample user on the first item. The second operation type is the predicted operation type of the target sample user on the second item. The second operation type is obtained based on the third operation type of the first user on the second item. The third operation type is the actual operation type of the first user on the second item. The first user is a user whose item preference characteristics of the target sample user meet preset conditions. Based on the first operation information sample set, feature extraction is performed to determine the target sample user feature vector, and the target sample user feature vector represents the preferences of the target sample user. A second operation information sample set for the target sample item is obtained. The second operation information sample set includes attribute information of multiple users, multiple operation types, and a correspondence between the multiple users and the multiple operation types. The correspondence is used to indicate the operation type of the multiple users performing operations on the target item. Based on the second operation information sample set, feature extraction is performed to determine the target sample item feature vector, and the target sample item feature vector characterizes the attractiveness of the target item to the multiple users; Obtain sample tags based on the actual operation types of the target sample users on the target items; Using the target sample user feature vector and the target sample item feature vector as input, and the sample label as output, the model is trained to obtain the target recommendation model.
16. The method according to claim 15, characterized in that, The step of extracting features from the first operation information sample set to determine the target sample user feature vector includes: Based on the first operation information sample set, multiple sub-sample user feature vectors are determined, wherein each sub-sample user feature vector is obtained by extracting features from the attribute information and operation type of items that have a corresponding relationship. The user feature vectors of the multiple user subsamples are fused to obtain the user feature vector of the target sample.
17. The method according to claim 15 or 16, characterized in that, The step of extracting features from the second operation information sample set to determine the feature vector of the target sample item includes: Based on the second operation information sample set, multiple sub-sample item feature vectors are determined, wherein each second sub-sample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships; The feature vectors of the multiple sub-sample items are fused to obtain the feature vector of the target sample item.
18. The method according to claim 16, characterized in that, The step of obtaining the first operation information sample set includes: Obtain a first subset of operation information samples and a second subset of operation information samples; wherein, The first operation information sample subset includes the attribute information of the first item, the first operation type, and the correspondence between the first item and the first operation type; The second operation information sample subset includes the attribute information of the second item, the second operation type, and the correspondence between the second item and the second operation type; The step of determining multiple sub-sample user feature vectors based on the first operation information sample set includes: The first subsample user feature vector is determined based on the first operation information sample subset. The first subsample user feature vector is obtained by extracting the attribute information and operation type of items that have corresponding relationships in the first operation information sample subset. The second subsample user feature vector is determined based on the second operation information sample subset. The second subsample user feature vector is obtained by extracting the attribute information and operation type of items that have corresponding relationships in the second operation information sample subset. The process of fusing the multiple sub-sample user feature vectors to obtain the target sample user feature vector includes: The feature vectors of the first subsample user and the second subsample user are fused to obtain the feature vector of the target sample user.
19. The method according to claim 18, characterized in that, The fusion of the first subsample user feature vector and the second subsample user feature vector includes: The first subsample user feature vector and the second subsample user feature vector are fused based on the first weight of the first subsample user feature vector and the second weight of the second subsample user feature vector.
20. The method according to claim 18 or 19, characterized in that, The acquisition of the second operation information sample subset includes: Obtain the second operation type; The acquisition of the second operation type specifically includes: Get the third operation type of the first user on the second item; Based on the third operation type of the first user for the second item, the second operation type is obtained.
21. The method according to claim 20, characterized in that, The preset conditions include at least one of the following: Both the first user and the target sample user are users who have operated on the first item; The difference in user attributes between the first user and the target sample user is less than a threshold; and The first user and the target sample user are users who have performed operations on items whose attribute differences are less than a threshold.
22. The method according to claim 20, characterized in that, The step of obtaining the second operation type based on the third operation type of the first user for the second item specifically means obtaining the second operation type according to the third operation type.
23. The method according to claim 17, characterized in that, The process of obtaining the second operation information sample set includes: Obtain the third operation information sample subset and the fourth operation information sample subset; wherein, The third operation information sample subset includes the attribute information of the second user, the fourth positive operation type, and the correspondence between the second user and the fourth positive operation type; the fourth positive operation type is the actual operation type of the second user on the target item; The fourth operation information sample subset includes the attribute information of the third user, the fifth operation type, and the correspondence between the third user and the fifth operation type; the fifth operation type is the predicted operation type of the third user on the target item. The step of determining multiple sub-sample item feature vectors based on the second operation information sample set includes: The first subsample item feature vector is determined based on the third operation information sample subset. The first subsample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships in the third operation information sample subset. The second subsample item feature vector is determined based on the fourth operation information sample subset. The second subsample item feature vector is obtained by extracting features from the attribute information and operation type of users with corresponding relationships in the fourth operation information sample subset. The process of fusing the feature vectors of the multiple sub-sample items to obtain the feature vector of the target sample item includes: The feature vectors of the first sub-sample item and the second sub-sample item are fused to obtain the feature vector of the target sample item.
24. The method according to claim 23, characterized in that, The fusion of the feature vectors of the first sub-sample items and the feature vectors of the second sub-sample items includes: The feature vectors of the first and second subsample items are fused based on the third weight of the feature vector of the first subsample item and the fourth weight of the feature vector of the second subsample item.
25. The method according to claim 23, characterized in that, The sample subset of information obtained for the fourth operation includes: Obtain the fifth operation type; The acquisition of the fifth operation type specifically includes: Obtain the sixth operation type of the fourth user on the target item, and the fourth user and the third user's item preference characteristics meet the preset conditions; Based on the sixth operation type of the fourth user on the target item, the fifth operation type is obtained.
26. The method according to claim 25, characterized in that, The preset conditions include at least one of the following: Both the fourth user and the third user are users who have operated on the first item; The difference in user attributes between the fourth user and the third user is less than a threshold; and The fourth user and the third user are users who operate on items whose attribute differences are less than a threshold.
27. The method according to claim 25, characterized in that, The step of obtaining the fifth operation type based on the sixth operation type of the fourth user on the target item specifically means obtaining the fifth operation type according to the sixth operation type.
28. The method according to any one of claims 15 to 16, characterized in that, The operation type is a positive operation type.
29. A computing device, characterized in that, The computing device includes a memory and a processor; the memory stores code, and the processor is configured to retrieve the code and execute the method as described in any one of claims 1 to 28.
30. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 28.
31. A computer program product, comprising code, characterized in that, When the code is executed, it is used to implement the method as described in any one of claims 1 to 28.