A method, device, equipment and computer-readable storage medium for recommendation

By obtaining the scoring data of the target user and neighbor users in their social networks, and calculating the predicted scoring data of the objects to be recommended in combination with the fusion similarity and trust value, we provide high-precision personalized recommendations for the target user, solving the problem of low recommendation accuracy of the existing recommendation system.

CN114065016BActive Publication Date: 2025-04-25CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010762262.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-31
Publication Date
2025-04-25
Estimated Expiration
2040-07-31

AI Technical Summary

Technical Problem

The recommendation accuracy of the existing recommendation systems is not high enough, especially when the user-based collaborative filtering algorithm and the item-based collaborative filtering algorithm are difficult to provide accurate and personalized recommendations when information is insufficient.

Method used

By obtaining the scoring data of the target user for the first object set and the scoring data of the target user for the second object set by the neighbor user in the social network, the fusion similarity between each object and the object to be recommended is determined, and the predicted scoring data of the object to be recommended is calculated based on the trust value, thereby recommending it to the target user.

Benefits of technology

The recommendation accuracy of the recommendation system is improved, and by combining user ratings and social network trust values, the prediction ability of user preferences is enhanced and the utilization of information is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114065016B_ABST
    Figure CN114065016B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose a recommendation method, apparatus, device and computer-readable storage medium, the method comprising: obtaining first rating data of a target user for a first set of objects, and obtaining second rating data of a neighbor user of the target user in a social network for a second set of objects, wherein the second set of objects comprises a set of objects to be recommended that have not been rated by the target user; determining each fused similarity between each object in the first set of objects and each object to be recommended in the set of objects to be recommended; determining a trust value between the target user and the neighbor user based on the second rating data and the first rating data, wherein the trust value represents the degree of trust of the target user in the neighbor user; determining predicted rating data of the object to be recommended based on each fused similarity and the trust value, and recommending the object to be recommended to the target user based on the predicted rating data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of recommendation technology, and relate to but are not limited to a recommendation method, apparatus, device, and computer-readable storage medium. Background Art

[0002] Recommendation systems emerged to solve the problem of information overload and are widely used in e-commerce, movies, videos, music reading, advertising and other fields. By analyzing a large number of user behavior logs, recommendation systems can display different personalized pages to different users, improving the click-through rate and conversion rate of the website. Recommendation technologies mainly include collaborative filtering recommendation technology, which is divided into user-based collaborative filtering algorithms and item-based collaborative filtering algorithms. However, whether it is a user-based collaborative filtering algorithm or an item-based collaborative filtering algorithm, there is a problem that the recommendation accuracy of the recommendation system is not high enough. Summary of the invention

[0003] In view of this, embodiments of the present application provide a recommendation method, apparatus, device, and computer-readable storage medium.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] This application embodiment provides a recommendation method, which includes:

[0006] Acquire first rating data of a target user on a first set of objects, and acquire second rating data of a neighbor user of the target user in a social network on a second set of objects, wherein the second set of objects includes a set of objects to be recommended that have not been rated by the target user;

[0007] Determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set;

[0008] determining a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents a degree of trust of the target user in the neighbor user;

[0009] The predicted score data of the object to be recommended is determined based on each fused similarity and the trust value, and the recommendation is made to the target user based on the predicted score data.

[0010] The present application provides a recommendation device, which includes:

[0011] an acquisition module, configured to acquire first rating data of a target user on a first set of objects, and acquire second rating data of a neighbor user of the target user in a social network on a second set of objects, wherein the second set of objects includes a set of objects to be recommended that have not been rated by the target user;

[0012] A first determination module, used to determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set;

[0013] A second determination module, configured to determine a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents a degree of trust of the target user in the neighbor user;

[0014] The third determination module is used to determine the predicted score data of the object to be recommended based on each fusion similarity and the trust value, and recommend it to the target user based on the predicted score data.

[0015] The present application embodiment provides a recommendation device, the device at least comprising:

[0016] Processor; and

[0017] a memory for storing a computer program executable on the processor;

[0018] Wherein, when the computer program is executed by a processor, the steps of the above-mentioned recommendation method are implemented.

[0019] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and the computer-executable instructions are configured to execute the steps of the above-mentioned recommendation method.

[0020] The embodiments of the present application provide a recommendation method, apparatus, device and computer-readable storage medium, which can improve the recommendation accuracy by determining each fusion similarity between each object in the first object set of the target user and each object in the set of objects to be recommended, determining the trust value between the target user and the domain user according to the first scoring data and the second scoring data, determining the predicted scoring data of each object to be recommended according to each fusion similarity and the trust value, and then recommending the object to be recommended to the target user according to each predicted scoring data. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In the drawings, which are not necessarily drawn to scale, like reference numerals may describe similar components in different views.The drawings generally illustrate, by way of example and not limitation, various embodiments discussed herein.

[0022] Figure 1A schematic diagram of the construction structure of the knowledge graph in related technologies;

[0023] Figure 2 A schematic diagram of an implementation flow of a recommended method provided in an embodiment of the present application;

[0024] Figure 3 A schematic diagram of an implementation flow of determining a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data provided in an embodiment of the present application;

[0025] Figure 4 A schematic diagram of an implementation flow of determining each predicted scoring data of an object to be recommended based on each fusion similarity and the trust value, and making a recommendation for the target user based on the each predicted scoring data, provided in an embodiment of the present application;

[0026] Figure 5 A schematic diagram of the implementation flow of the TKGCF recommendation algorithm provided in the embodiment of the present application;

[0027] Figure 6 A schematic diagram of the structure of the recommended device provided in the embodiment of the present application;

[0028] Figure 7 A schematic diagram of the composition structure of the recommended equipment provided in the embodiments of the present application. DETAILED DESCRIPTION

[0029] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0030] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0031] If similar descriptions of "first\second\third" appear in the application documents, the following instructions will be added. In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0032] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0033] In order to better understand the recommendation method, device, equipment and computer-readable storage medium provided in the embodiments of the present application, first, the problems existing in the recommendation method in the related art are analyzed and explained.

[0034] The implementation schemes of recommendation methods in related technologies mainly include the following two methods: semantic similarity calculation based on knowledge graph and item similarity calculation based on user ratings.

[0035] Semantic similarity calculation based on knowledge graph: First, construct a domain knowledge graph. In the official entry of Wikipedia, the knowledge graph is a knowledge base used to improve search engines and provide more powerful information retrieval functions. The knowledge graph is a complex semantic network used to describe entities and their relationships. It provides effective structured multi-relationship information in the form of (head entity, relationship, tail entity).

[0036] Figure 1 This is a schematic diagram of the construction and implementation process of the knowledge graph in related technologies, such as Figure 1 As shown in Figure 1, the process of building a knowledge graph will be constantly updated as people explore it. In different application scenarios, the process of building a knowledge graph will be adjusted accordingly, mainly including the following steps:

[0037] Step S101, acquiring data.

[0038] Here, the acquired data includes: structured data, semi-structured data, and unstructured data.

[0039] Step S102, information acquisition.

[0040] The information acquisition includes performing entity extraction, relationship extraction and attribute extraction on the semi-structured data and the unstructured data.

[0041] Step S103: knowledge fusion.

[0042] The structured data is fused with knowledge through a third-party database, and coreference elimination and entity disambiguation are performed on the fused structured data and the data obtained in step S102.

[0043] Step S104: knowledge processing.

[0044] The knowledge processing includes: constructing a knowledge graph and extracting ontology from knowledge fusion information.

[0045] On the basis of constructing the domain knowledge graph, the knowledge representation learning (TransE) algorithm of the translation model will be used to represent the entities and relations in the knowledge graph with a set of low-dimensional vectors while retaining the semantics, and the values ​​of the low-dimensional vectors are a set of continuous real numbers to embed in the knowledge graph. The TransE algorithm hopes that the head and tail entity vectors can be connected through the relationship vector. The closer the entities are in the knowledge graph, the more similar the vectors are.

[0046] When embedding knowledge graph triples into low-dimensional semantic space, the TransE algorithm describes the embedding error of entities and relations through Euclidean distance. Accordingly, the Euclidean distance with the same norm is used to measure the similarity between entities. i and I j are two entity vectors in the knowledge graph. The value ranges of the two are matched by arithmetic transformation. Entity I i and Entity I j The semantic similarity calculation of is shown in formula (1):

[0047]

[0048] Among them, ||I i -I j || represents the entity vector I i and I j The calculated Euclidean distance range is [0, ∞], and the similarity measurement range is [0, 1]. When the calculated value is 1, the entity vector I i and I j The semantic similarity of is the largest. If the calculated value is close to 0, it is considered that I i and I j The relationship is distant, that is, entity I i and Entity I j The semantic similarity is low.

[0049] Item similarity calculation based on user ratings:

[0050] Assume that in a complete recommendation system, there are m users U = {U 1 , U 2 , …, U m}, n items I = {I 1 , I 2 ,…,I n}, m×n user-item rating matrix R m×n See formula (2),

[0051]

[0052] Among them, R ij Refers to user Ui The higher the score of item j, the more the user likes the item. Here, cosine similarity is used to measure the similarity between two items. Assume that I i and I j is an m-dimensional vector, and its value in each dimension is the score value of the corresponding user's project vector. The cosine angle between the two vectors represents the similarity between the project vectors. See formula (3):

[0053]

[0054] From formula (3), we can see that the larger the calculated value of this formula, the more similar the item vectors are, that is, the item I obtained by user rating is i and Project I j The higher the similarity, the higher the cos (I i ,I j ) value is 0, indicating that the two item vectors are completely dissimilar.

[0055] In the process of inferring trust values, existing research works assume that all individuals have the same perception of ratings, and lack research on the certainty of the user rating matrix in the inferred trust information. Whether it is a user-based collaborative filtering algorithm or an item-based collaborative filtering algorithm, there is a problem of insufficient information utilization and low accuracy of the recommendation system.

[0056] Based on the problems existing in the related art, an embodiment of the present application provides a recommendation method, which is applied to a recommendation device. In the embodiment of the present application, the recommendation device may be a server, and the method provided by the present embodiment may be implemented by a computer program, which, when executed, completes each step of the recommendation method provided by the present embodiment. In some embodiments, the computer program may be executed by a processor in the recommendation device. Figure 2 A schematic diagram of an implementation flow of the recommended method provided in the embodiment of the present application is as follows: Figure 2 As shown, the method includes:

[0057] Step S201 : obtaining first rating data of a target user on a first set of objects, and obtaining second rating data of neighbor users of the target user in a social network on a second set of objects.

[0058] In an embodiment of the present application, the second object set includes a set of objects to be recommended that have not been rated by the target user. When obtaining the first rating data of the target user for the first object set, the first object set corresponding to the target user ID and the first rating data corresponding to the first object set can be obtained from the data server according to the target user's identifier (ID, Identity document). In an embodiment of the present application, the first object set may include at least one object. The object may be an item, music, movie, etc., and the first rating data is the target user's evaluation value of the object. In the same recommendation system, the rating is fixed. Taking a shopping website as an example, the rating values ​​for items usually include: 0, 1, 2, 3, 4, 5.

[0059] In an embodiment of the present application, the neighbor users of the target user's social network can be obtained by obtaining the neighbor users of the target user in the social network from the server according to the user ID, or by reading the user's address book when the user visits the social network. After the neighbor users of the target user in the social network are obtained, the second object set scored by the neighbor users and the second scoring data corresponding to the second object set can be determined. In an embodiment of the present application, the second object set and the first object set may have the same objects or may not have the same objects. When the first object set and the second object set do not have the same objects, the target user has an intermediate user with the same fourth object set, and the intermediate user and the neighbor user have the same fifth object set, and the fourth object set is different from the fifth object set.

[0060] Step S202: determining each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set.

[0061] In an embodiment of the present application, the recommendation device can determine the semantic similarities between each object in the first object set and each object to be recommended in the object set to be recommended based on the pre-constructed knowledge graph. And determine the score similarities between each object in the first object set and each object to be recommended in the object set to be recommended based on the first score data and the average score data of the object to be recommended. Then determine the first weight of each semantic similarity and the second weight of each score similarity; and then determine the fusion similarities between each object in the first object set and each object to be recommended in the object set to be recommended based on the first weight, each semantic similarity, the second weight and each score similarity.

[0062] Step S203: determining a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents the degree of trust of the target user in the neighbor user.

[0063] In an embodiment of the present application, step S203 may be implemented as follows: determining an initial trust value between the target user and the neighbor user based on the first scoring data and the second scoring data; determining a combined trust value between the target user and the neighbor user based on the initial trust value and the center value of the target user, wherein the center value represents a clustering coefficient in a trust network, and the trust network is a network composed of trust relationships between users in a system; determining a first scoring probability of the target user for each scoring value based on the first scoring data, and determining a second scoring probability of the neighbor user for each scoring value based on the second scoring data; determining a difference value between the first scoring probability of the target user for a scoring value and the second scoring probability of the neighbor user for the scoring value; and calculating the trust value between the target user and the neighbor user based on the combined trust value and the difference value.

[0064] Step S204: determining predicted score data of the object to be recommended based on each fused similarity and the trust value, and recommending the object to be recommended to the target user based on the predicted score data.

[0065] After determining each fusion similarity and the trust value, a target trust value whose trust value is greater than a trust threshold can be determined; and a target fusion similarity whose fusion similarity is greater than a fusion similarity threshold can be determined; each predicted scoring data of the object to be recommended is determined according to the target trust value and the target fusion similarity; a recommended ranking of the object to be recommended is determined according to the each predicted scoring data; and the object to be recommended is recommended to the target user based on the recommended ranking.

[0066] The recommendation method provided in the embodiment of the present application determines each fused similarity between each object in the first object set and each object in the to-be-recommended object set, determines the trust value between the target user and the neighbor user according to the first scoring data and the second scoring data, determines the predicted scoring data of each to-be-recommended object according to each fused similarity and the trust value, and then recommends the to-be-recommended object to the target user according to each predicted scoring data, thereby improving the recommendation accuracy.

[0067] In some embodiments, before step S202 “determining each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set”, the method further includes:

[0068] Step S202A: determining each semantic similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set.

[0069] In the embodiment of the present application, the semantic similarities between each object in the first object set and each object to be recommended in the object to be recommended set can be determined based on the pre-built knowledge graph. In the embodiment of the present application, different fields correspond to different knowledge graphs.

[0070] In an embodiment of the present application, the set of objects to be recommended includes at least one object for recommendation to a target user. When determining the semantic similarities between each object in the first object set and each object to be recommended based on a pre-constructed knowledge graph, the TransE algorithm is used to retain the semantics while using a set of low-dimensional vectors to represent the relationship between each object and the object to be recommended. The value of the low-dimensional vector is a set of continuous real numbers to embed the value of the low-dimensional vector into the knowledge graph. The closer the objects are in the pre-constructed knowledge graph, the more similar the corresponding vectors are. In an embodiment of the present application, when determining the semantic similarities between each object in the first object set and each object to be recommended, the Euclidean distance of the same norm is used to measure the similarity between each object in the first object set and each object to be recommended. Exemplarily, object to be recommended I i and object I in the first object set j Corresponding to the vectors of the two entity objects in the knowledge graph, the object to be recommended I is transformed by arithmetic transformation i Vectors and objects I j The value range of the vector corresponds to the recommended object I i The vector and the object I in the first object set j The semantic similarity calculation of the vector is shown in formula (4):

[0071]

[0072] Among them, ||I i -I j || represents the object to be recommended I i Vectors and objects I j The calculated Euclidean distance range is [0, ∞], and the similarity measurement range is [0, 1]. When the calculated value is 1, the recommended object I i Vectors and objects I j The vector semantic similarity of is the largest. If the calculated value is close to 0, the entity object I i Vector and entity objects I j The semantic similarity of the vectors is low. By calculating the recommended object I i The vector and the object I in the first object setj The semantic similarity of the vectors of i and object I in the first object set j semantic similarity.

[0073] Step S202B, obtaining the average score data of each object to be recommended.

[0074] In the embodiment of the present application, the average score data of each object to be recommended can be obtained from the database. Usually, each object in the server stores the average score data corresponding to the object. In the embodiment of the present application, the average score data can be calculated based on the score values ​​of all users for the object. For example, if all users give 5 scores of 5, 5 scores of 4, and 5 scores of 3 to the recommended object, the average score is 4.

[0075] Step S202C: determining, according to the first rating data and the average rating data, respective rating similarities between respective objects in the first object set and respective objects to be recommended in the set of objects to be recommended.

[0076] In the embodiment of the present application, when the recommendation device obtains the first rating data and the average rating data of the object to be recommended, the rating similarities between each object in the first object set and each object to be recommended can be determined. When determining the rating similarities between each object in the first object set and each object to be recommended, it is assumed that there are m users U={U 1 , U 2 ,…,U m} and n objects I={I 1 , I 2 ,…,I n}, then, the m×n user-object rating matrix R m×n See formula (5):

[0077]

[0078] Among them, R ij Refers to other users U i The higher the score of object j, the more other users like it. Use cosine similarity to calculate the similarity between the recommended object and the object. Suppose the recommended object I i and object I in the first object set j It is an m-dimensional vector, and its value in each dimension is the rating value of the corresponding user. The cosine angle is used to represent the recommended object I i and object I in the first object set j The score similarity between them is shown in formula (6):

[0079]

[0080] From formula (6), we can see that the larger the calculated value of this formula is, the more likely the recommended object I is. i and object I in the first object set j The more similar the ratings are, that is, the more likely the recommended object I is to be obtained through user ratings. i and object I in the first object set j The higher the similarity of the scores between them, the higher the cos (I i ,I j ) value is 0, indicating that the recommended object I i and object I in the first object set j The score similarity between them is completely different. cos (I i ,I j ) value is 1, indicating the recommended object I i and object I in the first object set j According to the above calculation method, the score similarity between each object in the first object set and each object to be recommended in the object to be recommended set can be determined.

[0081] The method provided in the embodiment of the present application calculates each score similarity and each semantic similarity to calculate the fused similarity based on the score similarity and each semantic similarity, and then makes recommendations based on the fused similarity and trust, thereby improving the utilization rate of information and the accuracy of the recommendation system and solving the problem of data sparsity.

[0082] In some embodiments, after each score similarity and each semantic similarity are determined, step S202 may be implemented by the following steps:

[0083] Step S2021, determining a first weight of each of the semantic similarities, and determining a second weight of each of the score similarities;

[0084] In the embodiment of the present application, the first weight α and the second weight β, α and β can be determined according to experimental results, and α+β=1.

[0085] Step S2022: determining each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set according to the first weight, each semantic similarity, the second weight and each score similarity.

[0086] In the embodiment of the present application, after determining each semantic similarity and each corresponding score similarity, each fusion similarity between the object and the object to be recommended can be determined according to a preset algorithm. In the embodiment of the present application, the fusion similarity is the final similarity between the object to be recommended and the objects in the first object set.

[0087] Continuing with the above example, the calculation of the fusion similarity is as follows:

[0088] sim(I i ,I j )=α·sim kg (I i ,I j )+β·sim cos (I i ,I j ) (7);

[0089] In the present application, sim(I i ,I j ) has a value range of [0, 1]. i ,I j ) value is closer to 0, indicating that the object is less similar to the recommended object. i ,I j ) value is closer to 1, indicating that the object to be recommended is I i and object I in the first object set j resemblance.

[0090] The recommendation method provided in the embodiment of the present application calculates each score similarity and each semantic similarity to calculate the fused similarity based on each score similarity and each semantic similarity, and then makes recommendations based on the fused similarity and trust, thereby improving the utilization rate of information and the accuracy of the recommendation system.

[0091] In some embodiments, step S203 "determining the trust value between the target user and the neighbor user according to the second scoring data and the first scoring data" can be performed by Figure 3 Steps S2031 to S2035 in the embodiment are implemented as follows:

[0092] Step S2031: determining an initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data.

[0093] In the embodiment of the present application, the initial trust value may be a first direct trust value between the target user and the neighbor user, or an indirect trust value between the target user and the neighbor user. In the embodiment of the present application, when the first object set and the second object set have the same third object set, the initial trust value is the first direct trust value.

[0094] In an embodiment of the present application, when determining the first direct trust value between the first object set and the second object set, it can be done by determining the third scoring data of the target user for the third object set; determining the fourth scoring data of the neighbor user for the third object set; and then determining the first direct trust value between the target user and the neighbor user based on the third scoring data and the fourth scoring data.

[0095] When there are no identical objects in the first object set and the second object set, the initial trust value is an indirect trust value. When determining the initial trust value, the intermediate user having the same fourth object set as the target user, the intermediate user having the same fifth object set as the neighbor user, and the fourth object set is different from the fifth object set; determining the second direct trust value between the intermediate user and the target user; determining the third direct trust value between the intermediate user and the neighbor user; and determining the indirect trust value between the target user and the neighbor user based on the second direct trust value and the third direct trust value.

[0096] Step S2032: determining a combined trust value between the target user and the neighboring users according to the initial trust value and the center value of the target user.

[0097] In an embodiment of the present application, the central value of the target user represents the clustering coefficient of the target user in the trust network, and the trust network is a network composed of trust relationships between users in the system. In an embodiment of the present application, a combined trust value can be determined based on a direct trust value and a central value representing the target user, or a combined trust value can be determined based on an indirect trust value and a central value representing the target user. Exemplarily, the target user is represented by a, the neighbor user is represented by b, and the combined trust value is CTrust(a,b).

[0098] In the embodiment of the present application, the calculation of the combined trust value is shown in formula (8):

[0099]

[0100] DTrust(a,b) represents the direct trust value between user a and user b. PTrust(a,b) represents the indirect trust value between user a and user b, and Cen represents the central value of the user in the trust network. 1, μ 2 , μ 3 and μ 4 The value is determined according to the different effects reflected in the experimental data, and μ 1 +μ 2 =1,μ 3 +μ 4 =1.

[0101] Step S2033: determining a first scoring probability of the target user for each scoring value based on the first scoring data, and determining a second scoring probability of the neighbor user for each scoring value based on the second scoring data.

[0102] Continuing with the above example, we can use the certainty of calculating each score value to characterize the score probability. Let X a is the rating vector corresponding to the first rating data of the target user a, and each rating in the first rating data is r. The trust value between the target user and the neighbor user also depends on the certainty of the target user and the neighbor user on their respective rating vectors.

[0103] First calculate each score r in X a The probability of occurrence in is calculated by referring to formula (9):

[0104]

[0105] In order to get each score r in X a The certainty of the score r in X is calculated using Shannon entropy. a The uncertainty of the calculation uncertainty is shown in formula (10):

[0106]

[0107] Where P ar Indicates that the score r is in X a The probability of appearing in the target user's score r is ; RD refers to the rating domain of the project; |RD| is the number of elements in the rating domain. And the above formula is normalized to the interval [0,1] to determine the first uncertainty UnCer for each rating r of the target user a .

[0108] By calculating UnCer a , so as to calculate the first deterministic calculation of the target user for each score r, see formula (11):

[0109] Cer a =1-UnCer a (11);

[0110] When the first certainty is determined, a first scoring probability is determined.

[0111] According to the above method of calculating the first certainty, the second certainty Cer of each rating by neighbor users can also be calculated. b , that is, the second scoring probability is obtained.

[0112] Step S2034: Determine a difference between a first scoring probability of the target user for the scoring value and a second scoring probability of the neighbor user for the scoring value.

[0113] In the embodiment of the present application, after the first scoring probability and the second scoring probability are determined, the difference between the first scoring probability and the second scoring probability can be calculated. In the embodiment of the present application, the first scoring probability and the second scoring probability can be subtracted to obtain a difference, and then the difference is calculated to obtain a difference. The difference is calculated by referring to formula (12):

[0114] CerDiff(a,b)=|Cer a -Cer b | (12);

[0115] The value of CerDiff(a,b) indicates how close the first scoring probability of the target user a is to the second scoring probability of the neighbor user b. The smaller the CerDiff(a,b), the more similar the scoring probabilities of the target user and the neighbor user are. The larger the CerDiff(a,b), the more dissimilar the scoring probabilities of the target user and the neighbor user are.

[0116] Step S2035: Calculate the trust value between the target user and the neighbor user according to the combined trust value and the difference value.

[0117] Continuing with the above example, the combined trust value is represented by CTrust(a,b), and the trust value is represented by Trust(a,b). The calculation of the trust value is shown in formula (13):

[0118] Trust(a,b)=CTrust(a,b)·(1-CerDiff(a,b)) (13);

[0119] Trust(a,b) is the trust value between target user a and neighbor user b combined with the difference value constraint, and CerDiff(a,b) is the difference between the probability of the target user a and neighbor user b scoring the same score. From formula (12), we can see that when CerDiff(a,b) tends to 0, that is, the closer the probability of the target user a and neighbor user b scoring the same score is, the closer Trust(a,b) is to the value of CTrust(a,b), that is, the greater the trust value of the target user a and neighbor user b.

[0120] In an embodiment of the present application, by determining the scoring probabilities of the target user and the neighbor users for each score, the difference value of the scoring probabilities of the target user and the neighbor users for the same score is calculated, and the trust value between the target user and the neighbor user is calculated based on the combined trust value and the difference value, so that the calculated trust value is more accurate.

[0121] In some embodiments, when the first object set and the second object set have the same third object set, the initial trust value includes a first direct trust value, and step S2031 "determining the initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data" can be implemented by the following steps:

[0122] Step S1, determining third rating data of the target user for the third object set.

[0123] In the embodiment of the present application, the third rating data of the target user for the third object set can be determined from the server.

[0124] Step S2: Determine fourth rating data of the neighboring users for the third object set.

[0125] In the embodiment of the present application, third scoring data of neighbor users for the third object set may be determined from the server.

[0126] Step S3: determining a first direct trust value between the target user and the neighbor user according to the third scoring data and the fourth scoring data.

[0127] In the embodiment of the present application, the direct trust value between the target user and the neighbor user is calculated by averaging the prediction errors of the same third object set. If the neighbor user provides highly accurate recommendations to the target user, the neighbor user will gain a high degree of trust from the target user.

[0128] In the embodiment of the present application, in order to ensure that the value range of the direct trust value is within [0,1], the maximum-minimum normalization method is first used to normalize the third scoring data and the fourth scoring data. Through the normalization method, the scoring value of a third scoring data or the fourth scoring data can be linearly converted to a new value, and the new value is within the range of [0,1]. The calculation of the normalization method is shown in formula (14):

[0129]

[0130] Among them, r represents the original scoring data corresponding to the third scoring data or the fourth scoring data, max represents the maximum value of the scores in the third scoring data and the fourth scoring data, min represents the minimum value of the scores in the third scoring data and the fourth scoring data, and t is the normalized value.

[0131] For user a, b∈U, i, j∈I, based on neighbor user b, the calculation of the predicted score of target user a for recommended object i is shown in formula (15):

[0132]

[0133] in, represents the average rating of target user a, represents the average rating of neighbor user b, and r(b,i) represents the rating of neighbor user b for rated item i.

[0134] In order to make the predicted rating more accurate, the errors of the predicted ratings of the co-rated items are averaged to measure the direct trust value between the target user and the neighbor users, see formula (16):

[0135]

[0136] P(a,i) represents the predicted score of target user a based on neighbor user b for recommended object i, r(a,i) represents the score of target user a for recommended object i. I(a,b) represents the number of first objects that are jointly scored by target user a and neighbor user b, and DTrust(a,b) represents the direct trust value between user a and user b.

[0137] In some embodiments, when there are no identical objects in the first object set and the second object set, the initial trust value includes an indirect trust value, and step S2031 "determining the initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data" can be implemented by the following steps:

[0138] Step S11 , determining an intermediate user having the same fourth object set as the target user, wherein the intermediate user has the same fifth object set as the neighbor user, and the fourth object set is different from the fifth object set.

[0139] Since there is no common object between the target user and the neighbor user, only the indirect trust value between the target user and the neighbor user can be calculated. For example, suppose there is a trust path connecting the target user a to the neighbor user b, in which there is user c, a and c have the same second object, c and b have the same third object, and user c here is the first user. In some embodiments, the middle of the trust path may also include users d, e, f, etc. The direct trust value between the two can be calculated according to formula (16).

[0140] Step S12, determining a second direct trust value between the intermediate user and the target user;

[0141] The calculation method of the second direct trust value is the same as the calculation method of the first direct trust value. Exemplarily, the second direct trust value is represented by DTrust(a,c).

[0142] Step S13: determining a third direct trust value between the intermediate user and the neighbor user.

[0143] Exemplarily, the third direct trust value is represented by (DTrust(c,b).

[0144] Step S14: determining an indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value.

[0145] In an embodiment of the present application, after the second direct trust value and the third direct trust value are determined, the indirect trust value between the target user and the neighbor user can be determined based on the second direct trust value and the third direct trust value. Since the neighbor users are closer or farther away from the target user in the trust network, in order to ensure that the intermediate users with a shorter distance between the neighbor users and the target user in the trust network occupy a larger trust weight, the embodiment of the present application proposes to use the trust propagation distance to determine the trust weight of the third direct trust value. In an embodiment of the present application, the trust weight is represented by β, and the calculation of the indirect trust value of the target users a and b is shown in formula (17):

[0146]

[0147] Among them, DTrust(a,c) represents the first direct trust value of user a to c, and DTrust(c,b) represents the second direct trust value of users c and b. β is a weight parameter, which represents the weight parameter of the recommender relative to the active user, thereby determining the indirect trust value between the target user and the neighbor user.

[0148] In some embodiments, before step S14 "determining the indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value", the method further includes:

[0149] Step S14A: determining a first path distance between the target user and the intermediate user in the trust network, and determining a second path distance between the intermediate user and the neighbor user in the trust network.

[0150] In the embodiment of the present application, the trust propagation distance refers to the number of hops of the shortest trust propagation path from an active user to other users, which is generally set by the administrator of the recommendation system. The present application selects the average path distance of the trust network as the optimal trust propagation distance, and at the same order of magnitude, the average path distance of the trust network is approximately equal to the length of the average path of the corresponding random network. The optimal propagation distance is calculated by referring to formula (18):

[0151]

[0152] Where L represents the average path distance of the trust network, represents the average path distance of a random network, n is the number of user nodes in the trust network, and k refers to the number of edges of each node.

[0153] The above calculation method can be used to determine the optimal propagation distance (ie, the first path distance) between the target user and the intermediate user in the trust network, and determine the second path distance between the intermediate user and the neighbor user in the trust network.

[0154] Step S14B: determining a trust weight of the third direct trust value according to the first path distance, the second path distance, and the average path distance of the trust network.

[0155] In the embodiment of the present application, the weight parameter of the neighbor user relative to the target user is determined based on the average path distance, in order to ensure that other users with a shorter distance from the target user in the trust network have a larger trust weight, while users with a larger path distance from the target user have a smaller trust weight. The calculation of the trust weight parameter is shown in formula (19):

[0156] β=(d max -d+1) / d max ,d∈[2,d max ] (19);

[0157] Here, d refers to the distance between users.

[0158] Correspondingly, step S14 "determining the indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value" includes:

[0159] The recommendation device determines the trust weight of the second direct trust value according to the first path distance, the second path distance and the average path distance;

[0160] In the embodiment of the present application, the calculation formula of the indirect trust value is shown in formula (17).

[0161] In an embodiment of the present application, by calculating the average path distance in the trust network, it is determined that other users with a shorter distance to the target user have a larger trust weight, while users with a larger average path distance to the target user have a smaller trust weight, so that the determined indirect trust is more accurate.

[0162] In some embodiments, before step S2032, the method further includes:

[0163] Step S31: The recommendation device determines a first number of associated edges where the neighbor users are located in the trust network, and determines a second number of associated edges between the target user and the neighbor users in the trust network.

[0164] In an embodiment of the present application, in a trust network, the central value representing the target user in the trust network represents the social status and influence of the target user, and the user node clustering coefficient can be calculated to calculate the central value of the target user. The larger the clustering coefficient of the target user, the higher the central value of the user, and the higher the social status of the user. When calculating the central value representing the target user in the trust network, it is first necessary to determine a first number of associated edges existing in the neighboring users in the trust network, and to determine a second number of associated edges between the target user and the neighboring users in the trust network. In an embodiment of the present application, the associated edge represents the trust value between each user node, and when the trust value is greater than 0, an associated edge exists. In an embodiment of the present application, the first number is expressed as m adj The second quantity is represented by f adj express.

[0165] Step S32: determining a central value of the target user in the trust network according to the first number and the second number.

[0166] In the embodiment of the present application, the central value of the target user in the trust network is calculated as shown in formula (20):

[0167]

[0168] In some embodiments, step S204 "determining each predicted score data of the recommended object based on each fusion similarity and the trust value, and recommending to the target user based on each predicted score data" can be performed by Figure 4 Steps S41 to 45 in the embodiment are implemented as follows:

[0169] Step S41, determining that the trust value is greater than a target trust value of a trust threshold.

[0170] Exemplarily, N trust values ​​whose trust values ​​are greater than the trust threshold are determined as target trust values, where N is an integer greater than 1.

[0171] Step S42, determining a target fusion similarity whose fusion similarity is greater than a fusion similarity threshold.

[0172] Exemplarily, K fusion similarities whose fusion similarities are greater than a fusion similarity threshold are determined as target fusion similarities, where K is an integer greater than 1.

[0173] Step S43, determining each predicted score data of the object to be recommended according to the target trust value and the target fusion similarity.

[0174] In the embodiment of the present application, the predicted score of the unrated item can be determined according to the target trust value and the target fusion similarity. In the embodiment of the present application, the predicted score of the unrated item is calculated by referring to formula (21):

[0175]

[0176] Among them, P Tkg (a,i) represents the target user a's attitude towards the recommended object I i The prediction score of represents the average value of the ratings given to the object by target user a, represents the average rating of the object by neighbor user b, Trust(a,b) represents the trust value of target user a to neighbor user b, and r(b,i) represents the trust value of neighbor user b towards the recommended object I i 's rating value. Indicates the user's attitude towards the recommended object I i The average rating of Represents the user's j The average rating value of the rating, r(a,j) represents the target user a's evaluation of object I j The score value, sim(I i ,I j ) represents the object to be recommended I i With Object I j Similarity between objects. 1 and w 2Need to meet w 1 +w 2 =1, value range [0, 1], w 1 and w 2 The value of depends on the experiment.

[0177] Step S44, determining the recommendation ranking of the objects to be recommended according to the various predicted scoring data.

[0178] In the embodiment of the present application, the higher the prediction score, the higher the recommendation ranking of the object to be recommended.

[0179] Step S45: recommending the object to be recommended to the target user based on the recommendation ranking.

[0180] In the embodiment of the present application, the recommendation device recommends the recommended object according to the recommendation ranking. When recommending, it may not be possible to display all the objects. In this case, the first K items in the recommendation ranking can be taken for display.

[0181] In the embodiment of the present application, the prediction score is calculated by determining the target optimization trust value whose trust value is greater than the trust threshold and the target fusion similarity whose fusion similarity is greater than the fusion similarity threshold. This simplifies the calculation process and makes the recommendation system process faster without having a significant impact on the accuracy of the recommendation.

[0182] The present application embodiment further provides a recommendation method, which performs mixed recommendation based on users and projects (the same as the objects in the above embodiments). It also makes full use of the semantic information of the project itself, breaks through the limitations of the traditional project-based collaborative filtering recommendation algorithm, and proposes to combine the semantic information of the knowledge graph (the same as the semantic similarity in the above embodiments) and the similarity based on the score (the same as the score similarity in the above embodiments) information for recommendation, and integrates the trust model to optimize the recommendation system.

[0183] The embodiment of the present application proposes a collaborative filtering algorithm (TKGCF, Trust and Knowledge Graph Collaborative Filtering) based on optimized trust value (the same as the trust value in the above-mentioned embodiments) and knowledge graph. The algorithm improves the traditional collaborative filtering algorithm by utilizing the fusion similarity of optimized trust value and knowledge graph-based projects. Figure 5 A schematic diagram of the implementation flow of the TKGCF recommendation algorithm provided in the embodiment of the present application is shown in FIG. Figure 5 As shown, including:

[0184] Step S501, construct a knowledge graph of the corresponding field,

[0185] Step S502, use the TransE algorithm to operate on the triples in the knowledge graph to convert them into vectors in a low-dimensional vector space, use the corresponding vectors to represent entities and relationships, and reflect the structure of the knowledge graph in a numerical form.

[0186] Step S503, obtaining semantic information of the items through knowledge representation technology, and integrating it into the collaborative filtering algorithm, thereby alleviating data sparsity and determining the semantic similarity of the items.

[0187] In the embodiment of the present application, the semantic information of the project is obtained through the translation model TransE represented by the knowledge graph, and the semantic relevance between the projects, i.e., semantic similarity, is established.

[0188] Step S504: determine a user-item rating matrix.

[0189] Step S505: determine the item similarity based on the score (same as the score similarity in the above embodiments).

[0190] Step S506: The semantic information of the item is fused with the item similarity based on user ratings to obtain fused similarity, so as to improve the collaborative filtering recommendation technology.

[0191] Step S507, calculating the combined trust based on the user-item rating matrix;

[0192] Step S508: Calculate certainty based on the user-item rating matrix (same as the difference value in the above embodiments).

[0193] Step S509, optimizing the trust value based on the combined trust and certainty calculation.

[0194] Step S510, combining the prediction results at the user level and the item level to generate a final combined score prediction score value of the active user for the item.

[0195] Step S511, recommending the top k items with the highest prediction scores.

[0196] The initial trust value calculation includes direct trust value calculation or indirect trust value calculation.

[0197] Calculation of direct trust value:

[0198] In the trust recommendation system (same as the recommendation network in each of the above embodiments), if users have items that they have scored together, the direct trust value between users can be measured with the help of a calculation formula. The direct trust value between user A and user B is calculated based on the scores of the items that they have scored together. Assuming that the recommender is the only recommendation partner of the target, the trust between the two users is measured by averaging the prediction errors of the items that they have scored together. This is because if the recommender has provided highly accurate recommendations to the target user, the recommender will gain a high degree of trust from the target user.

[0199] In order to ensure that the trust value range is within [0,1], the maximum-minimum normalization method is first used to normalize the score value. Through this normalization method, an original score value can be linearly converted to a new value, and the new value is within the range of [0,1], see formula (22):

[0200]

[0201] r represents the original data, max represents the maximum score, min represents the minimum score, and t is the normalized value.

[0202] For user a, b∈U, i, j∈I, based on neighbor user b, the predicted score of user a for item i is calculated as shown in formula (23):

[0203]

[0204] in, represents the average rating of user a, represents the average rating of user b, and r(b,i) represents the rating of user b on item i.

[0205] Starting from the prediction accuracy, the prediction errors of the commonly rated items are averaged to measure the trust level between two users (same as the direct trust value in the above embodiments), see formula (24):

[0206]

[0207] P(a,i) represents the predicted score of user a for item i based on neighbor user b, r(a,i) represents the score of user a for item i. I(a,b) represents the number of items that user a and user b have jointly rated, and DTrust(a,b) represents the direct trust value between user a and user b.

[0208] Indirect trust value calculation:

[0209] Trust propagation distance refers to the number of hops of the shortest trust propagation path from an active user to other users, which is generally set by the administrator of the recommendation system. This application selects the average path length of the trust network as the optimal trust propagation distance. In the same order of magnitude, the average path length of the trust network is approximately equal to the average path length of the corresponding random network. Therefore, the optimal propagation distance is calculated as shown in formula (25):

[0210]

[0211] Where L represents the average path distance of the trust network, represents the average path distance of a random network, represents the upper limit of the value, n is the number of user nodes in the trust network, and k refers to the number of edges of each node.

[0212] The weight parameter of the recommender relative to the active user is determined by this value, ensuring that other users in the network who are closer to the target user have a larger trust weight, while users who are farther away from the target user have a smaller trust weight. The weight parameter calculation is shown in formula (26):

[0213] β=(d max -d+1) / d max ,d∈[2,d max ] (26);

[0214] Among them, d refers to the distance between the target user and other users, which is the optimal trust propagation distance.

[0215] In a trust recommendation system, if users have items that they have rated in common, the direct trust value between users can be measured with the help of a calculation formula. If two users do not share any common rated items, there is no direct trust relationship between the users, and it is necessary to measure the indirect trust value of the users. The indirect trust relationship between system users can be inferred with the help of a trust propagation strategy. If there are multiple users in the propagation path, a weighted average aggregation method is used, which makes trust aggregation more flexible. Assume that there is an intermediate user c in the trust path connecting user a to user b. a gives a trust value to user b through the intermediate user c. The calculation is shown in formula (27):

[0216]

[0217] Among them, DTrust(a,c) represents the direct trust value of user a to c, and DTrust(c,b) represents the direct trust value of users c and b. β is a weight parameter, which represents the weight parameter of the recommender relative to the active user.

[0218] The centrality of a user represents the social status and influence of the target user. In this paper, the centrality of the target user is calculated using the node clustering coefficient (same as the central value in each of the above embodiments). The larger the user's clustering coefficient, the higher the user's centrality, and the higher the user's social status. The calculation of the centrality of a user in a trust network is shown in formula (28):

[0219]

[0220] Among them, m adj represents the number of associated edges with the target user’s neighbor users at most, f adj Represents the number of edges actually connected between neighbor users of the target user.

[0221] Combining the above optimal trust propagation distance and user centrality, the combined trust value between user a and user b is calculated as shown in formula (29):

[0222]

[0223] DTrust(a,b) represents the direct trust value between user a and user b. PTrust(a,b) represents the indirect trust value between user a and user b, and Cen represents the centrality of the user in the trust network. 1 and μ 2 , μ 3 and μ 4 The value is determined according to the different effects reflected in the experimental data, and μ 1 +μ 2 =1,μ 3 +μ 4 =1.

[0224] Certainty (same as the scoring probability in the above embodiments) calculation:

[0225] X a is the rating vector of target user a, rating r in X a The probability calculation of the occurrence is shown in formula (30):

[0226]

[0227] The trust between two users also depends on the certainty of their rating vectors. a The certainty of X is calculated using Shannon entropy. a The uncertainty of is shown in formula (31):

[0228]

[0229] Where P ar Indicates that the score r is in X aThe probability of appearing in ; RD refers to the rating domain of the item; |RD| is the number of elements in the rating domain. And the above formula is normalized to the interval [0,1], and the uncertainty values ​​related to different user rating vectors are compared.

[0230] By calculating UnCer a ,The deterministic calculation of the scoring vector is shown in formula (32):

[0231] Cer a =1-UnCer a (32);

[0232] Optimize trust value calculation

[0233] This application proposes the need to compare users' perceptions of the rating domain. Therefore, it is necessary to calculate the absolute difference in entropy-based certainty values, which represents the difference in certainty between users. Formula (33) is as follows:

[0234] CerDiff(a,b)=|Cer a -Cer b | (33);

[0235] Among them, Cer a is the certainty of user a on the rating vector, Cer b is the certainty of user b's rating vector. The value of CerDiff(a,b) indicates how close user a's perception of the item rating is to user b's perception. The smaller the value, the more similar the two users' perceptions of the ratings are, and the larger the value, the less similar the two users' perceptions of the ratings are.

[0236] After that, the optimized trust value of the user will be obtained by combining the comparison of certainty. a, b∈U, based on the comparison of user certainty and the combined trust value between users a and b, the optimized trust value calculation is shown in formula (34):

[0237] Trust(a,b)=CTrust(a,b)·(1-CerDiff(a,b)) (34);

[0238] Among them, Trust(a,b) is the optimized trust value between user a and user b combined with deterministic constraints, and CerDiff(a,b) is the difference in the rating perception between user a and user b. From the above formula, we can see that when CerDiff(a,b) tends to 0, that is, the two users have the same perception of the rating, Trust(a,b) is close to the value of CTrust(a,b).

[0239] Item Similarity Fusion

[0240] Based on the embedding vectors in the knowledge graph, the semantic similarity between items is calculated using the Euclidean distance. Based on the user's rating matrix for items, the cosine similarity is used to calculate the item similarity based on user ratings. The two similarity calculation values ​​are combined to obtain the final similarity of the items. See formula (35):

[0241] sim(I i ,I j )=α·sim kg (I i ,I j )+β·sim cos (I i ,I j ) (35);

[0242] α and β are weighting coefficients, and their values ​​are determined according to experimental results, and α+β=1, and sim(I i ,I j ) has a value range of [0,1]. When sim(I i ,I j ) value is closer to 0, indicating that the two items are less similar. i ,I j ) value is closer to 1, indicating that the two items are more similar.

[0243] Mixed Recommendations

[0244] From the perspective of projects, we deeply explore the correlation between users, that is, the trust between users, to predict the scores of active users and recommend corresponding items. This process takes into account the influence of the neighboring user set on the active user, which is called the user influence factor. From the perspective of projects, the similarity between projects and the average score of these projects will affect the recommendation results. The project fusion similarity obtained from the knowledge graph and project scores can be used to predict the score. This process takes into account the influence of the target project on the neighboring project set, which is called the project influence factor. In the algorithm, the trust model and project fusion similarity are combined for hybrid recommendation, comprehensively considering user influence factors and project influence factors.

[0245] Combine the trusted users and similar items to give the predicted score as shown in formula (36):

[0246]

[0247] Among them, P Tkg (a,i) indicates that user a has not rated item I i The prediction score of represents the average rating of active user a on system items, represents the average rating of user b on the system project, Trust(a,b) represents the optimized trust value of user a to user b, and r(b,i) represents the trust value of user b on the target project I i 's rating value. Indicates the user's control over system project I i Average rating value, Indicates the user's control over system project I j The average of the ratings, r(a,j) represents the user a's evaluation of item I j The score value, sim(I i ,I j ) indicates I i with I j Similarity between items. N is the set of nearest neighbors trusted by the current user a, and K is the set of nearest neighbors similar to the current item i. 1 and w 2 Need to meet w 1 +w 2 =1, value range [0, 1], w 1 and w 2 The value of depends on the experiment.

[0248] The recommendation method provided in the embodiment of the present application proposes to optimize the calculation of traditional trust values ​​by using deterministic information in view of the different perceptions of users on ratings, thereby improving the accuracy of recommendations. The semantic information of the project itself is fully utilized to break through the limitations of the traditional project-based collaborative filtering recommendation algorithm, and it is proposed to combine the semantic information of the knowledge graph and the similarity information based on ratings for recommendation, and integrate the trust model to optimize the recommendation system.

[0249] Based on the foregoing embodiments, the embodiments of the present application provide a recommended device, and the modules included in the device and the units included in the modules can be implemented by a processor in a computer device; of course, they can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU, Central Processing Unit), a microprocessor (MPU, Microprocessor Unit), a digital signal processor (DSP, Digital Signal Processing) or a field programmable gate array (FPGA, Field Programmable Gate Array), etc.

[0250] The present application embodiment further provides a recommendation device, Figure 6 A schematic diagram of the recommended device structure provided in the embodiment of the present application, such as Figure 6 As shown, the recommendation device 600 includes:

[0251] A first acquisition module 601 is configured to acquire first rating data of a first object set by a target user, and to acquire second rating data of a second object set by neighbor users of the target user in a social network, wherein the second object set includes a set of objects to be recommended that have not been rated by the target user;

[0252] A first determination module 602 is used to determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set;

[0253] A second determination module 603 is used to determine a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents the degree of trust of the target user in the neighbor user;

[0254] The third determination module 604 is used to determine the predicted score data of the object to be recommended based on each fusion similarity and the trust value, and recommend the object to be recommended to the target user based on the predicted score data.

[0255] In some embodiments, the recommendation device 600 further includes:

[0256] A fifth determination module, used to determine each semantic similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set;

[0257] The second acquisition module is used to obtain the average score data of each object to be recommended;

[0258] The sixth determination module is used to determine, according to the first rating data and the average rating data, each rating similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set.

[0259] In some embodiments, the first determining module 602 includes:

[0260] A first determining unit, used to determine a first weight of each of the semantic similarities, and to determine a second weight of each of the score similarities;

[0261] The second determining unit is used to determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set according to the first weight, each semantic similarity, the second weight and each score similarity.

[0262] In some embodiments, the second determining module 603 includes:

[0263] A third determining unit, configured to determine an initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data;

[0264] The fourth determination unit is used to determine the combined trust value between the target user and the neighbor users based on the initial trust value and the central value of the target user, wherein the central value of the target user represents the clustering coefficient of the target user in the trust network, and the trust network is a network composed of trust values ​​between users in the system.

[0265] a fifth determining unit, configured to determine a first scoring probability of the target user for each scoring value based on the first scoring data, and to determine a second scoring probability of the neighbor user for each scoring value based on the second scoring data;

[0266] A sixth determining unit, configured to determine a difference between a first scoring probability of the target user for the scoring value and a second scoring probability of the neighbor user for the scoring value;

[0267] The trust value between the target user and the neighbor user is calculated according to the combined trust value and the difference value.

[0268] In some embodiments, when the first object set and the second object set have the same third object set, the initial trust value includes a first direct trust value, and the third determining unit includes:

[0269] A first determining subunit, configured to determine third rating data of the target user for the third object set;

[0270] A second determining subunit, configured to determine fourth scoring data of the neighboring user for the third object set;

[0271] The third determining subunit is configured to determine a first direct trust value between the target user and the neighbor user according to the third scoring data and the fourth scoring data.

[0272] In some embodiments, when there are no identical objects in the first object set and the second object set, the initial trust value includes an indirect trust value, and the third determining unit includes:

[0273] a fourth determining subunit, configured to determine an intermediate user having the same fourth object set as the target user, wherein the intermediate user and the neighbor user have the same fifth object set, and the fourth object set is different from the fifth object set;

[0274] a fifth determining subunit, configured to determine a second direct trust value between the intermediate user and the target user;

[0275] a sixth determining subunit, configured to determine a third direct trust value between the intermediate user and the neighbor user;

[0276] A seventh determining subunit is configured to determine an indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value.

[0277] In some embodiments, the recommendation device 600 further includes:

[0278] a seventh determination module, configured to determine a first path distance between the target user and the intermediate user in the trust network, and to determine a second path distance between the intermediate user and the neighbor user in the trust network;

[0279] an eighth determination module, configured to determine a trust weight of the third direct trust value according to the first path distance, the second path distance, and an average path distance of the trust network;

[0280] Correspondingly, the seventh determining subunit is further configured to determine the indirect trust value between the target user and the neighbor user according to the second direct trust value, the third direct trust value and the trust value weight.

[0281] In some embodiments, the recommendation device 600 further includes:

[0282] a ninth determination module, configured to determine a first number of associated edges where the neighbor users are located in the trust network, and to determine a second number of associated edges between the target user and the neighbor users in the trust network;

[0283] A tenth determining module is configured to determine a central value of the target user in the trust network according to the first number and the second number.

[0284] In some embodiments, the third determination module 604 includes:

[0285] A seventh determining unit, configured to determine a target trust value where the trust value is greater than a trust threshold;

[0286] An eighth determining unit, configured to determine a target fusion similarity where the fusion similarity is greater than a fusion similarity threshold;

[0287] A ninth determining unit, configured to determine each predicted scoring data of the to-be-recommended object according to the target trust value and the target fusion similarity;

[0288] A tenth determining unit, configured to determine a recommendation ranking of the to-be-recommended object according to the respective prediction score data;

[0289] A recommendation unit is used to make recommendations for the target user based on the recommendation ranking.

[0290] The description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.

[0291] It should be noted that in the embodiments of the present application, if the above-mentioned recommended method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM, Read Only Memory), a disk or an optical disk. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0292] Accordingly, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed by a processor, the steps in the recommended method provided in the above embodiment are implemented.

[0293] The present application embodiment provides a recommended device. Figure 7 The schematic diagram of the structure of the recommended device provided in the embodiment of the present application is as follows: Figure 7 As shown, the recommendation device 700 includes: a processor 701, at least one communication bus 702, a user interface 703, at least one external communication interface 704 and a memory 705. The communication bus 702 is configured to realize the connection and communication between these components. The user interface 703 may include a display screen, and the external communication interface 704 may include a standard wired interface and a wireless interface. The processor 701 is configured to execute the program of the recommendation method stored in the memory to implement the steps in the recommendation method provided in the above embodiment.

[0294] The description of the above recommended device and storage medium embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the recommended device and storage medium embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0295] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence number of the above-mentioned processes does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned sequence numbers of the embodiments of the present application are only for description and do not represent the advantages and disadvantages of the embodiments.

[0296] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0297] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0298] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0299] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0300] A person of ordinary skill in the art can understand that: all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM, Read Only Memory), disks or optical disks, etc. Various media that can store program codes.

[0301] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application can essentially or in other words, the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for an AC to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks or optical disks.

[0302] The above is only an implementation method of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A recommendation method, characterized in that: The method comprises: Acquire first rating data of a target user on a first set of objects, and acquire second rating data of a neighbor user of the target user in a social network on a second set of objects, wherein the second set of objects includes a set of objects to be recommended that have not been rated by the target user; Determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set; determining a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents a degree of trust of the target user in the neighbor user; Determining predicted scoring data of the object to be recommended based on each fused similarity and the trust value, and recommending the object to be recommended to the target user based on the predicted scoring data; The determining the trust value between the target user and the neighbor user according to the second scoring data and the first scoring data includes: Determine an initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data; Determining a combined trust value between the target user and the neighboring users according to the initial trust value and the central value of the target user, wherein the central value of the target user represents a clustering coefficient of the target user in a trust network, and the trust network is a network composed of trust values ​​between users in the system; Determine a first scoring probability of the target user for each scoring value based on the first scoring data, and determine a second scoring probability of the neighbor user for each scoring value based on the second scoring data; Determine a difference between a first scoring probability of the target user for the scoring value and a second scoring probability of the neighbor user for the scoring value; The trust value between the target user and the neighbor user is calculated according to the combined trust value and the difference value.

2. The method according to claim 1, characterized in that Before determining each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set, the method further includes: Determining each semantic similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set; Obtain the average score data of each object to be recommended; The score similarities between each object in the first object set and each object to be recommended in the set of objects to be recommended are determined according to the first score data and each average score data.

3. The method according to claim 2, characterized in that The determining of each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set includes: Determining a first weight value for each of the semantic similarities, and determining a second weight value for each of the score similarities; The respective fusion similarities between the respective objects in the first object set and the respective objects to be recommended in the set of objects to be recommended are determined according to the first weight, the respective semantic similarities, the second weight and the respective score similarities.

4. The method according to claim 1, characterized in that When the first object set and the second object set have the same third object set, the initial trust value includes a first direct trust value, and determining the initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data includes: Determining third rating data of the target user for the third object set; Determining fourth rating data of the neighbor user for the third object set; A first direct trust value between the target user and the neighbor user is determined according to the third scoring data and the fourth scoring data.

5. The method according to claim 1, characterized in that When there are no identical objects in the first object set and the second object set, the initial trust value includes an indirect trust value, and determining the initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data includes: Determine an intermediate user having the same fourth object set as the target user, the intermediate user having the same fifth object set as the neighbor user, and the fourth object set is different from the fifth object set; determining a second direct trust value between the intermediate user and the target user; determining a third direct trust value between the intermediate user and the neighbor user; An indirect trust value between the target user and the neighbor user is determined according to the second direct trust value and the third direct trust value.

6. The method according to claim 5, characterized in that Before determining the indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value, the method further includes: Determine a first path distance between the target user and the intermediate user in the trust network, and determine a second path distance between the intermediate user and the neighbor user in the trust network; determining a trust weight of the third direct trust value according to the first path distance, the second path distance, and an average path distance of the trust network; Correspondingly, determining the indirect trust value between the target user and the neighbor user according to the second direct trust value and the third direct trust value includes: An indirect trust value between the target user and the neighbor user is determined according to the second direct trust value, the third direct trust value, and the trust value weight.

7. The method according to claim 1, characterized in that Before determining the combined trust value between the target user and the neighboring users according to the initial trust value and the center value of the target user, the method further includes: Determine a first number of associated edges where the neighbor users are located in the trust network, and determine a second number of associated edges between the target user and the neighbor users in the trust network; A central value of the target user in the trust network is determined according to the first number and the second number.

8. The method according to claim 1, characterized in that The determining each predicted score data of the object to be recommended based on each fusion similarity and the trust value, and recommending to the target user based on the each predicted score data, comprises: Determine a target trust value among the trust values ​​that is greater than a trust threshold; Determine a target fusion similarity among the fusion similarities that is greater than a fusion similarity threshold; Determine each prediction score data of the object to be recommended according to the target trust value and the target fusion similarity; Determine the recommendation ranking of the to-be-recommended objects according to the respective prediction score data; Recommendations are made to the target user based on the recommendation ranking.

9. A recommendation device, characterized in that: The recommended devices include: an acquisition module, configured to acquire first rating data of a target user on a first set of objects, and acquire second rating data of a neighbor user of the target user in a social network on a second set of objects, wherein the second set of objects includes a set of objects to be recommended that have not been rated by the target user; A first determination module, used to determine each fusion similarity between each object in the first object set and each to-be-recommended object in the to-be-recommended object set; A second determination module, configured to determine a trust value between the target user and the neighbor user according to the second scoring data and the first scoring data, wherein the trust value represents a degree of trust of the target user in the neighbor user; A third determination module is used to determine the predicted score data of the object to be recommended based on each fusion similarity and the trust value, and recommend the object to be recommended to the target user based on the predicted score data; The second determining module comprises: A third determining unit, configured to determine an initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data; a fourth determining unit, configured to determine a combined trust value between the target user and the neighboring users according to the initial trust value and the central value of the target user, wherein the central value of the target user represents a clustering coefficient of the target user in a trust network, and the trust network is a network composed of trust values ​​between users in the system; a fifth determining unit, configured to determine a first scoring probability of the target user for each scoring value based on the first scoring data, and to determine a second scoring probability of the neighbor user for each scoring value based on the second scoring data; A sixth determining unit, configured to determine a difference between a first scoring probability of the target user for the scoring value and a second scoring probability of the neighbor user for the scoring value; The trust value between the target user and the neighbor user is calculated according to the combined trust value and the difference value.

10. A recommendation device, characterized in that: The device comprises: Processor; and a memory for storing a computer program executable on the processor; Wherein, when the computer program is executed by a processor, the steps of the recommendation method described in any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium, wherein the computer storage medium stores computer-executable instructions, wherein the computer-executable instructions are configured to execute the steps of the recommendation method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Recommendation system and method

    CN101329683A

  • Item recommendation method for integrating rating data with trust relationship in social network

    CN107025606A