利用Bert模型实现电力安全规程数据中实体关系抽取

【www.zhangdahai.com--其他范文】

徐鸿飞,李英娜

(1.昆明理工大学 信息工程与自动化学院,云南 昆明 650500;
2.云南省计算机应用重点实验室(昆明理工大学),云南 昆明 650500)

电力安全规程数据包含各种类型的文本数据。电力安全文本数据分析的结果,可为电力现场检修、电力设备管理、电网故障处置提供决策支持。电力安全规程中实体关系抽取的实现,能够使电力安全工作获得挖掘和分析大规模文本数据中有用知识的能力。

实体关系抽取,旨在从海量结构或非结构文本中抽取出类别实体和分类关系,是构建复杂的知识数据库的关键步骤。

采用早期的基于规则和词典抽取,需要利用人工标注数据或通过已有词典使用概率和模式匹配等方法实现,在少量数据应用时取得了良好的效果[1]。但基于规则和词典的方法要求条件高,需要大量时间和人力,不利于大量数据处理;
因此研究者们提出了使用机器学习的方法进行实体关系抽取,希望使用算法建模并学习处理数据,然后对特定任务做出预测。机器学习方法有监督学习、半监督学习和无监督学习3种方式。为了减少人工依赖和增加抽取任务的可迁移性,研究者们又提出了采用远程监督方式进行实体关系抽取。远程监督通过文本对齐方式,将知识语料库和待处理文本相同实体对进行同类标记,自动训练大量样本,生成特征训练分类器[2]。

由于机器学习方式用到的特征依然人工完成,而深度学习具有从低维映射高维,从而发现数据更多特征的优点,因此可以很好地用于实体关系抽取任务中[3]。文献[4]使用双向长短时记忆网络(Bi-directional long short-term memory,BiLSTM)加条件随机场(Conditional random fields,CRF)模型进行训练,并将融合迁移学习用于数据集的命名实体识别任务,取得91.53%的准确率。文献[5]针对中文语法句式复杂、现有神经网络抽取模型提取特征和语义表征能力差的问题,使用Bert预训练模型融合实体对和实体类型等多特征信息进行抽取,提高了F1值。文献[6]针对非结构化文本实体关系抽取存在上下文环境信息不能准确表征,导致实体关系抽取模型准确率不高的问题,提出一种新型实体关系抽取模型。该模型使用双向门控循环单元获得语序信息,然后加入注意力机制关注某些序列特征,最后采用分段卷积神经网络学习特征并进行抽取。实验证明,该模型具有较好的性能。文献[7]针对远程监督关系抽取方法常常忽略实体对的类型信息和句子语法信息的问题,提出使用实体周围词文本的注意力机制融合依存句法分析的双向长短时记忆网络的抽取器进行实体关系抽取,从而提高了抽取的精度和召回率。

现有的关于利用神经网络模型实现实体关系抽取方面的研究,其关注点通常集中于实体关系抽取性能和F1值。同时,在这些研究中,对于实验数据集本身有严格限制:只能使用通过人工方式多次标注核对获得的高质量数据集,或者使用公开高标准数据。这些高质量、高标准的数据集都集中在通用领域。对于其他专业领域高标准数据集缺乏的问题,目前还没有比较好的解决方法。

电力安全领域尚缺乏公开的可用于进行实体关系抽取相关研究的高标准数据集。同时,目前自有数据集也面临质量不高、标注存在噪声等问题。

电力安全规程相关文本数据,具有数量庞大、多元、异构、多维度、多形式的特点。在诸多电力安全规程文本数据中,非结构化数据居多,而且非结构化数据中存在很多与电力安全无关的语句。这些语句对电力安全规程实体关系抽取以及后续的图谱构建会造成一定影响[8]。

鉴于此,本文结合自有电力安全规程数据集,首先针对标注噪声问题,提出使用句袋注意力机制对数据集进行降噪;
然后使用主流实体关系抽取方法 Bert+BiLSTM+CRF,对实体关系进行抽取[9]。

自有数据集使用的文本种类复杂,内容中难免出现频率不一的无关语句。对无关语句定义为,句子中未出现相关实体和关系的语句。无关语句会对实体关系抽取产生不同程度的影响,即噪声引入。噪声会对语义特征产生影响,也就是无关语句对模型语义表征造成的影响。消除无关语句影响,可以对句子预先进行处理,在使用神经网络模型层抽取之前进行降噪。本文在抽取模型前使用句子注意力机制对句子进行分类处理[10],避免错误信息的误差传播,以有效减少句子引入的噪音,增加信息抽取的准确性,优化了计算资源分配,提高模型训练效果。

1.1 模型架构

为实现实体关系抽取,本文模型使用基于深度学习的4层结构,分别为:进行句子降噪处理的预处理层、使用Bert模型的输入层、使用BiLSTM和CRF算法的模型层,如图1所示。

图1 整体架构图Fig. 1 Overall architecture

预处理层:基于句袋注意力机制对文本进行预处理。通过句子相似度计算,将句子分为若干句袋;
使用注意力算法赋予语句不同权重值;
最后,将一部分权重值低的句子直接丢弃。

输入层:使用Bert模型进行词向量表征,提取语句基于前后文的语义信息。

模型层使用BiLSTM和CRF算法进行信息抽取。

1.2 句袋注意力降噪输入层

本文采用Word2vec向量划分句袋模型。

首先使用 jieba对句子进行分词处理。使用Word2vec获取每个词的 Vector。然后,将所有Vector相加并求平均,得到Sentence Vector。计算句子夹角余弦值,得出句子相似度。将数据分为n个相似句袋t={t1,t2,···,tn}。其中,表示在句袋ti中有m个句子。

Attention是一种让模型充分学习并关注重点信息的机制[11],其使用双向长短时记忆网络(BiLSTM)Encoder-Decoder结构。

Encoder把所有输入序列编码成一个包含语义特征的固定长度隐向量(或上下文向量context)c。

与 Seq2Seq模型的 Decoder使用一个向量c计算隐藏层的情况不同,Attention在Decoder的每个时间输入不同的向量c来进行计算。计算过程如图2。

图2 句袋注意力机制结构图Fig. 2 Structure diagram of sentence bag attention mechanism

当前位置上下文向量c,是由Encoder部分所有隐状态h和对应权重值α加权求和得到:

隐状态hj和输入隐状态s′j的相关性etj通过前一阶段的输入隐状态s′j-1和当前隐状态hj计算得到。使用 softmax进行归一化,得到权重atj。这个权重表示了当前位置隐状态hj对当前位置输入隐状态sj的影响程度。

使用上一个输入sj–1、上一个输出yj–1和当前位置的上下文向量cj更新当前位置输入隐状态sj,然后计算出当前输出yj。

将同一句袋内的句子权重进行加和归一化,按照大小进行排序,根据排序结果权重值去除噪音句子。

1.3 词向量表征Bert嵌入层

Bert模型是基于Transformer构建的,如图3所示。Transformer采用Encoder-Decoder架构,分别使用6层Encoder和Decoder堆叠在一起,如图4所示。本文模型采用中文Bert_base Chinese模型。

图3 Bert模型架构图Fig. 3 Bert model architecture diagram

图4 Transformer结构图Fig. 4 The Transformer structure diagram

首先对数据进行Embedding处理。Bert以单个句子序列的方式进行输入,还可以将2个句子组成的句子对的形式输入模型训练。在句子开头插入[CLS]符号;
该符号本身没有任何语义,但其编码整个句子的语义,同时在句子中间插入[SEP]符号,用来充当分割句子的标志位。对于中文数据集,对句子进行分字处理,对单个字进行向量化。将词语级词嵌入向量(Token embeddings)、句子信息嵌入向量(Segment embeddings)和位置嵌入向量(Position embeddings)进行拼接。词嵌入向量是词语映射的低维稠密向量;
句子嵌入向量表示输入句子的区分;
位置嵌入向量是词语在句子中的位置信息。拼接后的向量包含了句子信息和位置信息。这些向量被用作下游模型的高质量特征输入。

将Embedding送入到Encoder层,Self-Attention处理完将数据送入前馈神经网络,然后归一化,送入下一个 Encoder层。Self-Attention可以学习句子内部词语依赖关系信息以及句子结构。由于Self-Attention和每个词都要计算 Attention,所以可以获得长距离依赖关系。计算Embedding和矩阵相乘,得到Query、Key和Value 3个矩阵;
然后计算Query和Key矩阵相乘。为了防止结果过大,使用 SoftMax函数归一化为概率分布[12,13],公式如下:

式中:Q、K、V为Query、Key和Value 3个矩阵;
dk为向量的维度。

Decoder还包含Mask multi-head attention层。多头注意力机制使用多维度输入提取重点关注内容:

预训练时,随机使用Mask掩盖15%的词,然后采用非监督方法预测该位置的词。使用大量语料进行预训练[14],获得全局特征向量,引入句子之间的语义信息。经过Bert模型处理过的嵌入层,文本词向量获得大量句子级词语相关特征。

1.4 双向长短时记忆网络模型层

BiLSTM模型分为2个独立的长短时记忆网络,分别以正序和倒序输入到2个长短时记忆神经网络(LSTM)中进行特征提取,将2个向量拼接后作为最终的特征表达。

LSTM 使用链式结构选择记忆信息,使模型解决了长距离依赖问题,避免信息快速流失[15]。LSTM与RNN类似,但LSTM在隐藏层中增加了门控机构,分为遗忘门、输入门和输出门,结构如图5。

图5 长短时记忆网络结构图Fig. 5 Long and short memory network structure diagram

式中:xt为当前时刻的输入;
h为隐藏层状态值;
ht–1为前一时刻状态值;
W为ht–1的权重系数;
Wf为遗忘门权重;
Wi为输入门权重;
Wo为输出门权重;
Wc为特征提取过程中权重;
U为xt的权重系数;
Uf为遗忘门权重;
Ui为输入门权重;
Uc为特征提取过程中权重;
b为偏置值;
bf为遗忘门偏置;
bi为输入门偏置;
bo为输出门偏置;
bc为特征提取过程中的偏置值;
tanh为正切双曲函数;
σ表示激活函数Sigmoid。

计算过程如下:首先通过遗忘门前一个时刻的隐藏层单元计算丢弃信息的概率值f(t),通过输入门计算需要更新的状态信息i(t);
然后使用tanh计算需要添加的状态信息a(t),更新记忆状态值c(t);
前一时刻状态值ht–1中的部分状态信息o(t)在输入门中计算得出,然后就能得出当前时刻的状态值,即前向传播特征信息h(t)。

双向传播使用序列信息进行传播,传播方向是从后向前传播,得到带有后向传播特征的序列信息;
然后将2个不同方向得到的序列信息相加,即可得到融合了前向传播特征与后向传播特征的完整序列信息。

1.5 条件随机场模型层

CRF是一种基于无向图的概率判别模型。CRF不依赖独立性假设,避免了标签引入的偏差。

随机过程:无限实数集T中存在无限多个随机变量,这些变量依赖于实数集参数,记为X(t),t∈T。根据条件概率分别进行判别。计算输入输出条件下的另一组随机变量:形式为对数线性模型,方法使用极大似然估计。

无向图G=(V,E),G是中心节点。随机变量的集合Y={Yv|v∈V},v是索引。给出一个随机变量X,计算出每个随机变量Yv。这些变量如果都能满足马尔可夫性:

则此时的概率分布P(Y|X)就满足条件,就可以称为一个条件随机场。v表示在无向图G=(V,E)中一个节点。w=v代表所有与这个节点有边相连接的节点;
w≠v代表所有没有边和此节点相连接的其他节点。Yv是节点v对应的一个随机变量;
Yw是w节点的随机变量。

计算条件概率P(Y|X),使用到了势函数和图结构。通过使用指数函数,然后引用特征函数,条件概率为:

式中:λk和μl为对应的权重值;
tk和sl为局部特征。

tk为一个定义在边上的特征函数,称为转移特征;
其不仅依赖当前位置,还依赖上一个位置。sl是定义在节点上的特征函数,称为状态特征;
其仅仅依赖当前位置。当2个函数满足特征条件时,取值为1;
否则取值为0。Z(x)为规范化因子,功能是在所有可能的输出序列上进行求和。

使用特征函数打分,分别得出不同标注网络的得分,然后选择可能性最高的,作为最终标注网络。

本文采用自有电力安全规程数据集进行消融实验和对比实验。用消融实验验证句袋注意力机制对数据集降噪效果。用对比实验验证算法的抽取效果。

本文使用带 GPU的计算机进行实验,使用Python语言的版本为 Python3.6,使用的 Pytorch的版本为Pytorch1.14。

2.1 实验数据集

鉴于目前还没有公开的电力安全规程相关数据集,本文采用已有电力规程文档和电力安全规程相关文档组成的文本数据,包括:新版电力安全工作规程、国家电网电力安全工程典型工作票、国家电网安全事故调查规程、电力通信安全规程、电力建设安全工作规程、电网安全规程精编、电力安全管理规定、电力安全隐患、输电系统可靠性评价规程、农村安全用电规程,电力安全技术监察规程等。

由于数据集多为非结构化数据,因此使用人工方式进行数据清理,去除将标点符号、句子标号、空白区域和多余文档格式等。

统计结果显示,在字数为10个以下的句子中,有完整实体关系三元组的比例不足20%。在10个字以上的句子中,此比例随字数上升明显:因此,去除字数为10以下的句子。

采用 BIO(B-begin,I-inside,O-outside)方式进行实体关系标注。通过人工的方式构建实体关系结构。标注分为实体关系标注和无关语句标注,如表1所示。

表1 电力规程人工标注数据实例Tab. 1 Example of manual annotation data of power regulation

自有数据集的句式结构特征单一,但实体关系类型比较复杂,所以:本文采用主(a-s)谓(d-f)宾(g-h)形式进行实体–关系–实体标注。

无关语句标注。针对未出现与安全规程相关的实体关系语句,将语句所有字词标注为O。

使用多次人工校对和软件校对进行标注校验,以保证数据集的准确性和可靠性。

实验数据集文本10 000条,按照8:1:1的比例划分训练集、测试集和验证集。

2.2 实验参数和评价指标

进行多次调参实验。使用 Adam优化器来更新迭代参数。当训练效果达到最优时,学习率设置为0.000 03,学习衰减率0.000 01,隐藏层共768层,最大序列长度128,dropout为0.4。

实验使用准确率(precision,P)、召回率(recall,R)和F1值作为实验的评价指标[16]。

2.3 实验效果与分析

消融实验设置:将使用句袋注意力机制的模型与未使用句袋注意力机制的模型进行对比;
其他实验条件设置相同。训练模型使用Bert-BiLSTM-CRF进行实验,结果如表2所示。

表2 有无注意力机制实验结果对比Tab. 2 Comparison of experimental results with and without attention mechanism%

由表2所示的实验结果可知,使用句袋注意力对句子进行预处理之后,准确率、召回率和F1值均有4.0%以上的提高。由此证明,句袋注意力对实验效果有提高的作用。

图6所示为Bert-BiLSTM-CRF模型在不同迭代次数时的运行结果。由图6可知,模型运行迭代到12轮时,F1值达到90.5%,以后结果趋于稳定,稳定在90.0%以上,在第22轮时,结果达到最高值 91.5%,后续迭代不高于最高值,因此本次实验设置为30次迭代。

图6 不同epochs下的F1值Fig. 6 F1 values at different epochs

将本文模型(Bert-BiLSTM-CRF)与目前主流的Bert-BiGRU-CNN、Bert-BiLSTM-Attention、Bert-CRF模型进行对比:实验使用数据均为进行过句子降噪的同一数据集,运行在同一台计算机上,均为同一软件环境;
结果如表3所示。

表3 不同模型效果对比Tab. 3 Effect comparison of different models%

由表3可知,本文模型在准确率、召回率和F1值3个指标方面均取得最好效果。本文模型F1值为 91.5%,为 4个模型中最高。Bert+BiGRU+CNN是对比模型中效果比较好的,但是和本文模型仍有 1.3%的差距。但是整体看来,使用 Bert模型的对比模型,结果均达到 80.0%以上,由此可见,Bert模型对于中文的表征性能达到很高的水平。

在电力安全规程缺少高质量数据集的情况下,本文引入句袋注意力机制,使用Bert预训练模型进行表征,然后使用神经网络加机器学习的抽取模型,对自有电力安全规程进行实体关系抽取。

实验结果证明,利用句袋注意力机制能够减少噪声影响,能够提高模型抽取性能。这对于后续实体关系消岐工作和关系图谱构建都有重要的意义。

通过本实验,能够基本构建出高质量电力安全规程实体关系数据集,但仍有诸多工作和实验中产生的问题需要进一步的思考和解决。未来研究方向为非连续关系识别和实体关系消岐。

猜你喜欢 规程实体向量 中国新车评价规程世界汽车(2022年3期)2022-05-23基于规程法的雷击跳闸率计算电子乐园·下旬刊(2022年6期)2022-05-16向量的分解新高考·高一数学(2022年3期)2022-04-28聚焦“向量与三角”创新题中学生数理化(高中版.高考数学)(2021年1期)2021-03-19《四川省工伤认定工作规程(试行)》出台四川劳动保障(2021年3期)2021-01-27中国新车评价规程世界汽车(2020年6期)2020-12-28前海自贸区:金融服务实体中国外汇(2019年18期)2019-11-25实体的可感部分与实体——兼论亚里士多德分析实体的两种模式哲学评论(2017年1期)2017-07-31两会进行时:紧扣实体经济“钉钉子”领导决策信息(2017年9期)2017-05-04振兴实体经济地方如何“钉钉子”领导决策信息(2017年9期)2017-05-04

推荐访问:抽取 规程 实体

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0904/649423.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!