由于传统机器学习的关系抽取方法选择的特征向量依赖于人工完成,也需要大量领域专业知识,而深度学习的关系抽取方法通过训练大量数据自动获得模型,不需要人工提取特征。2006年Hinton 等人(《Reducing the dimensionality of data with neural networks》)首次正式提出深度学习的概念。深度学习经过多年的发展,逐渐被研究者应用在实体关系抽取方面。目前,研究者大多对基于有监督和远程监督2种深度学习的关系抽取方法进行深入研究。此外,预训练模型Bert(bidirectional encoder representation from transformers)自2018年提出以来就备受关注,广泛应用于命名实体识别、关系抽取等多个领域。
有监督的深度学习关系抽取方法能解决经典方法中存在的人工特征选择、特征提取误差传播2大主要问题,将低层特征进行组合,形成更加抽象的高层特征,用来寻找数据的分布式特征表示。目前,有监督的关系抽取方法主要有流水线学习(pipeline)和联合学习(joint)两种。
流水线学习方法是指在实体识别已经完成的基础上直接进行实体之间关系的抽取。早期的流水式学习方法主要采用卷积神经网络(convolutional neural networks, CNNs)和循环神经网络(recurrent neural networks, RNNs)两大类结构。其中,CNNs多样性卷积核的特性有利于识别目标的结构特征,而RNNs能充分考虑长距离词之间的依赖性,其记忆功能有利于识别序列。随着深度学习的不断发展,研究者不断改进和完善CNN 和RNN 的方法,并产生了许多变体,如长短期记忆网络(long short term memory, LSTM)、双向长短期记忆网络(bidirectional long short term memory, Bi-LSTM)等,此外,随着图卷积神经网络(graph convolutional network, GCN)在自然语言处理领域的应用,GCN 也越来越多地用于挖掘和利用实体间的潜在信息,为解决关系重叠、实体重叠提供了新思路,从而进一步促进了关系抽取的发展。
① CNN
2014年Zeng等人(《Relation classification via convolutional deep neural network》)首次使用CNN 提取词级和句子级的特征,通过隐藏层和softmax层进行关系分类,提高了关系抽取模型的准确性;
Liu等人(《Convolution neural network for relation extraction》)在实体关系抽取方面使用简单的CNN 模型,该模型主要由输入层、卷积层、池化层和softmax层组成,输入词向量和距离向量等原始数据进行实体关系抽取;为了消除了文本大小的任意性所带来的不便;
Collobert等人(《Natural language processing (almost) from scratch》)利用设置大小固定的滑动窗口和在输入层和卷积层之上增添max层2种办法,提出了一种基于CNN 的自然语言处理模型,方便处理多种任务;
Nguyen等人(《Perspective from convolutional neural networks》)设计了多种窗口尺寸的卷积核的CNN 模型,能自动学习句子中的隐含特征,最大限度上减少了对外部工具包和资源的依赖;
Santos等人(《Classifying relations by ranking with convolutional neural networks》)使用逐对排序这一新的损失函数,有效地区分了关系类别;
Xu等人(《Semantic relation classification via convolutional neural networks with simple negative sampling》)融合卷积神经网络和最短依存路径的优势进行实体关系抽取,在公有数据集SemEval 2010Task8的评估结果中,F1值为85.4%,相比于不使用最短依存路径的方法提高了4.1%,验证了卷积神经网络和最短依存路径结合的有效性;
Ye等人(《Jointly extracting relations with class ties via effective deep ranking》)基于关系类别之间的语义联系,利用3 种级别的损失函数AVE,ATT,ExtendedATT,在包含10717条标注样例的SemEval-2010 Task 8中进行模型评估,最佳情况下准确率、召回率、F1值分别达到了83.7%,84.7%,84.1%,有效地提高了关系抽取方法的性能;
Fan等人(《structured minimally supervised learning for neural relation extraction》)提出了一种最小监督关系提取的方法,该方法结合了学习表示和结构化学习的优点,并准确地预测了句子级别关系。通过在学习过程中明确推断缺失的数据,该方法可以实现一维CNN 的大规模训练,同时缓解远程监管中固有的标签噪音问题。
在中文研究方面,孙建东等人(《Chinese entity relation extraction algorithms based on COAE2016 datasets》)基于COAE2016数据集的988条训练数据和937条测试数据,提出有效结合SVM 和CNN 算法可以用于中文实体关系的抽取方法。传统文本实体关系抽取算法多数是基于特征向量对单一实体对语句进行处理,缺少考虑文本语法结构及针对多对实体关系的抽取算法;基于此,高丹等人(《Entity relation extraction based on CNN in large-scale text data》)提出一种基于CNN 和改进核函数的多实体关系抽取技术,并在25463份法律文书的实体关系抽取上,取得了较好的抽取效果和较高的计算效率。
② RNN
除CNN 关系分类的方法外,Socher等人(《Semantic compositionality through recursive matrix-vector spaces》)首先采用RNN 的方法进行实体关系抽取。该方法利用循环神经网络对标注文本中的句子进行句法解析,经过不断迭代得到了句子的向量表示,有效地考虑了句子的句法结构;面对纯文本的实体关系抽取任务,Lin等人(《Neural relation extraction with selective attention over instance》)使用了一种多种语言的神经网络关系抽取框架,并在句子级别引入注意力机制(attention),极大地减少了噪音句子的影响,有效地提高了跨语言的一致性和互补性。
由于神经网络经常受到有限标记实例的限制,而且这些关系抽取模型是使用先进的架构和特征来实现最前沿的性能;Chen 等人(《Self-training improves recurrent neural networks performance for temporal relation extraction》)提出一种自我训练框架,并在该框架内构建具有多个语义异构嵌入的递归神经网络。该框架利用标记的、未标记的社交媒体数据集THYME实现关系抽取,并且具有较好的可扩展性和可移植性。
③ LSTM∕Bi-LSTM
为了解决RNN 在自然语言处理任务中出现的梯度消失和梯度爆炸带来的困扰,研究者使用性能更为强大的LSTM。LSTM 是一种特殊的循环神经网络,最早是Hochreiter,Schmidhuber提出。2015年Xu等人(《Classifying relations via long short term memory networks along shortest dependency path》)提出基于LSTM 的方法进行关系抽取,该方法以句法依存分析树的最短路径为基础,融合词向量、词性、WordNet以及句法等特征,使用最大池化层、softmax 层等用于关系分类;
Zhang 等人(《Bidirectional long short term memory networks for relation classification》)使用了Bi-LSTM 模型结合当前词语之前和词语之后的信息进行关系抽取,在最佳实验结果中相比于文献58的方法提高了14.6%,证实了Bi-LSTM 在关系抽取上具有有效性。
④ GCN
图神经网络最早由Gori等人提出,应用于图结构数据的处理,经过不断发展,逐渐应用于自然语言处理领域。而图卷积神经网络能有效地表示实体间的关系,挖掘实体间的潜在特征,近年来受到了越来越多的关注。
Schlichtkrull等人(《Modeling relational data with graph convolutional networks》)提出使用关系图卷积神经网络(R-GCNs)在2个标准知识库上分别完成了链接预测和实体分类,其中链接预测抽取出了缺失的关系,实体分类补全了实体缺失的属性;为有效利用负类数据;
Zhang等人(《Graph convolution over pruned dependency trees improves relation extraction》)提出一种扩展的图卷积神经网络,可以有效地平行处理任意依赖结构,便于对实体关系进行抽取。通过在数据集TAC和SemVal-2010Task8上的评估,其最佳的实验结果的准确率、召回率、F1值为71.3%,65.4%,68.2%,该方法的性能优于序列标注和依赖神经网络。此外,作者还提出一种新的剪枝策略,对输入的树结构的信息,可以快速找到2个实体之间的最短路径;图神经网络是最有效的多跳(multi-hop)关系推理方法之一;
Zhu等人(《Graph neural networks with generated parameters for relation extraction》)提出一种基于自然语言语句生成图神经网络(GP-GNNs)参数的方法,使神经网络能够对无结构化文本输入进行关系推理;针对多元关系的抽取;
Song等人(《N-ary relation extraction using graph state LSTM》)提出了一种图状的LSTM 模型,该模型使用并行状态模拟每个单词,通过消息的反复传递来丰富单词的状态值。该模型保留了原始图形结构,而且可以通过并行化的方式加速计算。不仅提高了模型的计算效率,也实现了对多元关系的抽取;为有效利用依赖树的有效信息,减少无用信息的干扰;
Guo等人(《Attention guided graph convolutional networks for relation extraction》)提出一种直接以全依赖树为输入的、基于注意力机制的图卷积网络模型。该模型是一种软剪枝(soft-pruning)的方法,能够有选择地自动学习对关系提取任务有用的相关子结构,支持跨句多元关系提取和大规模句级关系提取。
⑤ 混合抽取
为了进一步提高关系抽取模型的性能,一些研究者开始采取融合多种方法的方式进行关系抽取。2016年Miwa等人(《End-to-end relation extraction using LSTMs on sequences and tree structures》)使用联合的方法,他们融合Bi-LSTM 和Tree LSTM 模型的优点对实体和句子同时构建模型,分别在3 个公有数据集ACE04,ACE05,SemVal-2010Task8对关系抽取模型进行评估,有效地提高了实体关系抽取的性能;
Zhou等人79提出一种基于注意力的Bi-LSTM,着重考虑词对关系分类的影响程度,该方法在只有单词向量的情况下,优于大多数当时的方法;Li等人80融合Bi-LSTM 和CNN 的特点,利用softmax函数来模拟目标实体之间的最短依赖路径(SDP),并用于临床关系提取的句子序列,在数据集2010i2b2∕VA 的实验结果F1为74.34%,相比于不使用语义特征的方法提高2.5%;
陈宇等人81提出一种基于DBN(deepbeliefnets)的关系抽取方法,通过将DNB与SVM 和传统神经网络2种方法在ACE04数据集(包含221篇消息文本、10228个实体和5240个关系实例)进行了比较,F1 值分别提高了1.26% 和2.17%,达到了73.28%;召回率分别提高了3.59%和2.92%,达到了70.86%,验证了DBN 方法的有效性。
此外,DBN 方法表明,字特征比词特征更适用于中文关系抽取任务,非常适用于基于高维空间特征的信息抽取任务。流水线方法的实验结果相对良好,但容易产生错误传播,影响关系分类的有效性;将命名实体识别和关系抽取分开处理,容易忽视这2个子任务之间的联系,丢失的信息会影响抽取效果;另外,冗余信息也会对模型的性能产生较大的影响。
为解决这些问题,研究人员尝试将命名实体识别和关系抽取融合成一个任务,进行联合学习。
联合学习方法有3种,包括基于参数共享的实体关系抽取方法、基于序列标注的实体关系抽取方法和基于图结构的实体关系抽取方法。
① 基于共享参数的方法
命名实体识别和关系抽取通过共享编码层在训练过程中产生的共享参数相互依赖,最终训练得到最佳的全局参数。因此,基于共享参数方法有效地改善了流水线方法中存在的错误累积传播问题和忽视2个子任务间关系依赖的问题,提高模型的鲁棒性。2016年Miwa等人(《End-to-end relation extraction using LSTMs on sequences and tree structures》)首次利用循环神经网络、词序列以及依存树将命名实体识别和关系抽取作为一个任务进行实验,通过共享编码层的LSTM 的获得最优的全局参数,在数据集ACE04,ACE05分别减少了5.7%和12.1%的错误率,在数据集SemEval-2010Task8的F1达到了84.4%。然而Miwa忽略了实体标签之间的长距离依赖关系,为此Zheng等人(《Joint entity and relation extraction based on a hybrid neural network》)将输入句子通过公用的Embedding层和Bi-LSTM 层,分别使用一个LSTM 进行命名实体识别和一个CNN 进行关系抽取,该方法的F1达到了85.3%,相对Miwa提高了近1%。
② 基于序列标注的方法
由于基于共性参数的方法容易产生信息冗余,因此Zheng等人(《Joint extraction of entities and relations based on a novel tagging scheme》)将命名实体识别和实体关系抽取融合成一个序列标注问题,可以同时识别出实体和关系。该方法利用一个端到端的神经网络模型抽取出实体之间的关系三元组,减少了无效实体对模型的影响,提高了关系抽取的召回率和准确率,分别为72.4%和43.7%.为了充分利用实体间有多种关系,Bekoulis等人(《Joint entity recognition and relation extraction as a multi-head selection problem》)将命名实体识别和关系抽取看作一个多头选择问题,可以表示实体间的多个关系;此外Bekoulis等人(《Adversarial training for multi-context joint entity and relation extraction》)还发现对模型加入轻微的扰动(对抗样本)可以使得WordEmbedding的质量更好,不仅提高了置信度还避免了模型过拟合,模型的性能大大提升。因此首次将对抗学习(adversarial training, AT)加入联合学习的过程中。实验结果表明,在4个公有数据集ACE04,CoNLL04,DREC,ADE的F1提高了0.4%~0.9%。
③ 基于图结构的方法
针对前2种方法无法解决的实体重叠、关系重叠问题,基于图结构的方法能有效得解决。Wang等人(《Joint extraction of entities and relations based on a novel graph scheme》)发现生成标记序列后的合并三元组标签过程采用的就近组合无法解决关系重叠问题,因此提出一种新的基于图架构的联合学习模型。该方法不仅能有效解决关系重叠问题,而且使用偏执权重的损失函数强化了相关实体间的关联,实验结果的准确率、召回率及F1值分别为64.3%,42.1%,50.9%。此外,Fu等人(《Modeling text as relational graphs for joint entity and relation extraction》)提出将图卷积神经网络用于联合学习,利用图的节点表示实体,边表示关系,有效地解决了关系重叠和实体重叠问题,不仅如此,还对边(关系)加入了权重,有效挖掘了实体对间的潜在特征,通过使用NYT 和WebNLG 数据集的评估,该方法在最佳情况下准确率、召回率及F1 值可达63.9%,60.0%,61.9%,与文献《Joint extraction of entities and relations based on a novel graph scheme》相比,召回率和F1分别提高17.9%和11.0%。本文选取了几种经典的有监督关系抽取方法进行了综合比较,具体如表4所示。深度学习的有监督方法能够自动地学习大量特征,避免人工选择特征,但对大量没有进行标记的数据,这种方法就显出其弊端。为了减少对大数据的标注的人工成本,研究者尝试使用远程监督的方法进行关系抽取。
针对海量无标记数据的处理,远程监督的实体关系抽取方法极大地减少了对人工的依赖,可以自动地抽取大量的实体对,从而扩大了知识库的规模。此外,远程监督的方法具有较强的可移植性,比较容易应用到其他领域。远程监督的基本假设是如果2个实体在己知知识库中存在着某种关系,那么涉及这2个实体的所有句子都会以某种方式表达这种关系。
Mintz等人(《Distant supervision for relation extraction without labeled data》)首次在ACL会议上将远程监督方法应用于实体关系抽取的任务中。他们将新闻文本与知识图谱FreeBase进行中的实体进行对齐,并利用远程监督标注的数据提取文本特征,训练关系分类模型。这类方法在数据标注过程会带来2个问题:噪音数据和抽取特征的误差传播。
基于远程监督的基本假设,海量数据的实体对的关系会被错误标记,从而产生了噪音数据;由于利用自然语言处理工具抽取的特征也存在一定的误差,会引起特征的传播误差和错误积累。本文主要针对减少错误标签和错误传播问题对远程监督的关系抽取方法进行阐述。
1)针对错误标签
由于在不同语境下同一对实体关系可能存在不同含义,为了减少因此而产生的错误关系标签,Alfonseca等人90利用FreeBase知识库对关系进行分层处理,以启发式的方式自动识别抽取表示关系的语义和词汇;由于利用启发式的规则标记实体关系时会产生一些错误标记;
Takamatsu等人(《Reducing wrong labels in distant supervision for relation extraction》)提出一种产生式模型,用于模拟远程监督的启发式标记过程,使用903000篇Wikipedia文章进行模型的训练,并使用400000篇文章进行测试,实验结果的准确率、召回率和F1 值分别为89.0%,83.2%,82.4%;为了解决Alfonseca提出的方法缺乏实体的知识背景问题;
Ji等人(《Distant supervision for relation extraction with sentence-level attention and entity descriptions》)提出了一种在句子级别引入注意力机制的方法来抽取有效的实例,并通过FreeBase和Wikipedia不断地扩充实体的知识背景;之前大多方法对负类数据的利用率较低;
Yu等人93提出结合从句子级远程监督和半监督集成学习的关系抽取方法,该方法减少了噪声数据,充分利用了负类数据。该方法首先使用远程监督对齐知识库和语料库,并生成关系实例集合,接着使用去噪算法消除关系实例集中的噪声并构建数据集。为了充分利用负类数据,该方法将所有正类数据和部分负类数据组成标注数据集,其余的负类数据组成未标注数据集。
通过改进的半监督集成学习算法训练关系分类器的各项性能,然后进行关系实例的抽取。此外,为了减少错误标签产生的噪音数据对关系抽取模型的影响,Wang等人(《Label-free distant supervision for relation extraction via knowledge graph embedding》)提出了一种无标签的远程监督方法;该方法只是使用了知识库中的关系类型,而由2个实体来具体确定关系类型,避免了知识库中的先验知识标签对当前关系类型判别造成影响,也无需使用外部降噪工具包,大大提高了关系抽取的效率和性能;为了进一步提高对数据的使用效率;
Ru等人(《Using semantic similarity to reduce wrong labels in distant supervision for relation extraction》)使用Jaccard算法计算知识库中的关系短语与句子中2个实体之间的语义相似性,借此过滤错误的标签。该方法在减少错误标签的过程中,利用具有单词嵌入语义的Jaccard算法选择核心的依赖短语来表示句子中的候选关系,可以提取关系分类的特征,避免以前神经网络模型关系提_取的不相关术语序列引起的负面影响。在关系分类过程中,将CNN 输入的核心依赖短语用于关系分类。实验结果表明,与使用原始远程监督数据的方法相比,使用过滤远程监督数据的方法在关系提取方面结果更佳,可以避免来自不相关术语的负面影响;为了突破距离对关系抽取模型性能的限制;
Huang等人(《Distant supervision relationship extraction based on GRU and attention mechanism》)提出一种融合门控循环单元(gated recurrent unit, GRU)和注意力机制的远程监督关系抽取方法,该方法解决了传统深度模型的实体在长距离依赖性差和远程监督中容易产生错误标签的问题;实验结果表明,文献89的方法召回率在大于0.2时就开始迅速下降,而该方法在整个过程中都相对稳定,保证了模型的鲁棒性;此外,通过与文献(《Neural relation extraction with selective attention over instances》)的方法进行比较,该方法的召回率平均提高10%,能够充分利用整个句子的序列信息,更适合自然语言任务的处理。
2)针对误差传播
Fan等人(《Distant supervision for relation extraction with matrix completion》)提出远程监督关系提取的本质是一个具有稀疏和噪声特征的不完整多标签的分类问题。针对该问题,Fan使用特征标签矩阵的稀疏性来恢复潜在的低秩矩阵进行实体关系抽取;
为了解决自然语言处理工具包提取问题带来的错误传播和错误积累问题,Zeng等人(《Adversarial learning for distant supervised relation extraction》)融合CNN 和远程监督的方法,提出分段卷积神经网络(piecewise convolutional neural network, PCNN)用于实体关系抽取,并尝试将基于CNN 的关系抽取模型扩展到远程监督数据上。该方法可以有效地减少了错误标签的传播和积累,在最佳情况下,准确率、召回率以及F1值达到了48.30%,29.52%,36.64%。针对目前在中文领域实体-属性提取中模型的低性能;
He等人(《Chinese entity attributes extraction based on bidirectional LSTM networks》)提出了一种基于Bi-LSTM 的远程监督关系抽取方法。首先,该方法使用Infobox的关系三元组获取百度百科的信息框,从互联网获取训练语料库,然后基于Bi-LSTM 网络训练分类器。与经典方法相比,该方法在数据标注和特征提取方面是全自动的。该方法适用于高维空间的信息提取,与SVM 算法相比,准确率提高了12.1%,召回率提高了1.21%,F1值提高了5.9%,准确率和F1值得到显著提高。
有监督的关系抽取方法借助人工标注的方法提高了关系抽取的准确性,但是需要耗费大量人力,其领域泛化能力和迁移性较差。远程监督的方法相对于有监督的方法极大地减少了人工成本,而且领域的迁移性较高。但是,远程监督的方法通过自动标注获得的数据集准确率较低,会影响整个关系抽取模型的性能。因此,目前的远程关系抽取模型的性能仍然和有监督的关系抽取模型有一定的差距,有较大的提升空间。基于深度学习的监督和远程监督方法抽取对比如表5所示:
2018年GoogleAILanguage发布了BERT模型,该模型在11个NLP任务上的表现刷新了记录,在自然语言处理学界以及工业界都引起了不小的热议。BERT的出现,彻底改变了预训练产生词向量和下游具体NLP任务的关系。在关系抽取领域,应用BERT 作预训练的关系抽取模型越来越多,如Shi等人提出了一种基于BERT的简单模型,可用于关系抽取和语义角色标签。
在CoNLL05数据集中,准确率、召回率和F1值分别为88.6%,89.0%,88.8%,相比于baseline方法分别提高了1.0%,0.6%,0.7%;Shen等人借助BERT的强大性能对人际关系进行关系抽取,减少了噪音数据对关系模型的影响。此外,又使用了远程监督可以对大规模数据进行处理,在CCKS2019evalTask3IPRE数据集的结果表明,该方法优于大多数人际关系抽取方法,F1值达到了57.4%。
BERT作为一个预训练语言表示模型,通过上下文全向的方式理解整个语句的语义,并将训练学到的知识(表示)用于关系抽取等领域。但BERT 存在许多不足之处。
1) 不适合用于长文本。
BERT 以基于注意力机制的转换器作为基础,不便于处理长文本,而关系抽
取领域的文本中经常出现超过30个单词的长句,BERT会对关系抽取的性能产生影响。针对长句子的情况,可以另外设计一个深度的注意力机制,以便层级化的捕捉关系。
2)易受到噪音数据的影响。
BERT 适用于短文本,而短文本中若出现不规则表示、错别字等噪音数据,这不仅会对关系触发词的抽取造成一定的影响,而且在联合学习时进行命名实体识别阶段也会产生错误的积累和传播,最终导致模型的性能下降。
3)无法较好地处理一词多义问题。
由于传统机器学习的关系抽取方法选择的特征向量依赖于人工完成,也需要大量领域专业知识,而深度学习的关系抽取方法通过训练大量数据自动获得模型,不需要人工提取特征。
SDP-LSTM
2015年北大的论文《Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths》中提出了一种新的神经网络SDP-LSTM,用于对句子中两个实体之间的关系进行分类。
SDP-LSTM的神经体系结构利用了两个实体之间的最短依赖路径(SDP);具有长短期记忆单元的多通道递归神经网络沿着SDP提取异质信息。
模型具有以下特点:
(1)最短的依赖路径保留了大部分相关信息(对关系分类),同时剔除了句子中不相关的词。
(2)多通道LSTM网络允许异构源在依赖路径上进行有效的信息集成。
(3)自定义dropout策略对神经网络进行正则化,以缓解过拟合。
实验在SemEval2010关系分类任务上测试了SDP-LSTM的模型,获得了83.7%的f1得分,高于文献中的竞争方法。
SDP-LSTM的算法原理:
以 “A trillion gallons of water have been poured into an empty region of outer space”为例,下图为其依存解析树。红线表示实体水和区域之间的最短依赖路径。边a→b表示a由b governed。依赖类型由解析器标记,但为了清晰起见,图中未显示。
下图是SDP-LSTM的模型构架图:
首先,由斯坦福解析器将句子解析为依赖树,然后提取最短依赖路径(SDP)作为网络的输入。沿着SDP,四种不同类型的信息被作为通道使用,包括单词、POS标签、语法关系和WordNet上位词。(参见图2)。在每个通道中,离散的输入,例如单词,被映射到实值向量,称为嵌入,它捕获输入的潜在含义。
两个RNN网络(图2b)分别沿着SDP的左右子路径拾取信息。(路径由两个实体的共同祖先节点分隔。)长短期记忆(LSTM)单元用于循环网络中有效的信息传播。然后最大池化层从每个路径的LSTM节点收集信息。
来自不同通道的池化层被连接起来,然后连接到一个隐藏层。最后,SDP-LSTM有一个用于分类的softmax输出层。
最短的依赖路径(The shortest dependency path)
依赖解析树自然适合于关系分类,因为它关注的是句子中的动作和代理。此外,如上文所讨论的,实体之间的最短路径浓缩了最有启发性的实体关系信息。
还可以观察到,由两个实体的共同祖先节点分隔的子路径,为关系的方向性提供了强有力的提示。以图1为例。两个实体water和region有它们共同的祖先节点倾倒,它将SDP分成两部分:
第一个子路径获取e1的信息,而第二个子路径主要是关于e2的信息。通过分别检查这两个子路径,我们知道e1和e2是实体-目的地(e1,e2)关系,而不是实体-目的地(e2, e1)关系。
根据上述分析,论文设计了两个RNN网络,它们自下而上地从实体传播到它们共同的源头。通过这种方式,DSPLSTM的模型是方向敏感的。
通道(channels)
论文利用四种类型的信息沿着SDP进行关系分类。我们称它们为通道,因为这些信息源在循环传播期间不相互作用。详细的通道描述如下。
正如所看到的,POS标记、语法关系和WordNet上位词也是离散的(就像单词本身一样)。然而,目前还没有针对POS标签的嵌入学习方法。因此,随机初始化它们的嵌入,并在训练期间以有监督的方式调整它们。研究员注意到,这些信息源包含的符号比词汇量(大于25,000)少得多。因此,研究员认为他们的随机初始化策略是可行的,因为通道可以在有监督的训练中得到充分的调优。
LSTM
RNN网络本质上适合于序列数据的建模,因为它保留了一个隐藏状态向量,并且在每一步都随着输入数据的变化而变化。我们使用递归网络沿着SDP中的每个子路径收集信息(图2b)。
对于子路径中的第t个单词的隐藏状态是它以前的状态ht-1和当前单词xt的函数。传统递归网络具有基本的相互作用,即输入由权矩阵线性变换,并由激活函数非线性压缩。形式上,我们有
其中,Win和Wrec分别为输入连接和递归连接的权值矩阵。bh是隐藏状态向量的偏置项,fh是非线性激活函数(例如,tanh)。
上述模型的一个问题是梯度消失或爆炸。神经网络的训练需要梯度反向传播。如果传播序列(路径)太长,梯度可能会按指数增长或衰减,这取决于Wrec的大小。这就导致了训练的困难。
《The vanishing gradient problem during learning recurrent neural nets and problem solutions.》提出了长短期记忆(LSTM)单元来解决这一问题。其主要思想是引入一种自适应门控机制,该机制决定LSTM单元在多大程度上保持了之前的状态,并记住了提取的当前输入数据的特征。文献中提出了许多LSTM变体。DSPLSTM的方法中采用了《Learning to execute》引入的变体,《Long short-term memory over tree structures》也使用了该变体。
具体来说,基于lstm的RNN网络包括四个组成部分:输入门it、遗忘门ft、输出门和记忆细胞(如图3所示,并通过公式1-6进行了形式化,如下图所示)。
三个自适应门it, ft和ot取决于先前的状态ht-1和电流输入xt(公式1 - 3)。根据公式4计算提取的特征向量gt作为候选记忆单元。
当前记忆细胞ct是先前细胞内容ct−1和候选内容gt的组合,分别由输入门it和遗忘门ft加权。(见下式5)
LSTM单元的输出为递归网络的隐藏状态,由式6计算得到。
式中,σ为二阶函数,⊗为逐元乘法。
Dropout 策略
需要一种良好的正则化方法来缓解过拟合。Dropout是由Hinton等人(提出的,在前馈网络中已经非常成功。通过在训练过程中随机地从网络中省略特征检测器,可以获得无相互依赖的网络单元,从而获得更好的性能。然而,传统的dropout算法在带有LSTM单元的递归神经网络中并不能很好地工作,因为dropout可能会损害记忆单元的宝贵记忆能力。
由于文献中关于如何退出LSTM单元没有共识,论文尝试了以下几种Dropout策略,用于SDP-LSTM网络:
•Dropout embeddings
•在记忆单元内部Dropout,包括it、gt、ot、ct、ht
•在倒数第二层进行Dropout
正如前文中看到的,放弃LSTM单元对我们的模型是不利的,而其他两种策略可以提高性能。
下面的方程形式化了嵌入层上的Dropout操作,其中D表示退出算子。嵌入向量xt中的每个维度都设置为零,并具有预定义的Dropout率。
训练目标
上面描述的SDP-LSTM沿着从实体到(两个实体的)共同祖先节点的子路径传播信息。最大池化层将每个子路径的递归网络状态h打包成一个固定的向量,方法是在每个维度取最大值。
这种体系结构适用于所有通道,即单词、POS标记、语法关系和WordNet上位词。这些通道中的池向量被连接起来,并提供给一个完全连接的隐藏层。最后,我们添加了一个用于分类的softmax输出层。训练目标为惩罚交叉熵误差,为
其中t∈Rnc为one-hot编码表示的ground truth(正确的数据), y∈Rnc为softmax对每个类的估计概率。||·||F为矩阵的Frobenius范数,ω和υ为权重矩阵的个数(分别为W和U)。λ是一个超参数,它指定权重惩罚的大小。
在英语维基百科语料库上通过word2vec预先训练单词嵌入;其他参数是随机初始化的。DSPLSTM使用随机梯度下降(minibatch 10)进行优化;梯度是通过标准的反向传播来计算的。培训细节将在第4.2节中进一步介绍。
实验
DSPLSTM实施建立在《Discriminative neural sentence modeling by tree-based convolution》的基础上。
数据集
SemEval-2010 Task 8数据集是关系分类中广泛使用的基准。数据集包含8000个用于训练的句子,2717个用于测试的句子。实验从训练集中分离出1/10的样本用于验证。
目标包含19个标签:9个有向关系和一个无向Other类。有向关系列表如下。
•因果关系
•组件-整体
•内容-容器
•实体-目的地
•实体-起源
•消息-主题
•成员-集合
•工具-代理
•产品-生产商
下面是两个有向关系的例句。
数据集还包含一个无向Other类。因此总共有19个目标标签。无向Other类不属于上述类别的实体,如下例所示。
实验使用官方的f1宏观平均分数来评估模型的表现。这个官方测量不包括“Other关系”。但是在实验中并没有特别对待Other 类,这在其他研究中是很典型的。
实验结果
Hendrickx 等人(2010《Semeval-2010 task 8: Multi-way classification of semantic relations between pairs of nominals.》)利用各种手工特征,并使用SVM进行分类,f1得分为82.2%。
神经网络首次用于这项任务是在Socher 等人 (2012《Semi-supervised recursive autoencoders for predicting sentiment distributions.》)。他们沿着选区树建立RNN进行关系分类。他们将基本RNN扩展为矩阵-向量交互,f1得分为82.4%。
Zeng 等人(2014《Relation classification via convolutional deep neural network.》)将句子作为序列数据,利用卷积神经网络(CNN);他们还将单词位置信息整合到他们的模型中。Santos等人(2015《Classifying relations by ranking with convolutional neural networks.》)设计了一个名为CR-CNN的模型;他们提出了一个基于排名的成本函数,并精心减少了“other类”的影响,而“other类”在官方的f1测量中没有被计算在内。通过这种方式,他们取得了最先进的结果,f1得分为84.1%。如果没有这样的特殊待遇,他们的f1得分是82.7%。
Yu等人(2014《Factor-based compositional embedding models.》)提出了一种用于关系分类的特征丰富的成分嵌入模型(FCM),该模型结合了非词汇化的语言上下文和单词嵌入。他们的f1得分为83.0%。
SDP-LSTM模型的f1得分为83.7%。在具有交叉熵误差的softmax条件下,该方法优于现有的竞争方法。
值得注意的是,论文还进行了两个对照实验:(1)不含LSTM单元的传统RNN, f1得分为82.8%;(2) LSTM网络覆盖整个依赖路径(而不是两个子路径),f1得分为82.2%。这些结果证明了LSTM在关系分类中的有效性和方向性。
不同Channels的影响
实验还分析了不同的Channels如何影响模型。实验首先使用单词嵌入作为基线;然后分别添加POS标签、语法关系和WordNet上位词,实验还将所有这些通道合并到模型中。请注意,实验并没有单独尝试后三个通道,因为每一个通道(例如,POS)并不携带太多信息。
从表2中可以看出,SDP-LSTM单词嵌入的性能达到了82.35%,而CNN 69.7%, RNN 74.9-79.1%,FCM 80.6%。
添加语法关系或WordNet上位词比其他现有方法性能更好(这里不考虑数据清理)。POS标签的信息量相对较小,但仍能使f1得分提高0.63%。
可以注意到,当通道合并时,增益并不是简单地添加。这表明这些信息源在语言的某些方面是互补的。然而,综合上述四个渠道,f1得分将进一步升至83.70%。
结论:
SDP-LSTM提出了一种新的用于关系分类的神经网络模型。它沿着最短的依赖路径迭代地学习关系分类的特征。沿着路径使用几种类型的信息(单词本身、POS标记、语法关系和WordNet上位词)。同时,利用LSTM单元进行远程信息传播和集成。通过在SemEval-2010关系分类任务上对SDP-LSTM模型进行评估,证明了SDP-LSTM的有效性,优于现有的先进方法(在没有数据清理的公平条件下)。实验的结果为以下关系分类任务提供了一些启示。
•最短依赖路径是关系分类的宝贵资源,涵盖了目标关系的大部分充分信息。
•由于自然语言固有的歧义性和句子表达的多样性,分类关系是一项具有挑战性的任务。因此,整合异质语言知识对完成任务是有帮助的。
•将最短的依赖路径视为两个子路径,映射两个不同的神经网络,有助于捕捉关系的方向性。
•LSTM单元能够有效地沿着最短的依赖路径进行特征检测和传播
Att-BiLSTM
2015年中国科学院发表的论文《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》中提出了基于注意力机制的BiLSTM网络(Att-BiLSTM)用于关系分类,它可以利用BiLSTM和Attention机制,该机制可以自动关注对分类有决定性影响的单词,从而捕获句子中最重要的语义信息,而无需使用额外的知识和NLP系统。
Att-BiLSTM算法原理:
模型主要由五个部分组成:
(1) 输入层:在此模型中输入句子;
(2) 嵌入层:将每个单词映射到低维向量中;
给定一个由T个单词S={x1,x2,…,xT}组成的句子,每个单词xi都转换为实值向量ei。对于S中的每个单词,我们首先查找嵌入矩阵Wwrd∈ Rdw | V |,其中V是固定大小的词汇表,dw是单词嵌入的大小。矩阵Wwrd是需要学习的参数,dw是需要用户选择的超参数。我们使用矩阵向量积将单词xi转换为单词嵌入ei:
其中,vi是大小为| V |的向量,其在索引ei处的值为1,在所有其他位置的值为0。然后句子作为实值向量embs={e1,e2,…,eT}馈送到下一层。
(3) LSTM层:利用BiLSTM从步骤(2)中获取高级特征;
采用Graves等人(2013)引入的一种变体,该变体将恒定错误转盘(CEC)的加权peephole connections添加到同一内存块的门。通过直接使用当前单元状态生成门度,peephole connections允许所有门进入单元进行检查(即当前单元状态),即使输出门关闭
通常,四个组件组合基于LSTM的递归神经网络:一个输入门it与相应的权重矩阵Wxi、Whi、Wci、bi;一个遗忘门ft,对应权重矩阵Wxf、Whf、Wcf、bf;一个输出门ot具有相应的权重矩阵Wxo、Who、Wco、bo,所有这些门都设置为生成一定的度,使用当前输入xi,状态hi−1生成的上一步骤,以及此单元格的当前状态ci−1(窥视孔),用于决定是否进行输入,忘记之前存储的内存,并输出以后生成的状态。
(4) Attention层:生成权重向量,将每个时间步的单词级特征乘以权重向量,合并成句子级特征向量;
(5) 输出层:最终使用句子级特征向量进行关系分类。
(4)Attention层:
设H是由LSTM层产生的输出向量h1,h2,…,hT组成的矩阵,其中T是句子长度。句子的表示r由这些输出向量的加权和构成:
其中H∈ Rdw×T,dw是词向量的维数,w是经过训练的参数向量,wT是转置。w,α,r的维数分别为dw,T,dw
从下式获取用于分类的最终句子对表示:
(5)输出层:将最后一层的句子级别的特征向量用于关系分类
使用softmax分类器从一组离散的类y中为句子S预测标签yˆ。该分类器采用隐藏状态h∗ 作为输入:
实验结果:
实验数据集为 SemEval-2010 Task 8,该数据集包含8000个训练句子,2717个测试句子,一共包含9个关系类和一个Other关系类,若考虑关系双向性则可认为是19个类。
Att-BiLSTM模型的F1得分为84.0%。它的性能优于大多数现有的竞争方法,无需使用词汇资源(如WordNet)或NLP系统(如依赖项解析器和NER)来获取高维度特征。实验结果如下图所示:
结论:
本文提出了一种新的关系分类神经网络模型Att BLSTM。该模型不依赖NLP工具或词法资源,而是使用带有位置指示器的原始文本作为输入。通过在SemEval-2010关系分类任务中对模型进行评估,证明了Att-BiLSTM的有效性。
PCNN
2015年中国科学院发表论文《Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks》,论文中提出了一种新型的关系抽取模型PCNN。
在使用远程监控进行关系提取时,会出现两个问题。首先,该方法将已有的知识库与文本进行对齐,对齐结果作为标记数据处理。然而,对齐可能会失败,导致错误的标签问题。此外,在以前的方法中,统计模型通常应用于特殊特征。特征提取过程中产生的噪声可能会导致性能不佳。
为了解决这两个问题,提出了一种称为分段卷积神经网络(PCNNs)的多实例学习模型。为了解决第一个问题,将远程监督关系抽取视为一个多实例问题,其中考虑了实例标签的不确定性。为了解决后一个问题,PCNN避免了特征工程,而是采用具有分段最大池的卷积体系结构来自动学习相关特征。
PCNN用于自动学习特征,无需复杂的NLP预处理。下图显示了用于远程监督关系提取的神经网络体系结构。它说明了处理一个实例的过程。该过程包括四个主要部分:向量表示(Vector Representation), 卷积层(Convolution), 成对最大池化(Piecewise Max Pooling) 和 softmax输出(Softmax Output)
向量表示:
网络的输入是原始单词标记。使用神经网络时,通常将单词标记转换为低维向量。在PCNN方法中,通过查找预训练的单词嵌入,将每个输入单词标记转换为一个向量。此外,PCNN还使用位置特征(PFs)指定实体对,并通过查找位置嵌入将实体对转换为向量。
词嵌入(word embeddings):单词嵌入是单词的分布式表示,将文本中的每个单词映射到“k”维实值向量。使用skip-gram模型来训练词向量
位置嵌入(position embeddings):使用PFs(位置特征)指定实体对。PF定义为当前单词到e1和e2的相对距离的组合。
如下图,单词son到实体Kojo Annan和Kofi Annan的相对距离分别为3和-2。
随机初始化两个位置嵌入矩阵(PF1和PF2),然后通过查找位置嵌入矩阵将相对距离转换为实值向量。图中词嵌入的维度dω=4,位置嵌入的维度dp=1。结合词嵌入和位置嵌入,句向量表示为
其中,s 是句子长度(单词数),d = dω+ d p ∗ 2
卷积:
在关系提取中,标记为包含目标实体的输入句子仅对应于关系类型;它不会预测每个单词的标签。因此,可能需要利用所有局部特征并全局执行该预测。当使用神经网络时,卷积方法是很好的合并所有这些特征的方法。
卷积是权重向量w和被视为序列q的输入向量之间的运算。权重矩阵w被视为卷积的filter。在图3所示的示例中,我们假设filter的长度为w(w=3);因此,w∈ Rm(m=w∗d) 。我们认为S是序列{q1,q2,··,qs},其中qi∈ Rd.一般来说,让qi:j表示qi到qj的连接。卷积运算涉及取w与序列q中每个w-gram的点积,以获得另一个序列c∈ R s+w-1:
其中,指数j的范围为1到s+w−1.超出范围的输入值qi,其中i<1或i>s,取零。捕获不同特征的能力通常需要在卷积中使用多个滤波器(或特征映射)。假设我们使用n个滤波器(W={w1,w2,··,wn}),卷积运算可以表示为以下形式:
卷积结果是矩阵C={c1,c2,···,cn}∈ Rn×(s+w−1). 图3显示了在卷积过程中使用3个不同滤波器的示例
成对最大池化
卷积输出矩阵C∈ Rn×(s+w−1)的大小取决于输入网络的句子中令牌的数量。为了应用后续层,必须组合卷积层提取的特征,使其与句子长度无关。
尽管单个最大池被广泛使用,但这种方法不足以进行关系提取。单个最大池将隐藏层的大小降低得太快,太粗,无法捕获细粒度特征以进行关系提取。此外,单个最大池不足以捕获两个实体之间的结构信息。在关系提取中,输入句子可以根据所选的两个实体分为三个部分。因此,PCNN提出了一种分段最大池化过程,该过程返回每个段中的最大值,而不是单个最大值。
如上图所示,Kojo Annan 和 Kofi Annan将每个卷积滤波器ci的输出分成三段{ci1、ci2、ci3}。分段最大池过程可以表示为:
对于每个卷积滤波器的输出,可以获得三维向量pi={pi1,pi2,pi3}。然后,连接所有向量p1:n并应用非线性函数,例如双曲正切。最后,分段最大池过程输出一个向量:
其中g∈ R3n。g的大小是固定的,不再与句子长度相关。
softmax输出
最后经过softmax并输出
为了缓解错误标签问题提出多实例学习
为了缓解错误标签问题,对PCNN使用多实例学习。基于PCNNs的关系提取可以表示为五元组θ=(E,PF1,PF2,W,W1)。进入网络的是一个bag。假设有T个bag{M1,M2,··,MT},并且第i个bag包含qi实例Mi={m,m,··,m}。多实例学习的目标是预先记录看不见的bag的标签。在本文中,一个bag中的所有实例都是独立考虑的。给定输入实例m,具有参数θ的网络输出向量o,其中第r分量或对应于与关系r相关的分数。为了获得条件概率p(r | m,θ),对所有关系类型应用softmax运算:
多实例学习的目标是区分bag而不是实例。为此,我们必须定义bsg的目标函数。给定所有(T)个训练bag(Mi,yi),我们可以在包级别使用交叉熵定义目标函数,如下所示:
使用该定义的目标函数,使用Adadelta(Zeiler,2012)更新规则通过随机梯度下降在mini-batches上最大化J(θ)。整个训练过程在算法1中描述。从上述介绍中,可以知道传统的反向传播算法根据所有训练实例修改网络,而带有多实例学习的反向传播修改基于bag的网络。因此,PCNN方法捕捉到了远程监督关系提取的本质,其中一些训练实例将不可避免地被错误标记。当使用经过训练的PCNN进行预测时,当且仅当网络在其至少一个实例上的输出被分配正标签时,才对bag进行正标签。
实验结果:
实验选用NYT corpus作为数据集,得到如下图所示的实验对比结果。为了评估所提出的方法,实验选择以下三种传统方法进行比较。Mintz代表了(Mintz 等人,2009)提出的一种基于距离监控的传统模型。MultiR是由(Hoffmann 等人,2011)提出的一种多实例学习方法。MIML是由(Surdeanu 等人,2012)提出的多实例多标签模型。图4显示了每种方法的精度召回曲线,其中PCNNs+MIL表示PCNN方法,并证明PCNNs+MIL在整个召回范围内实现了更高的精度。PCNNs+MIL将召回率提高到大约34%,而不会损失任何精度。在精确度和召回率方面,PCNNs+MIL优于所有其他评估方法。值得注意的是,评估用于比较的方法的结果是使用手工制作的特征获得的。相比之下,PCNN结果是通过自动学习原始单词的特征来获得的。结果表明,该方法是一种有效的远程监督关系提取方法。通过PCNN自动学习特征可以缓解传统特征提取中出现的错误传播。将多实例学习合并到卷积神经网络中是解决错误标签问题的有效方法。
值得强调的是,在非常低的召回率下,PCNNs+MIL的保持精度召回曲线急剧下降(图4)。对高置信度生成的错误分类示例进行手动检查后发现,这些示例中的大多数是误判,实际上是由于Freebase的不完整性而错误分类的真实关系实例。因此,保留的评估在Freebase中会出现错误否定。我们执行手动评估以消除这些问题。对于手动评估,PCNN选择至少一个参与实体在Freebase中不存在的实体对作为候选。这意味着持有的候选人和手工候选人之间没有重叠。由于测试数据中表示的关系实例的数量未知,因此我们无法计算这种情况下的召回率。相反,我们计算前N个提取的关系实例的精度。表2显示了前100、前200和前500个提取实例的手动评估精度。结果表明,PCNNs+MIL的性能最好;此外,精度高于所进行的评估。这一发现表明,我们预测的许多错误否定事实上是真实的相关事实。因此,在保持精度召回曲线中观察到的急剧下降是合理的。
PCNN提出了一种分段最大池的方法,并将多实例学习融入到卷积神经网络中,用于远程监督关系提取。为了证明这两种技术的效果,实验通过Held-out评估来实证研究这些技术未实现的系统的性能(图5)。CNNs表示应用单个最大池的卷积神经网络。图5显示,当使用PCNNs时,会产生比使用CNN更好的结果。此外,与CNNs+MIL相比,当召回率大于0.08时,PCNNs的准确率略高。由于所有模型的参数都是通过网格搜索确定的,因此可以观察到,当增加卷积神经网络的隐层大小时,CNN无法获得与PCNN相比的竞争结果。这意味着我们无法通过简单地增加网络参数来捕获更多有用的信息。这些结果表明,所提出的分段最大池技术是有益的,可以有效地捕获结构信息以进行关系提取。在网络中加入多实例学习时,也观察到类似的现象。CNNs+MIL和PCNNs+MIL分别优于CNNs和PCNNs,从而证明将多实例学习纳入神经网络能够成功地解决错误标签问题。正如预期的那样,PCNNs+MIL获得了最佳结果,因为这两种技术的优势是同时实现的。
结论:
利用具有多实例学习的分段卷积神经网络(PCNN)进行远程监督关系提取,在PCNN的方法中,无需复杂的NLP预处理即可自动学习特征。PCNN还成功地在所提出的网络中设计了一个分段最大池层来捕获结构信息,并结合多实例学习来解决错误标签问题。实验结果表明,与同类方法相比,该方法具有显著的改进。
参考文献:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。