CN117236335B - 基于提示学习的两阶段命名实体识别方法 - Google Patents
基于提示学习的两阶段命名实体识别方法 Download PDFInfo
- Publication number
- CN117236335B CN117236335B CN202311499946.2A CN202311499946A CN117236335B CN 117236335 B CN117236335 B CN 117236335B CN 202311499946 A CN202311499946 A CN 202311499946A CN 117236335 B CN117236335 B CN 117236335B
- Authority
- CN
- China
- Prior art keywords
- span
- entity
- character
- representing
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 61
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 239000013598 vector Substances 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 6
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种基于提示学习的两阶段命名实体识别方法,步骤为:获取公开的命名实体识别数据集;构建命名实体识别模型,分为跨度识别模块和跨度分类模块;将句子文本输入到跨度识别模块的特征编码器中获取嵌入特征向量;将嵌入特征向量输入到跨度识别模块的线性分类层,预测实体跨度计算跨度损失;将实体跨度和句子文本填入到跨度分类模块的自然语言模板中构建标签词映射再输入到预训练语言模型;对完整自然语言模板进行预测,得到预测的字符映射到对应的类别,为跨度分配相应的类别。本发明的优点是:解决在少样本场景下难以学习标签依赖性的问题,解决在少样本命名实体识别任务中使用提示学习导致预测耗时过长的问题。
Description
技术领域
本发明涉及电子信息计算领域,具体为一种基于提示学习的两阶段命名实体识别方法。
背景技术
命名实体识别是自然语言处理的一项基础任务,是处理非结构化文本的第一步,旨在将文本中的实体定位并分类为预先定义的类别,如人名、地名、公司名、机构名、日期、时间、疾病名、症状名、手术名称、软件名称等,该任务也是构建自然语言理解***的关键步骤。
近年来,深度学习在命名实体识别方面取得了显著的成功,尤其是在使用自监督方式训练的预训练语言模型方面。然而,即使使用这些预训练语言模型,构建命名实体识别***仍然是一项劳动密集型、耗时且成本高昂的任务。构建准确的命名实体识别***依赖于大量高质量的域内注释数据,这需要丰富的领域知识和专家经验来注释大量的训练标记。然而,这与现实世界的应用场景相反,在现实世界中,只有非常有限的标记数据可用于新域。需要对一个新的领域进行命名实体识别时,无法获取大量的已标注数据且标注大量数据需要耗费高昂的成本。因此,如何在小样本情境下,构建轻量、易部署、准确的命名实体识别***成为该领域未来发展和研究的重点。
早期一些针对少样本命名实体识别的研究通常将该任务视为序列标记任务,并使用令牌级原型网络,将每个查询令牌与平均每个实体类的支持示例的嵌入得到的原型进行比较,并根据它们的距离分配标签。序列标记任务受益于标签依赖性,然而在少样本场景下,仅靠少数标记的样本难以学习标签依赖性。同时,仅依靠少数支持示例生成的原型并不可靠,并且大量的“O”类别非常嘈杂,难以生成有效的原型。
近些年,提示学习受到了相当多的关注,提示学习通过向输入增加“提示信息”、将下游任务改为预训练语言模型预训练时的文本生成任务, 避免引入大量新的参数,从而在少样本任务上产生更好的性能。尽管基于提示学习的方法在句子级任务中被证明是非常有效的,但对于命名实体识别这种序列标记任务,使用该方法还面临着巨大的挑战。
目前针对少样本命名实体识别的提示学习方法,需要枚举句子中所有可能的跨度,将其填入模板中,根据相应的模板分数对每个候选跨度进行分类。该方法在解码时所耗费的时间是无法承受的。因此,本技术将命名实体识别任务分解为跨度识别和跨度分类两个任务,由跨度识别模块预测可能的跨度,再将其填入模板,减少了需要预测的跨度,从而大量减少了解码需要的时间。
发明内容
为了解决上述技术问题,本发明提供一种基于提示学习的两阶段命名实体识别方法,本发明将提示学习引入少样本命名实体识别,解决了传统的原型网络在少样本场景下难以生成良好的原型的问题,并将命名实体识别任务分解为跨度识别和跨度分类任务,大大减少了命名实体识别中运用提示学习造成的解码高耗时的问题。
本发明采用以下的技术方案:一种基于提示学习的两阶段命名实体识别方法,其特征在于:方法步骤如下:
步骤S1,获取公开的命名实体识别数据集,其中命名实体识别数据集分为训练集和测试集,训练集和测试集均由句子文本和标注好的真实标签组成,训练集由少数样本组成;
步骤S2,定义两阶段命名实体识别任务形式化,构建命名实体识别模型,命名实体识别模型分为跨度识别模块和跨度分类模块,所述跨度识别模块由特征编码器和线性分类层组成,特征编码器和线性分类层呈串行结构;所述跨度分类模块由自然语言模板、标签词映射和预训练语言模型组成;
步骤S3,将步骤S1的训练集中的句子文本输入到跨度识别模块的特征编码器中,获取句子文本中所有字符的嵌入特征向量;
步骤S4,将步骤S3中获得的嵌入特征向量输入到跨度识别模块的线性分类层中,基于跨度边界的方法预测得到所有的实体跨度;再通过交叉熵损失函数计算跨度损失,通过跨度损失/>优化更新跨度识别模块参数;
步骤S5,将步骤S3中的句子文本以及句子文本通过步骤S4得到所有的实体跨度填入到跨度分类模块的自然语言模板中,根据实体类别构建标签词映射,将填入句子文本和实体跨度的完整自然语言模板输入到预训练语言模型BERT;
步骤S6,预训练语言模型BERT对完整自然语言模板进行预测,得到预测的字符,根据预测的字符通过交叉熵损失函数计算类别损失,通过类别损失/>优化更新预训练语言模型参数;根据步骤S5中构建的标签词映射,将预测的字符映射到对应的类别,为跨度分配相应的类别。
进一步的,步骤S2中定义两阶段命名实体识别任务形式化,具体为:
给定一个句子文本,/>表示句子文本中第i个字符,n表示句子文本中字符个数,将句子文本输入到跨度识别模块,得到实体跨度集/>;/>表示实体跨度集中第i个跨度,t表示实体跨度集中跨度的数量,句子文本中的跨度,/>表示句子文本中第j个字符;
给定一个实体类别集,/>表示实体类别集中的第i个实体类别,N表示实体类别集中的实体类别的个数,跨度分类为每个实体跨度/>分配一个实体类别/>。
进一步的,步骤S2中预训练语言模型,具体为:
预训练语言模型BERT使用Transformer架构中的编码器模块,编码器模块由多层双向编码器组成;将句子文本的第i个字符输入到预训练语言模型BERT中,获取嵌入特征向量,计算过程如公式(1)所示:
(1);
其中,为句子文本的第i个字符经过预训练语言模型BERT得到的对应嵌入特征向量。
进一步的,步骤S4中基于跨度边界的方法,具体如下:
模型训练:步骤S3中获得的字符嵌入特征向量利用线性分类层计算每个字符作为实体跨度开始、实体跨度结束和实体跨度一部分的分数,计算过程如公式(2)、 公式(3)、公式(4)所示:
(2);
(3);
(4);
其中,表示第i个字符作为实体跨度开始的分数,/>表示第i个字符作为实体跨度结束的分数,/>表示第i个字符作为实体跨度一部分的分数,/>,,/>分别表示字符作为实体跨度开始、实体跨度结束和实体跨度一部分的线性分类层的参数矩阵的转置;
通过字符作为实体跨度开始的分数、实体跨度结束的分数计算每个字符作为实体跨度开始的概率和实体跨度结束的概率,计算过程如公式(5)、公式(6)所示:
(5);
(6);
其中,表示第i个字符作为实体跨度开始的概率,/>表示第i个字符作为实体跨度结束的概率,sigmoid表示归一化函数;
将第i个字符作为实体跨度开始的分数、第i个字符作为实体跨度结束的分数和第i个字符作为实体跨度一部分的分数的累加和求和,计算跨度属于一个实体跨度的概率,计算过程如公式(7)所示:
(7);
其中,表示跨度/>整体属于一个实体跨度的概率,/>表示第i个字符作为实体跨度开始的分数,/>表示第j个字符作为实体跨度结束的分数,/>表示第t个字符作为实体跨度一部分的分数;
使用交叉熵分别计算字符i作为实体跨度开始的损失、实体跨度结束的损失,计算过程如公式(8)、公式(9)所示:
(8);
(9);
其中,表示字符作为跨度开始的损失,/>表示字符作为跨度结束的损失,表示第i个字符是否为跨度开始的真实标签,/>表示第i个字符是否为跨度结束的真实标签;
对于跨度整体损失,进行负样本抽样,对负样本跨度进行随机选取,使正负样本的比例与字符作为跨度开始和跨度结束中的正负样本比例相同,计算过程如公式(10)所示:
(10);
其中,表示跨度整体属于实体的损失,/>表示真实标签属于实体的正样本的集合,/>表示真实标签不属于实体的负样本的集合;
整个跨度识别模块的损失函数通过将,/>,/>求和计算得到,计算过程如公式(11)所示:
(11);
模型预测:跨度识别模块通过计算每个跨度,句子文本中第i个字符/>为实体跨度的开始的概率/>,句子文本中第j个字符/>为实体跨度的结束的概率/>,以及跨度/>整体为实体跨度的概率/>;
通过将第i个字符作为实体跨度开始的概率、第i个字符作为实体跨度结束的概率/>、跨度整体属于一个实体跨度的概率/>进行求和,得到跨度为实体跨度的最终概率,并设定阈值,概率大于设定阈值的跨度为实体跨度/>,并输入到跨度分类模块中。
进一步的,跨度分类模块,包括如下:
输入数据:将分类任务转换为预训练语言模型的预训练任务设置提示模板,提示模板将句子文本X改为包含[MASK]令牌的提示输入T(X,),形式化为:T(X,/>)=X,式中,/>是一个[MASK];
其中,T(X,)表示根据句子文本X和实体跨度/>构建的提示输入,X表示句子文本,表示跨度识别模块中对句子文本X预测的实体跨度;
模型训练:将[MASK]令牌上预测的字符映射为对应的实体类别y设置标签词映射,实体类别y=PER转换为对应自然语言形式的词语v=人类;形式化如公式(12)所示:
(12);
其中,M表示标签词映射,v表示实体类别y经过标签词映射得到的自然语言形式的词语;
将跨度分类任务建模为计算[MASK]令牌上预测的词汇表概率分布,其计算过程如公式(13)所示:
(13);
其中,表示基于根据句子文本X和实体跨度/>构建的提示输入/>,预训练语言模型在[MASK]字符处预测为实体类别y经过标签词映射的字符的概率;
在标签词中加入“O”类及其映射词表“其他”,并随机抽取负样本进行训练,将预测为“其他”的实体跨度全部剔除,减少跨度识别模块中识别错误带来的误差累计;使用交叉熵计算损失并对模型参数进行优化更新,如公式(14)所示:
(14);
其中,表示跨度分类模块的整体损失,/>表示输入为句子文本/>及实体跨度/>时,预训练语言模型预测为真实标签实体类别y的概率,m表示句子文本X中实体跨度的数量;
模型预测:将跨度识别模块预测的实体跨度与其对应的句子文本X填入自然语言模板,通过预训练语言模型预测得到[MASK] 字符上的词汇表概率,通过标签词映射,为实体跨度/>分配对应的实体类别,如果通过标签词映射为“O”类别,则将实体跨度/>从结果中剔除。
本发明的有益效果是:(1)本发明首先收集命名实体识别领域公开的标准少样本数据集,利用数据集分别训练跨度识别模块和跨度分类模块,在跨度识别模块中,预测所有可能为实体的跨度,输入跨度分类模块,跨度分类模块通过人工构建提示模板,并根据数据集实体类别设计标签词映射,将跨度识别预测的跨度分别填入模板中,根据预测的单词通过标签词预测转换为对应的实体类别;
(2)本发明将提示学习引入少样本命名实体识别,规避了传统原型网络在少样本场景下难以获取良好原型的劣势,并通过将任务转换为预训练任务,减少引入新的参数,增强了模型在少样板场景下的性能。本发明将命名实体识别分解为跨度识别和跨度分类任务,解决了在少样本场景下难以学习标签依赖性的问题,解决了“O”类跨度难以处理的问题,同时解决了在少样本命名实体识别任务中使用提示学习导致预测耗时过长的问题。
附图说明
图1为本发明的整体模型框架图。
具体实施方式
本发明是这样来工作和实施的,一种基于提示学习的两阶段命名实体识别方法,其方法步骤如下:
步骤S1,获取公开的命名实体识别数据集,其中命名实体识别数据集分为训练集和测试集,训练集和测试集均由句子文本和标注好的真实标签组成,训练集由少数样本组成;
步骤S2,定义两阶段命名实体识别任务形式化,构建命名实体识别模型,命名实体识别模型分为跨度识别模块和跨度分类模块,所述跨度识别模块由特征编码器和线性分类层组成,特征编码器和线性分类层呈串行结构;所述跨度分类模块由自然语言模板、标签词映射和预训练语言模型组成;
步骤S3,将步骤S1的训练集中的句子文本输入到跨度识别模块的特征编码器中,获取句子文本中所有字符的嵌入特征向量;
步骤S4,将步骤S3中获得的嵌入特征向量输入到跨度识别模块的线性分类层中,基于跨度边界的方法预测得到所有的实体跨度;再通过交叉熵损失函数计算跨度损失,通过跨度损失/>优化更新跨度识别模块参数;
步骤S5,将步骤S3中的句子文本以及句子文本通过步骤S4得到所有的实体跨度填入到跨度分类模块的自然语言模板中,根据实体类别构建标签词映射,将填入句子文本和实体跨度的完整自然语言模板输入到预训练语言模型BERT;
步骤S6,预训练语言模型BERT对完整自然语言模板进行预测,得到预测的字符,根据预测的字符通过交叉熵损失函数计算类别损失,通过类别损失/>优化更新预训练语言模型参数;根据步骤S5中构建的标签词映射,将预测的字符映射到对应的类别,为跨度分配相应的类别。
如图1所示,图1为整体的模型框架图,展示了具体组成模块、数据传递以及输入输出的可视化结果。具体流程如下:将数据集中的句子文本,例如:“张三在1999年创办了公司。”,输入跨度识别模块中的特征编码器,将得到的嵌入特征向量输入跨度识别器,计算每个令牌为跨度开始、结束及部分的概率,将总体概率大于阈值的跨度预测为候选实体跨度,待输入到跨度分类模块。将跨度识别模块预测的候选实体跨度与其对应的句子文本填入设置好的模板中,并输入预训练语言模型,通过预测[MASK]位置上的字符,通过标签词映射,为其分配对应的实体类别。
进一步的,步骤S2中定义两阶段命名实体识别任务形式化,具体为:
给定一个句子文本,/>表示句子文本中第i个字符,n表示句子文本中字符个数,将句子文本输入到跨度识别模块,得到实体跨度集/>;/>表示实体跨度集中第i个跨度,t表示实体跨度集中跨度的数量,句子文本中的跨度,/>表示句子文本中第j个字符;
给定一个实体类别集,/>表示实体类别集中的第i个实体类别,N表示实体类别集中的实体类别的个数,跨度分类为每个实体跨度/>分配一个实体类别/>。
进一步的,步骤S2中预训练语言模型,具体为:
预训练语言模型BERT使用Transformer架构中的编码器模块,编码器模块由多层双向编码器组成;将句子文本的第i个字符输入到预训练语言模型BERT中,获取嵌入特征向量,计算过程如公式(1)所示:
(1);
其中,为句子文本的第i个字符经过预训练语言模型BERT得到的对应嵌入特征向量。
进一步的,步骤S4中基于跨度边界的方法,具体如下:
模型训练:步骤S3中获得的字符嵌入特征向量利用线性分类层计算每个字符作为实体跨度开始、实体跨度结束和实体跨度一部分的分数,计算过程如公式(2)、 公式(3)、公式(4)所示:
(2);
(3);
(4);
其中,表示第i个字符作为实体跨度开始的分数,/>表示第i个字符作为实体跨度结束的分数,/>表示第i个字符作为实体跨度一部分的分数,/>,,/>分别表示字符作为实体跨度开始、实体跨度结束和实体跨度一部分的线性分类层的参数矩阵的转置;
通过字符作为实体跨度开始的分数、实体跨度结束的分数计算每个字符作为实体跨度开始的概率和实体跨度结束的概率,计算过程如公式(5)、公式(6)所示:
(5);
(6);
其中,表示第i个字符作为实体跨度开始的概率,/>表示第i个字符作为实体跨度结束的概率,sigmoid表示归一化函数;
将第i个字符作为实体跨度开始的分数、第i个字符作为实体跨度结束的分数和第i个字符作为实体跨度一部分的分数的累加和求和,计算跨度属于一个实体跨度的概率,计算过程如公式(7)所示:
(7);
其中,表示跨度/>整体属于一个实体跨度的概率,/>表示第i个字符作为实体跨度开始的分数,/>表示第j个字符作为实体跨度结束的分数,/>表示第t个字符作为实体跨度一部分的分数;
使用交叉熵分别计算字符i作为实体跨度开始的损失、实体跨度结束的损失,计算过程如公式(8)、公式(9)所示:
(8);
(9);
其中,表示字符作为跨度开始的损失,/>表示字符作为跨度结束的损失,表示第i个字符是否为跨度开始的真实标签,/>表示第i个字符是否为跨度结束的真实标签;
对于跨度整体损失,进行负样本抽样,对负样本跨度进行随机选取,使正负样本的比例与字符作为跨度开始和跨度结束中的正负样本比例相同,计算过程如公式(10)所示:
(10);
其中,表示跨度整体属于实体的损失,/>表示真实标签属于实体的正样本的集合,/>表示真实标签不属于实体的负样本的集合;
整个跨度识别模块的损失函数通过将,/>,/>求和计算得到,计算过程如公式(11)所示:
(11);
模型预测:跨度识别模块通过计算每个跨度,句子文本中第i个字符/>为实体跨度的开始的概率/>,句子文本中第j个字符/>为实体跨度的结束的概率/>,以及跨度/>整体为实体跨度的概率/>;
通过将第i个字符作为实体跨度开始的概率、第i个字符作为实体跨度结束的概率/>、跨度整体属于一个实体跨度的概率/>进行求和,得到跨度为实体跨度的最终概率,并设定阈值,概率大于设定阈值的跨度为实体跨度/>,并输入到跨度分类模块中。
进一步的,跨度分类模块,包括如下:
输入数据:将分类任务转换为预训练语言模型的预训练任务设置提示模板,提示模板将句子文本X改为包含[MASK]令牌的提示输入T(X,),形式化为:T(X,/>)=X,式中,/>是一个[MASK];
其中,T(X,)表示根据句子文本X和实体跨度/>构建的提示输入, X表示句子文本, />表示跨度识别模块中对句子文本X预测的实体跨度;
模型训练:将[MASK]令牌上预测的字符映射为对应的实体类别y设置标签词映射,实体类别y=PER转换为对应自然语言形式的词语v=人类;形式化如公式(12)所示:
(12);
其中,M表示标签词映射,v表示实体类别y经过标签词映射得到的自然语言形式的词语;
将跨度分类任务建模为计算[MASK]令牌上预测的词汇表概率分布,其计算过程如公式(13)所示:
(13);
其中,表示基于根据句子文本X和实体跨度/>构建的提示输入/>,预训练语言模型在[MASK]字符处预测为实体类别y经过标签词映射的字符的概率;
在标签词中加入“O”类及其映射词表“其他”,并随机抽取负样本进行训练,将预测为“其他”的实体跨度全部剔除,减少跨度识别模块中识别错误带来的误差累计;使用交叉熵计算损失并对模型参数进行优化更新,如公式(14)所示:
(14);
其中,表示跨度分类模块的整体损失,/>表示输入为句子文本/>及实体跨度/>时,预训练语言模型预测为真实标签实体类别y的概率,m表示句子文本X中实体跨度的数量;
模型预测:将跨度识别模块预测的实体跨度与其对应的句子文本X填入自然语言模板,通过预训练语言模型预测得到[MASK] 字符上的词汇表概率,通过标签词映射,为实体跨度/>分配对应的实体类别,如果通过标签词映射为“O”类别,则将实体跨度/>从结果中剔除。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (2)
1.一种基于提示学习的两阶段命名实体识别方法,其特征在于:方法步骤如下:
步骤S1,获取公开的命名实体识别数据集,其中命名实体识别数据集分为训练集和测试集,训练集和测试集均由句子文本和标注好的真实标签组成,训练集由少数样本组成;
步骤S2,定义两阶段命名实体识别任务形式化,构建命名实体识别模型,命名实体识别模型分为跨度识别模块和跨度分类模块,所述跨度识别模块由特征编码器和线性分类层组成,特征编码器和线性分类层呈串行结构;所述跨度分类模块由自然语言模板、标签词映射和预训练语言模型组成;
步骤S3,将步骤S1的训练集中的句子文本输入到跨度识别模块的特征编码器中,获取句子文本中所有字符的嵌入特征向量;
步骤S4,将步骤S3中获得的嵌入特征向量输入到跨度识别模块的线性分类层中,基于跨度边界的方法预测得到所有的实体跨度;再通过交叉熵损失函数计算跨度损失,通过跨度损失/>优化更新跨度识别模块参数;
步骤S5,将步骤S3中的句子文本以及句子文本通过步骤S4得到所有的实体跨度填入到跨度分类模块的自然语言模板中,根据实体类别构建标签词映射,将填入句子文本和实体跨度的完整自然语言模板输入到预训练语言模型BERT;
步骤S6,预训练语言模型BERT对完整自然语言模板进行预测,得到预测的字符,根据预测的字符通过交叉熵损失函数计算类别损失,通过类别损失/>优化更新预训练语言模型参数;根据步骤S5中构建的标签词映射,将预测的字符映射到对应的类别,为跨度分配相应的类别;
步骤S2中预训练语言模型,具体为:
预训练语言模型BERT使用Transformer架构中的编码器模块,编码器模块由多层双向编码器组成;将句子文本的第i个字符输入到预训练语言模型BERT中,获取嵌入特征向量,计算过程如公式(1)所示:
(1);
其中,为句子文本的第i个字符经过预训练语言模型BERT得到的对应嵌入特征向量;
步骤S4中基于跨度边界的方法,具体如下:
模型训练:步骤S3中获得的字符嵌入特征向量利用线性分类层计算每个字符作为实体跨度开始、实体跨度结束和实体跨度一部分的分数,计算过程如公式(2)、 公式(3)、公式(4)所示:
(2);
(3);
(4);
其中,表示第i个字符作为实体跨度开始的分数,/>表示第i个字符作为实体跨度结束的分数,/>表示第i个字符作为实体跨度一部分的分数,/>,/>,分别表示字符作为实体跨度开始、实体跨度结束和实体跨度一部分的线性分类层的参数矩阵的转置;
通过字符作为实体跨度开始的分数、实体跨度结束的分数计算每个字符作为实体跨度开始的概率和实体跨度结束的概率,计算过程如公式(5)、公式(6)所示:
(5);
(6);
其中,表示第i个字符作为实体跨度开始的概率,/>表示第i个字符作为实体跨度结束的概率,sigmoid表示归一化函数;
将第i个字符作为实体跨度开始的分数、第i个字符作为实体跨度结束的分数和第i个字符作为实体跨度一部分的分数的累加和求和,计算跨度属于一个实体跨度的概率,计算过程如公式(7)所示:
(7);
其中,表示跨度/>整体属于一个实体跨度的概率,/>表示第i个字符作为实体跨度开始的分数,/>表示第j个字符作为实体跨度结束的分数,表示第t个字符作为实体跨度一部分的分数;
使用交叉熵分别计算字符i作为实体跨度开始的损失、实体跨度结束的损失,计算过程如公式(8)、公式(9)所示:
(8);
(9);
其中,表示字符作为跨度开始的损失,/>表示字符作为跨度结束的损失,/>表示第i个字符是否为跨度开始的真实标签,/>表示第i个字符是否为跨度结束的真实标签;
对于跨度整体损失,进行负样本抽样,对负样本跨度进行随机选取,使正负样本的比例与字符作为跨度开始和跨度结束中的正负样本比例相同,计算过程如公式(10)所示:
(10);
其中,表示跨度整体属于实体的损失,/>表示真实标签属于实体的正样本的集合,/>表示真实标签不属于实体的负样本的集合;
整个跨度识别模块的损失函数通过将,/>,/>求和计算得到,计算过程如公式(11)所示:
(11);
模型预测:跨度识别模块通过计算每个跨度,句子文本中第i个字符/>为实体跨度的开始的概率/>,句子文本中第j个字符/>为实体跨度的结束的概率/>,以及跨度/>整体为实体跨度的概率/>;
通过将第i个字符作为实体跨度开始的概率、第i个字符作为实体跨度结束的概率/>、跨度整体属于一个实体跨度的概率/>进行求和,得到跨度为实体跨度的最终概率,并设定阈值,概率大于设定阈值的跨度为实体跨度/>,并输入到跨度分类模块中;
跨度分类模块,包括如下:
输入数据:将分类任务转换为预训练语言模型的预训练任务设置提示模板,提示模板将句子文本X改为包含[MASK]令牌的提示输入T(X,),形式化为:“T(X,/>)=X,在这个句子中,/>是一个[MASK]”,其中,T(X,/>)表示根据句子文本X和实体跨度/>构建的提示输入,X表示句子文本,/>表示跨度识别模块中对句子文本X预测的实体跨度;
模型训练:将[MASK]令牌上预测的字符映射为对应的实体类别y设置标签词映射,实体类别y=PER转换为对应自然语言形式的词语v=人类;形式化如公式(12)所示:
(12);
其中,M表示标签词映射,v表示实体类别y经过标签词映射得到的自然语言形式的词语;
将跨度分类任务建模为计算[MASK]令牌上预测的词汇表概率分布,其计算过程如公式(14)所示:
(13);
其中,表示基于根据句子文本X和实体跨度/>构建的提示输入/>,预训练语言模型在[MASK]字符处预测为实体类别y经过标签词映射的字符的概率;
在标签词中加入“O”类及其映射词表“其他”,并随机抽取负样本进行训练,将预测为“其他”的实体跨度全部剔除,减少跨度识别模块中识别错误带来的误差累计;使用交叉熵计算损失并对模型参数进行优化更新,如公式(14)所示:
(14);
其中,表示跨度分类模块的整体损失,/>表示输入为句子文本/>及实体跨度/>时,预训练语言模型预测为真实标签实体类别y的概率,m表示句子文本X中实体跨度的数量;
模型预测:将跨度识别模块预测的实体跨度与其对应的句子文本X填入自然语言模板,通过预训练语言模型预测得到[MASK] 字符上的词汇表概率,通过标签词映射,为实体跨度/>分配对应的实体类别,如果通过标签词映射为“O”类别,则将实体跨度/>从结果中剔除。
2.根据权利要求1所述的一种基于提示学习的两阶段命名实体识别方法,其特征在于:步骤S2中定义两阶段命名实体识别任务形式化,具体为:
给定一个句子文本,/>表示句子文本中第i个字符,n表示句子文本中字符个数,将句子文本输入到跨度识别模块,得到实体跨度集/>;/>表示实体跨度集中第i个跨度,t表示实体跨度集中跨度的数量,句子文本中的跨度/>,表示句子文本中第j个字符;
给定一个实体类别集,/>表示实体类别集中的第i个实体类别,N表示实体类别集中的实体类别的个数,跨度分类为每个实体跨度/>分配一个实体类别/>。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311499946.2A CN117236335B (zh) | 2023-11-13 | 2023-11-13 | 基于提示学习的两阶段命名实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311499946.2A CN117236335B (zh) | 2023-11-13 | 2023-11-13 | 基于提示学习的两阶段命名实体识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117236335A CN117236335A (zh) | 2023-12-15 |
CN117236335B true CN117236335B (zh) | 2024-01-30 |
Family
ID=89098666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311499946.2A Active CN117236335B (zh) | 2023-11-13 | 2023-11-13 | 基于提示学习的两阶段命名实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117236335B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117807999B (zh) * | 2024-02-29 | 2024-05-10 | 武汉科技大学 | 基于对抗学习的域自适应命名实体识别方法 |
CN118133829B (zh) * | 2024-04-29 | 2024-07-09 | 江西师范大学 | 小样本命名实体识别方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859164A (zh) * | 2022-09-09 | 2023-03-28 | 第三维度(河南)软件科技有限公司 | 一种基于prompt的建筑实体识别并分类方法及*** |
CN116151256A (zh) * | 2023-01-04 | 2023-05-23 | 北京工业大学 | 一种基于多任务和提示学习的小样本命名实体识别方法 |
WO2023092960A1 (zh) * | 2022-04-24 | 2023-06-01 | 之江实验室 | 一种用于法律文书的命名实体识别的标注方法和装置 |
CN116245105A (zh) * | 2023-01-05 | 2023-06-09 | 广西中烟工业有限责任公司 | 一种基于空间映射的小样本烟草命名实体识别方法 |
CN116304020A (zh) * | 2023-01-30 | 2023-06-23 | 上海工程技术大学 | 一种基于义原分析和跨度特征的工业文本实体抽取方法 |
CN116644755A (zh) * | 2023-07-27 | 2023-08-25 | 中国科学技术大学 | 基于多任务学习的少样本命名实体识别方法、装置及介质 |
CN116882402A (zh) * | 2023-05-24 | 2023-10-13 | 广西电网有限责任公司 | 基于多任务的电力营销小样本命名实体识别方法 |
WO2023211525A1 (en) * | 2022-04-24 | 2023-11-02 | Microsoft Technology Licensing, Llc | Establishing a language model adapted to a cross-lingual sequence labeling task |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11775763B2 (en) * | 2021-02-25 | 2023-10-03 | Robert Bosch Gmbh | Weakly supervised and explainable training of a machine-learning-based named-entity recognition (NER) mechanism |
-
2023
- 2023-11-13 CN CN202311499946.2A patent/CN117236335B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092960A1 (zh) * | 2022-04-24 | 2023-06-01 | 之江实验室 | 一种用于法律文书的命名实体识别的标注方法和装置 |
WO2023211525A1 (en) * | 2022-04-24 | 2023-11-02 | Microsoft Technology Licensing, Llc | Establishing a language model adapted to a cross-lingual sequence labeling task |
CN115859164A (zh) * | 2022-09-09 | 2023-03-28 | 第三维度(河南)软件科技有限公司 | 一种基于prompt的建筑实体识别并分类方法及*** |
CN116151256A (zh) * | 2023-01-04 | 2023-05-23 | 北京工业大学 | 一种基于多任务和提示学习的小样本命名实体识别方法 |
CN116245105A (zh) * | 2023-01-05 | 2023-06-09 | 广西中烟工业有限责任公司 | 一种基于空间映射的小样本烟草命名实体识别方法 |
CN116304020A (zh) * | 2023-01-30 | 2023-06-23 | 上海工程技术大学 | 一种基于义原分析和跨度特征的工业文本实体抽取方法 |
CN116882402A (zh) * | 2023-05-24 | 2023-10-13 | 广西电网有限责任公司 | 基于多任务的电力营销小样本命名实体识别方法 |
CN116644755A (zh) * | 2023-07-27 | 2023-08-25 | 中国科学技术大学 | 基于多任务学习的少样本命名实体识别方法、装置及介质 |
Non-Patent Citations (2)
Title |
---|
Full-span named entity recognition with boundary regression;Junhui Yu 等;Connection Science;第1-27页 * |
基于结构保持对抗网络的跨模态实体分辨;吕国俊;曹建军;郑奇斌;常宸;翁年凤;;南京大学学报(自然科学)(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117236335A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582789B (zh) | 基于语义单元信息的文本多标签分类方法 | |
CN110502749B (zh) | 一种基于双层注意力机制与双向gru的文本关系抽取方法 | |
CN113656570B (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN117236335B (zh) | 基于提示学习的两阶段命名实体识别方法 | |
CN109885824B (zh) | 一种层次的中文命名实体识别方法、装置及可读存储介质 | |
CN110866401A (zh) | 基于注意力机制的中文电子病历命名实体识别方法及*** | |
CN114298158A (zh) | 一种基于图文线性组合的多模态预训练方法 | |
CN111401084A (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
CN113051399B (zh) | 一种基于关系型图卷积网络的小样本细粒度实体分类方法 | |
CN112307773B (zh) | 机器阅读理解***的自定义问题数据自动生成方法 | |
CN115658954B (zh) | 一种基于提示学习的跨模态检索对抗防御方法 | |
CN112364125B (zh) | 一种联合阅读课程学习机制的文本信息抽取***及方法 | |
CN111241820A (zh) | 不良用语识别方法、装置、电子装置及存储介质 | |
CN114239574A (zh) | 一种基于实体和关系联合学习的矿工违规行为知识抽取方法 | |
CN111597815A (zh) | 一种多嵌入命名实体识别方法、装置、设备及存储介质 | |
CN114580424A (zh) | 一种用于法律文书的命名实体识别的标注方法和装置 | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配***及方法 | |
CN112148879B (zh) | 一种自动给代码打数据结构标签的计算机可读存储介质 | |
CN116306653A (zh) | 一种正则化领域知识辅助的命名实体识别方法 | |
CN110377753A (zh) | 基于关系触发词与gru模型的关系抽取方法及装置 | |
CN115587595A (zh) | 一种用于病理文本命名的多粒度实体识别方法 | |
CN116186241A (zh) | 基于语义学分析与提示学习的事件要素抽取方法、装置、电子设备及存储介质 | |
CN115525777A (zh) | 一种基于自然语言问答的知识图谱三元组显著性评估方法 | |
CN115422945A (zh) | 一种融合情感挖掘的谣言检测方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |