推荐系统(6)---知识图谱 + 个性化推荐

转:

链接:https://www.jianshu.com/p/6a5e796499e8
链接:https://www.cnblogs.com/niuxichuan/p/9317711.html

一、知识图谱

背景:

知识图谱于2012年5月17日由Google正式提出,其初衷是为了提高搜索引擎的能力,改善用户的搜索质量以及搜索体验。随着人工智能的技术发展和应用,知识图谱逐渐成为关键技术之一,现已被广泛应用于智能搜索、智能问答、个性化推荐、内容分发等领域。

定义:

知识图谱的官方定义如下:知识图谱是Google用于增强其搜索引擎功能的知识库。本质上, 知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。(来自维基百科)。

知识图谱中包含的节点如下:

实体: 指的是具有可区别性且独立存在的某种事物。如某一个人、某一个城市、某一种植物等、某一种商品等等。世界万物由具体事物组成,此指实体。如图1的“中国”、“美国”、“日本”等。,实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。 概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等。
内容: 通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。
属性(值): 从一个实体指向它的属性值。不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值。如图1所示的“面积”、“人口”、“首都”是几种不同的属性。属性值主要指对象指定属性的值,例如960万平方公里等。
关系: 形式化为一个函数,它把 k k个点映射到一个布尔值。在知识图谱上,关系则是一个把k k个图节点(实体、语义类、属性值)映射到布尔值的函数。

三元组是知识图谱的一种通用表示方式,其基本形式主要包括(实体1-关系-实体2)(实体-属性-属性值)等。如下面的例子,中国是一个实体,北京是一个实体,中国-首都-北京 是一个(实体-关系-实体)的三元组样例。北京是一个实体 ,人口是一种属性2069.3万是属性值。北京-人口-2069.3万构成一个(实体-属性-属性值)的三元组样例。

 知识图谱用在推荐系统中的优势:

精确性:知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣。

多样性:通过知识图谱中不同的关系链接种类,有利于推荐结果的发散。

 可解释性:知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。

二、知识图谱与推荐系统相结合的方法

1、 基于特征的推荐方法

基于特征的推荐方法,主要是从知识图谱中抽取一些用户和物品的属性作为特征,放入到传统模型中,如FM模型、LR模型等等。这并非是专门针对知识图谱设计,同时也无法引入关系特征。

这类方法统一地把用户和物品的属性作为推荐算法的输入。例如,LibFM将某个用户和某个物品的所有属性记为x,然后令该用户和物品之间的交互强度y(x)依赖于属性中所有的一次项和二次项:

基于该类方法的通用性,我们可以将知识图谱弱化为物品属性,然后应用该类方法即可。当然,这种做法的缺点也显而易见:它并非专门针对知识图谱设计,因此无法高效地利用知识图谱的全部信息。例如,该类方法难以利用多跳的知识,也难以引入关系(relation)的信息。

2、 基于路径的推荐方法

基于路径的推荐方法,以港科大KDD 2017的录用论文《Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks》为代表。我们在后面也将一起学习这篇文章。

该类方法将知识图谱视为一个异构信息网络(heterogeneous information network),然后构造物品之间的基于meta-path或meta-graph的特征。简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。这类方法的优点是充分且直观地利用了知识图谱的网络结构,缺点是需要手动设计meta-path或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。

3、 知识图谱特征学习Knowledge Graph Embedding

知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。一般而言,知识图谱特征学习的模型分类两类:基于距离的翻译模型和基于语义的匹配模型。

基于距离的翻译模型(distance-based translational models)

这类模型使用基于距离的评分函数评估三元组的概率,将尾节点视为头结点和关系翻译得到的结果。这类方法的代表有TransE、TransH、TransR等;

 
 

上面三个方法的基本思想都是一样的,我们以TransE为例来介绍一下这些方法的核心思想。在空间中,三元组的头节点h、关系r、尾节点t都有对应的向量,我们希望的是h + r = t,如果h + r的结果和t越接近,那么我们认为这些向量能够很好的表示知识图谱中的实体和关系。

基于语义的匹配模型(semantic-based matching models)

类模型使用基于相似度的评分函数评估三元组的概率,将实体和关系映射到隐语义空间中进行相似度度量。这类方法的代表有SME、NTN、MLP、NAM等。

 
 

上述方法的核心是构造一个二分类模型,将h、r和t输入到网络中,如果(h,r,t)在知识图谱中真实存在,则应该得到接近1的概率,如果不存在,应该得到接近0的概率。

结合知识图谱特征学习的推荐系统

知识图谱特征学习与推荐系统相结合,往往有以下几种方式:依次训练、联合训练、交替训练。

 
 

依次训练的方法主要有:Deep Knowledge-aware Network(DKN)
联合训练的方法主要有:Ripple Network
交替训练主要采用multi-task的思路,主要方法有:Multi-task Learning for KG enhanced Recommendation (MKR)





原文地址:https://www.cnblogs.com/Lee-yl/p/11931522.html