信息抽取(information extraction),简称IE,即从自然语言文本中,抽取出特定的事件或事实信息,帮助我们将海量内容自动分类、提取和重构。这些信息通常包括实体(entity)、关系(relation)、事件(event)。 例如从新闻中抽取时间、地点、关键人物,或者从技术文档中抽取产品名称、开发时间、性能指标等。能从自然语言中抽取用户感兴趣的事实信息,无论是在知识图谱、信息检索、问答系统还是在情感分析、文本挖掘中,信息抽取都有广泛应用。
信息抽取主要包括三个子任务 : 关系抽取 :通常我们说的三元组(triple)抽取,主要用于抽取实体间的关系。 实体抽取与链指 :也就是命名实体识别。 事件抽取 :相当于一种多元关系的抽取。
关系抽取(RE)是为了抽取文本中包含的关系,是信息抽取(IE)的重要组成部分 。主要负责从无结构文本中识别出实体,并抽取实体之间的语义关系,被广泛用在信息检索、问答系统中。本文从关系抽取的 基本概念 出发,依据不同的视角对 关系抽取方法进行了类别划分 ;最后分享了基于深度学习的关系抽取方法常用的数据集,并总结出基于深度学习的关系抽取框架。
完整的关系抽取包括实体抽取和关系分类两个子过程。实体抽取子过程也就是命名实体识别,对句子中的实体进行检测和分类; 关系分类子过程对给定句子中两个实体之间的语义关系进行判断,属于多类别分类问题 。 例如,对于句子“青岛坐落于山东省的东部”,实体抽取子过程检测出这句话具有“青岛”和“山东”两个实体。关系分类子过程检测出这句话中“青岛”和“山东”两个实体具有“坐落于”关系而不是“出生于”关系。在关系抽取过程中,多数方法默认实体信息是给定的,那么关系抽取就可以看作是分类问题。
目前, 常用的关系抽取方法有5类,分别是基于模式匹配、基于词典驱动、基于机器学习、基于本体和混合的方法 。基于模式匹配和词典驱动的方法依靠人工制定规则,耗时耗力,而且可移植性较差,基于本体的方法构造比较复杂,理论尚不成熟。 基于机器学习的方法以自然语言处理技术为基础,结合统计语言模型进行关系抽取,方法相对简单,并具有不错的性能,成为当下关系抽取的主流方法,下文提到的关系抽取方法均为机器学习的方法 。 关于信息关系抽取,可以 从训练数据的标记程度 、 使用的机器学习方法 、 是否同时进行实体抽取 和 关系分类子过程以及是否限定关系抽取领域和关系专制 四个角度对机器学习的关系抽取方法进行分类。
根据训练数据的标记程度可以将关系抽取方法分为 有监督、半监督和无监督三类 。
有监督学习 ,处理的基本单位是包含特定实体对的句子,每一个句子都有类别标注。 优点 :取能够有效利用样本的标记信息,准确率和召回率都比较高。 缺点 :需要大量的人工标记训练语料,代价较高。
半监督学习 ,句子作为训练数据的基本单位,只有部分是有类别标注的。此类方法让学习器不依赖外界交互,自动地利用未标记样本来提升学习性能。
无监督学习 ,完全不需要对训练数据进行标注,此类方法包含实体对标记、关系聚类和关系词选择三个过程。
根据使用机器学习方法不同,可以将关系抽取划分为三类: 基于特征向量的方法 、 基于核函数的方法 以及 基于神经网络的方法 。
基于特征向量的方法 ,通过从包含特定实体对的句子中提取出语义特征,构造特征向量,然后通过使用支持向量机、最大熵、条件随机场等模型进行关系抽取。
基于核函数的方法 ,其重点是巧妙地设计核函数来计算不同关系实例特定表示之间的相似度。 缺点 :而如何设计核函数需要大量的人类工作,不适用于大规模语料上的关系抽取任务。
基于神经网络的方法 ,通过构造不同的神经网络模型来自动学习句子的特征,减少了复杂的特征工程以及领域专家知识,具有很强的泛化能力。
根据是否在同一个模型里开展实体抽取和关系分类,可以将关系抽取方法分为 流水线(pipeline)学习 和 联合(joint)学习两种 。
流水线学习 是指先对输入的句子进行实体抽取,将识别出的实体分别组合,然后再进行关系分类,这两个子过程是前后串联的,完全分离。
联合学习 是指在一个模型中实现实体抽取和关系分类子过程。该方法通过使两个子过程共享网络底层参数以及设计特定的标记策略来解决上述问题,其中使用特定的标记策略可以看作是一种序列标注问题。
根据是否限定抽取领域和关系类别,关系抽取方法可以划分为 预定义抽取 和 开放域抽取 两类。
预定义关系抽取 是指在一个或者多个固定领域内对实体间关系进行抽取,语料结构单一,这些领域内的目标关系类型也是预先定义的。
开放域关系抽取 不限定领域的范围和关系的类别。现阶段,基于深度学习的关系抽取研究集中于预定义关系抽取。
基于深度学习的关系抽取方法常用的数据集有 ACE关系抽取任务数据集 、 SemEval2010 Task 8数据集 、 NYT2010数据集 等.
ACE关系抽取任务数据集 :ACE2005关系抽取数据集包含599篇与新闻和邮件相关的文档,其数据集内包含7大类25小类关系。
SemEval2010 Task 8数据集 :该数据集包含9种关系类型,分别是Compoent-Whole、Instrument-Agency、Member-Collection、Cause-Effect、Entity-Destination、Content-Container、Message-Topic、Product-Producer和Entity-Origin。 考虑到实体之间关系的方向以及不属于前面9种关系的“Other”关系,共生成19类实体关系。其中训练数据 8000个,测试数据2717个。
NYT2010数据集 是Riedel等人在2010年将Freebase知识库中的知识“三元组”对齐到“纽约时报”新闻中得到的训练数据。该数据集中,数据的单位是句包,一个句包由包含该实体对的若干句子构成。其中,训练数据集从《纽约时报》2005—2006年语料库中获取,测试集从2007年语料库中获取。
基于深度学习的关系抽取方法模型构建的重点在于利用不同神经网络的特点来抽取样本的特征,以学习样本的向量表示。在学习过程中,根据所用的神经网络基本结构的不同,可将基于深度学习的关系抽取方法分为 基于递归神经网络(recursive neural network,Rec-NN)的方法 、 基于卷积神经网络的方法 、 基于循环神经网络(recurrent net neural net-work,RNN)的方法 和 基于混合网络模型的方法 四类。
基于递归神经网络的关系抽取方法 首先利用自然语言处理工具对句子进行处理,构建特定的二叉树,然后解析树上所有的相邻子节点,以特定的语义顺序将其组合成一个父节点,如下图3所示。这个过程递归进行,最终计算出整个句子的向量表示。向量计算过程可以看作是将句子进行一个特征抽取过程,该方法对所有的邻接点采用相同的操作。
由于句子含义跟单词出现的顺序是相关的,因此关系抽取可以看作是一个时序学习任务,可以使用循环神经网络来建模。 基于循环神经网络的方法 在模型设计上使用不同的循环神经网络来获取句子信息,然后对每个时刻的隐状态输出进行组合,在句子层级学习有效特征。在关系抽取问题中,对每一个输入,关系的标记一般只在序列的最后得到。Zhang等首次使用双向循环神经网络来进行关系抽取,提出了BRNN模型。如下图7 所示,在双向循环神经网络中某一时刻的输出不仅依赖序列中之前的输入,也依赖于后续的输入。
为了更好地抽取句子中的特征,研究人员 使用递归神经网络、卷积神经网络与循环神经网络3种网络及其他机器学习方法进行组合建模来进行关系抽取 。 Vu等提 出 了 基 于 文 本 扩 展 表 示 的ECNN和基于链接的UniBRNN模型 ,将每个神经网络得到的多个结果根据投票机制得到关系的最终抽取结果。 Xiao等将 注意力机制引入一个多级的循环神经网络 ,该方法使用文本序列作为输入,根据标记实体的位置将句子分为5部分,使用同一个双 向LSTM网络在3个子序列上独立学习,然后引入词层级的注意力机制关注重要的单词表示,分别得到子序列的向量表示;随后,使用双向RNN网络进一步抽取子序列和实体的特征,并再次使用注意力机制将其转换成句子的最终向量表示,并送入到分类器中。 Nguyen等将 传统基于特征的方法(log-linear模型)、卷积神经网络方法和循环神经网络方法使用集成、投票等机制进行组合 。 zhang等提出 在双向LSTM 的基础上叠加注意力机制 ,以及使用卷积神经网络层获取句子的表示,再送入到一个全连接层和softmax层进行分类。 在联合学习问题上,Zheng等 使用递归神经网络和卷积神经网络组合来进行联合学习 ,也是一种共享底层网络参数的方法。
[1]庄传志,靳小龙,基于深度学习的关系抽取研究综述[J].中文信息学报,2019,33(12):1-18.
更多自然语言处理相关知识,还请关注 AINLPer公众号 ,极品干货即刻送达。