掌桥专利:专业的专利平台
掌桥专利
首页

命名实体识别模型的训练方法和命名实体识别的方法

文献发布时间:2023-06-19 12:00:51


命名实体识别模型的训练方法和命名实体识别的方法

技术领域

本申请涉及自然语言处理技术领域,特别是涉及命名实体识别模型的训练方法和命名实体识别的方法。

背景技术

命名实体(named entity),是指某领域内的具有特定意义或者代表性强的实体词,如新闻领域的事件名、地点名、人物名等,命名实体识别(Named Entity Recognition,简称NER),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,目前,主要是将命名实体识别转化为机器学习中的一个有监督学习的问题进行处理,通过建立统计学习模型或者深度学习模型并进行模型的训练,最后得到命名实体识别结果。其中,有监督学习的命名实体识别模型的训练依赖大规模的标注语料,通常标注语料是由人为主动标注获得的,标注语料获取成本高,且需要大量的标注语料才能训练得到可用的命名实体识别模型,在获得大量的标注语料前,无法开展工作,相当于将开发成本转嫁到语料的标注上,整体开发效率低。

目前针对相关技术中有监督学习的命名实体识别模型的训练依赖大规模的标注语料,导致标注成本高且开发效率低的问题,尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种命名实体识别模型的训练方法和命名实体识别的方法,以至少解决相关技术中有监督学习的命名实体识别模型的训练依赖大规模的标注语料,导致标注成本高且开发效率低的问题。

第一方面,本申请实施例提供了一种命名实体识别模型的训练方法,所述命名实体识别模型包括BERT-CRF模型,所述训练方法包括:

获取训练集,所述训练集包括多批元训练数据,每一批所述元训练数据包括训练支持集和训练查询集,其中,所述训练集为目标领域相近领域的标注样本;

用每一批所述元训练数据对命名实体识别模型进行训练,每轮训练包括:将所述训练查询集和所述训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取所述训练查询集样本的发射分数和转移分数,将所述训练查询集样本的发射分数和转移分数输入到命名实体识别模型中BERT-CRF模型的CRF层,得到所述命名实体识别模型的损失函数,根据所述命名实体识别模型的损失函数调整所述命名实体识别模型的参数。

在其中一些实施例中,所述每轮训练过程中,所述训练方法还包括:

获取测试集,所述测试集包括测试支持集和测试查询集,其中,所述测试集为目标领域的标注样本;

将所述测试支持集和所述测试查询集输入到所述命名实体识别模型中BERT-CRF模型的BERT层,获取所述测试查询集样本的发射分数和转移分数;

将所述测试查询集样本的发射分数和转移分数输入到命名实体识别模型中BERT-CRF模型的CRF层,获取所述测试查询集样本的测试类别标签;

根据所述测试查询集样本的测试类别标签和真实的类别标签,判断所述测试集的准确率,若所述测试集的准确率大于或等于预设值,则停止训练,若所述测试集的准确率小于预设值,则继续用下一批所述元训练数据对命名实体识别模型进行训练。

在其中一些实施例中,将所述训练查询集和所述训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取所述训练查询集样本的发射分数包括:

将所述训练查询集和所述训练支持集输入命名实体识别模型中BERT-CRF模型的BERT层,得到所述训练支持集样本的特征表示向量和所述训练查询集样本的特征表示向量;

获取预定义的锚类别特征表示向量,所述锚类别特征表示向量通过损失回传调节向量表示,其中,所述锚类别特征表示向量的数量大于或等于源领域和目标领域中类别数量的总和;

根据所述训练支持集样本的特征表示向量,获取所述训练支持集中每个类别标签的特征表示向量,对所述训练支持集中每个类别标签的特征表示向量和所述锚类别特征表示向量之间的差值向量计算奇异值分解,得到特征映射函数;

根据所述特征映射函数,计算所述训练查询集样本的特征表示向量与所述锚类别特征表示向量之间的相似度,得到所述训练查询集样本的发射分数。

在其中一些实施例中,根据所述训练支持集样本的特征表示向量,获取所述训练支持集中每个类别标签的特征表示向量包括:

根据所述训练支持集样本中的每个字的类别标签,获取每个所述训练支持集样本中相应的字的特征表示向量,计算每个类别下全部字的特征表示向量的平均值,作为所述训练支持集中每个类别标签的特征表示向量。

在其中一些实施例中,将所述训练查询集和所述训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取所述训练查询集样本的转移分数包括:

根据所述训练查询集样本中的标签类别,获取标签类别转移矩阵,根据训练中的损失回传调节所述标签类别转移矩阵,根据所述标签类别转移矩阵得到所述训练查询集样本的转移分数。

在其中一些实施例中,所述获取训练集和测试集之前,所述训练方法还包括:

根据所述目标领域,获取所述目标领域的相近领域的多个源领域的标注数据集,单个领域的标注数据集为一批元训练数据,使每一批所述元训练数据中包含的各类型标签的数量达到均衡,其中,多个源领域的标注数据集为训练集,目标领域的标注数据集为测试集。

在其中一些实施例中,所述使每一批所述元训练数据中包含的各类型标签的数量达到均衡之后,所述训练方法还包括:

将每个字或子词对应于模型词表中的序号,和每个字或子词对应的标签在所属领域中全部标签中的序号保存在领域数据中,将所述元训练数据中的样本在所述领域数据中的序号保存在元数据序号中,每一批所述元训练数据通过所述领域数据和所述元数据序号进行加载,其中,每一批所述元训练数据的标注数据集包括多个样本,每个样本包括多个字或子词,每个字或子词都带有标签。

第二方面,本申请实施例提供了一种命名实体识别的方法,所述方法采用第一方面所述的命名实体识别模型训练方法得到的命名实体识别模型进行命名实体识别,所述方法包括:

获取目标领域的预测支持集和预测查询集,其中,所述预测支持集为标注的数据集,所述预测查询集为未标注的数据集;

将所述预测支持集和所述预测查询集输入命名实体识别模型中,得到所述预测查询集样本的预测类别标签。

第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的命名实体识别模型的训练方法和命名实体识别的方法。

第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的命名实体识别模型的训练方法和命名实体识别的方法。

相比于相关技术,本申请实施例提供的命名实体识别模型的训练方法,命名实体识别模型包括BERT-CRF模型,通过获取训练集,训练集包括多批元训练数据,每一批元训练数据包括训练支持集和训练查询集,其中,训练集为目标领域相近领域的标注样本;用每一批元训练数据对命名实体识别模型进行训练,每轮训练包括:将训练查询集和训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取训练查询集样本的发射分数和转移分数,将训练查询集样本的发射分数和转移分数输入到命名实体识别模型中BERT-CRF模型的CRF层,得到命名实体识别模型的损失,根据命名实体识别模型的损失调整命名实体识别模型的参数,当目标领域只有极少量的标注样本,而源领域有大量标注样本时,将源领域的标注样本作为训练集,巧妙地利用现有的标注资源,将命名实体识别模型学习到的知识迁移到少量标注样本的场景下,解决了标注样本获取成本高,获得目标领域的足量标注样本前,无法开展工作,整体开发效率低的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的命名实体识别模型的训练方法的流程图;

图2是根据本申请实施例的对命名实体识别模型进行测试的流程图;

图3是根据本申请实施例的命名实体识别的方法的流程图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:

BERT模型,是谷歌(Google)于2018年末开发并发布的一种语言模型。全称为来自变换器的双向编码器表征量(Bidirectional Encoder RepresentationsfromTransformers)。

CRF(Conditional Random Fields),表示条件随机场,是一种给定输入随机变量x,求解条件概率P(y│x)的概率无向图模型。条件随机场模型需要建模的是输入变量和输出变量的条件概率分布。条件随机场常用于标注或分析序列资料,如自然语言文字或是生物序列。用于序列标注时,输入输出随机变量为两个等长的序列。

实体标签,是用于指示对应的单词是否是实体以及是哪类实体的标签。

本实施例提供了一种命名实体识别模型的训练方法,该命名实体识别模型包括BERT-CRF模型,图1是根据本申请实施例的命名实体识别模型的训练方法的流程图,如图1所示,该训练方法包括如下步骤:

步骤S101,获取训练集,该训练集包括多批元训练数据,每一批元训练数据包括训练支持集和训练查询集,其中,训练集为目标领域相近领域的标注样本;本实施例中,目标领域的相近领域称为源领域,将源领域作为训练集,每一个源领域的标注样本作为一批元训练数据,每一批元训练数据包括N个训练支持集样本和M个训练查询集样本,N和M为任意大于1的整数,训练集中的训练样本包括训练语句和训练语句中的实体对应的类别标签;

步骤S102,用每一批元训练数据对命名实体识别模型进行训练,每轮训练包括:将训练查询集和训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取训练查询集样本的发射分数和转移分数,将训练查询集样本的发射分数和转移分数输入到命名实体识别模型中BERT-CRF模型的CRF层,得到命名实体识别模型的损失函数,根据命名实体识别模型的损失函数调整命名实体识别模型的参数。

通过上述步骤S101和步骤S102,相比于相关技术中,对目标领域中的命名实体进行识别时,需要大量目标领域的标注样本对命名实体模型进行训练,训练好的命名实体识别模型才能对目标领域中的命名实体进行识别,要获得目标领域的标注样本,需要人工进行标注,导致成本高,且获得目标领域的足量标注样本前,无法开展工作,整体开发效率低,本申请通过使用目标领域的相近领域的标注样本对命名实体模型进行训练,利用相近领域的大量标注资源,将命名实体识别模型学习到的知识迁移到只有少量标注样本的目标领域场景下,大幅降低了人工标注样本的成本,且提高了整体开发效率。

在其中一些实施例中,用源领域的标注样本对命名实体识别模型进行训练后,使用目标领域的标注样本对命名实体识别模型进行测试,根据测试结果判断是否需要继续对命名实体识别模型进行训练,图2是根据本申请实施例的对命名实体识别模型进行测试的流程图,如图2所示,该测试方法包括如下步骤:

步骤S201,每轮训练过程中,获取测试集,测试集包括测试支持集和测试查询集,其中,测试集为目标领域极少量的标注样本;

步骤S202,将测试支持集和测试查询集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取测试查询集样本的发射分数和转移分数;将测试查询集样本的发射分数和转移分数输入到命名实体识别模型中BERT-CRF模型的CRF层,获取测试查询集样本的测试类别标签;

步骤S203,根据测试查询集样本的测试类别标签和真实的类别标签,判断测试集的准确率,若测试集的准确率大于或等于预设值,则停止训练,若预测结果的准确率小于预设值,则继续用下一批训练集对命名实体识别模型进行训练。

通过上述步骤S201至步骤S203,在目标领域只有极少量的标注样本,不足以对命名实体识别模型进行训练时,使用目标领域相近领域的大量标注样本对命名实体识别模型进行训练,并用目标领域极少量的标注样本对该命名实体识别模型进行测试,若测试结果的准确率不符合要求,则继续用目标领域相近领域的大量标注样本对命名实体识别模型进行训练,测试结果的准确率符合要求时,说明该命名实体识别模型已经训练好,满足对目标领域的未标注样本进行命名实体识别的要求,且对目标领域的未标注样本进行命名实体识别,还能保证识别结果的准确率。

在其中一些实施例中,将训练查询集和训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取训练查询集样本的发射分数包括:

将训练查询集和训练支持集输入命名实体识别模型中BERT-CRF模型的BERT层,得到训练支持集样本的特征表示向量和训练查询集样本的特征表示向量;其中,由于训练查询集样本在与不同的训练支持集样本拼接后可能会呈现出不同的意思,为了更好地表示样本中字的特征,将训练查询集样本与训练支持集中每个样本连接后,通过无监督模型(BERT模型)计算训练查询集样本和训练支持集样本中每个字的特征,得到每个查询-支持样本对的特征后计算其平均值,再按拼接前的长度切成训练查询集样本的特征表示向量和训练支持集样本的特征表示向量,例如,将训练查询集样本和训练支持集样本拼接前,一个训练查询集样本有100个字,一个训练支持集样本有50个字,拼接后的句子为150个字,得到150个字的特征,按拼接前的长度切,前100个字的特征为训练查询集样本的特征表示向量,后50个字的特征为训练支持集样本的特征表示向量。

获取预定义的锚类别特征表示向量,锚类别特征表示向量通过损失回传调节向量表示,其中,锚类别特征表示向量的数量大于或等于源领域和目标领域中类别数量的总和;本实施例中,锚类别特征表示向量维度与样本中每个字的向量维度一致;

根据训练支持集样本的特征表示向量,获取训练支持集中每个类别标签的特征表示向量,对训练支持集中每个类别标签的特征表示向量和锚类别特征表示向量之间的差值向量计算奇异值分解,得到特征映射函数;本实施例中,对训练支持集样本中的每个字的类别标签,找到每个样本中的相应的字的特征表示向量,并计算该类别标签下全部字的特征表示向量的平均值,作为训练支持集中每个类别标签的特征表示向量,其中,全部字的特征表示向量的平均值通过除以训练支持集中每个类别标签的特征表示向量的L1模,对训练支持集中每个类别标签的特征表示向量进行归一化得到,奇异值分解(Singular ValueDecomposition,简称SVD)是在机器学习领域广泛应用的算法,SVD不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。

根据特征映射函数,计算训练查询集样本的特征表示向量与锚类别特征表示向量之间的相似度,得到训练查询集样本的发射分数。本实施例中,用特征映射函数将训练查询集样本的特征表示向量和锚类别特征表示向量映射到同一个空间上之后,用训练查询集样本中每个字的特征表示向量与每个锚类别特征表示向量计算点积相似度,得到每个字的特征表示向量与全部锚类别特征表示向量的相似度,即得到了每个字的发射分数。

在其中一些实施例中,将训练查询集和训练支持集输入到命名实体识别模型中BERT-CRF模型的BERT层,获取训练查询集样本的转移分数包括:

根据训练查询集样本中的标签类别,获取标签类别转移矩阵,根据训练中的损失回传调节标签类别转移矩阵,根据标签类别转移矩阵得到训练查询集样本的转移分数。本实施例中,命名实体识别有三种对标签类别的标注方法,分别是BIO、BMES和BIOES,以BIO举例说明,B-X代表实体X的开头,I-X代表实体的结尾,O代表不属于任何类型,根据BIO设置下的标签类别,预先设置3行5列的标签类别转移矩阵,3行对应BIO这3个标签类别,5列对应从BIO转移到“O、相同类型的B、不同类型的B、相同类型的I、不同类型的I”的概率,其中,相同和不同类型指是否同为“人名”、“地名”等命名实体类型,针对训练查询集的标签类型数量,将标签类别转移矩阵进行实例化扩展,即将类型变成训练查询集的全部类型,例如,训练查询集总共有“人名”和“地名”2个类型标签,则扩展为5行5列的标签类别转移矩阵,5行对应于“O、B-人名、I-人名、B-地名、I-地名”,5列对应于“O、B-人名、I-人名、B-地名、I-地名”,根据标签类别转移矩阵即可得到训练查询集样本的转移分数。

在其中一些实施例中,获取训练集和测试集之前,根据目标领域,获取目标领域的相近领域的多个源领域的标注数据集,单个领域的标注数据集为一批元训练数据,使每一批元训练数据中包含的各类型标签的数量达到均衡。本实施例中,为了保证每一批元训练数据中包含的各类型标签的数量尽可能均衡,将带有每种标签的样本各加入一部分到每一批元训练数据中,之后再对包含过多样本的标签减少其样本数量,同时保证减少样本时不影响到其他标签的样本量。

在其中一些实施例中,使每一批元训练数据中包含的各类型标签的数量达到均衡之后,将每个字或子词(wordpiece)对应于模型词表中的序号,和每个字或子词对应的标签在所属领域中全部标签中的序号保存在领域数据(domain_data)中,将元训练数据中的样本在领域数据中的序号保存在元数据序号(meta_data_idx)中,每一批元训练数据通过domain_data和meta_data_idx进行加载,其中,每一批元训练数据的标注数据集包括多个样本,每个样本包括多个字或子词,每个字或子词都带有标签。本实施例中,为了加快训练时元训练数据的加载速度,并减少加载元训练数据需要的内存,每一批元训练数据通过domain_data和meta_data_idx进行加载,即用meta_data_idx中每一批元训练数据在domain_data中的序号,从domain_data中找到对应的数据,构成每一批元训练数据,其中,wordpiece模型是Subword模型的一种,Subword模型划分粒度介于词与字符之间,例如,可以将”looking”划分为”look”和”ing”两个子词,而划分出来的"look",”ing”又能够用来构造其它词,如"look"和"ed"子词可组成单词"looked",因而Subword方法能够大大降低模型词表的大小,同时对相近词能更好地进行处理。

本申请实施例还提供了一种命名实体识别的方法,图3是根据本申请实施例的命名实体识别的方法的流程图,如图3所示,该命名实体识别的方法采用上述任一项的命名实体识别模型训练方法得到的命名实体识别模型进行命名实体识别,该方法包括如下步骤:

步骤S301,获取目标领域的预测支持集和预测查询集,其中,预测支持集为标注的数据集,预测查询集为未标注的数据集;

步骤S302,将预测支持集和预测查询集输入命名实体识别模型中,得到预测查询集样本的预测类别标签。

通过上述步骤S301至步骤S302,实现用目标领域的相近领域的标注样本训练好的命名实体识别模型,对目标领域中未标注的样本进行识别的目的。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

另外,结合上述实施例中的命名实体识别模型的训练方法和命名实体识别的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种命名实体识别模型的训练方法和命名实体识别的方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种命名实体识别模型的训练方法和命名实体识别的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 命名实体识别模型的训练方法和命名实体识别的方法
  • 命名实体识别模型训练方法、命名实体识别方法和介质
技术分类

06120113135461