eTrust:理解线上信任进化
原文链接:eTrust: Understanding Trust Evolution in an Online World, KDD’12
原理:用户偏好与项的向量内积 + 用户与朋友相似度权重*朋友对项的时间衰减评分=用户对项的评分
摘要
大部分关于线上信任的研究都假设用户之间的信任关系是静态的。正如社会科学家告诉我们的那样,信任随着人类的交互而进化发展
。在线信任进化的研究面临着独特的挑战,因为通常情况下可用的数据来自于被动观察
(科学家在现实世界中调查一群人,记录他们的各种信息)。本文利用社会科学理论开发了研究在线信任发展的方法。我们提出了一个进化信任框架eTrust
,它利用了在线产品评审中用户偏好的动态特性。
介绍
信任被广泛的用于帮助线上用户在应用程序中收集可靠的信息,比如高质量评论检测和产品推荐。
Epinion 1等产品评审站点的一个重要特点是用户之间存在信任网络
。这些网站为研究线上世界中的信任提供了一个明智的平台。
图一展示了在两个不同时间点的线上评价系统,有两种物体:users、items。两种动作:建立用户之间的信任关系、建立用户对项的评级。评价系统随着时间再进化,当新的用户 u5 和新的项 I5 被加入时,新的信任关系和新的评级关系就会被创建。
Ziegler指出信任和用户偏好相似性有很强的相关性,两个用户越相似,他们之间就越可能存在相似关系。换句话说,用户之间的信任关系会随着用户偏好的变化而发展
。
本文首次尝试在线产品评审的背景下,利用用户偏好的动态特性来研究网络信任的演化
。这项工作的主要贡献包括:
- 提供研究线上世界中信任演变的方法
- 提出了一个框架eTrust,通过利用在线产品评审用户偏好的动态来理解信任的演变
- 介绍了这项关于用户偏好变化的eTrust研究的结果。
- 通过在线应用程序评估eTrust,例如使用实时数据的评级和信任预测。
问题陈述
t 时刻的用户集合 Ut = {u1, u2, . . . , unt }
t 时刻的项集合 It = {I1, I2, . . . , Imt }
Ut ⊆ Ut+1 and It ⊆ It+1
t 时刻的信任网络 Xt ∈ Rnt×nt 【 Xt(i, j) = 1 if ui is trusted by uj at time t)】
t 时刻的评级 Rt ∈ Rnt×mt
用户可能对不同方面(facets)的项目有不同的偏好,我们假设项有K个潜在面,并且用户对相同潜在面的项有着相似的偏好。 (这个地方可以用电影推荐来理解,比如:每个电影有3个潜在面:导演、演员、电影类型,对于这三个潜在面相同的电影用户可能有着相同的喜好)
t 时刻用户 ui 的偏好向量 pti ∈ RK+
项 Ij 的特征向量 qj ∈ RK
t 时刻多面信任关系 Wt ∈ Rnt×nt×K 【wtivk 表示 t 时刻 ui 对 uv 在 k 面的的信任关系】
则,在动态用户偏好的情况下的信任进化问题可以被称述为:给定 T 时刻的切片,用户 U、项 I、用户信任网络 X、用户评级 R,信任进化 W 可以利用用户的偏好 P 的变化来学习到。
信任进化框架
eTrust - 模拟信任进化
在评级系统中信任和用户偏好的相似度有很强的联系,反映在其评级信息中。本文探索了用户偏好的动态性,为评级系统建立了信任进化模型。
rtij 为实际的评级,r^tij 为预测的评级,一个基于信任网络的评级预测的方法,是最近邻居模型
(考虑用户多方面信任关系)的变体:
Nti 是 ui 在 t 时刻信任的用户集合
rtvjvj 是 uv 在 t 时刻之前对 Ij的评级(tvj 就是用户 uv 对项 Ij 进行评价时的时刻)
越早的评级反映的是用户之前的偏好,应该对当前的评级有更小的影响,因此,我们选择了指数时间函数。
其中,ηi ≥ 0 绘制 ui 的用户特定衰变率,应该从data中学习得到
wtivk 是在 t 时刻 ui 和 uv 在 k 面之间的信任强度。
由于信任和用户偏好相似度之间有强烈而明显的联系,我们定义stivk ∈ RL是 t 时刻 ui 和 uv 在 k 面的偏好相似度向量,基于 t 时刻他们在 k 面的偏好 pti (k) 、 ptv(k)
然后可以用 stivk 来定义 wtivk,其中 f 是 sigmoid 激活函数
latent factor model 没有包含信任网络的影响,neighborhood model 没有考虑用户偏好和项的特征。因此,我们将两者结合起来,在这个公式中,在 t 时刻 ui 对 Ij 的评级由两个因素决定,前部分捕获了 ui 在 t 时刻的偏好和 item 的特征,后部分考虑了用户信任用户的影响
。α ∈ [0, 1] 来调节两部分的贡献。
c(·) 模拟了用户偏好的变化,λ 控制变化的速度,当 λ → 0,我们不考虑不同时间点用户偏好的联系。当 λ → +∞,不同时间点用户的偏好向量被限制为相同。
由于用户偏好的变化被认为随着时间平滑变化,可以如下定义函数c:
eTrust 应用
评分预测
预测 T+1 时刻用户 ui 对项 Ij 的评分:
其中,w 是从数据中学习得到的,qj 是不随时间进化的,对于每个用户,ui,bi,ηi 在时间片上是相互独立的可以直接应用到 T+1 时刻。
定义用户 ui 在 k 面的偏好变化速度为 Zik ,则用户在 T+1 时刻 k 面的偏好 pT+1i(k) 可以用过 T 时刻 k 面的偏好和偏好变化速度计算出来:
在 T+1 时刻,新的用户和新的项可能被引入,我们使用 Homophily 来解决冷启动问题:相似的用户更可能信任彼此。因此,对于一个新的用户,我们先基于 profile 找到他的 top-l 相似用户集合,然后通过平均他信任用户的偏好来估计他的偏好。对于新的项也是同样的方法。
信任预测
信任传播模型(Trust propagation model)是一个流行的模型,它基于已知信任关系来得到新的信任关系的。但是用户的信任关系通常是服从幂律分布 (pow-law distribution) 的,因此,在实际应用中,没有足够的信息来应用这一技术。此外,该传播模型不能直接适用于信息少的新用户。
eTrust 可以用户信任预测,给定时间 T 之前的信任网络和评分,我们想要推荐 T+1 时刻的信任关系。通过优化 eTrust 的目标函数可以得到参数 w(权重),然后用户 ui 和用户 uv 在 k 面的信任强度 wivk 便可以计算出来。然后整体的信任强度 wiv 可以如下计算得到:(对于一个新的用户的偏好,用他关于 profiles 的 top-l 相似用户的平均偏好来表示)
学习总结
1、作者在考虑用户与用户之间的信任关系时,不是简单的信任和不信任关系,而是考虑了 K 个潜在面,用户在不同潜在面对别的用户有不同的信任关系。这样的好处就是在推荐物品时不是简单的考虑用户对邻居的信任分数大小,也考虑到了推荐商品的特性。(比如说:给用户 a 推荐运动产品的时候可能更信任用户 b,推荐电影的时候可能更信任用户 c )
2、信任和用户偏好相似性有很强的相关性,同时,用户之间的信任关系会随着用户偏好的变化而发展。
3、在考虑信任用户对项的评级时,采用指数时间函数,表明时间越久远的评级的影响程度越小。
4、疑问:最近邻居模型的分母为什么时那样的呢?感觉分母应该是邻居个数。
5、用户在不同方面的喜欢程度乘以用户对别的用户在不同方面的信任程度之和得到用户对别的用户的整体信任程度。
6、通过之前的偏好变化计算得到偏好变化速度,再计算得到下个时刻用户的偏好。这是我觉得这篇论文提出的一个好的角度,但是这样的计算方式是否合理呢?即每个时刻的偏好减去上一个时刻的偏好值是否稳定,如果波动很大的话,这样计算就不太合适了,可以考虑换一种计算方式!!!