CN114065016A - Recommendation method, device, equipment and computer readable storage medium - Google Patents

Recommendation method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN114065016A
CN114065016A CN202010762262.7A CN202010762262A CN114065016A CN 114065016 A CN114065016 A CN 114065016A CN 202010762262 A CN202010762262 A CN 202010762262A CN 114065016 A CN114065016 A CN 114065016A
Authority
CN
China
Prior art keywords
user
determining
trust
target user
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010762262.7A
Other languages
Chinese (zh)
Inventor
吴婷婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010762262.7A priority Critical patent/CN114065016A/en
Publication of CN114065016A publication Critical patent/CN114065016A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application discloses a recommendation method, a recommendation device, recommendation equipment and a computer-readable storage medium, wherein the method comprises the following steps: the method comprises the steps of obtaining first scoring data of a target user on a first object set, and obtaining second scoring data of a neighbor user of the target user on a second object set in a social network, wherein the second object set comprises an object set to be recommended, which is not scored by the target user; determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended; 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 trust degree of the target user to the neighbor user; and determining the predictive scoring data of the object to be recommended based on the fusion similarity and the trust value, and recommending the object to be recommended for the target user based on the predictive scoring data.

Description

Recommendation method, device, equipment and computer readable storage medium
Technical Field
The embodiment of the application relates to the technical field of recommendation, and relates to but is not limited to a recommendation method, a recommendation device, recommendation equipment and a computer-readable storage medium.
Background
The recommendation system is developed for solving the problem of information overload, and is widely applied to the fields of electronic commerce, movies, videos, music reading, advertisements and the like. By analyzing a large amount of user behavior logs, the recommendation system can show different personalized pages for different users, and the click rate and the conversion rate of the website are improved. The recommendation technology mainly comprises collaborative filtering recommendation technology which is divided into a collaborative filtering algorithm based on users and a collaborative filtering algorithm based on articles. However, both the collaborative filtering algorithm based on the user and the collaborative filtering algorithm based on the article have the problem that the recommendation precision of the recommendation system is not high enough.
Disclosure of Invention
In view of this, embodiments of the present application provide a recommendation method, apparatus, device, and computer-readable storage medium.
The technical scheme of the embodiment of the application is realized as follows:
the embodiment of the application provides a recommendation method, which comprises the following steps:
the method comprises the steps of obtaining first scoring data of a target user on a first object set, and obtaining second scoring data of a neighbor user of the target user on a second object set in a social network, wherein the second object set comprises an object set to be recommended, which is not scored by the target user;
determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended;
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 trust degree of the target user to the neighbor user;
and determining the predictive scoring data of the object to be recommended based on the fusion similarity and the trust value, and recommending the target user based on the predictive scoring data.
An embodiment of the present application provides a recommendation device, the recommendation device includes:
the system comprises an acquisition module, a recommendation module and a recommendation module, wherein the acquisition module is used for acquiring first scoring data of a first object set by a target user and acquiring second scoring data of a second object set by a neighbor user of the target user in a social network, and the second object set comprises an object set to be recommended, which is not scored by the target user;
the first determining module is used for determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended;
a second determining module, configured to determine a trust value between the target user and the neighbor user according to the second score data and the first score data, where the trust value represents a trust degree of the target user to the neighbor user;
and the third determining module is used for determining the predictive scoring data of the object to be recommended based on the fusion similarities and the trust value, and recommending the target user based on the predictive scoring data.
An embodiment of the present application provides a recommendation device, where the recommendation device at least includes:
a processor; and
a memory for storing a computer program operable on the processor;
wherein the computer program realizes the steps of the above recommendation method when being executed by a processor.
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 recommendation method.
The embodiment of the application provides a recommendation method, a recommendation device, recommendation equipment and a computer-readable storage medium, wherein the recommendation precision can be improved by determining fusion similarities between each object in a first object set of a target user and each object in an object set to be recommended, determining a trust value between the target user and a field user according to first scoring data and second scoring data, determining prediction scoring data of each object to be recommended according to the fusion similarities and the trust value, and recommending the object to be recommended for the target user according to the prediction scoring data.
Drawings
In the drawings, which are not necessarily drawn to scale, like reference numerals may describe similar components in different views. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed herein.
FIG. 1 is a schematic diagram of a construction structure implementation process of a knowledge graph in the related art;
fig. 2 is a schematic flow chart of an implementation of the recommendation method according to the embodiment of the present application;
fig. 3 is a schematic flow chart of an implementation process for determining a trust value between the target user and the neighbor user according to the second score data and the first score data provided in this embodiment of the present application;
fig. 4 is a schematic view of an implementation process for determining each predictive scoring data of an object to be recommended based on each fusion similarity and the trust value and recommending the target user based on each predictive scoring data according to the embodiment of the present application;
fig. 5 is a schematic flow chart illustrating an implementation of the TKGCF recommendation algorithm provided in the embodiment of the present application;
fig. 6 is a schematic structural diagram of a recommendation device provided in an embodiment of the present application;
fig. 7 is a schematic structural diagram of a component of a recommendation device according to an embodiment of the present application.
Detailed Description
In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the attached drawings, the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is 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.
The following description will be added if a similar description of "first \ second \ third" appears in the application file, and in the following description, the terms "first \ second \ third" merely distinguish similar objects and do not represent a specific ordering for the objects, and it should be understood that "first \ second \ third" may be interchanged under certain circumstances in a specific order or sequence, so that the embodiments of the application described herein can be implemented in an order other than that shown or described herein.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the application.
In order to better understand the recommendation method, apparatus, device and computer-readable storage medium provided in the embodiments of the present application, first, problems of the recommendation method in the related art are analyzed and explained.
The implementation scheme of the recommendation method in the related art mainly includes the following two types: semantic similarity calculation based on knowledge graph and item similarity calculation based on user score. Wherein the content of the first and second substances,
semantic similarity calculation based on knowledge graph: the domain knowledge graph is firstly constructed, and in the official vocabulary entry of Wikipedia, the knowledge graph is a knowledge base and is used for improving a search engine and providing a stronger information retrieval function. A knowledge graph is a complex semantic web that describes entities and their relationships to each other, providing efficient structured multivariate relationship information in the form of (head entity, relationship, tail entity).
Fig. 1 is a schematic diagram of a process for constructing a knowledge graph in the related art, and as shown in fig. 1, the process of constructing the knowledge graph is continuously updated as people explore the knowledge graph. Under different application scenes, the construction process of the knowledge graph is correspondingly adjusted, and the method mainly comprises the following steps:
and step S101, acquiring data.
Here, the acquired data includes: structured data, semi-structured data, unstructured data.
And step S102, information acquisition.
The information acquisition includes performing entity extraction, relationship extraction, and attribute extraction on the semi-structured data and the unstructured data.
And step S103, knowledge fusion.
And (4) carrying out knowledge fusion on the structured data through a third-party database, and carrying out common reference elimination and entity disambiguation on the fused structured data and the data acquired in the step S102.
Step S104, knowledge processing.
The knowledge processing comprises: and constructing a knowledge graph, performing ontology extraction on knowledge fusion information, and the like.
Under the basis of constructing the domain knowledge graph, a knowledge representation learning (TransE) algorithm using a translation model represents entities and relations in the knowledge graph by using a group of low-dimensional vectors while retaining semantics, and the values of the low-dimensional vectors are a continuous group of real numbers to be embedded in the knowledge graph. The TransE algorithm expects head-to-tail entity vectors to be related by relationship vectors, with vectors being more similar for closer entities in the knowledge graph.
When the knowledge graph triple is embedded into a low-dimensional semantic space, the TransE algorithm describes the embedding errors of the entities and the relations through Euclidean distances, and correspondingly, the similarity between the entities is measured by using the Euclidean distances of the same norm. I isiAnd IjIs two entity vectors in the knowledge map, the value ranges of the two are corresponded by arithmetic transformation, entity IiAnd entity IjSee formula (1) for semantic similarity calculation:
Figure BDA0002613403430000051
wherein, | | Ii-IjI represents an entity vector IiAnd IjThe distance of (c). The Euclidean distance range obtained by calculation is [0, ∞ ]]Similarity measure range is [0,1]]. When the calculated value is 1, the entity vector IiAnd IjThe semantic similarity of (2) is maximum, if the calculated numerical value is close to 0, the knowledge graph is regarded as IiAnd IjIs distant, that is to say entity IiAnd entity IjThe semantic similarity of (2) is low.
Calculating the similarity of the items based on the user scores:
suppose that in a complete recommendation system, there are m users U ═ U1,U2,…,UmN items I ═ I }1,I2,…,InUser-item scoring matrix R of m × nm×nSee the formula (2),
Figure BDA0002613403430000052
wherein R isijRefer to user UiThe higher the score for item j, the more favorable the user is for that item. The cosine similarity is used here to measure the similarity between two items, let I be assumediAnd IjIs an m-dimensional vector, the value of which in each dimension is the score value of the project vector corresponding to the user, and the cosine angle between the two vectors represents the similarity between the project vectors, see formula (3):
Figure BDA0002613403430000061
as can be seen from the formula (3), the larger the calculated value of the formula is, the more similar the project vector is, i.e. the project I obtained by the user scoringiAnd item IjThe higher the degree of similarity. When simcos(Ii,Ij) A value of 0 indicates that the two term vectors are completely dissimilar.
In inferring trust values, prior art research efforts assume that all individuals have the same perception of score, and lack research into the certainty of the user score matrix in inferred trust information. The collaborative filtering algorithm based on the user or the collaborative filtering algorithm based on the article has the problems of insufficient information utilization and low precision of a recommendation system.
Based on the problems in the related art, the embodiment of the application provides a recommendation method, and the method is applied to recommendation equipment. In this embodiment of the present application, the recommendation device may be a server, and the method provided in this embodiment may be implemented by a computer program, where the computer program completes each step in the recommendation method provided in this embodiment when being executed. In some embodiments, the computer program may be executed by a processor in the recommendation device. Fig. 2 is a schematic flow chart of an implementation of a recommendation method provided in an embodiment of the present application, and as shown in fig. 2, the method includes:
step S201, first rating data of a target user to a first object set is obtained, and second rating data of a neighbor user of the target user in a social network to a second object set is obtained.
In this embodiment of the application, the second object set includes the set of objects to be recommended that are not scored by the target user. When the first scoring data of the target user for the first object set is obtained, the first object set corresponding to the ID of the target user and the first scoring data corresponding to the first object set may be obtained from the data server according to the Identification (ID) of the target user. In an embodiment of the present application, the first set of objects may include at least one object. The object may be an article, music, a movie, or the like, and the first rating data is an evaluation value of the object by the target user. In the same recommendation system, the score is fixed, and in the case of a shopping website, the score for an item generally includes: 0. 1, 2, 3, 4 and 5.
In the embodiment of the application, the neighbor user obtaining the social network of the target user may obtain the neighbor user of the target user in the social network from the server according to the user ID, or obtain the neighbor user of the target user in the social network in a manner of reading an address list of the user when the user accesses the server. After the neighbor users of the target user in the social network are obtained, the second object set scored by the neighbor users and second scoring data corresponding to the second object set can be determined. In this embodiment of the present application, the second object set and the first object set may have the same object or may not have the same object, when the first object set and the second object set do not have the same object, the target user has an intermediate user of a fourth object set, the intermediate user and the neighbor user have a fifth object set, and the fourth object set is different from the fifth object set.
Step S202, determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended.
In the embodiment of the application, the recommendation device may determine each semantic similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to a pre-constructed knowledge graph. And determining each score similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first score data and each average score data of the objects to be recommended. Then determining a first weight of each semantic similarity and a second weight of each score similarity; and determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first weight, each semantic similarity, the second weight and each score similarity.
Step S203, determining a trust value between the target user and the neighbor user according to the second score data and the first score data, wherein the trust value represents the trust degree of the target user to the neighbor user.
In this 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 according to the first scoring data and the second scoring data; determining a combined trust value between the target user and the neighbor user according to the initial trust value and a central value of the target user, wherein the central value represents an aggregation coefficient in a trust network, and the trust network is a network formed by trust relations among users in the 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 a first scoring probability of the target user on a scoring value and a second scoring probability of the neighbor user on the scoring value; and calculating the trust value between the target user and the neighbor user according to the combined trust value and the difference value.
Step S204, determining the predictive scoring data of the object to be recommended based on the fusion similarities and the trust value, and recommending the object to be recommended for the target user based on the predictive scoring data.
After determining each fusion similarity and the trust value, determining a target trust value of which the trust value is greater than a trust threshold value; determining the target fusion similarity with the fusion similarity larger than a fusion similarity threshold; determining each prediction scoring data of the object to be recommended according to the target trust value and the target fusion similarity; determining the recommendation sequence of the object to be recommended according to the prediction score data; and recommending the object to be recommended for the target user based on the recommendation sequence.
According to the recommendation method provided by the embodiment of the application, the recommendation precision can be improved by determining the fusion similarity between each object in the first object set and each object in the object set to be recommended, determining the trust value between the target user and the neighbor user according to the first scoring data and the second scoring data, determining the prediction 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 of the object to be recommended for the target user according to each prediction scoring data.
In some embodiments, before the determining of the respective fusion similarities between the respective objects in the first set of objects and the respective objects to be recommended in the set of objects to be recommended in step S202, "the method further includes:
step S202A, determining semantic similarities between each object in the first object set and each object to be recommended in the object set to be recommended.
In the embodiment of the application, each semantic similarity between each object in the first object set and each object to be recommended in the object set to be recommended may be determined according to a pre-constructed knowledge graph. In the embodiments of the present application, different domains correspond to different knowledge-graphs.
In the embodiment of the application, the set of objects to be recommended includes at least one object used for recommending for a target user. When determining each semantic similarity between each object in the first object set and each object to be recommended according to a pre-constructed knowledge graph, using a TransE algorithm to represent the relationship between each object and the object to be recommended by using a group of low-dimensional vectors while preserving semantics, wherein the values of the low-dimensional vectors are a group of continuous real numbers so as to embed the values of the low-dimensional vectors into the knowledge graph. The closer the objects in the pre-constructed knowledge-graph, the more similar the corresponding vectors will be. In the embodiment of the application, when determining each semantic similarity between each object in the first object set and each object to be recommended, the similarity between each object in the first object set and each object to be recommended is measured by using the euclidean distance of the equivalent norm. Illustratively, the object to be recommended IiAnd an object I in the first set of objectsjCorresponding to vectors of two entity objects in the knowledge graph, and carrying out arithmetic transformation on an object I to be recommendediVector of (2) and object IjCorresponding to the value range of the vector, object I to be recommendediAnd object I in the first set of objectsjSee equation (4) for semantic similarity calculation of the vector of (a):
Figure BDA0002613403430000091
wherein, | | Ii-IjI represents the object I to be recommendediVector of (2) and object IjIs measured. The Euclidean distance range obtained by calculation is [0, ∞ ]]Similarity measure range is [0,1]]. When the calculated value is 1, the object I to be recommendediVector of (2) and object IjThe vector semantic similarity is maximum, if the calculated numerical value is close to 0, the entity object IiVector and entity object I ofjThe semantic similarity of the vectors of (a) is low. By calculating the object I to be recommendediAnd object I in the first set of objectsjSo as to determine the object I to be recommendediAnd an object I in the first set of objectsjSemantic identity of (2).
Step S202B, obtaining each average score data of each object to be recommended.
In the embodiment of the application, each average scoring data of each object to be recommended can be acquired from the database. Generally, each object in the server stores average scoring data corresponding to the object, and in the embodiment of the present application, the average scoring data may be calculated according to scoring values of all users on the object, for example: all users have 5 scores of 5, 5 scores of 4 and 5 scores of 3 for objects to be recommended, and then the average score is 4.
Step S202C, determining, according to the first score data and each average score data, each score similarity between each object in the first object set and each object to be recommended in the object set to be recommended.
In the embodiment of the application, when the recommendation device obtains the first score data and the average score data of the objects to be recommended, the score similarity between each object in the first object set and each object to be recommended can be determined. When determining the respective scoring similarity between each object in the first set of objects and each object to be recommended, assume that m users U ═ U exists in the recommendation system1,U2,…,UmAnd n objects I ═ I1,I2,…,InThen, m × n user-object scoring matrix Rm×nSee formula (5):
Figure BDA0002613403430000101
wherein R isijRefer to other users UiThe higher the score of the object j, the more preferred the other users are. Calculating the similarity between the objects to be recommended by using the cosine similarity, and assuming that the objects to be recommended are IiAnd an object I in the first set of objectsjIs an m-dimensional vector, the value of which in each dimension is the value of the score of the corresponding user, and the cosine angle is used for representing the object I to be recommendediAnd an object I in the first set of objectsjThe score similarity between them, see formula (6):
Figure BDA0002613403430000102
as can be seen from the formula (6), the larger the calculated value of the formula is, the more the object I to be recommendediAnd an object I in the first set of objectsjThe more similar the score similarity between the objects, that is, the object I to be recommended obtained by the user scoreiAnd an object I in the first set of objectsjThe higher the score similarity between. When simcos(Ii,Ij) When the value is 0, the object I to be recommended is representediAnd an object I in the first set of objectsjThe score similarity between the two is completely dissimilar, when simcos(Ii,Ij) When the value is 1, the object I to be recommended is representediAnd an object I in the first set of objectsjThe score similarity between them is the same. According to the calculation method, the scoring similarity between each object in the first object set and each object to be recommended in the object set to be recommended can be determined.
According to the method provided by the embodiment of the application, the score similarities and the semantic similarities are calculated, the fusion similarity is calculated according to the score similarities and the semantic similarities, and then recommendation is performed according to the fusion similarity and the trust, so that the information utilization rate and the precision of a recommendation system are improved, and the defect of data sparseness is overcome.
In some embodiments, after determining each score similarity and each semantic similarity, the step S202 may be implemented by:
step S2021, determining the first weight of each semantic similarity, and determining the second weight of each score similarity;
in the embodiment of the present application, the first weight α and the second weight β, α and β may be determined according to an experimental result, and α + β is 1.
Step S2022, determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first weight, each semantic similarity, the second weight and each score similarity.
In the embodiment of the application, after each semantic similarity and each corresponding score similarity are determined, 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 application, the fusion similarity is the final similarity between the object to be recommended and the objects in the first object set.
In connection with the above example, the calculation of the fusion similarity is described in formula (7):
sim(Ii,Ij)=α·simkg(Ii,Ij)+β·simcos(Ii,Ij) (7);
in the examples of the present application, sim (I)i,Ij) Has a value in the range of [0,1]]When sim (I)i,Ij) The closer the value is to 0, the more dissimilar the object is to the object to be recommended, when sim (I)i,Ij) The closer the value is to 1, the more the object I to be recommended is representediAnd an object I in the first set of objectsjSimilarly.
According to the recommendation method provided by the embodiment of the application, the score similarities and the semantic similarities are calculated, so that the fusion similarity is calculated according to the score similarities and the semantic similarities, and then recommendation is performed according to the fusion similarity and the trust, so that the information utilization rate and the precision of a recommendation system are improved.
In some embodiments, the step S203 "determining the trust value between the target user and the neighbor user according to the second rating data and the first rating data" may be implemented by the steps S2031 to S2035 in fig. 3:
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.
In this 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 may be an indirect trust value between the target user and the neighbor user. In this embodiment of the present application, when there is a third object set that is the same in the first object set and the second object set, the initial trust value is a first direct trust value.
In the embodiment of the application, when the first direct trust value of the first object set and the first direct trust value of the second object set are determined, the third scoring data of the target user on the third object set can be determined; determining fourth scoring data for the third set of objects by the neighbor user; a first direct trust value between the target user and the neighbor user is then determined based on the third scoring data and the fourth scoring data.
When the same object does not exist in the first object set and the second object set, the initial trust value is an indirect trust value. In determining the initial trust value, the initial trust value may be determined by determining an intermediate user having a same fourth set of objects as the target user, the intermediate user having a same fifth set of objects as the neighbor user, the fourth set of objects being different from the fifth set of objects; 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; and 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.
Step S2032, determining a combined trust value between the target user and the neighbor user according to the initial trust value and the central value of the target user.
In the embodiment of the application, the central value of the target user represents the aggregation coefficient of the target user in the trust network, and the trust network is a network formed by trust relations among users in the system. In the embodiment of the application, the combined trust value can be determined according to the direct trust value and the central value representing the target user, or the combined trust value can be determined according to the indirect trust value and the central value representing the target user. Illustratively, the target user is denoted by a, the neighbor user is denoted by b, and the combined trust value is denoted by CTrust (a, b).
In the embodiment of the present application, the calculation of the combined trust value is shown in formula (8):
Figure BDA0002613403430000131
DTrust (a, b) represents a direct trust value between user a and user b. PTrust (a, b) represents the indirect trust value of user a and user b directly, and Cen represents the central value of the user in the trust network. Wherein, mu1、μ2、μ3And mu4Determining the value according to different effects of experimental data, and the value is mu12=1,μ34=1。
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.
In connection with the above example, the scoring probabilities may be characterized with certainty that the individual scoring values are calculated. Let XaIs a scoring vector corresponding to the first scoring data of the target user a, and the first scoreEach score in the score data was 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 the respective score vectors.
First, calculate each score r at XaSee equation (9) for the calculation formula:
Figure BDA0002613403430000132
to obtain each score r at XaCertainty, using Shannon entropy, calculates each score r at XaSee equation (10) for calculating uncertainty:
Figure BDA0002613403430000133
wherein P isarIndicates that the score r is at XaThe probability of occurrence of (a); RD refers to the scoring domain of the item; | RD | is the number of elements in the score domain. And normalizing the above formula to the interval [0,1]]Determining a first uncertainty UnCer for each score r of a target usera
By calculating UnCeraThus, the first certainty calculation for each score r by the target user is calculated, see equation (11):
Cera=1-UnCera (11);
when the first certainty is determined, a first scoring probability is determined.
According to the method for calculating the first certainty, the second certainty Cer of each score of the neighbor users can be calculatedbAnd obtaining the second scoring probability.
Step S2034, determining a difference value between the first scoring probability of the target user for the scoring value and the second scoring probability of the neighbor user for the scoring value.
In the embodiment of the present application, after the first scoring probability and the second scoring probability are determined, a difference value between the first scoring probability and the second scoring probability may be calculated. In the embodiment of the present application, the first scoring probability and the second scoring probability may be differentiated to obtain a difference, then the difference is used to obtain an absolute value, and the formula (12) is used to calculate the difference:
CerDiff(a,b)=|Cera-Cerb| (12);
wherein the value of CerDiff (a, b) represents how close a first scoring probability of the target user a to the score is to a second scoring probability of the neighbor user b to the score. The smaller the Cerdiff (a, b), the similar scoring probability of the target user and the neighbor user on the score is shown, and the larger the Cerdiff (a, b), the dissimilar scoring probability of the target user and the neighbor user on the score is shown.
Step S2035, calculating the trust value between the target user and the neighbor user according to the combined trust value and the difference value.
Taking the above example into account, the combined Trust value is denoted by CTrust (a, b) and the Trust value is denoted by Trust (a, b), and the Trust value is calculated according to equation (13):
Trust(a,b)=CTrust(a,b)·(1-CerDiff(a,b)) (13);
trust (a, b) is a Trust value combined with a difference value constraint between a target user a and a neighbor user b, and Cerdiff (a, b) is a difference value between the scoring probabilities of the same score by the target user a and the neighbor user b. As can be seen from equation (12), when the CerDiff (a, b) tends to 0, i.e. the more similar the probability that the target user a and the neighboring user b score the same score, the Trust (a, b) is close to the ctrut (a, b), i.e. the greater the Trust value of the target user a and the neighboring user b.
In the embodiment of the application, the scoring probability of each score of the target user and the neighbor user is determined, the difference value of the scoring probabilities of the target user and the neighbor user for the same score is calculated, and the trust value between the target user and the neighbor user is calculated according to the combined trust value and the difference value, so that the calculated trust value is more accurate.
In some embodiments, when there is a third set of objects in the first set of objects and the second set of objects, the initial trust value comprises a first direct trust value, and the step S2031 of determining the initial trust value between the target user and the neighbor user according to the first score data and the second score data may be implemented by:
step S1, determining third scoring data of the third set of objects by the target user.
In this embodiment of the application, third scoring data of the target user on the third object set may be determined from the server.
Step S2, determining fourth scoring data of the neighbor user for the third set of objects.
In this embodiment of the application, third scoring data of the neighbor users on the third object set may be determined from the server.
Step S3, determining a first direct trust value between the target user and the neighbor user according to the third score data and the fourth score data.
In the embodiment of the 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 too high an accuracy recommendation to the target user, the neighbor user will obtain a high degree of trust of the target user.
In the embodiment of the application, in order to ensure that the value range of the direct trust value is within [0,1], a maximum-minimum normalization method is firstly used to normalize the third score data and the fourth score data. The score value of a third scoring data or said fourth scoring data can be linearly transformed into a new value by a normalization method, and the new value is in the range of [0,1], and the calculation of the normalization method is shown in formula (14):
Figure BDA0002613403430000151
wherein r represents original score data corresponding to third score data or the fourth score data, max represents a maximum value of scores in the third score data and the fourth score data, min represents a minimum value of scores in the third score data and the fourth score data, and t is a normalized value.
For the user a, b ∈ U, I, j ∈ I, based on the neighbor user b, the target user a calculates the prediction score of the object to be recommended I according to formula (15):
Figure BDA0002613403430000162
wherein the content of the first and second substances,
Figure BDA0002613403430000163
represents the average score of the target user a,
Figure BDA0002613403430000164
represents the average score of the neighbor user b, and r (b, i) represents the score of the neighbor user b as a score item i.
To make the prediction score more accurate, the errors of the prediction scores of the common scoring items are averaged to measure the direct trust value between the target user and the neighbor users, see equation (16):
Figure BDA0002613403430000161
p (a, i) represents the prediction score of the target user a on the basis of the neighbor user b on the object to be recommended i, and r (a, i) represents the score value of the target user a on the object to be recommended i. I (a, b) represents the number of commonly scored first objects for the target user a and the neighbor user b, and DTrust (a, b) represents a direct trust value between the user a and the user b.
In some embodiments, when there is no identical object in the first set of objects and the second set of objects, the initial trust value comprises an indirect trust value, and the step S2031 of determining the initial trust value between the target user and the neighbor user according to the first score data and the second score data may be implemented by:
step S11, determining an intermediate user having a fourth object set identical to the target user, the intermediate user having a fifth object set identical to the neighboring user, the fourth object set being different from the fifth object set.
Since there is no object in common between the target user and the neighbor user, only indirect trust values between the target user and the neighbor user can be calculated. For example, suppose there is a user c in the trust path connecting the target user a to the neighbor user b, where a and c have the same second object and c and b have the same third object, and the user c is the first user. In some embodiments, the middle of the trust path may also include users d, e, f, etc. A direct trust value between the two can be calculated according to equation (16).
Step S12, determining a second direct trust value between the intermediate user and the target user;
the second direct trust value is calculated in the same way as the first direct trust value, and is exemplarily indicated with DTrust (a, c).
Step S13, determining a third direct trust value between the intermediate user and the neighbor user.
Illustratively, the third direct trust value is represented by (DTrust (c, b)).
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.
In the embodiment of the present application, after a second direct trust value and a third direct trust value are determined, an indirect trust value between the target user and the neighbor user may be determined according to the second direct trust value and the third direct trust value. Since the neighbor user is far away from the target user in the trust network, in order to ensure that the intermediate user with a short distance between the neighbor user and the target user in the trust network occupies a larger trust weight, the embodiment of the present application provides a trust propagation distance to determine the trust weight of the third direct trust value. In the embodiment of the present application, the confidence weight is represented by β, and the indirect confidence value of the target users a and b is calculated according to formula (17):
Figure BDA0002613403430000171
wherein DTrust (a, c) represents a first direct trust value of user a for c, and DTrust (c, b) represents a second direct trust value of users c and b. Beta is a weight parameter, and beta represents the weight parameter of the recommender relative to the active user, thereby determining an indirect trust value between the target user and the neighbor user.
In some embodiments, before determining the indirect trust value between the target user and the neighbor user from the second direct trust value and the third direct trust value at step S14, the method further comprises:
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.
In the embodiment of the present application, the trust propagation distance refers to the hop count of the shortest trust propagation path from the active user to another user, and is generally set by an administrator of the recommendation system. The average path distance of the trust network is selected as the trust optimum propagation distance, and on 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 random network corresponding to the trust network, and the optimum propagation distance is calculated according to formula (18):
Figure BDA0002613403430000181
wherein L represents the average path distance of the trust network,
Figure BDA0002613403430000182
representing the average path distance of the random network, n is the number of user nodes in the trust network, and k refers to the number of edges of each node.
Through the calculation method, the optimal propagation distance (namely, the first path distance) of the target user and the intermediate user in the trust network can be determined, and the second path distance of the intermediate user and the neighbor user in the trust network can be determined.
Step S14B, determining the confidence 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.
In the embodiment of the application, the weight parameter of the neighbor user relative to the target user is determined according to the average path distance, so that other users with shorter distance from the target user in the trust network occupy larger trust weight, and users with larger path distance from the target user occupy smaller trust weight. The confidence weight parameter is calculated in formula (19):
β=(dmax-d+1)/dmax,d∈[2,dmax] (19);
where d refers to the user and the distance between the users.
Correspondingly, the 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" includes:
the recommendation equipment determines the trust degree weight of the second direct trust value according to the first path distance, the second path distance and the average path distance;
in the embodiment of the present application, the formula for calculating the indirect trust value is shown in formula (17).
In the embodiment of the application, the average path distance in the trust network is calculated, so that other users with shorter target user distance occupy larger trust weight, and users with larger target user average path distance occupy smaller trust weight, and the determined indirect trust is more accurate.
In some embodiments, prior to step S2032, the method further comprises:
step S31, the recommendation device determines a first number of association edges where the neighbor user is located in the trust network, and determines a second number of association edges between the target user and the neighbor user in the trust network.
In the embodiment of the application, in the trust network, the central value representing the target user in the trust network represents the social status and the influence of the target user, and the user node aggregation coefficient can be calculated to calculate the central value of the target user. The larger the aggregation coefficient of the target user is, the higher the center value of the user is, and the higher the social status of the user is. In computing a central value characterizing the target user in the trust network, it is first necessary to determine a first number of association edges existing in the trust network for the neighbor users and a second number of association edges in the trust network between the target user and the neighbor users. In the embodiment of the application, the association edge represents the trust value between each user node, and when the trust value is greater than 0, the association edge exists. In the embodiment of the application, the first number is madjSaid second number is represented by fadjAnd (4) showing.
Step S32, determining a central value of the target user in the trust network according to the first number and the second number.
In the embodiment of the present application, the center value of the target user in the trust network is calculated according to formula (20):
Figure BDA0002613403430000191
in some embodiments, in step S204, "determining each prediction score data of the object to be recommended based on each fusion similarity and the trust value, and recommending the target user based on each prediction score data" may be implemented by steps S41 to step 45 in fig. 4:
step S41, determining a target trust value for which the trust value is greater than the trust threshold.
Illustratively, N trust values having a trust value greater than a trust threshold are determined as target trust values, where N is an integer greater than 1.
And step S42, determining the target fusion similarity with the fusion similarity larger than the fusion similarity threshold.
Illustratively, K fusion similarities of which the fusion similarity is greater than the fusion similarity threshold are determined as the target fusion similarity, where K is an integer greater than 1.
And step S43, determining each prediction scoring data of the object to be recommended according to the target trust value and the target fusion similarity.
In the embodiment of the present application, the prediction score of the unscored item may be determined according to the target trust value and the target fusion similarity, and in the embodiment of the present application, the prediction score of the unscored item is calculated to participate in the formula (21):
Figure BDA0002613403430000201
wherein, PTkg(a, I) represents that the target user a treats the recommended object IiThe prediction score of (a) is determined,
Figure BDA0002613403430000202
represents the average of the scores of the target user a for the object,
Figure BDA0002613403430000203
representing the average value of the object credit of the neighbor user b, Trust (a, b) representing the Trust value of the target user a to the neighbor user b, and r (b, I) representing the object I to be recommended of the neighbor user biThe value of (a).
Figure BDA0002613403430000204
Representing the object I to be recommended by the useriThe average value of the scores of (a), (b),
Figure BDA0002613403430000205
representing user to object IjThe average score value of the scores, r (a, j), represents the target user a for the object IjScore value of (1), sim (I)i,Ij) Representing an object I to be recommendediAnd object IjSimilarity between objects. w is a1And w2Needs to satisfy w1+w21, the value range [0,1]],w1And w2The values of (A) are determined by experiments.
And step S44, determining the recommendation sequence of the object to be recommended according to the prediction score data.
In the embodiment of the application, the higher the prediction score is, the higher the recommendation ranking of the object to be recommended is.
And step S45, recommending the object to be recommended for the target user based on the recommendation sequence.
In the embodiment of the application, the recommending device recommends the object to be recommended according to the recommendation sequence, and in the case of recommendation, the object may not be completely displayed, and at this time, the top K items in the recommendation sequence can be displayed.
In the embodiment of the application, the calculation of the prediction score is performed by determining the target optimization trust value with the trust value larger than the trust threshold value and the target fusion similarity with the fusion similarity larger than the fusion similarity threshold value, so that the calculation process is simplified and the processing speed of the recommendation system is higher under the condition of not influencing the recommendation accuracy.
The embodiment of the present application further provides a recommendation method, and the method provided in the embodiment of the present application performs hybrid recommendation based on the user and the item (the same as the object in the above embodiment). The semantic information of the project is fully utilized, the limitation of the traditional project-based collaborative filtering recommendation algorithm is broken through, recommendation is carried out by combining the semantic information (the semantic similarity in each embodiment) of the knowledge graph and the similarity based on the score (the score similarity in each embodiment), a trust model is fused, and a recommendation system is optimized.
The embodiment of the application provides a Collaborative Filtering algorithm (TKGCF, Trust and Knowledge Graph Collaborative Filtering) based on an optimized Trust value (the same Trust values in the embodiments) and a Knowledge Graph, and the algorithm improves the traditional Collaborative Filtering algorithm by utilizing the fusion similarity of the optimized Trust value and the items based on the Knowledge Graph. Fig. 5 is a schematic flow chart of an implementation of the TKGCF recommendation algorithm provided in the embodiment of the present application, and as shown in fig. 5, the implementation includes:
step S501, constructing a knowledge graph of the corresponding domain,
step S502, the triplet in the knowledge graph is operated by using a TransE algorithm to be changed into a vector of a low-dimensional vector space, the entity and the relation are represented by using the corresponding vector, and the structure of the knowledge graph is embodied in a numerical form.
Step S503, semantic information of the project is obtained through a knowledge representation technology and is blended into a collaborative filtering algorithm, so that data sparsity is relieved, and semantic similarity of the articles is determined.
In the embodiment of the application, semantic information of projects is acquired through a translation model TransE expressed by knowledge graph knowledge, and semantic relevance, namely semantic similarity, between the projects is established
Step S504, a user-item scoring matrix is determined.
In step S505, the item similarity based on the score (similar to the score similarity in the above embodiments) is determined.
And S506, fusing the semantic information of the project with the item similarity based on the user score to obtain fusion similarity so as to improve the collaborative filtering recommendation technology.
Step S507, calculating a combined trust degree based on the user-item scoring matrix;
in step S508, certainty (difference value as in the above embodiments) is calculated based on the user-item scoring matrix.
Step S509, calculates an optimized trust value based on the combined trust level and certainty.
Step S510, combine the prediction results of the user level and the project level together to generate a final combined score prediction score value for the project for the active user.
In step S511, the top k items with the highest prediction scores are recommended.
Wherein the initial trust value calculation comprises a direct trust value calculation or an indirect trust value calculation.
Calculation of direct trust value:
in a trust recommendation system (like the recommendation network in the above embodiments), the users have common scoring items, and the direct trust value between the users can be measured by means of a calculation formula. A direct trust value between user a and user b is calculated based on the score of the common scoring item. The degree of trust between two users is measured by averaging the prediction errors of common scoring items, assuming a recommender as the only recommendation partner targeted. Because if the recommender provides too high an accuracy of the recommendation to the target user, the recommender will get a high degree of confidence in the target user.
To ensure that the confidence score range is within [0,1], the score values are first normalized using a max-min normalization method. By this normalization, an original score value can be linearly transformed into a new value, and the new value is in the range of [0,1], see equation (22):
Figure BDA0002613403430000221
r denotes raw data, max denotes the maximum value of the score, min denotes the minimum value of the score, and t is a normalized value.
For the user a, b ∈ U, I, j ∈ I, the prediction score of the user a on the item I is calculated based on the neighbor user b in formula (23):
Figure BDA0002613403430000222
wherein the content of the first and second substances,
Figure BDA0002613403430000223
represents the average score of the user a and,
Figure BDA0002613403430000224
represents the average rating of user b, and r (b, i) represents the rating of item i by user b.
From the prediction accuracy, the prediction error of the common scoring item is averaged to measure the confidence level between the two users (as in the direct confidence values in the above embodiments), see formula (24):
Figure BDA0002613403430000225
p (a, i) represents the predicted rating of user a for item i based on neighbor user b, and r (a, i) represents the rating value of user a for item i. I (a, b) represents the number of commonly scored items for user a and user b, and DTrust (a, b) represents the direct trust value between user a and user b.
And (3) indirect trust value calculation:
the trust propagation distance refers to the number of hops of the shortest trust propagation path from the active user to the other users, and is generally set by an administrator of the recommendation system. The average path length of the trust network is selected as the trust optimum propagation distance, and on the same order of magnitude, the average path length of the trust network is approximately equal to the average path length of the random network corresponding to the trust network, so the optimum propagation distance is calculated according to formula (25):
Figure BDA0002613403430000231
wherein L represents the average path distance of the trust network,
Figure BDA0002613403430000232
representing the average path distance of the random network, representing the upper limit of the value, n being the number of user nodes in the trust network, and k being the number of edges of each node.
Determining the weight parameter of the recommender relative to the active users from this value ensures that other users in the network that are a short distance from the target user occupy a greater trust weight, while users that are a greater distance from the target user occupy a lesser trust weight. The weight parameter is calculated in formula (26):
β=(dmax-d+1)/dmax,d∈[2,dmax] (26);
where d refers to the distance between the target user and the other users, which is the trusted optimal propagation distance.
In the trust recommendation system, users have common scoring items, direct trust values between the users can be measured by means of a calculation formula, if the two users do not share any common scoring items, the users do not have direct trust relationships, the indirect trust values of the users need to be measured, and the indirect trust relationships between the users of the system can be inferred by means 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. Assuming that there is an intermediate user c connecting user a to user b, a gives the trust value for user b through intermediate user c, the calculation is given by equation (27):
Figure BDA0002613403430000233
wherein, DTrust (a, c) represents the direct trust value of the user a to c, and DTrust (c, b) represents the direct trust values of the users c and b. Beta is a weight parameter, and beta represents the weight parameter of the recommender relative to the active user.
The centrality of the user represents the social status and influence of the target user, and the centrality (the same central value in the above embodiments) of the target user is calculated by using the node aggregation coefficient. The larger the aggregation coefficient of the user is, the higher the centrality of the user is, and the higher the social status of the user is. The centrality of a user in a trust network is calculated in equation (28):
Figure BDA0002613403430000241
wherein m isadjNumber of associated edges that most exist for neighbor users representing target user, fadjRepresenting the number of edges actually associated between the target user's neighbor users.
The optimal trust propagation distance and the user centrality are combined, and the combined trust value between the user a and the user b is calculated according to the formula (29):
Figure BDA0002613403430000242
DTrust (a, b) represents a direct trust value between user a and user b. PTrust (a, b) represents an indirect trust value directly for user a and user b, and Cen represents the centrality of users in the trust network. Wherein, mu1And mu2,μ3And mu4Determining the value according to different effects of experimental data, and the value is mu12=1,μ34=1。
Certainty (as with the scoring probabilities in the various embodiments above) calculation:
Xais the score vector score r of the target user a at XaSee equation (30) for the probability calculation of the occurrence in (1):
Figure BDA0002613403430000243
trust between two users also depends on the certainty of their scoring vector. To obtain XaCertainty, using Shannon entropy, calculate XaSee formula (31):
Figure BDA0002613403430000244
wherein P isarIndicates that the score r is at XaThe probability of occurrence of (a); RD refers to the scoring domain of the item; | RD | is the number of elements in the score domain. And normalizing the above formula to the interval [0,1]]And comparing uncertainty values related to different user scoring vectors.
By calculating UnCeraThe certainty of the score vector is calculated in equation (32):
Cera=1-UnCera (32);
optimizing trust value calculations
The application proposes that the perception of the scoring domain by the users needs to be compared, and therefore, the absolute difference of the certainty value based on the entropy needs to be calculated, i.e. representing the difference in certainty between the users, and the formula (33) is as follows:
CerDiff(a,b)=|Cera-Cerb| (33);
wherein, CeraIs the certainty that user a has on the score vector, CerbIs the certainty of user b on the score vector. The value of CerDiff (a, b) indicates how close user a's perception of the item score is to user b's perception. The smaller the value, the more similar the perception of the score by the two users, and the larger the value, the less similar the perception of the score between the two users.
After this, the user's optimized trust value will be obtained in connection with the comparison of determinism. a, b ∈ U, optimizing trust value calculation based on the comparison of user certainty and the combined trust value between users a and b, see equation (34):
Trust(a,b)=CTrust(a,b)·(1-CerDiff(a,b)) (34);
where Trust (a, b) is an optimized Trust value between user a and user b combined with a certainty constraint, and Cerdiff (a, b) is the difference perceived by user a and user b on the score. From the above equation, when CerDiff (a, b) goes towards 0, i.e. both users have the same perception of score, Trust (a, b) is close to the value of CTrust (a, b).
Item similarity fusion
Based on the embedded vectors in the knowledge graph, the semantic similarity between the projects is calculated by using the Euclidean distance. And calculating the similarity of the articles based on the user scores by using the cosine similarity based on the scoring matrix of the articles by the user. And fusing the two similarity calculation values to obtain the final similarity of the article. See formula (35):
sim(Ii,Ij)=α·simkg(Ii,Ij)+β·simcos(Ii,Ij) (35);
α and β are weighting coefficients, the values of which are determined according to the experimental results, and α + β is 1, and sim (I)i,Ij) Has a value in the range of [0,1]]When sim (I)i,Ij) The closer the value is to 0, the more dissimilar the two items are, when sim (I)i,Ij) Value ofThe closer to 1, the more similar the two items are.
Hybrid recommendations
From the perspective of projects, the relevance among users, namely the trust between users, is deeply mined to score and predict the active users and recommend corresponding articles, and the influence of the active users on the neighbor user set is considered in the process and is called as a user influence factor. From the perspective of the project, the similarity between the projects and the average score of the projects influence the recommendation result, the score prediction can be performed by using the project fusion similarity obtained from the knowledge graph and the project score, and the process considers the influence of the target project on the neighbor project set and is called as a project influence factor. In the algorithm, mixed recommendation is carried out by combining a confidence model and project fusion similarity, and user influence factors and project influence factors are comprehensively considered.
The trust users and similar items are united, and the prediction scores are given by the formula (36):
Figure BDA0002613403430000261
wherein, PTkg(a, I) shows that the user a does not score the item IiThe prediction score of (a) is determined,
Figure BDA0002613403430000262
represents the average of the scores of the active users a for the system items,
Figure BDA0002613403430000263
representing the average value of the credit of the user b to the system project, Trust (a, b) representing the optimized Trust value of the user a to the user b, and r (b, I) representing the target project I of the user biThe value of (a).
Figure BDA0002613403430000264
Representing a user to a system item IiThe average value of the scores is calculated,
Figure BDA0002613403430000265
representing a user to a system item IjAverage value of scores, r (a, j) represents user a for item IjScore value of (1), sim (I)i,Ij) Is represented byiAnd IjSimilarity between items. N is the set of nearest neighbors that current user a trusts, and K is the set of nearest neighbors that current item i is similar to. w is a1And w2Needs to satisfy w1+w21, the value range [0,1]],w1And w2The values of (A) are determined by experiments.
According to the recommendation method provided by the embodiment of the application, calculation of optimizing the traditional trust value by utilizing the certainty information is provided according to different grading perceptions of the user, and the recommendation accuracy is improved. The semantic information of the project is fully utilized, the limitation of the traditional project-based collaborative filtering recommendation algorithm is broken through, recommendation is carried out by combining the semantic information of the knowledge graph and the score-based similarity information, a trust model is fused, and a recommendation system is optimized.
Based on the foregoing embodiments, the present application provides a recommendation apparatus, where the modules included in the apparatus and the units included in the modules may be implemented by a processor in a computer device; of course, the implementation can also be realized through a specific logic circuit; in the implementation process, the processor may be a Central Processing Unit (CPU), a Microprocessor Unit (MPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or the like.
An embodiment of the present application further provides a recommendation device, fig. 6 is a schematic structural diagram of the recommendation device provided in the embodiment of the present application, and as shown in fig. 6, the recommendation device 600 includes:
the first obtaining module 601 is configured to obtain first scoring data of a first object set by a target user, and obtain second scoring data of a second object set by a neighbor user of the target user in a social network, where the second object set includes an object set to be recommended, the object set being not scored by the target user;
a first determining module 602, configured to determine fusion similarities between each object in the first object set and each object to be recommended in the object set to be recommended;
a second determining module 603, configured to determine a trust value between the target user and the neighbor user according to the second score data and the first score data, where the trust value represents a trust degree of the target user to the neighbor user;
a third determining module 604, configured to determine, based on the fusion similarities and the trust value, prediction score data of the object to be recommended, and recommend, based on the prediction score data, the object to be recommended for the target user.
In some embodiments, the recommendation device 600 further comprises:
a fifth determining module, configured to determine semantic similarities between each object in the first object set and each object to be recommended in the object set to be recommended;
the second acquisition module is used for acquiring each average scoring data of each object to be recommended;
a sixth determining module, configured to determine, according to the first scoring data and each average scoring data, each scoring similarity between each object in the first object set and each object to be recommended in the object set to be recommended.
In some embodiments, the first determining module 602 includes:
the first determining unit is used for determining the first weight of each semantic similarity and determining the second weight of each score similarity;
and the second determining unit is used for determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first weight, each semantic similarity, the second weight and each score similarity.
In some embodiments, the second determining module 603 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 neighbor user according to the initial trust value and a central value of the target user, where the central value of the target user represents an aggregation coefficient of the target user in a trust network, and the trust network is a network formed by trust values between users in the system.
A fifth determining unit, configured to determine, based on the first scoring data, a first scoring probability for each scoring value by the target user, and determine, based on the second scoring data, a second scoring probability for each scoring value by the neighbor user;
a sixth determining unit, configured to determine a difference value between a first scoring probability of the target user on a scoring value and a second scoring probability of the neighbor user on the scoring value;
and calculating the trust value between the target user and the neighbor user according to the combined trust value and the difference value.
In some embodiments, when the first set of objects and the second set of objects have a same third set of objects, the initial trust value comprises a first direct trust value, and the third determining unit comprises:
a first determining subunit, configured to determine third scoring data of the target user on the third object set;
a second determining subunit, configured to determine fourth scoring data of the neighbor user on the third object set;
a third determining subunit, configured to determine, according to the third scoring data and the fourth scoring data, a first direct trust value between the target user and the neighbor user.
In some embodiments, when the same object does not exist in the first set of objects and the second set of objects, the initial trust value comprises an indirect trust value, and the third determining unit comprises:
a fourth determining subunit, configured to determine an intermediate user having a fourth object set that is the same as the target user, where the intermediate user and the neighboring user have a fifth object set that is the same as the neighboring user, and the fourth object set is different from the fifth object set;
a fifth determining subunit, configured to determine a second direct trust value between the intermediate user and the target user;
a sixth determining subunit, configured to determine a third direct trust value between the intermediate user and the neighbor user;
a seventh determining subunit, configured to determine, according to the second direct trust value and the third direct trust value, an indirect trust value between the target user and the neighbor user.
In some embodiments, the recommendation device 600 further comprises:
a seventh determining module, configured to 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;
an eighth determining module, configured to determine a confidence 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;
correspondingly, the seventh determining subunit is further configured to determine an 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.
In some embodiments, the recommendation device 600 further comprises:
a ninth determining module, configured to 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 tenth determining module to determine a central value of the target user in the trust network according to the first number and the second number.
In some embodiments, the third determining module 604 comprises:
a seventh determining unit, configured to determine a target trust value for which the trust value is greater than a trust threshold;
an eighth determining unit, configured to determine a target fusion similarity for which the fusion similarity is greater than a fusion similarity threshold;
a ninth determining unit, configured to determine, according to the target trust value and the target fusion similarity, each piece of prediction score data of the object to be recommended;
a tenth determining unit, configured to determine, according to the prediction score data, a recommendation order of the object to be recommended;
and the recommending unit is used for recommending the target user based on the recommending sequence.
The above description of the apparatus embodiments, similar to the above description of the method embodiments, has similar beneficial effects as the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, reference is made to the description of the embodiments of the method of the present application for understanding.
It should be noted that, in the embodiment of the present application, if the recommendation method is implemented in the form of a software functional module and sold or used as a standalone product, the recommendation method may also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or portions thereof contributing to the prior art may be embodied in the form of a software product stored in a storage medium, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read Only Memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
Accordingly, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, wherein the computer program is executed by a processor to implement the steps in the recommendation method provided in the above embodiment.
An embodiment of the present application provides a recommendation device, fig. 7 is a schematic diagram of a composition structure of the recommendation device provided in the embodiment of the present application, and as shown in fig. 7, 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. Wherein the communication bus 702 is configured to enable connective communication between these components. The user interface 703 may include a display screen, and the external communication interface 704 may include standard wired and wireless interfaces, among others. Wherein 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 embodiments.
The above description of the preferred device and storage medium embodiments is similar to the description of the method embodiments above, with similar beneficial effects as the method embodiments. For technical details not disclosed in the preferred apparatus and storage medium embodiments of the present application, reference is made to the description of the method embodiments of the present application for understanding.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units; can be located in one place or distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as a removable Memory device, a Read Only Memory (ROM), a magnetic disk, or an optical disk.
Alternatively, the integrated units described above in the present application may be stored in a computer-readable storage medium if they are implemented in the form of software functional modules and sold or used as independent products. Based on such understanding, the technical solutions of the embodiments of the present application may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing an AC to perform all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a removable storage device, a ROM, a magnetic or optical disk, or other various media that can store program code.
The above description is only for the embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. A recommendation method, characterized in that the method comprises:
the method comprises the steps of obtaining first scoring data of a target user on a first object set, and obtaining second scoring data of a neighbor user of the target user on a second object set in a social network, wherein the second object set comprises an object set to be recommended, which is not scored by the target user;
determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended;
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 trust degree of the target user to the neighbor user;
and determining the predictive scoring data of the object to be recommended based on the fusion similarity and the trust value, and recommending the object to be recommended for the target user based on the predictive scoring data.
2. The method of claim 1, wherein before the determining the respective fused similarities between the respective objects in the first set of objects and the respective objects to be recommended in the set of objects to be recommended, the method further comprises:
determining semantic similarity between each object in the first object set and each object to be recommended in the object set to be recommended;
acquiring each average score data of each object to be recommended;
and determining each score similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first score data and each average score data.
3. The method of claim 2, wherein the determining the respective fusion similarities between the respective objects in the first set of objects and the respective objects to be recommended in the set of objects to be recommended comprises:
determining a first weight of each semantic similarity, and determining a second weight of each score similarity;
and determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended according to the first weight, each semantic similarity, the second weight and each score similarity.
4. The method of claim 1, wherein determining a trust value between the target user and the neighbor user based on the second scoring data and the first scoring data comprises:
determining an initial trust value between the target user and the neighbor user according to the first scoring data and the second scoring data;
and determining a combined trust value between the target user and the neighbor user according to the initial trust value and the central value of the target user, wherein the central value of the target user represents the aggregation coefficient of the target user in a trust network, and the trust network is a network formed by trust values among users in the 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 a first scoring probability of the target user on a scoring value and a second scoring probability of the neighbor user on the scoring value;
and calculating the trust value between the target user and the neighbor user according to the combined trust value and the difference value.
5. The method of claim 4, wherein the initial trust value comprises a first direct trust value when the first set of objects has a same third set of objects as the second set of objects, and wherein determining the initial trust value between the target user and the neighbor user based on the first scoring data and the second scoring data comprises:
determining third scoring data for the third set of objects by the target user;
determining fourth scoring data for the third set of objects by the neighbor user;
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.
6. The method of claim 4, wherein the initial trust value comprises an indirect trust value when no identical object exists in the first set of objects and the second set of objects, and wherein determining the initial trust value between the target user and the neighbor user based on the first scoring data and the second scoring data comprises:
determining an intermediate user having a fourth set of objects identical to the target user, the intermediate user having a fifth set of objects identical to the neighbor user, the fourth set of objects being different from the fifth set of objects;
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;
and 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.
7. The method of claim 6, wherein prior to 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, the method further comprises:
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;
determining a trust degree 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;
correspondingly, the 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 comprises:
and determining an 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.
8. The method of claim 4, wherein prior to said determining a combined trust value between the target user and the neighbor user based on the initial trust value and the target user's hub value, the method further comprises:
determining a first number of associated edges where the neighbor users are located in the trust network, and determining a second number of associated edges between the target user and the neighbor users in the trust network;
determining a central value of the target user in the trust network according to the first number and the second number.
9. The method according to claim 1, wherein the determining respective predictive scoring data of the object to be recommended based on the respective fusion similarities and the trust values and recommending the target user based on the respective predictive scoring data comprises:
determining a target trust value of the trust values that is greater than a trust threshold;
determining target fusion similarity which is greater than a fusion similarity threshold in the fusion similarities;
determining each prediction scoring data of the object to be recommended according to the target trust value and the target fusion similarity;
determining the recommendation sequence of the object to be recommended according to the prediction score data;
and recommending the target user based on the recommendation ranking.
10. A recommendation device, characterized in that the recommendation device comprises:
the system comprises an acquisition module, a recommendation module and a recommendation module, wherein the acquisition module is used for acquiring first scoring data of a first object set by a target user and acquiring second scoring data of a second object set by a neighbor user of the target user in a social network, and the second object set comprises an object set to be recommended, which is not scored by the target user;
the first determining module is used for determining each fusion similarity between each object in the first object set and each object to be recommended in the object set to be recommended;
a second determining module, configured to determine a trust value between the target user and the neighbor user according to the second score data and the first score data, where the trust value represents a trust degree of the target user to the neighbor user;
and the third determining module is used for determining the predictive scoring data of the object to be recommended based on the fusion similarities and the trust value, and recommending the object to be recommended for the target user based on the predictive scoring data.
11. A recommendation device, characterized in that the device comprises:
a processor; and
a memory for storing a computer program operable on the processor;
wherein the computer program realizes the steps of the recommendation method of any one of claims 1 to 9 when executed by a processor.
12. A computer-readable storage medium having stored thereon computer-executable instructions configured to perform the steps of the recommendation method of any of claims 1 to 9.
CN202010762262.7A 2020-07-31 2020-07-31 Recommendation method, device, equipment and computer readable storage medium Pending CN114065016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010762262.7A CN114065016A (en) 2020-07-31 2020-07-31 Recommendation method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010762262.7A CN114065016A (en) 2020-07-31 2020-07-31 Recommendation method, device, equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN114065016A true CN114065016A (en) 2022-02-18

Family

ID=80228021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010762262.7A Pending CN114065016A (en) 2020-07-31 2020-07-31 Recommendation method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114065016A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114358657A (en) * 2022-03-09 2022-04-15 北京大学 Post recommendation method and device based on model fusion
CN115018584A (en) * 2022-06-13 2022-09-06 浙江理工大学 Recommendation method integrating comment text subject word emotional tendency and user trust relationship

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114358657A (en) * 2022-03-09 2022-04-15 北京大学 Post recommendation method and device based on model fusion
CN114358657B (en) * 2022-03-09 2022-08-12 北京大学 Post recommendation method and device based on model fusion
CN115018584A (en) * 2022-06-13 2022-09-06 浙江理工大学 Recommendation method integrating comment text subject word emotional tendency and user trust relationship

Similar Documents

Publication Publication Date Title
Ahmadian et al. A social recommendation method based on an adaptive neighbor selection mechanism
Dhelim et al. Personality-aware product recommendation system based on user interests mining and metapath discovery
Ning et al. A comprehensive survey of neighborhood-based recommendation methods
Desrosiers et al. A comprehensive survey of neighborhood-based recommendation methods
Ahmadian et al. An effective social recommendation method based on user reputation model and rating profile enhancement
Ren et al. Matching algorithms: Fundamentals, applications and challenges
Sieg et al. Improving the effectiveness of collaborative recommendation with ontology-based user profiles
Ramezani et al. A pattern mining approach to enhance the accuracy of collaborative filtering in sparse data domains
Liu et al. Using context similarity for service recommendation
Gedikli et al. Improving recommendation accuracy based on item-specific tag preferences
Choi et al. Vacant technology forecasting using new Bayesian patent clustering
Xu et al. Integrated collaborative filtering recommendation in social cyber-physical systems
Mazhari et al. A user-profile-based friendship recommendation solution in social networks
CN111488526B (en) Recommendation method and device
Son et al. Trust information network in social Internet of things using trust-aware recommender systems
KR101639656B1 (en) Method and server apparatus for advertising
Singh et al. A survey on the generation of recommender systems
CN110162711A (en) A kind of resource intelligent recommended method and system based on internet startup disk method
Zheng et al. Algorithm for recommending answer providers in community-based question answering
Deng et al. A similarity measure based on Kullback–Leibler divergence for collaborative filtering in sparse data
CN114065016A (en) Recommendation method, device, equipment and computer readable storage medium
Zhang et al. Hybrid recommender system using semi-supervised clustering based on Gaussian mixture model
Liu et al. Personalised context-aware re-ranking in recommender system
Zhang et al. Matching state estimation scheme for content-based sensor search in the Web of things
Valois B Jr et al. Recommender systems in social networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination