2. 桂林电子科技大学 广西可信软件重点实验室, 广西 桂林 541004
2. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin Guangxi 541004, China
新浪微博、Facebook等各类社交网络的普及和发展对人们的生活产生了积极影响.不断扩大的社交网络规模、源源不断产生的网络信息, 一方面让社交网络用户难以发现自己感兴趣的内容, 另一方面也提出了如何提升用户活跃度的新挑战.好友推荐作为社交网络服务的一项重要功能, 主要通过网络用户或内容的紧密度, 发现与特定用户具有一致兴趣的新用户, 并将其作为潜在好友推送给特定用户.好友推荐能有效提升用户的活跃程度并加强社交网络对用户的粘度.但是, 庞大的用户规模、用户间联系的稀疏性等问题的存在, 使得好友推荐应用面临巨大挑战.
基于社交网络的图结构, 采用图上随机游走的策略来实现推荐应用, 具有很好的可扩展性, 能够有效提升庞大用户基下的推荐性能, 并能应对数据稀疏性带来的挑战[1].近年来多项好友推荐的研究就是基于该策略进而改进实现的.然而, 当前基于随机游走的好友推荐未能充分地权衡用户间社交亲密度的巨大差异及其对推荐的内在影响, 并忽略了隐式的反向社交影响力因素.这些不足为该角度开展推荐研究提供了空间.对此, 本文引入一种高效的频繁项挖掘算法FP-growth[2]来计算用户间社交置信度, 借此表示用户亲密度进而辅助优化随机游走的转移概率矩阵, 进而与表达反向社交影响力传播的局部反向搜索相结合以实现更加有效的好友推荐.
另外, 基于随机游走的好友推荐主要根据用户相互间的社交关系, 在图上开展好友关系搜索, 但该方法未能充分兼顾用户局部信息(如用户属性)的利用.用户属性包含诸如用户标签、社交时间、感兴趣的内容等多方面的信息, 对潜在好友关系的判定具有重要价值.鉴于基于用户属性的潜在好友关系推断的不确定性, 而贝叶斯网络作为一种概率推理网络模型, 在应对不确定性问题上具有优势[3], 本文进一步提出了一种面向用户属性、基于贝叶斯推理的好友关系推理模型, 并与随机游走改进模型协同应用来提升推荐性能.本文算法在DBLP、Facebook、Epinions和Slashdot等真实数据集上与经典算法FOAF、PageRank进行了实验对比与分析, 实验结果充分验证了本文提出算法的有效性.
本文后续内容组织如下:第1节对相关研究工作进行综述; 第2节详细介绍本文提出的算法及其实现; 第3节开展实验分析; 第4节对本文研究工作进行总结.
1 相关工作按照推荐策略的不同, 社交网络好友推荐可以划分为基于协同过滤的推荐、基于内容的推荐以及基于社交关系的推荐等3类. Bian等[4]提出了基于个性匹配的协同过滤好友推荐系统MatchMaker, 其允许网络用户与类似的电视角色进行匹配, 并使用电视节目中的角色关系构建并行比较矩阵, 向该用户推荐最适合自己的个性化用户. Wang等[5]提出了一种基于多维相似度的移动社交网络好友推荐方法, 该方法的优势是支持从空间、时间和兴趣这3个维度通过"差异距离"对用户的相似度进行计算. Huang等[6]提出了一种基于社交网络间关联的好友推荐算法, 该算法基于网络的特征对各个网络进行不同的"社会角色"关联, 并在网络关联后最大化地保留网络结构, 进而发现用户间的关系, 提出好友推荐建议.
随机游走策略的有效性在多种场合的应用中得到了验证[7-9], 在推荐问题上的广泛应用也促使其针对特定需求呈现出诸多改进方法. Cheng等[10]提出了一种基于多特征集的随机游走推荐算法, 该算法根据项目的多种相异特征构建
贝叶斯网络在故障定位[14]、风险评估[15]、疾病诊断[16]等多个领域应用广泛, 其在不确定性问题推理方面的优势也为用户间的好友关系推断提供了一种新思路.结合随机游走在应对信息过载、数据稀疏等问题的有效性, 本文贡献了一种将两者加以融合的好友推荐新策略.
2 好友推荐模型 2.1 随机游走改进模型(IRRWR)社交网络由用户集合和用户之间的社交关系组成.用图对社交网络进行描述, 一个图
$ \begin{align} a_{i, j}=\left\{ \begin{array}{l} 1, \quad (i, j)\in E, \\ 0, \quad \mbox{其他}, \end{array} \right. \end{align} $ | (1) |
其中,
$ \begin{align} p_{i, j}=\frac{a_{ij}}{d_0}, \end{align} $ | (2) |
其中
用户之间的社交频繁程度对好友推荐具有重要价值, 用"亲密度"来刻画特定用户与其好友之间发生社交互动的频繁程度.在标准的随机游走模型中, 游走者从当前节点等概率地走向其邻接点, 即不同用户间的社交亲密度默认为是等同的.但在实际的社交网络中, 不同社交用户之间的亲密度往往是不等的, 推荐应用需要对用户社交亲密度因素加以权衡.通过对用户数据的频繁项挖掘[2], 可以得到用户两两间的社交置信度, 表示为
$ \begin{align} c(i, j)=\frac{\sigma (i, j)}{\sigma (j)}, \end{align} $ | (3) |
其中,
$ \begin{align} p'_{i, j}=\frac{c(i, j)}{\sum\limits_{m=1}^nc(i, m)}, \end{align} $ | (4) |
其中,
$ \begin{align} x_i^{(t)}=\alpha P'^{\text T}\cdot x_i^{t-1}+(1-\alpha)x_i^{(0)}. \end{align} $ | (5) |
基于FP-growth的随机游走模型能够使随机游走过程充分考虑用户间的社交频繁度, 游走过程中让亲密度较高的用户之间获得更多的访问机会.
随机游走模型通过游走者在网络图中随机漫步, 计算从一个节点出发到达网络中其余节点的概率, 这个过程其实可以看成是对特定用户社交影响力传播情况的搜索.社交影响力可以解释成, 当一个网络用户的行为及思想发生变化时, 与其邻近的用户也表现出类似变化的一种效应.在上述模型中, 社交影响力被认为是由目标用户施加给其余用户, 称之为正向社交影响力.然而在现实生活中, 人们也比较倾向于被动地接受外来的社交影响, 并做出相应的行为, 这种效力称之为反向社交影响力.
给定网络图
$ \begin{align} x_{i, l}^\text {Reverse}(j)=x_{j, l}(i), \quad \forall j\in V, j\neq i, \end{align} $ | (6) |
其中,
最后通过系数
$ \begin{align} \text {Rec}_i=\beta x_i+(1-\beta)x_{i}^\text {Reverse}, \end{align} $ | (7) |
则好友推荐得分是正向搜索和反向搜索的综合, 其中
$ \begin{align} x_{i}^\text {Reverse}(j)=\frac{1}{\Delta}\sum\limits_l x_{i, l}^\text {Reverse}(j), \end{align} $ | (8) |
其中,
贝叶斯网络用有向无环图来表述变量间的依赖关系, 并且通过条件概率表(Conditional Probability Table, CPT)来表示变量取值的联合概率分布.具体地讲, 一个贝叶斯网络
任意一个用户, 其包含了若干个社交属性, 用集合
$ \begin{align} P(x_1, x_2, \cdots, x_n, f)=P(x_1)P(x_2)\cdots P(x_n)P(f|x_1, x_2, \cdots, x_n). \end{align} $ | (9) |
在网络结构已知情况下, 只需要对训练样本进行计数, 近似估算出节点的CPT即可.考虑到训练样本可能会出现不完备的情况, 即用户属性有可能观察不到, 例如部分用户在注册账号时跳过了相关信息的填写, 此种情况则难以直接通过样本计数完成网络参数估计.用
$ \begin{align} L_{\max}(\varTheta|B, H)=\max\ln P(B, H|\varTheta). \end{align} $ | (10) |
由于
$ \begin{align} L_{\max}(\varTheta|B, H)=\max\ln P(B, H|\varTheta)=\max\ln \sum\limits_H P(B, H|\varTheta) \end{align} $ | (11) |
EM算法以初值
(1) E步.根据当前的参数分布
$ \begin{align} Q (\varTheta |\theta ^t)=\text E_{H|B, \theta ^t}L (\varTheta|B, H). \end{align} $ | (12) |
(2) M步.求参数
$ \begin{align} \theta ^{t+1}=\text {argmax} Q(\varTheta|\theta ^{t}). \end{align} $ | (13) |
确定了用户关系推理的贝叶斯网络结构和参数, 即可进行用户潜在好友关系推断.贝叶斯网络推理有两种方式: ①当网络结构简单且节点数少时, 可以通过贝叶斯定理以及联合概率分布来准确计算查询变量后验概率的"精确推理"; ②当网络节点较多或结构复杂时, 可采用吉布斯采样[19]方法进行"近似推理".
通过贝叶斯网络推理可以得出用户
$ \begin{align} \text {Rec}_i(j)=\delta (\beta x_i(j)+(1-\beta)x_i^\text {Reverse}(j))+(1-\delta)p_{f|A}(i, j), \end{align} $ | (14) |
其中Rec
融合贝叶斯推理模型与随机游走优化模型的好友推荐算法见算法1.
本文共使用4个真实的社交网络数据集来测试本文所提算法的有效性.各个数据集概要信息见表 1所示.
实验采用准确率(Precision)和平均倒数排名(Mean Reciprocal Rank, MRR)两个评价指标对好友推荐算法的性能进行考察, 两个指标的说明如下.
(1) 准确率
推荐准确率(Precision)为受推荐节点与目标节点
$ \begin{align} \text {Precision}(i)=\frac{N_a(i)}{k}, \end{align} $ | (15) |
其中,
(2) 平均倒数排名
平均倒数排名(MRR)为真实的目标用户好友在好友推荐列表中排名倒数的均值, 为
$ \begin{align} \text {MRR}(i)=\frac{1}{N}\sum\limits_{j=1}^{N}\frac{1}{L_j}, \end{align} $ | (16) |
其中,
该部分通过实验确定正向搜索的游走步数以及重启动系数这两个参数的取值.为了给不同数据集确定一组统一的参数, 该部分实验结果以4个数据集上的平均值进行展示, 见图 2所示.
(1) 游走步数
当游走步数足够, 随机游走正向搜索将达到收敛, 此时状态向量内元素取值不再变化.在不同的游走步数下随机游走模型收敛程度的实验结果如图 2(a)所示.从图 2(a)可以看出, 随着游走步数的增加, 随机游走模型迅速收敛, 当游走步数达到100时已达到绝对收敛.因此, 将正向随机游走的搜索步数定为100.
(2) 重启动系数
图 2(b)显示了本文针对
IRRWR算法引入随机游走局部反向搜索对反向社交影响力效应进行表达, 并通过系数
本文将IRRWR算法在DBLP、Facebook、Epinions和Slashdot数据集上与经典算法FOAF以及PageRank算法进行了对比实验, 实验中推荐长度设为20.图 4(a)展示了准确率Precision的实验对比结果.整体上看, IRRWR算法在这几个数据集上推荐性能都要优于FOAF以及PageRank算法, 其中, 在DBLP及Facebook数据集上IRRWR算法具有较明显的优势; 而在Epinions和Slashdot数据集上的准确率提升相对较小.此外PageRank算法也在指标Precision上整体优于FOAF算法, 仅在Facebook数据集上略逊于后者.
图 4(b)显示了IRRWR算法、PageRank算法及FOAF算法在DBLP、Facebook、Epinions和Slashdot这4个数据集上关于MRR指标的对比实验结果.可以看出, PageRank算法在4个数据集上的MRR值均要高于FOAF算法; 而IRRWR算法在MRR指标上比PageRank算法表现得更好.这说明IRRWR算法具有更好的推荐效果.
由于数据集中的属性信息限制, 本文仅在DBLP数据集上进行了BN-IRRWR算法的对比实验.选取DBLP数据集中作者的"合作者"、"发表论文的期刊或会议"、"论文标题的关键词"以及"发表论文时间"这几个属性, 在作者对之间构成"是否有共同合作者C"("是/否"取值"Y/N")、"是否在相同期刊或会议上发表论文J"("是/否"取值"Y/N")、"发表论文的标题中有无相同或相似的关键词K"("有/没有"取值"Y/N")、"3年内是否有过合作T"("是/否"取值"Y/N")这几个观测变量, 以及查询变量"是否为好友F"(即测试集中有过合作关系的作者, "是/否"取值"Y/N").从训练集中共随机抽出104个作者组成52个作者对, 进行贝叶斯好友推理网络参数训练, 其中50%为有合作关系的作者对, 另外50%为无合作关系的作者对.
图 5显示了不同
好友推荐服务对提升社交网络的粘度以及用户的活跃度具有重要作用, 本文基于随机游走策略的优势以及当前研究的不足, 将基于随机游走的好友推荐算法在通过引入频繁项挖掘优化转移概率矩阵, 与局部反向搜索相结合两个角度上进行了改进.此外, 为了充分利用用户属性信息的价值, 本文提出了一种基于贝叶斯推理的用户潜在好友关系判定模型, 并与随机游走相结合实现好友推荐. DBLP、Facebook、Epinions和Slashdot等真实数据集上的对比实验展现了本文提出的好友推荐方法的有效性.
[1] | PONGNUMKUL S, MOTOHASHI K. Random walk-based recommendation with restart using social information and Bayesian transition matrices[J]. International Journal of Computer Applications, 2015, 114(9): 32-38. DOI:10.5120/20009-1960 |
[2] | HAN J W, PEI J, YIN Y W, et al. Mining Frequent Patterns without Candidate Generation:A Frequent-Pattern Tree Approach[J]. Data Mining and Knowledge Discovery, 2004, 8(1): 53-87. DOI:10.1023/B:DAMI.0000005258.31418.83 |
[3] | KOSKINEN J H, ROBINS G L, WANG P, et al. Bayesian analysis for partially observed network data, missing ties, attributes and actors[J]. Social Networks, 2013, 35(4): 514-527. DOI:10.1016/j.socnet.2013.07.003 |
[4] | BIAN L, HOLTZMAN H, HUYNH T, et al. MatchMaker: A friend recommendation system through TV character matching[C]//Proceedings of Consumer Communications and Networking Conference. IEEE, 2012: 714-718. |
[5] | WANG S S, LENG S P. Friend recommendation method for mobile social networks[J]. Journal of Computer Applications, 2016, 36(9): 2386-2389. |
[6] | HUANG S, ZHANG J, WANG L, et al. Social friend recommendation based on multiple network correlation[J]. IEEE Transactions on Multimedia, 2016, 18(2): 287-299. DOI:10.1109/TMM.2015.2510333 |
[7] | CARMEL D, ZWERDLING N, GUY I, et al. Personalized social search based on the user's social network[C]//Proceedings of the 18th ACM Conference on Information and Knowledge Anagement, ACM, 2009: 1227-1236. |
[8] | HAVELIWALA T, KAMVAR S, JEH G. An analytical comparison of approaches to personalizing PageRank[R/OL]. (2003-06-19)[2017-05-05]. http://ilpubs.Stanford.edu:8090/596/. |
[9] | KONSTAS I, STATHOPOULOS V, JOSE J M. On Social Networks and Collaborative Recommendation[C]//Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 2009: 195-202. |
[10] | CHENG H, TAN P N, STICKLEN J, et al. Recommendation via query centered random walk on k-partite graph[C]//Proceedings of IEEE International Conference on Data Mining. IEEE, 2007: 457-462. |
[11] | FOUSS F, PIROTTE A, RENDERS J M, et al. Random walk computation of similarities between nodes of a graph with application to collaborative recommendation[J]. IEEE Transactions on Knowledge and Data Engineering, 2007, 19(3): 355-369. DOI:10.1109/TKDE.2007.46 |
[12] | JIANG M, CUI P, CHEN X, et al. Social recommendation with cross-domain transferable knowledge[J]. IEEE Transactions on Knowledge & Data Engineering, 2015, 27(11): 3084-3097. |
[13] | ZHANG L Y, XU J, LI C P. A random-walk based recommendation algorithm considering item categories[J]. Neurocomputing, 2013, 120: 391-396. DOI:10.1016/j.neucom.2012.06.062 |
[14] | 于劲松, 沈琳, 唐荻音, 等. 基于贝叶斯网络的故障诊断系统性能评价[J]. 北京航空航天大学学报, 2016, 42(1): 35-40. |
[15] | 刘健, 赵刚, 郑运鹏. 基于AHP-贝叶斯网络的信息安全风险态势分析模型[J]. 北京信息科技大学学报(自然科学版), 2015(3): 68-74. |
[16] | GATTI E, LUCIANI D, STELLA F. A continuous time Bayesian network model for cardiogenic heart failure[J]. Flexible Services and Manufacturing Journal, 2012, 24(4): 496-515. DOI:10.1007/s10696-011-9131-2 |
[17] | WATTS D J. 六度分隔: 一个相互连接的时代的科学[M]. 陈禹, 等译. 北京: 中国人民大学出版社, 2011. |
[18] | DOMINGOS P, PAZZANI M. On the optimality of the simple Bayesian classifier under zero-one loss[J]. Machine Learning, 1997, 29(2-3): 103-130. |
[19] | LIU Y, SIMEONE O, HAIMOVICH A M, et al. Modulation classification via gibbs sampling based on a latent dirichlet Bayesian network[J]. IEEE Signal Processing Letters, 2014, 21(9): 1135-1139. DOI:10.1109/LSP.2014.2327193 |
[20] | LESKOVEC J. Stanford large network dataset collection[DB/OL]. [2017-05-05]. http://snap.stanford.edu/data/index.html. |
[21] | DBLP: Computer science bibliography[DB/OL]. [2017-05-05]. http://dblp.uni-trier.de/db/. |