关于知识图谱,各路大神最近都在读哪些论文?

TheWebConf 2018

■ 链接 | https://www.paperweekly.site/papers/1956

■ 解读 | 花云程,东南大学博士,研究方向为自然语言处理知识图谱问答

动机

对于 KBQA 任务,有两个最为重要的部分:其一是问题实体识别,即将问题中的主题实体识别出来,并与 KB 做实体链接;其二是谓词映射

对于主题实体识别任务,之前的做法多为依靠字符串相似度,再辅以人工抽取的特征和规则来完成的。但是这样的做法并没有将问题的语义与实体类型、实体关系这样的实体信息考虑进来。

实体类型和实体关系,很大程度上,是与问题的上下文语义相关的。当只考虑实体关系时,会遇到 zero-shot 的问题,即测试集中某实体的关系,是在训练集中没有遇到过的,这样的实体关系就没法准确地用向量表达。 

因此,为了解决上述问题,本文首先利用 entity type(实体类型)的层次结构(主要为实体类型之间的父子关系),来解决 zero-shot 的问题

如同利用 wordnet 计算 word 相似度的做法一般,文章将父类型的“语义”视为所有子类型的“语义”之和。一个实体总是能够与粗颗粒的父类型相关,例如一个实体至少能够与最粗颗粒的 person、location 等类型相连。这样,利用实体所述的类型,在考虑实体上下文时,就可以一定程度上弥补实体关系的 zero-shot 问题。

此外,本文建立了一个神经网络模型 Hierarchical Type constrained Topic Entity Detection (HTTED),利用问题上下文、实体类型、实体关系的语义,来计算候选实体与问题上下文的相似度,选取最相似的实体,来解决 NER 问题。

经过实验证明,HTTED 系统对比传统的系统来说,达到了目前最优的实体识别效果

贡献

文章的贡献有: 

  • 利用父子类型的层次结构来解决稀疏类型训练不充分的问题;

  • 设计了基于 LSTM 的 HTTED 模型,进行主题实体识别任务;

  • 提出的模型通过实验验证取得了 state-of-art 的效果。

方法

本文首先对于父子类型的层次结构进行解释和论述,也是 HTTED 的核心思想。

本文认为,父类型的语义视为接近于所有子类型的语义之和。例如父类型 organization 的语义,就相当于子类型 company、enterprise 等语义之和。如果类型是由定维向量表示,那么父类型的向量就是子类型的向量之和。

此外,由于在数据集中,属于子类型的实体比较稀疏,而父类型的实体稠密,如果不采用文中的方法,那么稀疏的子类型将会得不到充分的训练。若将父类型以子类型表示,那么父子类型都可以得到充分地训练。

 图1:HTTED模型图

其次是对文中模型的解释。如上图 1 所示,HTTED 使用了三个编码器来对不同成分编码。 

其一,是问答上下文编码器,即将问题经过分词后得到的 tokens,以预训练得到的词向量来表示,并依次输入双向 LSTM 进行第一层的编码;此后,将双向 LSTM 得到的输出拼接,再输入第二层的 LSTM 进行编码,即得到表示问题上下文的 d 维向量 q。 

其二,是实体类型编码器,即对于某个候选实体 e,得到其连接的类型,并将父类型以所有子类型向量之和表示,再将这些类型对应的向量输入一个 LSTM 中进行编码,得到实体类型的 d 维向量 et。 

其三,是实体关系编码器,即对于某个候选实体 e,得到其所有实体关系,并表示成向量。此外,对于实体关系,将其关系名切割为 tokens,并以词向量表示。然后将实体关系和实体关系名这两种向量,输入一个 LSTM 中进行编码,得到实体关系的d维向量 er。 

得到三个向量后,文章认为实体的语义可以由实体类型、实体关系近似表达,所以有:

而在训练时,设置一个 margin,则 ranking loss 为:

其中 γ 为超参数

实验结果

文章使用单关系问答数据集 SimpleQuestions 和知识图谱 FB2M,并有 112 个具有层次父子关系的实体类型。

HTTED 的词向量为经过预训练的,关系向量是初始随机的,而类型向量中,叶子类型初始随机,父类型的向量由子类型的向量累加得到。如下图 2 所示,为 HTTED 与其他系统的效果对比,其中 -Hierarchy表示 HTTED 去除了实体类型的层次结构表示。

 图2:主题实体识别效果对比图

由图 2 可见,HTTED 为 state-of-art 的效果。并且,将实体类型的层次结构去除,HTTED 的准确性下降很多。可见层次类型约束对于该模型的重要性。 

由下图 3 可见,由于使用了层次结构的类型,同名的实体被识别出来,但是与问题上下文更相关的实体都被挑选出来,所以能够正确识别到主题实体。

 图3:主题实体识别示例图

总结 

这篇文章,主要有两个主要工作:其一,是引入了层次结构的实体类型约束,来表达实体的语义,使得与问题上下文相关的实体,更容易被找到;其二,是建立了基于 LSTM 的 HTTED 模型,提高了主题实体识别的效果。

AAAI 2018

■ 链接 | https://www.paperweekly.site/papers/1957

■ 解读 | 张文,浙江大学博士生,研究方向知识图谱的分布式表示与推理

动机

知识图谱的分布式表示旨在将知识图谱中的实体和关系表示到连续的向量空间中,本文考虑的问题是如何将知识库的分布式表示和逻辑规则结合起来,并提出了一个新的表示学习方法 RUGE (Rule-Guided Embedding)

贡献 

1. 本文提出了一种新的知识图谱表示学习方法 RUGE,RUGE 在向量表示 (embeddings) 的学习过程中迭代地而非一次性地加入了逻辑规则的约束; 

2. 本文使用的是已有算法自动挖掘的规则,RUGE 的有效性证明了算法自动挖掘的规则的有效性;

3. 本文提出的方法 RUGE 具有很好的通用型,对于不同的逻辑规则和不同置信度的规则的鲁棒性较好。

方法 RUGE 

RUGE 方法的输入有三个部分: 

  • 已标记的三原组知识库中已有三元组;

  • 未标记的三元组知识库中不存在的三元组。在这篇论文中未标记的三元组只考虑了能够由逻辑规则推导出的三元组;

  • 概率逻辑规则:本文主要考虑了一阶谓词逻辑规则,每一个逻辑规则都标有一个成立的概率值。实验中使用的概率规则来自于规则自动挖掘系统 AMIE+。

模型核心想法如下:

三元组表示:

本文采用了 ComplEx 作为基础的知识库分布式表示学习的模型,在 ComplEx中,每一个实体和关系都被表示为一个复数向量,一个三元组 (e_i,r_k,e_j) 的得分函数设计如下:

其中 Re<x> 表示取 x 实部的值,bar{e}_j 为 e_j 的共轭向量。正确的三元组得分函数值会较高而不正确的三元组得分函数的值会较低。 

逻辑规则的表示:

本文借鉴了模糊逻辑的核心思想,将规则的真值看作其组成部件真值的组合。例如一个已经实例化的规则 (e_u, e_s,e_v) =(e_u, e_t,e_v) 的真值将由 (e_u, e_s,e_v) 和 (e_u, e_t,e_v) 的真值决定。根据(Guo et al. 2016)的工作,不同逻辑算子的真值计算如下:

由上三式可推出规则真值计算公式:

此规则计算公式是后面规则应用的一个重要依据。

未标记三元组标签预测:

这一步是整个方法的核心,目的在于对未标记三元组的标签进行预测,并将这些三元组添加到知识图谱中,再次进行知识图谱的分布式表示学习训练,修正向量结果。

标签预测的过程主要有两个目标:

目标一:预测的标签值要尽可能接近其真实的真值。由于预测的三元组都是未标记的,本文将由当前表示学习的向量结果按照得分函数计算出的结果当作其真实的真值。

目标二:预测的真值要符合对应逻辑规则的约束,即通过规则公式计算出的真值要大于一定的值。其中应用的规则计算公式如下:

其中 φ(e_u, e_s,e_v) 是当前向量表示计算的结果,s(e_u, e_t,e_v) 是要预测的真值。真值预测的训练目标如下:

通过对上式对求 s(x_u) 导等于 0 可得到 s(x_u) 的计算公式: 

向量表示结果的修正:

将预测了标签的三元组添加到知识图谱中,和已由的三元组一起进行训练,来修正向量学习,优化的损失函数目标如下:

上式前半部分是对知识图谱中真实存在的三元组的约束,后半部分为对预测了标签的三元组的约束。 

以上步骤在模型训练过程中迭代进行。

实验

链接预测:

从实验结果可以看出,规则的应用提升了表示学习的结果

EMNLP 2017


■ 链接 | https://www.paperweekly.site/papers/713

■ 解读 | 刘兵,东南大学在读博士,研究方向为自然语言处理

动机

近年来基于深度学习方法的远程监督模型取得了不错的效果,但是现有研究大多使用较浅的 CNN 模型,通常一个卷基层加一个全连接层,更深的 CNN 模型是否能够更好地解决以有噪声的标注数据为输入的远程监督模型没有被探索。

为了探索更深的 CNN 模型对远程监督模型的影响,本文设计了基于残差网络的深层 CNN 模型。实验结果表明,较深的 CNN 模型比传统方法中只使用一层卷积的简单 CNN 模型具有较大的提升。

方法

本方法的模型结构如下图所示: 

输入层:每个单词使用词向量和位置向量联合表示;

卷基层:为了得到句子更高级的表示,采用多个卷基层堆叠在一起。为了解决训练时梯度消失的问题,在低层和高层的卷基层之间建立捷径连接;

池化层和 softmax 输出层

实验

实验在远程监督常用的数据集 NYT-Freebase 上进行。实验结果表明: 

本文提出的方法采用 9 个卷基层时达到最好的效果,这时不适用注意力机制和 piecewise pooling 性能也接近了使用注意力和 piecewise pooling 的方法。结果如下表所示。

不使用残差网络的深层 CNN 模型,当层数较深时效果变差。使用残差网络可以解决其无法传播的问题,效果改善很多;结果如下图所示。


EMNLP 2017



■ 链接 | https://www.paperweekly.site/papers/1960

■ 源码 | http://github.com/LiyuanLucasLiu/ReHession

■ 解读 | 刘兵,东南大学博士,研究方向为自然语言处理

动机

现有的关系抽取方法严重依赖于人工标注的数据,为了克服这个问题,本文提出基于异种信息源的标注开展关系抽取模型学习的方法,例如知识库、领域知识。

这种标注称作异源监督(heterogeneous supervision),其存在的问题是标注冲突问题,即对于同一个关系描述,不同来源的信息标注的结果不同。这种方法带来的挑战是如何从有噪声的标注中推理出正确的标签,以及利用标注推理结果训练模型。 

例如下面的句子,知识库中如果存在 <Gofraid,born_in, Dal Riata> 这个三元组,则将下面的句子标注为 born_in 关系;而如果使用人工模板“* killed in*”进行匹配,则会将该句子标注为 kill_in 关系。

Gofraid(e1) died in989, said to be killed in Dal Riata(e2).

为了解决这个问题,本文提出使用表示学习的方法实现为关系抽取提供异源监督

创新点

本文首次提出使用表示学习的方法为关系抽取提供异源监督,这种使用表示学习得到的高质量的上下文表示是真实标签发现和关系抽取的基础。

方法

文章方法框架如下:

 关系描述表示方法

1. 文本特征的向量表示。从文本上下文中抽取出文本特征(基于pattern得到),简单的one-hot方法会得到维度非常大的向量表示,且存在稀疏的问题。为了得到更好的泛化能力,本文采用表示学习的方法,将这些特征表示成低维的连续实值向量;

2. 关系描述的向量表示。在得到文本特征的表示之后,关系描述文本依据这些向量的表示生成关系描述的向量表示。这里采用对文本特征向量进行矩阵变换、非线性变换的方式实现;

3. 真实标签发现。由于关系描述文本存在多个可能冲突的标注,因此发现真实标签是一大挑战。此处将每个标注来源视为一个标注函数,这些标注函数均有其“擅长”的部分,即一个标注正确率高的语料子集。本方法将得到每种标注函数擅长的语料子集的表示,并以此计算标注函数相对于每个关系描述的可信度,最后综合各标注函数的标注结果和可信度,得到最终的标注结果;

4. 关系抽取模型训练。在推断了关系描述的真实标签后,将使用标注的语料训练关系抽取器。

值得指出的是,在本方法中,每个环节不是各自独立的,真实标签发现与关系抽取模型训练会相互影响,得到关系上下文整体最优的表示方法。

实验结果

本文使用 NYT 和 Wiki-KBP 两个数据集进行了实验,标注来源一方面是知识库,另一方面是人工构造的模板。每组数据集进行了包含 None 类型的关系抽取,和不包含 None 类型的关系分类。

结果如下表所示,可见本文的方法相比于其他方法,在两个数据集的四组实验中均有较明显的性能提升。

ACL 2017

■ 链接 | https://www.paperweekly.site/papers/1961

■ 源码 | https://github.com/stanfordnlp/cocoa

■ 解读 | 王旦龙,浙江大学硕士,研究方向为自然语言处理

本文研究了对称合作对话(symmetric collaborative dialogue)任务,任务中,两个代理有着各自的先验知识,并通过有策略的交流来达到最终的目标。本文还产生了一个 11k 大小的对话数据集

为了对结构化的知识和非结构化的对话文本进行建模,本文提出了一个神经网络模型,模型在对话过程中对知识库的向量表示进行动态地修改。

任务

在对称合作对话任务中,存在两个 agent,每个代理有其私有的知识库知识库由一系列的项(属性和值)组成。两个代理中共享一个相同的项,两个代理的目标是通过对话找到这个相同的项。 

数据集

本文建立了一个对称合作对话任务数据集,数据集中知识库对应的 schema  中包含 3000 个实体,7 种属性。数据集的统计信息如下所示:

模型

针对对称合作对话任务,本文提出了 DynoNet (Dynamic Knowledge GraphNetwork),模型结构如下所示:

Knowledge Graph 

图谱中包含三种节点:item 节点,attribute 节点,entity 节点。图谱根据对话中的信息进行相应的更新。

Graph Embedding 

t 时刻知识图谱中每个节点的向量表示为 V_t(v),向量表示中包含了以下来源的信息:代理私有知识库的信息,共享的对话中的信息,来自知识库中相邻节点的信息。

Node Features 

这个特征表示了知识库中的一些简单信息,如节点的度(degree),节点的类型。这个特征是一个 one-hot 编码。

Mention Vectors 

Mentions vector M_t(v) 表示在 t 时刻的对话中与节点 v 相关的上下文信息。对话的表示 u_t 由个 LSTM 络计算得到(后文会提到),为了区分 agent 自身产生的对话语句和另一个代理产生的对话语句,对话语句表示为:

Mentions Vector 通过以下公式进行更新:

Recursive Node Embeddings 

一个节点对应的向量表示也会受到相邻其他节点的影响:

其中 k 表示深度为 k 的节点,R 表示边对应的关系的向量表示。

最后节点的向量表示为一系列深度的值的连接结果。

本文中使用了:

Utterance Embedding 

对话的向量表示 u_t 由一个 LSTM 网络计算得到。

其中 A_t 为实体抽象函数,若输入为实体,则通过以下公式计算:

若不为实体,则为文本对应的向量表示进行 zero padding 的结果(保证长度一致)。

使用一个 LSTM 进行对话语句的生成:

输出包含字典中的词语以及知识库中的实体:

实验结果

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门KBQA问题实体识别谓词映射神经网络模型标签预测自然语言处理知识图谱
41
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

卷积技术

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

推荐文章