公众号关注 “ML_NLP
设为 “星标”,重磅干货,第一时间送达!
转载自|PaperWeekly
©PaperWeekly 原创 · 作者|舒意恒

学校|南京大学硕士生
研究方向|知识图谱
知识库是用于知识管理的特殊数据库,通常由大量三元组构成,三元组形如(奥巴马,出生于,火奴鲁鲁),三者分别是三元组的 subject、predicate 和 object(主语、谓词和宾语),其中谓词也可被称作关系。
知识库问答尝试构建利用知识库信息的问答系统,关系识别是知识库问答中的重要环节,即识别出自然语言问题中所提及的知识库谓词(关系),将自然语言描述与知识库中的谓词联系起来。本文盘点近年来部分关于知识库问答关系识别的研究。
首先,我们需要了解关系识别这一问题的难点,在自然语言对关系的描述中,通常存在以下现象:
  • 表述形式多样:例如“be famous for”和“known for”两个短语,虽然在字面上的相似度很低,但实际上在语义上相近。关系的描述不同于实体,可能不局限于短语的形式,还可能是由包含连词、介词等的搭配描述。
  • 隐式关系可能需要推断,例如“Which Americans have been on the moon?” 其中 Americans 表示一个针对“出生”的额外的约束,但句中没有“is born”这类显式的约束。
  • 含义与上下文相关:同一谓词在不同的语境中可能表示不同的含义,需要我们在识别关系时利用整个句子的上下文信息。
  • 测试集中的未知关系:在训练模型时,训练集中包含的关系数量总是有限的,测试集中可能包含大量模型没有学习过的关系。
  • 正负样本的生成:对于一个句子,正确的关系链接结果可能只有数个,而关系链接工具却可能产生远超过这个数量的错误的关系链接候选作为负样本。对于一个分类模型,如何平衡正负样本的数量,如何提升负样本的质量,值得讨论。
而当前关系识别的基本思路,大体上至少包括:
  • 谓词词典:词典即通过算法生成或人工编写的数据,可直接为关系识别的算法所用。在 NLP 研究中,有单词到单词的词典,短语到短语的词典,但此处特指的是谓词到短语的词典。
  • 神经网络方法:相比词典而言,神经网络方法具有更好的模糊匹配和应对未知输入的能力。
需要注意的是,无论是谓词词典还是神经网络方法,它们的构建都是基于有限的谓词信息,对于没有见过或者没有学习过的关系,识别的性能可能会相对下降,且不同的方法所适用的知识库也可能是不同的。而对于神经网络方法来说,经过预训练的词嵌入模型能够提供一定的超越训练数据的泛化能力。
下面,本文将从四方面简介现有的关系识别的研究。
  1. 简单问答系统中的关系识别模型
  2. 词嵌入方法在关系识别中的应用
  3. 谓词词典在关系识别中的应用
  4. 未知关系的识别
简单问答系统中的关系识别模型
简单问答在此处指的是没有约束或聚合操作的,通过找到问题中所述的实体和关系,就能直接通过知识库中三元组进行回答的问答任务。在简单问答的过程中,实体和关系的链接是最关键的问题,是找到知识库中相关三元组无法回避的问题。
ACL 2016《Simple Question Answering by Attentive Convolutional Neural Network》一文尝试使用注意力卷积神经网络做简单问答,如下图所示,包含两个主要步骤:实体链接与事实选择。其事实所指的是知识库中三元组表示的事实。
  • 实体链接:通过字符级 CNN 将事实候选中的主语实体与问题中的实体描述进行匹配。
  • 谓词链接:通过单词级 CNN 将该事实中的谓语与问题进行匹配。
使用 CNN 处理文本,尤其应对形态多变的关系描述,存在着固有的缺陷:关系的描述可能并不局限在一个文本的局部,长距离依赖是可能存在的,且长度不便预估。
ACL 2017《Improved Neural Relation Detection for Knowledge Base Question Answering》尝试更好地揣摩自然语言问题的含义,其任务相比于上文更加简单,匹配自然语言问题与知识库关系,给出相似度。
作者构建了一个如下图所示的分层 RNN 尝试实现这一点,一个深度残差双向 LSTM 被用于在不同的抽象层次表示问题。对于关系表示,作者使用了关系级表示和单词级表示,并通过最大池化将二者融合。
不过,个人认为即使作者通过消融实验说明利用残差学习的双层 Bi-LSTM 能够取得更好的效果,却很难从除参数规模以外的方面解释双层网络在问题理解上的优势。
词嵌入方法在关系识别中的应用
ICSC 2019《Evaluating Architectural Choices for Deep Learning Approaches for Question Answering over Knowledge Bases》通过实验研究知识库问答中的深度学习方法架构选择,其中在谓词预测任务中设定了下列架构:
  • BiLSTM-Softmax:标准的 BiLSTM softmax 分类器预测问题属性,输出范围覆盖训练过程中见过的所有属性
  • BiLSTM-KB:预测与预训练 KB 嵌入中最接近的谓词表示匹配的谓词低维表示
  • BiLSTM-Binary:二元决策,判断一对(主体,谓词)是否匹配给定问题
  • FastText-Softmax:使用 FastText 作为分类器预测属性
简单的结论是,作者认为 FastText 提供了更好的效果。FastText 是一个使用神经网络的词嵌入方法,表现出相对 BiLSTM 的各类方法的优越性。
ISWC 2019《Pretrained Transformers for Simple Question Answering over Knowledge Graphs》研究 BERT 在 SIMPLEQUESTIONS(简单问答的基准测试) 上的表现,并提供了在有限数据情况下基于 BERT 和 BiLSTM 的模型的评估。
可见,关系识别相比于实体的识别,对于数据量的要求更加严苛,而在相同数据量的情况下使用 BERT 的表现总是好于 BiLSTM。词嵌入与预训练模型的一个优势在于能引入外部的语言知识,来弥补有限的训练数据。
谓词词典在关系识别中的应用
重述(paraphrase),即同一个意思的不同文本表达方式,是理解知识库谓词的一种方法。即使是人类学习语言,在应对同一语义的大量不同表述时,可能最简单的方法也不过是记忆。
EMNLP 2012《PATTY: A taxonomy of relational patterns with semantic types》一文中介绍了一种经典的谓词词典的构造方法,而 AAAI 2020《The Value of Paraphrase for Knowledge Base Predicates》指出了前者的问题,并提出了一个优化后的谓词词典。部分现有词典的概览如上图所示。
Patty 是一个谓词到短语的词典,包含 225 个谓词和 127,811 个谓词-短语对。可见其谓词数量相当有限,并被后者认为其中存在一定的错误。
后者收集了 DBpedia(一个基于维基百科构建的知识库)中的 2,284 个谓词和 31,130 个谓词-短语对,其包含的谓词数量大幅提升,并去除了许多错误的短语。在问答系统之外,作者还尝试将该词典应用于问题生成任务。
作者通过实验证明,其新词典在 QALD(一项链接数据上构建问答系统的评估竞赛)上的表现有一定提升,其中带 * 表示使用新词典,如下图所示。
个人认为,即使通过大量运算和人工构建词典,并不断优化内容,一个好的词典对关系识别任务的影响也停留在量上的进步,对于一个有一定关系识别能力的问答系统,引入词典或许仅仅是一种辅助手段。词典存在容量限制,若要维护其与时俱进更是需要成本。
未知关系的识别
深度学习本质是经验主义的发展,而未知关系超出了经验的范畴,即训练数据中包含的关系总是有限的,需要通过额外的信息缓解这一缺陷。
ACL 2019《Learning Representation Mapping for Relation Detection in Knowledge Base Question Answering》认为利用知识图谱嵌入的预训练模型是一种方法。
预训练模型产生的关系表示不直接适用于特定的任务,若将它作为初始表示,可根据有标签的训练数据对模型进行微调,即相当于利用预训练模型丰富的语言知识,同时重点考虑如何将它的通用表示应用到关系识别任务中来。
但是,未知关系,即训练数据中没有见过的关系,其表示无法在微调中被更新。因此,作者尝试构建关系表示的适配器(adapter),以将通用目标的表示转换为任务特定的表示。
如上图所示,作者提出两种适配器的实现,分别是基础适配器和对抗适配器。对于基础适配器,直接使用线性映射;对于对抗适配器,其中的生成器尝试生成足够接近真实关系映射后的表示,而判别器尝试区分生成的虚假表示和真实的关系映射。
在设计完适配器后,其关系识别模型的整体架构类似于前文所述的分层 RNN 模型。
小结
个人认为,早前的问答系统的研究关注于简单问题,而解决简单问题中最重要的步骤就是实体链接与关系识别,它们直接决定了找到知识库中相关三元组的方法。而随着词嵌入方法和预训练模型的兴起,它们也被应用到关系识别任务中。
词典是一种直接记忆大量谓词表述的方法,如何利用众包和机器挖掘算法构造高质量的适用于不同数据集的有一定覆盖范围的词典,仍然是值得长期研究的课题。
而无论是神经网络方法还是利用谓词词典,它们所能记忆或者学习的谓词数量一定是有限的,在应用场景中仍然可能存在大量模型没有见过的关系,而要缓解这一问题,可能需要引入更多知识库外部的语言知识。
预训练模型通常不是为了某一个特定的 NLP 任务构建的,而要应用到具体的 NLP 下游任务中,需要进行一定的微调或转换。在关系识别任务中这一点也适用。
另外,现有的部分方法中,对自然语言问题的表示和对关系的表示是分离的,将这二者分别学习出表示再进行匹配与评分,不妨考虑如何通过注意力等模型找出问题中的关键信息,再与关系进行匹配。
参考文献
[1] ACL 2016|Simple Question Answering by Attentive Convolutional Neural Network
[2] ACL 2017|Improved Neural Relation Detection for Knowledge Base Question Answering
[3] ICSC 2019|Evaluating Architectural Choices for Deep Learning Approaches for Question Answering over Knowledge Bases
[4] ISWC 2019|Pretrained Transformers for Simple Question Answering over Knowledge Graphs
[5] EMNLP 2012|PATTY: A taxonomy of relational patterns with semantic types
[6] AAAI 2020|The Value of Paraphrase for Knowledge Base Predicates
[7] ACL 2019|Learning Representation Mapping for Relation Detection in Knowledge Base Question Answering
下载1:四件套
在机器学习算法与自然语言处理公众号后台回复“四件套”
即可获取学习TensorFlow,Pytorch,机器学习,深度学习四件套!
下载2:仓库地址共享
在机器学习算法与自然语言处理公众号后台回复“代码”
即可获取195篇NAACL+295篇ACL2019有代码开源的论文。开源地址如下:https://github.com/yizhen20133868/NLP-Conferences-Code
重磅!机器学习算法与自然语言处理交流群已正式成立
群内有大量资源,欢迎大家进群学习!
额外赠送福利资源!邱锡鹏深度学习与神经网络,pytorch官方中文教程,利用Python进行数据分析,机器学习学习笔记,pandas官方文档中文版,effective java(中文版)等20项福利资源
获取方式:进入群后点开群公告即可领取下载链接
注意:请大家添加时修改备注为 [学校/公司 + 姓名 + 方向]
例如 —— 哈工大+张三+对话系统。
号主,微商请自觉绕道。谢谢!
继续阅读
阅读原文