首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关系抽取任务-进阶之路

关系抽取任务-进阶之路

任务定义

关系抽取(Relation Extraction, RE)是自然语言处理的任务之一。该任务的定义是,给定标注了两个实体的句子,返回两个实体之间的语义关系。比如,给定句子“1993年2月15日,李彤出生在吉林某城市。”,其中和标签表示实体标注,返回关系“人-出生地”。关系抽取任务得到的结果常用于问答系统和知识图谱等应用,是基础且重要的自然语言处理任务。

本文将带领读者一步步了解关系抽取任务的解决方案以及主要挑战。

Level 0: TextCNN[1]

根据关系抽取任务的定义,可以将该任务抽象成一个文本分类的任务。一般文本分类的任务大概的思路即是抽取文本的特征,然后使用这些抽取的特征训练一个分类器。

在开始介绍关系抽取任务的解决方案之前,先来回顾一下TextCNN方法,这是一个基于深度学习的文本分类模型,也是本文接下来要介绍的关系抽取任务解决方案的基础。

在TextCNN方法中,使用了卷积神经网络来对文本特征进行抽取和计算,不同于计算机视觉领域的使用,在文本分类方法中,使用一维的卷积神经网络来进行特征的提取。如下图所示,

图片 1

TextCNN的输入是一条句子中的每个单词的词向量,然后使用不同窗口大小的一维卷积核进行计算,然后将得到了每个通道的结果进行max-over-time pooling计算,再将不同通道的结果拼接到一起,得到最后的向量表示。TextCNN的结果向量的长度仅依赖于一维卷积计算的通道数,所以可以适用于不同长度的句子进行特征提取。

Level 1: TextCNN + Position Embedding[2]

在了解了TextCNN方法后,我们正式进入到关系抽取任务中。通过上述关于TextCNN方法的描述,我们可以知道如果仅使用基础的TextCNN来完成关系抽取任务,那么则会完全忽略掉句子中的实体标注信息,也就是模型并不知道句子中的哪两个单词是需要提取关系的实体。同时,一条句子中的单词根据其相对于两个实体的位置,其对两个实体之间关系的贡献也不同,假设距离两个实体越近的单词,越可能表示两个实体的关系。

所以,在上述的分析下,面向关系抽取的TextCNN方法,加入了Position Embedding的概念。如下图所示,根据一个单词和两个实体的相对位置,可以提取出两个特征,分别是单词和实体1的相对距离以及和实体2的相对距离。然后在TextCNN模型中,将这两个特征embedding的结果拼接在每个单词的词向量后,在单词的语义信息中加入了位置信息,将TextCNN方法从单纯的文本分类方法修改到了面向关系提取的方法。

图片2

Level 2: PCNN[3]

在加入了Position Embedding后,虽然方法已经在关系抽取任务上表现不错,但是研究者仍然继续思考关系抽取任务的特点,并加以改进。

研究者发现,一条句子,可以通过两个实体进行划分,,根据这种划分可以将一条句子分成三段,分别是,,,然后进行了假设,不同区域的单词对关系的贡献是不同的,表示两个实体之间关系的单词更可能出现在两个实体之间的部分。但是在TextCNN方法中,通过卷积计算得到的结果要通过max-over-time pooling计算,将每个通道得到结果取最大值作为结果,这样的就完全同意忽略了不同区域的问题,所以研究者提出了PCNN(Piecewise Convolutional Neural Network),来解决这个问题。

模型结构如下图所示,在上述的TextCNN+Position Embedding的基础上添加了Piecewise的操作,即是将一维卷积计算得到的结果,按照实体的位置进行分割,得到三个区域的结果,再分别进行max-over-time pooling计算。这样,通过对句子的Piecewise操作,可以更好的表示不同区域的文本特征,得到更优的结果。

图片3

主要挑战:Noisy Data from

Distant Supervision[4]

在了解了PCNN后,我们先不继续关系分类任务解决方案的介绍,先来看一下在关系分类任务中的主要挑战,也就是远程监督数据集中的噪声数据。

在大部分的自然处理任务中,都分成两个部分,模型和数据,数据表示如何构造一个大而丰富,同时也要正确的数据集。而这样的数据集往往需要大量的人力进行手动构建,所以关系抽取任务的数据集往往都很小。而远程监督(Distant Supervision)即是解决这个问题,这是一种快速自动构建关系抽取任务数据集的方法。方法比较简单,通过现有知识库中的三元组对无标注的文本进行对齐,如果三元组中的两个实体都出现在一条句子中,则将这个句子中两个实体的关系标注为三元组中的关系。

这样的方法虽然高效快速,但是也会带来大量的噪声数据,如下图所示,在下图的两个句子中,都同时出现了“Apple”和“Steve Jobs”两个实体,所以远程监督的方法会将这两条句子都标注为“/business/company/founders”关系,但是在句子2中,这两个实体之间其实没有表示这个关系,但是远程监督的方法仍然会将其标注,也就是在数据集中引入了噪声,这样的噪声是不可控的,所以虽然远程监督的方法可以快速构造非常巨大的数据集,但是其产生的噪声也是让人非常头痛的问题,也是关系抽取任务中的主要挑战。

图片4

Level 3: Multi-Instance Learning[3]

在了解了远程监督所带来的问题后,我们继续关系抽取任务的解决方案,接下来的方法都是针对如何解决远程监督数据集中的噪声问题。

根据远程监督数据集的特点,研究者们将多示例学习(Multi-Instance Learning)的方法加入到了关系抽取任务中,多示例学习方法是由监督学习演变而来的,相较于输入一系列被单独标注的示例,在多示例学习中,输入的是一系列被标注的“包(bag)”,每个“包”都包括了许多示例。举一个二元分类的例子,当一个包中所有的示例都是负例时,这个包会被标注为负包。而一个包至少包含一个正例时,这个包则被标注为正包。

而在关系抽取任务,研究者根据每个实体对进行划分,将包含相同实体对的句子划分成一个包,包则标注为相应的关系。根据远程监督带来的噪声问题,每个包中含有正例和部分噪声,再加入了多示例学习后,关系抽取任务从句子级别的分类任务变成包级别分类任务。

在特征提取部分,仍然使用上面介绍的PCNN方法,在对每个包中的句子进行特征抽取后,根据句子不同的置信度,选择包中置信度较高的句子进行学习,并进行分类。使用多示例学习的方法可以通过置信度来对包中的句子进行选择,来避免对噪声数据进行学习。

Level 4: Sentence-Level Attention[5]

在引入了多示例学习之后,虽然可以减少噪声数据,但是也同样忽略了部分正确的数据,因为仅仅是根据置信度的选择,在避免噪声数据的同时,也会将部分正确的数据错误的认为是噪声数据。根据这个问题,有研究者在多示例学习的基础上提出了句子级别的注意力方法(Sentence-Level Attention)来解决这个问题,在使用所有数据进行计算的情况下,减少噪声数据对结果的影响。

同样是使用上述的PCNN进行特征提取,在对一个包中所有的句子进行特征提取后,通过注意力的机制,计算包中每条句子的权重,再将包中的句子根据权重进行加和计算,得到包级别的特征表示,在进行分类器得到最后的结果。

通过句子级别的注意力机制,可以给一个包中标注正确的句子较高的权重,而包中的噪声数据则是比较低的权重,在使用所有正确数据的情况下,也可以高效的减少噪声数据对结果的影响。

总结

本文介绍了关系抽取任务的解决方案以及主要挑战,介绍了由TextCNN方法为基础,逐渐根据关系抽取任务的特点发展的一系列方法,以及面对远程监督带来的噪声问题,研究者们对该问题的思考与解决,希望能够大家的研究工作一定的帮助,谢谢。

参考文献

[1] Convolutional Neural Networks for Sentence Classification, EMNLP 2014

[2] Relation Classification via Convolutional Deep Neural Network, ACL 2014

[3] Distant supervision for relation extraction without labeled data, ACL 2009

[4] Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks, EMNLP 2015

[5] Neural Relation Extraction with Selective Attention over Instances, ACL 2016

快,关注这个公众号,一起涨姿势~

转载请联系

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180522G1QOLD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券