CN113361278B - 一种基于数据增强与主动学习的小样本命名实体识别方法 - Google Patents
一种基于数据增强与主动学习的小样本命名实体识别方法 Download PDFInfo
- Publication number
- CN113361278B CN113361278B CN202110688053.7A CN202110688053A CN113361278B CN 113361278 B CN113361278 B CN 113361278B CN 202110688053 A CN202110688053 A CN 202110688053A CN 113361278 B CN113361278 B CN 113361278B
- Authority
- CN
- China
- Prior art keywords
- data
- named entity
- module
- entity recognition
- 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
Images
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于数据增强与主动学习的小样本命名实体识别方法,目的是提升主动学习方法早期识别未标注数据的F1值,且针对多种查询策略有效。技术方案是先构建结合数据增强的主动命名实体识别系统;准备训练命名实体识别模型所需的数据集。主动学习模块、数据标注模块、数据增强模块采用多轮循环的方式对命名实体识别模块中的命名实体识别模型进行训练并对数据进行标注和增强。训练后的命名实体识别模块对测试数据池T内的文本进行命名实体识别,得到预测的标签序列。本发明实现了在早期参与训练的标注数据少时快速提高命名实体识别的效果,使得相比原来的主动学习下的命名实体识别方法,多种查询策略的F1值都有提升。
Description
技术领域
本发明涉及命名实体识别领域,特指一种基于数据增强与主动学习的小样本命名实体识别方法。
背景技术
自然语言是指中文、英语、西班牙语、法语、德语等等语言,作为人们日常使用的其他语言,它们对人类的交流有着重要作用。自然语言是随着人类社会的发展而自然产生的语言,而不是由人类所特意创造的语言。自然语言处理,就是利用计算机的计算能力对人类的自然语言的形、音、义等信息进行处理,即对字、词、句、篇章这些不同层次的信息,进行输入、输出、识别、分析、理解、生成操作,并对这些信息进行加工。进而实现人机或是机器与机器间的信息交流,是全球人工智能界、计算机科学和语言学界所共同关注的重要问题。人工智能技术的发展与硬件设备计算性能的提升,推动了自然语言处理领域文本分类、信息抽取、知识图谱等多项技术的深入研究。
命名实体识别,又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。通常包括两部分:(1)实体边界识别;(2)确定实体类别(人名、地名、机构名或其他)。命名实体识别是自然语言处理领域的一个重要分支,是知识图谱,信息抽取等多项任务的基础,因而成为热门研究的课题之一。
从早期基于词典和规则的方法,到传统机器学习的方法,到近年来基于深度学习的方法被应用于命名实体识别,命名实体识别的效果在不断提升。通常,命名实体识别的效果使用F1度量。(为了能够评价不同算法的优劣,在准确率(表示预测为正的样本中有多少是真正的正样本)和召回率(表示样本中的正例有多少被预测正确)的基础上提出了F1值的概念,来对准确率和召回率进行整体评价。F1的定义如下:F1值=正确率×召回率×2/(正确率+召回率)。)然而,在处理小样本数据时,由于参与训练的标注样本有限,很难获得有效的模型,深度学习的优势将减弱。同时,大量手工标注的样本代价昂贵。因此,如何提升小样本数据下的命名实体识别效果(即F1值增大)是一个重要研究点。
一种提升小样本数据下的命名实体识别效果的有效解决方案是主动学习,它可以通过多轮查询策略来挑选更有价值的标注数据进行训练,标注数据的数量相同时,使用主动学习后,训练得到的命名实体识别模型F1值更高。
主动学习应用于命名实体识别时的对不同数据集的普适性是一个重要研究点。现有的主动学习方法应用于命名实体识别时,针对不同的数据集提出了不同的查询策略。但查询策略不具备普适性,查询策略需要提前确定,训练过程中不能调整。如果查询策略在一种数据集上训练得到的命名实体识别模型F1值有提升,更换数据集后,可能没有提升甚至会下降。同时,主动学习依赖于多轮循环的训练,因此早期(即多轮循环初期)参与训练的标注数据通常较少,导致命名实体识别模型受标注数据限制,F1值的提升慢。
因此,如何充分利用标注数据,在早期参与训练的标注数据少时也能快速提高命名实体识别的效果,提供一种主动学习框架下的命名实体识别方法,使其对多种查询策略得到的模型F1值都有提升,是本领域技术人员正在探讨的热点问题。
发明内容
本发明要解决的技术问题是针对早期参与训练的标注数据较少,命名实体识别模型受标注数据限制,识别未标注数据的F1值低的缺陷,提供一种基于数据增强与主动学习的小样本命名实体识别方法。此方法基于现有的主动学习框架,利用数据增强,使得相比原来的主动学习框架,不管采用常用查询策略中的哪一种,命名实体识别F1值都有提升。
为解决上述技术问题,本发明技术方案是:构建结合数据增强的主动命名实体识别系统。该系统由主动学习模块、数据标注模块、数据增强模块、命名实体识别模块、测试数据池T、未标注数据池U、标注数据池L、增强数据池A构成。然后准备训练命名实体识别模型所需的数据集,数据集被分为训练、验证和测试数据集。初始情况下训练与验证数据集都存储在未标注数据池U内。测试数据集放入测试数据池T内。主动学习模块、数据标注模块、数据增强模块采用多轮循环的方式对命名实体识别模块中的命名实体识别模型进行训练并对数据进行标注和增强,在每一轮循环中:命名实体识别模块接收未标注数据池U内的文本,通过查询策略评估未标注数据的打分,将未标注数据及打分结果发送给主动学习模块。主动学习模块对命名实体识别模块中的命名实体识别模型进行训练,得到网络权重参数发送给命名实体识别模块,并将接收到的未标注数据按照其打分排序,从中选择出部分打分更高的数据发送给数据标注模块。数据标注模块对数据进行数据标注。数据增强模块对标注后的数据进行数据增强,将增强后的数据放到增强数据池A。循环结束后,训练后的命名实体识别模块对测试数据池T内的文本进行命名实体识别,得到预测的标签序列。
本发明主要包括以下具体步骤:
第一步,构建结合数据增强的主动命名实体识别系统。该系统由主动学习模块、数据标注模块、数据增强模块、命名实体识别模块、测试数据池T、未标注数据池U、标注数据池L、增强数据池A构成。其中主动学习模块、数据标注模块、数据增强模块采用多轮循环的方式对命名实体识别模块中的命名实体识别模型进行训练并对数据进行标注和增强,在每一轮循环中将命名实体识别模型参数发送给命名实体识别模块。
主动学习模块与数据标注模块、命名实体识别模块、标注数据池L、增强数据池A相连。主动学习模块从命名实体识别模块得到评估结果,评估结果包括未标注数据池U内的NN条未标注数据及未标注数据的打分。主动学习模块选择NN条未标注数据中的x发送给数据标注模块。主动学习模块使用从标注数据池L、增强数据池A得到的标注数据对命名实体识别模块进行训练,得到命名实体识别模型参数,将命名实体识别模型参数发送给命名实体识别模块,并从命名实体识别模块获取对未标注数据的打分。
数据标注模块与主动学习模块、数据增强模块和标注数据池L相连。数据标注模块将从主动学习模块接收的x进行标注,得到对应的标注数据,标注数据用二元组<x,label(x)>表示,label(x)指数据x对应的标签序列,标签序列格式为BMESO,即实体标签为BMES(四位序列标注法B表示一个词的词首位值,M表示一个词的中间位置,E表示一个词的末尾位置,S表示一个单独的字词),非实体标签为O,将标注数据<x,label(x)>发送给数据增强模块,并将<x,label(x)>存储到标注数据池L。
数据增强模块与数据标注模块、增强数据池A相连,采用数据增强方法(例如实体替换法等)对标注数据<x,label(x)>进行增强,产生带有标签的新数据<x*,label(x*)>,并将<x*,label(x*)>保存到增强数据池A内,x*是x增强后的数据,label(x*)是x*对应的标签序列。
命名实体识别模块与主动学习模块、未标注数据池U、测试数据池T相连。命名实体识别模块是一个命名实体识别模型,从主动学习模块获取命名实体识别模型参数,采用命名实体识别模型参数更新命名实体识别模型的模型参数,并将更新参数后的命名实体识别模型发送给主动学习模块。命名实体识别模型采用Lexicon-LSTM模型(见文献“Peng M,MaR,Zhang Q,et al.Simplify the usage of lexicon in Chinese NER[J].arXivpreprint arXiv:1908.05969,2019.”,Peng M,Ma R,Zhang Q等人的论文:简化词典在中文命名实体识别中的应用),此模型由表示层、序列编码层和标签推理层组成。
表示层使用预训练的词向量ctb.50d.vec及gigaword_chn.all.a2b.uni.ite50.vec(来源见网站https://github.com/jiesutd/LatticeLSTM中的“Pretrained Embeddings部分”)作为初始化的文本序列表示。词向量指的是一组用来表示单词的低纬稠密向量,能够将文本中的单词转换成向量。表示层将输入的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短,例如,针对文本序列S1,S2和S3,如果S1和S2的相似性比S1和S3高,则需要保证S1和S2对应的向量距离比S1和S3短。词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,得到最终的表示向量。序列编码层使用一个单层的模型BiLSTM(见文献“Huang Z,WeiX,Kai Y.Bidirectional LSTM-CRF Models for Sequence Tagging[J].ComputerScience,2015.”,Huang Z,Wei X,Kai Y等人的论文:用于序列标记的双向LSTM-CRF模型)对表示层得到的表示向量进行建模,得到建模后的向量序列。标签推理层使用条件随机场(见文献“Pietra S D,Pietra V D,Lafferty J.Inducing Features of Random Fields[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(4):380-393.”,Pietra S D,Pietra V D,Lafferty J.等人的论文:随机场的诱导特征)对建模后的向量序列进行命名实体识别,预测标签序列。
命名实体识别模块接收测试数据池T的未标注数据,利用命名实体识别模型中的表示层将未标注数据中的文本序列转换为表示向量,序列编码层利用已有模型得到向量序列,标签推理层对向量序列进行打分。命名实体识别模块将未标注数据及未标注数据的打分发送给主动学习模块。
且命名实体识别模块对未标注数据进行命名实体识别,预测对应的标签序列。
第二步:准备简历数据集(见文献“Zhang Y,Yang J.Chinese NER using latticeLSTM[J].arXiv preprint arXiv:1805.02023,2018.”,Zhang Y,Yang J.等人的论文:中文命名实体识别模型Lattice LSTM,见第7页表2所述的简历数据集)。简历数据集包括训练集、验证集与测试集。训练集与验证集中包含批量简历文本序列与文本对应的标签序列,属于标注数据。测试集中包含批量简历文本序列,属于未标注数据。将简历数据集中的训练集与验证集合并,将训练集与验证集中的简历文本序列作为未标注数据存储在未标注数据池U内,将简历数据集中的测试集存储在测试数据池T内。令U中未标注数据共有NN条,NN为正整数。U中的一个文本序列即为一条未标注数据,文本序列是评估未标注数据的单位。
第三步:主动学习模块初始化,将初始化得到的参数发送给命名实体识别模块,方法为:
3.1令未训练的命名实体识别模块中的命名实体识别模型为model0,主动学习模块初始化权重参数:将model0的权重参数集合中所有元素值都初始化为[0,1]之间的随机数。表示Lexicon-LSTM模型表示层的权重参数,表示Lexicon-LSTM网络模型序列编码层的权重参数,表示Lexicon-LSTM网络模型标签推理层的权重参数;
3.2令循环变量n=1,n≤N,N是多轮循环的循环次数,N为正整数,优选20≤N≤100;
第四步:命名实体识别模块的命名实体识别模型modeln-1给未标注数据池U内NN条未标注数据打分,将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块,方法为:
4.2令循环变量m=1,m≤NN,NN是U中未标注数据的条数,NN为正整数;
4.3命名实体识别模块的命名实体识别模型modeln-1使用查询策略查询U中第m条未标注数据的预测结果或概率,将预测结果或概率转换为打分结果。令m=m+1,若m≤NN,则转4.3继续查询,否则转步骤4.4。
查询策略可以选择多种,例如RAND,LC,MTE,MTP,LTP,BALD这六种常用的查询策略。其中RAND(Random)指随机选择策略,未标注数据内每个文本序列被选择的概率相同;LC(Least Confidence,见文献“Culotta A,McCallum A.Reducing labeling effort forstructured prediction tasks[C]//AAAI.2005,5:746-751.”,Culotta A等人的论文:减少结构性预测任务的标注代价。)指最小置信不确定性策略,未标注数据内每个文本序列样本按照最可能的标签序列的概率升序排序,排序在前的打分更高;MTE(Maximum TokenEntropy,见文献“Cai T,Ma Z,Zheng H,et al.NE–LP:Normalized entropy-and lossprediction-based sampling for active learning in Chinese word segmentation onEHRs[J].Neural Computing and Applications,2021:1-15.”,Cai T等人的论文:基于归一化熵和损失预测的基于样本的主动EHRS中文分词)指最大令牌熵策略,未标注数据内每个文本序列按照其中的最大令牌熵排序,最大令牌熵越大的序列打分越高;MTP(MinimumToken Probability,见文献“Marcheggiani D,T Artières.An Experimental Comparisonof Active Learning Strategies for Partially Labeled Sequences[C]//Proceedingsof the 2014Conference on Empirical Methods in Natural Language Processing(EMNLP).2014.”,Marcheggiani D等人的论文:主动学习策略对部分标注序列的实验比较。)指最小令牌概率策略,未标注数据内每个文本序列按照其中的最小令牌概率排序,最小令牌概率越小的序列打分越高;LTP(Least Token Probability,见文献“LiuM,Tu Z,Wang Z,et al.Ltp:A new active learning strategy for bert-crf based namedentity recognition[J].arXiv preprint arXiv:2001.02524,2020.”,Liu M等人的论文:针对bert-crf一种主动学习下命名实体识别模型的查询策略。)指最小令牌概率策略,指未标注数据内每个文本序列按照其中的最小的令牌概率排序,最小令牌概率越小的序列打分越高;BALD(Bayesian Active Learning by Disagreement,见文献“Gal Y,Islam R,Ghahramani Z.Deep bayesian active learning with image data[C]//InternationalConference on Machine Learning.PMLR,2017:1183-1192.”,Gal Y等人的论文:针对图像的深度贝叶斯主动学习)指贝叶斯不一致主动学习策略,未标注数据内每个文本序列按照贝叶斯神经网络衡量预测不确定性,以概率升序排序,排序在前的序列打分更高。
4.4命名实体识别模块将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块。
第五步:主动学习模块从命名实体识别模块获取U内NN条未标注数据及NN条未标注数据的打分,从中选择未标注数据xn,发送给数据标注模块,方法为:
5.1主动学习模块将U内NN条未标注数据按照打分由高到低的顺序排序;分数越高说明数据的不确定性越高,参与训练更有价值。
5.2主动学习模块按照打分由高到低的顺序选择U内NN条未标注数据α%(α%×N≤100%,1≤α≤5)的数据,令为第n轮循环的未标注数据xn。1≤α≤5,这是因为这个范围内参与训练的未标注数据增长较慢,能够更好地利用数据进行训练。
5.3命名实体识别模块将xn发送给数据标注模块。
第六步:数据标注模块对数据xn进行标注,得到对应的标注数据<xn,label(xn)>,将<xn,label(xn)>发送到数据增强模块,并将<xn,label(xn)>存储到标注数据池L内,方法是:
6.1数据标注模块对从主动学习模块接收的xn进行标注(即将xn与其标签label(xn)作为一个二元组,label(xn)在训练集与验证集就有),得到对应的标注数据<xn,label(xn)>。
6.2数据标注模块将标注数据<xn,label(xn)>发送到数据增强模块、存储到标注数据池L内。同时将xn从未标注数据池U中删除。
7.1数据增强模块使用数据增强方法,例如实体替换(见文献“Dai X,H Adel.AnAnalysis of Simple Data Augmentation for Named Entity Recognition[C]//Proceedings of the 28th International Conference on ComputationalLinguistics.2020.”,Dai X,H Adel等人的论文:命名实体识别的简单数据增强分析,见第3页所述的“Mention Replacement”方法)对<xn,label(xn)>进行数据增强。数据增强方法采用实体替换方法时,数据xn通过标签label(xn)选取所含的全部实体,所有同类别实体随机替换,生成增强后的新数据其中是xn增强后的数据,是对应的标签序列;
8.2设置模型训练参数:网络模型学习率(learningRate)、批处理尺寸(batchsize)、随机失活(dropout)。实验证明,learningRate=0.0015,batchsize=1,dropout=0.5时,命名实体识别模型使用相同比例的标注数据训练得到模型的F1值最高。
8.3主动学习模块计算modrln-1对标注数据的预测标签与真实标签差距,得到损失值,最小化损失值并更新命名实体识别模型参数,直到满足迭代次数要求,得到第n轮循环保存的命名实体识别模型modeln的权重参数集合具体方法如下:
8.3.1初始化训练迭代参数epoch=1;
8.3.2如果epoch≤K(迭代阈值K设置为4,这是因为继续增大训练轮数时模型效果提升不明显),转步骤8.3.3;否则说明训练满足迭代次数要求,第n轮训练结束,将训练后的作为modeln的权重参数集合发送给命名实体识别模块,转第九步。
8.3.3计算命名实体识别模型对标注数据的预测标签与真实标签差距,得到损失值,使用优化算法缩小损失值,更新一次网络权重,具体方法如下:
8.3.3.2计算误差值Loss,Loss的计算使用CRF损失函数(见文献“Lample G,Ballesteros M,Subramanian S,et al.Neural Architectures for Named EntityRecognition[C]//Proceedings of the 2016Conference of the North AmericanChapter of the Association for Computational Linguistics:Human LanguageTechnologies.2016.”,Lample G等人的论文:命名实体识别的网络结构翻译,见第261-262页所述的“CRF Tagging Models”)。
8.3.3.3使用Adam优化算法对误差值Loss最小化以更新网络权重参数,Adam优化算法见文献“Kingma D P,Ba J.Adam:A method for stochastic optimization[J].arXivpreprint arXiv:1412.6980,2014”,Kingma的论文:Adam,一种随机优化方法。
8.3.3.4令m=m+1,若m≤M,转步骤8.3.3.2;否则,说明参与训练的数据中每个批处理都经过了命名实体识别网络模型处理,集合中的权重参数值都得到了一次更新,令epoch=epoch+1,转步骤8.3.2。
9.2令n=n+1,若n≤N,转步骤4.1继续下一轮训练;若n>N,说明N轮训练结束,得到了训练后的命名实体识别模块,转第十步。
第十步:训练后的命名实体识别模块对测试数据池T中的数据进行命名实体识别。
10.1命名实体识别模块从测试数据池T中读取数据y,y是批量简历文本序列,属于未标注数据;
10.2命名实体识别模块利用命名实体识别模型中的表示层,使用预训练的词向量将未标注数据y中的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短。词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,最后转换为y的表示向量;
10.3命名实体识别模型中的序列编码层使用一个单层的模型BiLSTM对表示层得到的y的表示向量进行建模,得到y的表示向量建模后的向量序列。
10.4命名实体识别模型中的标签推理层接收y的表示向量建模后的向量序列,使用条件随机场对y的表示向量建模后的向量序列进行命名实体识别,预测y的标签序列label(y),获取标注数据结果<y,label(y)>。
本发明与现有技术相比,具有以下技术效果:
1.本发明由于训练时将数据增强与主动学习参与下的命名实体识别相结合,生成增强后的标注数据一起参与训练,最大化已有标注数据的价值,实现了在早期参与训练的标注数据少时快速提高命名实体识别的效果,相比于背景技术所述的主动学习下的命名实体识别方法,能够在标注数据的数量很少的前提下提升识别效果。
2本发明第七步使用数据增强方法,将数据增强融入主动学习的方式简单,复杂性低。
与现有技术相比,本发明使用数据增强结合命名实体识别,使得相比原来的主动学习下的命名实体识别方法,不管采用常用查询策略中的哪一种,命名实体识别模型的识别F1值都有提升。
附图说明
图1为本发明第一步构建的结合数据增强的主动命名实体识别系统总体结构图;
图2为本发明总体流程图。
具体实施方式
如图2所示,本发明包括以下步骤:
第一步,构建结合数据增强的主动命名实体识别系统。该系统如图1所示,由主动学习模块、数据标注模块、数据增强模块、命名实体识别模块、测试数据池T、未标注数据池U、标注数据池L、增强数据池A构成。其中主动学习模块、数据标注模块、数据增强模块采用多轮循环的方式对命名实体识别模块中的命名实体识别模型进行训练并对数据进行标注和增强,在每一轮循环中将命名实体识别模型参数发送给命名实体识别模块。
主动学习模块与数据标注模块、命名实体识别模块、标注数据池L、增强数据池A相连。主动学习模块从命名实体识别模块得到评估结果,评估结果包括未标注数据池U内的NN条未标注数据及未标注数据的打分。主动学习模块选择NN条未标注数据中的x发送给数据标注模块。主动学习模块使用从标注数据池L、增强数据池A得到的标注数据对命名实体识别模块进行训练,得到命名实体识别模型参数,将命名实体识别模型参数发送给命名实体识别模块,并从命名实体识别模块获取对未标注数据的打分。
数据标注模块与主动学习模块、数据增强模块和标注数据池L相连。数据标注模块将从主动学习模块接收的x进行标注,得到对应的标注数据,标注数据用二元组<x,label(x)>表示,label(x)指数据x对应的标签序列,标签序列格式为BMESO,将标注数据<x,label(x)>发送给数据增强模块,并将<x,label(x)>存储到标注数据池L。
数据增强模块与数据标注模块、增强数据池A相连,采用数据增强方法(例如实体替换法)对标注数据<x,label(x)>进行增强,产生带有标签的新数据<x*,label(x*)>,并将<x*,label(x*)>保存到增强数据池A内,x*是x增强后的数据,label(x*)是x*对应的标签序列。
命名实体识别模块与主动学习模块、未标注数据池U、测试数据池T相连。命名实体识别模块是一个命名实体识别模型,从主动学习模块获取命名实体识别模型参数,采用命名实体识别模型参数更新命名实体识别模型的模型参数,并将更新参数后的命名实体识别模型发送给主动学习模块。命名实体识别模型采用Lexicon-LSTM模型,此模型由表示层、序列编码层和标签推理层组成。
表示层使用预训练的词向量ctb.50d.vec及gigaword_chn.all.a2b.uni.ite50.vec作为初始化的文本序列表示。词向量指的是一组用来表示单词的低纬稠密向量,能够将文本中的单词转换成向量。表示层将输入的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短。词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,得到最终的表示向量。序列编码层使用一个单层的模型BiLSTM对表示层得到的表示向量进行建模,得到建模后的向量序列。标签推理层使用条件随机场对建模后的向量序列进行命名实体识别,预测标签序列。
命名实体识别模块接收测试数据池T的未标注数据,利用命名实体识别模型中的表示层将未标注数据中的文本序列转换为表示向量,序列编码层利用已有模型得到向量序列,标签推理层对向量序列进行打分。命名实体识别模块将未标注数据及未标注数据的打分发送给主动学习模块。
且命名实体识别模块对未标注数据进行命名实体识别,预测对应的标签序列。
第二步:准备简历数据集。简历数据集包括训练集、验证集与测试集。训练集与验证集中包含批量简历文本序列与文本对应的标签序列,属于标注数据。测试集中包含批量简历文本序列,属于未标注数据。将简历数据集中的训练集与验证集合并,将训练集与验证集中的简历文本序列作为未标注数据存储在未标注数据池U内,将简历数据集中的测试集存储在测试数据池T内。令U中未标注数据共有NN条,NN为正整数。U中的一个文本序列即为一条未标注数据,文本序列是评估未标注数据的单位。
第三步:主动学习模块初始化,将初始化得到的参数发送给命名实体识别模块,方法为:
3.1令未训练的命名实体识别模块中的命名实体识别模型为model0,主动学习模块初始化权重参数:将model0的权重参数集合中所有元素值都初始化为[0,1]之间的随机数。表示Lexicon-LSTM模型表示层的权重参数,表示Lexicon-LSTM网络模型序列编码层的权重参数,表示Lexicon-LSTM网络模型标签推理层的权重参数;
3.2令循环变量n=1,n≤N,N是多轮循环的循环次数,N为正整数,优选20≤N≤100;
第四步:命名实体识别模块的命名实体识别模型modeln-1给未标注数据池U内NN条未标注数据打分,将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块,方法为:
4.2令循环变量m=1,m≤NN,NN是U中未标注数据的条数,NN为正整数;
4.3命名实体识别模块的命名实体识别模型modeln-1使用查询策略查询U中第m条未标注数据的预测结果或概率,将预测结果或概率转换为打分结果。令m=m+1,若m≤NN,则转4.3继续查询,否则转步骤4.4。
4.4命名实体识别模块将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块。
第五步:主动学习模块从命名实体识别模块获取U内NN条未标注数据及NN条未标注数据的打分,从中选择未标注数据xn,发送给数据标注模块,方法为:
5.1主动学习模块将U内NN条未标注数据按照打分由高到低的顺序排序;分数越高说明数据的不确定性越高,参与训练更有价值。
5.2主动学习模块按照打分由高到低的顺序选择U内NN条未标注数据α%(1≤α≤5)的数据,令为第n轮循环的未标注数据xn。
5.3命名实体识别模块将xn发送给数据标注模块。
第六步:数据标注模块对数据xn进行标注,得到对应的标注数据<xn,label(xn)>,将<xn,label(xn)>发送到数据增强模块,并将<xn,label(xn)>存储到标注数据池L内,方法是:
6.1数据标注模块对从主动学习模块接收的xn进行标注(即将xn与其标签label(xn)作为一个二元组,label(xn)在训练集与验证集就有),得到对应的标注数据<xn,label(xn)>。
6.2数据标注模块将标注数据<xn,label(xn)>发送到数据增强模块、存储到标注数据池L内。同时将xn从未标注数据池U中删除。
7.1数据增强模块使用数据增强方法,例如实体替换对<xn,label(xn)>进行数据增强。数据增强方法采用实体替换方法时,数据xn通过标签label(xn)选取所含的全部实体,所有同类别实体随机替换,生成增强后的新数据其中是xn增强后的数据,是对应的标签序列;
8.2设置模型训练参数:网络模型学习率(learningRate)、批处理尺寸(batchsize)、随机失活(dropout)。实验证明,learningRate=0.0015,batchsize=1,dropout=0.5时,命名实体识别模型使用相同比例的标注数据训练得到模型的F1值最高。
8.3主动学习模块计算modeln-1对标注数据的预测标签与真实标签差距,得到损失值,最小化损失值并更新命名实体识别模型参数,直到满足迭代次数要求,得到第n轮循环保存的命名实体识别模型modeln的权重参数集合具体方法如下:
8.3.1初始化训练迭代参数epoch=1;
8.3.2如果epoch≤K(迭代阈值K设置为4,这是因为继续增大训练轮数时模型效果提升不明显),转步骤8.3.3;否则说明训练满足迭代次数要求,第n轮训练结束,将训练后的作为modeln的权重参数集合发送给命名实体识别模块,转第九步。
8.3.3计算命名实体识别模型对标注数据的预测标签与真实标签差距,得到损失值,使用优化算法缩小损失值,更新一次网络权重,具体方法如下:
8.3.3.2计算误差值Loss,Loss的计算使用CRF损失函数。
8.3.3.3使用Adam优化算法对误差值Loss最小化以更新网络权重参数。
8.3.3.4令m=m+1,若m≤M,转步骤8.3.3.2;否则,说明参与训练的数据中每个批处理都经过了命名实体识别网络模型处理,集合中的权重参数值都得到了一次更新,令epoch=epoch+1,转步骤8.3.2。
9.2令n=n+1,若n≤N,转步骤4.1继续下一轮训练;若n>N,说明N轮训练结束,得到了训练后的命名实体识别模块,转第十步。
第十步:训练后的命名实体识别模块对测试数据池T中的数据进行命名实体识别。
10.1命名实体识别模块从测试数据池T中读取数据y,y是批量简历文本序列,属于未标注数据;
10.2命名实体识别模块利用命名实体识别模型中的表示层,使用预训练的词向量将未标注数据y中的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短。词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,最后转换为y的表示向量;
10.3命名实体识别模型中的序列编码层使用一个单层的模型BiLSTM对表示层得到的y的表示向量进行建模,得到y的表示向量建模后的向量序列。
10.4命名实体识别模型中的标签推理层接收y的表示向量建模后的向量序列,使用条件随机场对y的表示向量建模后的向量序列进行命名实体识别,预测y的标签序列label(y),获取标注数据结果<y,label(y)>。
选取来自简历数据集中的测试集作为跟踪测试数据集,对本发明进行了命名实体识别的F1值测试,实验的系统环境为乌班图18.04版本(即Ubuntu 18.04,Linux系统的一个版本),搭载英特尔Xeon Gold系列6154中央处理器,处理频率为3.0Hz,另外配有两块英伟达TITAN X图像处理器,核心频率为1418/1531MHz,显存容量为12GB。实验时,3.2步的N为100,4.3步命名实体识别模块的命名实体识别模型modeln-1使用的查询策略为RAND,LC,MTE,MTP,LTP,BALD六种中任意一种,第七步数据增强方法采用的是实体替换方法。
在本实验环境下,表1表现出列出了在α%×N=10%、50%的标注数据比例下,Lexicon-LSTM模型在采用背景技术所述的主动学习下的命名实体识别方法与本发明时,不同查询策略所能达到的F1值。所测试的查询策略包括:RAND(随机选择策略)、LC(最小置信不确定性策略)、MTE(最大令牌熵策略)、MTP(最小令牌概率策略)、LTP(最小令牌概率策略)、BALD(贝叶斯不一致主动学习策略)。
本发明针对的场景是一种小样本命名实体识别方法,希望利用标注数据,在早期参与训练的标注数据少时也能快速提高命名实体识别的效果,使其对多种查询策略得到的模型F1值都有提升。
实验表明,本发明对常用的查询策略都有不同程度的提升效果。如表1所示,在使用5%、10%、20%、50%的标注数据情况下,相比原来主动学习参与下的命名实体识别的识别F1值。一般来说,小样本命名实体识别任务下,标注数据比例在20%以内,本发明得到的命名实体识别模型的识别F1值在这个范围内有明显提升,因此本发明实现了在早期参与训练的标注数据少时快速提高命名实体识别的效果。
表1
以上对本发明所提供的一种基于数据增强与主动学习的小样本命名实体识别方法进行了详细介绍。本文对本发明的原理及实施方式进行了阐述,以上说明用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通研究人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于包括以下步骤:
第一步,构建结合数据增强的主动命名实体识别系统;该系统由主动学习模块、数据标注模块、数据增强模块、命名实体识别模块、测试数据池T、未标注数据池U、标注数据池L、增强数据池A构成;其中主动学习模块、数据标注模块、数据增强模块采用多轮循环的方式对命名实体识别模块中的命名实体识别模型进行训练并对数据进行标注和增强,在每一轮循环中将命名实体识别模型参数发送给命名实体识别模块;
主动学习模块与数据标注模块、命名实体识别模块、标注数据池L、增强数据池A相连;主动学习模块从命名实体识别模块得到评估结果,评估结果包括未标注数据池U内的NN条未标注数据及未标注数据的打分;主动学习模块选择NN条未标注数据中的x发送给数据标注模块;主动学习模块使用从标注数据池L、增强数据池A得到的标注数据对命名实体识别模块进行训练,得到命名实体识别模型参数,将命名实体识别模型参数发送给命名实体识别模块,并从命名实体识别模块获取对未标注数据的打分;
数据标注模块与主动学习模块、数据增强模块和标注数据池L相连;数据标注模块将从主动学习模块接收的x进行标注,得到对应的标注数据,标注数据用二元组<x,label(x)>表示,label(x)指数据x对应的标签序列,将标注数据<x,label(x)>发送给数据增强模块,并将<x,label(x)>存储到标注数据池L;
数据增强模块与数据标注模块、增强数据池A相连,采用数据增强方法对标注数据<x,label(x)>进行增强,产生带有标签的新数据<x*,label(x*)>,并将<x*,label(x*)>保存到增强数据池A内,x*是x增强后的数据,label(x*)是x*对应的标签序列;
命名实体识别模块与主动学习模块、未标注数据池U、测试数据池T相连;命名实体识别模块是一个命名实体识别模型,从主动学习模块获取命名实体识别模型参数,采用命名实体识别模型参数更新命名实体识别模型的模型参数,并将更新参数后的命名实体识别模型发送给主动学习模块;命名实体识别模型采用Lexicon-LSTM模型,由表示层、序列编码层和标签推理层组成;命名实体识别模块接收测试数据池T的未标注数据,将未标注数据中的文本序列转换为表示向量,利用已有模型得到向量序列,并对向量序列进行打分,命名实体识别模块将未标注数据及未标注数据的打分发送给主动学习模块;且命名实体识别模块对未标注数据进行命名实体识别,预测对应的标签序列;
第二步:准备简历数据集;简历数据集包括训练集、验证集与测试集,训练集与验证集中包含批量简历文本序列与文本对应的标签序列,属于标注数据;测试集中包含批量简历文本序列,属于未标注数据;将简历数据集中的训练集与验证集合并,将训练集与验证集中的简历文本序列作为未标注数据存储在未标注数据池U内,将简历数据集中的测试集存储在测试数据池T内;令U中未标注数据共有NN条,NN为正整数;U中的一个文本序列即为一条未标注数据,文本序列是评估未标注数据的单位;
第三步:主动学习模块初始化,将初始化得到的参数发送给命名实体识别模块,方法为:
3.1令未训练的命名实体识别模块中的命名实体识别模型为model0,主动学习模块初始化权重参数:将model0的权重参数集合中所有元素值都初始化为[0,1]之间的随机数;表示Lexicon-LSTM模型表示层的权重参数,表示Lexicon-LSTM网络模型序列编码层的权重参数,表示Lexicon-LSTM网络模型标签推理层的权重参数;
3.2令循环变量n=1,n≤N,N是多轮循环的循环次数,N为正整数;
第四步:命名实体识别模块的命名实体识别模型modeln-1给未标注数据池U内NN条未标注数据打分,将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块;
第五步:主动学习模块从命名实体识别模块获取U内NN条未标注数据及NN条未标注数据的打分,从中选择第n轮循环的未标注数据xn,发送给数据标注模块;
第六步:数据标注模块对xn进行标注,得到对应的标注数据<xn,label(xn)>,将<xn,label(xn)>发送到数据增强模块、并将<xn,label(xn)>存储到标注数据池L内,同时将xn从未标注数据池U中删除;
9.2令n=n+1,若n≤N,转第四步,继续下一轮训练;若n>N,说明N轮训练结束,得到了训练后的命名实体识别模块,转第十步;
第十步:训练后的命名实体识别模块对测试数据池T中的数据进行命名实体识别,方法是:
10.1命名实体识别模块从测试数据池T中读取数据y,y是批量简历文本序列,属于未标注数据;
10.2命名实体识别模块利用命名实体识别模型中的表示层,使用预训练的词向量将未标注数据y中的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短;词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,最后转换为y的表示向量;
10.3命名实体识别模型中的序列编码层使用一个单层的模型BiLSTM对表示层得到的y的表示向量进行建模,得到y的表示向量建模后的向量序列;
10.4命名实体识别模型中的标签推理层接收y的表示向量建模后的向量序列,使用条件随机场对y的表示向量建模后的向量序列进行命名实体识别,预测y的标签序列label(y),获取标注数据结果<y,label(y)>。
2.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于所述标签序列的格式为BMESO,即实体标签为BMES,非实体标签为O,BMES指四位序列标注法:B表示一个词的词首位值,M表示一个词的中间位置,E表示一个词的末尾位置,S表示一个单独的字词。
3.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于所述命名实体识别模型的表示层使用预训练的词向量ctb.50d.vec及gigaword_chn.all.a2b.uni.ite50.vec作为初始化的文本序列表示;表示层将输入的文本序列转换为具有固定大小的序列向量,并且保证相似性高的文本序列对应的向量距离短;词典信息也通过表示层得到词典向量,词典向量与序列向量通过连接进行信息融合,得到最终的表示向量;序列编码层使用一个单层的模型BiLSTM对表示层得到的表示向量进行建模,得到建模后的向量序列;标签推理层使用条件随机场对建模后的向量序列进行命名实体识别,预测标签序列。
4.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第三步所述循环次数N满足20≤N≤100。
5.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第四步所述modeln-1给未标注数据池U内NN条未标注数据打分的方法为:
4.2令循环变量m=1,m≤NN,NN是U中未标注数据的条数,NN为正整数;
4.3命名实体识别模块的命名实体识别模型modeln-1使用查询策略查询U中第m条未标注数据的预测结果或概率,将预测结果或概率转换为打分结果;令m=m+1,若m≤NN,则转4.3继续查询,否则转步骤4.4;
4.4命名实体识别模块将U内NN条未标注数据及这NN条未标注数据的打分发送给主动学习模块。
6.如权利要求5所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第4.3步所述查询策略指RAND即随机选择策略,或LC即最小置信不确定性策略,或MTE即最大令牌熵策略,或MTP即最小令牌概率策略,或LTP即最小令牌概率策略,或BALD即贝叶斯不一致主动学习策略。
7.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第五步所述主动学习模块从命名实体识别模块获取U内NN条未标注数据及NN条未标注数据的打分,从中选择第n轮循环的未标注数据xn的方法为:
5.1主动学习模块将U内NN条未标注数据按照打分由高到低的顺序排序;
5.2主动学习模块按照打分由高到低的顺序选择U内NN条未标注数据α%的数据,令为第n轮循环的未标注数据xn,所述α满足1≤α≤5;
5.3命名实体识别模块将xn发送给数据标注模块。
8.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第六步所述数据标注模块对xn进行标注的方法是:
6.1数据标注模块对从主动学习模块接收的xn进行标注,即将xn与其标签label(xn)作为一个二元组,得到对应的标注数据<xn,label(xn)>;
6.2数据标注模块将标注数据<xn,label(xn)>发送到数据增强模块、存储到标注数据池L内;同时将xn从未标注数据池U中删除。
10.如权利要求1所述的一种基于数据增强与主动学习的小样本命名实体识别方法,其特征在于第八步所述主动学习模块使用 与L中的标注数据对命名实体识别模型进行第n轮训练,得到第n轮循环保存的命名实体识别模型modeln的权重参数集合的方法是:
8.2设置模型训练参数:令网络模型学习率learningRate=0.0015、批处理尺寸batchsize=1、随机失活dropout=0.5;
8.3主动学习模块计算modeln-1对标注数据的预测标签与真实标签差距,得到损失值,最小化损失值并更新命名实体识别模型参数,直到满足迭代次数要求,得到第n轮循环保存的命名实体识别模型modeln的权重参数集合具体方法如下:
8.3.1初始化训练迭代参数epoch=1;
8.3.3计算命名实体识别模型对标注数据的预测标签与真实标签差距,得到损失值,使用优化算法缩小损失值,更新一次网络权重,具体方法如下:
8.3.3.2计算误差值Loss,Loss的计算使用CRF损失函数;
8.3.3.3使用Adam优化算法对误差值Loss最小化以更新网络权重参数;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688053.7A CN113361278B (zh) | 2021-06-21 | 2021-06-21 | 一种基于数据增强与主动学习的小样本命名实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688053.7A CN113361278B (zh) | 2021-06-21 | 2021-06-21 | 一种基于数据增强与主动学习的小样本命名实体识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361278A CN113361278A (zh) | 2021-09-07 |
CN113361278B true CN113361278B (zh) | 2022-02-15 |
Family
ID=77535528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110688053.7A Active CN113361278B (zh) | 2021-06-21 | 2021-06-21 | 一种基于数据增强与主动学习的小样本命名实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361278B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553806B (zh) * | 2021-09-22 | 2021-11-19 | 中国人民解放军国防科技大学 | 文本数据增强方法、装置、设备和介质 |
CN113806494B (zh) * | 2021-10-11 | 2022-05-27 | 中国人民解放军国防科技大学 | 一种基于预训练语言模型的命名实体识别方法 |
CN117436449A (zh) * | 2023-11-01 | 2024-01-23 | 哈尔滨工业大学 | 一种基于多源域适应和强化学习的众包命名实体识别模型及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971763B2 (en) * | 2014-04-08 | 2018-05-15 | Microsoft Technology Licensing, Llc | Named entity recognition |
CN109697289B (zh) * | 2018-12-28 | 2023-01-13 | 北京工业大学 | 一种改进的用于命名实体识别的主动学习方法 |
CN111310799B (zh) * | 2020-01-20 | 2024-04-26 | 中国人民大学 | 一种基于历史评估结果的主动学习方法 |
CN112800766B (zh) * | 2021-01-27 | 2023-08-22 | 华南理工大学 | 基于主动学习的中文医疗实体识别标注方法及系统 |
-
2021
- 2021-06-21 CN CN202110688053.7A patent/CN113361278B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113361278A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113361278B (zh) | 一种基于数据增强与主动学习的小样本命名实体识别方法 | |
CN107358948B (zh) | 基于注意力模型的语言输入关联性检测方法 | |
CN110969020B (zh) | 基于cnn和注意力机制的中文命名实体识别方法、系统及介质 | |
CN108009148B (zh) | 基于深度学习的文本情感分类表示方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN106845411B (zh) | 一种基于深度学习和概率图模型的视频描述生成方法 | |
CN112818691A (zh) | 命名实体识别模型训练方法及装置 | |
CN110609891A (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN108830287A (zh) | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 | |
CN110647612A (zh) | 一种基于双视觉注意力网络的视觉对话生成方法 | |
CN109522411A (zh) | 一种基于神经网络的写作辅助方法 | |
CN114298158A (zh) | 一种基于图文线性组合的多模态预训练方法 | |
CN109271516B (zh) | 一种知识图谱中实体类型分类方法及系统 | |
CN110888980A (zh) | 基于知识增强的注意力神经网络的隐式篇章关系识别方法 | |
CN113220865B (zh) | 一种文本相似词汇检索方法、系统、介质及电子设备 | |
CN113255366B (zh) | 一种基于异构图神经网络的方面级文本情感分析方法 | |
CN111651993A (zh) | 融合局部-全局字符级关联特征的中文命名实体识别方法 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
Yang et al. | Bidirectional LSTM-CRF for biomedical named entity recognition | |
CN114417851A (zh) | 一种基于关键词加权信息的情感分析方法 | |
CN115130538A (zh) | 文本分类模型的训练方法、文本处理的方法、设备及介质 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN113934835B (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN112329441A (zh) | 一种法律文书阅读模型及构建方法 | |
CN110298331A (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 |