Recommended ways to increase diversity

By integrating the exclusion weight algorithm and lightweight recall method of multi-arm slot machine algorithm in the recommendation system, the problem of the existing recommendation system forming an information cocoon under the large amount of data is solved, and the diversity of recommended results and the optimization of computing efficiency is achieved.

CN113961808BActive Publication Date: 2025-03-14SHANGHAI JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111248000.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-26
Publication Date
2025-03-14
Estimated Expiration
2041-10-26

AI Technical Summary

Technical Problem

The existing recommendation system is prone to form an information cocoon in the process of pursuing accuracy, neglecting the convergence speed and calculation costs under the large data volume, resulting in a narrow field of view and unable to meet the diverse needs of users.

Method used

In the sorting process of the recommendation system, the exclusion weight algorithm of the multi-arm slot machine algorithm is integrated, combined with a lightweight recall method, to improve the diversity of recommended results, and at the same time control the calculation amount and convergence speed.

Benefits of technology

By improving the diversity of recommended results, meeting the diverse needs of users, while reducing calculation costs and improving convergence speed, the overall performance of the recommendation system is improved while ensuring the accuracy of recall results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113961808B_ABST
    Figure CN113961808B_ABST
Patent Text Reader

Abstract

A method for increasing the diversity of item recommendations, when a user goes online, item data is obtained and preprocessed to construct an item feature vector; based on the user feature vector, items that the user may be interested in, i.e., candidate items, are quickly recalled from a massive item library; the candidate items are sorted using an exclusion weight algorithm; and the sorting algorithm parameters are updated based on the user selection result feedback. The present invention integrates the exclusion weight algorithm of the multi-armed bandit algorithm in the sorting link of the recommendation system, and uses a lightweight recall method in the recall stage, which improves the diversity of the recommendation results while ensuring the accuracy of the recall results, while the amount of calculation is relatively small and the convergence speed is relatively fast.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a technology in the field of information processing, and specifically to an item recommendation method for increasing diversity. Background Art

[0002] Existing recommendation systems mostly pursue precision, which leads to the long-tail effect, narrows the user's field of vision, and cannot truly meet the needs of users. However, precision is not the only indicator for judging recommendation systems. Users have a wide range of interests, and the recommendation list needs to be able to cover users' different areas of interest, that is, the recommendation results need to be diverse. For example, for a user looking for a new book, a recommendation result with a precision of 35% that includes books in seven or eight fields is more likely to be satisfactory than a recommendation result with a precision of 40% that only includes books in two or three fields. Existing general diversity indicators for evaluating recommendation results include ILS (intra-list similarity), Hamming distance, SSD (self-system diversity) and other indicators. Summary of the invention

[0003] In view of the shortcomings of the prior art that information cocoons are easily formed and the convergence speed and computational cost are ignored under large amounts of data, the present invention proposes an item recommendation method that increases diversity. In the sorting link of the recommendation system, the repulsive weight algorithm (RWA) of the multi-armed bandit algorithm is integrated, and a lightweight recall method is used in the recall stage. The diversity of recommendation results is improved while ensuring the accuracy of the recall results. At the same time, the computational complexity is relatively small and the convergence speed is relatively fast.

[0004] The present invention is achieved through the following technical solutions:

[0005] The present invention comprises the following steps:

[0006] Step 1) The user goes online, obtains and preprocesses item data, and constructs a feature vector of the item;

[0007] The preprocessing refers to: obtaining object feature vectors and classification through a deep neural network plus a k-nearest neighbor algorithm.

[0008] Step 2) Based on the user feature vector, quickly recall items that the user may be interested in, i.e., candidate items, from a massive item library;

[0009] Step 3) Sort the candidate items using the Repulsive Weight Algorithm (RWA);

[0010] Step 4) Update the sorting algorithm parameters based on the user selection result feedback.

[0011] The recall layer obtains the user feature vector and uses the Balltree algorithm to perform a combined operation of nearest neighbor recall.

[0012] The sorting layer uses a multi-level elimination queue for heat control and uses an improved exclusion weight algorithm based on a multi-armed bandit algorithm to improve diversity.

[0013] The present invention relates to a system for implementing the above method, comprising: a preprocessing unit, a recall layer unit, a sorting layer unit and an output recommendation unit, wherein: the preprocessing unit performs neural network deep learning processing based on the interaction information between the user and the item to be recommended, obtains the feature vector result of the item, and classifies the item according to the k nearest neighbor algorithm. The recall layer unit processes the user's historical interaction information to obtain the user feature vector, and obtains H candidate items according to the ball tree nearest neighbor algorithm. The sorting layer unit processes the H candidate items and the elimination queue using a repulsive weight algorithm (RWA) to obtain the ranking results of the H candidate items. The output recommendation unit outputs the top N items for recommendation to the user based on the ranking result information.

[0014] Technical Effects

[0015] The present invention uses a sorting layer and a multi-level elimination queue to prevent items from appearing repeatedly in previous and subsequent recommendations and to control the ranking order; after the user makes a selection, the weight of some unselected items is additionally reduced, thereby improving the diversity exploration level of the next recommendation. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a flow chart of the present invention;

[0017] Figure 2 Schematic diagram of the sorting layer process.

[0018] Figure 3 Select a schematic for the vector group.

[0019] Figure 4 Schematic diagram of the neural network structure.

[0020] Figure 5 Schematic diagram of experimental data of the embodiment. DETAILED DESCRIPTION

[0021] like Figure 1 As shown, this embodiment relates to a method for increasing diversity of item recommendations, comprising the following steps:

[0022] Step 1) The user goes online, obtains and preprocesses item data, and constructs a feature vector of the item;

[0023] Step 2) The discrete variables are converted into continuous vectors through the Embedding method to construct features, and candidate items are selected based on the nearest neighbor method. Specifically, a low-dimensional vector is used to represent an object, a word, etc., so that objects corresponding to vectors with similar distances have similar meanings.

[0024] Step 3) Sort the candidate items using the Repulsive Weight Algorithm (RWA);

[0025] Step 4) Update the sorting algorithm parameters based on the user selection result feedback.

[0026] The preprocessing in step 1 refers to collecting relevant information of all users and all items, and taking a series of items interacted by a user within 24 hours as a user interaction set, which is w1, w2, w3, ... w K . Using deep neural network for learning, the objective function is: in: The user interaction set is taken as a unit, and the set is input into the deep neural network to obtain the feature vector of each item. Specifically, the number of all items is obtained, and different items are numbered as 1, 2, 3, ..., N, and an N-dimensional vector is constructed. The vector corresponding to any item number I is 1 in the Ith dimension, and the remaining dimensions are 0. For the user interaction set described in the preprocessing, according to an adjustable window size, an item is selected as the center as the input vector, and the items within the window size range are the output vectors. The input vector is calculated through the weight matrix of the hidden layer to obtain the output vector, and the weight is updated according to the loss function and combined with negative sampling. For all user interaction sets, the vector group with each item as the center is learned in turn by this method to obtain the weight matrix.

[0027] like Figure 3 As shown in the figure, it is a schematic diagram of vector group selection. For a certain user interaction set, if item d is selected as the center and the window size is 2, then b, c, e, and f are output vectors. After the input neural network calculation is completed, e is selected as the center, and c, d, f, and d are output vectors for calculation. And so on.

[0028] like Figure 4 As shown in the figure, it is a neural network structure, where each hidden layer node receives input x and outputs ax+b, where a and b are the parameters learned by the neural network. The output nodes are all softmax classification functions. For node c, it receives input y from the previous layer. c , output The output value represents the probability of the relevant item, and the sum of the output probability values ​​of all output nodes is 100%.

[0029] In order to speed up the convergence of the neural network, negative sampling is used to optimize the update of weights: only a small part of the weights are updated, such as the weights related to 4 neurons. After each calculation is completed, there are several output neuron nodes whose expected output is 0. Four of them are selected by generating random numbers, and the weights of the hidden layer neuron nodes connected to the four neuron nodes are updated.

[0030] The operation in step 2 is specifically as follows: from the object feature vector library, the object categories are divided according to the K nearest neighbor algorithm.

[0031] The K nearest neighbor algorithm includes:

[0032] 1) Calculate the distance between the points in the known category data set and the current point;

[0033] 2) Sort by increasing distance;

[0034] 3) Select k points with the smallest distance to the current point;

[0035] 4) Count the frequency of occurrence of the categories of the first k points;

[0036] 5) Return the category with the highest frequency of the first k points as the predicted category of the current point.

[0037] The candidate items are obtained in the following manner: for an online user user, let the user's feature vector be the arithmetic average of the feature vectors of M items that have been historically interacted with; use the Balltree nearest neighbor algorithm to calculate the H nearest neighbors of the user's feature vector; and use these H items as candidate items.

[0038] The ball tree is a binary tree in which each node defines a d-dimensional hypersphere, or ball, containing a subset of the points being searched. Each internal node of the tree divides the data points into two disjoint sets, which are associated with different balls. When the balls themselves may intersect, each point is assigned to one of the balls according to its distance from the center of the ball. Each leaf node in the tree defines a ball and enumerates all the data points within the ball; each node in the tree defines a minimum ball that can contain all the data points in this subtree. This produces a useful property that for a given test point t, the distance to any point in the ball B in the tree is greater than or equal to the distance from t to the ball.

[0039] The Balltree nearest neighbor algorithm checks nodes in depth-first order, starting from the root node. During the search process, the algorithm maintains a priority queue (implemented with a heap), denoted as Q, which represents the k nearest points encountered so far; on each node B, when ① the distance from the test point t to the current node B is greater than the farthest point in Q, B is ignored and Q is returned; when ② B is a leaf node, each node enumerated in B is scanned, then the queue is updated, and then returned; when ③ node B is an internal node, the two child node algorithms of B are recursively called, and the child node with a center closer to t is searched first. The queue is updated after each call, and then returned, and an updated version of the priority queue is finally returned.

[0040] The recall method used in the present invention has a relatively small amount of calculation and a relatively fast convergence speed while ensuring the accuracy of the recall result.

[0041] like Figure 2 As shown, the exclusion weight algorithm includes:

[0042] Step a) Item deduplication: For items that have been recommended, no more recommendations will be made in a short period of time. The system maintains three elimination queues, named A, B, and C from high to low priority. First, remove the items in the A and B queues from the H candidate items.

[0043] Step b) Item Scoring: According to the classification in the preprocessing stage, let the H candidate items contain L categories, each category corresponds to an arm of the multi-armed bandit algorithm, and initialize the weights w of the L arms i . Collect a period of time (such as 10 minutes) before this moment as the window time, and count the number of exposures of the corresponding type of objects in the arm during the window time. i 、Number of clicksc i , S is the number of exposures of all items, and the weight is calculated Where: 0<b<1, E is a constant; for the tth round of recommendation, the probability of the i-th arm being selected Among them: 0<a<1, is a hyperparameter; within each arm, the cosine similarity between the item feature vector and the user feature vector will be calculated and sorted from high to low according to the similarity.

[0044] Step c) Item selection: Select an arm by generating a random number, and do this N times in total, generating an item recommendation each time. The selected arm is sorted according to the similarity in the previous step, and the items in this category are pushed out from high to low. For the selected N items, they are sorted into two categories, with those not in the elimination queue C sorted first and those in the elimination queue C sorted last.

[0045] Step d) Update weights: When the user makes a selection, update the item weights. The formula for the score is: Among them, 0<a<1, is a hyperparameter, x j is the profit of the arm in the previous round. When the algorithm calculates the probability of an arm, although it may tend to 0, it is always greater than 0, so any arm has a chance to be selected, and arms with high profits are more likely to be selected, while arms with low profits are less likely to be selected. This increases the diversity of recommendation results.

[0046] Step e) All items in elimination queue C are removed from the queue, all items in elimination queue B are moved to elimination queue C, and all items in elimination queue A are moved to elimination queue B. Except for the category where the selected item is located, items in other exposed categories are added to elimination queue A. The category where the selected item is located and the unselected items are added to elimination queue C.

[0047] Step f) For the L categories where the H candidate items are located, calculate the arithmetic mean of the item feature vectors in the category as the category feature vector. Calculate the cosine similarity between the feature vectors of other categories and the selected category, suppress the weights of the least similar 2 / L categories, and update the processed weights: where e j Number of exposures, wO j is the updated weight in step d.

[0048] The cosine similarity means that the cosine value between the angle between two vectors in a vector space is used as a measure of the difference between two individuals. The closer the cosine value is to 1, the closer the angle is to 0, indicating that the two vectors are more similar. The closer the cosine value is to 0, the closer the angle is to 90 degrees, indicating that the two vectors are less similar.

[0049] After specific practical experiments, the programming language Python was used on a computer with a processor Intel Core i7-9750H@2.60GHz six-core, memory 16GB (GLOWAY DDR4 2666MHz / goldkey DDR4 2666MHz), and main graphics card Nvidia GeForce GTX 1650 (4GB). The MovieLens-1M dataset was used for testing. The above method was run with the parameter of recall layer H=2000 and compared with the traditional collaborative filtering method. The experimental data that can be obtained are as follows: Figure 5 As shown in the figure, ILS (intralist similarity) is used as the comparison indicator. The ILS in the figure is mainly for a single user. Generally speaking, the larger the ILS value, the worse the diversity of the recommendation list for a single user. Where i and j are two items in the recommendation list R, sim(i, j) is their cosine similarity, and N is the total number of items in R. The smaller the ILS, the better.

[0050] Compared with the existing technology, the diversity of recommendation results of this method has been significantly improved.

[0051] The above-mentioned specific implementation can be partially adjusted in different ways by those skilled in the art without departing from the principle and purpose of the present invention. The protection scope of the present invention shall be based on the claims and shall not be limited by the above-mentioned specific implementation. Each implementation scheme within its scope shall be subject to the constraints of the present invention.

Claims

1. An item recommendation system for increasing diversity, characterized in that: include: Preprocessing unit, recall layer unit, sorting layer unit and output recommendation unit, wherein: the preprocessing unit performs neural network deep learning processing based on the interaction information between the user and the recommended item to obtain the feature vector result of the item, and classifies the item according to the k nearest neighbor algorithm; the recall layer unit processes the user's historical interaction information to obtain the user feature vector, and obtains H candidate items according to the ball tree nearest neighbor algorithm; the sorting layer unit processes the H candidate items and the elimination queue with the exclusion weight algorithm to obtain the ranking result of the H candidate items; the output recommendation unit outputs the top N items and recommends them to the user according to the ranking result information; The candidate items are obtained in the following manner: for an online user, the user's feature vector is set to be the arithmetic average of the feature vectors of M items that have been historically interacted with; the ball tree nearest neighbor algorithm is used to calculate the H nearest neighbors of the user's feature vector; and the H items are used as candidate items; The exclusion weight algorithm includes: Step a) Item deduplication: For items that have been recommended, no more recommendations will be made within a short period of time. The system maintains three elimination queues, named A, B, and C from high to low priority. First, remove the items in the A and B queues from the H candidate items; Step b) Item scoring: According to the classification in the preprocessing stage, let the H candidate items contain L categories in total, and each category corresponds to an arm of the multi-armed bandit algorithm. Initialize the weights w of the L arms i ; Collect the time period up to this moment as the window time, and count the exposure times e of the items corresponding to the arm in this window time i , click times c i . S is the exposure times of all items, and the weight is calculated as where: 0 < b < 1, E is a constant; for the t-th round of recommendation, the selection probability of the i-th arm is where: 0 < a < 1, which is a hyperparameter; within each arm, the cosine similarity between the item feature vector and the user feature vector will be calculated and sorted from high to low according to the similarity; Step c) Item selection: Select an arm by generating a random number, and do this N times in total, generating an item recommendation each time; the selected arm is sorted according to the similarity in the previous step, and the items in this category are pushed out from high to low; the selected N items are sorted into two categories, with those not in the elimination queue C being ranked first and those in the elimination queue C being ranked last; Step d) Update weights: After the user makes a selection, update the item weights; the formula for the score is: where 0 < a < 1, which is a hyperparameter, and x j is the previous round's reward for this arm; when calculating the probability of an arm, although it may tend to 0, it is always greater than 0. So any arm has a chance to be selected, and arms with higher rewards are more likely to be selected while arms with lower rewards are less likely to be selected; this increases the diversity of the recommendation results. Step e) All items in elimination queue C are removed from the queue, all items in elimination queue B are moved to elimination queue C, and all items in elimination queue A are moved to elimination queue B; except for the category where the selected item is located, items in other exposed categories are added to elimination queue A; the category where the selected item is located and items that are not selected are added to elimination queue C; Step f) For the L categories where the H candidate items are located, calculate the arithmetic mean of the item feature vectors in the category as the category feature vector; calculate the cosine similarity between the feature vectors of other categories and the selected category, suppress the weights of the least similar 2 / L categories, and update the processed weights: where e j Exposure times, wO j is the updated weight in step d.

2. The item recommendation system for increasing diversity according to claim 1, characterized in that: The preprocessing refers to: obtaining object feature vectors and classification through a deep neural network plus a k-nearest neighbor algorithm.

3. The item recommendation system for increasing diversity according to claim 1, characterized in that: The recall layer obtains the user feature vector and performs a combined operation of nearest neighbor recall using a ball tree algorithm.

4. The item recommendation system for increasing diversity according to claim 1, characterized in that: The sorting layer uses a multi-level elimination queue for heat control and uses an improved exclusion weight algorithm based on a multi-armed bandit algorithm to improve diversity.

5. A method for increasing diversity of item recommendations based on the system of any one of claims 1 to 4, characterized in that: step: Step 1) The user goes online, obtains and preprocesses item data, and constructs a feature vector of the item; Step 2) Based on the user feature vector, quickly recall items that the user may be interested in, i.e., candidate items, from a massive item library; Step 3) Sort the candidate items using the exclusion weight algorithm; Step 4) Update the sorting algorithm parameters according to the user selection result feedback; The K nearest neighbor algorithm includes: 1) Calculate the distance between the points in the known category data set and the current point; 2) Sort by increasing distance; 3) Select k points with the smallest distance to the current point; 4) Count the frequency of occurrence of the categories of the first k points; 5) Return the category with the highest frequency of the first k points as the predicted category of the current point.

Citation Information

Patent Citations

  • Recommendation system cold start method based on multi-arm bandit confidence upper limit

    CN107563867A

  • Online Game for Portfolio Management Driven by Real World Stock Market Using Tournament Bracket Format

    US20170113144A1