一种基于多粒度命名实体识别方法与流程
未命名
08-27
阅读:115
评论:0
1.本发明属于计算机技术领域,具体涉及一种基于多粒度命名实体识别方法。
背景技术:
2.命名实体识别(named entity recognition,ner)是自然语言处理(natural language processing,nlp)的一个子领域,它从纯文本中识别和分类实体,如产品、品牌、位置和其他类型。ner是信息提取、信息检索和文本摘要中的一项基本任务,它有助于以结构化的方式组织相关信息。
3.大规模的预训练语言模型,如bert和roberta,已经成为各种自然语言处理(nlp)任务的基本支柱。由于这些模型的优异性能,许多工作将其应用到命名实体识别(ner)中。然而,由于中英文之间存在着一些差异,例如分词的方式,导致ner模型不能轻易地从英语转换到中文。现在已经有大量针对中文进行优化的大规模预训练模型,例如:bert-wwm为中文bert引入了全词掩蔽策略,它用中文遮住了整个单词,而不是遮住单个汉字。
4.目前仍然有两个问题阻碍了中文的ner模型性能。首先是多粒度词信息未得到充分利用,由于中文的基本构成是字和词,它们可以组合成短语,字符、单词和不同大小的短语组成了多粒度的单词信息。传统中文的ner模型中,常用字信息和词信息,而短语信息往往被忽略,短语的长度不是固定的,可能比单词和短语携带更丰富的语义信息;其次是词信息可能导致分词错误和噪声,以“南京市长江大桥”为例,正确的分词是“南京市/长江大桥”,然而,将短语分词为“南京/市长/江大桥”是错误的,分词会导致错误的传播。
5.因此,本发明提供了一种基于多粒度命名实体识别方法,以至少解决上述部分技术问题。
技术实现要素:
6.本发明要解决的技术问题是:提供一种基于多粒度命名实体识别方法,以至少解决上述部分技术问题。
7.为实现上述目的,本发明采用的技术方案如下:一种基于多粒度命名实体识别方法,包括以下步骤:步骤1、获取标准物料库的数据集;步骤2、对数据集中的各数据进行多粒度编码,得到包含字符信息的字符嵌入向量、包含词信息的词嵌入向量和包含短语信息的短语嵌入向量;步骤3、基于注意力机制,由字符嵌入向量和词嵌入向量得到词关键信息,再由字符嵌入向量和短语嵌入向量得到短语关键信息;将词关键信息和短语关键信息融合再合并到字符信息中,得到新的字符信息和包含新的字符信息的新的字符嵌入向量;步骤4、基于双向lstm模型,提取新的字符嵌入向量的隐藏层状态;步骤5、构建多粒度命名实体识别模型,将隐藏层状态输入多粒度命名实体识别模型进行训练;
步骤6、采用训练好的多粒度命名实体识别模型对待识别数据进行处理,得到多粒度命名实体识别结果。
8.进一步地,所述步骤2包括:步骤21、使用字符编码器,生成所述数据的输入句子的字符嵌入向量,,s代表输入句子、n代表输入句子的字符长度,ci代表输入句子的第i个字符,e
ci
代表第i个字符的字符向量,i∈(1,2,...,n);步骤22、使用分词器,生成所述数据的输入句子的各分词向量wi,i∈(1,2,...,n);使用词编码器,对分词向量wi中的字符求其平均字符并作为分词向量wi的词向量e
wt
,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引;将数据的输入句子中每个分词中各字符替换为对应的词向量,得到词嵌入向量,;步骤23、将所述数据的输入句子拆分成不同长度的短语词项g
t
,对任意短语项g
t
计算其对应的短语向量,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引;将数据的输入句子中每个短语词项中各字符替换为对应的短语向量,得到短语嵌入向量,。
9.进一步地,在所述步骤21中,采用bert-wwm模型作为字符编码器。
10.进一步地,在所述步骤22中,采用基于字符的预训练模型并结合基于上下文语义动态生成的词嵌入作为词编码器。
11.进一步地,在所述步骤23中,利用n-gram算法将输入句子拆分成不同长度的短语词项。
12.进一步地,所述步骤3包括:步骤31、将字符嵌入向量作为注意力机制的查询向量,得到字符嵌入向量在第p个位置上词信息的注意力分布和短语信息的注意力分布,,代表字符嵌入向量,代表第p个位置上的词向量,代表第k个位置上的词向量,代表第p个位置上的短语向量,代表代表第k个位置上的短语向量,k∈(i,j);将每个位置的注意力分布和短语信息的注意力分布加权,分别得到词关键信息和短语关键信息,,,代表第p个位置上的字符向量,代表第p个位置上的短语向量;步骤32、将字符嵌入向量中第i个字符的字符向量e
ci
嵌入对应的词关键信息u
wi
与短语关键信息u
gi
,得到新的字符信息,基于新的字符信息得到新的字符嵌入向量,,。
13.进一步地,所述步骤4包括:将新的字符嵌入向量输入到bi-lstm模块,得到隐藏层状态。
14.进一步地,所述步骤5包括:步骤51、构建多粒度命名实体识别模型;步骤52、将隐藏层状态输入多粒度命名实体识别模型,采用条件随机场算法,迭代得到转移得分,计算最大得分路径;步骤53、更新并保存训练后模型的参数。
15.与现有技术相比,本发明具有以下有益效果:本发明结合多粒度的语义信息进行训练,能够学习到字符级、词级别、短语级别的信息特征,丰富了句子的语义,具有优秀、准确的运行性能;同时利用双向lstm模型对多粒度信息进一步处理, 提高了中文实体识别的效果。
附图说明
16.图1为本发明的方法流程图。
具体实施方式
17.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.如图1所示,一种基于多粒度命名实体识别方法,包括以下步骤:步骤1、获取标准物料库的数据集;步骤2、对数据集中的各数据进行多粒度编码,得到包含字符信息的字符嵌入向量、包含词信息的词嵌入向量和包含短语信息的短语嵌入向量;步骤3、基于注意力机制,由字符嵌入向量和词嵌入向量得到词关键信息,再由字符嵌入向量和短语嵌入向量得到短语关键信息;将词关键信息和短语关键信息融合再合并到字符信息中,得到新的字符信息和包含新的字符信息的新的字符嵌入向量;步骤4、基于双向lstm模型,提取新的字符嵌入向量的隐藏层状态;步骤5、构建多粒度命名实体识别模型,将隐藏层状态输入所述模型进行训练;步骤6、采用训练好的多粒度命名实体识别模型对待识别数据进行处理,得到多粒度命名实体识别结果。
19.首先,本发明需要获取标准物料库的数据集,数据集每行代表一个待识别的最小存货单位(stock keeping unit,sku),即包含物料商品的标题和描述的输入句子。例如:“萍钢螺纹钢 12m 规格:φ12 牌号:hrb400e;山西建邦螺纹钢 9m 规格:φ25 牌号:hrb400e;莱钢永锋螺纹钢规格:φ25牌号:hrb400e”。
20.字符是中文ner重要的信息,由于字符信息具有明确的语义和固定的长度,因此字符编码具有重要作用。本发明将字符信息、词信息和短语信息进行融合,丰富了句子的语义。本发明使用字符编码器,生成所述数据的输入句子的字符嵌入向量,,s代表输入句子、n代表输入句子的字符长度,ci代表输入句子的第i个字符,e
ci
代表第i个字符的字符向量,i∈(1,2,...,n)。作为优选,采用bert-wwm模型作为字符编码器。
21.由于预训练的词嵌入(word2vec, glove等)的数量是有限的,它们不能完全覆盖
标记化的词。此外,字符的嵌入空间与单词的嵌入空间不同,会影响了模型的性能。本发明使用分词器,将输入句子分词(如:jieba分词,ltp分词等)为(w1,w
2,
...,wi,...,wn),wi为所述数据的输入句子的各分词向量。为了保持词嵌入形状与字符嵌入形状一致,本发明采用词编码器,对分词向量wi中的字符求其平均字符并作为分词向量wi的词向量e
wt
,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引,所述平均字符基于上下文语义动态生成;将数据的输入句子中每个分词中各字符替换为对应的词向量,得到词嵌入向量,。作为优选,采用基于字符的预训练模型并结合基于上下文语义动态生成的词嵌入作为词编码器。
22.由于分词器可能会在词编码中产生分词错误,从而降低模型的性能。为此,本发明引入短语编码来缓解所述问题的影响,多粒度词信息来缓解上述问题的影响,随着短语信息的加入,该模型可以在遇到字符时学习到更多的词信息。本发明将所述数据的输入句子拆分成不同长度的短语词项g
t
,对任意短语项g
t
计算其对应的短语向量,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引;将数据的输入句子中每个短语词项中各字符替换为对应的短语向量,得到短语嵌入向量,。作为优选,利用n-gram算法将输入句子拆分成不同长度的短语词项g
t
。
23.本发明还基于注意力机制,利用字符信息引导词信息和短语信息,再将词信息和短语信息整合回字符信息,得到新的字符信息,也称为多粒度词信息。本发明使用了使用了两个独立的注意网络,一个用于组合字符信息和词信息,另一个用于组合字符信息和短语信息,具体为将字符嵌入向量作为注意力机制的查询向量,得到字符嵌入向量在第p个位置上词信息的注意力分布和短语信息的注意力分布,,代表字符嵌入向量,代表第p个位置上的词向量,代表第k个位置上的词向量,代表第p个位置上的短语向量,代表代表第k个位置上的短语向量,k∈(i,j);然后根据注意力分布可以去有选择性地提取关键信息,对输入信息进行加权求和,将每个位置的注意力分布和短语信息的注意力分布加权,分别得到词关键信息和短语关键信息,分别得到词关键信息和短语关键信息,,,代表第p个位置上的字符向量,代表第p个位置上的短语向量;然后,进一步将上述经过注意力机制后得到的词关键信息和短语关键信息结合起来,并且将融合后的多粒度信息合并到字符信息中,得到新的字符信息,具体为将字符嵌入向量es中第i个字符的字符向量e
ci
嵌入对应的词关键信息u
wi
与短语关键信息u
gi
,得到新的字符信息,再基于新的字符信息,得到新的字符嵌入向量,,。
24.本发明还通过由一层双向bi-lstm组成的模块来提取深度语义信息,可以有效地
解决序列数据的建模问题。bi-lstm模型可以同时考虑一个单词前面和后面的上下文信息,从而更好地理解单词的语义,更好地捕捉序列中的长期依赖关系。具体为:将新的字符嵌入向量输入到bi-lstm模块,得到隐藏层状态。
25.在得到隐藏层状态后,构建多粒度命名实体识别模型;将隐藏层状态输入多粒度命名实体识别模型,采用条件随机场算法(crf),迭代得到转移得分,计算最大得分路径;更新并保存训练后模型的参数。在命名实体识别ner任务中,bi-lstm善于处理长距离的文本信息,但无法处理相邻标签之间的依赖关系。而条件随机场算法(crf)能通过邻近标签的关系获得一个最优的预测序列,弥补bi-lstm的缺点。对于任一个序列,对应的真实标签序列为,表示所有可能的标注序列,采用维特比(viterbi)算法得到的预测序列产生概率,即最大得分路径,计算公式为:,其中是从标签到标签状态的转移得分,其中,crf条件随机场中的转移得分是通过计算两个相邻标签之间的特征函数f得分的总和得到的;最后,更新并保存训练后模型的参数。
26.本发明采用两个中文的ner基准数据集,包括人民日报数据集和msra语料数据集,同时使用本技术人的内部云筑产品品牌数据集进行模型实际效果的验证。前两个基准数据集在中文ner中被广泛使用和认可,它们可以保证实验结果的公平性和可比性。
27.本发明采用召回率r、精确率p 和f1值来评判模型的性能,各评价指标的计算方法如下:
[0028][0029][0030]
式中, a是识别正确的实体数, a是总实体个数, b是识别出的实体数。
[0031]
具体试验结果如下表1至表3所示:表1人民日报语料测试结果(单位: %)
[0032]
表2 msra语料测试结果(单位: %)
[0033]
表3云筑产品品牌语料测试结果(单位: %)
[0034]
试验表明,本发明提出的模型方法优于其他模型,并在中文ner基准数据集上实现了最先进方法的性能,能够学习到字符级,词级别、短语级别的信息特征,进一步提高了中文实体识别的效果。
[0035]
最后应说明的是:以上各实施例仅仅为本发明的较优实施例用以说明本发明的技术方案,而非对其限制,当然更不是限制本发明的专利范围;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围;也就是说,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内;另外,将本发明的技术方案直接或间接的运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种基于多粒度命名实体识别方法,其特征在于,包括以下步骤:步骤1、获取标准物料库的数据集;步骤2、对数据集中的各数据进行多粒度编码,得到包含字符信息的字符嵌入向量、包含词信息的词嵌入向量和包含短语信息的短语嵌入向量;步骤3、基于注意力机制,由字符嵌入向量和词嵌入向量得到词关键信息,再由字符嵌入向量和短语嵌入向量得到短语关键信息;将词关键信息和短语关键信息融合再合并到字符信息中,得到新的字符信息和包含新的字符信息的新的字符嵌入向量;步骤4、基于双向lstm模型,提取新的字符嵌入向量的隐藏层状态;步骤5、构建多粒度命名实体识别模型,将隐藏层状态输入多粒度命名实体识别模型进行训练;步骤6、采用训练好的多粒度命名实体识别模型对待识别数据进行处理,得到多粒度命名实体识别结果。2.根据权利要求1所述的一种基于多粒度命名实体识别方法,其特征在于,所述步骤2包括:步骤21、使用字符编码器,生成所述数据的输入句子的字符嵌入向量,,s代表输入句子、n代表输入句子的字符长度,ci代表输入句子的第i个字符,e
ci
代表第i个字符的字符向量,i(1,2,...,n);步骤22、使用分词器,生成所述数据的输入句子的各分词向量w
i
,i(1,2,...,n);使用词编码器,对分词向量w
i
中的字符求其平均字符并作为分词向量w
i
的词向量e
wt
,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引;将数据的输入句子中每个分词中各字符替换为对应的词向量,得到词嵌入向量,;步骤23、将所述数据的输入句子拆分成不同长度的短语词项g
t
,对任意短语项g
t
计算其对应的短语向量,,e
ck
代表第k个字符的向量表示,i代表词开始位置索引,j代表词结束位置索引;将数据的输入句子中每个短语词项中各字符替换为对应的短语向量,得到短语嵌入向量,。3.根据权利要求2所述的一种基于多粒度命名实体识别方法,其特征在于,在所述步骤21中,采用bert-wwm模型作为字符编码器。4.根据权利要求2所述的一种基于多粒度命名实体识别方法,其特征在于,在所述步骤22中,采用基于字符的预训练模型并结合基于上下文语义动态生成的词嵌入作为词编码器。5.根据权利要求2所述的一种基于多粒度命名实体识别方法,其特征在于,在所述步骤23中,利用n-gram算法将输入句子拆分成不同长度的短语词项。6.根据权利要求2所述的一种基于多粒度命名实体识别方法,其特征在于,所述步骤3包括:步骤31、将字符嵌入向量作为注意力机制的查询向量,得到字符嵌入向量在第p个位置上词信息的注意力分布和短语信息的注意力分布,
代表字符嵌入向量,代表第p个位置上的词向量,代表第k个位置上的词向量,代表第p个位置上的短语向量,代表代表第k个位置上的短语向量,k∈(i,j);将每个位置的注意力分布和短语信息的注意力分布加权,分别得到词关键信息和短语关键信息,,,代表第p个位置上的字符向量,代表第p个位置上的短语向量;步骤32、将字符嵌入向量中第i个字符的字符向量e
ci
嵌入对应的词关键信息u
wi
与短语关键信息u
gi
,得到新的字符信息,基于新的字符信息得到新的字符嵌入向量,,。7.根据权利要求6所述的一种基于多粒度命名实体识别方法,其特征在于,所述步骤4包括:将新的字符嵌入向量输入到bi-lstm模块,得到隐藏层状态。8.根据权利要求7所述的一种基于多粒度命名实体识别方法,其特征在于,所述步骤5包括:步骤51、构建多粒度命名实体识别模型;步骤52、将隐藏层状态输入多粒度命名实体识别模型,采用条件随机场算法,迭代得到转移得分,计算最大得分路径;步骤53、更新并保存训练后模型的参数。
技术总结
本发明公开了一种基于多粒度命名实体识别方法,包括获取标准物料库的数据集;计算数据集各数据的字符嵌入向量、词嵌入向量和短语嵌入向量;基于注意力机制,获取词关键信息和短语关键信息;将词关键信息和短语关键信息融合到字符信息中,得到新的字符信息和新的字符嵌入向量;基于双向LSTM模型,提取新的字符嵌入向量的隐藏层状态;构建多粒度命名实体识别模型,将隐藏层状态输入所述模型训练;采用训练好的模型处理待识别数据。本发明结合多粒度的语义信息进行训练,学习到字符级、词级别、短语级别的信息特征,丰富了句子的语义,具有优秀准确的运行性能;同时利用双向LSTM模型对多粒度信息进一步处理,提高了中文实体识别的效果。果。果。
技术研发人员:张自平 谷满昌
受保护的技术使用者:云筑信息科技(成都)有限公司
技术研发日:2023.07.21
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
