正在进行安全检测...

发布时间:1714660676   来源:文档文库   
字号:
第40卷第5期 2016年1O月 报 Vo1.40 No.5 0ct.2O16 J0URNAL OF BEUING JIA0T0NG UNIVERSITY 文章编号:1673—0291(2016)05—0070—06 DOI:10.11860/jssn.1673—0291.2016.05.012 基于社交网络和协同过滤的微博好友推荐算法 汪毓铎,黄太波 (北京信息科技大学信息与通信工程学院,北京100101) 摘 要:微博作为近年来用户数量较多的社交应用,其用户的信息压力也相对较大,推荐技术对于 微博用户的体验和推广有很明显的帮助.本文将针对微博平台的好友推荐进行研究,分别采用基于 社交网络分析和基于协同过滤技术的推荐算法.经过两种算法的实验对比得出结论:基于协同过滤 的好友推荐算法具有较好的性能,在推荐好友数量较多的情况下依然具有较高的综合评价指标,提 高了好友推荐的质量. 关键词:推荐技术;微博;社交网络;协同过滤 中图分类号:TP391 文献标志码:A Recommendation algorithm of mt crobl’’ oggi ng rten{friend:basedIs a on social networking and collaborative filtering WANG duo,HUANG Taibo (School of Information and Communication Engineering, Beijing Information Science and Technology University,Beijing 100101,China) Abstract:As a social application that has a large number of users in recently years,the informa— tion pressure of microblogging users is relatively powerfu1.Recommendation technology is helpful to user experience and promotion of microblogging.The paper studies on the friend recommenda— tion on the microb1ogging platform,and the recommendation algorithms based on social network analysis and collaborative filtering are respectively introduced.After experimental comparison of the two algorithms,it comes to conclusion that friend recommendation algorithm based on col— laborative filtering has better performance and has good evaluation index under the large number of friend recommendation.It also can improve the quality of friend recommendation. Key words:recommendation technology;microblogging;social network;collaborative filtering 随着微博用户人数的增加,用户发布的微博量 更是不计其数,信息量的急剧增长导致人们越来越 难获取到自己真正感兴趣的内容,这就是所谓的信 的飞速发展,导致用户对于社交网络服务的需求也 呈现急剧增长的趋势.网络社交已经成为人们日常 生活中的重要组成部分.在国外著名的社交网站主 要有Facebook和Twitter等;在国内著名的社交网 站主要有新浪微博、腾讯微博和人人网等.目前新浪 微博的用户总数量和用户活跃数量均为国内同类产 品之最,本文选择新浪微博作为好友推荐的研究 平台. 息过载效应_1].解决信息过载的手段主要有搜索技 术和推荐技术.相比搜索技术,推荐技术具有更好的 过滤效果、灵活性及推广能力,因此被广泛应用于各 大电商门户网站及手机APP,如国内的淘宝网、京 东网及国外的Amazon等.互联网和移动终端设备 收稿日期:2016-06—02 作者简介:汪毓铎(1960一),男,辽宁北镇人,教授.研究方向为数据采集与信号处理.email:wangyuduo@bistu.edu.cn. 
第5期 汪毓铎等:基于社交网络和协同过滤的微博好友推荐算法 
71 
在微博社交网络中,用户获取自己感兴趣的用 社交网络分析是数据挖掘的一个分支学科,它 是一种链接分析技术,意在分析社交网络中的结构 和行为 ].在社交网络上,学者们已经对利用社交关 系进行个性化推荐做出了各种尝试.SpertusE叼等使 用了不同的相似度计算策略在在线社区Orkut上 进行个性化推荐.Geyer_。。等在网络社区上根据社 交网络信息实现的话题推荐被证实比基于内容的推 荐具有更好的效果. 户主要有以下几种方式:1)通过自己感兴趣的微博 内容来关注发布此内容的用户,但在海量的信息中, 通过这种方式来寻找自己感兴趣的用户并不容易; 2)通过设置不同特征条件对所有微博用户进行检 索,这种方式往往会返回大量的结果,使用户无法进 行甄别和选择;3)由微博运营平台推荐好友,目前主 要的推荐方式为给目标用户推荐其好友最近关注的 用户,这种推荐方式相对比较简单和盲目,其效果并 不理想.因此,如何从海量的微博用户中,挖掘出目 标用户感兴趣的用户,并精准地推荐给目标用户,是 微博推荐系统中的一个很有意义的研究内容.在微 博推荐领域,已有许多人展开研究并获得一定成果. 比如根据用户关注的群体来推测用户的偏好,或者 根据用户的评论和参与的话题来预测用户的关注 点,然后为其推荐可能感兴趣的用户及话题r。]. 在具有社交功能的应用场景里,用户推荐是很 重要的功能之一.目前微博用户的推荐方法主要有 以下几种:1)社交网络推荐一般都是通过对用户好 友的关注关系网进行分析并推荐,由于用户与其好 友的关系建立并不都是基于共同兴趣,因此推荐准 确率较低;2)基于内容的推荐不依赖于用户的评分 数据,而是根据用户的历史行为来判断是否对用户 进行推荐,在动态预测推荐方面具有优势;3)协同过 滤推荐是推荐系统中最常用的方法,通过用户之间 的评分数据来进行相似度计算进行推荐,具有良好 的操作性及推荐效果,被广泛应用于各大网站;4)混 合推荐将多种推荐算法应用于推荐系统中,可以使 不同推荐算法的优点结合起来进行推荐,具有良好 的推荐效果. 协同过滤是利用与用户兴趣行为相似的最近的 邻居的偏好信息向当前用户产生推荐结果,以解决 用户所面临的信息过载的问题 ].协同过滤这一概 念最先由Goldberg[5 等提出,并将其应用于基于协 同过滤的推荐系统Tapestry中,这是一个邮件处理 系统,用来帮助用户从每天接收的大量邮件中筛选 和分类邮件.在协同过滤推荐算法中,有很重要的一 个步骤,就是根据目标用户对于目标项目的评价行 为找出与其兴趣相似的用户.尽管根据用户对项目 的评价行为确实可以在一定程度上找出兴趣相似的 用户,但这种做法却忽略了用户之间的社交关系 ]. 在社交网络上往往越靠近的用户越具有相同的兴趣 爱好l],所以将用户之间的社交关系融人到协同过 滤算法当中来是非常有必要的,这就要利用到社交 网络分析的知识. 综上所述,社交网络分析对于个性化好友推荐 是一个非常重要的方法和影响因素.而协同过滤算 法则是推荐系统中经典且高效的推荐算法.本文作 者将采用基于社交网络分析和基于协同过滤两种算 法来对于微博平台上的好友推荐进行研究. 1 基于社交网络分析的好友推荐算法 基于社交网络分析的微博好友推荐算法.利用 目标用户的关注关系数据,统计出每个用户的关注 用户和粉丝用户数据,计算用户的相似群体,根据相 似度排序向用户做好友推荐. 1.算法步骤描述 算法的具体步骤描述如下:1)从数据集中提取 出所有用户关系的子数据集,并对子数据集进行预 处理;2)计算预处理后的子数据集中所有用户间的 相似性;3)对用户相似群体进行相似度排序,获取目 标用户的相似群体;4)取相似群体中相似度最高的 前N个用户的关注对象来对目标用户进行推荐. 1.2相似性度量 社交网络中没有评分数据,但却包含着非常丰 富的用户社交关系数据.在微博的社交网络中,用户 关注的好友并不是在现实生活中熟悉的朋友,很大 程度上是因为对其某些言论的认同或者兴趣才建立 的社交关系.这种社交关系包括互相关注关系和单 向关注关系. 常见的用户相似性度量方法,如余弦相似度、 Pearson相关系数及修正的余弦相似度等,对于用 户项目的评分向量比较依赖.考虑到微博中并没有 用户评分机制,故这里采用不同用户节点的“出度” 和“人度”来进行相似度计算.这里的“出度”指的就 是目标用户的关注用户集合,“人度”指的是目标用 户的粉丝用户集合. 具体的相似性度量方法为:假设用户甜的出度 为out( ),人度为in( );用户 的出度和人度分 别为out( )和in( ).则用户 与用户 的相似性 si , )的计算有以下几种方法. 1)in方法,计算公式为 
72 报 第4O卷 Im( , )一 (1) 分形式的用户一用户评分矩阵.矩阵的每一个行向量 表示对应用户对集合中所有用户的评分.则用户之 Jin(u)U in(v) 2)out方法,计算公式为…] 间的相似度可以用余弦相似度进行计算.设I为所 m( , )一 兰 (2) 有用户的集合,向量“和 分别表示用户 和 在 JOut(u)U out(v) 3)采用in方法和out方法,计算公式为 si 一  基于协同过滤的好友推荐算法 协同过滤推荐算法分为两种,分别为基于内存 和基于模型.基于内存的协同过滤算法也分为两种, 分别为基于用户和基于项目口 .本文研究的是微博 平台的好友推荐,故采用基于用户的协同过滤算法 来对目标用户进行好友推荐. 基于用户的协同过滤算法的原理为,根据当前 用户的邻居用户的偏好信息来对当前用户进行推 荐.所谓邻居用户,指的是对于某些项目的评分与目 标用户比较接近的用户.基于用户的协同过滤算法 可分为:表示阶段、计算邻居用户阶段和推荐结果生 成阶段3个阶段l . 1)表示阶段.C(n,m)是一个 ×m阶矩阵.协 同过滤推荐算法所要处理的数据形式就是与此类似 的用户一项目评分矩阵_ ,用下式表示为 C( ,m)一 (4) 式中: 表示用户数; 表示项目数;矩阵元素c 表 示用户i对项目J的评分;与喜欢程度成正比.评分 可以采用不同的分制,如用1和0分别表示喜欢和 不喜欢,或者用10分制来度量喜欢的程度. 利用协同过滤算法在进行微博好友推荐时,表 示阶段的矩阵应为用户一用户评分矩阵,矩阵的每个 元素是由对应用户间的关注关系量化而来的评分数 据,比如,当用户i和用户 的关系为相互关注时,对 应的矩阵元素c 为1,否则 为0. 2)计算邻居用户阶段.计算邻居用户阶段是基 于用户的协同过滤算法中的关键阶段.在此阶段中, 算法通过计算不同用户关注关系的相似度来衡量不 同用户兴趣的相似度.相似度的取值范围为[~1, 1],其大小表示用户的邻近程度.因此相似度越接近 1表示用户兴趣越相似,即为邻居用户. 在表示阶段,已经将用户的关注关系量化为评 上的所有评分信息.于是,用户U和 之间的余弦 相似度表示为 sim( , )一c。s(“, )一 ∑ R R (5) √∑ R √∑引R 式中,R 和R 分别表示用户 对项目i的评分和 用户 对项目i的评分. 3)推荐结果生成阶段.在对用户的相似度进行 排序后即可得到目标用户的邻居用户集合.不同于 为相似用户推荐项目,这里并不需要进行目标项目 的评分计算.采用的推荐方式为给当前用户推荐与 兴趣最相似的N个邻居用户有互相关注关系的用 户. 实验与结果分析 3.1 实验数据 本文实验数据来自于数据堂,数据集为63 641 个用户的新浪微博数据集,包括微博信息、微博转发 关系、用户信息和用户好友关系等数据.本文主要利 用用户的互相关注数据来对用户进行相似度计算和 好友推荐,故实验采用的数据为用户好友关系数据. 3.数据预处理 原始数据为两列用户的uid数据(每一个用户 拥有一个唯一的身份识别码),表示第1列用户关注 第2列用户,故需要对原始数据进行预处理和过滤 操作. 1)在基于社交网络分析的推荐算法实验中,由 于微博用户存在好友数量异常的垃圾用户及粉丝过 多的认证用户,这些用户对于实验对象的一般性有 所影响,故在原有数据集中去除这部分用户.原始数 据中用户的关注关系数据共有1 391 718条,从这些 关注关系数据统计得到有关注的用户为61 972个, 有粉丝用户为24 890个.为了提高实验的准确性和 用户的普遍性,选取了关注人数大于2O且小于 500,粉丝人数大于20人且小于5 000的用户作为 研究目标用户,最终的目标群体为3 104位用户. 2)在基于协同过滤的推荐算法实验中,为了提 高实验的精度,从用户数据集中选取了互相关注人 数大于lO的用户,共有1 044位用户作为最终的研 
第5期 汪毓铎等:基于社交网络和协同过滤的微博好友推荐算法 
73 究目标,与这一群体有关注关系的用户共有5 311 位.由于微博平台中并没有用户对于用户的评分,所 以本文将用户之问的相互关注关系作为评分来构建 用户一用户评分矩阵.在本实验中,则是根据1 044位 用户和涉及到的5 311位用户的互相关注关系来构 0 35 O 30 咎o  巴0.20 0 15 0 1O 建一个1044×5311用户一用户评分矩阵.矩阵的某 O O5 O 行为对应用户对于集合中所有用户的评分向量. 采用Top—N推荐中的准确率(Precision)、召回 3.评价指标 5 5 25 35 45 55 65 75 85 95 推荐人数  SN’in和SN—out的准确翠与召回率对比 Fig.1 Precision and recal comparison of SN—in and SN—out method 率(Recal1)和F度量(F-measure)作为衡量算法的 评价指标口 .通过基于社交网络的好友推荐算法(in 法和out法)和基于协同过滤的好友推荐算法进行 准确率、召回率和F值的比较来对算法进行评价. 准确率定义为 P一 ! uEU 渐上升,且两个指标最终都趋于平稳.由此说明,准 确率和召回率是一对相互制约的评价指标,而且推 荐人数增加到一定数量时,准确率和召回率都不再 变化,算法同时也达到极限. 2)给出了SN—in方法和SN—out方法的F值对 比如图2所示. 三  R( )I  召回率定义为 R一 uEU   T(u)I 脚 式中: 表示所有用户合集;R(乱)表示推荐算法生 成的推荐列表;T( )表示用户实际的好友列表. 将准确率P和召回率R值融合成一个度量值, 就是F度量.其定义为  f 1_』 罄 式中,a为参数,当a—l时,则认为准确率和召回率 的权重是一样的.常用的F度量为Fz和F s.Fz表 明召回率具有更高的权重,F 则表明准确率具有 更高的权重.在微博好友推荐场景下,推荐的准确率 图2 SN—in和SN-out的F僵对比 Fig.2 F—measure comparison of SN—in and SN—out method 从图2中可以看出,随着推荐人数的增加,F 应该比召回率更加重要,这时就应该调整参数a的 取值.本实验中取a一0.5. 3.结果分析 值达到峰值后略微下降,最终趋于平稳.SN—in方法 在平均推荐人数为50人时,F值达到峰值0.193 8. SN—out方法在平均推荐人数为60人时,F值达到 峰值O.152 9.这里可以看到,SN—in方法的F值始终 使用了两种推荐算法分别在数据集上进行实 验,并进行实验结果的对比.第1种是基于社交网络 高于SN—out方法,所以根据微博用户的粉丝群体相 似度计算来进行推荐的效果要好于根据用户的关注 的好友推荐算法,其中采用了两种不同的相似度计 算方法(in方法和out方法)进行比较,在实验中分 别被简称为SN—in方法和SN—out方法.第2种是基 于协同过滤的好友推荐算法(简称CF方法). 群体进行推荐. 3)给出了基于协同过滤的好友推荐算法(CF方 法)的准确率、召回率及F 度量与推荐邻居数的对 应关系,如图3所示.通过对数据集的计算,在不同 1)给出了基于社交网络的推荐算法的SN—in方 法和SN—out方法的准确率与召回率对比如图l所 示. 邻居数的情况下,1 044位用户分别可以得到长度 不同的用户推荐列表.为了便于进行不同算法的推 荐性能对比,实验中使邻居数不变,将所有用户的推 荐人数相加后做平均计算即可得到邻居数与实际推 图1中从准确率对比可以看出:1)SN—in方法 的准确率和召回率均相对高于SN~out方法.2)随着 推荐人数的增加,准确率逐渐下降,相反召回率则逐 荐人数的对应数据.如表1所示. 
74 O 35 皿皿l )3O _  D 25 回   槲 0 2O  蜃 0 l5 O 1O  2 3 4 5 6 7 8 9 10 推荐邻居数 图3 CF方法的准确率。召回率与F值 Fig.3 Precision,recal and F—measure of CF method 表1推荐邻居数一平均推荐人数对应表 Tab.1 Corresponding data between recommendation and actual average recommendation number 推荐邻居数平均推荐人数 推荐邻居数 平均推荐人数  31 6 369 2 75 7 470  132 8 581 4 200 9 702  279 10 833 结合表1和图3可以看出,CF方法在推荐人数 较多的情况下,F值依然没有趋于恒定. 由于SN—in方法和SN—out方法推荐好友的方 式是根据用户与其关注或粉丝群体中个体的相似度 进行计算和排序,然后选择最相似的前K个用户进 行推荐,而CF方法则是直接计算某用户与邻居用 户之间的相似度并排序,然后将与邻居用户互相关 注的用户推荐给该用户,具体推荐人数的多少与推 荐邻居数的多少并不成正比例关系. 4)在对比这3种方法时,根据CF方法不同邻 居数对应的推荐人数取出了前两种方法在同样推荐 人数下的F值数据来进行对比.给出了SN—in、SN— out和CF方法在推荐人数统一的情况下的F值对 比如图4所示. 图4 SN-n、SN-out和CF方法的F值对比 Fig.4 F—measure comparison of SN—in。 SN—out and CF method 结合表1和图4可以看出,在推荐人数比较多 报 第4O卷 的情况下,SN—in和SN—out方法的F值均不再变 化,算法在曲线趋于恒定的l临界点上达到推荐人数 的极限.CF方法在同样的情况下,依然具有变化的 F值,不仅没有达到算法的极限而且CF方法的F 值在临界点之前都高于SN—in和SN—out方法. 由此可以看出,CF方法的性能要优于其他两种 算法,而且在推荐人数较多的情况下,CF方法将拥 有比其他两种方法更加优秀的推荐质量. 4 结语 1)对于基于用户的协同过滤算法进行适用于好 友推荐的改进,把传统方法中的用户一项目(userq— ter)评分矩阵转换为用户一用户(user—user)关系描 述矩阵,使得用户之间的关注关系量化为矩阵中的 对应元素,用户相似度的计算量化为矩阵行向量的 余弦相似度计算.从大量的用户关系数据中进行挖 掘和计算来获取推荐结果,推荐结果全面且不失个 性化. 2)在数据集上进行实验,通过实验和对比可以 看到基于协同过滤的好友推荐算法(CF算法)具有 较好的性能.由图4可以看出,在推荐好友数量为75 时,SN—in、SN—out和CF方法的F度量值分别为 0.190 6、0.152 7和0.238 9,此时SN—in和SN—out 方法的推荐效果都已达到最佳,但是F度量值均小 于CF方法.实验结果说明,在推荐人数较少时,CF 方法具有更好的性能.同样由图4可以看到,在推荐 好友数量较多的情况下,CF方法依然具有较高的综 合评价指标,比传统的基于社交网络的好友推荐算 法有着更好的推荐效果,在一定程度上提高了好友 推荐的质量.在研究过程中遇到数据集不够完美,算 法实验难以进行统一度量对比等问题.但在信息急 剧膨胀的时代,本文的研究具有一定的积极意义. 参考文献(References): r1]BAWDEN D,H0LTHAM C,C0URTNEY N.Per spectives on information overload r C].Aslib Proceed— ings,2013,51(8):249—255. [2]王晟,王子琪,张铭.个性化微博推荐算法[J].计算机 科学与探索,2012,6(10):895—902. WANG Sheng,WANG Ziqi,ZHANG Ming.Personal— zed recommendaton algorhm on microblogs[J].Jour nal of Frontiers of Computer Science and Technology, 2O12,6(10):895—902.(in Chinese) [3]郑志娴.微博个性化内容推荐算法研究[J].电脑开发与 应用,2012,25(12):23—25. ZHENG Zhixian.A personalized recommendation algo— 
第5期 汪毓铎等:基于社交网络和协同过滤的微博好友推荐算法 75 hm on microblogs[J].Computer Development Ap— plications,2012,25(12):23—25.(in Chinese) E4]杨博,赵鹏飞.推荐算法综述EJ].山西大学学报:自然 科学版,2011,34(3):337—350. YANG Bo,ZHAO Pengfei.Review of recommendation gorihms[J].Journal of Shanxi Universiy:Nat Sci Ed,2011,34(3):337—350.(in Chinese) Is]GOLDBERG D,NICHOLS D,OKI B M,et a1.Using collaborative fitering to weave an information tapestry [J].Communicatons of the ACM,1992,35(12):61— 70. [6]KAUTz H,sELMAN B,SHAH M.Referral Web: combining social networks and collaborative filtering [J].Communicatons of the ACM,1997,40(3):63— 65. E7]秦继伟,郑庆华,郑立德,等.结合评分和信任的协同推 荐算法[J].西安交通大学学报,2013,47(4):100— 1O4. QIN Jiwei,ZHENG Qinghua,ZHENG Lide,et a1.Col— aborative recommendation algorithm based on rating and tust[J].Journal of Xian Jiaotong Universiy,2013, 47(4):100—104.(in Chinese) [83韩慧,王建新,孙俏,等.数据仓库与数据挖掘[M].北 京:清华大学出版社,2009. HAN Hui,WANG Jianxin,SUN Qiao,et a1.Data warehouse and dat mining[M].Beijing:Tsinghua Uni versity Press,2009.(in Chinese) r9]SPERTUS E,SAHAMI M,BUYUKKOKTEN O.E— valuating similarity measures:a large—scale study in the Orkut social network[c].Proceedings of the Elventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining,2005:678—684. r1O]GEYER W,DUGAN C,MILLEN D R,et a1.Recom— mending topics for self—descriptions in online user pro— es[C].Proceedings of the 2008 ACM Conferenc on Recommender Systems,2008:59—66. [11]贺银慧,陈端兵,陈勇,等.一种结合共同邻居和用户 评分信息相似度算法[J].计算机科学,2010,37(9): 184—204. HE Yinhui,CHEN Duanbing,CHEN Yong,et a1. Similarity algorithm based on users common neighbors and grade informaton[J].Computer Science,2010,37 (9):184~204.(in Chinese) [12]邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过 滤推荐算法rJ].软件学报,2003,14(9):1621—1628. DENG Ailin,ZHU Yangyong,SHI Bole.A colabora— tive filtering recommendation algorithm based on item ratngpredict0n[J].Journal of Sofware,2003,14(9): 1621一l628.(in Chinese) [13]吴振慧.推荐技术的比较研究EJ].计算机光盘软件与 应用,2011(19):44—45. WU Zhenhui.Comparative study of the recommendedt— echniques[J].Computer CD Sofwar and Applca— tions,2011(19):44—45.(in Chinese) [14]张超.结合社交网络分析和协同过滤技术的推荐算法 研究[D].吉林:吉林大学,2013. ZHANG Chao.Research on recommendation algorithm based on social network analysis and collaborative fite— ring[D].Jin:Jin Universiy,2013.(in Chinese) [15]石丽丽.面向微博用户的内容与好友推荐算法研究与 实现[D].北京:北京邮电大学,2014. SHI Lil.Research and implementation of content and friend recommendation algorithm for microbloggingus— ersED].Being:Beijing University of Post and Tele— communications.2014.(in Chinese) 

本文来源:https://www.2haoxitong.net/k/doc/208fa65528f90242a8956bec0975f46527d3a7ab.html

《正在进行安全检测....doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

相关推荐