该论文是北京一高校学生的论文,其主要是基于用户-物品-标签这样的三部图网络展开描述的。下面主要介绍一些其中提出的可用的点,其余的详细介绍可参考原文章。

背景

推荐算法是个性化推荐的核心,现有的推荐算法(除了点击率预估之外的)包括:

  • 基于内容的推荐算法
  • 基于项目的协同过滤算法
  • 基于用户的协同过滤算法
  • 基于模型的协同过滤算法
  • 基于社会网络分析方法的算法
  • 基于网络结构的推荐算法

基于网络结构的推荐算法大部分是基于二部图来对用户进行个性化推荐,这种推荐算法不能有效地解决用户冷启动和冷门物品推荐的问题,本文针对现有算法的不足,提出了一种加权的三部图网络结构的知识推荐算法,在三部图网络模型的基础上设计了新的推荐算法。

三部图网络结构算法

项目-用户-标签的三部图可以表示为:{U,I,T},其中U表示用户集合,I表示物品结合,T表示标签集合。在此三部图结构中,不仅用户与项目以及 用户与标签之间存在联系,项目与项目、用户与用户以及标签 与标签之间也存在联系。

如图 1所示,使用三部图对项目—用户—标签的三元组进行相关模型建立,对三部图模型进行用户—项目、用户—标签 和项目—标签的二部图的扩散。最终的推荐算法是建立在用户—项目、用户—标签和项目—标签二部图网络结构的基础上。

项目的度和权重对推荐算法的影响

1. 项目的评分相似性及改进

基于用户-项目网络结构的推荐系统把用户和项目仅仅看成抽象的节点,所有算法利用的信息都隐藏在用户和项目的关系之中。用户-物品的二部图提出了一种资源分配的算法。假设 j 选择过的所有产品都具有某种向 i推荐其他产品的能力,这个 抽象的能力看做是相关产品上的某种可分的资源,表示产品 j 愿意分配给产品 i的资源配额(产品的相似性)。

其中:

  • k_j 表示物品j的度(即被多少用户产生过行为)
  • k_l 表示用户l的度(即用户u对多少个物品产生过行为)
  • a_il 表示用户 l 是否对物品i产生过行为,产生过行为为1,没有产生过行为为0

传统的二部网络图结构只注意到了用户是否对物品产生过行为,忽略了用户对物品的评分,容易造成信息的损失。本文中保留了用户对物品的评分信息,对用户到物品的边增加一个权重w,w的大小根据用户对物品的评分确定。

假设用户对物品的评分最多为5分,则w=score/5,所以w的范围是[0,1],score表示用户对物品的评分。则改进后的物品相似度计算公式为:

其中:

表示项目I_j的所有权重之和,即对物品j有行为的用户到物品j的权重之和。

表示用户u_a的所有权重之和,即用户u对其用行为物品的用户到物品的权重之和。

2.项目的属性相似性

在现实的生产系统中,当用户进入一个系统时,可能从未对系统内的任何一个物品产生过行为,也可能只对很少的物品产生了行为。这时候系统无法根据其历史信息获取相关兴趣。

这个时候可以对物品进行属性描述和标签描述,利用项目的属性相似性和利用标签相似性向用户提供更好的推荐服务。

假设用户对物品的属性矩阵如下:

上表中1 表示物品拥有该属性,0表示物品不拥有该属性。假设物品i和j所拥有的属性分别表示为Qi 和 Qj,则项目i和j的属性相似度计算公式如下:

其中:

  • Q_i 交 Q_j 表示物品i和物品j的属性交集
  • Q_i 并 Q_j 表示物品i和物品j的属性并集

从上式中可以看出,当某一个项目属性相似性与所有项目的属性相似度之和 sim_a′(i,j)非常大时,表明该项目在整个系统中是非常活跃的,易被首先向其他用户和项目推荐。因此该项目可视做在整个推荐系统中的初始推荐资源,由此可解决用户冷启动问题。

关于标签相似性,可以阅读原论文,这里不展开介绍。

3. 项目的相似性和评分

从上边的1 和 2中的描述可以看出,项目的相似性衡量可以从两方面入手

  • 项目 i与 j的评分相似性。评分越相似,说明用户对这两个项目的喜好越相似。而且如果同时对它们评分的用户个 数越多,说明它们的相似性越高。
  • 项目 i与 j的属性相似性。如果项目 i与 j的属性属于 相同的类别,那么它们的相似性就越高。

所以本文里采用的是项目的评分相似性和属性相似性组合的方法来计算项目的相似性。项目相似性的计算公式为:

如果两个用户同时对一个热门物品产生了行为,并不能说明这两个用户的兴趣相同;相反如果这两个用户同时选择了一个冷门物品,则这两个用户拥有相似的独特兴趣。算法中应该考虑项目的度(即热门程度),增强小度项目的推荐能力,降低大度项目的推荐能力,提高推荐的多样性。

引入调节函数f(φ)对物品的相似度进行调节,计算相似度时考虑物品的度和物品的权重之和的比值φ,其中φ的定义为:

其中:

  • k(I_j) 表示项目I_j的度
  • d(I_j) 表示物品I_j的所有权重之和

当所有用户对I_j没有行为时,φ取得最大值 1/w ,当所有用户都对I_j有行为且认为很重要时,φ取得最小值 1。即φ越小,用户选择该物品的概率越大,φ越大,用户不选择该物品的概率越大,算法中应该降低这种物品的推荐能力。
f(φ)的表达式为:

经过多次实验总结,当 δ=0.5时,可以减少 f(φ)对项目相似度的影响,效果最佳。则计算项目相似度的最终公式为:

其中:

  • φ的取值为(1,1/w)
  • ε 为 一 个 可 调 参 数 ,用 于 调 节 标 签度对推荐结果的影响,ε>0表示大度标签的推荐能力被压制, ε<0表示大度标签的推荐能力得到提高

计算目标用户ui对未评分项目的评分 r_iα的公式为:

标签的度和权值对推荐算法的影响 参考原论文,这里不过多介绍,论文标题为:《基于三部图网络结构的知识推荐算法 》

实验结论


打开微信扫一扫,关注微信公众号【搜索与推荐Wiki】