命名实体识别方法、装置、设备及介质与流程

文档序号:26940131发布日期:2021-10-12 15:33阅读:100来源:国知局
命名实体识别方法、装置、设备及介质与流程

1.本发明涉及自然语言处理技术领域,尤其涉及一种命名实体识别方法、装置、设备和计算机可读存储介质。


背景技术:

2.命名实体识别(named entity recognition,ner)是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,为关系抽取、问答系统、句法分析、机器翻译、信息检索等任务做铺垫,在自然语言处理技术中占有重要地位。
3.但是,目前的技术对语料库的依赖比较大,而可以用来建设和评估命名实体识别系统的大规模通用语料库又比较少,特征抽取能力不够强,未考虑先验知识,不能有效的提升句法和语义的表达信息。


技术实现要素:

4.本发明实施例提供了一种命名实体识别方法、装置、设备和计算机可读存储介质,能够基于命名实体识别模型进行命名实体识别,更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
5.第一方面,本发明实施例提供一种命名实体识别模型训练方法,命名实体识别模型用于识别目标领域的文本语料数据的命名实体,该方法包括:获取第一训练数据集和第二训练数据集,其中,第一训练数据集包括至少一种领域的文本语料数据,第二训练数据集包括目标领域的文本语料数据;对第一训练数据集进行字符级预处理、实体级预处理、短语级预处理,得到第三训练数据集,以及基于第一训练数据集构建句子正样本和句子负样本,得到第四训练数据集;利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型;对第二训练数据集进行字符级预处理,得到第五训练数据集;将第五训练数据集中的文本语料数据输入到transformer语言模型,得到标注序列,根据标注序列训练条件随机场(conditional random fields,crf)模型,得到命名实体识别模型。
6.在第一方面的一些可实现方式中,对第一训练数据集进行字符级预处理、实体级预处理、短语级预处理,得到第三训练数据集,包括:对第一训练数据集中的文本语料数据进行字符级、实体级、短语级三种不同层级的切分;当不同层级切分后的文本语料数据的字符数不满足预设字符数时,调整不同层级切分后的文本语料数据的字符数满足预设字符数;随机选择字符级、实体级、短语级对应层级中满足预设字符数的文本语料数据中预设比例的字符数,并将选中的字符数通过掩码(mask)进行遮盖,得到第三训练数据集。
7.在第一方面的一些可实现方式中,基于第一训练数据集构建句子正样本和句子负样本,得到第四训练数据集,包括:根据第一训练数据集中的文本语料数据构建句子对正样本和句子对负样本,其中,句子对正样本包括具有上下文关系的两个句子,句子对负样本包括不具有上下文关系的两个句子;当句子对正样本和句子对负样本中句子的字符数不满足预设字符数时,调整句子对正样本和句子对负样本中句子的字符数满足预设字符数;连接
满足预设字符数的句子对正样本中的两个句子,得到句子正样本,以及连接满足预设字符数的句子对负样本中的两个句子,得到句子负样本。
8.在第一方面的一些可实现方式中,利用第三训练数据集和第四训练数据集进行训练,包括:基于第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的文本语料数据以及第四训练数据集中的句子正样本和句子负样本进行训练。
9.在第一方面的一些可实现方式中,对第二训练数据集进行字符级预处理,得到第五训练数据集,包括:标注第二训练数据集中的文本语料数据;对标注后的文本语料数据进行字符级的切分,得到第五训练数据集。
10.在第一方面的一些可实现方式中,在得到命名实体识别模型之后,该方法还包括:利用命名实体识别模型识别待识别数据,得到命名实体识别结果。
11.第二方面,本发明实施例提供一种命名实体识别方法,该方法包括:获取待识别数据;利用命名实体识别模型识别待识别数据,得到命名实体识别结果,其中,命名实体识别模型基于第一方面或者第一方面任一可实现方式中所述的命名实体识别模型训练方法得到。
12.第三方面,本发明实施例提供一种命名实体识别模型训练装置,命名实体识别模型用于识别目标领域的文本语料数据的命名实体,该装置包括:获取模块,用于获取第一训练数据集和第二训练数据集,其中,第一训练数据集包括至少一种领域的文本语料数据,第二训练数据集包括目标领域的文本语料数据;预处理模块,用于对第一训练数据集进行字符级预处理、实体级预处理、短语级预处理,得到第三训练数据集,以及基于第一训练数据集构建句子正样本和句子负样本,得到第四训练数据集;训练模块,用于利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型;预处理模块还用于对第二训练数据集进行字符级预处理,得到第五训练数据集;训练模块还用于将第五训练数据集中的文本语料数据输入到transformer语言模型,得到标注序列,根据标注序列训练条件随机场crf模型,得到命名实体识别模型。
13.在第三方面的一些可实现方式中,预处理模块具体用于:对第一训练数据集中的文本语料数据进行字符级、实体级、短语级三种不同层级的切分;当不同层级切分后的文本语料数据的字符数不满足预设字符数时,调整不同层级切分后的文本语料数据的字符数满足预设字符数;随机选择字符级、实体级、短语级对应层级中满足预设字符数的文本语料数据中预设比例的字符数,并将选中的字符数通过掩码mask进行遮盖,得到第三训练数据集。
14.在第三方面的一些可实现方式中,预处理模块具体用于:根据第一训练数据集中的文本语料数据构建句子对正样本和句子对负样本,其中,句子对正样本包括具有上下文关系的两个句子,句子对负样本包括不具有上下文关系的两个句子;当句子对正样本和句子对负样本中句子的字符数不满足预设字符数时,调整句子对正样本和句子对负样本中句子的字符数满足预设字符数;连接满足预设字符数的句子对正样本中的两个句子,得到句子正样本,以及连接满足预设字符数的句子对负样本中的两个句子,得到句子负样本。
15.在第三方面的一些可实现方式中,训练模块具体用于:基于第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的文本语料数据以及第四训练数据集中的句子正样本和句子负样本进行训练。
16.在第三方面的一些可实现方式中,预处理模块具体用于:标注第二训练数据集中的文本语料数据;对标注后的文本语料数据进行字符级的切分,得到第五训练数据集。
17.在第三方面的一些可实现方式中,该装置还包括:识别模块,用于在得到命名实体识别模型之后,利用命名实体识别模型识别待识别数据,得到命名实体识别结果。
18.第四方面,本发明实施例提供一种命名实体识别装置,该装置包括:获取模块,用于获取待识别数据;识别模块,用于利用命名实体识别模型识别待识别数据,得到命名实体识别结果,其中,命名实体识别模型基于第一方面或者第一方面任一可实现方式中所述的命名实体识别模型训练方法得到。
19.第五方面,本发明实施例提供一种命名实体识别设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面或者第一方面任一可实现方式中所述的命名实体识别模型训练方法,或者,处理器执行计算机程序指令时实现第二方面所述的命名实体识别方法。
20.第六方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面任一可实现方式中所述的命名实体识别模型训练方法,或者,计算机程序指令被处理器执行时实现第二方面所述的命名实体识别方法。
21.本发明实施例提供了一种命名实体识别模型训练方法、命名实体识别方法、装置、设备和计算机可读存储介质。本发明的命名实体识别模型训练方法、装置通过获取第一训练数据集和第二训练数据集,对第一训练数据集进行字符级、实体级、短语级预处理,得到第三训练数据集,基于第一训练数据集构建句子正负样本,得到第四训练数据集,利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型,对第二训练数据集进行字符级预处理,得到第五训练数据集,基于第五训练数据集与transformer语言模型构建基于transformer和crf组合的命名实体识别模型,该命名实体识别模型具有较强的特征抽取能力、句法和语义表示能力。本发明的命名实体识别方法、装置能够基于该命名实体识别模型进行命名实体识别,更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
附图说明
22.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是本发明实施例提供的一种命名实体识别模型训练方法的流程示意图;
24.图2是本发明实施例提供的一种transformer模型的结构示意图;
25.图3是本发明实施例提供的一种mask策略示意图;
26.图4是本发明实施例提供的一种transformer语言模型的效果示意图;
27.图5是本发明实施例提供的一种命名实体识别方法的流程示意图;
28.图6是本发明实施例提供的一种命名实体识别模型训练装置的结构示意图;
29.图7是本发明实施例提供的一种命名实体识别装置的结构示意图;
30.图8是本发明实施例提供的一种命名实体识别设备的结构示意图。
具体实施方式
31.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
32.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
33.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
34.目前命名实体识别的主要技术方法分为:基于规则和词典的方法、基于统计的方法、基于神经网络的方法、基于transformers的双向编码器表示(bidirectional encoder representations from transformers,bert)的方法。
35.但是,基于规则和词典的方法过于依赖具体语言、领域和文本风格,规则编制过程难以涵盖所有语言现象,无法识别未登录词,可迁移性不强,构建规则往往需要大量的语言学知识,构造过程耗时耗力。
36.基于统计的方法对语料库的依赖比较大,而可以用来建设和评估命名实体识别系统的大规模通用语料库又比较少,对特征选取的要求较高,需要从文本中选择对该项任务有影响的各种特征。
37.基于神经网络的方法通常特征抽取能力不够强,不易于并行化,捕获长距离特征能力弱。
38.基于bert的方法未考虑先验知识,不能有效的提升句法和语义的表达信息,训练语料库类型单一。
39.针对于此,本发明实施例提供了一种命名实体识别模型训练方法、命名实体识别方法、装置、设备和计算机可读存储介质。首先,本发明实施例的命名实体识别模型训练方法,通过获取第一训练数据集和第二训练数据集,对第一训练数据集进行字符级、实体级、短语级预处理,得到第三训练数据集,基于第一训练数据集构建句子正负样本,得到第四训练数据集,利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型,对第二训练数据集进行字符级预处理,得到第五训练数据集,基于第五训练数据集与transformer语言模型构建基于transformer和crf组合的命名实体识别模型,该命名实体识别模型具有较强的特征抽取能力、句法和语义表示能力。其次,本发明实施例的命名实体识别方法能够基于该命名实体识别模型进行命名实体识别,更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
40.在本发明实施例中,命名实体识别模型可以应用于中文的命名实体识别,此外,该
命名实体识别模型可以用于识别目标领域的文本语料数据的命名实体,这里的目标领域为存在任务需求的特定领域,换句话说,就是需要使用命名实体识别模型的领域。
41.下面结合附图对本发明实施例所提供的命名实体识别模型训练方法进行介绍。
42.图1是本发明实施例提供的一种命名实体识别模型训练方法的流程示意图。如图1所示,该命名实体识别模型训练方法100可以包括s110至s150。
43.s110,获取第一训练数据集和第二训练数据集。
44.具体地,可以同时获取第一训练数据集和第二训练数据集,也可以分别获取第一训练数据集和第二训练数据集。
45.其中,第一训练数据集包括至少一种领域的文本语料数据,可以有效提升模型的迁移学习的表现,比如说,第一训练数据集可以包括百科类、新闻资讯类、对话类、论坛类中的至少一种。而第二训练数据集包括目标领域的文本语料数据。
46.s120,对第一训练数据集进行字符级预处理、实体级预处理、短语级预处理,得到第三训练数据集,以及基于第一训练数据集构建句子正样本和句子负样本,得到第四训练数据集。
47.具体地,第三训练数据集的获取可以包括以下步骤:
48.首先,可以对第一训练数据集中的文本语料数据进行字符级、实体级、短语级三种不同层级的切分。
49.其次,当不同层级切分后的文本语料数据的字符数不满足预设字符数时,可以调整不同层级切分后的文本语料数据的字符数满足预设字符数。可以理解,预设字符数可以根据实际情况灵活调整。
50.最后,可以随机选择字符级、实体级、短语级对应层级中满足预设字符数的文本语料数据中预设比例的字符数,并将选中的字符数通过mask进行遮盖,得到第三训练数据集。
51.具体地,第四训练数据集的获取可以包括以下步骤:
52.首先,可以根据第一训练数据集中的文本语料数据构建句子对正样本和句子对负样本。其中,句子对正样本包括具有上下文关系的两个句子,换句话说,句子对正样本是文本语料数据中真正顺序相连的两个句子。而句子对负样本包括不具有上下文关系的两个句子。换句话说,句子对负样本中的第二个句子随机从海量文本语料数据中选择。
53.其次,当句子对正样本和句子对负样本中句子的字符数不满足预设字符数时,可以调整句子对正样本和句子对负样本中句子的字符数满足预设字符数。可以理解,预设字符数可以根据实际情况灵活调整。
54.最后,可以连接满足预设字符数的句子对正样本中的两个句子,得到句子正样本,以及连接满足预设字符数的句子对负样本中的两个句子,得到句子负样本。也就是说,得到了第四训练数据集,第四训练数据集可以包括句子正样本和句子负样本。
55.s130,利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型。
56.具体地,可以基于第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的文本语料数据以及第四训练数据集中的句子正样本和句子负样本进行训练,最后得到transformer语言模型。这里,基于第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的
文本语料数据进行训练,可以学到文本语料数据中更高层级的句法和语义。
57.可以理解,这里对利用第三训练数据集和第四训练数据集进行训练的顺序并不限制,可以先基于第三训练数据集进行训练,然后基于第四训练数据集进行训练,或者,先基于第四训练数据集进行训练,然后基于第三训练数据集进行训练。
58.其中,训练的对象为transformer模型,transformer模型包括嵌入(embedding)层、双向transformer编码器、输出层。示例性地,在transformer模型训练阶段,可以基于双向transformer结构将要预测的词随机用mask遮盖,然后通过上下文信息来预测这部分词,训练方式可以首先基于基本字符级的mask进行训练,接着再基于实体级和短语级的mask进行训练。这里的字符级、实体级和短语级的mask指的就是随机遮盖后的字符级、实体级和短语级的文本语料数据。然后基于第四训练数据集中的句子正样本和句子负样本进行训练,即句子关系预测训练,经过transformer模型判断第二个句子是否是第一个句子的后续句子,得到二分类结果。当transformer模型产生的损失值满足设定要求时,则终止该模型的训练,保存模型参数,将训练好的transformer模型用作transformer语言模型。
59.图2是本发明实施例提供的一种transformer模型的结构示意图。其中,e1、e2、
……
e
n
表示embedding层,trm表示双向transformer编码器,t1、t2、
……
t
n
表示输出层。本质上,transformer模型是由叠加的“自注意力机制(self-attention)”构成的深度网络,是能力较强的特征提取器,既易于并行化处理,又擅于捕获长距离相互依赖的特征。
60.其中,embedding层是transformer模型的输入层,用于处理transformer模型的输入数据,每条输入数据可以是一个线性序列,其中的每个词有三个嵌入(embedding),分别为位置embedding、单词embedding、句子embedding。其中,位置embedding,反映了序列中每个词的顺序,因为自然语言处理(natural language processing,nlp)任务中单词顺序是很重要的特征,单词之间的相对位置包含很多信息,所以将位置信息进行编码;单词embedding,单词在中文里面即按照字来划分;句子embedding,对于前面提到的句子对的关系预测,给每个句子一个整体的embedding,与每个单词对应。将每个字对应的三个embedding进行叠加,形成了transformer模型的输入部分。
61.可知,双向transformer编码器通常由若干个相同的transformer块(block)堆叠而成,每个transformer block中存在self-attention,多头自注意力机制(multi-headed self-attention),残差连接(residual connection),层归一化(layer normalization),前馈神经网络(feed forward neural network),整体计算过程如下:
62.multihead(q,k,v)=concat(head1,

,head
h
)w
o
ꢀꢀꢀ
(1)
[0063][0064][0065]
ffn(x)=max(0,xw1+b1)w2+b2ꢀꢀꢀ
(4)
[0066]
其中,attention是self-attention的计算公式,q,k,v均是输入向量矩阵,具体地,当输入为字符级时,q,k,v均是输入字符向量矩阵,当输入为实体级时,q,k,v均是输入实体向量矩阵,当输入为短语级时,q,k,v均是输入短语向量矩阵。dk为输入向量维度。head
i
表示第i个头的注意力机制的计算公式,分别为q,k,v对应的权重矩
阵。multihead(q,k,v)为多头注意力机制的计算公式,w
o
表示权重矩阵。ffn(x)表示前馈网络的计算公式,其中,w
l
、w2为权重矩阵,为模型的参数,b
l
、b2为偏置向量,x为多头注意力机制输出经过正则化之后的变量。
[0067]
具体地,self-attention将输入查询(query)和键-值(key-value)对映射到输出,其中,query、key、value分别表示q、k、v。通过计算query和各个key的相似性或者相关性,得到每个key对应value的权重系数,然后对value进行加权求和,即得到了最终的attention数值。所以本质上attention机制是对原始数据(source)中元素的value值进行加权求和,而query和key用来计算对应value的权重系数。self-attention在计算过程中会将句子中任意两个特征的联系直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征,捕获同一个句子中特征之间的句法特征(如有一定距离的短语特征)或者语义特征(如某个特征所指代的词)。
[0068]
多头自注意力机制完善了自注意力层,它通过将attention划分多个attention头,扩展了模型专注于不同位置的能力,能让模型考虑到不同位置的attention,同时将<key,value,query>权重矩阵集变成多个矩阵集合,彼此间独立,每个集合随机初始化,训练之后将输入的词embedding投射到不同的表示子空间中,在不同的子空间表示不一样的关联关系,然后将所有注意力头拼接起来,乘以w
o
,输入到前馈网络层。
[0069]
此外,还包含全连接前馈网络层,其中包括两个线性变换,然后使用线性整流函数(rectified linear unit,relu)作为激活函数。而且,每个双向transformer编码器中的自注意力、前馈网络子层的周围都有一个残差连接,避免梯度消失问题。并且都跟着一个“层归一化”步骤,它是在每一个样本上计算均值和方差,用于在激活函数前进行归一化。
[0070]
输出层输出被mask遮盖的字/实体/短语的分类概率和句子正负样本中句子相连的分类概率,即第二个句子是否是第一个句子的后续句子的分类概率。
[0071]
s140,对第二训练数据集进行字符级预处理,得到第五训练数据集。
[0072]
具体地,可以标注第二训练数据集中的文本语料数据,对标注后的文本语料数据进行字符级的切分,得到第五训练数据集。可选地,在一个示例中,可以通过bio标注模式进行标注。
[0073]
s150,将第五训练数据集中的文本语料数据输入到transformer语言模型,得到标注序列,根据标注序列训练条件随机场crf模型,得到命名实体识别模型。
[0074]
具体地,可以将第五训练数据集中的文本语料数据输入到transformer语言模型进行训练,训练过程中对transformer语言模型的网络参数进行微调(fine-tuning),得到标注序列,将标注序列输入到crf模型,根据标注序列训练crf模型,得到命名实体识别模型。
[0075]
本发明实施例的命名实体识别模型训练方法,通过获取第一训练数据集和第二训练数据集,对第一训练数据集进行字符级、实体级、短语级预处理,得到第三训练数据集,基于第一训练数据集构建句子正负样本,得到第四训练数据集,利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型,对第二训练数据集进行字符级预处理,得到第五训练数据集,基于第五训练数据集与transformer语言模型构建基于transformer和crf组合的命名实体识别模型,该命名实体识别模型具有较强的特征抽取能力、句法和语义表示能力。能够基于该命名实体识别模型进行命名实体识别,更有效的利用上下文内容
识别出实体标签,提高实体识别准确率。
[0076]
在一些实施例中,在得到命名实体识别模型之后,可以利用命名实体识别模型识别待识别数据,得到命名实体识别结果。可选地,在一个示例中,待识别数据可以经过与s140类似的处理,然后输入到命名实体识别模型中进行识别。
[0077]
下面结合一个具体的实施例,对本发明实施例提供的命名实体识别模型训练方法进行具体说明。
[0078]
具体说明如下:
[0079]
步骤1,可以获取维基百科、网页新闻资讯、对话和论坛等多源文本语料数据,作为第一训练数据集。这里,文本语料数据可以是句子。可选地,在一个示例中,可以调整对话、论坛中的文本语料数据的占比,获取大量的对话、论坛中的文本语料数据,基于对话类文本数据的训练可以有效提升语义表示的能力。
[0080]
步骤2,可以通过nlp工具识别出第一训练数据集中文本语料数据的实体和短语,然后按照不同层级切分文本语料数据,分别为:字符级、实体级、短语级。然后设置预设字符数(例如max_num_tokens)的参数,对于字符数超过预设字符数的文本语料数据进行截断,而不足预设字符数的文本语料数据通过填充(padding)进行补齐。然后为每个文本语料数据的句首加上起始符号cls,句尾加上终止符号sep。最后针对字符级、实体级、短语级三个层级分别随机选择对应层级的文本语料数据中15%的部分,用mask代替这部分词,其中只有80%真正被替换成mask,10%随机被替换成另一个词,10%保持不变,从而得到第三训练数据集。
[0081]
图3是本发明实施例提供的一种mask策略示意图。在图3中,字符级mask、实体级mask、短语级mask示例性地展示字符级、实体级、短语级三个不同层级的文本语料数据的mask效果。
[0082]
此外,可以基于第一训练数据集的文本语料数据构建句子对正负样本,其中,句子对正样本选择文本语料数据中真正顺序相连的两个句子,句子对负样本从文本语料数据中随机选择一个句子拼到第一个句子后面,使两个句子不具有上下文关系,由此来做句子关系判断,用于从句子层级掌握语义信息。然后设置预设字符数(例如max_num_tokens)的参数,对于字符数超过预设字符数的句子对正负样本中的句子进行截断,而不足预设字符数的句子对正负样本中的句子通过padding进行补齐。分别连接句子对正负样本中的两个句子时,用分隔符号sep标签进行连接,同时第一句句首加上起始符号cls,第二句句尾加上终止符号sep,从而得到第四训练数据集。例如,数据“真正不羁的灵魂不会真的去计较什么。因为他们的内心深处有国王般的骄傲。”经过预处理后会被改造成“[cls]真正不羁的灵魂不会真的去计较什么。[sep]因为他们的内心深处有国王般的骄傲。[sep]”,两个句子是上下文关联的,所以为句子对正样本。
[0083]
步骤3,可以将第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的文本语料数据以及第四训练数据集中的句子正样本和句子负样本输入到transformer模型中。指定层数(layers)即transformer block的个数为l,隐藏层节点数(hidden size)为h,self-attention头数为a,可以分别在两种参数规模上训练transformer模型,分别为:transformer base(l=12,h=768,a=12,总参数(total parameters)=110m)和transformer large(l=24,h=1024,a=16,total parameters=
340m)。模型训练结束后保存模型和模型的参数,可以根据实际情况选择一种规模的训练好的transformer模型用作transformer语言模型。
[0084]
图4是本发明实施例提供的一种transformer语言模型的效果示意图,如图4所示,transformer语言模型可以对mask遮盖的部分进行分类,预测mask。这里,以“拿铁是mask mask非常好喝的mask mask”为例,在经过transformer语言模型处理后,可以得到在前的“mask mask”为“一种”,在后的“mask mask”为“咖啡”。
[0085]
步骤4,可以针对命名实体识别模型应用的任务需求,获取大量特定领域下的文本语料数据,作为第二训练数据集。
[0086]
步骤5,可以对第二训练数据集中的文本语料数据进行标注,可以规定将人名和组织机构名称标注为实体。采用bio的标注模式,其中,b表示实体开始部分,i表示实体中间部分,o表示非实体信息。具体地,通过实体标签b-person表示人名的开始部分,实体标签i-person表示人名的中间部分,实体标签b-organization表示组织结构的开始部分,实体标签i-organization表示组织结构的中间部分。
[0087]
例如,“小明在上海上学,毕业后在移动工作。”,其标注结果是:“小b-person、明i-person、在o、上b-organization、海i-organization、上o、学o、,o、毕o、业o、后o、在o、移b-organization、动i-organization、工o、作o。o”。
[0088]
然后可以对标注后的文本语料数据进行字符级的切分,可以再对切分后的文本语料数据进行改造,即对句首和句尾设置跟步骤2相同的起始符号cls和终止符号sep,并且将设置相同的标签,从而,得到第五训练数据集。
[0089]
例如,“小明在上海上学,毕业后在移动工作。”经过步骤5处理后会变为:“[cls][cls]、小b-person、明i-person、在o、上b-organization、海i-organization、上o、学o、,o、毕o、业o、后o、在o、移b-organization、动i-organization、工o、作o。o、[sep][sep]”。
[0090]
步骤6,可以将第五训练数据集中的文本语料数据输入到transformer语言模型进行训练,可以利用步骤3训练transformer模型得到transformer语言模型时保存的参数来初始化识别模型中transformer网络的参数,训练过程中对网络参数进行fine-tuning,使模型更适合于命名实体识别任务,输出标注序列。然后将transformer语言模型输出的标注序列输入到识别模型中的crf模型进行训练,当识别模型产生的损失值满足设定要求时,则终止该模型的训练,得到命名实体识别模型。
[0091]
crf模型可以加入一些约束条件来保证命名实体识别结果是有效的,这些约束可以在模型训练时被crf模型自动学习到,比如说,约束条件可以是句子的开头是“b
-”
或“o”,而不是“i
-”
;在“b-、i-、i-、
…”
模式顺序下,三个标签的后缀应该是同一类别的实体,比如都是人名或都是组织结构名称,而如果两者混杂在一起,比如“b-person i-organization”则是错误的。有了这些约束条件进行限制,命名实体识别的准确率会大大提高。
[0092]
下面介绍下命名实体识别模型的具体训练步骤,对于给定的输入数据集x=(x1,x2,

,x
n
),经过transformer语言模型得到输出p∈r
n
×
k
。其中,k为实体标签的数目,r
n
×
k
表示n
×
k阶的实数矩阵,也就是说p为n
×
k阶的实数矩阵,p
i,j
为第i个词被预测为实体j的分数。对于一条标注序列y=(y1,y2,

,y
n
),定义评价分数s(x,y)如下:
[0093]
[0094]
其中,a为转移矩阵,添加起始和终止符号后,变为k+2阶矩阵。a
i,j
为从标签转移的分数。对评价分数s(x,y)通过归一化指数函数(softmax)处理,得到y的预测概率p(y|x),在训练时,会最大化log(p(y|x))。训练期间,通过维特比(viterbi)算法优化损失函数,输出具有最大p(y|x)条件概率的标注序列y,得到基于transformer-crf的命名实体识别模型。
[0095]
步骤7,获取待识别实体的测试数据,输入到基于transformer-crf的命名实体识别模型进行识别,识别实体标签,并与实际实体结果进行比较,评估模型效果,评估指标可采用精确率(precision)、召回率(recall)、综合评价指标(f1)、准确率(accuracy)等。
[0096]
步骤8,待识别数据可以经过与步骤5类似的处理,然后输入到命名实体识别模型中进行识别,得到命名实体识别结果。
[0097]
基于本发明实施例的命名实体识别模型训练方法,本发明实施例还提供了一种命名实体识别方法,如图5所示,图5是本发明实施例提供的一种命名实体识别方法的流程示意图,该命名实体识别方法200可以包括s210至s220。
[0098]
s210,获取待识别数据。
[0099]
s220,利用命名实体识别模型识别待识别数据,得到命名实体识别结果。
[0100]
其中,命名实体识别模型基于图1所示实施例所述的命名实体识别模型训练方法得到。
[0101]
具体地,待识别数据可以经过与s140类似的处理,然后输入到命名实体识别模型中进行识别,得到命名实体识别结果。
[0102]
本发明实施例的命名实体识别方法,基于命名实体识别模型进行命名实体识别,能够更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
[0103]
图6是本发明实施例提供的一种命名实体识别模型训练装置的结构示意图,该命名实体识别模型用于识别目标领域的文本语料数据的命名实体。如图6所示,该命名实体识别模型训练装置300可以包括:获取模块310、预处理模块320、训练模块330。
[0104]
其中,获取模块310,用于获取第一训练数据集和第二训练数据集,其中,第一训练数据集包括至少一种领域的文本语料数据,第二训练数据集包括目标领域的文本语料数据。预处理模块320,用于对第一训练数据集进行字符级预处理、实体级预处理、短语级预处理,得到第三训练数据集,以及基于第一训练数据集构建句子正样本和句子负样本,得到第四训练数据集。训练模块330,用于利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型。预处理模块320还用于对第二训练数据集进行字符级预处理,得到第五训练数据集。训练模块330还用于将第五训练数据集中的文本语料数据输入到transformer语言模型,得到标注序列,根据标注序列训练条件随机场crf模型,得到命名实体识别模型。
[0105]
在一些实施例中,预处理模块320具体用于:对第一训练数据集中的文本语料数据进行字符级、实体级、短语级三种不同层级的切分。当不同层级切分后的文本语料数据的字符数不满足预设字符数时,调整不同层级切分后的文本语料数据的字符数满足预设字符数。随机选择字符级、实体级、短语级对应层级中满足预设字符数的文本语料数据中预设比例的字符数,并将选中的字符数通过mask进行遮盖,得到第三训练数据集。
[0106]
在一些实施例中,预处理模块320具体用于:根据第一训练数据集中的文本语料数据构建句子对正样本和句子对负样本,其中,句子对正样本包括具有上下文关系的两个句
子,句子对负样本包括不具有上下文关系的两个句子。当句子对正样本和句子对负样本中句子的字符数不满足预设字符数时,调整句子对正样本和句子对负样本中句子的字符数满足预设字符数。连接满足预设字符数的句子对正样本中的两个句子,得到句子正样本,以及连接满足预设字符数的句子对负样本中的两个句子,得到句子负样本。
[0107]
在一些实施例中,训练模块330具体用于:基于第三训练数据集中遮盖后的字符级的文本语料数据、遮盖后的实体级的文本语料数据、遮盖后的短语级的文本语料数据以及第四训练数据集中的句子正样本和句子负样本进行训练。
[0108]
在一些实施例中,预处理模块320具体用于:标注第二训练数据集中的文本语料数据;对标注后的文本语料数据进行字符级的切分,得到第五训练数据集。
[0109]
在一些实施例中,该装置300还包括:识别模块340,用于在得到命名实体识别模型之后,利用命名实体识别模型识别待识别数据,得到命名实体识别结果。
[0110]
本发明实施例的命名实体识别模型训练装置,通过获取第一训练数据集和第二训练数据集,对第一训练数据集进行字符级、实体级、短语级预处理,得到第三训练数据集,基于第一训练数据集构建句子正负样本,得到第四训练数据集,利用第三训练数据集和第四训练数据集进行训练,得到transformer语言模型,对第二训练数据集进行字符级预处理,得到第五训练数据集,基于第五训练数据集与transformer语言模型构建基于transformer和crf组合的命名实体识别模型,该命名实体识别模型具有较强的特征抽取能力、句法和语义表示能力。能够基于该命名实体识别模型进行命名实体识别,更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
[0111]
可以理解的是,本发明实施例的命名实体识别模型训练装置300,可以对应于本发明实施例图1中的命名实体识别模型训练方法的执行主体,命名实体识别模型训练装置300的各个模块/单元的操作和/或功能的具体细节可以参见上述本发明实施例图1的命名实体识别模型训练方法中的相应部分的描述,为了简洁,在此不再赘述。
[0112]
图7是本发明实施例提供的一种命名实体识别装置的结构示意图,如图7所示,该命名实体识别模型训练装置400可以包括:获取模块410、识别模块420。
[0113]
其中,获取模块410,用于获取待识别数据。识别模块420,用于利用命名实体识别模型识别待识别数据,得到命名实体识别结果,其中,命名实体识别模型基于图1所示实施例所述的命名实体识别模型训练方法得到。
[0114]
本发明实施例的命名实体识别装置,基于命名实体识别模型进行命名实体识别,能够更有效的利用上下文内容识别出实体标签,提高实体识别准确率。
[0115]
可以理解的是,本发明实施例的命名实体识别装置400,可以对应于本发明实施例图5中的命名实体识别方法的执行主体,命名实体识别装置400的各个模块/单元的操作和/或功能的具体细节可以参见上述本发明实施例图5的命名实体识别方法中的相应部分的描述,为了简洁,在此不再赘述。
[0116]
图8是本发明实施例提供的一种命名实体识别设备的硬件结构示意图。
[0117]
如图8所示,本实施例中的命名实体识别设备500包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505、以及输出设备506。其中,输入接口502、中央处理器503、存储器504、以及输出接口505通过总线510相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线510连接,进而与命名实体识别设备500的其他组
件连接。
[0118]
具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到命名实体识别设备500的外部供用户使用。
[0119]
在一个实施例中,图8所示的命名实体识别设备500包括:存储器504,用于存储程序;处理器503,用于运行存储器中存储的程序,以执行图1所示实施例提供的命名实体识别模型训练方法或图5所示实施例提供的命名实体识别方法。
[0120]
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现图1所示实施例提供的命名实体识别模型训练方法或图5所示实施例提供的命名实体识别方法。
[0121]
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
[0122]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(application specific integrated circuit,asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(read-only memory,rom)、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(radio frequency,rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0123]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0124]
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1