APP下载

一种融合项目信息与信任机制的协同过滤算法

2022-09-09尹天贺牛存良张养硕

河北工业大学学报 2022年4期
关键词:信任度相似性信任

尹天贺,牛存良,张养硕

(河北工业大学 人工智能与数据科学学院,天津 300130)

0 引言

随着互联网技术的飞速发展,“信息过载”已经成为传统搜索技术不能胜任的难题,如何高效快速地在海量数据中挖掘出有价值的信息成为当今学术界研究的热点。为了解决这一问题,推荐系统应运而生,协同过滤算法是推荐系统中应用最广泛并且最成功的核心技术。然而,协同过滤算法面临着严重的数据稀疏与冷启动问题[1-2],这很大程度上影响了推荐系统的效率。一般而言,传统的协同过滤算法往往基于用户单一的历史行为进行分析,受用户动机和数据稀疏性干扰较强[3],基于社会学中的同质理论[4]和社交影响理论[5],将社交信任机制融入到推荐系统成为了研究热点。Massa等[6]提出一种融入用户显性信任关系的推荐算法,虽然在一定程度上提高了推荐质量,但是信任关系需要用户自己维护;Yang等[7]提出了基于用户信任与被信任机制的社交模型,该模型考虑了用户间信任的方向,将用户特征映射到信任和被信任2个低维的特征空间;余永红等[8]结合了用户的社会地位和项目种类信息,挖掘了不同领域中用户间的信任关系;吴宾等[9]考虑了用户之间的影响传播以及用户的双重影响,将其融入矩阵分解模型,得到了较好的推荐精度;Tang等[10]利用了社交网络的局部与全局信息进行推荐,通过融合不同视角的社会关系提升了推荐效率。

虽然大量研究者已经考虑了用户的社会关系,将用户信任机制融入到推荐算法中,但忽略了2 个问题:1)在不同的领域中,用户的信任对象是不同的,社会地位也有一定差异,通过全局信息计算出的信任度并不能很好地体现用户在不同领域的信任与被信任程度;2)相同用户在面对不同项目时,其偏好程度是不同的,传统方法计算出的用户相似度在面对不同待推荐项目时是不变的,并没有考虑项目信息。为了解决上述问题,本文利用项目种类信息,充分分析用户在不同领域的社会地位及其信任对象,构建特定领域的用户信任网络,然后将项目相似性与用户相似度相融合,利用自适应模型计算用户间综合相似性,挖掘出更加精确的用户近邻信息。

1 推荐问题描述及协同过滤算法

1.1 推荐问题的形式化描述

假设推荐系统中含有M个用户和N个项目,分别构成用户集U={u1,…,um} 和项目集I={i1,…,in},其中,为用户-项目评分矩阵[11],在评分矩阵中,rui表示用户u对产品i的评分,通常情况下评分数据为整数,并且rui∈{0,1,2,3,4,5},评分越高代表用户对当前项目越满意,Iu(Iu∈I)为用户u评过分的项目集,Uj(Uj∈U)为对项目j评过分的用户集。在CF-PIC中,将项目按照类别进行分类,原始用户-评分项目矩阵R根据数据集中的项目标注字段(categoryid)分为,其中k为评分数据集中项目类别的数量。

1.2 协同过滤算法的基本流程

协同过滤算法利用用户历史行为信息挖掘出目标用户的最近邻集合,根据该集合中近邻用户对某一项目的评价信息向目标用户进行推荐,其一般流程包含:构建评分矩阵、获取用户相似度、形成近邻、产生推荐[12],其中,如何更加客观准确地获取用户相似度是当前研究工作的重点。

1.2.1 用户相似度的计算

在协同过滤算法中,描述用户间相似性的指标主要有2种:余弦相似度和Pearson相关系数,由于Pear⁃son相关系数拥有更好的中心化特性,其相较于余弦相似度拥有更加精确的衡量效果[13]。本文对Pearson 相关系数进行改进,提出融合项目信息的用户相似度,经典的Pearson相关系数定义为

式中:Iuv表示用户u与用户v共同评分项目集;rui为用户u对项目i的评分;分别表示用户u和用户v的评分均值。

1.2.2 评分预测

协同过滤算法认为,如果某些用户在一类项目上拥有较为相似的评分,则认为他们在系统内的其他项目上也具有较高的相似度;根据式(1)计算出系统内用户间相似度,构成目标用户u的最近邻集Su,利用Su中的用户评分信息预测用户u对目标项目i的评分:

2 本文CF-PIC 算法

近年来,大量研究者已经将用户信任机制融入到推荐算法中。相较于传统的协同过滤算法,考虑了用户社会关系的推荐算法得到了大量应用。但是,已有的研究工作认为在各个领域内用户的地位是相同的,并且,用户相似度的计算方式也比较简单,并没有充分考虑相同用户在面对不同项目时的偏好差异,这在很大程度上降低了推荐算法的效率。虽然郑洁等[14]考虑了项目间的差异对于用户的影响,但其研究局限于全局信息,在细分领域内并未研究。因此,本文充分考虑了领域间信任差异和项目间用户相似性差异的影响,提出一种融合项目信息与信任机制的协同过滤算法(CF-PIC)。

首先,CF-PIC算法将系统内项目按照各自所属领域进行划分,对不同领域的数据进行独立分析,挖掘用户在各个领域的社会地位及推荐准确性,利用调和平均比重动态确定用户在特定领域的综合信任网络;然后,根据用户历史评分信息度量项目间相似度,并将其融入到用户相似度的计算中,以更加精确的区分相同用户组面对不同项目时的相似度差异,系统获得更加准确的用户近邻信息;最后,对目标用户进行TOP-N推荐。

2.1 信任模型

本文充分考虑用户的局部信任与全局信任信息,更全面挖掘出用户间的综合信任度,其中局部信任度体现了用户间的偏好与评分水平差别。此外,研究表明用户更倾向于“专家”的意见[15],全局信任度则体现了用户在某个领域内的声誉,将局部和全局信任度进行加权调和,使该算法能够更加精确地度量用户间的信任关系。

2.1.1 局部信任度

在之前的研究中,大部分用户信任网络的建立是基于用户间共同评分或共同好友进行的,这在数据稀疏时,算法性能极度下降。陆坤等[12]认为用户相互推荐的准确性在很大程度上能够反映用户间的偏好差异,但其用于判定的阈值是固定的,并不能客观表示不同用户对于正确推荐的定义差异,本文的局部信任度对此进行改进,将用户间做出的正确推荐定义为正向推荐,并且将不同用户对于某一项目的相似性融入到正向推荐的判断中。本文的局部信任度定义如下:

2.1.2 全局信任度

一般情况下,推荐系统中用户的评分数量越多,则其影响力越大,并且随着评分经验的不断积累,其评分质量也会越来越高,更易获得他人信任。因此,用户的个人活跃度定义如下:

在推荐系统中,用户评分项目数所占类目内总项目数的比重越大,或平均偏差越小,则认为用户评分越准确,信誉度越高。用户的全局信任度定义如下:

2.1.3 综合信任度

综合以上分析,同时考虑用户的局部信任度和全局信任度,可以更加客观准确地描述用户间的信赖程度。因此,用户综合信任度定义如下:

式中:α∈[0,1] 为调和因子,由于不同用户对局部和全局信任度的依赖程度不同,固定的调和因子不能很好地满足系统内所有用户的偏好需求,因此,本文采用自适应模型更新α,通过实际条件的变化动态调整全局信任度和局部信任度的比重,进一步加强系统适应性,α值的表达式如下:

2.2 融入项目信息的用户相似度

研究表明,一组用户在面对不同项目时,其相似度是不同的。但是,在已有的信任推荐网络中,用户相似度的计算方式并没有充分结合目标项目信息,对所有待推荐项目进行评分预测时,目标用户及其邻居用户的相似度是恒定不变的。例如,式(2)中用户间的相似度在面对不同目标项目时都是sim(u,v),这种方式极大地降低了推荐系统的效率。因此本研究将项目相似性融入用户相似性度量中。其中,项目相似性定义如下:

式中:Uij为对项目i和j同时评分的用户集合;则表示项目i和项目j所获得的所有评分均值,在计算用户相似度时充分考虑不同项目对其值的影响,将项目间的相似度SI(i,j)融入到式(1)所示的皮尔逊相关系数中,生成融入项目信息的用户相似度,其定义如下:

式中:ck为项目i所属种类,用户共同评分的种类为ck的项目集合为利用目标项目的相似度计算用户u和用户v在项目i上所具有的相似度simi(u,v)。一般情况下,一对用户对于目标项目的偏好差异越小,其用户间相似程度越高,因此,在进行评分预测时可以获得较高的权重。

2.3 综合相似性

本文给出的用户综合相似性,同时考虑了融入项目相似权重的用户相似度和用户综合信任度,这两方面在系统综合相似性中所占的比重由调和平均比重动态决定。最终得出的用户u和用户v在项目i上的综合相似性定义如下:

2.4 评分预测

将本文得出的综合相似性替换传统协同过滤算法中的用户相似性,根据公式(13)对目标项目进行融入多维项目信息与用户信任的评分预测,进而进行TOP-N推荐。

3 实验与分析

为了验证融入项目信息与信任机制的协同过滤算法性能,本文在真实的数据集上进行了大量实验,并与经典的协同过滤算法和融入单一要素的推荐算法进行多维对比分析。

3.1 实验数据集

本实验利用真实的Epinions 数据集验证CF-PIC算法的性能。Epinions 是国外专业的产品评论与社交网站,该网站提供了丰富的产品评分与评价信息,并在某一产品的全部评分中整理并挑选出信誉度最高的评论。Epinions 中用户对产品的评分表示三元组为:(uid,pid,categoryid),其中categoryid 表示被评分项目的类别[16],即为本文上述中的catk值,例如,其产品按照类别分为电影类、数码产品类和书籍类等。

本文使用的Epinions 数据集包含922 267 条评分、22 188 名用户和296 399 个产品,其中共有27 个产品类别,用户涉及到的产品类别数量的分布情况如图1所示,由于用户评分记录遵循长尾分布,可以观察到80%的用户所涉及到的产品类别少于10类,这表明了单个用户感兴趣的项目类别是非常有限的,证明了本文引入项目类别信息计算用户信任度与相似度的必要性,本文选取“Movie”,“Books”,“Education”3个类别的数据验证本文所提出的CF-PIC算法。

图1 用户涉及产品类别数量的分布Fig.1 Distribution of the number of users involved in product categories

3.2 评价指标

实验使用当前被广泛使用的平均绝对误差(mean absolute error,MAE)和均方根误差(root mean square error,RMSE)衡量各类算法的精度,MAE定义如下:

式中:N为样本个数;MAE 表示符合条件的所有单一预测评分与全体评分算术平均值的偏差绝对值[17],MAE值越小,表明该算法拥有更好的推荐性能。RMSE则表示单一预测评分与真实评分偏差的平方与样本个数N比值的平方根,反映了预测评分与实际评分之间的差异,RMSE定义如下:

此外,实验对各类算法的召回率和覆盖率进行分析,在工程领域中,召回率和覆盖率是衡量推荐算法经济性的重要指标,召回率表示用户喜欢的项目被系统推荐的概率,覆盖率表示系统所推荐项目占全部项目的比例,其大小反映了算法解决长尾问题的能力。

3.3 实验结果及分析

根据经验,分别在3个类目的项目中随机选取80%的数据作为实验训练集,20%的数据作为实验测试集,并且采用五折交叉验证方法进行实验,每组实验独立选取数据集和训练集并运行5次,获取其平均值作为该实验的最终结果。

为了对比各类算法的性能,将本文提出的融入项目信息与信任机制的CF-PIC算法与经典的协同过滤算法CF、融入单一要素的基于用户信任的推荐算法CF-T、基于兴趣的推荐算法CF-I进行对比,依次对目标用户选取不同的最近邻个数K,得到各类算法在不同K值时的推荐误差MAE与RMSE值,其对比分析结果分别如图2和图3所示。

图2 不同算法的MAE 值比较Fig.2 MAE value comparison of different algorithms

图3 不同算法的RMSE 值比较Fig.3 RMAE value comparison of different algorithms

由图2、图3可知,当选取的用户近邻数K逐渐增大时,各个算法的MAE和RMSE值都呈先降后升的趋势,这是由于过少的近邻会使推荐系统所获得的信息过于稀少,而过多的近邻则会对推荐系统造成干扰,影响目标用户的信息表示。本实验中,在目标用户邻居数为30左右时,各类算法的MAE与RMSE值达到最优。如图2所示,本文提出的融合项目信息与信任机制的协同过滤算法CF-PIC的MAE值最小达到了0.69,相较于传统的协同过滤算法CF、融入信任的协同过滤算法CF-T和融入兴趣的协同过滤算法CF-I分别提升了11.54%、4.2%和10.37%,如图3 所示,本文CF-PIC 算法的RMSE 值最小达到了0.91,相较于CF、CF-T和CF-I算法分别提升了7.14%、4.21%和9.01%。

同样采取五折交叉验证方法,取目标用户邻居数为30,进一步对比各类算法的召回率与覆盖率,如表1所示,本文提出的CF-PIC算法的召回率相较于CF-I、CF-T和CF分别提升了1.4%、1.2%和2.5%,证明了本研究通过在用户相似度中融入项目信息可以获得较好的用户反馈;同样,CF-PIC 的覆盖率也分别提升了1.2%、0.9%和1.9%,证明了本研究在深入挖掘用户间信任关系的同时,并没有发生严重的拟合现象,反而由于充分考虑了项目的分类信息,使得覆盖率得到了一定提高。由此可见,综合考虑多维项目信息的情况下,将改进的用户信任评测模型融入到协同过滤算法,可以显著提高推荐系统的性能,证明了本研究的价值。

表1 不同算法的召回率和覆盖率对比Tab.1 Comparison of recall rate and coverage rate of different algorithms

4 结语

为了更好地解决协同过滤算法中用户偏好表示区分度过低和用户信任领域模糊问题,本文结合项目的评分信息和类别信息,综合考虑不同项目领域中用户社会地位及推荐准确性的差异,利用调和平均比重将用户的全局信任度与局部信任度相融合,动态的构建了用户在特定领域的信任网络;并且进一步将项目相似度融入到传统的用户相似度计算函数中,挖掘出不同项目间用户相似度的差异。通过科学的实验验证,相较于传统的协同过滤算法和融入各类单一信息的推荐算法,本文中提出的CF-PIC算法较为明显地提高了系统的推荐准确度,使系统效率得到大幅提高。在今后的研究中,将重点挖掘时间信息和注意力机制对推荐系统的影响。

猜你喜欢

信任度相似性信任
一类上三角算子矩阵的相似性与酉相似性
浅析当代中西方绘画的相似性
全球民调:中国民众对政府信任度最高
嘤嘤嘤,人与人的信任在哪里……
低渗透黏土中氯离子弥散作用离心模拟相似性
汽车养护品行业运行环境分析及提高客户信任度的途径
信任
2014,如何获得信任
V4国家经济的相似性与差异性