推荐系统与知识图谱概述

推荐系统与知识图谱

  • 1. 推荐系统
    • 推荐系统的任务和难点
  • 2. 知识图谱
    • 2.1 知识图谱引入推荐系统
    • 2.2 知识图谱特征学习
    • 2.3 知识图谱特征学习+推荐系统
      • 2.3.1 依次学习
      • 2.3.2 联合学习
      • 2.3.3 交替学习
  • 总结

本文为转载文章,方便本人后续查看而整理。本着分享的原则,就公开了,可是不知道如何获得转载权限就写了原创,顶多算文章整理笔记。
原文地址1:王鸿伟 《推荐算法不够精准?让知识图谱来解决》 公众号:微软研究院AI头条
原文地址2:王鸿伟《如何将知识图谱特征学习应用到推荐系统?》

1. 推荐系统

信息爆炸使得信息的利用率反而降低,出现信息超载现象。推荐系统作为一种信息过滤的重要手段,是当前解决信息超载问题的最有效的方法之一,是面向用户的互联网产品的核心技术。

推荐系统的任务和难点

按照预测对象的不同,推荐系统一般可以分成两类:

  • 一类是评分预测(rating prediction),例如在电影类应用中,系统需要预测用户对电影的评分,并以此为根据推送其可能喜欢的电影。这种场景下的用户反馈信息表达了用户的喜好程度,因此这种信息也叫显式反馈(explicit feedback);
  • 另一类是点击率预测(click-through rateprediction),例如在新闻类应用中,系统需要预测用户点击某新闻的概率来优化推荐方案。这种场景下的用户反馈信息只能表达用户的行为特征(点击/未点击),而不能反映用户的喜爱程度,因此这种信息也叫隐式反馈(implicit feedback)。

传统的推荐系统只使用用户和物品的历史交互信息(显式或隐式反馈)作为输入,这会带来两个问题:

  • 一,在实际场景中,用户和物品的交互信息往往是非常稀疏(sparse)的,计算中增加过拟合风险。
  • 二,对于新加入的用户或者物品,由于系统没有其历史交互信息,因此无法进行准确地建模和推荐,这种情况也叫做冷启动问题(cold start problem)。

解决稀疏性和冷启动问题的一个常见思路是在推荐算法中额外引入一些辅助信息(side information)作为输入。常见的辅助信息有:社交网络、用户/物品属性、图像/视频/音频/文本等多媒体信息、上下文等。

如何根据具体推荐场景的特点将各种辅助信息有效地融入推荐算法一直是推荐系统研究领域的热点和难点,如何从各种辅助信息中提取有效的特征也是推荐系统工程领域的核心问题。

2. 知识图谱

知识图谱(knowledge graph)是一种语义网络,其结点(node)代表实体(entity)或者概念(concept),(edge)代表实体/概念之间的各种语义关系(relation)。一个知识图谱由若干个三元组(h、r、t)组成,其中h和t代表一条关系的头结点和尾节点,r代表关系。

和其它种类的辅助信息相比,知识图谱的引入可以让推荐结果更加具有以下特征

  • 精确性(precision)。知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣;
  • 多样性(diversity)。知识图谱提供了不同的关系连接种类,有利于推荐结果的发散,避免推荐结果局限于单一类型;
  • 可解释性(explainability)。知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。

知识图谱和物品属性的区别:物品属性可以看成是在知识图谱中和某物品直接相连的一跳(1-hop)的节点,即一个弱化版本的知识图谱。

2.1 知识图谱引入推荐系统

一般来说,现有的可以将知识图谱引入推荐系统的工作分为两类:

  • 以LibFM为代表的通用的基于特征的推荐方法(generic feature-based methods)。这类方法统一地把用户和物品的属性作为推荐算法的输入。
    基于该类方法的通用性,我们可以将知识图谱弱化为物品属性,然后应用该类方法即可。
    缺点:它并非专门针对知识图谱设计,因此无法高效地利用知识图谱的全部信息。 例如,该类方法难以利用多跳的知识,也难以引入关系(relation)的信息。
  • 以PER 、MetaGraph为代表的基于路径的推荐方法(path-based methods)。该类方法将知识图谱视为一个异构信息网络(heterogeneous information network),然后构造物品之间的基于meta-path或meta-graph的特征。
    简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。
    优点:充分且直观地利用了知识图谱的网络结构
    缺点:需要手动设计meta-path或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。

2.2 知识图谱特征学习

知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。
知识图谱特征学习是网络特征学习(network embedding)的一个子领域。一般而言,知识图谱特征学习的模型分类两类:

  • 基于距离的翻译模型(distance-based translational models)。这类模型使用基于距离的评分函数评估三元组的概率,将尾节点视为头结点和关系翻译得到的结果。这类方法的代表有TransE、TransH、TransR等;
    推荐系统与知识图谱概述_第1张图片
  • 基于语义的匹配模型(semantic-based matching models)。这类模型使用基于相似度的评分函数评估三元组的概率,将实体和关系映射到隐语义空间中进行相似度度量。这类方法的代表有SME、NTN、MLP、NAM等。

推荐系统与知识图谱概述_第2张图片

由于知识图谱特征学习为每个实体和特征学习得到了一个低维向量,而且在向量中保持了原图的结构和语义信息。因此,利用知识图谱特征学习,我们可以很方便地将知识图谱引入各种推荐系统算法中

概括地说,知识图谱特征学习可以:

  • 降低知识图谱的高维性和异构性;
  • 增强知识图谱应用的灵活性;
  • 减轻特征工程的工作量;
  • 减少由于引入知识图谱带来的额外计算负担。

2.3 知识图谱特征学习+推荐系统

将知识图谱特征学习应用到推荐系统中主要通过三种方式——依次学习、联合学习、以及交替学习。

  • 依次学习(one-by-one learning)。首先使用知识图谱特征学习得到实体向量和关系向量,然后将这些低维向量引入推荐系统,学习得到用户向量和物品向量;
    依次学习
  • 联合学习(joint learning)。将知识图谱特征学习和推荐算法的目标函数结合,使用端到端(end-to-end)的方法进行联合学习;
    联合学习
  • 交替学习(alternate learning)。将知识图谱特征学习和推荐算法视为两个分离但又相关的任务,使用多任务学习(multi-task learning)的框架进行交替学习。
    推荐系统与知识图谱概述_第3张图片

2.3.1 依次学习

步骤如下:

  1. 提取知识图谱特征
    ----实体连接 (entity linking)。即从文本中发现相关词汇,并与知识图谱中的实体进行匹配;
    ----知识图谱构建。根据所有匹配到的实体,在原始的知识图谱中抽取子图。子图的大小会影响后续算法的运行时间和效果:越大的子图通常会学习到更好的特征,但是所需的运行时间越长;
    ----知识图谱特征学习。使用知识图谱特征学习算法(如TransE等)进行学习得到实体和关系向量。
  2. 构建推荐模型

依次学习的优势在于知识图谱特征学习模块和推荐系统模块相互独立。
依次学习的缺点也正在于此:因为两个模块相互独立,所以无法做到端到端的训练。

2.3.2 联合学习

联合学习的核心是将推荐算法和知识图谱特征学习的目标融合,并在一个端到端的优化目标中进行训练。

联合学习的优劣势正好与依次学习相反。联合学习是一种端到端的训练方式,推荐系统模块的监督信号可以反馈到知识图谱特征学习中,这对于提高最终的性能是有利的。但是需要注意的是,两个模块在最终的目标函数中结合方式以及权重的分配都需要精细的实验才能确定。联合学习潜在的问题是训练开销较大,特别是一些使用到图算法的模型。

2.3.3 交替学习

推荐系统和知识图谱特征学习的交替学习类似于多任务学习的框架。该方法的出发点是推荐系统中的物品和知识图谱中的实体存在重合,因此两个任务之间存在相关性

将推荐系统和知识图谱特征学习视为两个分离但是相关的任务,采用多任务学习的框架,可以有如下优势

  • 两者的可用信息可以互补;
  • 知识图谱特征学习任务可以帮助推荐系统摆脱局部极小值;
  • 知识图谱特征学习任务可以防止推荐系统过拟合;
  • 知识图谱特征学习任务可以提高推荐系统的泛化能力。

采用交替训练的方式可以:固定推荐系统模块的参数,训练知识图谱特征学习模块的参数;然后固定知识图谱特征学习模块的参数,训练推荐系统模块的参数。

总结

知识图谱作为推荐系统的一种新兴的辅助信息,近年来得到了研究人员的广泛关注。未来,知识图谱和时序模型的结合知识图谱和基于强化学习的推荐系统的结合、以及知识图谱和其它辅助信息在推荐系统中的结合等相关问题仍然值得更多的研究。

你可能感兴趣的:(推荐系统与知识图谱)