APP下载

融合多视角信任的个性化推荐算法

2020-10-20任志波王亚文魏翔宇管成康

关键词:信任度信任矩阵

任志波,王亚文,魏翔宇,管成康

(1. 河北大学 文科综合实验中心,河北 保定 071002;2. 河北大学 管理学院,河北 保定 071002;3. 东北石油大学 人文科学学院,黑龙江 大庆 163318;4. 厦门大学马来西亚分校 信息科学与技术学院,马来西亚 雪兰莪州沙叻丁宜 43900)

解决传统协同过滤推荐算法中存在的数据稀疏和用户冷启动问题,提高算法推荐的准确度,一直是该领域的研究热点.引入社交信任和评分中存在的信任关系,是一种尝试.文献[1]定义了内部相似性和外部相似性,用户评分数据之间的相似性为内部相似性,用户属性信息之间的相似性为外部相似性,相似性信任度是对两者的综合,计算中也利用了社交信任度.文献[2]做法类似.文献[3]使用用户两级好友之间共同好友个数来计算信任度.文献[4]在计算用户之间信任时,利用了信任值和共同评分项目,并对用户共同评分项目设定了阈值,并考虑了用户的情感偏好.该算法存在的问题是,用户的信任值只有信任和不信任2个,实际信任值无法准确衡量.文献[5]定义用户间的信任度为通信时长和通信次数的综合,但没有考虑信任有向性.文献[6]定义用户间的评分信任度为兴趣相似用户的预测评分与实际评分的偏差均值,并使用评分信任度来进行推荐,该办法在一定程度上提高了推荐的准确性,但仍旧不能很好处理用户冷启动和数据稀疏问题.目前引入社交信任的推荐算法大体分为2种:基于内存和基于模型的算法.基于内存的信任推荐算法可以在一定程度上缓解了数据稀疏和用户冷启动问题对推荐精确度的影响[8-12].

2007年,Salakhutdinov等[7]提出概率矩阵分解算法,该算法灵活性较高,不受数据稀疏的影响并且可扩展性较好.许多研究者在其基础之上进行构建基于社交关系的推荐模型,提出了SoRec[8]、RSTE[9]、SocialMF[10]、SoReg[11]等经典的推荐算法.Guo等[12]提出了关于在线社交网络隐私保护的推荐算法.Wang等[13]提出一种将社会信任和项目关系结合到PMF中的新颖推荐方法.文献[14]在计算信任度时综合考虑了用户的局部信任度和全局信任度.文献[15]计算间接信任度时使用了加权信任权重.文献[16]提出的CRMF算法利用了自适应社会正则化的矩阵分解模型,并在其中通过关联规则来计算项目之间的关联关系,文献[17]将该信任关系度添加到概率矩阵分解模型中,提出了Strength MF算法.在个性化推荐算法中引入社交信任关系,在推荐效果上比传统算法更优秀,也一定程度上解决了协同推荐算法面临的数据稀疏、用户冷启动、抗攻击能力低、可扩展性差等缺陷[18].

在前人研究的基础上,本文综合了文献[2-3,6,14]的研究,使用改进的K最近邻算法计算兴趣相似用户,相似用户的阈值为相似度均值,以用户的评分信任程度计算评分可靠性,在目标用户的两级信任用户内计算社交信任度,最后将社交信任度和评分信任度进行加权计算,并融入到概率矩阵分解算法中,实现评分预测.实验表明该算法相比前人这些算法取得了较好的效果.

本文的贡献在于将用户间的评分信任度和社交信任度进行加权计算综合信任度,并在概率矩阵分解模型中利用综合信任度,这对于算法的精度和可扩展性有显著的提高,对评分数据的稀疏问题也有一定效果.

1 相关工作

1.1 协同过滤推荐

协同过滤推荐算法是通过计算用户或项目间的共同评分历史数据来实现对目标用户的推荐.为保证推荐项目的新颖性,常采用基于用户的推荐算法.

在用户评分数据库中M个用户u构成用户集合U={ui|i=1,2,…,M},N个项目ν构成项目集合V={νj|j=1,2,…,N},用户对项目的评分数据构成M×N阶评分矩阵

R={Rij|i=1,2,…,M;j=1,2,…,N},

Rij表示用户ui对项目νj的评分,若用户ui没有对项目νj进行评分,则Rij=0.用户ui和用户uk的共同评分项目构成项目集合Iik,

Iik={νj|Rkj≠0∩Rij≠0,νj∈V}.

在计算用户间的评分相似性sim(ui,uk)时,常用的度量方法有皮尔逊相似系数,见公式(1),余弦相似度,见公式(2).

(1)

(2)

接着采用K-NN算法选取目标用户的K个最近邻,进而利用公式(3)对目标用户的评分进行预测.最后向目标用户推荐预测评分top-N的项目.

(3)

协同过滤推荐算法在达到个性化推荐的同时,也存在着一些问题:1)存在新用户或新项目的冷启动问题.2)基于内存的推荐受历史数据的规模和稀疏性影响较大.3)K-NN算法的准确性受K值影响较大,从而影响准确度.4)基于模型的推荐算法受模型的建立和更新周期影响较大,结果可读性较差.

为此采用将基于内存和基于模型的算法进行有机融合,使算法能够有效地发现新颖度比较高的项目,并且可以提供易于理解的推荐解释;同时,不仅有效缓解数据稀疏的问题,而且增强推荐系统的可扩展性,提高预测的精度.通过设定用户间相似度的均值作为近邻用户选取时相似度的阈值,以解决传统K-NN选取的不足.

1.2 信任研究

传统的推荐算法假定用户间是相互独立的,而在现实生活中用户间的社会关系会在一定程度上影响对产品的最终选择,充分利用用户之间的信任关系,将有助于提高协同过滤推荐算法推荐的准确性.

信任关系在社交网络中,一般用如图1所示的信任网络图标识.信任关系具有如下属性:

1)传递性.如用户u1通过对u2的信任也会对用户u5产生一定的信任.

2)非对称性.如在信任网络图1中,用户u2对用户u5的信任度为1,u5不信任u2,信任是有向的,因此对应的信任矩阵也是非对称的.

图1 信任网络Fig.1 Trust network

3)动态性.用户间的信任是会变化的,如时间因素、领域知识的更新等都会改变用户间的信任关系.

4)模糊性.用户间信任的程度是模糊的,难以准确计算或衡量.

2 多视角信任推荐

多视角信任模型结合了用户间评分信任以及利用社交网络的传播特性确定的社交信任,在概率矩阵分解技术上通过对传统协同过滤的改造而建立的.

2.1 评分信任推荐

2.1.1 兴趣相似用户获取

(4)

(5)

计算兴趣相似用户的算法如下.

输入:用户-项目评分矩阵R,目标用户ui

输出:目标用户ui的兴趣相似用户集Interest(ui)

Begin

1)sum←0,Interest(ui)←Ø

2)C(ui)←{uk|Iik≠Ø,uk∈U}

3)forukinC(ui)do

4)sim(uk,ui)←formula(1)

5)sum←sum+sim(uk,ui)

6)endfor

8)forukinC(ui)do

10)Interest(ui)←uk∪Interest(ui)

11)endfor

12)returnInterest(ui)

End

2.1.2 计算评分信任度

根据历史评分数据,如果依据一个和目标用户在共同评分项目上相似的用户进行推荐,如果推荐的准确率越高,则这个用户的评分信任度越大,说明这个用户和目标用户兴趣相似,即兴趣相似用户,利用该用户进行推荐,其可靠度是其在各个共同评分项目上可靠度的均值.

(6)

(7)

最后,由公式(8),计算出ui对uk的整体评分信任度,即用户ui对uk在所有共同评分项目上的评分信任度的平均值,

(8)

获取用户间的评分信任度的算法.

输入:用户-项目评分矩阵R,目标用户ui,预测评分偏差阈值ε,兴趣相似用户集Interest(ui)

输出:兴趣相似用户uk相对目标用户ui的评分信任度rtik

Begin

1)Iik←{νj|Rkj≠0∩Rij≠0,νj∈V};

2)ifIik=Øthen

3)rtik←0

4)else

5)foreachuk∈Interest(ui)do

8)endfor

9)rtik←formula(8)

End

2.2 社交信任推荐

根据用户之间的信任数据构建社交信任网络,如图2所示,根据用户间的信任度构成不对称的社交信任矩阵T,为有效利用信任数据的同时降低算法复杂度,目标用户的社交信任用户选取一级和二级信任用户. 在信任网络图中,若2个用户存在直接相连的边,则为一级信任用户,则二者之间的连接权重即为其社交信任度,见公式(9).

图2 用户间多条路径信任Fig.2 Multiple path trust graphs between users

stik=tik.

(9)

在k是i的二级信任用户时,用户i对用户k的社交信任度计算公式,当从i到k只有一条路径,用公式(10)计算,即用信任权重加权乘积的方法取得

stik=taktia.

(10)

如从i到k存在多条路径,用户i对用户k的社交信任度就是各条路径的社交信任度中的最大值,用公式(11)计算

stik=max(taktia,tbktib,…).

(11)

用户间的社交信任度的算法如下.

输入:用户-用户信任度矩阵T,目标用户ui,候选社交信任用户uk,ui一级用户集dir(ui),ui二级用户集indir(ui)

输出:目标用户ui对候选社交信任用户uk的社交信任度stik

Begin

1)ifukindir(ui)do

2)stik←formula(10)

3)elifukinindir(ui)do

4)stik←formula(11)

5)else

6)stik←0

End

2.3 多信任推荐

为了解决数据稀疏问题,提高推荐的准确率,通过自适应权重将评分信任和社交信任进行分段融合,得到用户k对用户i的推荐权重wik,有

(12)

2.4 综合推荐

在确定信任推荐用户后,PMF模型结合评分信息和综合信任信息,这样在计算用户对项目的评分预测时,可以充分利用用户、项目的特征矩阵和用户间的综合信任,计算用户i对项目j的预测评分为

其中Ni为用户i的推荐用户集,wik是用户i对推荐用户k的综合信任度,可以根据公式(12)计算,α是组合自适应权重,Ui、Vj分别为用户和项目的特征矩阵,分别服从期望为0,方差为σUI,σVI的高斯分布,即

则用户对项目的评分R满足条件概率

通过计算项目特征矩阵,用户的后验概率为

取对数后有

计算最大值可转化为计算损失函数最小值,即

3 数据实验及结果分析

3.1 实验数据及环境

为验证算法的有效性,选择Filmtrust电影推荐网站上的真实数据集进行数据实验,该数据集中包含1 508个用户对2 071部电影的35 497条评分数据,其中最低评分值为0.5,最高评分值为4.0,数据的稀疏性达98.87%,另外还包括1 642个用户之间1 853条信任数据.

实验的运行环境为Win7 64位,Intel(R) Core(TM) i3-6100 CPU @3.70GHz,Pycharm,Python3.6.采用推荐算法测评常用的平均绝对误差(MAE)和均方根误差(RMSE)作为评估标准.

3.2 实验效果分析

为充分证明MT-PMF算法的有效性,设计横向对比和纵向对比实验. 对于纵向对比,即MT-PMF模型中自身参数对算法效果的影响. 需要考虑的参数有:偏差阈值、系统中2个用户共同评分项目数、最小值nmin、最大值nmax、预测评分中自身评分偏好的影响程度α、迭代次数d.在查看参数对推荐算法精度的影响时指定特征矩阵维度为5.

由图3和图4分别可以看出偏差阈值ε在1.4时RMSE和MAE均取得最小值.

图3 偏差阈值对RMSE的影响Fig.3 Influence of deviation threshold on RMSE

图4 偏差阈值对MAE的影响Fig.4 Influence of deviation threshold on MAE

图5和图6分别表示迭代次数对RMSE和MAE的影响,从图5、6中可以看出,RMSE和MAE随着迭代次数的增大越来越小,推荐的精确度越来越好,并最终趋于稳定.

图5 迭代次数对RMSE的影响Fig.5 Influence of the number of iterations on RMSE

图6 迭代次数对MAE的影响Fig.6 Influence of the number of iterations on MAE

图7和图8分别表示α对RMSE和MAE的影响,由图可知在预测评分时,相比于用户自身偏好的依赖,系统更依赖于综合信任,原因可能是在综合信任的计算时融合了兴趣相似用户带来的评分信任,为此,综合信任的重要性加强了.

图7 评分偏好程度α对RMSE的影响Fig.7 Influence of rating preference on RMSE

图8 评分偏好程度α对MAE的影响Fig.8 Influence of rating preference on MAE

图9和图10分别表示最大评分项目数nmax对RMSE和MAE的影响.在实验中首先确定nmin为0,nmax从5取值,随着nmax的增加,算法的误差也在不断的增加,因此nmax的最优值确定为5. 固定nmax,观察nmin的变化对精度的影响,nmin从0到4变化时,取0时为最优.

图9 nmax对RMSE的影响Fig.9 Influence of nmax on RMSE

图10 nmax对MAE的影响Fig.10 Influence of nmax on MAE

将MT-PMF算法与PMF算法及经典的信任推荐算法SoReg、SoRec、SocialMF、RSTE分别进行对比,测试随机选取Filmtrust数据集中90%的数据为训练集,并进行10折交叉验证,表1和表2为不同特征矩阵维度(dimension)时各算法的RMSE和MAE值.

表1 5维特征矩阵时各算法的误差Tab.1 Error of the algorithms by using 5-dimensional feature matrix

表2 10维特征矩阵时各算法的误差Tab.2 Eeeor of the algorithms by using 10-dimensional feature matrix

通过表1、表2中的实验结果可以看出,对比PMF模型,考虑用户间社交信任的推荐效果要优于未考虑社交信任的推荐效果,这可以说明,在推荐算法中结合用户的社交信任可以大大提高推荐的准确率.对比其他4种信任模型,MT-PMF综合考虑了用户间的信任,也考虑了评分数据产生的信任,显示了评分信任和用户信任对提高推荐算法精度的有效性.

4 总结

本文同时考虑用户评分数据产生的信任度和用户间社交信任度以确定用户间的综合信任度,然后融合评分数据和综合信任于概率矩阵分解模型中,提出一种融合多角度信任的推荐算法,该算法进一步改善了推荐的效果,为推荐算法研究提供了一个新的思路.融合信任关系的推荐算法还有很大的研究空间:从推荐算法研究的深度考虑,可以进一步将时间因素引入到信任模型[19-20];也可以在评分预测时加入电影的辅助信息,如明星、影评、导演、电影类型等,进行基于协同过滤的包含电影内容的混合推荐;还可以利用深度学习模型[21],来学习电影的海报或画面内容. 从推荐算法外延考虑,可将算法推广到其他领域,如现在发展迅速的短视频领域等.

猜你喜欢

信任度信任矩阵
全球民调:中国民众对政府信任度最高
多项式理论在矩阵求逆中的应用
嘤嘤嘤,人与人的信任在哪里……
矩阵
矩阵
矩阵
汽车养护品行业运行环境分析及提高客户信任度的途径
信任
2014,如何获得信任