一种面向电力规划评审领域的命名实体识别方法与流程

文档序号:29166316发布日期:2022-03-09 02:42阅读:103来源:国知局
一种面向电力规划评审领域的命名实体识别方法与流程

1.本发明涉及电力规划及计算机技术领域,具体涉及一种面向电力规划评审领域的命名实体识别方法。


背景技术:

2.随着现代社会计算机技术的快速发展,加之人工智能技术及软件技术的广泛使用,人工生成电网规划评审成果的模式已不能满足电力企业发展策划部门提升电网规划工作水平、提高电网规划工作效率及确保电网规划工作质量的要求。传统的电网规划方式采用人工制作excel表格的方式进行数据管理,该方法不仅工作效率低下、工作强度大而且安全系数不高、不易保存,容易造成电网数据被泄露,给企业带来不可估量的损失。为进一步提高电力公司发展策划集约化管理水平、提升项目评审质量、有效发挥各类电网投资所产生的效益,实现电网规划项目评审管理,研究一个基于人工智能的规划评审辅助工具势在必行。
3.而知识抽取任务中的命名实体识别(named entity recognition,ner)是知识图谱构建的第一步,其中的关键问题是如何从异构数据源中自动抽取信息得到候选知识单元。命名实体识别是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术,如何从非结构化的文本数据中正确的抽取专业术语等名词信息是一个重要问题。
4.当前电网规划领域命名实体的自动化识别并不理想,大部分情况下仍然需要依靠人工手段进行信息抽取,尤其当文本语料完全是非结构化文本时,现有的抽取方法不再适用,这就导致目前工作人员无法在非结构化电网规划文本语料中进行有效的命名实体识别工作。研究面向中文电力规划评审项目的命名实体识别技术,是电力规划评审管理的重要一环,也是构建电力规划知识图谱的关键任务之一。


技术实现要素:

5.本发明所要解决的技术问题是当前电网规划领域命名实体的自动化识别并不理想,大部分情况下仍然需要依靠人工手段进行实体抽取,尤其当文本语料完全是非结构化文本时,现有的抽取方法不再适用,导致目前工作人员无法在非结构化电网规划文本语料中进行有效的命名实体识别工作。目的在于提供一种面向电力规划评审领域的命名实体识别方法,解决上述的问题。
6.本发明通过下述技术方案实现:
7.一种面向电力规划评审领域的命名实体识别方法,包括以下步骤:
8.步骤s1:根据样本语料数据集特征,设立多个刻画实体不同性质的实体标签,获得分词后的样本语料;
9.步骤s2:将分词后的样本语料加载到glove模型以训练词向量,按位置拼接后得到文本序列向量矩阵
10.步骤s3:利用多尺度卷积网络对文本序列向量矩阵卷积后重组池化,提取出序列中词粒度的词汇信息;
11.步骤s4:将以文本序列向量矩阵为输入的bilstm网络中前向lstm和后向lstm末尾状态进行拼接,提取出序列中句粒度的词缀信息;
12.步骤s5:利用cross-transformer模块对序列中词粒度的词汇信息和序列中句粒度的词缀信息进行融合,最后通过crf层完成命名实体识别。
13.进一步地,步骤s1中,所述实体标签包括“项目名”、“公司单位”、“费用名”、“项目类别”、“时间”、“数值”、“设备名”、“地名”、“通信网层次”、“站点名”、“用途”、“线路名”。
14.进一步地,步骤s2中,所述将分词后的样本语料加载到glove模型以训练词向量,按位置拼接后得到文本序列向量矩阵包括:
15.借助glove模型将具有实体标签的样本语料形成以字为单位的向量化表示,每个字对应64维稠密的向量;按位置拼接后得到文本序列的向量矩阵其中表示序列第一个位置的字对应的embedding向量,w为word一词的首字母,t代表句中中文字符的数量,即序列长度。
16.进一步地,步骤s2中,所述将具有实体标签的样本语料输入glove模型,按位置拼接后得到文本序列向量矩阵还包括:
17.以句号、分号作为分隔符,将整个序列字向量按位置顺序拼接排列,得到大小为64
×
t的向量矩阵;其中,64表示向量维数。
18.进一步地,步骤s3中,所述利用多尺度卷积网络对文本序列向量矩阵卷积后重组池化,提取出序列中词粒度的词汇信息,包括如下步骤:
19.步骤s31:卷积核卷积维度为64
×
k时,在向量矩阵左右两侧分别补维度为64
×
(k-1)的padding层;
20.步骤s32:用64
×
1、64
×
2、64
×
3、64
×
4、64
×
5、64
×
6不同维度的卷积核,总计共32个卷积核,对向量矩阵做滑动卷积运算,每个卷积核对序列卷积时生成t+k-1个介于[-1,1]的具体数值;
[0021]
步骤s33:将相邻的k个数值重新组合后进行最大池化操作,由此得到与序列长度一致的数值向量;
[0022]
步骤s34:将不同卷积核对应生成的数值向量按位置顺序排列,每个位置对应32维数值向量,该向量与文本序列向量矩阵拼接,得到融合词粒度词汇信息的序列向量其中,l为lexicon一词的首字母;
[0023]
步骤s35:相对位置编码生成的向量序列与处向量对应位置相加,并进行归一化操作。
[0024]
进一步地,步骤s4中,所述将以文本序列向量矩阵为输入的bilstm网络中前向lstm和后向lstm末尾状态进行拼接,提取出序列中句粒度的词缀信息,包括如下步骤:
[0025]
步骤s41:将各位置的embedding向量分别作为不同时刻前向和后向lstm模块的输
入,前向和后向lstm模块相互独立,lstm模块间用细胞状态c和隐状态h连接;
[0026]
步骤s42:前向lstm中x
t
位置的隐状态和后向lstm中x0位置的隐状态拼接;
[0027]
步骤s43:全连接神经网络将拼接后的隐状态映射为32维的向量;
[0028]
步骤s44:该向量与原始矩阵进行拼接,得到融合词粒度词汇前后缀信息的序列向量表达其中,表示序列第一个位置的字融合序列前后缀信息后对应的embedding向量,b为bilstm一词的首字母;
[0029]
步骤s45:相对位置编码生成的向量序列与处向量对应位置相加,并进行归一化操作。
[0030]
进一步地,步骤s5中,所述利用cross-transformer模块对序列中词粒度的词汇信息和序列中句粒度的词缀信息进行融合,最终通过crf模块完成命名实体识别,包括:
[0031]
将融合词粒度词汇信息的序列向量与矩阵w
qs
、w
ks
、w
vs
相乘,分别得到查询向量关键词向量键值向量运用多头自注意力机制计算公式得到输出矩阵zs;经过多头自注意力机制部分后,输出矩阵zs与矩阵w
qc
作矩阵乘法,得到特征间注意力机制模块的查询向量矩阵qc;特征间注意力机制模块的关键词向量矩阵kc和键值向量矩阵vc则分别由另一流的多头自注意力机制输出zs′
与矩阵w
kc
、w
vc
相乘得到;通过注意力输出计算公式得到左右双流特征间注意力机制模块的输出zc、zc′
;利用残差网络结构将输出与拼接并进行层归一化;经过前馈神经网络后,利用残差网络结构将前馈神经网络前后的输入输出拼接起来,并进行层归一化。
[0032]
crf模块的输入为cross-transformer模型的输出,即各位置字对应实体类别的概率分数,也称为发射分数。crf层中实体标签之间的相互依赖关系通过转移矩阵和损失函数表现出来。转移矩阵包括矩阵内各实体标签之间转移的概率分数,它随着模型训练不断更新,以学习标签分布的约束条件。
[0033]
crf的损失函数表示为公式(4):
[0034][0035]
p表示路径分数,路径分数为发射分数与转移分数之和。p1、p2、

、pn表示所有可能标签序列的路径分数。通过训练过程不断的循环迭代以最小化损失函数,最终得到最优标签序列分布。
[0036]
进一步地,步骤s5中,所述利用cross-transformer模块对序列中词粒度的词汇信息和序列中句粒度的词缀信息进行融合,还包括:
[0037]
将融合句粒度的词缀信息的序列向量与矩阵w
qs
、w
ks
、w
vs
相乘,分别得到查询向量矩阵关键词向量矩阵键值向量矩阵运用多头自注意力机制计算公式得到输出矩阵zs;经过多头自注意力机制部分后,输出矩阵zs与矩阵w
qc
作矩阵乘法,得到特征间注意力机制模块的查询向量矩阵qc;特征间注意力机制模块的关键词向量矩阵kc和键值向量矩阵vc则分别由另一流的多
头自注意力机制输出zs′
与矩阵w
kc
、w
vc
相乘得到;通过注意力输出计算公式得到左右双流特征间注意力机制模块的输出zc、zc′
;利用残差网络结构将输出与拼接并进行层归一化;经过前馈神经网络后,利用残差网络结构将前馈神经网络前后的输入输出拼接起来,并进行层归一化。
[0038]
进一步地,还包括:向量流通过6
×
cross-transformer模块后,左右侧向量进行拼接,全连接神经网络将拼接后的向量映射至t
×
25维;最后采用crf模块学习序列标签间规则,迭代训练后输出最优序列。
[0039]
所述6
×
cross-transformer模块,即6个cross-transformer模块的的叠加。向量流通过6
×
cross-transformer模块后,左右侧向量进行拼接,并利用全连接神经网络映射t
×
25维。其中,t表示序列的长度,25表示命名实体类别采用bio标注法标注时实体标签的总数。即序列每个字对应不同实体类的概率分数,这将作为crf层的输入。crf层中最小化损失函数在训练中能学习序列标签间规则,迭代训练后最终输出最优序列。
[0040]
进一步地,所述运用多头自注意力机制计算公式得到输出矩阵zs,计算公式如下:
[0041][0042]zs
=concat(head1,

,headh)woꢀꢀꢀ
(2)
[0043]
其中,s表示该矩阵为自注意力机制模块的输出,区别于特征间注意力机制部分的输出c,wo为多头自注意力机制中不同头输出的权重矩阵。
[0044]
进一步地,所述注意力输出计算公式应满足:
[0045][0046]
其中,zc为左侧流特征间注意力机制模块的输出,zc′
为右侧流特征间注意力机制模块的输出。
[0047]
本发明结合电网领域数据具体需要,在transformer模型的encoder部分基础上,引入多尺度卷积网络和双向lstm网络,提出了基于词汇特征和词缀特征的cross-transformer模型(lact,lexiconandaffix-basedcross-transformer)。lact模型从电网词汇(词粒度)、词汇前后缀(句粒度)两个维度特征入手,利用transformer双流模型对两个特征进行一定程度的融合和交互,帮助模型准确获取电网领域中的中文词汇特征,提高实体抽取任务的准确性。模型中多处包含向量拼接及归一化,并利用条件随机场模块通过训练学习序列间命名实体的排列规律和规则,最终输出序列各位置的实体分类结果。
[0048]
本发明与现有技术相比,具有如下的优点和有益效果:
[0049]
1、本发明提供的一种面向电力规划评审领域的命名实体识别方法,通过多尺度卷积网络以对词向量进行卷积的形式得到包含中文文本词粒度词汇信息的向量,通过拼接双向长短期记忆网络的两端隐状态得到涵盖句粒度词缀信息的向量,并结合cross-transformer模型使两特征流在模型中充分交互,结合条件随机场模型最终实现面向电力规划评审领域的命名实体识别任务。
[0050]
2、本发明提供的一种面向电力规划评审领域的命名实体识别方法,通过自动化的方法进行电网领域命名实体识别。在一定程度上提高了模型对命名实体边界的识别能力。以cross-transformer模型为基础加入词汇、词缀特征构造电网领域命名实体识别模型,解
决了非结构化中文语料命名实体识别常见的问题,在一定程度上提高了电力规划评审领域命名实体识别的效率,并且能够保证电力规划评审领域命名实体识别结果具有较好的准确率和召回率。
附图说明
[0051]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
[0052]
图1为本发明方法流程图;
[0053]
图2为本发明lact模型总体架构图;
[0054]
图3为本发明多尺度卷积网络;
[0055]
图4为本发明双向lstm网络。
具体实施方式
[0056]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0057]
实施例1
[0058]
如图1所示,本发明提供一种面向电力规划评审领域的命名实体识别方法,主要包括以下步骤:
[0059]
步骤s1:根据样本语料数据集特征,设立多个刻画实体不同性质的实体标签,获得分词后的样本语料;
[0060]
步骤s2:将分词后的样本语料加载到glove模型以训练词向量,按位置拼接后得到文本序列向量矩阵
[0061]
步骤s3:利用多尺度卷积网络对文本序列向量矩阵卷积后重组池化,提取出序列中词粒度的词汇信息;
[0062]
步骤s4:将以文本序列向量矩阵为输入的bilstm网络中前向lstm和后向lstm末尾状态进行拼接,提取出序列中句粒度的词缀信息;
[0063]
步骤s5:利用cross-transformer模块对序列中词粒度的词汇信息和序列中句粒度的词缀信息进行融合,最后通过crf层完成命名实体识别。
[0064]
所述步骤s1具体为:根据数据集特征,设立12个刻画实体不同性质的实体标签,分别为“项目名”、“公司单位”、“费用名”、“项目类别”、“时间”、“数值”、“设备名”、“地名”、“通信网层次”、“站点名”、“用途”、“线路名”。
[0065]
如图1-4所示,本实施例以样本语料“巴中新增网管系统1套”为例:由于样本语料为非结构化的文本文件,在输入模型前,需要通过glove模型以中文字为单位形成文字的向量化表示,即64维稠密的词向量。文本语料“巴中新增网管系统1套”每个字对应生成64维稠密的词向量随后,将整个序列向量按位置顺序拼接排列,得到大小为64
×
10
的向量矩阵。其中每一列表示一个字的完整向量表达,表示序列第一个位置的字对应的embedding向量,w为word一词的首字母。
[0066]
得到序列对应的embedding矩阵后,将其分别送入多尺度卷积模块和bilstm模块,下文将对两板块先后进行描述。
[0067]
多尺度卷积模块中,包含了1个d
×
1维,3个d
×
2维,6个d
×
2维,8个d
×
2维,8个d
×
2维,6个d
×
6维的卷积核,总计32个不同维度的卷积核。其中,d表示word embedding的向量维数,本发明中为64。各维度卷积核数量比例由术语含字长度相关的统计概率分布决定。如图2所示,现有中文文本序列序列按位置依顺序组合后得到向量矩阵。卷积开始前,为了保证最终输出维度的一致,我们还需对不同尺度卷积核作不同的padding操作:卷积核维度为64
×
k时,在向量矩阵的左右两侧分别补64
×
(k-1)的padding层。给定第xs位置的向量,有以下几种卷积情况:
[0068]
(一)卷积核维度为64
×
1时。此时卷积核滑动窗口覆盖一个完整的中文字,即卷积核只能提取单字词(single)的有关特征。当卷积核在“网”位置时,该位置的向量x4与卷积核对应位置相乘,得到一个介于[-1,1]的具体数值。数值越接近1,则表明滑动窗口组成的单字词(“网”)不在预设的词汇列表中,此时x4位置的文字在该词的相对位置为single。数值越接近-1,则表明滑动窗口组成的单字词(“网”)不在预设的词汇列表中。
[0069]
(二)卷积核维度为64
×
2时。此时卷积核滑动窗口覆盖两个完整的中文字,即卷积核能提取双字词的有关特征。当卷积核在(3,4)位置时,与上文同理,对应位置相乘后得到一个介于[-1,1]的具体数值。数值越接近1,则表明滑动窗口组成的词汇(“增网”)在预设的词汇列表中,此时x4位置的文字在该词的相对位置end,即为词汇的末尾字。数值越接近-1,则表明滑动窗口组成的词汇(“增网”)不在预设的词汇列表中。当卷积核在(4,5)位置时,对应位置相乘后得到一个介于[-1,1]的具体数值,该数值越接近1,则表明滑动窗口组成的词汇(“网管”)在预设的词汇列表中,此时x4位置的文字在该词的相对位置begin,即为词汇的初始字。数值越接近-1,则表明滑动窗口组成的词汇(“网管”)不在预设的词汇列表中。可想而知,“网管系统”为我们定义的设备实体,“增网”和“网管”这两个双字词并不属于预设词汇,x4位置与二维卷积核卷积生成的数值接近-1。
[0070]
(三)卷积核维度为64
×
3甚至更大时,以64
×
3为例,此时卷积滑动窗口覆盖三个完整的中文字,即卷积核能提取三字词的有关特征。当卷积核在(2,3,4)或(4,5,6)位置时,与上文情况类似,x4位置的字“网”在词汇的相对位置分别为e和b。当卷积核在(3,4,5)位置时,此时x4位置的文字在滑动窗口圈出的三字中相对位置为m,即为词汇的中间字mid。
[0071]
不同尺度卷积操作后,将各位置对应的[s]、[e,b]、[e,m,b]、[e,m,

,m,b]组合后通过非线性激活函数softmax生成介于[-1,1]之间的具体数值,并分别进行最大池化操作。每个位置的字对应生成32个具体值。将各位置的32维向量与原始embedding向量按序进行拼接,得到融入词粒度词汇信息的中文序列向量表达其中表示序列第一个位置的字融合词汇信息后对应的embedding向量,l为lexicon一词的首字母。
[0072]
bilstm模块中,各位置的embedding向量分别作为不同时刻前向后向lstm模块的输入。前向后向lstm序列彼此独立。不同时刻间的lstm模块通过细胞状态c和
隐状态h连接,上一时刻的细胞状态c
s-1
和隐状态h
s-1
与该时刻的输入xs共同组成当前时刻lstm模块的输入,经过遗忘门、输入门、输出门,最终输出去往下一状态的细胞状态c
s+1
和隐状态h
s+1
。前向lstm中x9位置的隐状态和后向lstm中x0位置的隐状态拼接后,全连接神经网络将其映射为32维的向量。该向量与原始embedding向量进行拼接,得到融合序列词汇前后缀信息的中文序列向量表达其中,表示序列第一个位置的字融合序列前后缀信息后对应的embedding向量,b为bilstm一词的首字母。
[0073]
多尺度卷积模块和bilstm模块最终输出的两向量序列和分别在原始向量处对应位置与相对位置编码生成的向量序列进行求和运算并归一化。随后作为cross-transformer模块双流的输入,进行下一步的操作。
[0074]
cross-transformer双流结构一致,以左侧流为例,输入向量与矩阵w
qs
、w
ks
、w
vs
相乘,分别得到vs={v0s,v1s,

,v9s}矩阵。其中,wqs表示该矩阵位于自注意力机制部分,q0s表示序列x0位置64维的查询向量queries,表示序列x0位置64维的关键词向量keys,表示序列x0位置64维的键值向量values。生成qs、ks、vs矩阵后,以xs位置为例,每个位置的关键词向量keys与xs的查询矩阵进行点积运算得到相关分数score。该分数决定了当我们将一个字编码到某个特定位置时,我们对输入句子的其他部分的关注程度。随后,对score分数进行归一化并通过激活函数softmax以维护梯度的稳定。该softmax分数决定了每个中文字在这个位置的表达量。显然,这个位置的单词将拥有最高的softmax分数。接着,softmax点乘键值矩阵得到每个输入向量的评分,将不同位置的评分相加,得到当前位置的最终输出结果zs。实际运算中,将运用多头自注意力机制使embedding被嵌入到不同的表示子空间,使模型更好地注意到不同位置信息。
[0075]
并进行后续的矩阵乘法、点积运算,各头拼接后乘对应的权重矩阵wo得到矩阵zs,其中s表示该矩阵为自注意力机制部分的输出,区别于特征间注意力机制部分的输出。如公式(1)、(2)所示:
[0076][0077]zs
=concat(head1,

,headh)woꢀꢀꢀ
(2)
[0078]
经过自注意力机制部分后,输出矩阵zs与矩阵w
qc
作矩阵乘法,得到特征间注意力机制部分的查询矩阵qc。其中,w
qc
表示该矩阵位于特征间注意力机制部分,区别于w
qs
。左侧特征间注意力机制的输入kc、vc则由右侧自注意力机制模块的输出zs′
与w
kc
、w
vc
对应相乘得到。随后,通过注意力输出计算公式(3)得到左右双流特征间注意力机制模块的输出zc、zc′

[0079][0080]
拼接并进行层归一化。通过前馈神经网络后再利用残差结构将输入输出组合并进行层归一化。一个完整的cross-transformer模块包括自注意力机制、特征间注意力机制、前馈神经网络以及相加、归一化等操作。左右侧特征间注意力机制模块的交互使词粒度的词汇特征与句粒度的词缀特征能够有效融合,使模型拟合程度更好。如图1所
示,后续操作步骤仅为模块的叠加。值得一提的是,整个encoder部分,我们设置6个重复模块的叠加,使网络更深,能更好得处理中文ner任务。
[0081]
向量流通过6
×
cross-transformer模块后,左右侧向量进行拼接,并利用全连接神经网络映射t
×
25维。其中,t表示序列的长度,25表示命名实体类别采用bio标注法标注时实体标签的总数。即序列每个字对应不同实体类的概率分数,这将作为crf层的输入。crf层中最小化损失函数在训练中能学习序列标签间规则,迭代训练后最终输出最优序列。
[0082]
本发明通过前馈神经网络后再利用残差结构将输入输出组合并进行层归一化。一个完整的cross-transformer模块包括自注意力机制、特征间注意力机制、前馈神经网络以及向量拼接、归一化等操作。左右侧特征间注意力机制模块的交互使词粒度的词汇特征与句粒度的词缀特征能够有效融合,使模型拟合程度更好。如图1所示,后续操作步骤仅为模块的叠加。值得一提的是,整个encoder部分,我们设置6个重复模块的叠加,使网络更深,能更好得处理中文ner任务。
[0083]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1