知识图谱中的关系推理,究竟是个什么玩意儿?

关系推理是我全新接触的东西,虽然大一暑假的时候,留校做比赛有了解过神经网络的相关算法, 看过十多篇国内的论文,但这一次跟着刘老师的团队进行的这份工作,才让我真正的感受到了科研的魅力。

说起来,机器学习里那么多的方法,我对神经网络真的是真爱,这份喜爱大概来源自高中时看的某篇科幻小说吧~(不要打我……逃)

这一篇是刘老师交给我看的第一篇论文,从初期的配置环境,到后面直接一口气上全英文的论文,再到接触全新的一门Lua语言(因为论文的实现是用的Lua,我们项目组也在考虑要不要用Python来重写。)

总之,也不确定国内有多少人在看这篇论文,也不确定我自己的这一系列文章能对多少人有所帮助,只当是留下自己的一个学习过程吧。也希望能帮到项目组后面接触这篇论文的人。

那么下面切入正题。

首先是知识图谱这个东西。

知识图谱本质上是语义网络,是一种基于的数据结构,由节点(Point)(“实体”)和边(Edge)(“关系”)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。
如果你已经对机器学习、数据挖掘这类的一系列新兴玩意儿搞傻眼了的话,可以先看看这篇介绍:
数据挖掘、机器学习、深度学习,脸盲症入坑指南

一图胜千言!上图!
知识图谱中的关系推理,究竟是个什么玩意儿?

如果还是不太懂的可以去看相关链接【1】【2】,这里我不赘述了。

再来说关系推理

就我的理解而言,虽然目前的知识图谱上已经有了非常多的实体对和关系事实,但是由于数据的更新迭代以及不完整性,注定了这个知识图谱的不完整,同样,他里面也隐藏着我们难以轻易发现的信息。在论文中,给出了一个非常经典的介绍:

For example, we may have no evidence directly linking Melinda Gates and Seattle, however, we may infer with some likelihood that Melinda–lives-in– Seattle, by observing that the KB contains the path Melinda–spouse–Bill–chairman–Microsoft–HQ-in–Seattle. 
比如说,我们没有证据直接指明梅琳达·盖茨和西雅图的关系。然而,我们可以通过观察到知识图谱中包含这样的一条路径“梅琳达·盖茨 - 配偶 - 比尔·盖茨 -主席 - 微软 - 总部在 - 西雅图 ”,推测出梅林达可能居住在西雅图。
这就是一个完整的、从关系推导出结果的例子。

或许你会说,这条路径多简单,是个人都能猜到。那么从100条这样的路径中呢?你会得出怎样的信息,会如何对信息的选择进行预判,你得出的信息又到底是对是错?这就是关系推理需要进行的工作了。

目前国内外的关系推理模型主要基于三类:
知识图谱中的关系推理,究竟是个什么玩意儿?

接下来分开来讲

先放两张便于大家理解的图——(基于逻辑规则的关系推理里也包含了基于概率图,基于知识表达的我暂时没找到,这个文件讲的还不错,大家可以先看看这个QAQ)

知识图谱中的关系推理,究竟是个什么玩意儿?

基于逻辑规则的关系推理

  1. 建模依据:采用抽象或具象的Horn子句
  2. 本质:基于逻辑规则进行推理
  3. 代表性工作:

    • 马尔科夫逻辑网络(Markov Logic Network)模型
    • 基于贝叶斯网络的概率关系模型(Probabilistic Relational Models)
    • 基于统计机器学习的FOIL(First Order Inductive Learner)算法
    • PRA算法(Path Ranking Alogorithm)
    • SFE(Subgraph Feature Extraction)算法
    • HiRi(Hierarchical Random-walk inference)算法
  4. 优势:能够模拟人类的逻辑推理能力,有可能引入人类的先验知识辅助推理
  5. 缺点:尚未有效解决优势所带来的的一系列问题,包括专家依赖、复杂度过高等问题
  6. 发展趋势

    1. 逐渐摒弃对人工规则的依赖
    2. 转而借助模式识别的方式进行规则(模式特征)发现
    3. 采用机器学习方法进行特征建模

基于知识表达的关系推理

  1. 建模依据:将实体和关系映射到一个低维的embedding空间中,基于知识的语义表达进行推理建模
  2. 代表性工作:

    • RESCAL张量分解模型(Tensor Factorization Model)
    • SE(Structured Embedding)关系推理算法
    • TransE(Translating Embedding)算法
    • TransH算法
    • TransM算法
    • TransG模型
  3. 优势:生成知识表达时能够充分利用知识图谱已有的结构化信息
  4. 缺点:建模方法着眼于实体间的直接关联关系,难以引入并利用人类的先验知识实现逻辑推理

基于深度学习的关系推理

  1. 代表性工作:

    • 单层感知机模型SLM(Single Layer Model)
    • NTN神经张量模型(Neural Tensor Networks)
    • DKRL(Description-Embodied Knowledge Representation Learning)模型
    • Path-RNN模型
      然后这是以上概括的整体思维导图——

知识图谱中的关系推理,究竟是个什么玩意儿?

而在关系推理日益发展壮大的基础上,在为知识图谱扩容的时候,又可以倒过来为自动化知识质量评估技术做出贡献。也就是前面所说的怎么判断抽取到的资料,好不好、正不正确等。



EMNLP 2016

A Position Encoding Convolutional Neural Network Based on Dependency Tree for Relation Classification

  • 作者:Yunlun Yang, Yunhai Tong, Shulei Ma, Zhi-Hong Deng
  • 机构:School of Electronics Engineering and Computer Science, Peking University

本文的任务为关系分类,即对于给定句子中的给定实体对进行关系分类。本文叙述,传统特征选择的方法严重依赖于特征的质量以及词语资源,为了达到最优往往需要耗时的人工选择特征子集。基于核函数的方法虽然不必选择特征,但仍需精心设计的核函数并具有较大的计算开销。最近,随着神经网络的兴起,深度学习所提供的端到端的方法被应用于很多经典的自然语言处理问题。RNN和CNN已经被证明对关系分类具有极大帮助。

然而,一些研究工作表明传统的特征对于关系分类的神经网络方法仍有提高作用,可以提供更多的信息。一个简单而可行的方法是将词语级的特征和神经网络获取的特征简单组合(一般是连接起来),组合后的表示输入到分类器。另一种更加复杂的方法是根据句子的句法依存树调整神经网络的结构,取得了较好的效果。

本文认为,句法依存树在关系分类的任务上是很有价值的。本文发现实体对间的依存路径对关系分类更有价值,相比于整体句子的依存路径,由于其依存路径的距离往往小于句子的依存路径距离,剪枝后的实体间依存路径减少了很多噪声信息。为了更好的利用句法依存所提供的语言学知识,本文提出了基于句法依存树和的位置编码卷积神经网络方法PECNN。方法的过程图如下:

知识图谱中的关系推理,究竟是个什么玩意儿? 

每个词的表示由两部分构成:词向量、该词的依存树位置特征。位置特征的获取主要思想是将离散的位置映射到实数向量,它和词向量相似,只不过是将词替换为离散的距离。本文提出了两种方法来定义依存树中的位置特征TPF1、TPF2。TPF1中距离定义为当前词到目标实体的最短路径中依存弧的个数,映射方式和PF相同,即不同的距离随机初始化一个固定维度的向量,训练的过程中学习。一个词到实体的最短路径可以划分为两个子路径:被最低祖先节点分割,TPF2则将距离用二元组表示,分别代表两个子路径的长度。下图是各个词语到实体Convulsions的TPF1与TPF2:

知识图谱中的关系推理,究竟是个什么玩意儿? 

典型的CNN的一个卷积窗口每次获取当前词的邻近上下文词语作为输入,在本文中为了充分利用树结构信息,本文将当前词的父节点和子节点作为作为其邻近上下文输入到卷积窗口,相应的本文对卷积核也做了修改,使用了两种卷积核:Kernel-1、Kernel-2,具体定义见论文。其中Kernal-1旨在从依存树中多层次抽取特征,而Kernel-2专注于挖掘共享父节点的词之间的语义信息。两个核函数的大小均取3。最后将Kernel-1、Kernel-2分别池化并拼接在一起作为CNN输出。

笔者:本文利用卷积神经网络对实体关系进行分类,创新性地将依存树作为输入,将词在树中的位置信息嵌入式表示并拼接到词向量*同学习,同时,本文对CNN面向树结构设计了独特的卷积核。本文提出的方法在实体关系分类任务上,相比于未使用位置信息的CNN和LSTM取得了进一步提高。在实验中本文也将POS等特征融入PECNN,也取得了较好的结果。但文中似乎未探讨卷积核设计对结果的影响,面向树结构的卷积核的设计是否是本文独立提出的?读者可参看文中参考文献探寻一下。