An adaptive noise reduction method and device based on implicit feedback

By adopting an adaptive noise reduction method based on implicit feedback in the e-commerce recommendation system, calculating user preference values ​​and building a set of negative examples, the problem of implicit feedback data noise interference is solved, and the accuracy of the recommendation system is improved.

CN119006122BActive Publication Date: 2025-02-14HUAQIAO UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411480223.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-02-14
Estimated Expiration
2044-10-23

AI Technical Summary

Technical Problem

In the e-commerce recommendation system, there is noise interference in the implicit feedback data, resulting in the problems of false positive and false negative examples, affecting the accuracy of the recommendation system.

Method used

Adaptive noise reduction method based on implicit feedback is adopted to calculate the user's preference value for interactive products and the confidence of uninteractive products, build a set of negative examples, and use alternating least squares method to model users and products. Perform adaptive noise reduction training.

Benefits of technology

It effectively overcomes the noise interference in the implicit feedback data, improves the modeling accuracy of the recommendation system, and reduces the impact of false positive and false negative cases.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119006122B_ABST
    Figure CN119006122B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of e-commerce recommendation systems, and in particular to an adaptive noise reduction method and device based on implicit feedback, which comprises obtaining implicit feedback data of users on commodities, calculating preference values ​​of users for interactive commodities with which the users have interacted according to the implicit feedback data of the users on commodities; calculating confidence that the users are interested in the interactive commodities according to the preference values ​​of the users for the interactive commodities, calculating commodity popularity of all commodities, and calculating confidence that the users are not interested in non-interactive commodities with which the users have not interacted according to commodity popularity; constructing a negative example set according to commodity popularity; modeling users and commodities, and adaptively adjusting weights of each negative example training when using the negative example set for training, so as to realize adaptive noise reduction and obtain an accurate user-commodity model; generating a recommendation list for the user based on the user-commodity model, solving the noise interference problem of implicit feedback data and realizing adaptive noise reduction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of e-commerce recommendation systems, and in particular to an adaptive noise reduction method and device based on implicit feedback. Background Art

[0002] In the field of e-commerce recommendation systems, understanding user preferences and behaviors is the core of providing personalized recommendations, and user feedback data is an important way to understand user preferences and behaviors. Usually, user feedback data is divided into two types: explicit feedback and implicit feedback. In the actual environment, especially in the field of e-commerce, the amount of explicit feedback data that can clearly reflect user preferences is small and difficult to collect. Most users do not comment or rate products, but more about user interaction records with products. This type of implicit feedback data is the data that most companies have.

[0003] However, the inherent noise interference in implicit feedback data is a major pain point in the field of recommendation systems, which is mainly reflected in two aspects: false positives (FP) and false negatives (FN). False positives refer to products that users have interacted with, but they are not of interest to the users. They may be caused by factors such as wrong clicks or purchasing on behalf of others. False negatives refer to products that users have not interacted with. They are not uninterested in the users. They may be caused by factors such as not finding or having purchased similar products.

[0004] Therefore, it is necessary to propose an adaptive noise reduction method and device based on implicit feedback to overcome the noise interference in implicit feedback data. Summary of the invention

[0005] The purpose of this application is to propose an adaptive noise reduction method and device based on implicit feedback in response to the above-mentioned technical problems.

[0006] In a first aspect, the present invention provides an adaptive noise reduction method based on implicit feedback, comprising the following steps:

[0007] Obtain users' implicit feedback data on products. The implicit feedback data includes users, products, users' interaction behaviors on interactive products, interaction timestamps, and interaction behavior frequencies. For each user, define products that have interacted with the user as interactive products, and products that have not interacted with the user as non-interactive products. Calculate each user's preference value for each interactive product based on the user's implicit feedback data on the products.

[0008] The confidence level of each user's interest in each interactive product is calculated based on each user's preference value for each interactive product, and the popularity of all products is calculated. The confidence level of each user's disinterest in each non-interacted product is calculated based on the popularity of the products.

[0009] Construct a negative example set based on product popularity;

[0010] According to the confidence that all users are interested in the interactive products and the confidence that users are not interested in the non-interactive products, the alternating least squares method is used to model users and products, and the negative example set is used for adaptive noise reduction training to obtain a user-product model; during the training process, the loss value of each negative example in the negative example set is calculated, and the negative examples in the negative example set are divided into true negative examples and false negative examples according to the set threshold and loss value. For true negative examples, their weight when used as negative examples in training is increased, and for false negative examples, their weight when used as negative examples in training is reduced, which specifically includes the following steps:

[0011] S11, randomly initialize the user feature vector matrix P and the product feature vector matrix Q, define the loss function Loss(P,Q), and the calculation formulas of P, Q and Loss(P,Q) are as follows:

[0012] ;

[0013] ;

[0014] ;

[0015] in, represents the implicit feature vector of user u, , n represents the number of users; represents the implicit feature vector of product i, , m represents the number of products; Loss(P,Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, represents the norm;

[0016] S12, calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN, specifically including:

[0017] S121, the loss value calculation formula for each element (u,i) in the negative example set N is as follows:

[0018] ;

[0019] Among them, loss(u,i) represents the loss value when user u and item i are negative examples of each other. represents the implicit feature vector of user u, represents the implicit feature vector of product i, and T represents the vector transpose;

[0020] S122, define the upper threshold and the lower threshold, as shown in the following formula:

[0021] ;

[0022] ;

[0023] in, represents the lower threshold, represents the initial value of the lower threshold, It represents the update step size of the lower threshold, and iter represents the number of iterations; represents the upper threshold, represents the initial value of the upper threshold, Indicates the upper threshold update step;

[0024] S123, traverse the negative examples (u,i) in the negative example set, when When , the element (u,i) is regarded as a true negative example and saved to the true negative example set TN. When , the element (u, i) is regarded as a false negative example and saved in the false negative example set FN. After partitioning, the true negative example set TN and the false negative example set FN are obtained.

[0025] S13, fixing the user feature vector matrix P and updating the product feature vector matrix Q, specifically includes:

[0026] S131, calculate the first fine-tuning matrix according to the true negative example set TN, and the calculation formula is as follows:

[0027] ;

[0028] in, Represents the implicit feature vector of updating product i The first fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of users that are negative examples of product i in the true negative example set TN; iter represents the current number of iterations; TNK represents the hyperparameter; loss(u,i) represents the loss value when user u and product i are negative examples of each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0029] S132, calculating a second fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0030] ;

[0031] in, Represents the implicit feature vector of updating product i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of users in the false negative set FN that are negative examples for product i; iter represents the current number of iterations, MaxIter represents the maximum number of iterations; loss(u,i) represents the loss value when user u and product i are negative examples for each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0032] S133, according to the first fine-tuning matrix and the second fine-tuning matrix Update the implicit feature vector of product i. The calculation formula is as follows:

[0033] ;

[0034] in, Represents the implicit feature vector of product i; and Represents the set of users who have interacted with and have not interacted with product i respectively; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u; reg represents the regularization coefficient; E represents the unit matrix;

[0035] S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q;

[0036] S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes:

[0037] S141, calculating the third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows:

[0038] ;

[0039] in, represents the updated implicit feature vector of user u The third fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of products that are negative examples of user u in the true negative example set TN; Represents the implicit feature vector of product i;

[0040] S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0041] ;

[0042] in, represents the updated implicit feature vector of user u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of products that are negative examples for user u in the false negative set FN; Represents the implicit feature vector of product i;

[0043] S143, according to the third fine-tuning matrix and the fourth fine-tuning matrix Update the implicit feature vector of user u. The calculation formula is as follows:

[0044] ;

[0045] in, represents the implicit feature vector of user u; and Respectively represent the set of products that user u has interacted with and has not interacted with; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of product i; reg represents the regularization coefficient; E represents the unit matrix;

[0046] S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P;

[0047] S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model;

[0048] Generate a recommendation list for users based on the user-item model.

[0049] Preferably, the preference value of each user for each interactive product is calculated based on the user's implicit feedback data on the product, specifically including:

[0050] According to the user's interaction behavior and interaction timestamp on the interactive product, the local preference value of each user for each interactive product is calculated. The calculation formula is as follows:

[0051] ;

[0052] Among them, u represents the user, i represents the product, represents the user's local preference value for interactive products; e represents a natural constant, represents the time attenuation coefficient, represents the current timestamp value; t represents the interaction timestamp value when the interaction occurs; It represents the quantitative value of the user's interactive behavior on the interactive product. The interactive behavior includes click behavior, collection behavior, adding to shopping cart behavior and purchase behavior. For click behavior, ; For collection behavior, ; For the behavior of adding to the shopping cart, ; For purchasing behavior, ;

[0053] The user's implicit feedback data is grouped with (user, product) as the keyword, and the user's preference value for the interactive product is calculated based on all local preference values ​​of the same user for the same interactive product in different time periods. The calculation formula is as follows:

[0054] ;

[0055] in, Indicates the user's preference value for interactive products. Indicates sum.

[0056] Preferably, the confidence level of each user's interest in each interactive product is calculated based on each user's preference value for each interactive product, and the product popularity of all products is calculated. The confidence level of each user's lack of interest in each non-interacted product is calculated based on the product popularity, specifically including:

[0057] In the first case, in response to determining that user u has interacted with product i, the interaction behavior is a click behavior, and the frequency of the interaction behavior is 1, the confidence calculation formula for user u's interest in product i is as follows:

[0058] ;

[0059] in, Indicates the confidence that the user is interested in the interactive product;

[0060] In the second case, in response to determining that user u has interacted with product i, the interaction behavior is a purchase behavior, and user u has only multiple purchase behaviors for product i but no other interaction behaviors, then the confidence calculation formula for user u's interest in product i is as follows:

[0061] ;

[0062] in, represents the confidence coefficient; represents the set of goods purchased by user u; represents the set of products that user u directly purchases without other interactions;

[0063] In the third case, in response to determining that user u has interacted with product i, and the interaction behavior does not belong to the first case and the second case, the confidence calculation formula for user u's interest in product i is as follows:

[0064] ;

[0065] The popularity value of product i is calculated based on the preference values ​​of all users for the interactive products corresponding to the same product i. The calculation formula is as follows:

[0066] ;

[0067] in, represents the popularity value of product i; U represents the set of all users; represents the set of users who have interacted with product i;

[0068] In the fourth case, in response to determining that user u has not interacted with product i, the confidence calculation formula that user u is not interested in product i is as follows:

[0069] ;

[0070] in, represents the confidence that the user is not interested in the non-interacted products, and k and l represent hyperparameters; Indicates the average popularity of all products.

[0071] As a preferred method, a negative example set is constructed according to the popularity of the product, specifically including:

[0072] Select the top h most popular products among all non-interacted products of each user to generate a negative example set N, where each element in N is (u, i), indicating that user u and product i are negative examples of each other.

[0073] As a preferred method, a recommendation list is generated for the user based on the user-product model. The specific calculation formula is as follows:

[0074] ;

[0075] in, Indicates a list of recommendations. Represents the implicit feature vector of product i and the implicit feature vector of user u The inner product of Represents the heat penalty factor, the value is [0,1]; Indicates the popularity value of product i; Indicates that the list is sorted from largest to smallest; It means taking the first RecN elements of the list; I represents the set of all products.

[0076] In a second aspect, the present invention provides an adaptive noise reduction device based on implicit feedback, comprising:

[0077] The preference value calculation module is configured to obtain implicit feedback data of users on products, wherein the implicit feedback data includes users, products, user interaction behaviors on interactive products, interaction timestamps, and interaction behavior frequencies. For each user, products that have interacted with the user are defined as interactive products, and products that have not interacted with the user are defined as non-interactive products. The preference value of each user for each interactive product is calculated based on the implicit feedback data of the user on the product.

[0078] A confidence calculation module is configured to calculate the confidence of each user's interest in each interactive product based on each user's preference value for each interactive product, calculate the popularity of all products, and calculate the confidence of each user's lack of interest in each non-interacted product based on the popularity of the products;

[0079] A negative example set construction module is configured to construct a negative example set according to the popularity of the product;

[0080] The model training module is configured to use the alternating least squares method to model users and products according to the confidence of all users' interest in the interactive products and the confidence of users' lack of interest in the non-interactive products, and use the negative example set to perform adaptive noise reduction training to obtain a user-product model; during the training process, the loss value of each negative example in the negative example set is calculated, and the negative examples in the negative example set are divided into true negative examples and false negative examples according to the set threshold and loss value. For true negative examples, their weight when used as negative examples in training is increased, and for false negative examples, their weight when used as negative examples in training is reduced, which specifically includes the following steps:

[0081] S11, randomly initialize the user feature vector matrix P and the product feature vector matrix Q, define the loss function Loss(P,Q), and the calculation formulas of P, Q and Loss(P,Q) are as follows:

[0082] ;

[0083] ;

[0084] ;

[0085] in, represents the implicit feature vector of user u, , n represents the number of users; represents the implicit feature vector of product i, , m represents the number of products; Loss(P,Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, represents the norm;

[0086] S12, calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN, specifically including:

[0087] S121, the loss value calculation formula for each element (u,i) in the negative example set N is as follows:

[0088] ;

[0089] Among them, loss(u,i) represents the loss value when user u and item i are negative examples of each other. represents the implicit feature vector of user u, represents the implicit feature vector of product i, and T represents the vector transpose;

[0090] S122, define the upper threshold and the lower threshold, as shown in the following formula:

[0091] ;

[0092] ;

[0093] in, represents the lower threshold, represents the initial value of the lower threshold, It represents the update step size of the lower threshold, and iter represents the number of iterations; represents the upper threshold, represents the initial value of the upper threshold, Indicates the upper threshold update step;

[0094] S123, traverse the negative examples (u,i) in the negative example set, when When , the element (u,i) is regarded as a true negative example and saved to the true negative example set TN. When , the element (u, i) is regarded as a false negative example and saved in the false negative example set FN. After partitioning, the true negative example set TN and the false negative example set FN are obtained.

[0095] S13, fixing the user feature vector matrix P and updating the product feature vector matrix Q, specifically includes:

[0096] S131, calculate the first fine-tuning matrix according to the true negative example set TN, and the calculation formula is as follows:

[0097] ;

[0098] in, Represents the implicit feature vector of updating product i The first fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of users that are negative examples of product i in the true negative example set TN; iter represents the current number of iterations; TNK represents the hyperparameter; loss(u,i) represents the loss value when user u and product i are negative examples of each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0099] S132, calculating a second fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0100] ;

[0101] in, Represents the implicit feature vector of updating product i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of users in the false negative set FN that are negative examples for product i; iter represents the current number of iterations, MaxIter represents the maximum number of iterations; loss(u,i) represents the loss value when user u and product i are negative examples for each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0102] S133, according to the first fine-tuning matrix and the second fine-tuning matrix Update the implicit feature vector of product i. The calculation formula is as follows:

[0103] ;

[0104] in, Represents the implicit feature vector of product i; and Represents the set of users who have interacted with and have not interacted with product i respectively; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u; reg represents the regularization coefficient; E represents the unit matrix;

[0105] S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q;

[0106] S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes:

[0107] S141, calculating the third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows:

[0108] ;

[0109] in, represents the updated implicit feature vector of user u The third fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of products that are negative examples of user u in the true negative example set TN; Represents the implicit feature vector of product i;

[0110] S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0111] ;

[0112] in, represents the updated implicit feature vector of user u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of products that are negative examples for user u in the false negative set FN; Represents the implicit feature vector of product i;

[0113] S143, according to the third fine-tuning matrix and the fourth fine-tuning matrix Update the implicit feature vector of user u. The calculation formula is as follows:

[0114] ;

[0115] in, represents the implicit feature vector of user u; and Respectively represent the set of products that user u has interacted with and has not interacted with; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of product i; reg represents the regularization coefficient; E represents the unit matrix;

[0116] S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P;

[0117] S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model;

[0118] The recommendation list generation module is configured to generate a recommendation list for the user based on the user-product model.

[0119] In a third aspect, the present invention provides an electronic device comprising one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner in the first aspect.

[0120] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.

[0121] In a fifth aspect, the present invention provides a computer program product, comprising a computer program, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.

[0122] Compared with the prior art, the present invention has the following beneficial effects:

[0123] (1) The adaptive denoising method based on implicit feedback proposed in the present invention divides the negative examples in the negative example set into true negative examples and false negative examples during the training process. For the true negative examples, their weights when used as negative examples in training are increased, and for the false negative examples, their weights when used as negative examples in training are reduced, thereby overcoming the noise interference in the implicit feedback data and making the modeling more accurate.

[0124] (2) In the adaptive denoising method based on implicit feedback proposed in the present invention, the confidence of each user in not being interested in each non-interacted product is first calculated, instead of simply assuming that each user has the same confidence in not being interested in each non-interacted product, thereby avoiding the drawback of treating all negative examples as having the same weight in the traditional algorithm. Then, during training, the first fine-tuning matrix and the third fine-tuning matrix corresponding to the true negative example set and the second fine-tuning matrix and the fourth fine-tuning matrix corresponding to the false negative example set are calculated according to the confidence of the user in not being interested in the non-interacted products in the true negative example set and the false negative example set, respectively, so as to adjust the weights of the negative example training, realize adaptive denoising, and better overcome the noise interference in the implicit feedback data.

[0125] (3) The adaptive denoising method based on implicit feedback proposed in the present invention classifies the situations in which users have interacted with the products when calculating the confidence level of users' interest in interactive products, and calculates the confidence level of users' interest in the products with which they have interacted for the classified situations. This method can effectively reduce the weight of potential false positive examples as positive examples in the model training process, and effectively avoids the negative impact of positive examples on model training caused by purchasing on behalf of others or with bad feedback after purchase. BRIEF DESCRIPTION OF THE DRAWINGS

[0126] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0127] Figure 1 A schematic diagram of a flow chart of an adaptive noise reduction method based on implicit feedback according to an embodiment of the present application;

[0128] Figure 2 A schematic diagram of an adaptive noise reduction device based on implicit feedback according to an embodiment of the present application;

[0129] Figure 3 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0130] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0131] Figure 1An adaptive noise reduction method based on implicit feedback provided in an embodiment of the present application is shown, comprising the following steps:

[0132] S1. Obtain the implicit feedback data of users on the products. The implicit feedback data includes users, products, users' interaction behaviors on interactive products, interaction timestamps, and the frequency of interaction behaviors. For each user, define the products that have interacted with the user as interactive products, and the products that have not interacted with the user as non-interactive products. Calculate the preference value of each user for each interactive product based on the implicit feedback data of the user on the products.

[0133] In a specific embodiment, the preference value of each user for each interactive commodity is calculated based on the user's implicit feedback data on the commodity, specifically including:

[0134] According to the user's interaction behavior and interaction timestamp on the interactive product, the local preference value of each user for each interactive product is calculated. The calculation formula is as follows:

[0135] ;

[0136] Among them, u represents the user, i represents the product, represents the user's local preference value for interactive products; e represents a natural constant, represents the time attenuation coefficient, represents the current timestamp value; t represents the interaction timestamp value when the interaction occurs; It represents the quantitative value of the user's interactive behavior on the interactive product. The interactive behavior includes click behavior, collection behavior, adding to shopping cart behavior and purchase behavior. For click behavior, ; For collection behavior, ; For the behavior of adding to the shopping cart, ; For purchasing behavior, ;

[0137] The user's implicit feedback data is grouped with (user, product) as the keyword, and the user's preference value for the interactive product is calculated based on all local preference values ​​of the same user for the same interactive product in different time periods. The calculation formula is as follows:

[0138] ;

[0139] in, Indicates the user's preference value for interactive products. Indicates sum.

[0140] Specifically, the interaction data in the user's implicit feedback data on the product is represented as , which means that user u has interacted with product i, and the quantitative value corresponding to the interactive behavior is , the interaction timestamp when the interaction occurs is t, and the frequency of the interaction is f. In the embodiment of the present application, the implicit feedback data of the user is grouped with (user, product) as the keyword, and all the interaction data between user 3 and product 4 are selected: (3,4,1,100,2) and (3,4,4,130,2). The interaction data (3,4,1,100,2) indicates that the interaction behavior of user 3 on product 4 at the interaction timestamp 100 is a click behavior, and the quantitative value of the interaction behavior is 1. According to the above formula, the local preference value of user 3 on product 4 at the interaction timestamp 100 is ; The interaction data (3,4,4,130,2) indicates that user 3's interaction behavior with product 4 at interaction timestamp 130 is a purchase behavior, and the quantified value of the interaction behavior is 4. According to the above formula, the local preference value of user 3 for product 4 at interaction timestamp 130 is ; Then, all local preference values ​​calculated based on all interaction data between user 3 and product 4 are accumulated to obtain the preference value of user 3 for product 4 with which he has interacted: .

[0141] By calculating each user's preference value for each interactive product, the fuzzy implicit feedback data is transformed into explicit feedback data that can clearly reflect the user's preference value for the interactive product.

[0142] S2, according to each user's preference value for each interactive product, the confidence of each user's interest in each interactive product is calculated, and the product popularity of all products is calculated, and the confidence of each user's lack of interest in each non-interacted product is calculated according to the product popularity.

[0143] In a specific embodiment, the confidence level of each user's interest in each interactive product is calculated based on each user's preference value for each interactive product, and the product popularity of all products is calculated. The confidence level of each user's lack of interest in each non-interactive product is calculated based on the product popularity, which specifically includes:

[0144] In the first case, in response to determining that user u has interacted with product i, the interaction behavior is a click behavior, and the frequency of the interaction behavior is 1, the confidence calculation formula for user u's interest in product i is as follows:

[0145] ;

[0146] in, Indicates the confidence that the user is interested in the interactive product;

[0147] In the second case, in response to determining that user u has interacted with product i, the interaction behavior is a purchase behavior, and user u has only multiple purchase behaviors for product i but no other interaction behaviors, then the confidence calculation formula for user u's interest in product i is as follows:

[0148] ;

[0149] in, represents the confidence coefficient; represents the set of goods purchased by user u; represents the set of products that user u directly purchases without any other interactive behaviors;

[0150] In the third case, in response to determining that user u has interacted with product i, and the interaction behavior does not belong to the first case and the second case, the confidence calculation formula for user u's interest in product i is as follows:

[0151] ;

[0152] The popularity value of product i is calculated based on the preference values ​​of all users for the interactive products corresponding to the same product i. The calculation formula is as follows:

[0153] ;

[0154] in, represents the popularity value of product i; U represents the set of all users; represents the set of users who have interacted with product i;

[0155] In the fourth case, in response to determining that user u has not interacted with product i, the confidence calculation formula that user u is not interested in product i is as follows:

[0156] ;

[0157] in, represents the confidence that the user is not interested in the non-interacted products, and k and l represent hyperparameters; Indicates the average popularity of all products.

[0158] Specifically, when calculating the confidence of the user's interest in the interactive product, the situations in which user u has interacted with product i are classified, and the confidence of user u's interest in product i with which he has interacted is calculated for the classified situations. This method can effectively reduce the weight of potential false positives as positive examples in the model training process, and effectively avoid the negative impact of positive examples on model training caused by purchasing on behalf of others or poor feedback after purchase. Furthermore, the confidence of the user's disinterest in the non-interacted product is calculated based on the popularity of the product, that is, the negative example confidence is set, which indicates the possibility that the user is not interested in the non-interacted product. According to the principle that the higher the popularity of the product among all the non-interacted products of the user, the greater the possibility that it is a product that the user is not interested in, a negative example confidence value is assigned to each product, avoiding the disadvantage of treating all negative examples as having the same weight in traditional algorithms.

[0159] S3, construct a negative example set based on product popularity.

[0160] In a specific embodiment, constructing a negative example set according to the popularity of a product specifically includes:

[0161] Select the top h most popular products among all non-interacted products of each user to generate a negative example set N, where each element in N is (u, i), indicating that user u and product i are negative examples of each other.

[0162] Specifically, the method of constructing a negative example set according to the popularity of products can avoid further analysis of all non-interacted products corresponding to the user, thereby greatly reducing the time cost.

[0163] S4, based on the confidence of all users' interest in the interacted products and the confidence of users' lack of interest in the non-interacted products, the alternating least squares method is used to model users and products, and the negative example set is used for adaptive noise reduction training to obtain the user-product model; during the training process, the loss value of each negative example in the negative example set is calculated, and the negative examples in the negative example set are divided into true negative examples and false negative examples according to the set threshold and loss value. For true negative examples, their weight when used as negative examples in training is increased, and for false negative examples, their weight when used as negative examples in training is reduced.

[0164] In a specific embodiment, according to the confidence that all users are interested in the interactive products and the confidence that users are not interested in the non-interactive products, the alternating least squares method is used to model users and products, and the negative example set is used for adaptive noise reduction training to obtain a user-product model; during the training process, the loss value of each negative example in the negative example set is calculated, and the negative examples in the negative example set are divided into true negative examples and false negative examples according to the set threshold and loss value. For true negative examples, their weight when used as negative examples in training is increased, and for false negative examples, their weight when used as negative examples in training is reduced, which specifically includes the following steps:

[0165] S11, randomly initialize the user feature vector matrix P and the product feature vector matrix Q, define the loss function Loss(P,Q), and the calculation formulas of P, Q and Loss(P,Q) are as follows:

[0166] ;

[0167] ;

[0168] ;

[0169] in, represents the implicit feature vector of user u, , n represents the number of users; represents the implicit feature vector of product i, , m represents the number of products; Loss(P,Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, represents the norm;

[0170] S12, calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN, specifically including:

[0171] S121, the loss value calculation formula for each element (u,i) in the negative example set N is as follows:

[0172] ;

[0173] Among them, loss(u,i) represents the loss value when user u and item i are negative examples of each other. represents the implicit feature vector of user u, represents the implicit feature vector of product i, and T represents the vector transpose;

[0174] S122, define the upper threshold and the lower threshold, as shown in the following formula:

[0175] ;

[0176] ;

[0177] in, represents the lower threshold, represents the initial value of the lower threshold, It represents the update step size of the lower threshold, and iter represents the number of iterations; represents the upper threshold, represents the initial value of the upper threshold, Indicates the upper threshold update step;

[0178] S123, traverse the negative examples (u,i) in the negative example set, when When , the element (u,i) is regarded as a true negative example and saved to the true negative example set TN. When , the element (u, i) is regarded as a false negative example and saved in the false negative example set FN. After partitioning, the true negative example set TN and the false negative example set FN are obtained.

[0179] S13, fixing the user feature vector matrix P and updating the product feature vector matrix Q, specifically includes:

[0180] S131, calculate the first fine-tuning matrix according to the true negative example set TN, and the calculation formula is as follows:

[0181] ;

[0182] in, Represents the implicit feature vector of updating product i The first fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of users that are negative examples of product i in the true negative example set TN; iter represents the current number of iterations; TNK represents the hyperparameter; loss(u,i) represents the loss value when user u and product i are negative examples of each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0183] S132, calculating a second fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0184] ;

[0185] in, Represents the implicit feature vector of updating product i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of users in the false negative set FN that are negative examples for product i; iter represents the current number of iterations, MaxIter represents the maximum number of iterations; loss(u,i) represents the loss value when user u and product i are negative examples for each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0186] S133, according to the first fine-tuning matrix and the second fine-tuning matrix Update the implicit feature vector of product i. The calculation formula is as follows:

[0187] ;

[0188] in, Represents the implicit feature vector of product i; and Represents the set of users who have interacted with and have not interacted with product i respectively; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u; reg represents the regularization coefficient; E represents the unit matrix;

[0189] S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q;

[0190] S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes:

[0191] S141, calculating the third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows:

[0192] ;

[0193] in, represents the updated implicit feature vector of user u The third fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of products that are negative examples of user u in the true negative example set TN; Represents the implicit feature vector of product i;

[0194] S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0195] ;

[0196] in, represents the updated implicit feature vector of user u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of products that are negative examples for user u in the false negative set FN; Represents the implicit feature vector of product i;

[0197] S143, according to the third fine-tuning matrix and the fourth fine-tuning matrix Update the implicit feature vector of user u. The calculation formula is as follows:

[0198] ;

[0199] in, represents the implicit feature vector of user u; and Respectively represent the set of products that user u has interacted with and has not interacted with; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of product i; reg represents the regularization coefficient; E represents the unit matrix;

[0200] S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P;

[0201] S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model.

[0202] Specifically, the confidence of each user that they are not interested in each non-interacted product is calculated, thereby avoiding the drawback of treating all negative examples as having the same weight in traditional algorithms; further, when using negative examples in the negative example set for training, the negative examples are divided into true negative examples and false negative examples, and then a fine-tuning matrix is ​​calculated according to the confidence of each user in the true negative example set and the false negative example set that they are not interested in each non-interacted product, so as to adaptively adjust the weight of negative example training during model training. For true negative examples, their weight when used as negative example training is increased, and for false negative examples, their weight when used as negative example training is reduced, thereby reducing the weight of noise data in model training.

[0203] S5, generating a recommendation list for the user based on the user-item model.

[0204] In a specific embodiment, a recommendation list is generated for a user based on the user-product model, and the specific calculation formula is as follows:

[0205] ;

[0206] in, Indicates a list of recommendations. Represents the implicit feature vector of product i and the implicit feature vector of user u The inner product of Represents the heat penalty factor, the value is [0,1]; Indicates the popularity value of product i; Indicates that the list is sorted from largest to smallest; It means taking the first RecN elements of the list; I represents the set of all products.

[0207] The above steps S1-S5 do not necessarily represent the order between the steps, but are represented by step symbols, and the order between the steps can be adjusted.

[0208] Further references Figure 2 As an implementation of the methods shown in the above figures, the present application provides an embodiment of an adaptive noise reduction device based on implicit feedback, and the device embodiment is similar to Figure 1 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0209] The embodiment of the present application provides an adaptive noise reduction device based on implicit feedback, comprising:

[0210] The preference value calculation module 1 is configured to obtain implicit feedback data of users on products, wherein the implicit feedback data includes users, products, user interaction behaviors on interactive products, interaction timestamps, and interaction behavior frequencies. For each user, products that have interacted with the user are defined as interactive products, and products that have not interacted with the user are defined as non-interactive products. The preference value of each user for each interactive product is calculated based on the implicit feedback data of the user on the product.

[0211] Confidence calculation module 2 is configured to calculate the confidence of each user's interest in each interactive product based on each user's preference value for each interactive product, calculate the product popularity of all products, and calculate the confidence of each user's lack of interest in each non-interacted product based on the product popularity;

[0212] A negative example set construction module 3 is configured to construct a negative example set according to the popularity of the product;

[0213] The model training module 4 is configured to use the alternating least squares method to model users and products according to the confidence of all users' interest in the interactive products and the confidence of users' lack of interest in the non-interacted products, and use the negative example set to perform adaptive noise reduction training to obtain a user-product model; during the training process, the loss value of each negative example in the negative example set is calculated, and the negative examples in the negative example set are divided into true negative examples and false negative examples according to the set threshold and loss value. For true negative examples, their weight when used as negative examples in training is increased, and for false negative examples, their weight when used as negative examples in training is reduced, which specifically includes the following steps:

[0214] S11, randomly initialize the user feature vector matrix P and the product feature vector matrix Q, define the loss function Loss(P,Q), and the calculation formulas of P, Q and Loss(P,Q) are as follows:

[0215] ;

[0216] ;

[0217] ;

[0218] in, represents the implicit feature vector of user u, , n represents the number of users; represents the implicit feature vector of product i, , m represents the number of products; Loss(P,Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, represents the norm;

[0219] S12, calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN, specifically including:

[0220] S121, the loss value calculation formula for each element (u,i) in the negative example set N is as follows:

[0221] ;

[0222] Among them, loss(u,i) represents the loss value when user u and item i are negative examples of each other. represents the implicit feature vector of user u, represents the implicit feature vector of product i, and T represents the vector transpose;

[0223] S122, define the upper threshold and the lower threshold, as shown in the following formula:

[0224] ;

[0225] ;

[0226] in, represents the lower threshold, represents the initial value of the lower threshold, It represents the update step size of the lower threshold, and iter represents the number of iterations; represents the upper threshold, represents the initial value of the upper threshold, Indicates the upper threshold update step;

[0227] S123, traverse the negative examples (u,i) in the negative example set, when When , the element (u,i) is regarded as a true negative example and saved to the true negative example set TN. When , the element (u, i) is regarded as a false negative example and saved in the false negative example set FN. After partitioning, the true negative example set TN and the false negative example set FN are obtained.

[0228] S13, fixing the user feature vector matrix P and updating the product feature vector matrix Q, specifically includes:

[0229] S131, calculate the first fine-tuning matrix according to the true negative example set TN, and the calculation formula is as follows:

[0230] ;

[0231] in, Represents the implicit feature vector of updating product i The first fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of users that are negative examples of product i in the true negative example set TN; iter represents the current number of iterations; TNK represents the hyperparameter; loss(u,i) represents the loss value when user u and product i are negative examples of each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0232] S132, calculating a second fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0233] ;

[0234] in, Represents the implicit feature vector of updating product i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of users in the false negative set FN that are negative examples for product i; iter represents the current number of iterations, MaxIter represents the maximum number of iterations; loss(u,i) represents the loss value when user u and product i are negative examples for each other; Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u;

[0235] S133, according to the first fine-tuning matrix and the second fine-tuning matrix Update the implicit feature vector of product i. The calculation formula is as follows:

[0236] ;

[0237] in, Represents the implicit feature vector of product i; and Represents the set of users who have interacted with and have not interacted with product i respectively; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of user u; reg represents the regularization coefficient; E represents the unit matrix;

[0238] S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q;

[0239] S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes:

[0240] S141, calculating the third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows:

[0241] ;

[0242] in, represents the updated implicit feature vector of user u The third fine-tuning matrix is ​​used to increase the weight of true negative examples when used as negative examples for training; represents the set of products that are negative examples of user u in the true negative example set TN; Represents the implicit feature vector of product i;

[0243] S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows:

[0244] ;

[0245] in, represents the updated implicit feature vector of user u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; represents the set of products that are negative examples for user u in the false negative set FN; Represents the implicit feature vector of product i;

[0246] S143, according to the third fine-tuning matrix and the fourth fine-tuning matrix Update the implicit feature vector of user u. The calculation formula is as follows:

[0247] ;

[0248] in, represents the implicit feature vector of user u; and Respectively represent the set of products that user u has interacted with and has not interacted with; Indicates the confidence that the user is interested in the interactive product. Indicates the confidence that the user is not interested in the uninteracted product; represents the implicit feature vector of product i; reg represents the regularization coefficient; E represents the unit matrix;

[0249] S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P;

[0250] S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model;

[0251] The recommendation list generating module 5 is configured to generate a recommendation list for the user based on the user-product model.

[0252] Figure 3 Schematic diagram of the hardware structure of the electronic device provided by the embodiment of the present invention. Figure 3As shown, the electronic device of this embodiment includes: a processor 301 and a memory 302; wherein the memory 302 is used to store computer-executable instructions; the processor 301 is used to execute the computer-executable instructions stored in the memory to implement the various steps performed by the electronic device in the above embodiment. For details, please refer to the relevant description in the above method embodiment.

[0253] Optionally, the memory 302 may be independent or integrated with the processor 301 .

[0254] When the memory 302 is independently provided, the electronic device further includes a bus 303 for connecting the memory 302 and the processor 301 .

[0255] The embodiment of the present invention further provides a computer storage medium, in which computer execution instructions are stored. When the processor 301 executes the computer execution instructions, the above method is implemented.

[0256] The embodiment of the present invention further provides a computer program product, including a computer program. When the computer program is executed by the processor 301, the above method is implemented.

[0257] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical, mechanical or other forms.

[0258] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to implement the solution of this embodiment.

[0259] In addition, each functional module in each embodiment of the present invention may be integrated into one processing unit, or each module may exist physically separately, or two or more modules may be integrated into one unit. The above-mentioned module-composed unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0260] The above-mentioned integrated module implemented in the form of a software function module can be stored in a computer-readable storage medium. The above-mentioned software function module is stored in a storage medium, including a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor 301 to perform some steps of the methods of various embodiments of the present application.

[0261] It should be understood that the processor 301 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor 301 may be any conventional processor 301, etc. The steps of the method disclosed in the invention may be directly embodied in the execution of the hardware processor 301, or may be executed by a combination of hardware and software modules in the processor 301.

[0262] The memory 302 may include a high-speed RAM memory, and may also include a non-volatile storage NVM, such as at least one disk memory, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk, or an optical disk.

[0263] The bus 303 may be an Industry Standard Architecture (ISA), a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus 303 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus 303 in the drawings of the present application is not limited to only one bus 303 or one type of bus 303.

[0264] The above storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The storage medium can be any available medium that can be accessed by a general or special purpose computer.

[0265] An exemplary storage medium is coupled to the processor 301, so that the processor 301 can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor 301. The processor 301 and the storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as ASIC). Of course, the processor 301 and the storage medium can also exist as discrete components in an electronic device or a main control device.

[0266] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0267] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. An adaptive noise reduction method based on implicit feedback, characterized in that: Including the following steps: Obtain implicit feedback data of users on products. The implicit feedback data includes users, products, interaction behaviors of users with interactive products, interaction timestamps, and frequencies of interaction behaviors. For each user, define the products with which the user has interacted as interactive products, and the products with which the user has not interacted as non-interactive products. Calculate the preference value of each user for each interactive product based on the implicit feedback data of the user on the product; Calculate the confidence level of each user's interest in each interactive product based on the preference value of each user for each interactive product, and calculate the popularity of all products. Calculate the confidence level of each user's lack of interest in each non-interactive product based on the popularity of the product; Construct a negative example set according to the product popularity; Based on the confidence level of all users' interest in interactive products and the confidence level of users' lack of interest in non-interactive products, use the alternating least squares method to model users and products, and perform adaptive noise reduction training using the negative example set to obtain a user-product model; During the training process, calculate the loss value of each negative example in the negative example set, and divide the negative examples in the negative example set into true negative examples and false negative examples according to a set threshold and the loss value. For the true negative examples, increase the weight when training as negative examples, and for the false negative examples, decrease the weight when training as negative examples. Specifically, it includes the following steps: S11, Randomly initialize the user feature vector matrix P and the product feature vector matrix Q, and define the loss function Loss(P, Q). The calculation formulas for P, Q, and Loss(P, Q) are as follows: P=(p1,p2,…,p n ); Q=(q1,q2,…,q m ); Among them, p u represents the implicit feature vector of user u, u∈{1, 2, …, n}, n represents the number of users; q i represents the implicit feature vector of product i, i∈{1, 2, …, m}, m represents the number of products; Loss(P, Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. represents the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, and ||·|| represents the norm; S12, Calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN. Specifically, it includes: S121, The calculation formula for the loss value of each element (u, i) in the negative example set N is as follows: where loss(u, i) represents the loss value when user u and product i are negative examples of each other; S122, Define the upper threshold and the lower threshold, as shown in the following formula: TNthreshold=(TNthreshold0-Step TN ·iter) 2 ; FNthreshold=(FNthreshold0+Step FN ·iter) 2 ; Among them, TNthreshold represents the lower threshold, TNthreshold0 represents the initial value of the lower threshold, and Step TN Iter represents the current iteration number; FNthreshold represents the upper threshold, FNthreshold0 represents the initial value of the upper threshold, Step represents the lower threshold update step, and FNthreshold0 represents the initial value of the upper threshold. FN Indicates the upper threshold update step; S123, Traverse the negative examples (u, i) in the negative example set. When loss(u, i) < TNthreshold, regard the element (u, i) as a true negative example and save it to the true negative example set TN. When loss(u, i) > FNthreshold, regard the element (u, i) as a false negative example and save it to the false negative example set FN. After division, obtain the true negative example set TN and the false negative example set FN; S13, Fix the user feature vector matrix P and update the product feature vector matrix Q. Specifically, it includes: S131, Calculate the first fine-tuning matrix according to the true negative example set TN. The calculation formula is as follows: Among them, iM TN The implicit feature vector q representing the updated product i i The first fine-tuning matrix of is used to increase the weight of true negative examples as negative examples during training; TN i represents the set of users who are negative examples of product i in the true negative example set TN; e represents a natural constant; TNK represents a hyperparameter; S132, Calculate the second fine-tuning matrix according to the false negative example set FN. The calculation formula is as follows: Among them, iM FN The implicit feature vector q representing the updated product i i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; FN i represents the set of users who are negative examples of product i in the false negative set FN; MaxIter represents the maximum number of iterations; S133, according to the first fine-tuning matrix iM TN and the second fine-tuning matrix iM FN Update the implicit feature vector of the product i, and the calculation formula is as follows: in, and denote the set of users who have interacted with and have not interacted with product i respectively; E denotes the identity matrix; S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q; S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes: S141, calculating a third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows: Among them, uM TN represents the updated implicit feature vector p of user u u The third fine-tuning matrix is ​​used to increase the weight of true negative examples as negative examples during training; TN u represents the set of products that are negative examples of user u in the true negative example set TN; S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows: Among them, uM FN represents the updated implicit feature vector p of user u u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; FN u represents the set of products that are negative examples for user u in the false negative set FN; S143, according to the third fine-tuning matrix uM TN and the fourth fine-tuning matrix uM FN Update the implicit feature vector of the user u, and the calculation formula is as follows: S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P; S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model; A recommendation list is generated for the user based on the user-product model.

2. The method for adaptive noise reduction based on implicit feedback according to claim 1, characterized in that: The step of calculating the preference value of each user for each interactive commodity according to the user's implicit feedback data on the commodity specifically includes: According to the user's interaction behavior and interaction timestamp on the interactive product, the local preference value of each user for each interactive product is calculated. The calculation formula is as follows: Among them, s ui represents the user's local preference value for interactive products; α represents the time decay coefficient, T current represents the current timestamp value; t represents the interaction timestamp value when the interaction occurs; v ui Represents the quantitative value of the user's interactive behavior on the interactive product. The interactive behavior includes click behavior, collection behavior, adding to shopping cart behavior and purchase behavior. For click behavior, v ui =1; for collection behavior, v ui =2; for the behavior of adding to the shopping cart, v ui =3; for purchasing behavior, v ui =4; The user's implicit feedback data is grouped with (user, product) as the keyword, and the user's preference value for the interactive product is calculated based on all local preference values ​​of the same user for the same interactive product in different time periods. The calculation formula is as follows: Score ui =∑s ui ; Among them, Score ui represents the user’s preference value for interactive products, and ∑ represents the sum.

3. The method for adaptive noise reduction based on implicit feedback according to claim 2, characterized in that: The step of calculating the confidence level of each user's interest in each interactive product based on each user's preference value for each interactive product, calculating the product popularity of all products, and calculating the confidence level of each user's disinterest in each non-interactive product based on the product popularity specifically includes: In the first case, in response to determining that the user u has interacted with the product i, the interaction behavior is a click behavior, and the frequency of the interaction behavior is 1, the confidence calculation formula for the user u's interest in the product i is as follows: In the second case, in response to determining that the user u has interacted with the product i, the interaction behavior is a purchase behavior, and the user u has only multiple purchase behaviors for the product i but no other interaction behaviors, the confidence calculation formula for the user u's interest in the product i is as follows: Where β represents the confidence coefficient; Buy u Represents the set of products purchased by user u; OnlyBuy u represents the set of products that user u directly purchases without any other interactive behaviors; In the third case, in response to determining that the user u has interacted with the product i, and the interaction behavior does not belong to the first case and the second case, the confidence calculation formula for the user u's interest in the product i is as follows: The popularity value of product i is calculated based on the preference values ​​of all users for the interactive products corresponding to the same product i. The calculation formula is as follows: Among them, pop i Indicates the popularity value of product i; In the fourth case, in response to determining that the user u has not interacted with the product i, the confidence calculation formula that the user u is not interested in the product i is as follows: Among them, k and 1 represent hyperparameters; pop mean Indicates the average popularity of all products.

4. The method for adaptive noise reduction based on implicit feedback according to claim 3, characterized in that: The step of constructing a negative example set according to the popularity of a product specifically includes: Select the top h most popular products among all non-interacted products of each user to generate a negative example set N, where each element in N is (u, i), indicating that user u and product i are negative examples of each other.

5. The method for adaptive noise reduction based on implicit feedback according to claim 3, characterized in that: The specific calculation formula for generating a recommendation list for a user based on the user-product model is as follows: Among them, rec u represents the recommended list, (q i , p u ) represents the implicit feature vector q of product i i and the implicit feature vector p of user u u The inner product of ; γ represents the heat penalty factor, which takes a value of [0, 1]; Sort- means that the list is sorted from large to small; take(RecN) means taking the first RecN elements of the list; I represents the set of all products.

6. An adaptive noise reduction device based on implicit feedback, characterized in that: include: A preference value calculation module, configured to obtain implicit feedback data of a user on a product, where the implicit feedback data includes the user, the product, the interaction behavior of the user on the interactive product, the interaction timestamp, and the frequency of the interaction behavior. For each user, the products that have interacted with the user are defined as interactive products, and the products that have not interacted with the user are defined as non-interactive products. The preference value of each user for each interactive product is calculated based on the implicit feedback data of the user on the product; A confidence calculation module, configured to calculate the confidence that each user is interested in each interactive product based on the preference value of each user for each interactive product, calculate the popularity of all products, and calculate the confidence that each user is not interested in each non-interactive product based on the product popularity; A negative example set construction module, configured to construct a negative example set based on the product popularity; A model training module, configured to model the user and the product by using the alternating least squares method based on the confidence that all users are interested in the interactive products and the confidence that the users are not interested in the non-interactive products, and perform adaptive noise reduction training by using the negative example set to obtain a user-product model; During the training process, calculate the loss value of each negative example in the negative example set, divide the negative examples in the negative example set into true negative examples and false negative examples according to a set threshold and the loss value. For the true negative examples, increase the weight when training as negative examples, and for the false negative examples, decrease the weight when training as negative examples. Specifically, it includes the following steps: S11, randomly initialize the user feature vector matrix P and the product feature vector matrix Q, define the loss function Loss(P, Q), and the calculation formulas of P, Q, and Loss(P, Q) are as follows: P=(p1,p2,…,p n ); Q=(q1,q2,…,q m ); Among them, p u represents the implicit feature vector of user u, u∈{1, 2, …, n}, n represents the number of users; q i represents the implicit feature vector of product i, i∈{1, 2, …, m}, m represents the number of products; Loss(P, Q) represents the loss value based on the user feature vector matrix P and the product feature vector matrix Q, U represents the set of all users, and They represent the sets of products that user u has interacted with and has not interacted with, Indicates the confidence that the user is interested in the interactive product. represents the confidence that the user is not interested in the uninteracted product; reg represents the regularization coefficient, T represents the vector transpose, and ||·|| represents the norm; S12, calculate the loss value of each element (u, i) in the negative example set N according to the current user feature vector matrix P and the product feature vector matrix Q, construct an initially empty true negative example set TN and a false negative example set FN, classify the negative examples in the negative example set and save them to the true negative example set TN or the false negative example set FN. Specifically, it includes: S121, the calculation formula of the loss value of each element (u, i) in the negative example set N is as follows: where loss(u, i) represents the loss value when the user u and the product i are negative examples of each other; S122, define the upper threshold and the lower threshold, as shown in the following formula: TNthreshold=(TNthreshold0-Step TN ·iter) 2 ; FNthreshold=(FNthreshold0+Step FN ·iter) 2 ; Among them, TNthreshold represents the lower threshold, TNthreshold0 represents the initial value of the lower threshold, and Step TN Iter represents the current iteration number; FNthreshold represents the upper threshold, FNthreshold0 represents the initial value of the upper threshold, Step represents the lower threshold update step, and FNthreshold0 represents the initial value of the upper threshold. FN Indicates the upper threshold update step; S123, traverse the negative examples (u, i) in the negative example set. When loss(u, i) < TNthreshold, regard the element (u, i) as a true negative example and save it to the true negative example set TN. When loss(u, i) > FNthreshold, regard the element (u, i) as a false negative example and save it to the false negative example set FN. After division, obtain the true negative example set TN and the false negative example set FN; S13, fix the user feature vector matrix P and update the product feature vector matrix Q. Specifically, it includes: S131, calculate the first fine-tuning matrix according to the true negative example set TN, and the calculation formula is as follows: Among them, iM TN The implicit feature vector q representing the updated product i i The first fine-tuning matrix of is used to increase the weight of true negative examples as negative examples during training; TN i represents the set of users who are negative examples of product i in the true negative example set TN; e represents a natural constant; TNK represents a hyperparameter; S132, calculating a second fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows: Among them, iM FN The implicit feature vector q representing the updated product i i The second fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; FN i represents the set of users who are negative examples of product i in the false negative set FN; MaxIter represents the maximum number of iterations; S133, according to the first fine-tuning matrix iM TN and the second fine-tuning matrix iM FN Update the implicit feature vector of the product i, and the calculation formula is as follows: in, and denote the set of users who have interacted with and have not interacted with product i respectively; E denotes the identity matrix; S134, repeat the above three steps to update the implicit feature vectors of all products in the product feature vector matrix Q; S14, fixing the product feature vector matrix Q and updating the user feature vector matrix P, specifically includes: S141, calculating a third fine-tuning matrix according to the true negative example set TN, the calculation formula is as follows: Among them, uM TN represents the updated implicit feature vector p of user u u The third fine-tuning matrix is ​​used to increase the weight of true negative examples as negative examples during training; TN u represents the set of products that are negative examples of user u in the true negative example set TN; S142, calculating a fourth fine-tuning matrix according to the false negative example set FN, the calculation formula is as follows: Among them, uM FN represents the updated implicit feature vector p of user u u The fourth fine-tuning matrix is ​​used to reduce the weight of false negative examples when used as negative examples for training; FN u represents the set of products that are negative examples for user u in the false negative set FN; S143, according to the third fine-tuning matrix uM TN and the fourth fine-tuning matrix uM FN Update the implicit feature vector of the user u, and the calculation formula is as follows: S144, repeat the above three steps to update the implicit feature vectors of all users in the user feature vector matrix P; S15, looping through steps S13 to S14 until Loss (P, Q) converges or reaches the maximum number of iterations, and obtaining a user-product model; The recommendation list generating module is configured to generate a recommendation list for the user based on the user-product model.

7. An electronic device comprising: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

9. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Method for realizing personalized recommendation by utilizing multiple implicit feedback

    CN111177580A

  • Adaptive noise data collaborative comparison recommendation model

    CN116720005A