基于深度强化学习的文本实体关系抽取方法

2022-01-26 12:43陈艳阳耿昊天许文波
电子科技大学学报 2022年1期
关键词:向量精度标签

罗 欣,陈艳阳,耿昊天,许文波,张 民*

(1. 电子科技大学资源与环境学院 成都 611731;2. 电子科技大学长三角研究院 浙江 湖州 313001)

随着认知智能技术的不断发展,富含实体、概念、属性、关系等复杂信息的知识图谱已成为机器认识和理解文本大数据所依赖的核心体系。如何从地理文本大数据中快速准确地抽取地理文本的实体关系信息是构建地理领域知识图谱的重点。有监督的方法需要大量且高质量的标注语料,但中文数据集较少,人工标注成本较高,而半监督和无监督的实体关系抽取方法效果较差,因此远程监督(distant supervision, DS)已逐渐成为实体关系抽取的主要方法。文献[1]首次将远程监督理论用于实体关系抽取领域,但存在数据集标签的噪声问题。文献[2]将实体间的关系表示为“实体—实体=关系”,利用分段卷积神经网络(piecewise convolutional neural networks, PCNN)采集实体描述页面特征来丰富实体表示,再在模型中加入注意力机制,通过计算句子与关系的相似度赋予句子权重。文献[3]将生成预训练变换器(generative pre-trained transformer,GPT)扩展到远程监督领域,并结合自注意力机制对多实例进行处理,有效降低了显式特征的提取和错误累积的风险,明显改善了长尾关系的抽取效果。文献[4]提出的交叉关系注意(cross-relation attention)机制,能够注意到关系类型之间的相互作用且考虑了一个训练实例包含多个实体对的特殊情况,并能减少知识库中过时或未表示的信息带来的噪声。文献[5]对实体类型标注错误的噪声数据进行了优化,并提出使用联合学习(joint learning)方法缓解了噪声数据的影响。文献[6]设计了同时具有词级别和关系级别记忆网络的神经网络模型,词级记忆网络能够捕捉上下文词对目标词的重要程度,并自动对句子的语义表示进行建模,关系级记忆网络能够捕捉关系之间的相关性,并结合多实例多标签学习(multi-instance multi-label learning, MIML)最终有效抑制了标签噪声。文献[7]将课程学习(curriculum learning)引入远程监督关系抽取任务中,提出的模型通过协同训练关系抽取器和导师网络来提高模型的泛化能力。文献[8]利用生成式对抗网络学习句子级的生成器,将生成的正样本视为负样本来训练判别器,直到判别器的判断能力下降最大,再使用生成器将数据集中的负例分配到负样本集中,从而得到噪声更小的数据集。

实际中,标注的数据通常会存在大量噪声,文献[1]的方法没有考虑噪声问题,导致抽取效果不理想。而目前基于深度学习的方法大多从包(bag)级别进行关系分类,相当依赖包中句子的质量,并且不能处理句子级别的关系分类。本文提出了一个基于深度强化学习的框架来进行文本数据实体关系的抽取,能够在提高分类效果的同时降低标签噪声。

1 实体关系抽取总体框架

针对存在噪声的数据集,本文提出了基于深度强化学习的框架进行实体关系抽取,此框架包含关系抽取器与标签学习器两部分,如图1 所示。

图1 基于深度强化学习的关系抽取框架

在实体关系抽取方面,首先,构造了基于实体周围词文本实体注意力机制和依存句法分析的双向长短期记忆网络关系抽取器,该抽取器能够对输入句子的关系进行分类预测,通过实体注意力机制考虑了实体周围词语在关系抽取中的重要性,能改善编码效果;其次,由于实体对的关系受实体类型的约束,因此该框架利用了实体类型嵌入模块,以实体类型丰富句子编码信息,从而帮助关系抽取器过滤错误关系;此外,该框架还利用了依存句法分析模块句子结构,通过句子中各词与其他词语之间的语法相关性进行实体和关系的匹配度比较,帮助关系抽取器从句子中得到更多信息,进一步提高了关系抽取器的预测效果。

针对训练样本中错误标签的影响,该框架还利用强化学习方法实现了标签级别的降噪。首先,使用标签学习器对关系抽取器预测的关系进行打分,将分数与DS 关系标签结合作为强化学习的状态,再根据一个策略网络的结果采取下一步行动,即选择DS 的标签还是关系抽取器抽取的结果作为软标签;然后,关系抽取器根据软标签进行学习训练,并提供一个奖励给标签学习器,为下一轮(episode)强化学习提供输入状态;最后,对关系抽取器与标签学习器进行联合训练,使关系抽取器对软标签的预测更加可靠,从而提高关系抽取的性能。

1.1 关系抽取器

本文方法的词向量表示由词嵌入和位置嵌入组合而成,使用Word2Vec 模型生成包含词语语义信息的词嵌入[9],而位置嵌入是用输入词语与实体的相对距离作为特征编码而成的向量,用来表示输入词语相对于实体的位置信息。

关系抽取器的任务是获取关系概率,为强化学习提供表示状态的信息。关系抽取器的输出与关系模式的语义相关。为了降低数据集噪声,初步提高关系抽取的效果,本文设计的关系抽取器将句子粒度级别的数据划分为训练数据信息、实体类型信息和依存句法信息,通过引入实体注意力机制来进行实体关系判定,并通过依存句法分析模块来增强实体与关系的交互性,从而能够有效提高实体关系抽取的效果,具体结构如图2 所示。

图2 本文设计的实体关系抽取器

1.1.1 句子编码器

利用结合实体周围词注意力机制的双向长短期记忆网络(bi-directional long short-term memory,BiLSTM)来学习句子表示[10],简称BiLSTM+attention,结构如图3 所示。相较于传统循环神经网络(recurrent neural network, RNN),长短时记忆(long short-term memory, LSTM)可以处理较长句子中距离较远的词语之间的依赖信息,其通过3 个门结构来丢弃无用的前文信息,再加入当前输入的部分信息,并最终整合到当前状态中以产生输出状态。但是LSTM 只能从前到后对句子进行编码,无法考虑下文信息,而BiLSTM 由前向网络和后向网络结合而成。

图3 改进的BiLSTM 实体注意结构

对于包含n个词语的句子,通过BiLSTM 得到的隐向量可以表示为:

对于句子中第i个词的隐向量hi,可以通过前向隐向量和后向隐向量拼接得到。

图3 中hi表示了句子中第i个词语的高维语义信息,但是在实际应用中句子中的不同词语对句子的语义而言具有不同程度的重要性。因此本模型通过计算词语与实体之间的重要性程度构建词注意力机制来充实词语的语义信息,经过词注意力层的句子可以表示为:

式中,αi表示词注意力机制的权重,且词语与实体的语义相关性通过一个简单的神经网络来计算,激活函数的计算公式为:

式中,Wa表示词语重要性权重矩阵;和分别表示头实体和尾实体;ba为偏置量,然后通过Softmax 函数计算得到权重αi:

最后,使用最大池化层捕获句子中最关键的特征信息,句子的向量表示为:

1.1.2 实体类型信息

文本中不同类型的实体对所对应的关系一般也不同。文献[11-12]也证明了实体类型信息对于关系抽取任务有着积极影响。为了得到实体类型信息的嵌入表示,将实体类型信息映射到一个k维向量空间中,若实体有多个类型,那么取对应类型的平均向量作为实体类型的嵌入表示。对于实体对(e1,e2),将两者的类型嵌入连接起来,作为实体类型对关系的约束,计算方法如下:

1.1.3 依存句法树

本文的关系抽取器还引入了基于依存树的特征表示[13],但并不使用整个句子的依存树结构,而是获得句子中包含实体对的依存子树,并将包含实体对的依存子树编码为局部特征向量,这样可以减少噪声并强化实体对之间的关系特征。包含实体对的依存子树可以表示为如下形式:

式中,ti表示依存子树上第i个节点的词向量表示,这些词向量连接起来组成最终的依存子树表示。

结合上述三者,便得到最终的句子表示为:

由于基于远程监督的实体关系抽取方法通常都将含有共同实体对的句子打包成一个包,利用多条正实例包进行训练得到正确的实体关系。因此,为了克服同一实体对的句子信息不足和噪声影响的问题,在包中获得高质量的句子,本文采用了一个句子注意力机制来计算包中句子的注意力权重,再根据权重来判断句子质量的高低。对于第i个句子,它的权重βi为:

式中,s表示句子向量;u和v表示两个加权向量;⊙表示对逐个元素进行乘积,那么经过加权之后的包表示形式为:

基于式(10),便可通过Softmax 函数计算得到实体关系的概率分布:

式中,pj表示模型对j种关系的预测结果;W是由参数组成的矩阵;b表示偏置值。包的预测标签计算方法为:

式中,n表示标签的总体数量。而目标函数则表示为:

式中,表示潜在标签的向量,本文采用最小化式(13)优化来关系抽取器,并使用小批量Adam 优化器来更新关系抽取器中的所有参数[14]。

1.2 标签学习器

本文采用的标签学习器是基于强化学习中智能体思想构建的,它能够通过一个策略网络更正噪声标签,并产生软标签,其主要组成部分为:

1) 状态

为了符合马尔可夫决策过程[15],本文将包的当前信息和被纠正的标签信息结合起来作为当前的状态。将状态表示为连续实值向量st,它编码以下信息:① 从序列标注模型中获得的当前句子的向量表示;② 已选句子集的表示,它是所有已选句子的向量的平均值;③ 当前集合包都包含的实体向量。

2) 动作

为了对噪声标签进行纠正,本文将动作设计成一个选择标签的二分类:根据当前时刻的状态表示向量,选择关系抽取器预测的标签或语料库DS 标签中的一个,记为包的软标签。通过这种手段,就能得到经过标签降噪的数据,用于关系抽取器的训练,进而提高其关系预测的性能。

3) 策略

标签学习器的动作at只有两种选择,因此定义at∈{0, 1},0 表示标签学习器选择DS 标签,1 代表标签学习器选择预测标签。本文依据概率分布函数 π(at|st;Θ)=σ(Wst+b)在状态st时获取at的值,其中Θ={W,b}是需要学习的参数集,W为训练矩阵,b为偏置,σ(·)表示Sigmoid 函数。在训练中,通过策略函数,标签学习器能采取高概率的动作,且采取的动作具有随机性,实现了对软标签的学习。

4) 奖励

设计的奖励是一个经典的延迟奖励。在所有动作都完成之后,确定了软标签并将软标签作为正确标签来更新关系抽取器,然后使用验证集对更新后的关系抽取器进行验证,并将结果反馈给标签学习器以得到奖励,奖励的计算函数为:

式中,Val 表示验证集;gi表示第i个包;yi表示gi的DS 关系;p(yi|gi)表示关系抽取器经过含有软标签的数据训练之后预测的关系概率。根据在验证集上的测试结果,这里使用平均对数似然量来估计关系抽取器的性能。由于关系抽取器会被软标签更新,标签学习器选择的动作能够影响关系抽取器的性能,所以奖励能够反映标签学习器的动作是否合理。

5) 目标函数

本文选择基于目标函数的方法对标签学习器的策略进行更迭,目标函数为:

式中,T表示含有噪声标记的包的个数;R表示标签学习器的奖励;Θ 是标签学习器的参数,本文使用式(16)迭代地更新参数:

在模型训练时,奖励的大小与其选择的动作相关,当动作选择的是正确的关系标签时会获得一个较大的奖励,从而通过该方法提升抽取模型识别关系的性能。

2 模型联合训练

本文提出的关系抽取方法需要对模型的两个模块进行预训练。首先使用公开数据集或自建语料库预训练关系抽取器;其次使用上一步得到的模型参数,通过选择远程监督标签或预测标签的方法预训练标签学习器;最后将关系抽取器和标签学习器进行联合训练。具体过程可用伪码表示如下:

输入:训练集Tra,验证集Val,关系抽取器的预训练参数集Φ0,标签学习器的预训练参数集Θ0;

输出:关系抽取器参数集Φ,标签学习器参数集Θ;

算法首先用关系抽取器的预测标签或远程监督标签来表示强化学习的状态,并获取错误标记的训练集,其次标签学习器通过策略来捕获动作,获取软标签集合,再次使用软标签来更新关系抽取器的参数集,通过验证集上的验证结果,使用式(18)获得期望奖励,最后更新标签学习器的参数。参数集Φ 和Θ 的更新公式由加权因子λ 和上一轮的参数表示,计算方法为:

3 实验结果及分析

3.1 实验条件

本文实验所采用的服务器配置为:Intel Xeon E51620 v4 处理器(3.5 GHz 主频)、8 GB 内存,GPU为NVIDIA Quadro P4000,Windows10 64 位操作系统,编程环境为PyCharm,代码基于Python3.6编写。文本研究侧重于解决地理领域文本的关系抽取问题,所以实验的数据集分为两部分:1) 通过非结构化文本与某百科的知识库自动标注、对齐获得的地理领域文本数据集,共有21 万条标注预料和10 种关系,其中训练集有13 万个句子,验证集有4 万个句子,测试集有4 万个句子。2) 来自多语种公开数据集ACE2005 和中文公开数据集Chinese-Literature-NER-RE-Dataset,这两个数据集通过对齐百度百科知识库生成,原始训练集按照3:1 的比例划分为一个训练集和测试集。其中从ACE2005数据集中选取了关系类型数据量最大的10 种标签组成的一个子集ACE2005-small,Chinese-Literature-NER-RE-Dataset 则选取了它所有9 种关系类型和其他组成10 种关系类型。

3.2 参数设置

使用深度强化学习进行文本实体关系抽取之前,需要对模型的参数进行设置,主要包括句子编码器、标签学习器的预训练参数以及联合训练的参数等,主要参数设置如表1 所示。

表1 模型参数设置

3.3 结果与分析

关系抽取算法主要采用精度(precision)、召回率(recall)和前N个样本的精度(P@N)进行评估,其中精度为:

召回率为:

式中,Tr表示抽取结果中正确的关系数量;Ta表示抽取的结果总数;Tt表示测试集中的关系总数。

3.3.1 改进策略的性能验证

本文验证了几种改进策略对提高模型实体关系抽取的效果,使用的实验数据集为公开的ACE2005-small 数据集。实验结果使用P-R 曲线图来展示加入实体关系类型模块和依存句法树模块对模型性能产生的影响,如图4 所示,其中ATT 表示注意力机制(attention),Etype表示实体关系类型模块,DSP(dependency syntactic parsing)表示依存句法树模块。从图4a 中可以看出,各改进模块在关系抽取性能提高方面都发挥了一定的作用。在加入实体对类型约束模块后,改进模型的精度在召回率为0.025 左右时几乎达到了所有算法中的最大值,但之后随着召回率的提升精度下降较快,在加入实体对类型模块后改进模型的精度与原始模型相比提升较大。进一步加入依存句法树模块之后,随着召回率的提升,模型精度的下降速度得到了有效缓解,且在召回率大于0.1 之后,模型精度均高于仅加入实体对类型的模型。最后加入强化学习模块之后,改进模型在召回率大于0.05 之后其精度在所有算法中仍为最优,并且与不加入强化学习的模型相比提升较大,这就表明加入强化学习进行标签降噪之后能够进一步提升模型关系抽取的效果。

3.3.2 不同关系抽取方法的比较

本文还在自建测试集和公开数据集上比较了所提算法与其他基准模型在处理专业领域文本方面的性能。传统方法的基准模型选择了远程监督的基础Mintz 模型[1]和基于特征的多实例学习方法(MIML)。其中Mintz 模型是出的远程监督经典模型,MIML 模型是传统方法中解决Mintz 问题的最佳模型[6]。在深度学习的方法中,将BiLSTM 和PCNN 方法与注意力机制(ATT)[16-17]以及PCNN 与强化学习(reinforcement learning, RL)结合使用[18],并与本文提出方法进行对比。

从图4b 的自建数据集测试结果可以看出,传统方法Mintz 和MIML 的效果远低于基于深度学习的方法,并且在召回率为0.20 左右时精度就下降到0。而BiLSTM+ATT 模型在召回率为0.025 左右时精度优于其他3 种方法,但随着召回率的增大精度下降速度较快。在自建数据集上PCNN+ATT算法达到了较高的精度,但随着召回率的增加,其精度优势不太明显。PCNN+RL 模型在召回率大于0.10 之后,性能优于其他几种算法,这也表明强化学习能有效提升深度学习关系抽取模型的性能。本文在其基础上进行优化,提出的方法在召回率为0.01 时精度明显超过了PCNN+RL模型和其他几种方法,并且在召回率大于0.07 之后,其精度基本都高于其他方法。因此,本文所提算法的P-R 曲线面积也大于其他几种方法,从而验证了本文所提关系抽取模型的优越性。

从图4c 的Chinese-Literature-NER-RE-Dataset中未公开数据集的P-R 曲线来看,Mintz 和MIML与深度学习的几种方法相比效果仍较差。BiLSTM+ATT 的整体效果较差,它在召回率低于0.05 时精度下降速度过快,但是在召回率为0.2 之后与其他深度学习模型的性能相差不大。PCNN+ATT 虽然在召回率大于0.2 之后的性能比BiLSTM+ATT 优秀,精度优势并不明显。PCNN+RL 在召回率为0.05时精度达到最大值,但是当召回率大于0.20,它的精度相比其他深度学习模型就显得较低。本文提出的方法在低召回率时精度小于PCNN+RL,这可能是由于本文采用的是专业领域的文本数据对实体关系抽取模型进行训练,因此通用数据集的其他领域的标注数据都会被模型视作噪声标签,从而导致错误发生,但是当召回率大于0.15 之后本文所提方法的精度一直高于其他4 个模型,而且本文所提方法的P-R 曲线面积也大于其他几个模型,这就证明了本文算法的专业领域的泛化性也较好。

图4 模型对比实验结果

为了进一步检验本文提出方法的性能,本文分别采用自建数据集和中文公开数据集里超过一个句子的包中前N个结果的精度(P@N)来判断抽取性能。表2 和表3 分别给出了几种关系抽取方法采用自建数据集和公共数据集的P@100,P@200、P@300 值和平均值。从表2 和表3 的结果中都可以看出,传统方法Mintz 和基于特征工程的MIML方法的P@N值与后4 种基于深度神经网络的方法差距仍较大,且精度也普遍较低。比较4 种基于深度神经网络的方法,在自建数据集上,本文模型比PCNN+ATT 等深度学习方法的平均精度提高了5%左右,而与深度强化学习的PCNN+RL 模型相比,本文方法的P@N也均提高了2%左右;在公共数据集上,本文模型比深度学习方法中的BiLSTM+ATT 模型的平均精度提高了7%左右,而与PCNN+RL 模型和深度强化学习的PCNN+RL 模型相比,本文方法的P@N也均提高了3%左右。此外,表2的结果普遍要略高于表3 的结果,主要可能是因为自建数据集中存在一对实体间具有多种关系的情况,而公共数据集中基本不存在此类情况。

表2 不同方法在自建数据集上的P@N 结果

表3 不同方法在中文公开数据集的P@N 结果

结合P-R 曲线与P@N结果分析,本文模型在不同程度上都有最优结果,证明了本文的改进策略对关系抽取都有促进作用,表明了本文模型的优越性。

4 结束语

本文提出了一个深度强化学习框架来进行文本实体关系抽取。首先,本文对BiLSTM 模型进行了改进,主要通过添加实体类型模块与依存句法分析树对该模型的深度学习部分进行改进,构建了关系抽取器;在标签学习器中,本文又结合了强化学习来纠正远程监督中的错误标签,从而形成了一种基于深度强化学习的关系抽取模型。在公开数据集以及自建数据集上进行的实验结果表明了本文提出的改进方法在通用领域与某些专业领域较现有主流方法均能表现出更好的性能。

后续的研究工作可以在加入本文改进模块的基础上从网络层面对抽取模型进行改进,并且尝试在进行词向量编码的时候引入字向量来观察是否能够提升关系抽取的性能。此外,本文还引入了依存句法分析模块,虽然这一改进促进了抽取模型性能的提升,但是它在句子非常复杂的情况下的分析效果会大大下降,可以参考多层强化学习来解决该问题。

猜你喜欢
向量精度标签
基于不同快速星历的GAMIT解算精度分析
数字化无模铸造五轴精密成形机精度检验项目分析与研究
向量的分解
聚焦“向量与三角”创新题
近似边界精度信息熵的属性约简
不害怕撕掉标签的人,都活出了真正的漂亮
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
让衣柜摆脱“杂乱无章”的标签
科学家的标签