一种基于信任度和研究兴趣的学者推荐方法∗
2019-03-26孙赛美林雪琴李春英
孙赛美 林雪琴 彭 博 李春英 汤 庸
(1.华南师范大学计算机学院 广州 510631)(2.广东技术师范大学计算机科学学院 广州 510665)
1 引言
近几年,中国互联网发展迅猛,现在已经进入了大数据时代和社交网络交互的时代,社交网络的迅速发展和多样化都是这个时代的鲜明特点[1]。文献[2]指出,2016年各类社交应用持续稳定发展,尤其针对不同场景、不同垂直人群、不同信息承载方式的细分社交平台进一步丰富,向创新、小众化方向发展。学术社交网络是一种面向学者科研的细分类社交网络平台,旨在打造专属学术、科研工作者的交流平台,增强学者间交流效率,更好地促进学术科研的研究发展。学术社交网络的规模迅速扩大,带来了信息过载和数据稀疏等问题,导致一般用户难以发现自己感兴趣的并和自己拥有相似兴趣的用户。能否帮助用户顺利建立自己的社交圈,给用户推荐可能成为好友的用户,不仅影响用户的使用体验,也关系到用户对社交网站的粘性和忠诚度。因而针对如何为用户提供个性化推荐的问题,学术界进行了大量的研究。
文献[3]提出了一种基于信任社交圈的好友推荐,通过将信任度融合到社交圈重叠程度的计算中从而为用户进行好友推荐。文献[4]提出了一种基于社会关系的社交网络好友推荐算法,首先通过关联规则分析用户的隐含关联度构建关系转移矩阵,再综合考虑社会关系和用户影响力,从而给出最终推荐。文献[5]提出了一种基于兴趣社区和信任邻居的推荐方法,通过语义本体构建兴趣社区,在兴趣社区的基础上计算用户需求偏好同时构建信任邻居集合,最终将两者集成后为用户进行精准多样的推荐。
上述推荐多针对综合类的社交网络,不是专门面向细分类的社交网络,因此本文针对学术社交网络提出了一种基于信任度和研究兴趣的学者推荐方法,利用用户在社交网络中的交互和三度影响力理论计算用户之间的信任度,再结合用户研究兴趣的相似度来为用户推荐可能成为好友的学者。综合用户交互和三度影响力的信任度,不再单独以用户之间的好友关系和路径条数来衡量用户间的关系,提高了度量用户关系的准确性,同时将用户的潜在好友集扩展,缓解了数据稀疏问题,另外综合考虑用户的研究兴趣,从而提升了学者的推荐效率。
2 相关研究
目前针对社交网络的个性化推荐已经有很多的研究,主要的推荐算法包括三种,协同过滤推荐[6~13]、基于内容的推荐[14~16]和混合推荐[17~22]。协同过滤(Collaborative Filtering,CF)最早是由Goldberg等提出的,现在常用的协同过滤的算法分为基于用户的协同过滤算法、基于项目的协同过滤算法和基于模型的协同过滤算法。文献[6]提出了一种通过将项目分裂后根据上下文维度进行聚类,再根据协同过滤的算法进行未知评分预测的推荐方法。文献[7]在计算相似度时充分考虑了评分时序带来的用户之间的影响力和用户评分差异的加权信息熵,并对融合参数采用随机粒子群的算法确定,从而提高了推荐质量。文献[8]在计算项目评分时综合考虑项目特征对评分的影响,形成粒化的评分矩阵,并在推荐过程中考虑误分类成本、学习成本和评分偏好形成三支推荐。基于内容的推荐,根据用户评分过的历史项目信息,为用户的兴趣建立模型,是针对用户的个性化的兴趣模型,对于推荐目标项目,不需要参考其他用户对该项目的评分,只需要将项目的相关信息与用户的兴趣模型进行匹配,最终推荐匹配度最高的项目。文献[14]是基于内容过滤和语义相似来进行推荐,首先基于内容的向量空间滤波建立过滤推荐模型,再结合谷歌的PageR-ank算法进行资源类型划分,得到特征的马尔科夫收敛矩阵,最后将结果进行TOP-K推荐。基于内容的推荐算法在内容的获取方面存在一定的限制,另外推荐的多样性方面也存在一定的不足。混合推荐融合了多种推荐方法,集各自优点于一身,相较于单项推荐,应用混合推荐算法的推荐效果更优。目前常用的混合推荐算法包括几种常用的混合方式,加权(weight)、变换(switch)、混合(mix)、特征组合(feature combination)、层叠(cascade)、特征扩充(feature augmentation)、元级别(meta-level)。文献[17]提出了一种融合好友关系和标签信息的混合推荐,首先提取社交网络结构化信息特征,再利用TF-IDF构建社会化标签模型,最后线性融合两方面进行推荐。文献[18]提出了基于相似度及信任度的关联规则推荐算法STA,该算法在优化数据挖掘和数据集遍历时间的基础上,利用出入相似度定义用户信任度,有效解决了新浪微博未提供显示信任关系的问题。但是在社交网络中用户的信任度更多的反应用户的交互行为中,而该算法并未考虑到这点,对此本文提出了基于用户交互行为的信任度计算方法。
3 基于信任度和研究兴趣推荐方法
现有的好友推荐更多都是依赖用户的好友关系和用户数据,但随着社交网络规模的不断扩展,数据会呈现一种稀疏性。例如会出现少数用户与很多用户存在好友关系,而大多数用户好友关系很少,导致大部分用户的好友关系数据稀疏。三度影响力将好友联系的范围拓展,是一种有效的解决数据稀疏性的办法。在平静的湖面掷一颗石子,水波会均匀的向四面传播,然而社交网络并不是平静的湖面,用户对好友的影响是不能同等传递的,也就是说用户对每个好友的关系并不是等同的,而是存在亲疏之分的,因此社交关系的信任度是一个很好的衡量两个用户之间关系亲疏的指标。此外,社交网络中用户的基本信息可能存在着不详细或未及时更新等问题,因此对于用户的研究兴趣,本文通过对用户的学术成果进行主题模型训练,从而得到较为准确的研究兴趣相似度。最后将用户的信任度和研究兴趣进行融合,从而给出最终的推荐。该方法的主要步骤包括,首先构建社交网络,发现用户原有的好友关系,根据好友关系建立好友关系列表;其次,依据用户在社交网络中的社交交互,计算好友间信任度;之后根据用户好友列表数据,挖掘用户三度以内的好友关系列表,并计算出用户之间三度内的好友信任度;然后再通过LDA主题模型得到用户研究兴趣,进而计算研究兴趣相似度;最后融合好友关系信任度和研究兴趣相似度得到综合相似度,选取综合相似性最高的TOP-N用户进行推荐。
3.1 基于三度影响力的好友信任度计算
3.1.1 好友间信任度模型
社交网络中,一个用户可能会存在成百上千个好友关系,在这些关系中,用户的交互往往呈现多样性,有的交互紧密,有些偶尔点赞,有些可能仅是互为好友,这也就反应了好友之间的信任度是不同的。文献[23]将用户之间的信任分为两部分:1)认识信任:用户不会添加自己完全不了解的陌生人为好友,因此用户建立好友关系时,可以认为两个用户已经产生了基础的信任;2)交互信任:用户在社交网络中发生过交互行为,而且用户之间的社交网络交互行为越多,则两个用户之间信任度越高。本文依据这两种信任来计算用户之间的信任度,但是考虑到两个用户中交互信任占主要比重,因此本文将仅存在认识信任,即两个用户仅互为好友,并不存在交互行为时,将两者的信任度取值为认识信任,当两者都存在时,取值交互信任。信任度的计算公式如式(1)所示:
公式中,Fr(u,v)表示用户u对用户 v的信任度,其由两种情况构成:Kr表示用户u对用户v的为认识信任,相对于交互信任来说认识信任对用户的影响力很小,在本文中设为定值为0.01;Ir(u,v)表示用户之间的交互信任,即通过用户在社交网络中的交互行为,包括动态的评论、转发和点赞以及在线聊天和站内邮件通信等五项指标计算用户之间的信任度。各项交互行为的信任度计算公式如式(2)~(6)所示。
其 中 Cr(u,v)、Tr(u,v)、Zr(u,v)、Chr(u,v)、Er(u,v)分别表示用户u对用户v的评论交互信任、转发交互信任、点赞交互信任、在线聊天交互信任和邮件通信交互信任,Ic(u,v)、It(u,v)、Iz(u,v)、Ich(u,v)、Ie(u,v)为别为用户 u 对用户 v 的评论量、转发量、点赞量、在线聊天量、邮件通信量,i为与用户u有交互的用户。公式中分子分别表示各种交互的量,分母为各项交互的最大值。根据以上交互行为信任度,综合得到交互信任度Ir,公式如式(7)所示:
式(7)中α,β,γ,λ,μ为各项交互的融合参数,参数之和为1。可以根据不同网站的交互形式比重进行参数调整,通过上述模型定义可以计算出两个好友之间的信任度。
3.1.2 三度内好友信任度
社交网络一般可以由图G(V,E)表示,用顶点集V表示社交网络中的用户集,用边集E表示用户之间的好友关系,即用户之间存在好友关系,则在图中,两个顶点之间存在边关系。如图1所示为一个虚拟的带权无向社交网络图,其中1~14表示用户U1~U14,节点之间的连线表示好友关系,边的权重表示好友之间的信任度。
LD extended beyond these de finitions are classi fied as D2 +. Their effectiveness remains controversial;therefore, they are currently not recommended for routine use in clinical practice[13].
图1 虚拟带权无向社交图
要计算三度内的好友信任度,首先要找到用户间的二度和三度好友路径,并排除其中无意义的路径和回路。具体方法如下:首先,根据网络结构可以得到用户好友列表,将出现在同一个用户好友列表中的节点,每两个组成一个节点对,例如用户U1的好友列表包含 U2、U3、U4、U5、U6、U7,则存在好友对:<U2,U3>、<U3,U2>、<U2,U4>……,因为本社交网络中好友关系为互为好友而不是微博中的存在单向关注,所以每两个节点对应两个节点对,每个节点对就是一个二度好友关系,二度好友关系的中间节点即为当前好友节点,记为<U2,U1,U3>、<U3,U1,U2>、<U2,U1,U4> ……,这样便可以得到全部的二度好友关系。将得到的二度好友关系与好友关系原节点即已存在的一度好友关系,进行头节点匹配,如果匹配成功,则两个尾节点之间存在三度好友关系,即头结点为路径上的另一个节点,例如存在二度关系<U2,U1,U3>,原好友关系存在<U2,U8>,则可以合并成一个三度好友关系<U8,U2,U1,U3>,其中U2、U1为三度好友关系的中间节点。依据该方法可以得到所有好友关系中的二度及三度的好友关系。为了避免好友关系中出现无意义的回路等不必要的数据影响,在计算二度、三度好友关系时要将用户本身的好友剔除。
通过计算得到用户的二度和三度好友关系,根据一度、二度和三度好友关系的传递性,将一度的好友信任度扩展到二度和三度的好友信任度,具体公式如式(8)、(9)所示:
公式中,T2(u,v)、T3(u,v)分别表示用户u对用户v的二度好友信任度和三度好友信任度;M2、M3分别表示用户u到用户v的二度、三度路径中间结点集,如图1中用户U1到用户U8的二度路径中间结点集M2={U2},用户U1到用用户U8的三度路径中间结点集 M3={U3,U7,U9,U11},i、j、k 分别属于用户u到用户v的二度、三度好友路径中间结点,如图1中用户 U1到用户U8存在一条路径U1→U2→U8,所以其二度路径中间结点i=U2,用户U1到用户U8存在 路 径 U1→U7→U11→U8、U1→U3→U9→U8,所 以 其三度路径中间结点存在两对 j=U7、k=U11和 j=U3、k=U9; ||N2、 ||N3分别表示用户u到用户v的二度、三度路径数,如图1中用户U1到用户U8的二度、三度路径数分别为 ||N2=1, ||N3=2。最终用户u到用户v的信任度(T(u,v))将用户u到用户v的二度信任度(T2(u,v))和三度信任度(T3(u,v))进行加权平均,具体公式如式(10)所示:
公式中,α、β是用户信任度融合的参数,其中α表示的是用户二度好友关系信任度所占的比重,β表示的是用户三度好友关系信任度所占的比重,依据现实好友关系的亲密度来看,二度好友的亲密度一般大于三度好友的亲密度,因此参数的取值一般令α≥β。
对于图1中的社交网络,根据传统的好友关系强度计算,不考虑用户之间的信任度,如果给用户U1进行好友推荐,推荐的好友顺序为U12>U10> U8>U9、U11、U13、U14。可以看到用户 U9、U11、U13、U14的推荐力度是一样的,没有很好地将用户区分。而考虑用户之间的信任度,依据本文定义的信任度计算后,根据信任度结果为用户U1推荐的好友顺序为U13>U14>U12>U11>U10>U8>U9。明显地看到每一个用户的有各自的等级,该方法能够完美地划分用户推荐度。而且同传统的方法比较,好友的推荐顺序也发生了比较大的变动,图1中可以明显看到用户U1、用户 U4、用户 U5、用户 U13、用户 U14之间的信任度比较大,因此优先推荐用户U13、U14给用户U1也是更准确的推荐。
3.2 研究兴趣相似度计算
在考虑了用户好友之间的信任度之后,还充分考虑到用户的研究兴趣,用户的兴趣也是推荐的一个重要指标。学者用户的学术成果,是用户科研兴趣的一个重要反映,因此本文选择利用用户的学术成果来挖掘用户的研究兴趣。近年来,主题模型被广泛应用在挖掘用户兴趣和个性化推荐领域,尤其是 LDA(Latent Dirichlet Allocation)主题模型[24~25],LDA会在判断文档相关性的时候考虑到文档背后的语义,从而挖掘文档背后的语义关联。LDA的方法是利用机器训练用户兴趣文档,从而得到用户兴趣的主题分布和词分布,然后利用相似度算法来计算用户兴趣相似度,从而进行好友推荐。为了解决LDA模型不适用于短文本主题挖掘的问题,本文将每个用户所有的学术成果合并成一个长文本。LDA是一种由“文档-主题-词”构成的三层贝叶斯产生式模型。某篇文档的每个词是通过一定概率选择了一个主题,并从整个主题中以一定的概率选择某个词语。得到每个用户的主题-单词分布之后,就可以构建用户的研究兴趣模型。每个用户根据设置要训练的主题个数生成一个研究兴趣向量。本文采用向量余弦相似度来计算用户研究兴趣的相似度 S(u,v),相似度的计算公式如式(11)所示:式(11)中n为主题数,向量Ai和向量Bi为用户的研究兴趣主题分布,通过计算最终得到用户的研究兴趣相似度。
3.3 融合信任度和研究兴趣的推荐
在三度内好友关系信任度T(u,v)和用户研究兴趣相似度S(u,v)计算之后,将两者进行线性加权融合之后得到最终的综合相似度Sim(u,v),最后根据综合相似度向学者进行TOP-N潜在好友推荐,Sim(u,v)的计算如式(12)所示:
式(12)中,α是用户信任度和用户兴趣相似度的融合参数,其中α的取值为0<α<1。如果α>0.5,表示好友的信任度相对于用户研究兴趣更为重要;如果α<0.5,表示用户的兴趣相似度对于好友信任度更为重要。
4 实验验证与分析
4.1 实验数据
本实验从学者网选取了共计39240对好友关系,从中提取出好友关系列表,去重之后共计1902个用户。实验将用户的数据分为70%的训练集和30%验证集,实验中先隐藏了验证集中用户的好友关系。用户社交交互数据,选取了实验用户的全部交互行为,包括用户的动态评论、转发、点赞、在线聊天、邮件通讯等数据。学术成果部分包含两部分数据,一部分为学者网上用户的学术成果论文集,共计16072篇论文;另一部分为根据用户论文爬取的百度学术中相关文献的论文集,共计42150篇论文。
4.2 评价指标
目前在好友推荐结果的评价指标中,较为常用是准确率(Precision)、召回率(Recall)以及综合准确率和召回率的调和平均值F1-measure。各评价指标的计算公式如式(13)~(15)所示:
公式中 R(u)表示实验中推荐的好友集合,T(u)表示验证集中用户的好友集合,R(u)∩T(u)表示推荐的好友中已经成为用户好友的集合。准确率又被称为查准率,也就是推荐的用户有多少是准确的。召回率又被称为查全率,也就是推荐的用户中对验证集中的好友的覆盖率。准确率和召回率的取值范围为0~1之间,数值越接近1,准确率和召回率越高,表示算法推荐越精确。但是准确率和召回率两者存在一种矛盾关系,因此引入F1-measure来综合反映整体。
4.3 实验分析
实验过程中先对实验参数进行了调参实验,在研究兴趣相似度计算时,设置了不同主题参数10、20、30、40、50、100的对比实验,对比发现在取主题数为50时效果最佳,因此本实验中兴趣相似度的计算均在主题数为50的情况下进行。
图2 不同主题数下的推荐效果
根据准确率、召回率和F1-measure三个指标对实验结果进行分析。实验中首先将本文提出的基于信任度和研究兴趣的推荐方法同基于信任度的推荐算法和基于用户研究兴趣的推荐方法进行好友TOP-N推荐对比,其中N分别取值5,10,15。如图3、图4和图5,分别为准确率、召回率和F1-measure对比结果。
从图3和图4可以看出,融合信任度和研究兴趣的推荐方法,推荐的准确率和召回率均高于基于信任度和基于研究兴趣的推荐方法。
从图5可以看出,融合信任度和研究兴趣相似度的推荐比另外两种方法推荐效果更好,综合衡量指标F1-measure也有明显的提升,最大的达到17%。
图3 自身实验不同方法下的准确率
图4 自身实验不同方法下的召回率
图5 自身实验不同方法下的F1-measure
除去上述自身实验的对比,本文还采用基于矩阵分解的推荐算法和传统的协同过滤推荐算法作为对比实验。基于矩阵分解的推荐算法,通过设置不同的隐含因子个数进行实验,最终得到最优的推荐效果下的影响因子个数为40。
图6 不同隐含因子下的推荐效果
基于协同过滤算法的核心是根据已有历史数据找到拥有相似行为偏好的用户,根据相似用户的喜欢的项目进行过滤筛选推荐。在学者推荐过程中,将用户的好友作为推荐项目。图7为不同推荐方法在推荐个数分别为5、10、15下的F1-measure对比结果,从图片可以看出,融合信任度和研究兴趣的推荐方法在学者推荐上有更优的效果,其中本文提出的推荐方法在进行TOP-5的推荐时效果最优,F1-measure值比基于矩阵分解的推荐方法最高的提升了27%,比基于协同过滤的推荐方法也提升了18%。
图7 不同方法下的F1-measure
综合实验结果可知,充分综合考虑用户之间的信任度和研究兴趣的相似度的推荐效果要明显优于另外两种推荐方法。
5 结语
随着社交网络的不断扩大,用户好友关系的亲疏度分级越来越明显,反应在社交网络中就是用户的交互行为。本文根据用户的交互确定用户好友之间的信任度,更为准确的衡量了用户之间的关系强度,同时利用三度影响力理论将用户的潜在好友关系范围从二度扩展到三度,有效地拓展了用户潜在好友集,一定程度上解决了社交网络中数据的稀疏性问题。学术社交网络作为重要的学术社交平台,学术科研展示与交流作为其主要的功能,因此综合考虑用户的研究兴趣方向,根据学术成果挖掘用户的研究兴趣,计算其相似性,综合用户研究兴趣的推荐保证推荐用户的可行性。当然研究也存在一些不足之处,实验数据没有考虑到用户自身属性,例如用户单位和用户地域,用户自身的属性也是用户的重要信息,参与到模型构建中将进一步提高推荐效果;另外学者研究领域会随着时间的推移有所变化,在考虑学术成果时,将时间作为一个划分标准,可能更有助于提高推荐的准确性,当然这些都需要进一步进行实验验证,这些也是接下来扩展的研究方向。