基于多粒度特征融合和不确定去噪的实体识别方法及系统

文档序号:27311420发布日期:2021-11-09 22:33阅读:225来源:国知局
基于多粒度特征融合和不确定去噪的实体识别方法及系统

1.本发明涉及信息提取、自然语言处理领域,尤其涉及一种基于多粒度特征融合和不确定去噪的实体识别方法及系统。


背景技术:

2.实体识别旨在识别文本中具有特定含义的实体。muc7(第七届信息理解会议)明确将命名实体分为7类名词实体:人名、地名、机构名称、日期、时间、金额和百分比值。目前,识别命名实体的任务越来越受到研究人员的研究,并已成为自然语言处理技术中越来越重要的一部分,例如信息提取、句法分析、自动抽取、机器翻译、问答系统、知识图谱等。
3.自然语言处理是计算机科学领域与人工智能领域中的一个重要方向;自然语言处理即实现人机间自然语言通信,这一领域的研究将涉及自然语言,即人们日常使用的语言。


技术实现要素:

4.为了对中文病理文本进行精准、全面的实体抽取,本发明提出一种基于多粒度特征融合和不确定去噪的实体识别方法及系统,所述方法具体包括以下步骤:
5.s1、使用transformer对语料文本进行字粒度的多级局部特征提取,得到文本的向量表示,即局部字粒度特征;
6.s2、使用jieba工具进行分词,并使用glove预训练的词向量将得到的分词进行向量嵌入,得到文本的向量表示,即全局词粒度特征;
7.s3、针对实体结构的特点,对分词后得到的词集进行编码,得到文本的词结构编码向量;
8.s4、将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合;
9.s5、将融合后得到的文本特征送入bigru+crf的序列标注模型中,最终得到识别的实体结果。
10.进一步的,对分词后得到的词集进行编码,得到文本的词结构编码向量包括根据字在用jieba工具进行分词后的词中的位置对字符进行编码,若该字位于词的左边界则编码为1,若位于词的中间位置则编码为2,若位于词的右边界则编码为3,若该词仅包含单个字则编码为0。
11.进一步的,将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合的过程中,先将transformer得到的局部字粒度特征、glove得到的全局词粒度特征使用向量的加法进行融合,再将融合后的特征与词结构编码进行拼接操作。
12.进一步的,将融合后得到的文本特征送入bigru+crf的序列标注模型中进行序列标注包括以下步骤:
13.将bigru输出得到的概率矩阵送入自注意力机制层来获取每个字符的概率矩阵p;
14.自注意力机制层根据每个字符的概率矩阵p计算该字符的不确定性,并获取需要删除的具有高不确定性的数据索引;
15.根据数据索引删除不确定性大于设定阈值的数据,将其余未删除数据作为自注意力机制层的输出;
16.将自注意力机制层的输出送入crf层,进行序列标注,预测得到实体的识别结果。
17.进一步的,根据每个字符的概率矩阵p计算该字符的不确定性包括:
[0018][0019]
其中,v
uc
表示字符的不确定性;n为句子中的字符数;p
j
为长度为n的文本中第j个字对应每个标签的概率。
[0020]
进一步的,根据数据索引删除不确定性大于设定阈值的数据包括以下步骤:
[0021]
del_num=sort(v
uc
)
≥k
[:del_index];
[0022][0023]
其中,v
uc
表示字符的不确定性,k为设定的不确定性阈值;x表示当前epoch值,n为输入数据总数,e
s
表示epoch开始计算不确定值的初始值,λ1为不确定因子;s
i
为控制高不确定性数据的删除程度。
[0024]
进一步的,索引值为i样本的控制高不确定性数据的删除程度s
i
表示为:
[0025][0026]
其中,w1和w2控制每次删除的高不确定数据量的趋势;λ2为不确定因素。
[0027]
本发明提出一种基于多粒度特征融合和不确定去噪的实体识别系统,包括预处理模块、局部字粒度特征提取模块、全局词粒度特征提取模块、编码模块、融合模块以及识别模块,其中:
[0028]
预处理模块,用于对输入的语句使用jieba工具进行分词
[0029]
局部字粒度特征提取模块,使用transformer对语料文本进行字粒度的多级局部特征提取,得到文本的向量表示,即局部字粒度特征;
[0030]
全局词粒度特征提取模块,使用glove预训练的词向量将预处理模块得到的分词进行向量嵌入,得到文本的向量表示,即全局词粒度特征;
[0031]
编码模块,将预处理模块得到的分词进行编码,得到文本的词结构编码向量;
[0032]
融合模块,将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合;
[0033]
识别模块,将融合的特征输入bigru+crf的序列标注模型进行训练,完成训练后用于根据输入该模型的融合特征对应文本中的实体。
[0034]
进一步的,编码模块中对分词后得到的词集进行编码,得到文本的词结构编码向量包括根据字在用jieba工具进行分词后的词中的位置对字符进行编码,若该字位于词的左边界则编码为1,若位于词的中间位置则编码为2,若位于词的右边界则编码为3,若该词仅包含单个字则编码为0。
[0035]
进一步的,融合模块将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合的过程中,先将transformer得到的局部字粒度特征、glove得到的全局词粒度特征使用向量的加法进行融合,再将融合后的特征与词结构编码进行拼接操作。
[0036]
进一步的,所述识别模块的bigru+crf的序列标注模型包括bigru层、注意力机制层以及crf层,将特征输入将融合后得到的文本特征送入bigru层,得到文本的概率矩阵;将文本的概率矩阵输入到自注意力机制层来获取每个字符的概率矩阵,并计算每个字符的不确定性,根据不确定性值和数据索引删除不确定性高于设定阈值的数据;将完成删除的数据输入crf层进行序列标注,完成实体识别。
[0037]
本发明可对中文病理领域文本进行精准、全面的实体抽取,与现有的实体提取方法相比抽取效果较好。
附图说明
[0038]
图1是本发明实施例提供的一种基于多粒度特征融合和不确定去噪的实体识别框架图;
[0039]
图2是本发明实施例中多粒度特征提取及融合方法的流程框架图;
[0040]
图3是本发明实施例中不确定性监督模型优化方法的流程框架图。
具体实施方式
[0041]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]
本发明提出基于多粒度特征融合和不确定去噪的实体识别方法,具体包括以下步骤:
[0043]
s1、使用transformer对语料文本进行字粒度的多级局部特征提取,得到文本的向量表示,即局部字粒度特征;
[0044]
s2、使用jieba工具进行分词,并使用glove预训练的词向量将得到的分词进行向量嵌入,得到文本的向量表示,即全局词粒度特征;
[0045]
s3、针对金实体结构的特点,对分词后得到的词集进行编码,得到文本的词结构编码向量;
[0046]
s4、将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合;
[0047]
s5、将融合后得到的文本特征送入bigru+crf的序列标注模型中,最终得到识别的实体结果。
[0048]
实施例1
[0049]
本实施例提供了一种针对中文医疗领域文本的实体抽取,其实体抽取的整体流程,如图1所示;多粒度特征提取和特征融合流程,如图2所示。本实施采用的语料库为中文语料库,所属领域为病理领域,对中文病理语料进行分词的工具为基于python的开源工具
库jieba分词,其具体实施如下:
[0050]
将原始的中文病理文本句子输入到transformer中,对于在多个字符粒度上提取的局部特征,将特征维度设置为200维。假设一个句子可以通过transformer神经网络得到输出向量w
local
。每个词对应的特征向量为
[0051]
对于在词粒度上提取的全局特征,将特征维度也设置为200维。将原始的中文病理文本句子进行jieba分词,然后经过glove映射,可以得到输出向量w
global
,其中每个词对应的特征向量是,
[0052]
此时将多级局部特征和全局特征进行融合,使用如下公式:在一个句子中,代表第i个字的字向量,代表第i个字所在词的词向量,v
ic
代表第i个字融合后的特征向量,此时该向量表示为:v
ic
=(x1+y1,x2+y2,...,x
200
+y
200
)。
[0053]
对于词结构特征,采用一种词结构编码方式对其进行编码为20维的特征向量。首先使用jieba工具对文本进行分词。例如“肝细胞性肝癌伴部分胆管上皮分化”这句话会被分割为["肝细胞性""肝癌""伴""部分""胆管""上皮""分化"]。然后根据字在词中的位置对字符进行编码,当它位于词的左边界、中间位置或词的右边界时,将分别编码为1、2或3。此外,当它是单个字时,它会被编码为0。其中,“肝细胞性”编码为1223,“肝癌”编码为13,“伴”编码为0,“部分”编码为13,“胆管”编码为13,“上皮”编码为13,“分化”编码为13。我们可得到编码结果[1223 13 0 13 13 13 13],这样我们将文本数据转化为了数字表示。使用tf.global_variables_initializer方法随机初始化一个具有每个词结构编码值({0,1,2,3})的矩阵,然后,可以得到每个句子v
structure
的词结构特征矩阵,v
structure
是一个矩阵维度n
×
20,其中n是句子中的字数,20是词结构特征的维度,即第i个字表示为
[0054]
最后,将融合所有特征。现在使用concat方法将词结构特征与之前的特征融合操作的结果连接起来:这样最终得到的文本特征表示为120维的特征向量:维的特征向量:将最终得到的新特征向量送入bigru+crf的序列标注模型,预测得到实体的识别结果。
[0055]
实施例2
[0056]
为了减轻实体类别太少导致的识别错误,本实施例在实施例1的基础上,将bigru输出得到的概率矩阵送入自注意力机制层来获取每个字符p的概率矩阵,具体实施过程框图如图3所示。其中,p(n*t)=[p
n1
,p
n2
,

,p
nt
]是一个n*t维度的矩阵,n是句子中的字符数,t是潜在标签的数量。得到矩阵p后,将不确定值设置为v
uc
(v
uc
表示每个数据中包含的不确定值,由每个数据中每个字符的矩阵p决定)。v
uc
越大,实体混淆模型的可能性就越大。然后,计算和排序每个数据的v
uc
。v
uc
的计算公式为:
[0057][0058]
之后,通过设计的超参数计算需要删除的具有高不确定性的数据索引:
[0059][0060]
其中,x表示当前epoch值,n为输入数据总数,e
s
表示epoch开始计算不确定值的初始值,λ1为不确定因子;s
i
控制高不确定性数据的删除程度。值越大,删除的数据越多。s
i
的计算公式为:
[0061][0062]
这里,λ2也是不确定因素,w1和w2控制每次删除的高不确定数据量的趋势;一般来说,每次删除的高不确定性数据量会逐渐减少,根据del_index删除原始数据中的高不确定性数据。用不确定数据替换原始数据以继续迭代训练。del_num的计算公式为:
[0063]
del_num=sort(v
uc
)
≥k
[:del_index]
[0064]
其中,k是关于不确定性的阈值。通过模型优化结合监督方法,可以在训练过程中动态删除原始数据中存在的高不确定性数据,这对于减少高不确定性数据的影响至关重要。
[0065]
最后,将自注意力层输出送入crf层,进行序列标注,预测得到实体的识别结果。
[0066]
实施例3
[0067]
本实施例提出一种基于多粒度特征融合的中文病理实体识别系统,包括预处理模块、局部字粒度特征提取模块、全局词粒度特征提取模块、编码模块、融合模块以及识别模块,其中:
[0068]
预处理模块,用于对输入的语句使用jieba工具进行分词
[0069]
局部字粒度特征提取模块,使用transformer对语料文本进行字粒度的多级局部特征提取,得到文本的向量表示,即局部字粒度特征;
[0070]
全局词粒度特征提取模块,使用glove预训练的词向量将预处理模块得到的分词进行向量嵌入,得到文本的向量表示,即全局词粒度特征;
[0071]
编码模块,将预处理模块得到的分词进行编码,得到文本的词结构编码向量;
[0072]
融合模块,将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合;
[0073]
识别模块,将融合的特征输入bigru+crf的序列标注模型进行训练,完成训练后用于根据输入该模型的融合特征对应文本中的实体。
[0074]
进一步的,编码模块中对分词后得到的词集进行编码,得到文本的词结构编码向量包括根据字在用jieba工具进行分词后的词中的位置对字符进行编码,若该字位于词的左边界则编码为1,若位于词的中间位置则编码为2,若位于词的右边界则编码为3,若该词仅包含单个字则编码为0。
[0075]
进一步的,融合模块将transformer得到的局部字粒度特征、glove得到的全局词粒度特征与词结构编码特征进行融合的过程中,先将transformer得到的局部字粒度特征、glove得到的全局词粒度特征使用向量的加法进行融合,再将融合后的特征与词结构编码进行拼接操作。
[0076]
实施例4
[0077]
本实施例根据实施例1~3提供的方法或者系统,与现有识别方案进行对比试验。
[0078]
一个肝胆病理中文文本命名实体识别数据集data_1和一个中药说明书实体识别数据集data_2上进行对比试验。
[0079]
实验环境搭建如下:windows10 64位操作系统,intel(r)core(tm)i5

4590@3.3ghz处理器,16g内存,16g内存gtx2080,编程环境:python 3.6.5,tensorflow 1.14.0,jieba 0.39,zhon 1.1.5。
[0080]
本实施例使用precision(p)、recall(r)和f

measure(f1)作为实验评估指标:
[0081][0082][0083][0084]
这里tp(true positive)是正确识别的实体数量。fp(false positive)是被错误识别为实体的个数。fn(false negative)是未识别的实体数。
[0085]
在模型的训练中,参数对模型最终的精度和鲁棒性影响很大。为防止模型过拟合,在模型每一层的输出中加入了dropout,经过多次实验参与,选出效果较好的模型参数如表1所示。
[0086]
表1
[0087][0088][0089]
为了验证本文提出的基于多粒度特征融合的模型的有效性,我们对上述两个公共语料进行了实验评估。在采用bi

gru

crf模型作为baseline模型的同时,采用提出的trans

bi

gru

crf模型作为最终的实验模型,与bi

lstm、gram

cnn、bi

lstm+pos、can

ner和id

cnns

crf。所有模型都使用预先训练好的glove向量,最终结果使用5折交叉验证的结果。两个数据集上的结果分别如表2和表3所示。
[0090]
表2
[0091][0092]
表3
[0093][0094][0095]
从表2、表3中,可以发现所提出的方法在两个数据集上的结果比其他方法更好。在data_1数据集上,与其他模型相比,本发明开发的模型将f1值提高了3.56%至7.16%,准确率提高了2.24%至6.32%,召回率提高了0.98%至8.88%。在data_2数据集上,本发明的模型将f1值提高了1.81%到4.27%,准确率提高了1.78%到4.57%,召回率提高了1.32%到3.94%。造成上述效果的原因有2个:一是transformer包含多个多头注意力机制,因此我们的模型可以获得丰富的多级局部特征信息;同时,本发明采用词结构编码特征,保证复合实体和缩略实体的信息完整性,然后模型可以在学习过程中充分利用全局特征和多级局部特征进行预测。
[0096]
表4
[0097][0098]
表5
[0099][0100]
从表4、表5可以发现,本文提出的使用不确定监督方法的模型优化方法可以改进现有模型。在现有的五个模型中加入优化过程后,这些模型的f1值都得到了提高,同时这些模型的大部分准确率和召回率也比原来的有所提高。分析原因可以发现:在模型迭代过程中,每当数据经过模型优化层时,都会识别并删除一些高不确定性的数据。例如,一些病理名称在一条数据中被标记为实体,而在另一条数据中没有标记,这使得它们的不确定性更高。如果删除了高不确定性的数据,可能会在迭代训练过程中使模型朝着正确的方向学习。
因此,与所提出的模型优化方法融合,现有模型在实体识别方面都将会有一些提升。
[0101]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1