一种基于预训练模型的部分标签命名实体识别方法

未命名 10-09 阅读:190 评论:0


1.本发明涉及信息抽取领域中的命名实体识别技术领域,具体指一种基于预训练模型的部分标签命名实体识别方法。


背景技术:

2.命名实体识别是自然语言处理领域的一项基本任务,旨在确定给定文本中命名实体的语义类别,如组织、人名、位置等。作为自然语言处理任务的基石,命名实体识别在许多下游任务中扮演着重要的角色,如关系提取、问题回答等。
3.目前,命名实体识别方法有基于词典或规则的方法、基于机器学习的方法、基于深度学习语义编码器的方法。
4.基于规则抽取的方法是根据文本特点与定制规则特点匹配的方式完成实体识别和抽取,具有较好的灵活性,操作简单。这类方法通过选择标点符号、关键字、指示词等特征,采用专家构造的规则模板,通过模式和字符串匹配手段来识别实体。
5.基于词典的方法最早是和基于规则的抽取方法联合使用的。基于词典的实体识别方法是指词典中的每个词与被处理文档之间注意匹配的过程。这种方法需要构建特定的词典,按照需求将需要识别的文本与构建的字典进行匹配抽取,并在这个过程中不断完善词典。
6.上述传统的命名实体识别方法是利用实体词典的先验信息,匹配出句子中的潜在实体词,再通过一些人为归纳总结的规则进行筛选、判断命名实体类型。词典和规则的结合,使得命名实体识别的方法更加灵活、准确。该方法的优势在于速度快,精度高,适合于小规模文本识别。基于词典和规则的实体识别方法的缺点是提取效率和准确率等评价指标远高于人工提取,但是该方法需要该领域专家自定义规则,花费的时间精力过多。不同的实体类型需要定制相应的的规则,移植性差。
7.基于统计机器学习的方法是从给定的、已标注好的训练集出发,通过人工构建特征,并根据特定的模型对文本中每个词进行标签标注、实现命名实体识别,使用机器学习的方法后,领域专家不再需要手动构建模板或规则,而是依赖于带注释的语料库,使用这些语料训练模型。
8.在基于机器学习的命名实体识别方法中,标注的词语通常使用标注集表示,因此基于机器学习的方法也称为序列标注法。具有代表性的基于统计机器学习的实体识别技术有隐马尔可夫模型、条件随机场模型、最大熵模型和支持向量机等。
9.随着计算机算力的提升,深度学习逐渐兴起,基于深度学习的命名实体的方法层出不穷,已经成为命名实体识别的主流方法,其优势在于可以自动从文本中学习语法特征和词典特征,从而大大提高识别精度。这些命名实体识别算法基本都引入深层神经网络(deep neural net,dnn)作为语义编码器进行特征提取,替代了原有复杂繁琐的特征工程。
10.除了对输入句子的语义信息编码以外,人们将外部辅助信息也融合进来,扩展了深度学习的命名实体识别模型结构。对于中文命名实体来说,词典信息是使用最广泛的一
种外部信息,它能够提供词汇级的信息与词汇边界,帮助提升命名实体识别的准确性。为了有效的将词汇信息融入到模型中,有人提出了flat模型,它基于transformer设计了一种巧妙位置编码来融合词典信息。这大大的提高了中文命名实体识别的准确率。
11.尽管融合词典信息的深度学习神经网络模型能提升实体抽取性能,但是在缺乏词典信息时往往无法工作,使用词典信息也制约了模型的应用场景。另外,由于源域与目标域的领域词典存在差异,源域训练模型学习的词典信息无法迁移到目标域,导致神经网络模型的领域适应性较差。


技术实现要素:

12.本发明的目的是针对现有技术的不足,采用“大模型+小模型”的设计思路,提出了一种基于预训练模型的部分标签命名实体识别方法,采用预训练大模型+小模型的方式代替外部词典信息,缓解词典信息差异问题。通过大预训练模型获取对应语句词汇级提示信息,来帮助进行命名实体识别。
13.为了解决上述技术问题,本发明的技术方案为:
14.一种基于预训练模型的部分标签命名实体识别方法,包括如下步骤:
15.s1、将预测语句输入到完成预训练的整体模型里的大预训练模型uie中,得到部分实体词汇和实体类型标签,所述整体模型包括大预训练模型和部分标签小模型,其中大预训练模型为uie模型;
16.s2、将部分实体词汇拼接在原始的预测语句中的输入末端组合成字词序列,并得到字词序列对应的头、尾位置序列和字词标签,最终按照平面格结构的方式将对应的头、尾位置序列和相应的字词标签序列进行组合得到完整的格结构数据,之后将格结构数据输入到基于transformer的部分标签小模型中进行编码预测。所述格结构数据中每个格定义为一组跨度,所述跨度涵盖字符、实体词token、实体标签、头部标记和尾部标记;
17.s3、在部分标签小模型中将得到的字词token序列和字词标签序列分别通过bert进行序列编码得到对应序列编码向量后进行拼接得到融合后的特征向量;
18.s4、在部分标签小模型中将得到的特征向量通过transformer特征提取器结合相对应的位置编码进行特征融合得到最终特征向量表示;
19.s5、使用得到的融合特征通过crf进行标签预测和解码。
20.作为优选,所述步骤s1具体实现过程如下:
21.将预测语句s输入到uie模型中,通过本文模型中的大预训练uie模型初步识别语句中的部分实体词汇e
p
={e
p,1
,e
p,2
,...e
p,m
},e
p
∈e={e1,e2,...en},m<n。其中e为完全标注的语料中的全部实体集合,n为数据集grand truth即e中的实体个数。最终我们得到的部分实体词汇及其类型标签作为部分标签小模型的词汇级提示信息,w=[{e
p,1
,t1}...{e
p,m
,tm}],e
p,m
为识别出的部分实体词汇,tm为其标签。
[0022]
作为优选,所述步骤s2具体实现过程如下:
[0023]
将步骤s1初步预测获取的w词汇标签集合拼接在字符长度为l的原始句子s=(s1,s2,...s
l
)的末端。这样我们得到新的字词序列表示s

=(s1,s2,...s
l
,e
p,1
,e
p,2
,...e
p,m
),其长度为l=l+m。其中,l为原始的预测语句的长度,m为部分实体词汇的序列长度。之后我们将字词序列表示s

使用格结构数据进行表示为g,将其输入到部分标签小模型中。
[0024]
作为优选,所述步骤s3中字词token序列处理过程如下:
[0025]
对于步骤s2中获得的格结构数据表示g中的字词序列token=(g1...g
l
),我们在部分标签小模型中通过bert进行字词序列向量编码得到字词序列编码向量h=(h1...h
l
),h∈r
l
×d,l为字词序列长度,d为向量维度。
[0026]
作为优选,所述步骤s3中,字词标签序列处理方法为:
[0027]
首先,对于长度为k的字词标签集e
t
=(,t2,...,tk),k为数据集中的实体标签类别个数;结合b、i、u标签,b-*、i-*的类别数与实体标签集e
t
中的实体标签数目相同,因此共有3k+1个实体标签关系,其中分别有k个b-*、i-*和k个实体类别标签*与1个u标签,得到字词标签集e
t

=(r1,r2,...,r
3k+1
),然后对其进行手动补全;对于标签”b-d”可以表示为”begin of drug”;对于标签”i-d”可以表示为”inside of drug”;对于标签”u”可以表示为”unknown”,”d”手动将其补全为”drug”,转化之后的实体标签更能体现实体标签的自然语义;
[0028]
其次,将自然字词标签集e
t

输入到部分标签小模型中的bert中进行编码,对于每个自然实体标签的bert输出,用其中[cls]的token序列向量来表示这个实体标签的语义特征,最终,字词标签的特征序列表示为e
t

∈r
(3k+1)
×d;
[0029]
对于字词序列长度为l的语料s

的标签为tag={t1,t2,...t
l
},对于字符s1的标签t1(b-d)我们通过映射查询自然字词标签集et

获得对应的标签序列向量,最终,字词标签序列表示为tag∈r
l
×d,l为字词标签序列长度,d为向量维度。
[0030]
作为优选,所述步骤s3中字词序列向量和标签序列向量的融合特征向量获取方法:
[0031]
将步骤s3中处理得到的字词特征向量h和字词标签特征向量tag进行对齐拼接得到最终特征向量表示he,
[0032]
作为优选,所述步骤s4中位置编码的获取方法为:
[0033]
格结构数据中的头部位置和尾部位置分别表示字符token在原始语料中的第一个和最后一个字符的位置索引,对于只表示一个字符的token,其头部和尾部相同;
[0034]
通过平面格结构方法利用头尾位置变换后的相对位置编码来拟合先验实体信息及其实体标签类型信息;对于两个格i和j,根据在语料中的不同位置,有相交、包含和分离三种形式;利用格与格之间头、尾位置信息的变换,实现关系建模,相对位置编码向量pos
ij
∈r
l
×d,l为字词序列长度,d为向量维度:
[0035][0036]
其中wr是可学习参数,hi和tj表示第i个字符和第j个字符的头部位置和尾部位置,

表示拼接操作,其中p为:
[0037][0038][0039]
其中p
span
中的span表示为pos
ij
中的h
i-hj,h
i-tj,t
i-hj和t
i-tj。k为位置编码索引;
[0040]dmodel
=f
×dhead
[0041]
f为注意头个数,d
head
为每个注意头的尺寸。
[0042]
作为优选,所述步骤s4中结合相对位置信息得到最终特征向量表示的获取方法:
[0043]
将步骤s3中得到的最终融合字词表示he输入到部分标签小模型中的transformer编码器中结合相对位置信息进行特征融合、提取,最后我们得到融合特征后的序列向量h
end
,h
end
=transformer(he,pos)。
[0044]
作为优选,所述步骤s5的具体方法为:
[0045]
将步骤s4中得到的特征向量的原始字符长度输入到crf中进行标签预测得到最终的字符标签,最后对预测好的标签进行解码,通过搜索以b-*开始的字符到第一个u标签结束的前一个字符构成实体。
[0046]
作为优选,所述步骤s1中,整体模型的预训练方法为:
[0047]
s1-1、使用完全标注语料对大预训练uie模型进行微调训练,首先将完全标注语料转换为大预训练模型所需的格式数据,然后将转换后的数据作为大预训练模型的输入对大预训练模型进行微调。
[0048]
s1-2、使用完全标注语料通过采用bert的mask思想,mask部分实体词汇及其类型标签,通过数据增广的方式得到数据集d
mask

[0049]
s1-3、将数据集d
mask
的句子采用格结构的方式进行表示,即格结构句子,然后输入到本文提出的部分标签模型小模型中进行训练,让部分标签模型得到补充实体词的能力;
[0050]
s1-4、将格结构句子通过部分标签小模型中的bert进行序列向量编码,拼接字词序列向量和标签序列向量作为融合向量;
[0051]
s1-5、将融合向量通过部分标签小模型中的transformer特征提取器融合位置信息进行特征提取和融合得到含有位置信息的特征向量;
[0052]
s1-6、将步骤(5)中得到的特征向量的原始字符长度输入到crf中进行标签预测,计算损失循环训练。
[0053]
作为优选,所述步骤s1-6中,损失计算方法为:
[0054]
在部分标签小模型中,要计算对于语句s对应输出tag序列y的分数sc(x,y),
[0055][0056]
其中a是tag转移概率矩阵,其中p
i,yi
代表单个字符wi映射到标签tag
yi
的非归一化概率,n为字符序列原始长度,利用softmax函数,为每个正确的tag序列y定义一个概率值,y
x
代表所有tag序列,
[0057][0058]
在训练中,我们需要最大化似然概率,采用对数似然,
[0059][0060]
最后采用crf中的损失函数来计算损失loss定义为:
[0061]
loss=-log(p(y|x))。
[0062]
作为优选,所述bert模型选择“bert-base-chinese”,epoch设置为100,学习率为0.05,使用sgd优化器渐进式的调整学习率,利用crf损失来训练模型。
[0063]
本发明具有以下的特点和有益效果:
[0064]
采用上述技术方案,首先使用小批量完全标注数据对大预训练模型进行微调,然后利用微调后的预训练模型获得部分实体的词级提示信息,再利用基于transformer的部分标签小模型进一步优化实体提取结果。部分标签小模型采用平面格结构(flat-lattice)对输入文本及预训练语言模型识别的部分实体和字词标签信息进行整合,利用bert进行编码,使用transformer提取特征表示,输入到crf层预测实体标签。缓解不同领域之间词典信息差异问题,通过大预训练模型获取对应语句提示词汇级信息,加强命名实体识别的准确性。
附图说明
[0065]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0066]
图1是本发明的工作运行流程图。
[0067]
图2是本发明的平面格结构数据结构图。
[0068]
图3是本发明的标签自然语言转换图。
[0069]
图4是本发明的整体模型结构示意图。
[0070]
图5是本发明的预训练流程图。
[0071]
图6是本发明的mask语料示意图。
具体实施方式
[0072]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0073]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0074]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语
在本发明中的具体含义。
[0075]
本发明提供了一种基于预训练模型的部分标签命名实体识别方法,如图1所示,包括以下步骤:
[0076]
步骤(1)将预测语句s输入到完成预训练的整体模型中以得到部分命名实体词汇e
p
及其实体类型标签组合成词汇标签集合w。其中所述整体模型包括大预训练模型uie和部分标签小模型;
[0077]
步骤(2)将步骤(1)的词汇标签集合w中的词汇拼接在原始句子s输入末端组合成字词序列s

,并分别得到字词序列对应的头、尾位置序列和相应的标签序列,最终按照平面格结构的方式进行组合得到完整的格结构语句表示输入g输入到部分标签小模型中,其中每个格定义为一组跨度,跨度涵盖字符或实体词token、实体标签、头部标记和尾部标记。
[0078]
步骤(3)对步骤(2)中得到的格结构数据中的字词token序列和处理好的字词标签序列在部分标签小模型中分别通过bert进行序列编码得到对应序列编码向量h和tag后进行拼接得到融合后的特征向量he。
[0079]
步骤(4)对步骤(3)的特征向量通过部分标签小模型中transformer特征提取器结合相对位置编码pos进行特征融合。
[0080]
步骤(5)对步骤(4)中得到的特征向量通过crf进行标签预测、解码。
[0081]
进一步的,所述步骤(1)具体实现过程如下:
[0082]
步骤(1)将预测语句s输入到大预训练uie模型中,通过大预训练模型初步识别语句中的部分实体词汇e
p
={e
p,1
,e
p,2
,...e
p,m
},e
p
∈e={e1,e2,...en},m<n。其中e为完全标注的语料中的全部实体集合,n为数据集grand truth即e中的实体个数。最终我们得到的部分实体词汇及其类型标签作为部分标签小模型的词汇级提示信息,w=[{e
p,1
,t1}...{e
p,m
,tm}],e
p,m
为识别出的部分实体词汇,tm为其标签。
[0083]
进一步的,所述步骤(2)具体实现过程如下:
[0084]
步骤(2)将步骤(1)初步预测获取的w词汇标签集合拼接在字符长度为l的原始句子s=(s1,s2,...s
l
)的末端。这样我们得到新的字词序列表示s

=(s1,s2,...s
l
,e
p,1
,e
p,2
,...e
p,m
),其长度为l=l+m。其中,l为原始的预测语句的长度,m为部分实体词汇的序列长度。之后我们将字词序列表示s

使用格结构数据进行表示为g,如图2所示。
[0085]
便于说明,本实施例中给出具体的案例,输入语句s为“云南白药成分:三七、麝香、草乌等”,通过大预训练模型获得词汇标签集合w为[{麝香,i},{草乌,i}]其中i为实体标签成分(ingredients),将词汇标签集合的实体词汇凭借在原始输入句子末端得到“云南白药成分:三七、麝香、草乌等麝香草乌”。最终结合头尾位置信息和标签信息组合成的平面格结构形式如图2所示。其中标签采取b、i、u进行表示,b表示该字符元素为实体的开头,i表示该字符元素为实体片段的中间部分,u表示该字符元素不是实体内容,b-*和i-*表示该字符元素属于类别*的实体开头或中间部分,这包含了字符级细粒度的实体类型信息。
[0086]
进一步的,所述步骤(3)具体实现过程如下:
[0087]
步骤(3)将步骤(2)中得到的格结构数据g进行额外处理。
[0088]
3-1对于g中的字词序列token=(g1...g
l
)我们在部分标签小模型中通过bert进行字词序列向量编码得到字词序列编码向量h=(h1...h
l
),h∈r
l
×d,l为字词序列长度,d为向量维度。
[0089]
3-2对于g中的标签序列tag=(t1...t
l
)为了让模型具备实体标签的感知能力,更好的将标签信息与字词特征相融合,需要让模型对实体标签的语义进行区分。因此我们要将无意义的b、i、u标签转换成具有上下文语义的自然语义标签。
[0090]
3-2-1首先,对于长度为k的字词标签集e
t
=(,t2,...,tk),k为数据集中的实体标签类别个数。结合b、i、u标签,b-*、i-*的类别数与实体标签集e
t
中的实体标签数目相同,因此共有3k+1个实体标签关系,其中分别有k个b-*、i-*和k个实体类别标签*与1个u标签,得到字词标签集e
t

=(r1,r2,...,r
3k+1
),然后我们对其进行手动补全。对于标签”b-d”可以表示为”begin of drug”。对于标签”i-d”可以表示为”inside of drug”。对于标签”u”可以表示为”unknown”,”d”我们手动将其补全为”drug”(药品),转化之后的实体标签更能体现实体标签的自然语义。
[0091]
3-2-2其次,我们将自然字词标签集e
t

输入到部分标签小模型中的bert预训练模型中进行编码,对于每个自然实体标签的bert输出,用其中[cls]的token序列向量来表示这个实体标签的语义特征。最终,字词标签的特征序列表示为e
t

∈r
(3k+1)
×d,整体过程如图3所示。
[0092]
3-3对于字词序列长度为l的语料s

的标签为tag={t1,t2,...t
l
},对于字符s1的标签t1(b-d)我们通过映射查询自然字词标签集e
t

获得对应的标签序列向量。最终,字词标签序列表示为tag∈r
l
×d,l为字词标签序列长度,d为向量维度。之后将其与字词特征h进行对齐拼接得到最终字词表示he,
[0093]
进一步的,所述步骤(4)具体实现过程如下:
[0094]
将步骤(3)中得到的最终融合字词表示he输入到部分标签小模型中的transformer编码器中结合相对位置信息进行特征融合、提取。格结构数据中的头部位置和尾部位置分别表示字符token在原始语料中的第一个和最后一个字符的位置索引,对于只表示一个字符的token,其头部和尾部相同。
[0095]
本实施例中,给出具体案例:对于“云南白药成分:三七、麝香、草乌等麝香草乌”中一个字符元素“云”它在字词序列s

中的头尾位置是相同的都为1,对于实体词汇“麝香”它在原始序列s

的第一个字符位置为11,最后一个字符位置为12。
[0096]
为了使预训练模型中得到的先验实体能与模型输入句子进行相互作用,我们通过平面格结构方法利用头尾位置变换后的相对位置编码来拟合先验实体信息及其实体标签类型信息。对于两个格i和j,根据在语料中的不同位置,有相交、包含和分离三种形式。利用格与格之间头、尾位置信息的变换,实现关系建模。相对位置编码向量pos
ij
∈r
l
×d,l为字词序列长度,d为向量维度:
[0097][0098]
其中wr是可学习参数,hi和tj表示第i个字符和第j个字符的头部位置和尾部位置。

表示拼接操作。其中p为:
[0099][0100]
[0101]
其中p
span
中的span表示为pos
ij
中的h
i-hj,h
i-tj,t
i-hj和t
i-tj。k为位置编码索引。
[0102]dmodel
=f
×dhead
[0103]
f为注意头个数,d
head
为每个注意头的尺寸。
[0104]
最后我们得到融合特征后的序列向量h
end
,h
end
=transformer(he,pos)。
[0105]
进一步的,所述步骤(5)具体实现过程如下:
[0106]
将步骤(4)中得到的特征向量h
end
的原始字符长度输入到crf中进行标签预测得到最终的字符标签。例如:对于“云南白药成分:三七、麝香、草乌等麝香草乌”这句话的特征向量的原始长度为“云南白药成分:三七、麝香、草乌等”。最后对预测好的标签进行解码,通过搜索以b-*开始的字符到第一个u标签结束的前一个字符构成实体。
[0107]
参照图5是本发明的预训练流程图,本发明大预训练uie模型和部分标签小模型预训练流程包括如下步骤:
[0108]
步骤(1)使用完全标注语料对大预训练uie模型进行微调训练。
[0109]
步骤(2)使用完全标注语料通过采用bert的mask思想,mask部分实体词汇及其类型标签,通过数据增广的方式得到数据集d
mask

[0110]
步骤(3)将步骤(2)中的数据集d
mask
的句子采用格结构的方式进行表示,然后输入到部分标签小模型中进行训练,让部分标签小模型得到补充实体词的能力。
[0111]
步骤(4)将步骤(3)输入的格结构句子进行通过部分标签小模型中的bert进行序列向量编码。拼接字词序列向量和标签序列向量作为融合向量。
[0112]
步骤(5)将步骤(4)中的融合特征向量通过部分标签小模型中的transformer特征提取器融合位置信息进行特征提取和融合。
[0113]
步骤(6)将步骤(5)中得到的特征向量的原始字符长度输入到crf中进行标签预测,计算损失循环训练。
[0114]
进一步的,所述步骤(1)具体实现过程如下:
[0115]
对完全标注的语料,我们通过uie模型的数据处理方法转换为对应数据格式,使用小批量的数据对大预训练uie模型进行微调训练。
[0116]
进一步的,所述步骤(2)具体实现过程如下:
[0117]
对完全标注的语料,我们通过bert的mask思想,mask部分实体词汇及其类型标签,通过数据增广的方式扩充和得到数据集d
mask

[0118]
例如,如图6中(a)所示,对于“云南白药成分:三七、麝香、草乌等”可以随机选择麝香、草乌两个实体作为部分标签,对云南白药的实体标签进行掩盖即标签为u,得到“云南白药成分:三七、麝香、草乌等麝香草乌”作为扩充的训练数据。如图6中(b),若随机选择“云南白药”、“麝香”两个实体作为部分标签,则得到“云南白药成分:三七、麝香、草乌等云南白药麝香”作为扩充的训练数据。
[0119]
进一步的,所述步骤(3)具体实现过程如下:
[0120]
将步骤(2)得到的数据集d
mask
采用格结构数据进行表示然后输入到部分标签小模型中进行训练。具体的格结构表示在本发明工作运行流程步骤(2)中进行了详细介绍。
[0121]
进一步的,所述步骤(4)具体实现过程如下:
[0122]
将步骤(3)中处理得到的格结构数据中的字词序列和标签序列进行编码处理。具
体操作在本发明工作运行流程步骤(3)中进行了详细介绍。
[0123]
进一步的,所述步骤(5)具体实现过程如下:
[0124]
将步骤(4)中拼接得到的融合特征向量和计算得到的相对位置编码向量在部分标签小模型中的transformer编码器中进行特征融合和提取。具体信息在本发明工作运行流程步骤(4)中进行了详细介绍。
[0125]
进一步的,所述步骤(6)具体实现过程如下:
[0126]
将步骤(5)中得到的特征向量的原始字符长度输入到crf中进行标签预测得到最终的字符标签。y=crf(h
end
)。
[0127]
在部分标签小模型中我们要计算对于语句s对应输出tag序列y的分数sc(x,y)。
[0128][0129]
其中a是tag转移概率矩阵,其中p
i,yi
代表单个字符wi映射到标签tag
yi
的非归一化概率。n为字符序列原始长度。利用softmax函数,为每个正确的tag序列y定义一个概率值,y
x
代表所有tag序列。
[0130][0131]
在训练中,我们需要最大化似然概率,采用对数似然。
[0132][0133]
最后采用crf中的损失函数来计算损失loss定义为:
[0134]
loss=-log(p(y|x))
[0135]
bert模型选择“bert-base-chinese”,epoch设置为100,学习率为0.05,使用sgd优化器渐进式的调整学习率,利用crf损失来训练模型。
[0136]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

技术特征:
1.一种基于预训练模型的部分标签命名实体识别方法,其特征在于,包括如下步骤:s1、将预测语句输入到完成预训练的整体模型里的大预训练模型uie中,得到部分实体词汇和实体类型标签,所述整体模型包括大预训练模型和部分标签小模型;s2、将部分实体词汇拼接在原始的预测语句中的输入末端组合成字词序列,并得到字词序列对应的头、尾位置序列和字词标签,最终按照平面格结构的方式将对应的头、尾位置序列和相应的字词标签序列进行组合得到完整的格结构数据,之后将格结构数据输入到基于transformer的部分标签小模型中进行编码预测,所述格结构数据中每个格定义为一组跨度,所述跨度涵盖字符、实体词token、实体标签、头部标记和尾部标记;s3、在部分标签小模型中将得到的实体词token序列和字词标签序列分别通过bert进行序列编码得到对应序列编码向量后进行拼接得到融合后的特征向量;s4、在部分标签小模型中将得到的特征向量通过transformer特征提取器结合相对应的位置编码进行特征融合得到最终特征向量表示;s5、使用得到的融合特征通过crf进行标签预测和解码。2.根据权利要求1所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s2中字词序列的长度为l=l+m,其中,l为原始的预测语句的长度,m为部分实体词汇的序列长度,所述字词标签采取b、i、u进行表示,b表示该字符元素为实体的开头,i表示该字符元素为实体片段的中间部分,u表示该字符元素不是实体内容,b-*和i-*表示该字符元素属于类别*的实体开头和中间部分,其中包含了字符级细粒度的实体类型信息。3.根据权利要求2所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s3中,字词标签序列处理方法为:首先,对于长度为k的字词标签集e
t
=(,t2,...,t
k
),k为数据集中的实体标签类别个数;结合b、i、u标签,b-*、i-*的类别数与实体标签集e
t
中的实体标签数目相同,因此共有3k+1个实体标签关系,其中分别有k个b-*、i-*和k个实体类别标签*与1个u标签,得到字词标签集e
t

=(r1,r2,...,r
3k+1
),然后对其进行手动补全;对于标签”b-d”可以表示为”begin of drug”;对于标签”i-d”可以表示为”inside of drug”;对于标签”u”可以表示为”unknown”,”d”手动将其补全为”drug”,转化之后的实体标签更能体现实体标签的自然语义;其次,将自然字词标签集e
t

输入到bert中进行编码,对于每个自然实体标签的bert输出,用其中[cls]的token序列向量来表示这个实体标签的语义特征,最终,字词标签的特征序列表示为e
t

∈r
(3k+1)
×
d
;对于字词序列长度为l的语料s

的标签为tag={t1,t2,...t
l
},对于字符s1的标签t1(b-d)我们通过映射查询自然字词标签集e
t

获得对应的标签序列向量,最终,字词标签序列表示为tag∈r
l
×
d
,l为字词标签序列长度,d为向量维度。4.根据权利要求3所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s4中位置编码的获取方法为:格结构数据中的头部位置和尾部位置分别表示字符token在原始语料中的第一个和最后一个字符的位置索引,对于只表示一个字符的token,其头部和尾部相同;通过平面格结构方法利用头尾位置变换后的相对位置编码来拟合先验实体信息及其实体标签类型信息;对于两个格i和j,根据在语料中的不同位置,有相交、包含和分离三种
形式;利用格与格之间头、尾位置信息的变换,实现关系建模,相对位置编码向量pos
ij
∈r
l
×
d
,l为字词序列长度,d为向量维度:其中w
r
是可学习参数,h
i
和t
j
表示第i个字符和第j个字符的头部位置和尾部位置,表示拼接操作,其中p为:示拼接操作,其中p为:其中p
span
中的span表示为pos
ij
中的h
i-h
j
,h
i-t
j
,t
i-h
j
和t
i-t
j
,k为位置编码索引;d
model
=f
×
d
head
f为注意头个数,d
head
为每个注意头的尺寸。5.根据权利要求4所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s5的具体方法为:将步骤s4中得到的特征向量的原始字符长度输入到crf中进行标签预测得到最终的字符标签,最后对预测好的标签进行解码,通过搜索以b-*开始的字符到第一个u标签结束的前一个字符构成实体。6.根据权利要求1所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s1中,整体模型的预训练方法为:s1-1、使用完全标注语料对大预训练模型进行微调训练;s1-2、使用完全标注语料通过采用bert的mask思想,mask部分实体词汇及其类型标签,通过数据增广的方式得到数据集d
mask
;s1-3、将数据集d
mask
的句子采用格结构的方式进行表示,即格结构句子,然后输入到部分标签小模型中进行训练,让部分标签小模型得到补充实体词的能力;s1-4、将格结构句子通过bert进行序列向量编码,拼接字词序列向量和标签序列向量作为融合向量;s1-5、将融合向量通过transformer特征提取器融合位置信息进行特征提取和融合得到含有位置信息的特征向量;s1-6、将步骤(1-5)中得到的特征向量的原始字符长度输入到crf中进行标签预测,计算损失循环训练。7.根据权利要求6所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s1-1中,微调方法为:首先将完全标注语料转换为大预训练模型所需的格式数据,然后将转换后的数据作为大预训练模型的输入对大预训练模型进行微调。8.根据权利要求7所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述步骤s1-6中,损失计算方法为:在小模型中,要计算对于语句s对应输出tag序列y的分数sc(x,y),
其中a是tag转移概率矩阵,其中p
i,yi
代表单个字符w
i
映射到标签tag
yi
的非归一化概率,n为字符序列原始长度,利用softmax函数,为每个正确的tag序列y定义一个概率值,y
x
代表所有tag序列,在训练中,我们需要最大化似然概率,采用对数似然,最后采用crf中的损失函数来计算损失loss定义为:loss=-log(p(y|x))。9.根据权利要求7所述的一种基于预训练模型的部分标签命名实体识别方法,其特征在于,所述整体模型选择“bert-base-chinese”,epoch设置为100,学习率为0.05,使用sgd优化器渐进式的调整学习率,利用crf损失来训练模型。

技术总结
本发明公开了一种基于预训练模型的部分标签命名实体识别方法,包括如下步骤:将预测语句输入到整体模型里,得到部分实体词汇和实体类型标签;将部分实体词汇拼接在原始的预测语句中的输入末端组合成字词序列,并得到字词序列对应的头、尾位置序列和字词标签;将得到的实体词token序列和字词标签序列分别通过部分标签小模型中的BERT进行序列编码得到对应序列编码向量后进行拼接得到融合后的特征向量;将得到的特征向量通过部分标签小模型中的transformer特征提取器结合相对应的位置编码进行特征融合得到最终特征向量表示;使用得到的融合特征通过CRF进行标签预测和解码。该方法采用预训练大模型+小模型的方式代替外部词典信息,能有效的进行命名实体识别抽取。能有效的进行命名实体识别抽取。能有效的进行命名实体识别抽取。


技术研发人员:张旻 黄雍圣 姜明 汤景凡
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.07.04
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐