您的位置:首页 > 其它

Attention+:一种基于关注关系与多用户行为的图推荐算法

2017-04-07 21:20 381 查看
刘梦娟, 王巍, 李杨曦,等. AttentionRank~+:一种基于关注关系与多用户行为的图推荐算法[J]. 计算机学报, 2017(3).

基于Random Walk的TSPR算法

该算法采用一阶Markov-chain计算游走 概 率。方法如下:分别从每个用户节点出发,在“用物品”二分图上进行一轮Random Walk;每当到达 一个节 点 时,需要判断是以概β继续向下游走,还是以1-β概率返回出发点重新游走;重复游走过程,直到二分图上用户与物品的游走概率(即相似度)收敛到稳定值;最终,根据用户对物品的游走概率生成每个用户的物品推荐列表。

算法设计

步骤:



构建“用户-物品”反馈图

“用 户 -物品”反馈图中,不仅设计了基于用户多种反馈类型的“用户 -物品”边,还增加了反映用户共同反馈紧密程度的“用户-用户”边,以提高具有共同兴趣的用户节点之间的游走概率。



假设系统中有N 种用户反馈类型,每种反馈类型发生的总次数记为(F1,F2,…,FN),首先按照式(2)计算每种反馈类型对应的 归 一 化 后 的 权 重,记 为 (f1,f2,…,fN ),f1+f2+…+fN =1;然后根据用户vu对物品vi的历史反馈记录,计算边e(vu,vi)的权值w(vu,vi),如式(3)所示,这里numm(vu,vi)是用户Vu对物品vi执行第 m 种反馈类型的次数,通常numm(vu,vi)的取值为0 或 1,表示用户是否执行过这种反馈,因 此“用户 -物品”边的权重范围为(0,1]



“用户-用户”边的建立

借鉴Hammock宽度的概念:即如果两个用户共同反馈的物品数越多,则说明两个用户的兴趣相似度越高,在 两 个 用 户 之 间 建 立 一 条 无 向 边,可 以 增 加Random Walk时从用户节点到与其兴趣相似的用户节点,以及这些节点的反馈物品节点的游走概率.用户相似度的计算该论文提出一种基于“用户 -物品”边权重的计算方法:假设用户x 和用户y 有共同反馈的物品集合为{i1,i2,…,iS},这里共同反馈的物品数为S,则用户相似度计算如式(4)所示:



如果usersim(x,y)大于设定的相似度阈值k,则在两个用户节点之间建边,阈值k 称为 Hammock 宽度.“用户 -用户”边的权重计算方法如式(5):



本文中设置α=0.5,用于调节“用户 -用户”边与“用户 -物品”边的权重保持一致,限制取值范围为(0,1]。

构建用户兴趣图



A用户关注了C用户,则建立一条从C(被关注用户)指向A(关注用户)的有向边。

假设用户节点vu在兴趣图中关注的用户集合为IN (vu),|IN(vu)|表示被vu关注的用户节点个数,simi(vy,vi)表示被关注用户节点vy在反馈图上与节点vi的相似度信息,则经过兴趣图扩散相似度信息后,用户节点vu获得的反馈图中各节点的相似度信息(信息扩散所获得的相似度):





Random Walk和扩散过程

完成n次Random Walk后,用户节点vu与反馈图中每个节点vi的相似度(随机游走所得相似度)



再利用式(6)或式(7)计算相似度,达到信息扩散的目的。

综合考虑了从反馈图和从兴趣图分别得到的节点相似度信息,其中γ∈[0,1]是调节参数,用于调节两种信息源对最终相似度的影响程度,最终得到的每个用户节点与反馈图中个节点的相似度为:



判断该相似度是否收敛,若没收敛则继续随机游走和扩散。下一轮 RandomWalk时的初始状态只跟上一轮得到的节点相似度有关



分类

并非所有用户都受其关注对象行为的影响.为此本论文设计一个朴素贝叶斯分类器,用以将存在关注行为的用户划分为两类:受关注对象正影响或无影响的用户类 C1、受 关注对象负影 响 的 用 户 类C2.根据分类结果将 C2类用户及其对应的关注边从兴趣图中删除。

设计分类器:考虑每个用户元组有2个属性,记为u=(x1,x2),其中属性x1表示该用户关注其他用户的数量|IN(vu)|,属性x2表示用户与其被关注对象的平均相似度。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  推荐算法