CN117114004B - 一种基于门控纠偏的少样本两阶段命名实体识别方法 - Google Patents
一种基于门控纠偏的少样本两阶段命名实体识别方法 Download PDFInfo
- Publication number
- CN117114004B CN117114004B CN202311386316.4A CN202311386316A CN117114004B CN 117114004 B CN117114004 B CN 117114004B CN 202311386316 A CN202311386316 A CN 202311386316A CN 117114004 B CN117114004 B CN 117114004B
- Authority
- CN
- China
- Prior art keywords
- entity
- span
- representing
- prototype
- label
- 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 80
- 238000012937 correction Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 66
- 238000013145 classification model Methods 0.000 claims abstract description 29
- 239000013598 vector Substances 0.000 claims description 72
- 238000012549 training Methods 0.000 claims description 53
- 238000012360 testing method Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 24
- 238000012935 Averaging Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 6
- 238000013100 final test Methods 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于门控纠偏的少样本两阶段命名实体识别方法,该方法包括如下步骤:首先将标签提示与输入文本进行拼接,输入跨度检测模型后获取所有可能的实体跨度,接下来将所有实体跨度输入跨度分类模型,跨度分类模型通过门控模块利用标签提示和原始原型共同生成类别原型,对实体跨度进行分类,本发明通过标签提示缓解了两阶段命名实体识别任务中假阳性的问题,并且利用门控模块显式的获取标签提示和原始原型中的有效信息,使类别原型能够更加完整的表示实体类别。
Description
技术领域
本发明涉及自然语言处理技术领域,具体为一种基于门控纠偏的少样本两阶段命名实体识别方法。
背景技术
命名实体识别常常用于问答、信息检索和其它语言理解类应用中,目的是识别文本中的实体跨度,并将其分类为预定义的类别,例如人名、地区、组织、时间等;命名实体识别是自然语言处理中的一项基本任务;近年来,深度学习在命名实体识别方面取得了显著的成功,尤其是在使用自监督方式训练的预训练语言模型方面,当有足够的标注数据时,基于深度学习的方法可以获得令人印象深刻的性能;在实际应用中,需要在新的领域中识别训练时未曾出现过的实体类别;然而,为这些新的实体类别收集额外的标注数据需要耗费大量的时间和人力,这将带来高昂的成本;因此,旨在基于少数标记数据识别实体的少样本命名实体识别引起了研究界的极大关注;目前研究者们已经提出了许多方法来解决少样本命名实体识别问题,其中一种流行的算法是原型网络,它基于元学习框架和度量学习;其首先在包含大量通用领域标注数据的数据集中训练,通过学习让模型泛化至新的领域中,在新的领域内测试时,根据每个类别少数的标注数据,为每个类别生成原型,然后通过计算每个查询实例与原型的距离为其分配对应类别。
然而,近些年基于原型网络的算法主要都是端到端的方法,这些方法需要同时学***均每个类别中仅仅给定的少数标注数据来获得类别原型,这使得原型难以充分表示特定的类别,尽管有些研究者提出结合外部信息来优化原型的表示,但这些方法都是隐式的结合外部信息,通过对比学习、注意力机制来约束原型表示的学习;这种不充分且弱的隐式约束在处理异常样本时的效果是有限的。
发明内容
针对现有技术的不足,本发明提供了一种基于门控纠偏的少样本两阶段命名实体识别方法,解决了上述背景技术中所提到的问题。
为实现上述目的,本发明提供如下技术方案:一种基于门控纠偏的少样本两阶段命名实体识别方法,包括如下步骤:
步骤S1:获取公开的少样本命名实体识别数据集,并根据少样本命名实体识别数据集的实体类别构建标签信息;其中少样本命名实体识别数据集分为训练集和测试集,所述训练集和测试集均由支持集和查询集组成,支持集和查询集均由句子文本和标注好的真实标签组成;
步骤S2:定义基于门控纠偏的少样本两阶段命名实体识别任务形式化;构建命名实体识别模型,所述命名实体识别模型包括跨度检测模型和跨度分类模型,所述跨度检测模型由特征编码器和线性分类层并呈串行结构;所述跨度分类模型由特征编码器和门控模块并呈串行结构;所述门控模块由标签门控和原型门控组成;
步骤S3:将步骤S1中构建好的标签信息拼接至步骤S1的训练集中的支持集句子文本后,将拼接后的句子文本输入到跨度检测模型的特征编码器中,获取拼接后的句子文本中所有字符的嵌入特征向量;
步骤S4:将步骤S3中获得的嵌入特征向量输入跨度检测模型的线性分类层中,使用序列标注的方式根据获得的嵌入特征向量预测所有的实体跨度,再通过交叉熵损失函数计算跨度检测损失Ld,通过计算得到的跨度检测损失Ld优化更新跨度检测模型的参数;
步骤S5:将步骤S3中拼接后的训练集中的支持集句子文本输入到跨度分类模型中的特征编码器中,获取该句子文本中实体跨度以及拼接在句子文本后的标签信息的嵌入特征向量;
步骤S6:将步骤S5中属于同一实体类别的实体跨度的嵌入特征向量进行平均得到表示该实体类别的原始原型,然后将原始原型及训练集中支持集句子文本后的标签信息的嵌入特征向量输入跨度分类模型中的门控模块,对原始原型进行纠偏,得到纠偏后的类别原型;
步骤S7:对训练集中的查询集实体跨度的嵌入特征向量与步骤S6中获得的纠偏后的类别原型计算距离,根据计算距离为查询集中实体跨度分配对应的实体类别,并通过交叉熵计算跨度分类损失LT,优化更新跨度分类模型的参数;
步骤S8:将测试集中的查询集拼接标签信息后输入跨度检测模型,预测得到所有实体跨度嵌入特征向量;
步骤S9:将拼接了标签信息的测试集中查询集输入到跨度分类模型中的特征编码器中,获取该查询集句子文本中跨度检测模型预测的实体跨度和拼接在句子文本后的标签信息的嵌入特征向量;将测试集中的支持集通过步骤S6的方法得到的所有原始原型与得到的所有标签信息的嵌入特征向量输入跨度分类模型中的门控模块,得到经过纠偏后的类别原型;将跨度检测模型预测的实体跨度与各个类别原型计算距离,将与其距离最近的类别原型所对应的实体类别分配给该实体跨度,得到最终查询集中的命名实体集合。
进一步的,步骤S1的具体过程包括:将构建的标签信息转换为对应的自然语言字符集;所述少样本命名实体识别数据集的支持集表示用于训练的已标注的少数数据,查询集表示需要进行预测的数据。
进一步的,所述步骤S2中定义基于门控纠偏的少样本两阶段命名实体识别任务形式化的具体过程为:
步骤S2.1:定义一个用于训练模型的训练集εtrain={Strain,Qtrain},Strain表示训练集中的支持集,支持集中包含N个实体类别,每个实体类别中有K个样本;Qtrain表示训练集中的查询集,查询集与支持集中的实体类别一致,支持集与查询集均由若干个句子文本构成,n是字符的个数,xi表示句子文本中第i个字符;
步骤S2.2:在预测阶段,定义一个来源于新领域的测试集εnew={Snew,Qnew},Snew表示测试集中的支持集,Qnew表示测试集中的查询集;使用在训练集εtrnin上训练的模型,利用测试集中的支持集Snew对测试集中的查询集Qnew进行预测;
步骤S2.3:使用跨度检测模型,定义跨度边界预测标签集合LabelD={B,I,O},跨度检测模型对输入句子文本中每一个字符分配一个标签,根据标签获得实体跨度集其中,B表示多字符跨度的开始,I表示多字符跨度的中部,O为非实体跨度,Si表示实体跨度集中第i个实体跨度,S表示句子文本中的实体跨度,S=x[i,j]=[xi,…,xj](1≤i≤j≤n);
步骤S2.4:使用跨度分类模型,定义实体类别标签集ci表示实体类别;跨度分类模型为跨度检测模型输出的实体跨度集中的每个实体跨度分配一个实体类别ci。
进一步的,步骤S3包括:对句子文本X对应的实体类别标签集转化为对应的自然语言字符集V={v1,v2,…,vN}拼接至该句子文本X后面,得到拼接后的句子文本X′={x1,x2,…,xn,v1,v2,…,vN};跨度检测模型中的特征编码器由预训练好的预训练语言模型BERT构成,将拼接后的句子文本X′输入到预训练语言模型BERT中,获取对应的嵌入特征向量H={h1,h2,…,hn,T1,T2…,TN},具体计算步骤如下式所示:
H=[h1,…,hn,T1,…,TN]
=BERT([x1,…,xn,v1,…,vN]);
式中,x1表示句子文本中第1个字符,xn表示句子文本中第n个字符,h1表示字符x1经过预训练语言模型BERT得到的嵌入特征向量,hn表示字符xn经过预训练语言模型BERT得到的嵌入特征向量;v1表示拼接在句子文本后的第1个自然语言字符,vN表示拼接在句子文本后的第N个自然语言字符,T1表示自然语言字符v1经过预训练语言模型BERT得到的嵌入特征向量,TN表示自然语言字符vN经过预训练语言模型BERT得到的嵌入特征向量。
进一步的,所述步骤S4中计算跨度检测损失的具体过程为:
步骤S4.1:将步骤S3中获得的所有字符的嵌入特征向量,输入至跨度检测模型的线性分类层来计算字符xi的标签集合LabelD的概率分布,具体计算步骤如下式所示:
p(xi)=softmax(Whi+b);
式中,p(xi)表示字符xi属于标签集合LabelD中标签的概率;softmax表示归一化函数;W表示线性分类层的权重矩阵,b表示线性分类层的偏置项,hi表示第i个字符嵌入特征向量;
步骤S4.2:将预测的概率分布p(xi)和字符xi的真实标签yi∈LabelD输入到交叉熵损失函数,计算出跨度检测损失Ld,具体计算步骤如下式所示:
式中,Ld表示跨度检测损失;yi表示字符xi的真实标签。
进一步的,所述步骤S6的具体过程为:
步骤S6.1:通过平均步骤S5中获得的实体跨度内所有字符嵌入特征向量来计算实体跨度的表示,具体计算步骤如下式所示:
式中,S[i,j]表示实体跨度S=x[i,j]的表示,x[i,j]表示字符xi到xj的集合;hk表示句子文本中第k个字符嵌入特征向量;
步骤S6.2:定义属于实体类别ci的实体跨度集,通过平均实体跨度集中的所有实体跨度的表示来计算实体类别ci的原始原型具体计算步骤如下式所示:
式中,表示实体类别ci的原始原型;|S′i|表示属于实体类别ci的所有实体跨度的个数;
步骤S6.3:将实体类别ci的原始原型和实体类别ci的标签嵌入特征向量Ti通过标签门控来确定标签信息的保留和替换,具体计算步骤如下式所示:
式中,Ti表示实体类别ci对应自然语言字符vi的嵌入特征向量;表示实体类别ci的原始原型;Wr表示标签门控的权重矩阵;br表示标签门控的偏置项;σ表示归一化函数;ri表示标签信息需要保留的权重;/>表示标签信息需要保留的信息;/>表示标签信息需要替代的信息;
步骤S6.4:将需要替代的标签信息和原始原型/>输入原型门控来控制原始原型的信息,具体计算步骤如下式所示:
式中,Wt表示原型门控的权重矩阵,bt表示原型门控的偏置项;σ表示归一化函数;ti表示原始原型需要保留信息的权重;表示原始原型需要保留的信息;
步骤S6.5:通过将原始原型和标签信息需要保留的信息相加得到纠偏后的类别原型,具体计算步骤如下式所示:
式中,表示实体类别ci经过纠偏后的类别原型。
进一步的,所述步骤S7的具体过程为:
步骤S7.1:通过计算实体跨度S∈Qtrain与实体类别ci经过纠偏后的类别原型的距离获得实体跨度集属于实体类别ci的概率,具体计算步骤如下式所示:
式中,p(ci;S)表示实体跨度属于实体类别ci的概率,d表示距离函数,表示除实体类别ci外任意属于实体类别标签集C的类别原型;
步骤S7.2:将实体跨度属于实体类别ci的概率p(ci;S)和其真实标签yi输入到交叉熵损失函数中,计算出跨度分类损失LT,具体计算步骤如下式所示:
式中,LT表示跨度分类损失;Strain表示训练集中的支持集。
进一步的,所述步骤S8的具体过程为:
步骤S8.1:获取测试集中的查询集Qnew中拼接标签信息的句子文本的嵌入特征向量,并输入至跨度检测模型的线性分类层中;
步骤S8.2:跨度检测模型的线性分类层为输入的句子文本的每个字符预测对应的跨度边界预测标签集合LabelD={B,I,O}并对其进行解码;跨度检测模型按照预设的规则对跨度边界预测标签集合LabelD={B,I,O}进行解码获得实体跨度。
进一步的,所述获得实体跨度的具体过程为:
步骤S8.21:实体跨度解码顺序按照句子文本从左到右逐字解码;
步骤S8.22:当识别到跨度边界预测标签集合中的“B”时,继续向右识别,如识别到跨度边界预测标签集合中的“O”或“B”,即“B”到“I”对应的句子文本就对应一个完整的实体跨度;
步骤S8.23:跨度边界预测标签集合中的“O”标志表示非实体跨度,为无效标注,解码过程中跳过。
进一步的,所述步骤S9中得到最终测试集的查询集中的命名实体集合,其具体过程为:
步骤S9.1:获取测试集中的查询集Qnew中拼接了标签信息的句子文本的嵌入特征向量,将测试集中的支持集Snew按照步骤S6的方法计算得到类别原型
步骤S9.2:将测试集中的查询集Qnew中属于步骤S8获取到的实体跨度集中的实体跨度的嵌入特征向量与类别原型计算距离并获得实体类别的概率p(ci;S),通过取概率最高的实体类别ci为实体跨度集中的实体跨度分配对应的标签,具体计算步骤如下式所示:
式中,表示实体跨度最终预测的实体类别,argmax表示取最大值函数。
与现有的技术相比,本发明具备以下有益效果:
(1)、本发明将命名实体识别任务分解为跨度检测任务和跨度分类任务,在每一阶段,每个模型仅执行一种任务,减少了任务复杂度,使模型在少样本场景下更易学习,以提升模型在少样本场景下的性能。
(2)、本发明在跨度检测阶段为句子文本加入了标签信息,以减少模型预测出非新领域下的实体,减少了假阳性的问题。
(3)、本发明在跨度分类阶段引入了门控模块,显式的利用标签信息对原始原型进行纠偏,使原型即包含标签信息的全局信息,也包含原始原型的局部信息,加强了原型对实体类别的完整表示,以提升模型分类的准确率。
附图说明
图1为本发明的命名实体识别模型的结构流程图;
图2为本发明的命名实体识别模型中门控模块的结构流程图;
具体实施方式
请参阅图1-图2,本发明提供技术方案:一种基于门控纠偏的少样本两阶段命名实体识别方法,包括如下步骤:
步骤S1:获取公开的少样本命名实体识别数据集,并根据少样本命名实体识别数据集的实体类别构建标签信息;其中少样本命名实体识别数据集分为训练集和测试集,所述训练集和测试集均由支持集和查询集组成,支持集和查询集均由句子文本和标注好的真实标签组成;
少样本命名实体识别数据集的支持集表示用于训练的已标注的少数数据,查询集表示需要进行预测的数据;将构建的标签信息转换为对应的自然语言字符集,例如:标签集C={PER,LOC,ORG},转换为自然语言字符集V={人类,地区,组织};
步骤S2:定义基于门控纠偏的少样本两阶段命名实体识别任务形式化;构建命名实体识别模型,所述命名实体识别模型包括跨度检测模型和跨度分类模型,所述跨度检测模型由特征编码器和线性分类层并呈串行结构;所述跨度分类模型由特征编码器和门控模块并呈串行结构;所述门控模块由标签门控和原型门控组成;
步骤S2.1:定义一个用于训练模型的训练集εtrain={Strain,Qtrain},Strain表示训练集中的支持集,支持集中包含N个实体类别,每个实体类别中有K个样本;Qtrain表示训练集中的查询集,查询集与支持集中的实体类别一致,支持集与查询集均由若干个句子文本构成,n是字符的个数,xi表示句子文本中第i个字符;
步骤S2.2:在预测阶段,定义一个来源于新领域的测试集εnew={Snew,Qnew},Snew表示测试集中的支持集,Qnew表示测试集中的查询集;使用在训练集εtrain上训练的模型,利用测试集中的支持集Snew对测试集中的查询集Qnew进行预测;
步骤S2.3:使用跨度检测模型,定义跨度边界预测标签集合LabelD={B,I,O},跨度检测模型对输入句子文本中每一个字符分配一个标签,根据标签获得实体跨度集其中,B表示多字符跨度的开始,I表示多字符跨度的中部,O为非实体跨度,Si表示实体跨度集中第i个实体跨度,S表示句子文本中的实体跨度,S=x[i,j]=[xi,…,xj](1≤i≤j≤n);
步骤S2.4:使用跨度分类模型,定义实体类别标签集ci表示实体类别;跨度分类模型为跨度检测模型输出的实体跨度集中的每个实体跨度分配一个实体类别ci;
步骤S3:将步骤S1中构建好的标签信息拼接至步骤S1的训练集中的支持集句子文本后,将拼接后的句子文本输入到跨度检测模型的特征编码器中,获取拼接后的句子文本中所有字符的嵌入特征向量;
对句子文本X对应的实体类别标签集转化为对应的自然语言字符集V={v1,v2,…,vN}拼接至该句子文本X后面,得到拼接后的句子文本X′={x1,x2,…,xn,v1,v2,…,vN};跨度检测模型中的特征编码器由预训练好的预训练语言模型BERT构成,将拼接后的句子文本X′输入到预训练语言模型BERT中,获取对应的嵌入特征向量H={h1,h2,…,hn,T1,T2…,TN},具体计算步骤如下式所示:
H=[h1,…,hn,T1,…,TN]
=BERT([x1,…,xn,v1,…,vN]);
式中,x1表示句子文本中第1个字符,xn表示句子文本中第n个字符,h1表示字符x1经过预训练语言模型BERT得到的嵌入特征向量,hn表示字符xn经过预训练语言模型BERT得到的嵌入特征向量;v1表示拼接在句子文本后的第1个自然语言字符,vN表示拼接在句子文本后的第N个自然语言字符,T1表示自然语言字符v1经过预训练语言模型BERT得到的嵌入特征向量,TN表示自然语言字符vN经过预训练语言模型BERT得到的嵌入特征向量;
步骤S4:将步骤S3中获得的嵌入特征向量输入跨度检测模型的线性分类层中,使用序列标注的方式根据获得的嵌入特征向量预测所有的实体跨度,再通过交叉熵损失函数计算跨度检测损失Ld,通过计算得到的跨度检测损失Ld优化更新跨度检测模型的参数;
其中,计算跨度检测损失的具体过程为:
步骤S4.1:将步骤S3中获得的所有字符的嵌入特征向量,输入至跨度检测模型的线性分类层来计算字符xi的标签集合LabelD的概率分布,具体计算步骤如下式所示:
p(xi)=sofemax(Whi+b);
式中,p(xi)表示字符xi属于标签集合LabelD中标签的概率;softmax表示归一化函数;W表示线性分类层的权重矩阵,b表示线性分类层的偏置项,hi表示第i个字符嵌入特征向量;
步骤S4.2:将预测的概率分布p(xi)和字符xi的真实标签yi∈LabelD输入到交叉熵损失函数,计算出跨度检测损失Ld,具体计算步骤如下式所示:
式中,Ld表示跨度检测损失;yi表示字符xi的真实标签;
步骤S5:将步骤S3中拼接后的训练集中的支持集句子文本输入到跨度分类模型中的特征编码器中,获取该句子文本中实体跨度以及拼接在句子文本后的标签信息的嵌入特征向量;本步骤中特征编码器由预训练好的预训练语言模型BERT构成,将步骤S5中句子文本对应的标签信息对应的自然语言字符集拼接至该句子文本后面,其具体过程和步骤S3中具体过程相同,故在此不多赘述;
步骤S6:将步骤S5中属于同一实体类别的实体跨度的嵌入特征向量进行平均得到表示该实体类别的原始原型,然后将原始原型及训练集中支持集句子文本后的标签信息的嵌入特征向量输入跨度分类模型中的门控模块,对原始原型进行纠偏,得到纠偏后的类别原型,其具体步骤如下:
步骤S6.1:通过平均步骤S5中获得的实体跨度内所有字符嵌入特征向量来计算实体跨度的表示,具体计算步骤如下式所示:
式中,S[i,j]表示实体跨度S=x[i,j]的表示,x[i,j]表示字符xi到xj的集合;hk表示句子文本中第k个字符嵌入特征向量;
步骤S6.2:定义属于实体类别ci的实体跨度集,通过平均实体跨度集中的所有实体跨度的表示来计算实体类别ci的原始原型具体计算步骤如下式所示:
式中,表示实体类别ci的原始原型;|S′i|表示属于实体类别ci的所有实体跨度的个数;
步骤S6.3:将实体类别ci的原始原型和实体类别ci的标签嵌入特征向量Ti通过标签门控来获得保留多少标签信息,替换多少标签信息,具体计算步骤如下式所示
式中,Ti表示实体类别ci对应自然语言字符vi的嵌入特征向量;表示实体类别ci的原始原型;Wr表示标签门控的权重矩阵;br表示标签门控的偏置项;σ表示归一化函数;ri表示标签信息需要保留的权重;/>表示标签信息需要保留的信息;/>表示标签信息需要替代的信息;
步骤S6.4:将需要替代的标签信息和原始原型/>输入原型门控来控制需要保留多少原始原型的信息,具体计算步骤如下式所示:
式中,Wt表示原型门控的权重矩阵,bt表示原型门控的偏置项;σ表示归一化函数;ti表示原始原型需要保留信息的权重;表示原始原型需要保留的信息;
步骤S6.5:通过将原始原型和标签信息需要保留的信息相加得到纠偏后的类别原型,具体计算步骤如下式所示:
式中,表示实体类别ci经过纠偏后的类别原型;
步骤S7:对训练集中的查询集实体跨度的嵌入特征向量与步骤S6中获得的纠偏后的类别原型计算距离,根据计算距离为查询集中实体跨度分配对应的实体类别,并通过交叉熵计算跨度分类损失LT,优化更新跨度分类模型的参数:
步骤S7.1:通过计算实体跨度S∈Qtrain与实体类别ci经过纠偏后的类别原型的距离获得实体跨度集属于实体类别ci的概率,具体计算步骤如下式所示:
式中,p(ci;S)表示实体跨度属于实体类别ci的概率,d表示距离函数,表示除实体类别ci外任意属于实体类别标签集C的类别原型;
步骤S7.2:将实体跨度属于实体类别ci的概率p(ci;S)和其真实标签yi输入到交叉熵损失函数中,计算出跨度分类损失LT,具体计算步骤如下式所示:
式中,LT表示跨度分类损失;Strain表示训练集中的支持集;
步骤S8:将测试集中的查询集拼接标签信息后输入跨度检测模型,预测得到所有实体跨度嵌入特征向量,其具体步骤为:
步骤S8.1:与步骤S3类似,获取测试集中的查询集Qnew中拼接标签信息的句子文本的嵌入特征向量,并输入至跨度检测模型的线性分类层中;
步骤S8.2:跨度检测模型的线性分类层为输入的句子文本的每个字符预测对应的跨度边界预测标签集合LabelD={B,I,O}并对其进行解码;跨度检测模型按照预设的规则对跨度边界预测标签集合LabelD={B,I,O}进行解码获得实体跨度;
获得实体跨度的具体过程为:
步骤S8.21:实体跨度解码顺序按照句子文本从左到右逐字解码;
步骤S8.22:当识别到跨度边界预测标签集合中的“B”时,继续向右识别,如识别到跨度边界预测标签集合中的“O”或“B”,即“B”到“I”对应的句子文本就对应一个完整的实体跨度;
步骤S8.23:跨度边界预测标签集合中的“O”标志表示非实体跨度,为无效标注,解码过程中跳过;
步骤S9:将拼接了标签信息的测试集中查询集输入到跨度分类模型中的特征编码器中,获取该查询集句子文本中跨度检测模型预测的实体跨度和拼接在句子文本后的标签信息的嵌入特征向量;将测试集中的支持集通过步骤S6的方法得到的所有原始原型与得到的所有标签信息的嵌入特征向量输入跨度分类模型中的门控模块,得到经过纠偏后的类别原型;将跨度检测模型预测的实体跨度与各个类别原型计算距离,将与其距离最近的类别原型所对应的实体类别分配给该实体跨度,得到最终查询集中的命名实体集合;
所述得到最终查询集中的命名实体集合,其具体过程为:
步骤S9.1:与步骤S5类似,获取测试集中的查询集Qnew中拼接了标签信息的句子文本的嵌入特征向量,将测试集中的支持集Snew按照步骤S6的方法计算得到类别原型
步骤S9.2:将测试集中的查询集Qnew中属于步骤S8获取到的实体跨度集中的实体跨度的嵌入特征向量与类别原型计算距离并获得实体类别的概率p(ci;S),通过取概率最高的实体类别ci为实体跨度集中的实体跨度分配对应的标签,具体计算步骤如下式所示:
式中,表示实体跨度最终预测的实体类别,argmax表示取最大值函数。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,包括如下步骤:
步骤S1:获取公开的少样本命名实体识别数据集,并根据少样本命名实体识别数据集的实体类别构建标签信息;其中少样本命名实体识别数据集分为训练集和测试集,所述训练集和测试集均由支持集和查询集组成,支持集和查询集均由句子文本和标注好的真实标签组成;
步骤S2:定义基于门控纠偏的少样本两阶段命名实体识别任务形式化;构建命名实体识别模型,所述命名实体识别模型包括跨度检测模型和跨度分类模型,所述跨度检测模型由特征编码器和线性分类层并呈串行结构;所述跨度分类模型由特征编码器和门控模块并呈串行结构;所述门控模块由标签门控和原型门控组成;
步骤S3:将步骤S1中构建好的标签信息拼接至步骤S1的训练集中的支持集句子文本后,将拼接后的句子文本输入到跨度检测模型的特征编码器中,获取拼接后的句子文本中所有字符的嵌入特征向量;
步骤S4:将步骤S3中获得的嵌入特征向量输入跨度检测模型的线性分类层中,使用序列标注的方式根据获得的嵌入特征向量预测所有的实体跨度,再通过交叉熵损失函数计算跨度检测损失Ld,通过计算得到的跨度检测损失Ld优化更新跨度检测模型的参数;
步骤S5:将步骤S3中拼接后的训练集中的支持集句子文本输入到跨度分类模型中的特征编码器中,获取该句子文本中实体跨度以及拼接在句子文本后的标签信息的嵌入特征向量;
步骤S6:将步骤S5中属于同一实体类别的实体跨度的嵌入特征向量进行平均得到表示该实体类别的原始原型,然后将原始原型及训练集中支持集句子文本后的标签信息的嵌入特征向量输入跨度分类模型中的门控模块,对原始原型进行纠偏,得到纠偏后的类别原型;
步骤S7:对训练集中的查询集实体跨度的嵌入特征向量与步骤S6中获得的纠偏后的类别原型计算距离,根据计算距离为查询集中实体跨度分配对应的实体类别,并通过交叉熵计算跨度分类损失LT,优化更新跨度分类模型的参数;
步骤S8:将测试集中的查询集拼接标签信息后输入跨度检测模型,预测得到所有实体跨度嵌入特征向量;
步骤S9:将拼接了标签信息的测试集中查询集输入到跨度分类模型中的特征编码器中,获取该查询集句子文本中跨度检测模型预测的实体跨度和拼接在句子文本后的标签信息的嵌入特征向量;将测试集中的支持集通过步骤S6的方法得到的所有原始原型与得到的所有标签信息的嵌入特征向量输入跨度分类模型中的门控模块,得到经过纠偏后的类别原型;将跨度检测模型预测的实体跨度与各个类别原型计算距离,将与其距离最近的类别原型所对应的实体类别分配给该实体跨度,得到最终查询集中的命名实体集合。
2.根据权利要求1所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,步骤S1的具体过程包括:将构建的标签信息转换为对应的自然语言字符集;所述少样本命名实体识别数据集的支持集表示用于训练的已标注的少数数据,查询集表示需要进行预测的数据。
3.根据权利要求2所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S2中定义基于门控纠偏的少样本两阶段命名实体识别任务形式化的具体过程为:
步骤S2.1:定义一个用于训练模型的训练集εtrain={Strain,Qtrain},Strain表示训练集中的支持集,支持集中包含N个实体类别,每个实体类别中有K个样本;Qtrain表示训练集中的查询集,查询集与支持集中的实体类别一致,支持集与查询集均由若干个句子文本构成,n是字符的个数,xi表示句子文本中第i个字符;
步骤S2.2:在预测阶段,定义一个来源于新领域的测试集εnew={Snew,Qnew},Snew表示测试集中的支持集,Qnew表示测试集中的查询集;使用在训练集εtrnin上训练的模型,利用测试集中的支持集Snew对测试集中的查询集Qnew进行预测;
步骤S2.3:使用跨度检测模型,定义跨度边界预测标签集合LabelD={B,I,O},跨度检测模型对输入句子文本中每一个字符分配一个标签,根据标签获得实体跨度集其中,B表示多字符跨度的开始,I表示多字符跨度的中部,O为非实体跨度,Si表示实体跨度集中第i个实体跨度,S表示句子文本中的实体跨度,S=x[i,j]=[xi,…,xj](1≤i≤j≤n);
步骤S2.4:使用跨度分类模型,定义实体类别标签集ci表示实体类别;跨度分类模型为跨度检测模型输出的实体跨度集中的每个实体跨度分配一个实体类别ci。
4.根据权利要求3所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,步骤S3包括:对句子文本X对应的实体类别标签集转化为对应的自然语言字符集V={u1,v2,…,vN}拼接至该句子文本X后面,得到拼接后的句子文本X′={x1,x2,…,xn,v1,v2,…,vN};跨度检测模型中的特征编码器由预训练好的预训练语言模型BERT构成,将拼接后的句子文本X′输入到预训练语言模型BERT中,获取对应的嵌入特征向量H={h1,h2,…,hn,T1,T2…,TN},具体计算步骤如下式所示:
H=[h1,…,hn,T1,…,TN]
=BERT([x1,…,xn,v1,…,vN]);
式中,x1表示句子文本中第1个字符,xn表示句子文本中第n个字符,h1表示字符x1经过预训练语言模型BERT得到的嵌入特征向量,hn表示字符xn经过预训练语言模型BERT得到的嵌入特征向量;v1表示拼接在句子文本后的第1个自然语言字符,vN表示拼接在句子文本后的第N个自然语言字符,T1表示自然语言字符v1经过预训练语言模型BERT得到的嵌入特征向量,TN表示自然语言字符vN经过预训练语言模型BERT得到的嵌入特征向量。
5.根据权利要求4所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S4中计算跨度检测损失的具体过程为:
步骤S4.1:将步骤S3中获得的所有字符的嵌入特征向量,输入至跨度检测模型的线性分类层来计算字符xi的标签集合LabelD的概率分布,具体计算步骤如下式所示:
p(xi)=softmax(Whi+b);
式中,p(xi)表示字符xi属于标签集合LabelD中标签的概率;softmax表示归一化函数;W表示线性分类层的权重矩阵,b表示线性分类层的偏置项,hi表示第i个字符嵌入特征向量;
步骤S4.2:将预测的概率分布p(xi)和字符xi的真实标签yi∈LabelD输入到交叉熵损失函数,计算出跨度检测损失Ld,具体计算步骤如下式所示:
式中,Ld表示跨度检测损失;yi表示字符xi的真实标签。
6.根据权利要求5所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S6的具体过程为:
步骤S6.1:通过平均步骤S5中获得的实体跨度内所有字符嵌入特征向量来计算实体跨度的表示,具体计算步骤如下式所示:
式中,S[i,j]表示实体跨度S=x[i,j]的表示,x[i,j]表示字符xi到xj的集合;hk表示句子文本中第k个字符嵌入特征向量;
步骤S6.2:定义属于实体类别ci的实体跨度集,通过平均实体跨度集中的所有实体跨度的表示来计算实体类别ci的原始原型具体计算步骤如下式所示:
式中,表示实体类别ci的原始原型;|S′i|表示属于实体类别ci的所有实体跨度的个数;
步骤S6.3:将实体类别ci的原始原型和实体类别ci的标签嵌入特征向量Ti通过标签门控来确定标签信息的保留和替换,具体计算步骤如下式所示:
式中,Ti表示实体类别ci对应自然语言字符vi的嵌入特征向量;表示实体类别ci的原始原型;Wr表示标签门控的权重矩阵;br表示标签门控的偏置项;σ表示归一化函数;ri表示标签信息需要保留的权重;/>表示标签信息需要保留的信息;/>表示标签信息需要替代的信息;
步骤S6.4:将需要替代的标签信息和原始原型/>输入原型门控来控制原始原型的信息,具体计算步骤如下式所示:
式中,Wt表示原型门控的权重矩阵,bt表示原型门控的偏置项;σ表示归一化函数;ti表示原始原型需要保留信息的权重;表示原始原型需要保留的信息;
步骤S6.5:通过将原始原型和标签信息需要保留的信息相加得到纠偏后的类别原型,具体计算步骤如下式所示:
式中,表示实体类别ci经过纠偏后的类别原型。
7.根据权利要求6所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S7的具体过程为:
步骤S7.1:通过计算实体跨度S∈Qtrain与实体类别ci经过纠偏后的类别原型的距离获得实体跨度集属于实体类别ci的概率,具体计算步骤如下式所示:
式中,p(ci;S)表示实体跨度属于实体类别ci的概率,d表示距离函数,表示除实体类别ci外任意属于实体类别标签集C的类别原型;
步骤S7.2:将实体跨度属于实体类别ci的概率p(ci;S)和其真实标签yi输入到交叉熵损失函数中,计算出跨度分类损失LT,具体计算步骤如下式所示:
式中,LT表示跨度分类损失;Strain表示训练集中的支持集。
8.根据权利要求7所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S8的具体过程为:
步骤S8.1:获取测试集中的查询集Qnew中拼接标签信息的句子文本的嵌入特征向量,并输入至跨度检测模型的线性分类层中;
步骤S8.2:跨度检测模型的线性分类层为输入的句子文本的每个字符预测对应的跨度边界预测标签集合LabelD={B,I,O}并对其进行解码;跨度检测模型按照预设的规则对跨度边界预测标签集合LabelD={B,I,O}进行解码获得实体跨度。
9.根据权利要求8所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述获得实体跨度的具体过程为:
步骤S8.21:实体跨度解码顺序按照句子文本从左到右逐字解码;
步骤S8.22:当识别到跨度边界预测标签集合中的“B”时,继续向右识别,识别到跨度边界预测标签集合中的“O”或“B”,即“B”到“I”对应的句子文本就对应一个完整的实体跨度;
步骤S8.23:跨度边界预测标签集合中的“O”标志表示非实体跨度,为无效标注,解码过程中跳过。
10.根据权利要求9所述的一种基于门控纠偏的少样本两阶段命名实体识别方法,其特征在于,所述步骤S9中得到最终测试集的查询集中的命名实体集合,其具体过程为:
步骤S9.1:获取测试集中的查询集Qnew中拼接了标签信息的句子文本的嵌入特征向量,将测试集中的支持集Snew按照步骤S6的方法计算得到类别原型
步骤S9.2:将测试集中的查询集Qnew中属于步骤S8获取到的实体跨度集中的实体跨度的嵌入特征向量与类别原型计算距离并获得实体类别的概率p(ci;S),通过取概率最高的实体类别ci为实体跨度集中的实体跨度分配对应的标签,具体计算步骤如下式所示:
式中,表示实体跨度最终预测的实体类别,argmax表示取最大值函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311386316.4A CN117114004B (zh) | 2023-10-25 | 2023-10-25 | 一种基于门控纠偏的少样本两阶段命名实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311386316.4A CN117114004B (zh) | 2023-10-25 | 2023-10-25 | 一种基于门控纠偏的少样本两阶段命名实体识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117114004A CN117114004A (zh) | 2023-11-24 |
CN117114004B true CN117114004B (zh) | 2024-01-16 |
Family
ID=88809641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311386316.4A Active CN117114004B (zh) | 2023-10-25 | 2023-10-25 | 一种基于门控纠偏的少样本两阶段命名实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117114004B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347785A (zh) * | 2020-11-18 | 2021-02-09 | 湖南国发控股有限公司 | 一种基于多任务学习的嵌套实体识别*** |
CN112541355A (zh) * | 2020-12-11 | 2021-03-23 | 华南理工大学 | 一种实体边界类别解耦的少样本命名实体识别方法与*** |
WO2021068329A1 (zh) * | 2019-10-10 | 2021-04-15 | 平安科技(深圳)有限公司 | 中文命名实体识别方法、装置及计算机可读存储介质 |
CN114676700A (zh) * | 2022-03-18 | 2022-06-28 | 中国人民解放军国防科技大学 | 基于混合多原型的小样本命名实体识别方法 |
CN116151256A (zh) * | 2023-01-04 | 2023-05-23 | 北京工业大学 | 一种基于多任务和提示学习的小样本命名实体识别方法 |
CN116644755A (zh) * | 2023-07-27 | 2023-08-25 | 中国科学技术大学 | 基于多任务学习的少样本命名实体识别方法、装置及介质 |
WO2023178802A1 (zh) * | 2022-03-22 | 2023-09-28 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备和计算机可读存储介质 |
-
2023
- 2023-10-25 CN CN202311386316.4A patent/CN117114004B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021068329A1 (zh) * | 2019-10-10 | 2021-04-15 | 平安科技(深圳)有限公司 | 中文命名实体识别方法、装置及计算机可读存储介质 |
CN112347785A (zh) * | 2020-11-18 | 2021-02-09 | 湖南国发控股有限公司 | 一种基于多任务学习的嵌套实体识别*** |
CN112541355A (zh) * | 2020-12-11 | 2021-03-23 | 华南理工大学 | 一种实体边界类别解耦的少样本命名实体识别方法与*** |
CN114676700A (zh) * | 2022-03-18 | 2022-06-28 | 中国人民解放军国防科技大学 | 基于混合多原型的小样本命名实体识别方法 |
WO2023178802A1 (zh) * | 2022-03-22 | 2023-09-28 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备和计算机可读存储介质 |
CN116151256A (zh) * | 2023-01-04 | 2023-05-23 | 北京工业大学 | 一种基于多任务和提示学习的小样本命名实体识别方法 |
CN116644755A (zh) * | 2023-07-27 | 2023-08-25 | 中国科学技术大学 | 基于多任务学习的少样本命名实体识别方法、装置及介质 |
Non-Patent Citations (3)
Title |
---|
N. R. Gafurov ; I. A. Bessmertny ; A. V. Platonov ; E. A. Poleshchuk ; A. V. Vasiliev.Named Entity Recognition Through Bidirectional LSTM In Natural Language Texts Obtained Through Audio Interfaces.2018 IEEE 12th International Conference on Application of Information and Communication Technologies (AICT).2019,全文. * |
基于ERNIE的命名实体识别;张晓;李业刚;王栋;史树敏;;智能计算机与应用(第03期);全文 * |
基于门控CNN-CRF的中文命名实体识别;陶源;彭艳兵;;电子设计工程(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117114004A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694924B (zh) | 一种事件抽取方法和*** | |
CN112765358B (zh) | 一种基于噪声标签学习的纳税人行业分类方法 | |
CN112541355B (zh) | 一种实体边界类别解耦的少样本命名实体识别方法与*** | |
CN112733866A (zh) | 一种提高可控图像文本描述正确性的网络构建方法 | |
CN111581368A (zh) | 一种基于卷积神经网络的面向智能专家推荐的用户画像方法 | |
CN113946677B (zh) | 基于双向循环神经网络和注意力机制的事件识别分类方法 | |
CN113434688B (zh) | 用于舆情分类模型训练的数据处理方法和装置 | |
CN117236335B (zh) | 基于提示学习的两阶段命名实体识别方法 | |
CN114863091A (zh) | 一种基于伪标签的目标检测训练方法 | |
CN115292490A (zh) | 一种用于政策解读语义的分析算法 | |
CN115098673A (zh) | 基于变体注意力及层次结构的业务文书信息抽取方法 | |
CN114048314A (zh) | 一种自然语言隐写分析方法 | |
CN118013038A (zh) | 一种基于原型聚类的文本增量关系抽取方法 | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配***及方法 | |
CN117114004B (zh) | 一种基于门控纠偏的少样本两阶段命名实体识别方法 | |
CN111507103A (zh) | 一种利用部分标注集的自训练神经网络分词模型 | |
CN113886602B (zh) | 一种基于多粒度认知的领域知识库实体识别方法 | |
CN115797642A (zh) | 基于一致性正则化与半监督领域自适应图像语义分割算法 | |
CN114842301A (zh) | 一种图像注释模型的半监督训练方法 | |
CN115186670A (zh) | 一种基于主动学习的领域命名实体识别方法及*** | |
CN114510943A (zh) | 一种基于伪样本重放的增量式命名实体识别方法 | |
CN112860903B (zh) | 一种融入约束信息的远程监督关系抽取方法 | |
CN117456312B (zh) | 一种面向无监督图像检索的模拟抗污伪标签增强方法 | |
CN113297845B (zh) | 一种基于多层次双向循环神经网络的简历块分类方法 | |
CN115759105A (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 |