一种基于BERT的军事领域复合命名实体识别方法与流程

文档序号:31940996发布日期:2022-10-26 03:03阅读:156来源:国知局
一种基于BERT的军事领域复合命名实体识别方法与流程
一种基于bert的军事领域复合命名实体识别方法
技术领域
1.本发明属于自然语言处理领域。


背景技术:

2.近年来,日渐成熟和发展的计算机以及相关信息处理技术,为进一步提高军事指挥效能提供了有效手段,我军信息化和智能化建设稳步推进。知识图谱作为一种新兴技术,能够将复杂、海量的数据整合到一起,通过挖掘到的关系将数据相互联系起来,有着强大的数据描述能力和丰富的语义关系功能。实体是文本中承载信息的重要语言单位,也是构成知识图谱的核心元素。实体识别与抽取是进行后续的属性关系抽取、事件抽取、知识图谱构建等工作的基础,其主要任务是识别出文本中的具有特定意义的实体并加以归类,例如通用领域一般以人名、地名、机构名为抽取目标。本文的研究对象是军事领域的目标实体,指存在于非结构化军事文本中具有高价值的命名实体,如军事人物、武器装备、军事事件等,它们往往蕴含着丰富的军事知识。正确而高效地识别军事命名实体,可为后续的战场情报获取、信息检索、信息过滤、信息关联、语义搜索等工作提供支持,提升情报侦察、指挥决策、组织实施等行动的效率,进一步提高军事作战指挥自动化、智能化性能。
3.命名实体识别是信息抽取领域的一个重要研究方向,意为将含有实体的非结构化文本所涉及的实体从中抽出。复合命名实体识别是对命名实体识别特定情况的优化,其核心目标为从文本中抽取出其中所有可能为实体的所有元素,且区分出实体与实体间的嵌套情况。
4.目前学者们对普通命名实体识别关注更多,而对复合命名实体识别的研究有限。因此,现存方法大多只能进行普通命名实体识别,在面对复合实体时无法取得良好的效果,因此这些模型不具备良好的可移植性,难以完成开放域的实体抽取任务。与大多学者的选择不同,本发明在实体抽取阶段采用与普通命名实体识别完全不同的模型。鉴于编解码器框架、注意力机制在其他自然语言处理任务上的良好表现,且本发明所研究的任务究其根本也属于序列标注任务的一种,因此,本发明以编解码器框架为基础,搭建了结合注意力机制对事件要素中复合实体进行抽取的模型。


技术实现要素:

5.本发明提出一种基于编解码模型进行复合实体抽取的方法,目的在于提高复合实体抽取的准确率和效率。该方法步骤如下:
6.(1)在输入层选取特征构建句子初始向量。
7.(2)在编码层捕获层级结构信息和序列信息。
8.(3)在注意力层捕获句中词-词间的信息并计算相应权重。
9.(4)在解码层综合之前的特征并进一步提取抽象特征。
10.(5)在输出层使用softmax函数得出要素识别结果。
附图说明
11.图1为本发明采用的编解码器框架图。
12.图2为本发明采用的构建文本向量的特征示意图。
13.图3为本发明定义军事嵌套实体类型。
14.图4为本发明输入层联合词嵌入表示。
15.图5为在表示层后添加eda数据增强示意图。
16.图6为on-lstm结构图。
17.图7为本发明所用注意力机制的核心思想。
18.图8为复合实体标签示意图。
19.图9为解码层总体结构图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
21.如图1所示,本发明主要以编解码器框架为基础,并结合注意力机制进行事件要素抽取,主要由输入层(input layer)、编码层(encoder layer)、注意力层(attention layer)、解码层(decoder layer)和输出层(output layer)五部分构成。具体实施方式如下:
22.步骤一:输入层
23.在其他命名实体抽取模型中,中文分词获取的实体边界和词性特征是常被用于命名实体识别模型的两大特征。但在实际应用中,想要获取嵌套实体,在文本预处理阶段使用自然语言处理工具(如哈工大ltp)获取分词、词性等信息,会造成误差传播,从而降低模型性能。因此,为确保实体识别模型的准确率和效率,本文选取能从文本中直接提取出的原始特征。
24.本发明中,词嵌入将文本序列映射到高维向量空间模型构建,融合了已有研究中效果较好的策略,通过预训练语义模型bert(bidirectional encoderrepresentations from transformers)获取蕴含全文信息的中文单字嵌入,利用字向量中的语言规律和语义知识辅助军事领域嵌套实体的识别;同时,融合 word2vec技术,引入中文词汇的边界特征、词性特征,提升实体识别的性能。
25.本发明在向量表示层输出到编码器的中间加入数据增强,生成句子向量表示的负例,增强模型训练的性能。
26.如图2所示,在军事领域嵌套实体识别任务中,本发明选取了bert字向量 (位置特征、句子特征、字特征)、w2v词向量(词性特征、边界特征)。图2 中,该句中的嵌套实体“跨境商业合同谈判”作为一个嵌套名词属于目标事件实体类别。用l={w1,w2,

,wn}表示一个句子。
27.其中句子长度为n,句中第i个单词为wi,我们将每个单词wi转换由以下三部分构成的向量xi。
28.本发明输入层的3个步骤如下:
29.1.bert字向量表示
30.bert层的输入部分由每个字符的词嵌入(token embedding)、句子嵌入 (segment embedding)和位置嵌入(position embedding)的叠加组成。另外,由于实验语料为单句输入,所以使用字嵌入表示句子信息,以符号[cls]和[sep] 插入句首和句尾表示句子序列。bert层将句子中的每个字映射为低维稠密的字向量。
[0031]
本发明中,bert利用双向transformer计算训练将句子中每个字映射为低纬稠密字向量。
[0032]
2.word2vec词向量表示
[0033]
用e(wi)表示单词wi的词向量。本发明训练word2vec过程中使用的是 python gensim主题模型包中的word2vec,采用skip-gram模型。
[0034]
本发明在bert提取字特征的基础上,引入词性、边界的语义特征作为后续神经网络的表示特征之一。本发明将原有的通用领域的部分词性划分去除,引入具有军事特色的词性标记集合,将军事领域相关的命名实体的词性和类型囊括进去。模型定义的军事领域嵌套实体,如图3所示。
[0035]
已具备良好分词结果的词性语料中的每个词性通过查表,即可得到相对应的词性向量表示pi(pos embedding),然后将其与字序列通过bert预训练模型得到的字向量ci采取合适的方式进行拼接融合,得到混合特征向量表示hi。
[0036]
利用中文文本潜在信息,更好地利用中文词性规则,而且引入字模型中忽略的词语边界信息,在模型词嵌入层融合词汇信息和实体边界信息。从而在进行实体识别时辅助模型对实体类型及边界进行判别,起到提高模型识别能力的作用。在通过bert、w2v分别获得两种向量表示后,将两种向量通过拼接的方式组合,融合文本联合特征。如图4所示。
[0037]
3.数据增强
[0038]
数据增强技术(eda,easy data augmentation techniques)是在图像处理中首次被提出来的,如今已经成为图像领域的标配,通过对图像的翻转、旋转、镜像、高斯白噪声等技巧实现数据增强,其目的是为了在图像识别环境下使分类器识别成功的鲁棒性提升。而在自然语言处理中,针对不同的任务数据增强技术产生了各种各样的变体,比如基于文本分类、词性标注等。所谓的对抗训练,实际上被认为是一种通过扩充有限数据使得模型泛化能力提高的方法,数据增强技术通过产生容易被分类器识别成错误例子的扰动来提升模型性能。
[0039]
本发明模型的训练数据来自部分案宗,为了提升军事领域嵌套实体识别模型性能,引入4种操作来进行数据增强,以防止过拟合,并提高模型的泛化能力。
[0040]
1)同义词替换(sr:synonyms replace):不考虑stopwords,在句子中随机抽取n个词,然后从同义词词典中随机抽取同义词,并进行替换。
[0041]
2)随机插入(ri:randomly insert):不考虑stopwords,随机抽取一个词,然后在该词的同义词集合中随机选择一个,插入原句子中的随机位置。该过程可以重复n次。
[0042]
3)随机交换(rs:randomly swap):句子中,随机选择两个词,位置交换。该过程可以重复n次。
[0043]
4)随机删除(rd:randomly delete):句子中的每个词,以概率p随机删除。通过在拼接词向量表示层之上添加数据增强操作来增强原始输入信息,如图5所示。
[0044]
本文输入表示层模型包含融合bert字向量与w2v的词嵌入以及增强数据操作,通
过在训练数据时加入小的扰动函数。如公式1所示。
[0045][0046]
即通过将最坏情况的增强数据操作η
adv
加入到原始的嵌入向量ω中,从而使损失函数最大化。其中,是当前模型参数的副本。然后,对原始例子和生成的增强数据语句进行联合训练,因此最终损失如公式2所示。
[0047][0048]
综上所述,单词wi的实值向量xi可用下式表示,如公式3所示。
[0049][0050]
其中,xi∈rd,维度为d维,表示以拼接的方式合并向量,可以用 x={x1,x2,

,xn}表示一个长为n的事件句l;其中,x∈rn×d,维度为n
×
d维, xi是第i个单词wi的实值向量。
[0051]
步骤二:编码层
[0052]
针对不同的任务,编码层和解码层可以选用不同的组合方式,比如,在图像处理任务上,通常使用卷积神经网络构成编码层,不过对于事件要素抽取这样的自然语言处理领域任务,通常会选取循环神经网络;一个句子因为能表示为层级结构,而以往的lstm等循环神经网络内部的神经元通常都是无序的,导致其无法提取句子的层级信息。因此,本发明选用双向有序长短期记忆网络(bi-onlstm)作为编码层基本结构。on-lstm的前向计算公式,如公式4所示,如图6是on-lstm单元结构示意图。
[0053][0054]
其中,on-lstm主要是新增了主遗忘门主输入门主输入门和分别是右向/左向的cumsum操作;
[0055]
用前向的on-lstm计算t时刻词语x
t
左边的状态再利用后向on-lstm 计算t时刻词语x
t
右边的状态则编码层在t时刻的输出结果即为
[0056]
步骤三:注意力层
[0057]
简单来说,注意力机制就是在大量特征中忽略不重要的特征,同时加强对有用特征的关注度。注意力机制分为soft-attention模型、self-attention模型两种,如图7所示是本发明所用注意力机制的核心思想。
[0058]
在soft-attention模型中,首先将输入序列s中的词语抽象为一个个形如 《key,value》的数据对,则对于目标序列t中的某词语query而言,输入序列中的各个key所对应的权重系数value由计算和该key与query的相关性可得,对所有key对应的value进行加权求和可得最后的注意力(attention value),如公式5所示。
[0059][0060]
其中,输入序列s的长度为l
x

[0061]
self-attention模型也被称为自注意力机制,google最新的机器翻译模型就采用了该模型。在soft-attention模型中,注意力机制主要作用在输入序列s中的每个词语和目标序列t中的query之间。而在self-attention模型中,主要将注意力放在输入序列s或目标序列t的各个内部词语之间,该模型对于注意力的计算方式与soft-attention模型类似,区别仅在于参与计算的对象不同。
[0062]
针对自然语言处理任务,self-attention模型对于句中词语间的语义特征捕获能力十分强。对于循环神经网络、门控循环单元网络而言,在加入self-attention 模型后,能够仅仅通过一个步骤就很容易地将之前需要经过若干步骤才能计算出的词语之间的相关信息直接关联起来,因此能够在长句子中更好的捕捉到词语的依赖关系。
[0063]
与以往的大多数自然语言处理任务不同,本发明的模型并不是直接将对 encoder层的隐藏状态h
t
进行加权求和后的结果当作注意力层的上下文向量c
t
,而是在计算t时刻的c
t
的时忽略隐藏状态h
t
,并在预测最终结果y
t
时将解码层的输出结果s
t
和编码层的h
t
共同作为特征。这是因为在t时刻,编码层的h
t
代表当前候选事件要素的语义信息,这是预测y
t
结果的最有效信息;而c
t
能够代表句中其他词语对候选事件要素的影响。因此,上下文向量c
t
的计算公式如公式6所示。
[0064][0065]
其中,编码层的隐藏状态记为hj,注意力分配权重记为a
t,j
,其计算公式, 如公式7所示。
[0066][0067]
其中,注意力得分(attention score)记为e
t,j
,随着e
t,j
的增大,注意力分配权重a
t,j
会增大,编码层的语义编码hj对上下文向量c
t
的影响也会增大,从而也会增大对最终要素类型的影响。
[0068]
如下式所示,针对不同的深度学习任务,计算注意力得分e
t,j
的方法有点积 (dot)、乘法(general)、加法(concat)三种。其中,矩阵是矩阵s
t
的转置,注意力层中的权重矩阵为wa。大量实验表明,针对自然语言处理任务,使用 general的方式计算注意力得分能够获得更好的最终结果,因此,针对本发明研究的事件要素抽取任务,选择general计算方式,如公式8所示。
[0069][0070]
本发明所设计的模型核心在于注意力机制,而注意力机制的核心在于如何进行注意力权重的分配,这对事件要素模型的最终结果有着极大影响。在对事件要素所属角色类型进行判断时,注意力机制为句子中的每个词语都赋予了一定权重值,在模型进行识别分类时,权重越大的词语所受“关注”越多。
[0071]
步骤四:解码层
[0072]
本发明的解码层负责的功能是基于编码层与注意力层输出的token与其他信息来给token打上不限于一个的标签。
[0073]
解码层采用lstm unit长短期记忆网络。与其他使用编解码框架的模型相同,本发明在解码层的第一个隐藏状态也用编码层的最后一个隐藏状态计算,这个状态可以在训练时初始化,也可以在训练过程中进行更新。对于标签li∈l,它所对应的表示为gi。同时,我们可以获得上一个时间步unit的隐层输出h
t-1
,上一个时间步的输出模型o
t-1
,以及当前时间步输入的token表示x
t
,本层的任务是如何基于这些参数来求出当前的隐层输出h
t
与当前时间步的模型输出o
t
。其步骤如下:
[0074]
1)上一个时间步的模型输出o
t-1
是一个概率分布,我们将整个分布通过 softmax映射到01区间,随后将所有概率大于我们预先设定的阈值t的标签找出来。以图8举例,如果模型得到我们预期的结果,对于当前token“his”,模型应该找到两个符合阈值要求的标签u
per
与b
per
。注意,由于这里没有预测出标签o,而为了有效建模每个新实体开头的概率,每个token都必须至少有一个o标签,即模型需要最终预测得到o、u
per
与b
per

[0075]
2)由于上一个时间步模型预测得到了三个可能的标签,我们需要考察这三个标签在当前步分别可能对应哪个标签。所以我们将当前的x
t
复制三份,每一份都通过lstm单元计算当前的隐层输出。特别地,对于上一个时间步的可能标签k,当前时间步的隐层结果如公式9所示:
[0076][0077]
3)这样,对于上一个时间步的每一个预测结果,我们都能得到对应的当前时间步的隐层表示。现在我们有了三个隐层表示,将它求平均,如公式10所示:
[0078][0079]
其中|g
t-1
|就是上一个时间步中所有满足阈值的标签数量,在当前我们所讲的例子中取值为3;
[0080]
4)获得当前时间步的输出o
t
=uh
t
+b,其中u,b分别为ffn的权重矩阵与正则项。
[0081]
以上就是使用类似decoder的形式来逐个输出每个token所有可能标签的形式,如果上面表述比较难以直接理解,也可以通过模型结构图9来比较理解。
[0082]
在此给出基于上述思路的损失函数的公式描述公式11:
[0083][0084]
这本质上是一个多分类交叉熵损失函数,依这个函数对每次训练的输出进行校正,在模型效果达标后即可结束训练。使用本模型输出的标签数量不再限制于单个,且继承了传统on-lstm在提取句子层级信息方面的优势,是复合命名实体识别解码结构中的核心过程。
[0085]
步骤五:输出层
[0086]
输出层采用一个softmax函数对解码层的输出结果进行处理,从而得到分类结果。在本发明所研究的任务中,对分类结果影响最大的应该是当前的语义(候选事件要素)是简单实体还是嵌套实体,因此,本发明在计算注意力权重c
t
只会计算句中其他词语对候选事件的影响,而忽略候选事件要素经过编码层后所得的语义信息h
t
,以便于尽可能的保留词语本身信息。输出层的y
t
的计算因子包含c
t
和h
t
两部分,如公式12所示:
[0087]yt
=softmax(whh
t
+wcc
t
+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0088]
其中,权重矩阵wh、wc都是随机生成的,b是偏置向量,当前词的预测结果为y
t

[0089]
将训练样例个数设为t,第i个样本由(xi,yi),模型参数由θ表示,模型目标损失函数,如公式13所示:
[0090][0091]
在训练过程中,本发明通过adam进行目标损失函数优化,同时使用dropout 防止过拟合。
[0092]
步骤六:crf层
[0093]
yi是xi所对应的各标签的概率矩阵,最终输出结果是取yi最大值所对应的标签。然而,选取的标签存在不符合约束规则的情况,例如标签per-b后接标签org-e。为保证整个序列的标注结果符合标签间的依赖关系,引入转移矩阵t, 元素t
ij
表示从标签i转移到标签j的概率。该层运用维特比算法,计算结果由上层输出矩阵y与转移矩阵t共同计算得到,整个序列的预测输出如公式14所示:
[0094][0095]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围。凡采用等同替换或等效替换,这些变化是显而易见,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1