CN106126549A - 一种基于概率矩阵分解的社区信任推荐方法及其系统 - Google Patents
一种基于概率矩阵分解的社区信任推荐方法及其系统 Download PDFInfo
- Publication number
- CN106126549A CN106126549A CN201610428024.6A CN201610428024A CN106126549A CN 106126549 A CN106126549 A CN 106126549A CN 201610428024 A CN201610428024 A CN 201610428024A CN 106126549 A CN106126549 A CN 106126549A
- Authority
- CN
- China
- Prior art keywords
- sigma
- user
- community
- matrix
- recommendation
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 36
- 238000013499 data model Methods 0.000 claims abstract description 16
- 230000003542 behavioural effect Effects 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000003064 k means clustering Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000007621 cluster analysis Methods 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 16
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 230000006399 behavior Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 12
- 238000012360 testing method Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 4
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明适用于社交网络信息推荐领域,提供了一种基于概率矩阵分解的社区信任推荐方法及其系统,所述方法包括:获取用户的行为数据,得到社区集合;根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系;根据信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息;按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。本发明实施例将用户的社区关系引入信任关系中,对同一社区的用户与不同社区的用户区分开来,使得信任关系能够更准确地反映用户间真实关系,从而避免单方面的互动关系也被认为是信任关系的情况,大大提高了基于信任的推荐算法的准确性。
Description
技术领域
本发明属于社交网络信息推荐领域,尤其涉及一种基于概率矩阵分解的社区信任推荐方法及其系统。
背景技术
由于在线社交网络的发展方便了用户交互数据和社会关系数据的获取和收集,因此如何利用用户的社交网络信息解决传统的推荐算法中存在的问题成为了研究热点。为了获取到冷启动用户的兴趣特征,研究者们开始利用额外的社会信息源(朋友关系,组员关系和社会信任)来提升推荐准确性,这些算法通常也可以称作社会推荐算法。目前,研究者又提出了很多基于信任的推荐算法,证实了信任也能够提升推荐算法的性能。
但是,基于信任的推荐算法很多是把用户间的互动关系(譬如关注其动态、对其某个观点点赞、单方面或者双方添加成为网络朋友、对其发表的状态加以评论等)直接看作了信任关系,这点大大影响推荐算法的性能。
研究者发现,社交网络上的处于同一小组或者同一社区的用户很有可能有相同的兴趣。与社交网络上组员关系相比,生活在同一社区中的亲朋好友间的信任关系更加可信,现实中的亲朋好友的推荐更值得信赖,可靠性更高。国外网站Social media link(SML)的统计数据表明,对购买行为影响最大的人的前三位排名从高到低分别是家庭成员(77%),亲密朋友(77%),专业人士(55%)。SML的分析人员Nielsen发现,84%的消费者认为从朋友和家人那里得到的推荐建议是最值得信赖的一种广告形式。由此可见消费者在购物时对朋友和家人的推荐有很高的信任。
因此,研究者认为,如果将社区关系引入信任关系中,那么将不仅会降低单方面互动关系对信任关系的影响,而且还会提高基于信任的推荐算法的准确性。
发明内容
本发明实施例提供一种基于概率矩阵分解的社区信任推荐方法,旨在解决现有的基于概率矩阵分解的推荐算法无法降低单方面互动关系对信任关系的影响和推荐算法准确性不高的问题。
本发明实施例是这样实现的,一种基于概率矩阵分解的社区信任推荐方法,所述方法包括:
获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合;
根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系;
根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息;
按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
本发明实施例还提供一种基于概率矩阵分解的社区信任推荐系统,所述系统包括:
用户分类单元,用于获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合;
社区数据模型构建单元,用于根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系;
推荐信息计算单元,用于根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息;
项目推荐单元,用于按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
本发明实施例将用户的社区关系引入信任关系中,对同一社区的用户与不同社区的用户区分开来,使得信任关系能够更准确地反映用户间真实关系,从而避免单方面的互动关系也被认为是信任关系的情况,大大提高了基于信任的推荐算法的准确性。
附图说明
图1是本发明实施例提供的本发明实施例提供的基于概率矩阵分解的社区信任推荐方法的实现流程图;
图2是本发明实施例提供的所述获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合的实现流程图;
图3是本发明实施例提供的所述对所述模型进行求解,计算得出推荐信息的实现流程图;
图4是本发明实施例提供的本发明实施例提供的所述按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户的实现流程图;
图5是本发明实施例提供的参数α对社区推荐方法的影响图;
图6是本发明实施例提供的三种推荐方法模型的MAE值变化图;
图7是本发明实施例提供的三种推荐方法模型的RMSE值变化图;
图8是本发明实施例提供的基于概率矩阵分解的社区信任推荐系统的具体结构图;
图9是本发明实施例提供的所述用户分类单元的具体结构图;
图10是本发明实施例提供的推荐信息计算单元的具体结构图;
图11是本发明实施例提供的所述项目推荐单元的具体结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例将用户的社区关系引入信任关系中,对同一社区的用户与不同社区的用户区分开来,使得信任关系能够更准确地反映用户间真实关系,从而避免单方面的互动关系也被认为是信任关系的情况。
实施例1:
图1示出了本发明实施例提供的基于概率矩阵分解的社区信任推荐方法的实现流程,详述如下:
S101、获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合。
其中,所述行为数据包括职业、地理位置、购买记录以及搜索记录中一种或者多种。
一般来说,用户的行为数据应当是具有一定差异性的用户的个人数据,以便将用户与其他人区分开来,也是因为如此,行为数据相似或者相同的用户间的信任关系会高于行为数据不同的用户。在本发明实施例中,将行为数据相似或者相同的用户归类为一个社区,用户间的信任关系也转变为社区信任关系。
S102、根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系。
在本发明实施例中,所述社区数据模型包括:
用户集合:U={u1,u2,…,un},n表示用户数量;
项目集合:I={i1,i2,…,im},m表示项目数量;
社区集合:C={c1,c2,…,ck},k表示社区数量;
用户关系矩阵T:由n行n列组成,矩阵元素tui表示用户u与用户i的社交网络关系;
信任关系矩阵V:由n行n列组成,矩阵元素vui表示用户u与用户i的信任关系,其中vui满足
vui=sui·tui;
且α和β为固定常数。
在本发明实施例中,用户关系矩阵T通常情况是不对称的稀疏矩阵,譬如,用户u1对用户u2的关注关系不一定存在用户u2对用户u1的关注关系,用户u2对用户u1的观点表示赞成不代表用户u1对用户u2观点赞同,因为用户u2可能未发表过任何观点。所以,当u1信任u2的观点,u2信任u3的观点时,一般情况下这种关系不存在传递,即不能直接推测出u1信任u3。从社交网络中获取的用户关系大多是成对的,这其实是不合理的,尤其是在表示信任这一关系上。由于同一社区内用户间的信任度要比一般用户间的信任度要高,所以,需要在获取了社交网络上的用户关系之后,对用户间的信任关系进行分析计算,并引入社区关系,予以赋值。
其中,α和β为固定常数,可以在构建社区数据模型时进行定义,也可以采用实验学习的方式得出,并不断调整。
S103、根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息。
在本发明实施例中,所述推荐信息选用常见的评分,即计算得出的推荐信息是用户对某一项目的预测评分,此时,预测评分与实际评分的差异就是评价社区信任推荐方法准确性的重要标准。
S104、按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
本发明实施例将用户的社区关系引入信任关系中,对同一社区的用户与不同社区的用户区分开来,使得信任关系能够更准确地反映用户间真实关系,从而避免单方面的互动关系也被认为是信任关系的情况,大大提高了基于信任的推荐算法的准确性。
实施例2:
图2示出了本发明实施例提供的所述获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合的实现流程,进一步包括如下步骤:
S201、采用K-means聚类方法对用户进行聚类分析,得到社区集合,并将用于标识所述社区集合的社区属性存储至用户信息。
常用的分类算法有K-means聚类,蚁群算法,相似度计算等。本发明实施例采用K-means聚类方法,通过分析行为数据对用户进行了聚类分析,使得每个用户拥有相应的社区属性。
此时,由于社区属性属于能够标识用户的用户特征,因此,在本发明中,将社区属性存储至用户信息,以便后续模型的求解。
实施例3:
在本发明实施例中,所述概率分解矩阵模型包括:
用户特征矩阵P:用于记录用户信息,由l行n列组成,l表示所述用户信息的条数;
项目特征矩阵Q:用于记录项目信息,由m行l列组成;
用户评分矩阵R:用于记录用户对项目的评分数据,由m行n列组成,矩阵元素表示用户u对项目i的评分,且满足:
其中,Pu为P的第u列,表示用户u的用户信息,Qi为Q的第i行,表示项目i的项目信息。
在本发明实施例中,用户信息可以包括用户的粉丝数量、关注数量、评论数量等数据,同样的,项目信息也可以包括项目的点击数量、分享数量、评论数量等数据。
实施例4:
图3示出了本发明实施例提供的所述对所述模型进行求解,计算得出推荐信息的实现流程,进一步包括如下步骤:
S301、分析用户评分矩阵R,得到其条件概率分布满足:
其中,为用户评分矩阵R的方差;表示rui服从均值为g(QiPu),方差为的高斯分布,且g(QiPu)满足
表示将QiPu映射到[0,1]内;为指示函数,如果用户u对项目i有评分,则如果用户u对项目i没有评分,则
S302、根据所述条件概率分布,经过贝叶斯推理,得出概率分解矩阵模型的先验概率满足:
其中,为用户关系矩阵T的方差,为用户特征矩阵P的方差,为项目特征矩阵Q的方差,∑i∈U vui为用户u与其他用户的信任关系之和,表示Pu服从均值为∑i∈U vuiPu,方差为的高斯分布,表示Pi服从均值为0,方差为的高斯分布,表示Qi服从均值为0,方差为的高斯分布;
S303、对所述先验概率等式两边同时取对数得:
其中,表示用户特征矩阵P中每个数据的平方和,表示项目特征矩阵Q中每个数据的平方和,D表示一与概率分解矩阵模型无关的常数。
S304、使先验概率最大化,得到损失函数:
其中,
在本发明实施例中,基于概率矩阵分解的社区信任推荐方法模型中用户特征矩阵不仅由用户本身特征和用户的社交关系决定,还会受到其社区信任关系的影响。
S305、采用随机梯度下降法,对所述损失函数求解,求得损失函数Loss(R,V,T,P,Q)对于Pu和Qi的偏导数:
S306、将Pu和Qi按下降速度快的方向调整并进行迭代更新,其更新规则满足:
直至满足预定条件,其中,v为在一定范围内的随机数值。
在本发明实施例中,对损失函数的求解还可以采用交替最小二乘法等其他方法,只要最终求解结果为预测评分,则均在本发明的保护范围内。
S307、根据最终获得的P′u和Q′i,求得推荐信息 表示用户u对项目i的预测评分,其中,满足:
在本发明实施例中,P′u为新的用户特征矩阵的列向量,Q′i为新的项目特征矩阵的行向量。
其中,学习速率v一般情况下可以设置为0.01或者是一个比较小的数。如果需要上述模型快速收敛,在一定的范围内也可以适当增大。在迭代更新的过程中,所述预定条件包括迭代更新次数不超过预定值,或者v不小于预定正数阈值。
实施例5:
图4示出了本发明实施例提供的所述按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户的实现流程,进一步包括如下步骤:
S401、比较用户u对所有项目的预测评分,选取其最大值并将对应的项目j的项目信息Qj推荐给用户u。
实施例6:
为了更直观地表现本发明提供的推荐方法的性能,本发明实施例还采用对比试验来评价方法的预测优劣。
对比方法:为了对比反映出本发明的有效性,本发明把矩阵分解(MF)模型这一经典模型作为一个对比例。由于MF仅仅学习评分矩阵,未考虑用户的社会关系,而SocialMF使用了用户间的信任关系推荐,因此,也把基本的SocialMF模型作为另一个对比例。
评价指标:对于基于评分的推荐方法,很多时候是靠计算预测值和真实值之间的误差来评价一个推荐方法的优劣。Mean Absolute Error(MAE)和Root Mean SquaredError(RMSE)是推荐方法中常用的评价指标。MAE和RMSE一样,值越小说明推荐方法的预测精度越高,说明预测值越接近真实值。
MAE的计算公式如下:
RMSE的计算公式如下:
由于RMSE记录的是评分点的预测误差的平方,然后平均后再开方,所以对于同样的预测分析,RMSE值大于MAE。
试验过程:本发明使用的数据集是从大众点评网上历时一周采集的,采集的用户数据至少评分一次,项目(酒店)至少被打分一次。该数据集包含了45109个用户对于3383家酒店的92290条评分信息还包括了134560条用户间的关注关系,该数据的稀疏度为1-92290/(45109×3383)=0.06%。
由于试验数据的酒店样本主要位于上海市15个区,所以本发明实施例选择聚类个数为15,即k=15的情况进行了实验,为每个用户分配其社区属性。随后,令β=1一α,分别令α等于0.5、0.6、0.7、0.8和0.9,实验结果如图5所示。
从图5可以得出α确实对实验结果有影响,证明了用户对于不同社区确实存在信任差异。从图5中还可以看出当α的取值为0.6时,MAE取得了最小值,即α=0.6时,推荐效果最好。
为了能够证明本发明确实能够在预测评分时有较高的准确性,本发明实施例又分别将结果与对比例矩阵分解(MF)模型和对比例SocialMF模型进行对照,实验结果如图6所示。
进一步地,为了检验本发明的准确性和稳定性,本发明实施例还采用了交叉验证法,将上述数据集随机分成10份,依次把这10份中的1份作为测试集,另外9份作为实验集,并将最后得到平均的MAE值作为实验结果,实验结果如图7。
从图6和图7可以看出,和MF模型和SocialMF模型相比,基于概率矩阵分解的社区信任推荐方法取得了更小的MAE和RMSE,并且MAE曲线总是位于MF模型和SocialMF模型下方。并且,可以看到社区信任推荐方法在迭代到15次的时候就已经开始收敛,而SocialMF模型迭代到第25次才收敛,说明本专利提出的方法可以在更少的迭代次数下取得更小的MAE和RMSE,这对需要在线实时响应用户需求的推荐系统中,可以给用户更好的用户体验。
其中,图6和图7中的CT-PMF即为本发明实施例提供的基于概率分解矩阵的社区推荐方法模型。
从图6和图7中还可以得出如下结论,引入了用户的社交关系的方法确实比传统的协同过滤方法在评分预测上更准确,因为SocialMF和社区信任推荐方法曲线都位于MF下方。
由此可以得出,本发明实施例是这三种方法模型中效果最好的,不仅可以在较少的迭代次数下获得更高的推荐准确性,而且还是对用户社交关系更有效的利用。
实施例7:
图8示出了本发明实施例提供的基于概率矩阵分解的社区信任推荐系统的具体结构,详述如下:
用户分类单元801,用于获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合。
其中,所述行为数据包括职业、地理位置、购买记录以及搜索记录中一种或者多种。
一般来说,用户的行为数据应当是具有一定差异性的用户的个人数据,以便将用户与其他人区分开来,也是因为如此,行为数据相似或者相同的用户间的信任关系会高于行为数据不同的用户。在本发明实施例中,将行为数据相似或者相同的用户归类为一个社区,用户间的信任关系也转变为社区信任关系。
社区数据模型构建单元802,用于根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系。
在本发明实施例中,所述社区数据模型包括:
用户集合:U={u1,u2,…,un},n表示用户数量;
项目集合:I={i1,i2,…,im},m表示项目数量;
社区集合:C={c1,c2,…,ck},k表示社区数量;
用户关系矩阵T:由n行n列组成,矩阵元素tui表示用户u与用户i的社交网络关系;
信任关系矩阵V:由n行n列组成,矩阵元素vui表示用户u与用户i的信任关系,其中vui满足
vui=sui·tui;
且α和β为固定常数。
在本发明实施例中,用户关系矩阵T通常情况是不对称的稀疏矩阵,譬如,用户u1对用户u2的关注关系不一定存在用户u2对用户u1的关注关系,用户u2对用户u1的观点表示赞成不代表用户u1对用户u2观点赞同,因为用户u2可能未发表过任何观点。所以,当u1信任u2的观点,u2信任u3的观点时,一般情况下这种关系不存在传递,即不能直接推测出u1信任u3。从社交网络中获取的用户关系大多是成对的,这其实是不合理的,尤其是在表示信任这一关系上。由于同一社区内用户间的信任度要比一般用户间的信任度要高,所以,需要在获取了社交网络上的用户关系之后,对用户间的信任关系进行分析计算,并引入社区关系,予以赋值。
其中,α和β为固定常数,可以在构建社区数据模型时进行定义,也可以采用实验学习的方式得出,并不断调整。
推荐信息计算单元803,用于根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息。
在本发明实施例中,所述推荐信息选用常见的评分,即计算得出的推荐信息是用户对某一项目的预测评分,此时,预测评分与实际评分的差异就是评价社区信任推荐方法准确性的重要标准。
项目推荐单元804,用于按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
本发明实施例将用户的社区关系引入信任关系中,对同一社区的用户与不同社区的用户区分开来,使得信任关系能够更准确地反映用户间真实关系,从而避免单方面的互动关系也被认为是信任关系的情况,大大提高了基于信任的推荐算法的准确性。
实施例8:
图9示出了本发明实施例提供的所述用户分类单元801进一步包括:
聚类分析模块901,用于采用K-means聚类方法对用户进行聚类分析,得到社区集合,并将用于标识所述社区集合的社区属性存储至用户信息。
常用的分类算法有K-means聚类,蚁群算法,相似度计算等。本发明实施例采用K-means聚类方法,通过分析行为数据对用户进行了聚类分析,使得每个用户拥有相应的社区属性。
此时,由于社区属性属于能够标识用户的用户特征,因此,在本发明中,将社区属性存储至用户信息,以便后续模型的求解。
实施例9:
在本发明实施例中,所述概率分解矩阵模型包括:
用户特征矩阵P:用于记录用户信息,由l行n列组成,l表示所述用户信息的条数;
项目特征矩阵Q:用于记录项目信息,由m行l列组成;
用户评分矩阵R:用于记录用户对项目的评分数据,由m行n列组成,矩阵元素表示用户u对项目i的评分,且满足:
其中,Pu为P的第u列,表示用户u的用户信息,Qi为Q的第i行,表示项目i的项目信息。
在本发明实施例中,用户信息可以包括用户的粉丝数量、关注数量、评论数量等数据,同样的,项目信息也可以包括项目的点击数量、分享数量、评论数量等数据。
实施例10:
图10示出了本发明实施例提供的推荐信息计算单元803进一步包括:
条件概率计算模块1001,用于分析用户评分矩阵R,得到其条件概率分布满足:
其中,为用户评分矩阵R的方差;表示rui服从均值为g(QiPu),方差为的高斯分布,且g(QiPu)满足
表示将QiPu映射到[0,1]内;为指示函数,如果用户u对项目i有评分,则如果用户u对项目i没有评分,则
先验概率计算模块1002,用于根据所述条件概率分布,经过贝叶斯推理,得出概率分解矩阵模型的先验概率满足:
其中,为用户关系矩阵T的方差,为用户特征矩阵P的方差,为项目特征矩阵Q的方差,∑i∈U vui为用户u与其他用户的信任关系之和,表示Pu服从均值为∑i∈U vuiPu,方差为的高斯分布,表示Pi服从均值为0,方差为的高斯分布,表示Qi服从均值为0,方差为的高斯分布。
等式计算模块1003,用于对所述先验概率等式两边同时取对数得:
其中,表示用户特征矩阵P中每个数据的平方和,表示项目特征矩阵Q中每个数据的平方和,D表示一与概率分解矩阵模型无关的常数。
损失函数计算模块1004,用于使先验概率最大化,得到损失函数:
其中,
在本发明实施例中,基于概率矩阵分解的社区信任推荐方法模型中用户特征矩阵不仅由用户本身特征和用户的社交关系决定,还会受到其社区信任关系的影响。
损失函数求解模块1005,用于采用随机梯度下降法,对所述损失函数求解,求得损失函数Loss(R,V,T,P,Q)对于Pu和Qi的偏导数:
迭代更新模块1006,将Pu和Qi按下降速度快的方向调整并进行迭代更新,其更新规则满足:
直至满足预定条件,其中,v为在一定范围内的随机数值。
在本发明实施例中,对损失函数的求解还可以采用交替最小二乘法等其他方法,只要最终求解结果为预测评分,则均在本发明的保护范围内。
推荐信息计算模块1007,用于根据最终获得的P′u和Q′i,求得推荐信息 表示用户u对项目i的预测评分,其中,满足:
在本发明实施例中,P′u为新的用户特征矩阵的列向量,Q′i为新的项目特征矩阵的行向量。
其中,学习速率v一般情况下可以设置为0.01或者是一个比较小的数。如果需要上述模型快速收敛,在一定的范围内也可以适当增大。在迭代更新的过程中,所述预定条件包括迭代更新次数不超过预定值,或者v不小于预定正数阈值。
实施例11:
图11示出了本发明实施例提供的所述项目推荐单元804进一步包括:
最高预测推荐模块1101,用于比较用户u对所有项目的预测评分,选取其最大值并将对应的项目j的项目信息Qj推荐给用户u。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种基于概率矩阵分解的社区信任推荐方法,其特征在于,所述方法包括:
获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合;
根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系;
根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息;
按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
2.如权利要求1所述的社区信任推荐方法,其特征在于,所述获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合进一步包括如下步骤:
采用K-means聚类方法对用户进行聚类分析,得到社区集合,并将用于标识所述社区集合的社区属性存储至用户信息。
3.如权利要求1所述的社区信任推荐方法,其特征在于,所述行为数据包括职业、地理位置、购买记录以及搜索记录中一种或者多种。
4.如权利要求1所述的社区信任推荐方法,其特征在于,所述社区数据模型包括:
用户集合:U={u1,u2,…,un},n表示用户数量;
项目集合:I={i1,i2,…,im},m表示项目数量;
社区集合:C={c1,c2,…,ck},k表示社区数量;
用户关系矩阵T:由n行n列组成,矩阵元素tui表示用户u与用户i的社交网络关系;
信任关系矩阵V:由n行n列组成,矩阵元素vui表示用户u与用户i的信任关系,其中vui满足
vui=sui·tui;
且α和β为固定常数。
5.如权利要求4所述的社区信任推荐方法,其特征在于,所述概率分解矩阵模型包括:
用户特征矩阵P:用于记录用户信息,由l行n列组成,l表示所述用户信息的条数;
项目特征矩阵Q:用于记录项目信息,由m行l列组成,所述项目信息的条数与所述用户信息的条数一致;
用户评分矩阵R:用于记录用户对项目的评分数据,由m行n列组成,矩阵元素表示用户u对项目i的评分,且满足:
其中,Pu为P的第u列,表示用户u的用户信息,Qi为Q的第i行,表示项目i的项目信息。
6.如权利要求5所述的社区信任推荐方法,其特征在于,所述对所述模型进行求解,计算得出推荐信息进一步包括如下步骤:
分析用户评分矩阵R,得到其条件概率分布满足:
其中,为用户评分矩阵R的方差;表示rui服从均值为g(QiPu),方差为的高斯分布,且g(QiPu)满足
表示将QiPu映射到[0,1]内;为指示函数,如果用户u对项目i有评分,则如果用户u对项目i没有评分,则
根据所述条件概率分布,得出概率分解矩阵模型的先验概率满足:
其中,为用户关系矩阵T的方差,为用户特征矩阵P的方差,为项目特征矩阵Q的方差,∑i∈Uvui为用户u与其他用户的信任关系之和,表示Pu服从均值为∑i∈UvuiPu,方差为的高斯分布,表示Pi服从均值为0,方差为的高斯分布,表示Qi服从均值为0,方差为的高斯分布;
对所述先验概率等式两边同时取对数得:
其中,表示用户特征矩阵P中每个数据的平方和,表示项目特征矩阵Q中每个数据的平方和,D表示一与概率分解矩阵模型无关的常数;
使先验概率最大化,得到损失函数:
其中,
采用随机梯度下降法,对所述损失函数求解,求得损失函数Loss(R,V,T,P,Q)对于Pu和Qi的偏导数:
将Pu和Qi按下降速度快的方向调整并进行迭代更新,其更新规则满足:
直至满足预定条件,其中,v为在一定范围内的随机数值;
根据最终获得的P′u和Q′i,求得推荐信息表示用户u对项目i的预测评分,其中,满足:
7.如权利要求6所述的社区信任推荐方法,其特征在于,所述预定条件包括迭代更新次数不超过预定值,或者v不小于预定正数阈值。
8.如权利要求7所述的社区信任推荐方法,其特征在于,所述按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户进一步包括如下步骤:
比较用户u对所有项目的预测评分,选取其最大值并将对应的项目j的项目信息Qj推荐给用户u。
9.一种基于概率矩阵分解的社区信任推荐系统,其特征在于,所述系统包括:
用户分类单元,用于获取用户的行为数据,并根据所述行为数据将用户进行分类,得到社区集合;
社区数据模型构建单元,用于根据用户信息、用户关系、所需推荐的项目信息以及所述社区集合,构建社区数据模型,得到用户间信任关系;
推荐信息计算单元,用于根据所述信任关系,构建概率矩阵分解模型,对所述模型进行求解,计算得出推荐信息;
项目推荐单元,用于按照预定的推荐规则,将所述推荐信息中的所需项目信息推荐给对应的用户。
10.如权利要求9所述的社区信任推荐系统,其特征在于,所述用户分类单元进一步包括:
聚类分析模块,用于采用K-means聚类方法对用户进行聚类分析,得到社区集合,并将用于标识所述社区集合的社区属性存储至用户信息。
11.如权利要求9所述的社区信任推荐系统,其特征在于,所述行为数据包括职业、地理位置、购买记录以及搜索记录中一种或者多种。
12.如权利要求9所述的社区信任推荐系统,其特征在于,所述社区数据模型包括:
用户集合:U={u1,u2,…,un},n表示用户数量;
项目集合:I={i1,i2,…,im},m表示项目数量;
社区集合:C={c1,c2,…,ck},k表示社区数量;
用户关系矩阵T:由n行n列组成,矩阵元素tui表示用户u与用户i的社交网络关系;
信任关系矩阵V:由n行n列组成,矩阵元素vui表示用户u与用户i的信任关系,其中vui满足
vui=sui·tui;
且α和β为固定常数。
13.如权利要求12所述的社区信任推荐系统,其特征在于,所述概率分解矩阵模型包括:
用户特征矩阵P:用于记录用户信息,由l行n列组成,l表示所述个人信息的条数;
项目特征矩阵Q:用于记录项目信息,由m行l列组成;
用户评分矩阵R:用于记录用户对项目的评分数据,由m行n列组成,矩阵元素表示用户u对项目i的评分,且满足:
其中,Pu为P的第u列,表示用户u的用户信息,Qi为Q的第i行,表示项目i的项目信息。
14.如权利要求13所述的社区信任推荐系统,其特征在于,所述推荐信息计算单元进一步包括:
条件概率计算模块,用于分析用户评分矩阵R,得到其条件概率分布满足:
其中,为用户评分矩阵R的方差;表示rui服从均值为g(QiPu),方差为的高斯分布,且g(QiPu)满足
表示将QiPu映射到[0,1]内;为指示函数,如果用户u对项目i有评分,则如果用户u对项目i没有评分,则
先验概率计算模块,用于根据所述条件概率分布,得出概率分解矩阵模型的先验概率满足:
其中,为用户关系矩阵T的方差,为用户特征矩阵P的方差,为项目特征矩阵Q的方差,∑i∈Uvui为用户u与其他用户的信任关系之和,表示Pu服从均值为∑i∈UvuiPu,方差为的高斯分布,表示Pi服从均值为0,方差为的高斯分布,表示Qi服从均值为0,方差为的高斯分布;
等式计算模块,用于对所述先验概率等式两边同时取对数得:
其中,表示用户特征矩阵P中每个数据的平方和,表示项目特征矩阵Q中每个数据的平方和,D表示一与概率分解矩阵模型无关的常数;
损失函数计算模块,用于使先验概率最大化,得到损失函数:
其中,
损失函数求解模块,用于采用随机梯度下降法,对所述损失函数求解,求得损失函数Loss(R,V,T,P,Q)对于Pu和Qi的偏导数:
迭代更新模块,用于将Pu和Qi按下降速度快的方向调整并进行迭代更新,其更新规则满足:
直至满足预定条件,其中,v为在一定范围内的随机数值;
推荐信息计算模块,用于根据最终获得的P′u和Q′i,求得推荐信息表示用户u对项目i的预测评分,其中,满足:
15.如权利要求14所述的社区信任推荐系统,其特征在于,所述预定条件包括迭代更新次数不超过预定值,或者v不小于预定正数阈值。
16.如权利要求15所述的社区信任推荐系统,其特征在于,所述项目推荐单元进一步包括:
最高预测推荐模块,用于比较用户u对所有项目的预测评分,选取其最大值并将对应的项目j的项目信息Qj推荐给用户u。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428024.6A CN106126549A (zh) | 2016-06-16 | 2016-06-16 | 一种基于概率矩阵分解的社区信任推荐方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428024.6A CN106126549A (zh) | 2016-06-16 | 2016-06-16 | 一种基于概率矩阵分解的社区信任推荐方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126549A true CN106126549A (zh) | 2016-11-16 |
Family
ID=57469574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610428024.6A Pending CN106126549A (zh) | 2016-06-16 | 2016-06-16 | 一种基于概率矩阵分解的社区信任推荐方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126549A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776928A (zh) * | 2016-12-01 | 2017-05-31 | 重庆大学 | 基于内存计算框架、融合社交环境及时空数据的位置推荐方法 |
CN106874355A (zh) * | 2016-12-28 | 2017-06-20 | 浙江浙大网新集团有限公司 | 同时融入社交关系和用户相似度的协同过滤方法 |
CN107122852A (zh) * | 2017-04-24 | 2017-09-01 | 无锡中科富农物联科技有限公司 | 一种基于pmf的微博用户兴趣预测方法 |
CN107577786A (zh) * | 2017-09-15 | 2018-01-12 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
CN108182264A (zh) * | 2018-01-09 | 2018-06-19 | 武汉大学 | 一种基于跨领域排名推荐模型的排名推荐方法 |
CN108228833A (zh) * | 2018-01-04 | 2018-06-29 | 浙江大学 | 一种利用用户倾向性学习解决社区项目推荐任务的方法 |
CN108287904A (zh) * | 2018-05-09 | 2018-07-17 | 重庆邮电大学 | 一种基于社会化卷积矩阵分解的文档上下文感知推荐方法 |
WO2018184395A1 (en) * | 2017-04-07 | 2018-10-11 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for activity recommendation |
CN108737491A (zh) * | 2018-03-23 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 信息推送方法和装置以及存储介质、电子装置 |
CN109102127A (zh) * | 2018-08-31 | 2018-12-28 | 杭州贝购科技有限公司 | 商品推荐方法及装置 |
CN110321492A (zh) * | 2019-06-13 | 2019-10-11 | 华中科技大学 | 一种基于社区信息的项目推荐方法及系统 |
CN110955829A (zh) * | 2019-11-19 | 2020-04-03 | 江西财经大学 | 融合信任度和度量因子矩阵分解的兴趣点推荐方法及系统 |
CN110992124A (zh) * | 2019-10-31 | 2020-04-10 | 贝壳技术有限公司 | 房源的推荐方法及房源的推荐系统 |
US10922717B2 (en) | 2017-04-07 | 2021-02-16 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for activity recommendation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090299996A1 (en) * | 2008-06-03 | 2009-12-03 | Nec Laboratories America, Inc. | Recommender system with fast matrix factorization using infinite dimensions |
CN103793476A (zh) * | 2014-01-08 | 2014-05-14 | 西安电子科技大学 | 基于网络社区的协同过滤推荐方法 |
CN103995823A (zh) * | 2014-03-25 | 2014-08-20 | 南京邮电大学 | 一种基于社交网络的信息推荐方法 |
CN105160539A (zh) * | 2015-06-17 | 2015-12-16 | 南京邮电大学 | 一种概率矩阵分解推荐方法 |
-
2016
- 2016-06-16 CN CN201610428024.6A patent/CN106126549A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090299996A1 (en) * | 2008-06-03 | 2009-12-03 | Nec Laboratories America, Inc. | Recommender system with fast matrix factorization using infinite dimensions |
CN103793476A (zh) * | 2014-01-08 | 2014-05-14 | 西安电子科技大学 | 基于网络社区的协同过滤推荐方法 |
CN103995823A (zh) * | 2014-03-25 | 2014-08-20 | 南京邮电大学 | 一种基于社交网络的信息推荐方法 |
CN105160539A (zh) * | 2015-06-17 | 2015-12-16 | 南京邮电大学 | 一种概率矩阵分解推荐方法 |
Non-Patent Citations (3)
Title |
---|
MOHSEN JAMALI 等: "A Matrix Factorization Technique with Trust Propagation", 《ACM CONFERENCE ON RECOMMENDER SYSTEM》 * |
宋小龙: "基于社会网的冷启动推荐算法设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
郭磊 等: "一种信任关系强度敏感的社会化推荐算法", 《计算机发展与研究》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776928B (zh) * | 2016-12-01 | 2020-11-24 | 重庆大学 | 基于内存计算框架、融合社交及时空数据的位置推荐方法 |
CN106776928A (zh) * | 2016-12-01 | 2017-05-31 | 重庆大学 | 基于内存计算框架、融合社交环境及时空数据的位置推荐方法 |
CN106874355A (zh) * | 2016-12-28 | 2017-06-20 | 浙江浙大网新集团有限公司 | 同时融入社交关系和用户相似度的协同过滤方法 |
WO2018184395A1 (en) * | 2017-04-07 | 2018-10-11 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for activity recommendation |
US10922717B2 (en) | 2017-04-07 | 2021-02-16 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for activity recommendation |
CN107122852A (zh) * | 2017-04-24 | 2017-09-01 | 无锡中科富农物联科技有限公司 | 一种基于pmf的微博用户兴趣预测方法 |
CN107577786B (zh) * | 2017-09-15 | 2019-09-10 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
CN107577786A (zh) * | 2017-09-15 | 2018-01-12 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
CN108228833A (zh) * | 2018-01-04 | 2018-06-29 | 浙江大学 | 一种利用用户倾向性学习解决社区项目推荐任务的方法 |
CN108182264A (zh) * | 2018-01-09 | 2018-06-19 | 武汉大学 | 一种基于跨领域排名推荐模型的排名推荐方法 |
CN108182264B (zh) * | 2018-01-09 | 2022-04-01 | 武汉大学 | 一种基于跨领域排名推荐模型的排名推荐方法 |
CN108737491B (zh) * | 2018-03-23 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 信息推送方法和装置以及存储介质、电子装置 |
CN108737491A (zh) * | 2018-03-23 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 信息推送方法和装置以及存储介质、电子装置 |
CN108287904A (zh) * | 2018-05-09 | 2018-07-17 | 重庆邮电大学 | 一种基于社会化卷积矩阵分解的文档上下文感知推荐方法 |
CN109102127A (zh) * | 2018-08-31 | 2018-12-28 | 杭州贝购科技有限公司 | 商品推荐方法及装置 |
CN109102127B (zh) * | 2018-08-31 | 2021-10-26 | 杭州贝购科技有限公司 | 商品推荐方法及装置 |
CN110321492A (zh) * | 2019-06-13 | 2019-10-11 | 华中科技大学 | 一种基于社区信息的项目推荐方法及系统 |
CN110992124A (zh) * | 2019-10-31 | 2020-04-10 | 贝壳技术有限公司 | 房源的推荐方法及房源的推荐系统 |
CN110992124B (zh) * | 2019-10-31 | 2024-02-27 | 贝壳技术有限公司 | 房源的推荐方法及房源的推荐系统 |
CN110955829A (zh) * | 2019-11-19 | 2020-04-03 | 江西财经大学 | 融合信任度和度量因子矩阵分解的兴趣点推荐方法及系统 |
CN110955829B (zh) * | 2019-11-19 | 2023-05-23 | 江西财经大学 | 融合信任度和度量因子矩阵分解的兴趣点推荐方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126549A (zh) | 一种基于概率矩阵分解的社区信任推荐方法及其系统 | |
CN113010572B (zh) | 基于深度贝叶斯网络的公共数字生活场景规则模型预测预警方法 | |
Cheng et al. | Evaluation methods and measures for causal learning algorithms | |
CN108920503A (zh) | 一种基于社交网络信任度的微视频个性化推荐算法 | |
Rosenbusch et al. | Supervised machine learning methods in psychology: A practical introduction with annotated R code | |
CN108563755A (zh) | 一种基于双向循环神经网络的个性化推荐系统及方法 | |
CN104199818B (zh) | 一种基于分类的社会化推荐方法 | |
CN104851025A (zh) | 一种基于案例推理的电商网站商品的个性化推荐方法 | |
CN106294859A (zh) | 一种基于属性耦合矩阵分解的项目推荐方法 | |
CN107633444A (zh) | 基于信息熵与模糊c均值聚类的推荐系统噪声过滤方法 | |
CN110532429B (zh) | 一种基于聚类和关联规则的线上用户群体分类方法及装置 | |
Sha et al. | A Network‐Based Approach to Modeling and Predicting Product Coconsideration Relations | |
CN111143704B (zh) | 一种融合用户影响关系的在线社区好友推荐方法及系统 | |
CN116244513A (zh) | 随机群组poi推荐方法、系统、设备及存储介质 | |
Wang et al. | A multidimensional network approach for modeling customer-product relations in engineering design | |
CN115840853A (zh) | 一种基于知识图谱和图注意力网络的课程推荐系统 | |
CN113342994B (zh) | 一种基于无采样协作知识图网络的推荐系统 | |
CN110543601B (zh) | 一种基于中智集的上下文感知兴趣点推荐方法及系统 | |
Tian et al. | Clustering‐based multiple imputation via gray relational analysis for missing data and its application to aerospace field | |
KR101708440B1 (ko) | 분산 환경에서 lda 및 능동 학습 기법을 융합한 적응형 아이템 추천 방법 | |
CN117216376A (zh) | 一种基于深度图神经网络的公平感知推荐系统及推荐方法 | |
CN108960954B (zh) | 一种基于用户群行为反馈的内容推荐方法及推荐系统 | |
CN111460318B (zh) | 基于显性和隐性信任的协同过滤推荐方法 | |
Zhang et al. | A factored similarity model with trust and social influence for top-n recommendation | |
CN111667339B (zh) | 一种基于改进递归神经网络的诽谤性恶意用户检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |
|
RJ01 | Rejection of invention patent application after publication |