APP下载

一种融合社会化信息的改进单类协同过滤方法研究

2017-01-07吴燎原贺曦冉

关键词:社会化标签矩阵

吴燎原, 贺曦冉, 王 刚

(1.合肥工业大学 科学技术研究院,安徽 合肥 230009; 2.合肥工业大学 管理学院,安徽 合肥 230009)

一种融合社会化信息的改进单类协同过滤方法研究

吴燎原1, 贺曦冉2, 王 刚2

(1.合肥工业大学 科学技术研究院,安徽 合肥 230009; 2.合肥工业大学 管理学院,安徽 合肥 230009)

文章在负例抽取阶段考虑用户的活跃度和项目间相似度,以及在概率矩阵分解时融合用户好友关系和项目标签社会化信息的基础上,提出了一种融合社会化信息的改进单类协同过滤(one class collaborative filtering with social information,OCCF-SI)方法,并在科研社交网络CiteULike的真实数据集上进行了实验。研究结果表明,与其他传统的推荐方法相比,该文所提出的方法取得了较好的推荐结果,具有良好的可扩展性。

推荐系统;单类协同过滤;社会化信息;科技论文推荐

随着信息技术的不断发展,如何从海量数据中快速有效地找到用户所需的信息,满足各类用户的个性化需求,已受到学术界的广泛关注,在此背景下,推荐系统应运而生。推荐系统可以根据用户的历史评分数据来学习、预测用户偏好从而推荐物品,被认为是当前能够解决信息过载的最有效方法之一,其中,运用最广泛的是基于协同过滤的推荐算法[1-3]。协同过滤算法的核心是基于目标用户最近邻居的评分数据,来预测目标用户对未评分项目的评分,从而将预测评分最高的若干项目推荐给目标用户。近年来,协同过滤算法在国内外得到了广泛的研究,按处理的数据不同可分为如下2类:一类是能明确区分用户偏好倾向的数据,如评分;另一类则是未能明确表现出用户喜好倾向的单类数据,如是否购买过某种商品等,这类数据仅有正例可以明确区分开来,而负例具有不确定性,故把该类问题称为单类协同过滤 (one class collaborative filtering,OCCF) 问题[4-6]。在单类协同过滤中,数据获取不需要用户额外的努力,仅搜集用户与网页的自然交互信息,收集成本更低、数据规模更大、应用前景更广,因此,研究利用单类数据进行个性化推荐,具有重要的实践价值[3-4]。

目前,针对单类数据的个性化推荐已经开始得到学术界的关注,并有一些学者就此进行了相关研究[6-12]。文献[7]在研究微博用户的转发行为时,将夹在2条被转发微博之间其他未被转发的微博作为负例;文献[8]基于未被用户选择的项目中绝大多数是用户不会去选择的假设,将随机抽样得到的用户未选择项目作为负例;文献[9]通过设置一个相对小的阈值,将小于阈值的用户未选择项目作为负例;文献[10]将观察到的点击数据作为正例,其余混合数据作为负例。以上研究恰当地引入负例,解决了数据的高度不平衡性问题[6-9]。文献[11]提出在传统的矩阵分解模型和最近邻模型上融入用户的情境信息;文献[12]提出在传统的最近邻模型上融入属于特定领域的社交网络信息;以上研究恰当地利用额外数据信息,解决了数据的高度稀疏性问题[10-12]。虽然以上研究都在一定程度上缓解了数据不平衡性或稀疏性对推荐结果的影响,但是大多是从单一角度进行研究的,只孤立地考虑了对数据不平衡性和稀疏性一个问题的改进。近年来随着社交媒体的不断发展,对于数据中带有评分的推荐问题,融合社会化信息的推荐方法已被证明可以很好地提升推荐精度[13],但是对于更加稀疏的单类数据的研究不多。

为了进一步提高OCCF方法的推荐准确性,本文在现有研究的基础上,提出了一种融合社会化信息的改进单类协同过滤(one class collaborative filtering with social information,OCCF-SI)方法。首先,针对OCCF数据的高度不平衡性问题,本文采用基于用户活跃度和项目相似度的负例抽取方法。利用用户对所有已选项目标注的标签来表征其喜好倾向,计算该用户的喜好倾向与其未选项目所被标注标签间的余弦相似度,再根据相似度的大小从用户未采取选择行为的项目中抽取与该用户喜好倾向相似度较小的作为负例;并且用户已选择的项目正例数量越多,其活跃度越高,对其添加的负例相应就越多,原因是用户已选正例越多,说明其见过的项目越多,其他没有被选择的项目更多的是其看见了但是不喜欢,而不是没看见,因此对该用户抽取的负例应该越多。其次,针对OCCF数据的高度稀疏性问题,本文利用已添加负例的用户历史选择行为数据和项目被标注的社会化标签信息,构造用户-项目矩阵,用户-用户关系矩阵以及项目-标签矩阵,并将获取到的用户-用户关系矩阵和项目-标签矩阵融合到用户-项目矩阵中,实施联合概率矩阵分解,从而得到用户和项目的潜在特征矩阵。最后,进一步将本文提出的方法应用于科研社交网络中的科技论文推荐,根据其应用场景特点,抓取科研社交网络CiteULike上的数据进行实验,实验结果表明,与奇异值分解(singular value decomposition,SVD)、概率矩阵分解(probabilistic matrix factorization,PMF)、社会化概率矩阵分解(social-probabilistic matrix factorization,Social-PMF)、OCCF-AMAN(OCCF-all missing as negtive)、OCCF-EMAN(OCCF-equals missing as negtive)等传统的推荐方法相比,本文所提出的方法能够在平均准确率均值(mean average precision,MAP)、平均召回率均值(mean average recall,MAR)和平均F-measure均值(mean average F-measure,MAF)上取得更好的推荐结果,从而有效提高了用矩阵分解方法解决OCCF问题的推荐准确率。

1 OCCF-SI推荐方法模型

1.1 问题定义

本文首先形式化地定义OCCF的推荐问题。假设在推荐系统中存在M个用户U={u1,u2,…,ui,…,uM},N个项目V={v1,v2,…,vj,…,vN},H个标签Q={q1,q2,…,qh,…,qH}。建立用户-项目历史选择行为矩阵R={Ri,j}M×N。若用户ui选择过项目vj,则Ri,j=1;反之,Ri,j为空。用户之间的好友关系可表示为用户-用户好友关系矩阵S=(Si,k)M×M,若用户ui与用户uk是好友关系;则Si,k的值为ui与uk的Jaccard相似度;否则Si,k为空。矩阵S的每行记录了用户与其关注好友的相似程度;项目的内容信息表示为项目-标签矩阵T={Tj,h}Ν×H,Tj,h的值表示项目vj被标签qh标注的次数,若项目vj未被标签qh标注过,则Tj,h为空。基于矩阵分解的OCCF方法,利用矩阵分解模型学习用户和项目的潜在特征向量,基于此特征向量预测未知的用户行为。

1.2 OCCF-SI方法

负例抽取就是从用户未选择的项目中抽取样本作为负例,从而缓解单类数据的高度稀疏性问题。已有研究大多采用随机抽取的方式选取负例,即对每个用户来说,所有未选择的项目都有可能被选作负例,而不同项目作为负例的可能性是不同的。因此,针对以上问题,本文在现有研究的基础上,提出了一种基于用户和项目的社会化信息负例抽取方法。具体来说,就是利用用户对所有已选项目标注的社会化标签信息来表征其喜好倾向,然后基于该用户的喜好倾向与其未选项目所被标注标签间的余弦相似度,将相似度小的项目选作负例。负例选取数目根据用户活跃度来确定,即Ni=β∑Ri,.,其中,用户活跃度通过用户已选择的项目正例数量来表征,已选择的正例越多,其活跃度越高,对其添加的负例相应地就越多。这是因为用户ui已选择的正例越多,说明ui见过的项目数量越多,其他没有被ui选择的项目更多的是其看见了但是不喜欢,而不是没看见,因此从ui未选择的项目中抽取的负例应该越多。β为负正例比例[3],由于用户-项目历史选择行为矩阵R中用户ui所有已选项目的Ri,·都为1,因此∑Ri,·就是用户ui已选择的正例项目数。另外,在表示用户选择行为的矩阵R={Ri,j}Μ×N中,1代表用户真正选择了项目,可以准确表明用户喜欢该项目,而对于抽取添加的负例,其并非是用户真实的选择,因此添加到矩阵中的值1>Ri,j>0,并且与用户已选择的项目相似度越小,该负例是用户真正不喜欢的可能性就越大,其Ri,j值也就越接近0。基于以上分析,本文得到如下基于社会化信息的负例抽取算法。

输入:用户-项目矩阵R,项目-标签矩阵T,标签集合Q={q1,q2,…,qh,…,qH},负例抽取比例β。

输出:添加完负例的用户-项目矩阵R。

根据矩阵R和T,构造用户-标签矩阵P={Pi,h}M×H,其中Pi,h表示用户ui所有已选项目中标签qh出现的次数

fori=1,2,…,M

根据用户-项目矩阵R中用户ui已选择的正例,确定ui应抽取的负例数Ni=β∑Ri,·

初始化一个负例候选列表list={0}

forj=1,2,…,N

if(用户ui未选择过vj)

根据用户-标签矩阵P={Pi,h}M×H和项目-标签矩阵T计算用户ui已选项目集与vj的余弦相似度。Ci,j=cos(x,y)=x·y/‖x‖2‖y‖2,其中,x由P中用户ui对应的H维行向量(H是标签数);y为T中项目vj对应的H维行向量

end if

end for

根据相似度Ci,j的值,将对应的项目按照从小到大的顺序添加到list中,Ci,j值相同的项目之间顺序随机。

从list中按顺序选取Ni个负例,将R中对应位置置换为Ci,j

end for

基于社会化信息的单类协同过滤方法,主要通过在概率矩阵分解中融合用户和项目的额外社会化信息,以此来缓解OCCF数据的高度稀疏性问题。具体来说,就是在已添加负例的基础上,一方面,根据用户及其好友对集中项目的历史选择行为,计算用户与其好友之间的Jaccard相似度,据此构造用户-用户关系矩阵。显然,如果2个用户之间的相似度越高,那么这2个用户的潜在特征向量应该越相似。另一方面,根据项目所被标注的社会化标签信息构造项目-标签信息矩阵,由于标签是用户对项目特征的可视化描述,项目的潜在特征向量要受到其被标注标签的影响。最后,将用户-用户关系矩阵和项目-标签信息矩阵均融合到用户-项目矩阵中,使用户-项目矩阵和项目-标签矩阵的数据信息通过共享的项目潜在特征矩阵结合在一起,实施联合概率矩阵分解,得到用户和项目的潜在特征矩阵。其概率模型图如图1所示,其中,Ui为用户在潜在特征空间的分布向量;Vj为项目在潜在特征空间的分布向量;Bh为标签在潜在特征空间的分布向量;Sv,i为用户ui与uk的Jaccard相似度;N(i)为用户ui关注的好友集合。

图1 OCCF-SI分解图模型

本文提出的OCCF-SI方法主要是使用共享的项目潜在特征矩阵将项目的社会化标签信息与用户-项目历史选择信息结合在一起,同时考虑到社会网络中用户潜在特征矩阵要受到其关注好友的影响,将用户社会化好友关系与用户-项目矩阵这2种信息进行有效结合,实施联合概率矩阵分解,得到用户潜在特征矩阵U∈RD×M,项目潜在特征矩阵V∈RD×N和标签潜在特征矩阵B∈TD×H,使UTV和VTB的值尽可能分别逼近用户历史选择信息矩阵R和项目标签信息矩阵T。其中,Ui为用户ui的D维特征向量;Vj为项目vj的D维特征向量;Bh为标签bh的D维特征向量。根据以上定义,已有用户历史选择行为及项目标签的条件概率定义如下:

(1)

(2)

为了防止过拟合,本文假设Ui、Vj和Bh均服从均值为0的高斯分布且相互独立,其中用户的特征向量不仅要服从高斯分布,而且要受到其好友用户特征向量的影响,即

(3)

(4)

(5)

经过贝叶斯推断可以得到U、V、B的后验概率分布为:

(6)

为便于求解,本文对(6)式得到的后验概率进行对数处理,即

(7)

其中,D为特征向量的维数;Q为不依赖参数的常量。而最大化(7)式可视为无约束问题即最小化以下这个目标函数:

(8)

(9)

(10)

(11)

基于以上分析,本文提出如下融合社会化信息的改进单类协同过滤方法的详细算法。

输入:矩阵R、T和S的潜在特征维数D,正则化参数θU、θV、θB、θT、θS,学习率α,最大迭代次数I。

输出:用户和项目的潜在因子矩阵U、V。

根据用户活跃度和项目相似度进行抽取负例,添加到用户-项目矩阵R中

初始化U、V,生成随机矩阵U和V

for iter=1,2,…,Ido:

for each〈i,j〉∈R:

end for

end for

2 实验设计

本文说明实验所用数据集、评价标准以及对比方法,给出OCCF-SI与其他方法的对比实验结果,并对实验结果进行了相应分析。

2.1 实验数据

为了验证本文提出的OCCF-SI方法的有效性,本文使用从CiteULike抓取的数据作为实验数据集。CiteULike是一个针对学术论文的在线存储、管理和分享平台。在该网站中,用户可以对感兴趣的论文进行收藏、分类、对单篇或一组论文贴标签等,同时CiteULike还允许用户建立好友关系,分享自己的论文库,这说明CiteULike数据集比较适合本文的实验研究。本文从CiteULike网站中抓取了包括1 300个用户、59 851篇论文、45 427个标签、595 277次用户收藏文章的信息以及49 156组用户好友信息的数据。

2.2 评价标准

本文选用推荐系统领域常用的MAP、MAR和MAF作为评价指标[3]。

MAP和MAR分别是对所有用户的平均准确率(average precision,AP)、平均召回率(average recall,AR)的再一次平均,MAF为MAP和MAR的调和平均数,具体定义为:

(12)

(13)

(14)

其中,precision(j)为top-j的准确率,recall(j)为top-j的召回率,若Vj命中,则rec(j)=1;否则,rec(j)=0;N为推荐个数;G为测试集中用户感兴趣的项目总数。

MAF测度同时综合考虑了MAP和MAR的值,并不掩盖任何方面特别的不足,因此能较为全面地评价算法的优劣。

2.3 对比方法及参数设置

为了验证所提出方法的有效性,根据OCCF应用场景的特点,本文选择了5种方法作为对比方法。SVD[14]忽视所有未选择项目,只对正例使用SVD方法建模;PMF[15]忽视所有未选择项目,只对正例使用PMF方法建模;Social-PMF[13]忽视所有未选择项目,在传统的PMF方法基础上融入用户好友及项目标签的社会化信息;OCCF-AMAN[16]将所有未选择项目作为负例,然后使用PMF方法建模;OCCF-EMAN[3,16]从用户未选项目中随机抽取与其已选正例数量等同的负例,然后使用PMF方法建模,在正负例平衡的条件下训练模型。

在实验过程中,本文随机选择80%的实验数据集作为训练集,20%作为测试集。同时,为了保证实验结果的可靠性,每次实验进行10次,最终结果取10次实验的平均值[17]。另外,经过实验的反复测试,本文发现参数设定为θU=θV=θB=0.001,θS=0.05,θT=0.0001,特征向量的维数D=20,推荐个数n=20,添加的负例比例β=20时,方法效果最优,以下实验若非特别说明,上述所有参数均设定为最优值。

3 实验结果与分析

3.1 实验结果

根据上述实验设计,本文得到的实验结果见表1所列。

表1 OCCF-SI与对比方法推荐结果比较

由表1可知,OCCF-SI方法在MAP、MAR、MAF 3个评价指标下均优于另外5种推荐方法,说明了本文提出方法的有效性;在和SVD及PMF方法的比较中,Social-PMF在3个评价指标下均取得了较大幅度的提高,在和PMF及OCCF-AMAN方法的比较中,OCCF-EMAN在3个评价指标下也均取得了最优推荐结果。由此可见,对于OCCF数据而言,融入用户、项目的社会化信息和负例抽取分别有助于提高推荐质量,这也进一步验证了本文提出的同时综合考虑社会化信息和负例抽取的OCCF-SI方法的有效性。

3.2 结果分析与参数讨论

在本文所提出的OCCF-SI方法中,推荐个数n,分解出来的用户、项目和标签的潜在特征维数D,以及负例抽取比例β都是对推荐结果产生重要影响的因素。因此,本文将进一步研究不同参数设置下的方法推荐效果,以下实验均是在CiteULike数据集上进行的。

3.2.1 推荐个数n对方法的影响

对于个性化推荐系统而言,最终目的不是使预测的分数和真实分数的误差尽可能小,而是要在推荐列表中尽可能全面地展示用户最感兴趣的项目,因此,确定一个最佳的n值,具有重要意义。本文方法与对比方法在不同推荐个数下推荐结果的MAF如图2所示。

图2 不同方法下n对MAF的影响

由图2可以看出,随着推荐个数的增加,推荐效果先是越来越好,当n值大于一定数值后(本文方法n=20最佳),推荐系统MAF反而降低。由图2同样可以看出,OCCF-SI方法在不同的推荐个数下都能取得较好的结果。

3.2.2 潜在特征维数D对方法的影响

D的选取对预测效果非常重要。如果D的选择过小,那么用户和项目的隐式特征就不能很好地在隐式空间中有效地表现出来;相反,如果D取值过大,那么计算复杂性就会大幅增加,并且会造成学习的过拟合。不同特征维数D下本文方法与对比方法推荐结果的MAF如图3所示。由图3可以看出,随着矩阵分解维数D的增加,推荐的MAF不断提高,但当维数足够大后(本文方法D=20最佳),MAF增长的速率开始逐渐降低,说明此时再增加维数对推荐的MAF的提高作用是有限的,并且会使模型过分拟合训练数据,同时显著增加计算复杂性,反而对结果产生不良影响。

图3 不同方法下D对MAF的影响

3.2.3 负例比例β对方法的影响

在本文所提出的负例抽取方法中,负例比例β是重要的影响因素。在不同方法下对β推荐结果的MAF的影响如图4所示。从图4中可以看出,当β较小时,随着β的增大,推荐结果的MAF不断提高,在β为20附近MAF最高,但当β大于20后MAF开始降低。这是因为过多的负例会造成训练结果趋于负向,影响结果的区分度。另外,随着β的增大,需要训练的样本数目也会增多,计算量也会相应增加。从图4还可以看出,本文方法都要优于其他对比方法,从而证明了本文方法的有效性。

图4 不同方法下β对MAF的影响

4 结 论

本文针对OCCF方法存在的不平衡性和稀疏性问题,提出了一种融合社会化信息的改进单类协同过滤(OCCF-SI)方法。根据用户活跃度和项目相似度抽取添加负例,同时融合用户和项目的社会化信息进行联合概率矩阵分解。将OCCF-SI方法应用于科研社交网络中的科技论文推荐,在CiteULike数据集上进行了实验,实验结果表明,本文方法在多个评价指标下都取得了较好的推荐结果,具有良好的可扩展性。在今后的工作中,将进一步研究区分用户好友关系的信任程度对推荐系统性能的影响以及单类协同过滤方法涉及的(如冷启动)问题,以期进一步提高推荐方法的有效性。

[1] SU X Y,KHOSHGOFTAAR T M.A survey of collaborative filtering techniques[J].Advances in Artificial Intelligence,2009,2009:421425-1-19.

[3] 李聪,梁昌勇,董珂.基于项目类别相似性的协同过滤推荐算法[J].合肥工业大学学报(自然科学版),2008,31(3):360-363.

[4] PAN R,ZHOU Y H,CAO B,et al.One-class collaborative filtering[C]//IEEE International Conference on Data Mining,2008.ICDM'08 Washtington,D.C.:IEEE Computer Society,2008:502-511.

[5] SUN J S,WANG G,CHENG X S,et al.Mining affective text to improve social media item recommendation[J].Information Processing & Management,2015,51(4):444-457.

[6] PAPPAS N,POPESCU-BELIS A.Sentiment analysis of user comments for one-class collaborative filtering over ted talks[C]//Proceedings of the 36th international ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2013:773-776.

[7] JIANG M,CUI P,LIU R,et al.Social contextual recommendation[C]//Proceedings of the 21st ACM International Conference on Information and Knowledge Management.New York:ACM,2012:45-54.

[8] CHEN K,CHEN T,ZHENG G,et al.Collaborative personalized tweet recommendation[C]//Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval.New York:ACM,2012:661-670.

[9] HU Y F,KOREN Y,VOLINSKY C.Collaborative filtering for implicit feedback datasets[C]//IEEE International Conference on Data Mining.ICDM '08.Washtingtion.D.C.:IEEE Commuter Society,2008:263-272.

[10] WANG C,BLEI D M.Collaborative topic modeling for recommending scientific articles[C]//Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM,2011:448-456.

[11] LI Yanen,HU Jia,ZHAI C X,et al.Improving one-class collaborative filtering by incorporating rich user information[C]//Proceedings of the 19th ACM International Conference on Information and Knowledge Management.New York:ACM,2010:959-968.

[12] KAYA H,ALPASLAN F N.Using social networks to solve data sparsity problem in one-class collaborative filtering[C]//Proceedings of the 2010 Seventh International Conference on.Information Technology:New Generations Washington,D.C.:IEEE Computer Society,2010:249-252.

[13] MA H,YANG H,LYU M R,et al.Sorec:social recommendation using probabilistic matrix factorization[C]//Proceedings of the 17th ACM Conference on Information and Knowledge Management. New York:ACM,2008:931-940.

[14] ZHANG S,WANG W H,FORD J,et al.Using Singular Value Decomposition Approximation for Collaborative Filtering[C]//IEEE International Conference on E-Commerce Technology(CEC' 05).Washington,D.C.:IEEE Computer Socity,2005:257-264.

[15] SALAKHUTDINOV R,MNIH A.Probabilistic matrix factorization[C]//Proc of the 21st Annual Conf on Neural Information Processing Systems.New York:Curran Associates Inc,2008:1257-1264.

[16] PAPPAS N,POPESCU-BELIS A.Adaptive sentiment-aware one-class collaborative filtering[J].Expert Systems with Applications,2016,43:23-41.

[17] LIANG T P,YANG Y F,CHEN D N,et al.A semantic-expansion approach to personalized knowledge recommendation[J].Decision Support Systems,2008,45(3):401-412.

(责任编辑 万伦来)

Study of improved one class collaborative filtering method merged with social information

WU Liaoyuan1, HE Xiran2, WANG Gang2

(1.Institute of Science and Technology, Hefei University of Technology, Hefei 230009, China; 2.School of Management, Hefei University of Technology, Hefei 230009, China)

In this paper, the improved one class collaborative filtering with social information(OCCF-SI) is proposed. On the one hand, the user’s activity and the similarity between projects are considered when extracting the negative cases; on the other hand, the social information of user’s friends relations and project’s labels is merged into the probability matrix factorization. The experiments on the real dataset in a scientific social network named CiteULike are conducted. The experimental results show that compared to other traditional recommendation methods, the proposed method gets the best recommendation results and performs well in scalability.

recommendation system; one class collaborative filtering(OCCF); social information; scientific paper recommendation

2016-06-02

国家自然科学基金资助项目(71101042;71471054);安徽省自然科学基金资助项目(1608085MG150)

吴燎原(1973-),男,安徽庐江人,博士生,合肥工业大学工程师.

10.3969/j.issn.1003-5060.2016.12.022

TP311

A

1003-5060(2016)12-1705-07

猜你喜欢

社会化标签矩阵
牵手校外,坚持少先队社会化
行政权社会化之生成动因阐释
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
初等行变换与初等列变换并用求逆矩阵
高校学生体育组织社会化及路径分析
让衣柜摆脱“杂乱无章”的标签
矩阵
矩阵
矩阵