Recommendation method and device based on multi-objective optimization and computer readable storage medium
By employing a multi-objective optimization recommendation method, utilizing K-means clustering and an improved resource allocation probability propagation algorithm (RAIProbS), combined with an evolutionary strategy guided by accuracy preferences, the contradiction between accuracy, diversity, and novelty in the recommendation system is resolved, resulting in more reasonable recommendation outcomes.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA UNIONPAY
- Filing Date
- 2023-08-07
- Publication Date
- 2026-05-26
AI Technical Summary
Existing recommendation systems neglect less popular items when trying to improve accuracy, resulting in a lack of diversity and novelty in the recommendations, which fails to meet the diverse needs of users.
A multi-objective optimization recommendation method is adopted, which groups users by K-means clustering and uses the improved resource allocation probability propagation algorithm (RAIProbS) to predict users' ratings of items. Combined with an evolutionary strategy guided by accuracy preference users, the objective functions of accuracy and diversity are optimized to generate recommendation results.
While ensuring the accuracy of recommendations, it improves the diversity and novelty of the recommendation system, balances the contradictions between different indicators, and provides more reasonable recommendation results.
Smart Images

Figure CN117033780B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of recommendation, specifically relating to a recommendation method, apparatus, and computer-readable storage medium for multi-objective optimization. Background Technology
[0002] This section is intended to provide background or context for the embodiments of this application as set forth in the claims. The description herein is not intended to be a prior art simply because it is included in this section.
[0003] With the development of the Internet, humanity has entered an era of information explosion. As an effective tool to address this information explosion, recommendation systems not only help consumers find the items they need from a vast array of products, but also help businesses fully explore consumer demand, thereby increasing sales. Therefore, recommendation systems are applied in numerous fields, including: (1) E-commerce: Major e-commerce websites analyze users' historical behavior to uncover potential user needs and improve profitability. (2) Movie and video websites: Personalized recommendations increase video click-through rates. (3) Short video platforms: Domestic companies like Douyin and Kuaishou analyze user profiles to recommend short videos. (4) Personalized music platforms: Analyzing users' listening history to recommend similar songs. (5) Social networks: Recommendation systems recommend friends, products, etc. to users. Based on this, personalized recommendation systems have become an indispensable part of people's lives.
[0004] However, it has become increasingly clear that traditional recommendation algorithms fail to adequately meet user needs, with the long-tail effect resulting in only popular items being recommended. Therefore, improving the accuracy of recommendation systems is a pressing issue that needs to be addressed.
[0005] Application content
[0006] To address the problems existing in the prior art, a recommendation method, apparatus, and computer-readable storage medium for multi-objective optimization are proposed, which can solve the aforementioned problems.
[0007] This application provides the following solutions.
[0008] Firstly, a recommendation method based on multi-objective optimization includes:
[0009] Obtain user rating information, including ratings from multiple users for multiple items;
[0010] Based on user rating information, users are clustered into different clusters using K-means clustering.
[0011] Based on an improved probability propagation algorithm for resource allocation, predict the predicted ratings of items by users in each cluster;
[0012] In each cluster, an initial population is generated based on users' predicted ratings of items. An evolutionary strategy guided by accuracy preferences is used to solve a multi-objective optimization problem based on accuracy and diversity objective functions, resulting in the target recommendation results for each cluster.
[0013] In one implementation, clustering users into different clusters using K-means clustering further includes using a cosine metric to measure the similarity between users.
[0014] In one implementation, the following cosine index is used to measure the similarity between users. :
[0015]
[0016] in, For users For items Ratings User and users A collection of items that have been jointly selected.
[0017] In one implementation, the accuracy objective function for:
[0018]
[0019] in, Indicates user For items Predicted score This represents each user's recommendation list. Indicates the cluster the user belongs to. Represents a cluster The number of users in China.
[0020] In one implementation, the diversity objective function includes:
[0021]
[0022] in, For users in the test set, For all users in the test set, This indicates the recommended list generated by the user based on their behavior in the training set. It refers to the quantity of items.
[0023] In one implementation, based on an improved resource allocation probability propagation algorithm, the predicted ratings of items by users in each cluster are predicted, including:
[0024] Assign an initial resource value to an item based on the user's known rating of the item;
[0025] The first resource allocation coefficient is constructed based on the relationship between the user and the cluster center user. Based on the relationship between the user and the item and the first resource allocation coefficient, the first resource allocation is carried out from the item to the user.
[0026] A second resource allocation coefficient is constructed by using a user preference function. This second resource allocation coefficient is then used to allocate resources from users to items, thereby obtaining the predicted rating of each item for each user in the cluster.
[0027] In one implementation, constructing a first resource allocation coefficient based on the relationship between the user and the cluster center user further includes:
[0028] According to user With cluster center users similarity between and all selected items users With cluster center users The sum of similarities between Generate the first resource allocation coefficient.
[0029] In one implementation, the first resource allocation coefficient is constructed using the following formula. :
[0030]
[0031] Among them, users It is the central user of the cluster. Indicates user With cluster center users The similarity between all selected items users With cluster center users The sum of similarities between .
[0032] In one implementation, the first resource allocation further includes:
[0033]
[0034] in, User node The degree, Represents user node With item nodes Are they connected? This is the first resource allocation coefficient;
[0035] in, = , Represents user node For item nodes Initial resources, based on user For items The known scores are determined.
[0036] In one implementation, the method further includes: constructing a user preference function for rated items based on the highest rating given by each user and the user's actual rating of the items.
[0037] In one implementation, a user preference function for rated items is constructed using the following formula:
[0038]
[0039] in, User The highest score given. Indicates user For evaluated items The actual rating.
[0040] In one implementation, constructing the second resource allocation coefficient through a user preference function further includes:
[0041] Based on the ratio of the user's preference function value for already rated items to the sum of the user preference function values for all users who have selected already rated items, a second resource allocation function for users regarding items is constructed.
[0042] In one implementation, the second resource allocation coefficient is constructed using the following formula, and further includes:
[0043]
[0044] in, This indicates all selected items. users A set of.
[0045] In one implementation, the second resource allocation further includes:
[0046]
[0047] in, As a result of the first resource allocation, Item node The degree, Represents user node With item nodes Are they connected? This is the second resource allocation coefficient.
[0048] In one implementation, generating an initial population based on users' predicted ratings of items further includes: for each user in the cluster:
[0049] The first recommendation list is randomly generated from multiple items that the user has not selected.
[0050] The second recommendation list is composed of the items with the highest predicted ratings from the user.
[0051] The first and second recommendation lists are combined to form the initial population.
[0052] In one implementation, the accuracy preference user-guided evolutionary strategy includes:
[0053] In the multi-parent crossover under the NSGA-II algorithm framework, under certain conditions, the individual with the highest accuracy objective function value is introduced as the parent.
[0054] In one implementation, the accuracy preference user-guided evolutionary strategy includes:
[0055] Obtain the probability of users choosing preferences ;
[0056] Generate a random number between 0 and 1 ;
[0057] if If the individual with the highest accuracy objective function value in the current population is selected as the parent, at least two individuals will be selected as parents through a tournament.
[0058] if Then, at least three individuals are selected as parents through a tournament;
[0059] Calculate the frequency of gene occurrence in at least three parents, retain duplicate genes, and randomly select other genes to form the offspring gene pool.
[0060] Secondly, a recommendation device based on multi-objective optimization is provided, comprising:
[0061] The acquisition module is used to acquire user rating information, including ratings from multiple users for multiple items;
[0062] The clustering module is used to cluster users into different clusters based on user rating information using K-means clustering.
[0063] The prediction module is used to predict user ratings for items in each cluster based on a probability propagation algorithm with improved resource allocation.
[0064] The multi-objective optimization module is used to generate an initial population in each cluster based on the user's predicted rating of items, and solve the multi-objective optimization problem based on the accuracy objective function and the diversity objective function using an accuracy preference-guided evolutionary strategy to obtain the target recommendation result for each cluster.
[0065] Thirdly, a recommendation device based on multi-objective optimization is provided, comprising:
[0066] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform: the method of the first aspect.
[0067] Fourthly, a computer-readable storage medium is provided, which stores a program that, when executed by a multi-core processor, causes the multi-core processor to perform the method of the first aspect.
[0068] One of the advantages of the above embodiments is that the algorithm's evolution is guided by the user's preference for accuracy, so that the recommendation results are more biased towards the accuracy objective function while taking into account diversity.
[0069] Other advantages of this application will be explained in more detail with reference to the following description and figures.
[0070] It should be understood that the above description is merely an overview of the technical solution of this application, so as to enable a clearer understanding of the technical means of this application and thus allow for its implementation in accordance with the contents of the specification. To make the above and other objects, features, and advantages of this application more apparent and understandable, specific embodiments of this application are illustrated below. Attached Figure Description
[0071] By reading the detailed description of the exemplary embodiments below, those skilled in the art will understand the advantages and benefits described herein, as well as other advantages and benefits. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0072] Figure 1 A schematic diagram of a multi-objective optimization recommendation device provided in an embodiment of this application;
[0073] Figure 2 A flowchart illustrating a multi-objective optimization recommendation method provided in an embodiment of this application;
[0074] Figure 3 This is a schematic diagram of resource transfer in the existing ProbS probability propagation algorithm;
[0075] Figure 4 A flowchart illustrating a multi-objective optimization recommendation method provided in an embodiment of this application;
[0076] Figure 5 A schematic diagram of a recommended list of clusters provided in an embodiment of this application;
[0077] Figure 6 A flowchart illustrating the multi-parental crossover operation provided in this application embodiment;
[0078] Figure 7 This is a schematic diagram of the gene sequence for multiparental crossover operations provided in an embodiment of this application.
[0079] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation
[0080] Exemplary embodiments of this application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of this application and to fully convey the scope of this application to those skilled in the art.
[0081] In the description of embodiments of this application, it should be understood that terms such as “comprising” or “having” are intended to indicate the presence of the disclosed features, figures, steps, behaviors, components, portions or combinations thereof in this specification, and do not exclude the possibility of the presence of one or more other features, figures, steps, behaviors, components, portions or combinations thereof.
[0082] Unless otherwise stated, " / " means "or". For example, A / B can mean A or B. In this article, "and / or" is merely a way of describing the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A alone, A and B at the same time, and B alone.
[0083] The terms "first," "second," etc., are used only for ease of description to distinguish identical or similar technical features and should not be construed as indicating or implying the relative importance or number of these technical features. Therefore, a feature defined by "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, unless otherwise stated, the term "multiple" means two or more.
[0084] Concept introduction:
[0085] MOEA (Multi-Objective Evolutionary Algorithm) refers to a multi-objective evolutionary algorithm.
[0086] NSGA (Non-Dominated Sorting Genetic Algorithm) refers to the non-dominated sorting genetic algorithm.
[0087] ProbS (Probabilistic Spreading) refers to the probability propagation algorithm.
[0088] RAIProbS (Resource Allocation Improvements Probabilistic Spreading) refers to a probabilistic propagation algorithm based on improving resource allocation.
[0089] It should also be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0090] The applicant observed that significant progress has been made in the accuracy of recommendation systems over the years. However, recommendation systems should not merely recommend popular items to consumers; they should also fully leverage the long-tail effect to make more rational recommendations. The long-tail effect refers to the phenomenon where popular items, liked by the vast majority of people, receive extremely high recommendation frequency, while less popular items receive lower recommendation frequency, making it difficult to present diverse recommendation results. Figure 1 As shown.
[0091] While some current recommendation systems achieve high accuracy rates, the recommendations they provide are not always reasonable for consumers. This is because these systems focus on recommending popular items while ignoring less popular ones, thus preventing these less popular items from being recommended to users.
[0092] Because recommendation systems solely focused on improving accuracy fail to meet user needs, attention has shifted to evaluation metrics such as diversity and novelty. However, improvements to single-objective recommendation systems often involve simple weighting of multiple objectives, with the weights between different objectives frequently uncertain. Alternatively, improving diversity and novelty may compromise accuracy, leading to a trade-off. Therefore, multi-objective optimization algorithms have been developed to simultaneously optimize accuracy, diversity, and novelty. Due to a degree of contradiction between accuracy and diversity / novelty, multi-objective optimization algorithms cannot achieve excellent results across all three metrics. Compared to single-objective algorithms, multi-objective optimization algorithms yield multiple solutions with varying performance across different metrics, providing users with more choices. However, accuracy remains the most crucial metric. When using multi-objective optimization to address recommendation algorithm problems, prioritizing the objectives without considering their importance at the algorithm level is clearly unreasonable.
[0093] This application proposes a multi-objective optimization approach to optimize multiple metrics in a recommendation system. Different metrics have varying degrees of importance, with accuracy being the most crucial. Therefore, it is unreasonable for common multi-objective optimization-based recommendation algorithms to assign equal weights to multiple objectives. This proposal applies a preference-based multi-objective optimization algorithm to the recommendation system, improving diversity while maintaining accuracy.
[0094] like Figure 1 As shown, Figure 1 This is a schematic diagram of the hardware operating environment involved in the embodiments of this application.
[0095] It should be noted that, Figure 1 This is a schematic diagram of the hardware operating environment for a multi-objective optimization recommendation device. In this application embodiment, the multi-objective optimization-based recommendation device can be a terminal device such as a PC or a portable computer.
[0096] like Figure 1As shown, the recommended device for multi-objective optimization may include: a processor 1001, such as a CPU; a network interface 1004; a user interface 1003; a memory 1005; and a communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or stable non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.
[0097] Those skilled in the art will understand that Figure 1 The recommended device structure based on multi-objective optimization shown in the figure does not constitute a limitation on the recommended device based on multi-objective optimization. It may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0098] like Figure 1 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a blockchain-based information transmission program. The operating system is a program that manages and controls the hardware and software resources of the recommendation device based on multi-objective optimization, supporting the operation of the recommendation program based on multi-objective optimization and other software or programs.
[0099] exist Figure 1 In the multi-objective optimization-based recommendation device shown, the user interface 1003 is mainly used to receive requests and data sent by the first terminal, the second terminal, and the monitoring terminal; the network interface 1004 is mainly used to connect the backend server and communicate with it; and the processor 1001 can be used to call the recommendation program stored in the memory 1005 and perform the following operations:
[0100] Obtain user rating information, including ratings from multiple users for multiple items;
[0101] Based on the user rating information, users are clustered into different clusters using K-means clustering.
[0102] Based on the improved resource allocation probability propagation algorithm (RAIProbS), predict the predicted ratings of items by users in each cluster;
[0103] In each cluster, an initial population is generated based on users' predicted ratings of items. An evolutionary strategy guided by accuracy preferences is used to solve a multi-objective optimization problem based on accuracy and diversity objective functions, resulting in the target recommendation results for each cluster.
[0104] By using users who prefer accuracy, the algorithm's evolution can be guided, making the algorithm more inclined to favor the accuracy objective function.
[0105] Figure 2 This is a flowchart illustrating a recommendation method for multi-objective optimization according to an embodiment of this application. In this process, from a device perspective, the executing entity can be one or more electronic devices; from a program perspective, the executing entity can correspondingly be a program mounted on these electronic devices.
[0106] 210. Obtain user rating information, including ratings from multiple users for multiple items;
[0107] An item refers to an object that can be recommended to users in a corresponding recommendation system. For example, in a shopping recommendation system, the item could be a product; in a movie or short video recommendation system, the item could be a movie; in a social network recommendation system, the item could be a user account, and so on.
[0108] User rating information includes ratings from multiple users for multiple items. This rating information is not limited to specific user rating events, but can also be derived from related user actions towards items. For example, in a shopping recommendation system, one can obtain rating information for each user's purchased products, or the number of times a user has purchased a product as their rating information, or the user's rating information for a product based on clicks, favorites, or shares, and so on.
[0109] In one example, the test set Includes users User rating information can include user ratings. For items rating And so on.
[0110] 220. Based on user rating information, cluster users into different clusters using K-means clustering;
[0111] Understandably, to reduce algorithm complexity, users in the dataset are clustered into different clusters. Since the individual encoding method in the subsequent Improved Resource Allocation Probability Propagation Algorithm (RAIProbS) is proportional to the number of users, reducing the number of users in a cluster through clustering can significantly reduce the dimensionality of decision variables in multi-objective optimization. Therefore, this embodiment uses the K-means algorithm for clustering.
[0112] In one implementation, the above-mentioned 220, which clusters users into different clusters by K-means clustering, further includes: using a cosine index to measure the similarity between users.
[0113] Furthermore, the following cosine index can be used to measure user behavior. and users similarity between :
[0114]
[0115] in, For users For items Ratings User and users A collection of items that have been jointly selected.
[0116] Next, we will first introduce the multi-objective optimization problem based on the accuracy objective function and the diversity objective function.
[0117] Since the multi-objective optimization algorithm in this embodiment considers both accuracy and diversity, the definitions of the two objective functions are given here.
[0118] Regarding accuracy, the true accuracy can only be calculated during the testing phase. Therefore, this embodiment uses the average predicted rating of each user's recommendation list in the cluster to represent accuracy. The higher the predicted rating, the higher the accuracy.
[0119] For example, the optimized accuracy objective function used in this embodiment The specific definitions are as follows:
[0120]
[0121] in, Indicates user For items Predicted score This represents each user's recommendation list. Indicates the cluster the user belongs to. Represents a cluster The number of users in China.
[0122] Regarding diversity, this embodiment uses coverage to measure the diversity of the recommendation list.
[0123] For example, the specific definition of the optimized diversity objective function used in this embodiment is as follows:
[0124]
[0125] in, For users in the test set, For all users in the test set, This indicates the recommended list generated by the user based on their behavior in the training set. It refers to the quantity of items.
[0126] 230. Based on the improved resource allocation probability propagation algorithm (RAIProbS), predict the predicted ratings of items for users in each cluster;
[0127] This embodiment proposes an improved resource allocation probability propagation algorithm (RAIProbS) based on the existing probability propagation algorithm (ProbS). It optimizes user allocation by incorporating user similarity and user preference functions. For items Predicted score The calculation.
[0128] This embodiment first introduces the existing probability propagation algorithm (ProbS), referencing... Figure 3 The ProbS algorithm abstracts users and items in the recommendation system into nodes, and the behavior between users and items into connections between nodes. The algorithm can be divided into the following three steps:
[0129] (1) Determine the initial resource value of the item
[0130] Assign initial values to item nodes based on user ratings, and set user nodes as follows: For the target user, the initial resource values of the item are as follows:
[0131]
[0132] in, Represents user node For item nodes The initial resources, if the target user rates the item at 3 stars or higher, then ,on the contrary In addition, initial values can be assigned to item nodes based on whether the target user has selected any items.
[0133] (2) First resource allocation (resources flow from items to users)
[0134] The resource value of the user node is obtained based on the initial resource value of the item and the connection relationship between the item node and the user node, as follows:
[0135]
[0136] in, It is a node The degree. Represents a node With nodes Whether they are connected: 1 if connected, 0 otherwise.
[0137] (3) Secondary allocation of resources (resources flow from users back to items)
[0138] Based on the resources obtained by user nodes after the first allocation and the relationship between user nodes and item nodes, the item node resources are redistributed as follows:
[0139]
[0140] Next, this embodiment will specifically describe a specific exemplary implementation of the improved probability propagation algorithm for resource allocation (RAIProbS).
[0141] In the ProbS algorithm, the first stage distributes resources evenly among users based on the relationship between users and items. This embodiment further considers the following two points: (1) If two users jointly select a large number of items, their interests may be similar; (2) The central user of a cluster often represents the overall preference of the cluster. Based on this, this embodiment modifies the resource allocation coefficients in the first and second stages of the ProbS algorithm to obtain the Probability Propagation Algorithm Based on Improved Resource Allocation (RAIProbS).
[0142] In one implementation, reference Figure 4 230 further includes:
[0143] 231. Assign initial resource values to items based on users' known ratings of the items;
[0144] For example, a user node can be represented using the following formula. For item nodes The initial resource value assigned :
[0145] =
[0146] Represents user node For item nodes Initial resources, based on user For items The known scores are determined.
[0147] 232. Construct a first resource allocation coefficient based on the relationship between users and users in the cluster center. Based on the relationship between users and items and the first resource allocation coefficient, perform the first resource allocation from items to users.
[0148] In one implementation, constructing the first resource allocation coefficient in step 232 further includes:
[0149] According to user With cluster center users similarity between and all selected items users With cluster center users The sum of similarities between Generate the first resource allocation coefficient.
[0150] In one implementation, the first resource allocation coefficient is constructed using the following formula. :
[0151]
[0152] Among them, users It is the central user of the cluster. Indicates user With cluster center users The similarity between all selected items users With cluster center users The sum of similarities between .
[0153] In one implementation, it can be based on a first resource allocation coefficient. Improving the allocation of the first resource can be based on this first resource allocation coefficient. Perform weighted resource allocation.
[0154] For example, the first resource allocation for this improvement can be performed using the following formula:
[0155]
[0156] in, User node The degree, Represents user node With item nodes Are they connected? This is the first resource allocation coefficient.
[0157] 233. Construct a second resource allocation coefficient through a user preference function, and use the second resource allocation coefficient to allocate resources from users to items, thereby obtaining the predicted rating of each user for each item in the cluster.
[0158] In one implementation, in step 233 above, a user preference function for rated items can first be constructed based on the highest rating given by each user and the user's actual rating of the item.
[0159] It is understandable that, since each user has different rating habits, some people are used to giving high scores and some people are used to giving low scores, this application can define a user preference function to quantify the user's true liking for the item.
[0160] For example, the following formula can be used to construct a user preference function for rated items:
[0161]
[0162] in, User The highest score given. Indicates user For evaluated items The actual rating.
[0163] In one implementation, constructing the second resource allocation coefficient through a user preference function further includes:
[0164] Based on the ratio of the user's preference function value for the rated item to the sum of the user preference function values of all users who have selected the rated item, a second resource allocation function for the item is constructed. In this way, the user's personal rating preference can be taken into account, distinguishing users who like to give high scores from those who like to give low scores, and further optimizing the allocation of resource values.
[0165] For example, the second resource allocation coefficient can be constructed using the following formula:
[0166]
[0167] in, This indicates all selected items. users The set, For users For evaluated items User preference function value, It is all the items that have been selected. users For evaluated items The sum of user preference function values.
[0168] In one implementation, the second resource allocation is performed based on a second resource allocation coefficient as a weight.
[0169] For example, the second resource allocation can be performed using the following formula:
[0170]
[0171] in, As a result of the first resource allocation, Item node The degree, Represents user node With item nodes Are they connected? This is the second resource allocation coefficient.
[0172] By improving the two-stage resource allocation, compared to ProbS, users who are more similar to the cluster center users have increased weight in the first resource allocation, reducing the impact of extreme users on resource allocation. Furthermore, by taking into account users' personal scoring preferences, the scoring is optimized through a preference function in the second resource allocation, making the resource allocation more reasonable.
[0173] 240. In each cluster, an initial population is generated based on the user's predicted rating of the item. An evolutionary strategy guided by the user's accuracy preference is used to solve a multi-objective optimization problem to obtain the target recommendation result for each cluster.
[0174] This embodiment uses the classic NSGA-II algorithm framework to solve the modeled multi-objective optimization problem. Next, we will introduce the individual encoding and initialization designed for this problem, as well as the multi-objective optimization based on preference-driven users.
[0175] First, let's introduce the encoding method of this application. For a single user, the product serial numbers in the recommended list are directly encoded into an integer sequence. For all users in a cluster, the encoding is a single... The matrix, where It is the total number of all users in the cluster. This is the length of the recommended list.
[0176] In one example, refer to Figure 5 In this matrix, rows represent users and columns represent items. Unlike a typical matrix, the recommendation list does not allow duplicates; therefore, the same item cannot appear in the same row, meaning duplicate serial numbers are not allowed.
[0177] In one implementation, this application uses a combination of random initialization and extreme point-guided initialization to generate an initial population.
[0178] Specifically, the initial population generated from the aforementioned 240 may include:
[0179] For each user in the cluster, a first recommendation list is randomly formed by identifying multiple items that the user has not selected; a second recommendation list is formed by identifying multiple items with the highest predicted ratings for the user; the first and second recommendation lists are then combined to form the initial population.
[0180] The second recommendation list mentioned above is the recommendation list with the highest predicted score for each user obtained after the dataset has been processed by RAIProbS.
[0181] Thus, by using the first and second recommendation lists mentioned above, both accuracy and diversity can be taken into account in the initial population.
[0182] In one implementation, the accuracy-biased user-guided evolutionary strategy mentioned in 240 above specifically refers to introducing the individual with the largest accuracy objective function value as the parent in the multi-parent crossover step under the NSGA-II algorithm framework.
[0183] Specifically, for example, you can refer to Figure 6 The algorithm process performs this accuracy preference-guided cross-operation:
[0184] First, input the crossover probability. and the probability of choosing user preferences .
[0185] It is understandable that the input crossover probability The higher the value, the more random numbers... Greater than this crossover probability The lower the probability of crossover, the lower the probability of not performing a crossover operation, and the more the evolutionary strategy leans towards the diversity objective function. Conversely, the lower the crossover probability... The lower the value, the further the evolutionary strategy deviates from the diversity objective function.
[0186] It is understandable that the input selection preference probability of the user The higher the value, the more random numbers... The probability of a user with a higher preference The lower the probability, the more likely the individual with the highest accuracy objective function value will be chosen as one of the parents, and the more the evolutionary strategy will favor the accuracy objective function. Conversely, the probability of selecting a user with a preference for the objective function... The lower the value, the further the evolutionary strategy deviates from the accuracy objective function.
[0187] Then, starting from the initial population, perform the following... Figure 6 The loop shown is used to output the offspring population.
[0188] In one implementation, based on crossover probability The steps to determine whether a crossover operation is needed include repeatedly executing the following steps until a termination condition is met: generate a random number between 0 and 1. ;if If so, then perform a crossover operation; if If so, no crossover operation will be performed.
[0189] In one implementation, the probability of user preference is used. The steps to perform the crossover operation are as follows: Generate a random number between 0 and 1. ;if If the objective function value with the highest accuracy in the current population is selected as the parent, at least two individuals will be selected as parents through a tournament; if Then, at least three individuals are selected as parents through a tournament; the frequency of gene occurrence in the at least three parents is calculated, the repeated genes are retained, and other genes are randomly selected to form the offspring genes.
[0190] For example, refer to Figure 7 It can be seen that genetic operations include crossover and mutation operations to generate new individuals. In MOEA-RAIProbS, the crossover operation employs a user-guided multi-parent crossover. First, the crossover probability is set when performing crossover. and the probability of choosing preferred users Then, generate a random number. ,if If the condition is met, a crossover operation is performed; otherwise, no crossover operation is performed. Then, a random number is generated. ,if If the objective function value of accuracy is the highest in the current population, then the individual with the highest accuracy is selected as the first parent, and two more individuals are selected through a tournament. Otherwise, three individuals are selected as parents through a tournament. Offspring individuals first retain the genes that appear repeatedly in the genes of these three individuals, and the remaining genes are randomly selected from those that appear only once. It should be noted that a crossover operation is performed on every row of the entire matrix.
[0191] Based on the same inventive concept, this application also provides a recommendation device based on multi-objective optimization, comprising: an acquisition module for acquiring user rating information, including rating information of multiple users for multiple items; a clustering module for clustering users into different clusters using K-means clustering based on the user rating information; a prediction module for predicting the predicted ratings of users for items in each cluster based on a probability propagation algorithm with improved resource allocation; and a multi-objective optimization module for generating an initial population in each cluster based on the predicted ratings of users for items, and solving a multi-objective optimization problem based on an accuracy objective function and a diversity objective function using an evolutionary strategy guided by accuracy preference, to obtain the target recommendation result for each cluster.
[0192] It should be noted that the apparatus in the embodiments of this application can implement the various processes of the aforementioned method embodiments and achieve the same effects and functions, which will not be repeated here.
[0193] In the description of this specification, references to terms such as "some possible implementations," "some implementations," "example," "specific example," or "some examples" indicate that a specific feature, structure, material, or characteristic described in connection with that implementation or example is included in at least one implementation or example of this application, and the aforementioned terms do not necessarily refer to the same implementation or example. Furthermore, the described specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more implementations or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different implementations or examples described in this specification, as well as the features of different implementations or examples.
[0194] The method flowcharts for embodiments of this application describe certain operations as different steps performed in a certain order. Such flowcharts are illustrative and not restrictive. Some steps described herein may be grouped together and performed in a single operation, or some steps may be divided into multiple sub-steps, and some steps may be performed in an order different from that shown herein. The various steps shown in the flowcharts may be implemented in any way by any circuit structure and / or tangible mechanism (e.g., by software running on a computer device, hardware (e.g., logic functions implemented by a processor or chip), and / or any combination thereof).
[0195] Those skilled in the art will understand that in the methods described in the above specific embodiments, the order in which the steps are written does not imply a strict execution order, and the specific execution order of each step should be determined by its function and possible internal logic.
[0196] According to some embodiments of this application, a recommendation apparatus for multi-objective optimization according to an embodiment of this application is provided for performing... Figure 2 The proposed method for multi-objective optimization shown includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described in the above embodiments.
[0197] According to some embodiments of this application, a non-volatile computer storage medium is provided for a recommendation method of multi-objective optimization, having stored thereon computer-executable instructions configured to execute when run by a processor: the method described in the above embodiments.
[0198] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer-readable storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory, read-only memory, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device. Furthermore, although the operations of the methods of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple sub-steps.
[0199] While the spirit and principles of this application have been described above with reference to several specific embodiments, it should be understood that this application is not limited to the disclosed specific embodiments, and the division of aspects does not imply that features in these aspects cannot be combined. This application is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
1. A recommendation method based on multi-objective optimization, characterized in that, include: Obtain user rating information, including ratings from multiple users for multiple items; Based on the user rating information, users are clustered into different clusters using K-means clustering. Based on an improved probability propagation algorithm for resource allocation, predict the predicted ratings of items by users in each cluster; In each cluster, an initial population is generated based on the user's predicted rating of the item. An evolutionary strategy guided by the user's accuracy preference is used to solve a multi-objective optimization problem based on the accuracy objective function and the diversity objective function, so as to obtain the target recommendation result for each cluster. The accuracy-biased user-guided evolutionary strategy includes: in the multi-parent crossover under the NSGA-II algorithm framework, under certain conditions, introducing the individual with the largest accuracy objective function value as the parent, wherein the condition is that the number of evolutions is less than the set maximum number of generations; The predicted ratings for items by users in each cluster include: A first resource allocation coefficient is constructed based on the relationship between users and users in the cluster center, and a first resource allocation is performed; the first resource allocation coefficient is based on the user... With cluster center users Similarity between and all selected items users With cluster center users The sum of similarities between Build; A second resource allocation coefficient is constructed using a user preference function to perform a second resource allocation, thereby obtaining the predicted rating of each item for each user in the cluster.
2. The method according to claim 1, characterized in that, Clustering users into different clusters using K-means clustering also includes using a cosine metric to measure the similarity between users.
3. The method according to claim 1, characterized in that, The following cosine metric is used to measure the similarity between users. : in, For users For items Ratings User and users A collection of items that have been jointly selected.
4. The method according to claim 1, characterized in that, The accuracy objective function for: in, Indicates user For items Predicted score This indicates the length of each user's recommendation list. Indicates the cluster the user belongs to. Represents a cluster The number of users in China.
5. The method according to claim 1 or 4, characterized in that, Based on an improved probability propagation algorithm for resource allocation, predictive ratings for items by users in each cluster are generated, including: Assign an initial resource value to an item based on the user's known rating of the item; A first resource allocation coefficient is constructed based on the relationship between the user and the cluster center user. Based on the relationship between the user and the item and the first resource allocation coefficient, the first resource allocation is performed from the item to the user. A second resource allocation coefficient is constructed by using a user preference function. This second resource allocation coefficient is then used to allocate resources from users to items, thereby obtaining the predicted rating of each item for each user in the cluster.
6. The method according to claim 5, characterized in that, The first resource allocation coefficient is constructed using the following formula. : Among them, users It is the central user of the cluster. Indicates user With cluster center users The similarity between all selected items users With cluster center users The sum of similarities between .
7. The method according to claim 5, characterized in that, The first resource allocation also includes: in, User node The degree, Represents user node With item nodes Are they connected? This is the first resource allocation coefficient; in, = , Represents user node For item nodes Initial resources, based on user For items The known scores are determined.
8. The method according to claim 5, characterized in that, Also includes: Based on the highest rating given by each user and the user's actual rating of the item, a user preference function for the rated item is constructed.
9. The method according to claim 8, characterized in that, Construct a user preference function for rated items using the following formula: in, User The highest score given. Indicates user For evaluated items The actual rating.
10. The method according to claim 5, characterized in that, Constructing the second resource allocation coefficient using the user preference function also includes: A second resource allocation function for the user's item is constructed based on the ratio of the user preference function value for the rated item to the sum of the user preference function values for the rated item from all users who have selected the rated item.
11. The method according to claim 10, characterized in that, The second resource allocation coefficient is constructed using the following formula, which also includes: in, This indicates all selected items. users The set, For users For evaluated items User preference function value, It is all the items that have been selected. users For evaluated items The sum of user preference function values.
12. The method according to claim 11, characterized in that, The second resource allocation also includes: in, The result of the first resource allocation. Item node The degree, Represents user node With item nodes Are they connected? The second resource allocation coefficient, p, represents the coefficient for all selected items. The summation is performed on each user in the user set.
13. The method according to claim 1, characterized in that, The initial population is generated based on users' predicted ratings of items, and also includes: For each user in the cluster: A first recommendation list is randomly generated from multiple items that the user has not selected. A second recommendation list is formed by identifying the items with the highest predicted ratings for the user. The first recommendation list and the second recommendation list are combined to form an initial population.
14. The method according to claim 1, characterized in that, Also includes: Obtain crossover probability ; Repeat the following steps until the termination condition is met: Generate a random number between 0 and 1 ; if If so, then perform a crossover operation; if If so, no crossover operation will be performed.
15. The method according to claim 1, characterized in that, Accuracy preference-based user-guided evolutionary strategies include: Obtain the probability of users choosing preferences ; When performing the following crossover operation: Generate a random number between 0 and 1 ; if If the individual with the highest accuracy objective function value in the current population is selected as the parent, at least two individuals will be selected as parents through a tournament. if Then, at least three individuals are selected as parents through a tournament; Calculate the frequency of gene occurrence in at least three parents, retain duplicate genes, and randomly select other genes to form the offspring gene pool.
16. A recommendation device based on multi-objective optimization, characterized in that, include: The acquisition module is used to acquire user rating information, including ratings from multiple users for multiple items; The clustering module is used to cluster users into different clusters using K-means clustering based on the user rating information; The prediction module is used to predict user ratings for items in each cluster based on a probability propagation algorithm with improved resource allocation. The multi-objective optimization module is used to generate an initial population in each cluster based on the user's predicted rating of items, and solve the multi-objective optimization problem based on the accuracy objective function and the diversity objective function using an evolutionary strategy guided by the user's accuracy preference, so as to obtain the target recommendation result for each cluster. The accuracy-biased user-guided evolutionary strategy includes: in the multi-parent crossover under the NSGA-II algorithm framework, under certain conditions, introducing the individual with the largest accuracy objective function value as the parent, wherein the condition is that the number of evolutions is less than the set maximum number of generations; The prediction module is specifically used for: A first resource allocation coefficient is constructed based on the relationship between users and users in the cluster center, and a first resource allocation is performed; the first resource allocation coefficient is based on the user... With cluster center users Similarity between and all selected items users With cluster center users The sum of similarities between Build; A second resource allocation coefficient is constructed using a user preference function to perform a second resource allocation, thereby obtaining the predicted rating of each item for each user in the cluster.
17. A recommendation device based on multi-objective optimization, characterized in that, include: At least one processor; And a memory communicatively connected to at least one processor; wherein the memory stores instructions executable by at least one processor, the instructions being executed by at least one processor to enable at least one processor to perform: the method as described in any one of claims 1-15.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a program that, when executed by a multi-core processor, causes the multi-core processor to perform the method as described in any one of claims 1-15.