APP下载

基于序列增强的事件主体抽取方法

2024-03-09沈加锐朱艳辉金书川张志轩满芳滕

湖南工业大学学报 2024年1期
关键词:解码器语义向量

沈加锐,朱艳辉,金书川,张志轩,满芳滕

(1.湖南工业大学 轨道交通学院,湖南 株洲 412007;2.湖南工业大学 计算机学院,湖南 株洲 412007)

1 研究背景

事件是指发生在某个特定的时间点或者特定的时间段[1],在特定区域内由一个或者多个角色做出一组或者多组动作而造成的状态改变的行为[2]。事件抽取,旨在将包含有事件信息的非结构化文本和半结构化文本以结构化的形式展示出来[3-4]。近年来,事件抽取吸引了较多的研究机构和科研工作者们的注意,其中,MUC(Message Understanding Conference) 会 议、ACE(Automatic Content Extraction)会议等,就是典型的事件抽取评测会议。在各有关的事件抽取实验之中,ACE 2005 数据集[5]更是被作为绝大部分实验的评测语料,出现在各个事件抽取任务中。此外,常用于事件抽取任务的测评语料还有TAC-KBP(Text Analysis Conference Knowledge Base Population) 语料库、TDT(Topic Detection and Tracking)语料库和其他特定领域的语料库,如BioNLP 语料库、TimeBANK 语料库、CEC(Chinese Electronic Corpora)语料库、MUC 语料库等[6-7]。

在ACE 中定义的事件包括事件元素与事件触发词两个部分。其中,事件触发词是事件语句的核心部分,ACE 将事件抽取任务分为触发词检测、触发器/事件类型检测、参数检测、参数角色识别4 个阶段。其中触发词检测是检测事件是否存在的依据,可用其判断语句是否具有后续抽取价值。触发器/事件类型检测是通过不同触发词归类事件类型,并由研究人事先定义好的模式组成。参数检测类似于命名实体识别,抽取事件语句中的各种论元实体。参数角色识别将论元实体分类到相应角色,如时间、地点、涉事公司等。

根据抽取对象领域的不同,可以将事件抽取分为开放领域和专业(封闭)领域[8-9];根据文本粒度的不同,可以将事件抽取分为句子级和篇章级;根据模型结构的不同,可以将事件抽取分为pipeline 式和联合模型式。在开放领域中,有更多的数据集可选。不同的文本粒度对事件抽取也有影响,篇章级包含更多事件,模型进行分辨时难度较大,而细粒度一般只包含一个扁平或嵌套事件,抽取准确性较高。根据抽取方法的不同,可以将事件抽取分为模式匹配和机器学习,例如,文献[10-12]提出了一种由人工构建的事件抽取模式,其通过对文本进行匹配,从而提取出文本中的事件信息,这种方法可以获得较高的精确率,但是人工参与程度较高,且受制于模式搭建,不利于新事件的抽取。文献[13-14]使用机器学习方法,将信息处理重点放在特征项上,通过词汇特征、句法特征、语义特征等获得文本信息,从而提取事件信息,但其对数据标注的质量有极高的依赖,并且无法抽取较复杂的事件。

近年来,随着深度学习不断地发展,抽取方法的中心也从模式匹配方向逐渐转移到机器学习,再到深度学习方法上。文献[15]提出使用HMM(hidden markov model)与句法分析相结合的方法,对事件进行抽取。首先,使用句法分析对中文文本进行分析,随后将得到的句法结构交给HMM 学习,得到一个抽取模型,其模型在200 篇网络地震文本中的F1值达86.184。但HMM 与语法分析对语言的依赖性较强,增加了开发与移植不同语言的难度,其对于复杂语法结构也表现较差。文献[16]抽取了微博交通信息,经过去噪、句子分割、词性标注及命名实体识别后,使用CRF(conditional random field)与基于规则的正则表达方法抽取文本中的事件信息,结果F1值为62.5,在标准化的语料库上F1值为66.5。但这种方法会依赖正则表达的设计好坏,极大限制了在不同任务中使用同一套模型的效率。

2019年,BERT(bidirectional encoder representations from transformers)模型横空出世,其有效推动了NLP(natural language processing)领域各任务的发展。文献[17]用BERT 微调稠密词向量作为中文字词表示,使用BiLSTM+CRF(bidirectional long short-term memory + conditional random field)方法,在突发公共卫生事件上,以pipeline 方式进行事件抽取,建立的模型在该数据集上的F1值得分为86.32,相较于只使用BiLSTM+CRF 的F1值78.3,有了较大的提升。但是此种方法使用文本截断时的大小对最终的结果有较大的影响,同时在多语言文本中难以实现事件抽取;文献[18]提出了一个基于GAT(graph attention networks)的模型,其利用Sentence Community 缓解多事件和角色重叠问题,提高了事件的抽取效率,其平均F1值为78.9。但是其对低频出现事件抽取表现较差,需要每类事件有较多数据可供训练;文献[19]使用BiLSTM+Attention 机制整合信息的基础上,利用top-k注意力机制,构建语法依赖图,学习隐藏的语义上下文表示,抽取事件时间关系,其在Micro 数据集上的F1值为73.2,相较CAEVO(CAscading EVent Ordering architecture)有较大提升。但是这种方法在整合信息层面有较高要求,在这个过程中需要作出大量预处理工作,以防误差传播到语法依赖图上[20]。

上述研究均获得了一定的成果,但是很多工作对数据的依赖性较强或者需要前期的大量准备工作,而使用BERT 预训练模型也未注意到填充文本对语义表达的影响。为了解决预训练模型对文本填充部分过分表达的问题,本文拟提出一种序列增强的事件主体抽取方法,用于解决在事件抽取中使用固定文本长度造成短句子填充过多,从而引发语义偏移的问题。本研究进行了如下创新:

1)融合预训练模型对字符级特征表达能力和序列模型对语义的表达能力,构建编码器-解码器架构实现事件主体抽取任务;

2)加入Mask 层,增强序列抽取能力,可有效抑制文本填充部分对语义空间的表达能力,从而提高最终的识别精确率;

3)将损失函数与文本填充部分通过Mask 层相关联,减少了模型过拟合现象的发生。

2 基于序列增强事件主体抽取模型构建

本文提出一种序列增强的事件主体抽取方法,该方法能有效解决抽取过程中填充文本在训练中错误传播的问题,模型整体结构见图1。

图1 模型整体结构示意图Fig.1 Model overall structure diagram

为提高事件的主体抽取精确率,模型构建编码器-解码器-MLP(multi-layer perceptrons)映射层用于解析文本语义。其中:编码器以BERT 层为主体,将输入文本以字符级切分为token,经过BERT 层和Dropout层训练后,得到每个token的稠密词向量表达;解码器以增强序列层为主体;MLP 映射层由使用神经元个数递减的全连接层组成。这样的组织结构有效将各种长度的文本序列映射到相同语义空间之中,学习一种共同的语义表达。

2.1 编码器

本文构建的编码器主要由BERT 层、Mask 层、Dropout 层和SpatialDropout 层组成,如图2所示。

图2 编码器结构示意图Fig.2 Encoder structure diagram

为便于对文本整体进行语义编码,本文将文本截断、填充后,以字符为单位划分token,让模型学习中文文本更细粒度的语义表达,token 输入BERT 模型中得到字符级的向量表达,表达公式如下:

式中:Ei(i=1,2,··,n)为词向量;

S为句向量。

Dropout 层以字向量Ei与句向量S的和作为输入,随机舍弃更新,其中更新公式如下:

式(2)~(4)中:Bernoulli函数生成概率向量r;

p为控制随机舍去的概率;

f(·)为使用的相应激活函数;

w为可训练权重;

y为第l层的结果;

b为l层偏置项;

l为神经层数。

本文在编码器结构中加入了一个Mask 层,它将原文本对应的位置用1 表示,填充部分用一个极小的数值表示,以此形成一个掩码序列向量,并将其与BERT 模型微调后得到的稠密词向量相加,以此增加文本部分的权重,降低填充部分的重要性。

本文编码器结构中的最后一层采用了SpatialDropout,它最早是在图像领域提出的,与Dropout 相比,它不仅能够将部分元素置零,还可以随机对某一维度向量全部置零[21]。此外,该方法可以防止模型对特定特征项过度依赖,并通过强制学习所有特征来获取其语义表达。

2.2 解码器

本研究构建的解码器由两个双向序列模型、两个Mask 层组成,如图3所示。

图3 解码器结构示意图Fig.3 Decoder structure diagram

从解码器角度来看,Bidirectional-RNN 模型、Bidirectional-GRU(BiGRU)模型、BiLSTM 模型或者是GRU 模型、LSTM 模型,都是可行的序列模型,本文拟通过实验证明,采用BiGRU 可以在最终训练结果上达到最好的效果。

在经过编码层后得到的词向量表达Ei被用作解码器的输入,并通过第一层BiGRU 处理,以形成新的[E1,E2,E3,…,Ei,…,En],其计算公式如下:

式(5)~(8)中:

Wz、Wr和W分别为更新门、重置门以及候选隐藏状态的权重矩阵。

首先,Ei与Mask 层进行点乘操作,用以降低第一层BiGRU 的前半部分中填充部分文本的权重,并且将其输入至后半部分BiGRU 中,得到更新后的[E1,E2,E3,…,Ei,…,En];然后通过Mask 层对其进行处理,以减少填充文本的权重,从而得出解码器的输出结果。

2.3 MLP 映射层整合特征项

在经过编码器和解码器处理后,模型已学习到许多字符信息特征,并通过设计MLP 映射层以抽取出事件主体,其模型结构如图4所示。

图4 MLP 层结构示意图Fig.4 MLP layer structure diagram

如图4所示,MLP 层前半部分由3 层神经元以及2 层Dropout 组成。其中,3 层神经元的数量呈指数递减,将高维信息映射至低维以有利于最后的表达输出,而2 层Dropout 则可以防止过拟合。MLP 层后半部分对应2 个输出,均由1 个神经元以及1 个InvMask 层构成。在InvMask 层中,该模型将会将所有的填充部分设定为微小数字,并进行相减处理;此外,该函数也会将神经元的输出内容减去InvMask中的反转函数,以得到如下的最后表达式:

式中:α为掩码部分掩盖权重超参数;

Wven为经过上一层神经元后的特征表达;

psi为经过InvMask 层后的输出。

2.4 损失函数

为了提高事件主体抽取的精确率,本文设计了一个损失函数,其由两部分组成,分别对应于MLP 层后的ps1和ps2,用于进行综合损失值计算,并进行反向传播。具体的计算公式如下。

式(10)(11)中:

seni为第i个输入句子,将输入seni与对应第i个MLP 层输出做交叉熵,当求得第一部分损失函数时i=1,求得第二部分损失函数时i=2;

θ(·)为张量均值。

与第一部分损失函数类似,第二部分损失函数为了减少Mask 层对抽取精确率的影响,需在计算损失函数时减去InvMask 的改变量,公式如下:

第二部分损失值通过式(10)得到cc2,则第二部分损失函数表达式为

最终损失函数为

3 实验设计及数据分析

3.1 实验数据集分析

每年,CCKS 都发布各种高质量数据集,供研究者进行实验。这些数据集包括大量可用于事件抽取的数据,对于使用不同框架进行事件抽取具有显著的帮助[22-24]。为了证明本文提出方法的有效性,采用CCKS 2022 评测任务九金融领域事件抽取数据集进行实验,其中训练数据集共59 143 条,测试数据共15 265 条。数据集文本长度分布如图5所示。

图5 数据集文本长度分布图Fig.5 Dataset text length distribution

由图5 可以得知,本研究选用的数据集文本长度集中分布在20~140 字符之间。训练数据集事件类型分布如表1所示。

表1 训练数据集类型统计结果Table 1 Training dataset type statistics

数据集中有173 种不同的事件类型,但是这些类型的数量分布并不均匀。这是由金融领域事件发展所决定的,例如高层变动、与其他机构合作、资产重组等事件的概率较高,因此其对应的信息也会更加密集。

3.2 实验环境

本实验基于TensorFlow 框架搭建模型,并使用GPU 加速训练过程,以便快速收敛。为此,本模型封装原有优化器以实现梯度累积功能,将计算得到的梯度方向保存在内存中,在获取一个batch 数据后,当进行一定的累加步数后,根据之前保存的梯度方向来对神经网络进行参数调整,接下来将所有保存的参数全部重新归零,并进行迭代训练。具体的实验硬件配置如下:操作系统为Windows 10×64位;CPU 为i7-10510U@ 2.30 GHz,GPU 为NVIDIA GeForce MX250;内存为16 GB;Python版本为3.7.13;TensorFlow 版本为1.14.0。

3.3 实验设计

为了验证本模型在金融领域文本中的事件主体抽取能力,本文设计如下对比实验方案:

1)BiLSTM+CRF 模型。这是一类典型的序列抽取模型,通过训练语料生成一个200 维的词向量,将待抽取文本通过BiLSTM 表达出来,再由CRF 对其进行约束,最后得到序列预测结果。

2) BERT+CRF 事件抽取模型。事件先经过BERT 编码后,将文本语义投影到768 维的特征向量中,然后由CRF 层对其进行约束,最后得到序列预测结果。

3) DMCNN 模型。它是一种pipeline 式抽取方案,其具有自动学习特征的能力。该模型通过无监督的方式学习词嵌入以及字典级别特征表达能力,并且具备句子级特征抽取能力。同时,通过使用动态卷积神经网络来实现事件抽取。

4)序列增强事件抽取模型,即本文所提模型。首先构建了一个中文词表,供BERT 模型查询使用。接着,使用tokenizer 对文本进行细粒度切分,并将其输入BERT 模型中。然后,将BERT 模型输出的token 向量作为双向LSTM 模型的输入,以学习文本的隐藏语义特征。最后,运用MLP 层对这些特征进行预测,得出最终结果。

除此之外,本文还开展了模型对比实验,比较了基线模型和本研究所提出的模型在信息抽取方面的表现。接着,进行了一系列重要的超参数选取实验,以期望能够进一步改良本文的模型,并且达到更优秀的试验效果。

4 实验结果

4.1 超参数选取实验

为了寻求更高的抽取精确率和效率,分别对序列模型层数、α值、MLP 层内神经元个数以及文本截取长度进行取值实验。本实验采用精确率P作为评价指标,实验结果如表2所示。

表2 MLP 层、GRU 层数、α 值超参数结果对比Table 2 Result comparison between MLP layer,layers of GRU and α values exceeding parameters

在经过BERT 模型微调后,每个token 都会具备高维度的语义表达能力,这就要求使用更多层数的神经元来承载信息。从表2所示实验结果可以看出,当MLP 层神经元个数为64-4-1 时,由于神经元较少,对特征空间的表达能力不足,因此精确率仅为46.12%。在提高MLP每层神经元个数到1024-64-8后,精确率提高到81.14%。

在序列模型层数实验中发现,随着层数的增加,精确率随之增加,且当层数达到最大值200 后,精确率开始减小。实验结果表明,模型层数GRU 为200时P值最大,因此本模型最终将序列模型的层数定为200。

虽然α值会影响模型对非文本序列的权重,但从结果中发现α值也并非越大越好,当其值超过一定范围时,其精度将大幅度下降,根据实验结果显示,当α值为1e10 时,结果最优。

同时,本文设计采用不同截取长度的文本,探究填充长度对模型提取事件主体的精确率和运行时间的影响,所得实验结果如表3所示。

表3 文本截取填充长度结果对比Table 3 Comparison of text intercept filling length results

根据前3 个实验结果可以得出,随着截取文本长度的增加,训练精度也相应增加,但是训练时间也会急剧上升。当文本长度从140 字增加到200 字时,训练时间大幅度上升,而训练精度却开始下降。这是由于当将截取文本填充到200 字以后,会引入大量不相关的信息对语义造成干扰。这一实验结果进一步证明了使用Mask 层的必要性,其可以有效降低语义干扰。权衡训练效果与运行时间两个因素,本文选择maxlen 值为140 进行后续实验。

除此之外,模型所采用的BERT 模型是中文的L-12_H-768_A-12 预训练权重,其中包含12 层Encoder,768 个隐藏神经单元以及12 个attention heads。考虑到每一轮的学习率应该有所不同,本研究使用了warm up 方式来在不同轮数时改变学习率:在第一轮,以0.005 的学习率开始,随后以step 依次减少,直到0.000 1。Dropout 层都使用20%的舍弃率进行随机舍弃;SpatialDropout 层则将舍弃率降低到10%。

4.2 序列对比实验

为了评估BiLSTM、BiGRU、LSTM 和GRU 这4 种序列模型的表达能力,在其他参数不变的情况下,采用10 折交叉验证的方式进行实验,最终将表示能力取平均值作为最佳结果。所得各序列模型的实验结果如表4所示。

表4 序列模型结果对比Table 4 Comparison of sequence model results

由表4 可知,双向模型比单向模型具有更好的表达能力,本文采用的BiGRU 模型比BiLSTM 在理解句子语义逻辑上具有更强的优势。

4.3 模型对比实验

BiLSTM+CRF、BERT+CRF、DMCNN 和本文所给出模型的对比实验结果如表5所示。

表5 4 种模型实验结果对比Table 5 Comparison of experimental results of four models

通过分析表5所示实验结果可以得出,DMCNN模型经过动态卷积层后可以很好地表达出句子级的文本理解能力,抽取出事件主体。而简单使用BiLSTM 较难对句子进行编码操作,很难理解句子内主体逻辑能力,精确度相较别的模型更低。且结果显示,本文模型具有最高的识别精确率,并且在4 种模型中,F1得分最高。

5 结语

为了解决填充文本对语义表达带来的偏差,本文提出了一种增强序列模型,它对输入文本中的填充部分与非填充部分进行不同的处理,从而使模型能够更加高效地专注于原始文本部分,进而提升文本的表达能力。该方法结合了BERT 字符级的语义映射能力与序列技术对文本特征的抽取能力,取得了优异的效果。

从实验数据集中的事件类型数量分布来看,大量不平衡样本类型对召回率造成影响,因此后续工作可以从以下方面进行优化:

1)通过采用样本均衡的方法来缓解样本类型数量间的不平衡,从而改善效果较差类别的召回率。

2)增加注意力机制,将文本语义空间与类型相关联,以便更好地提升抽取效果。

3)寻找更细粒度字符表达或增加字符表达能力,提高BERT 模型的训练效果,进一步增加文本语义表达能力。

猜你喜欢

解码器语义向量
向量的分解
科学解码器(一)
聚焦“向量与三角”创新题
科学解码器(二)
科学解码器(三)
语言与语义
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
“上”与“下”语义的不对称性及其认知阐释
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线