CN112818694A - 一种基于规则和改进预训练模型的命名实体识别方法 - Google Patents
一种基于规则和改进预训练模型的命名实体识别方法 Download PDFInfo
- Publication number
- CN112818694A CN112818694A CN202110229580.1A CN202110229580A CN112818694A CN 112818694 A CN112818694 A CN 112818694A CN 202110229580 A CN202110229580 A CN 202110229580A CN 112818694 A CN112818694 A CN 112818694A
- Authority
- CN
- China
- Prior art keywords
- word
- training
- model
- entity
- new
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000004753 textile Substances 0.000 claims abstract description 34
- 239000004744 fabric Substances 0.000 claims abstract description 13
- 238000013528 artificial neural network Methods 0.000 claims abstract description 9
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 45
- 239000013598 vector Substances 0.000 claims description 45
- 238000013527 convolutional neural network Methods 0.000 claims description 30
- 238000002372 labelling Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000002360 preparation method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000005096 rolling process Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 5
- 238000013136 deep learning model Methods 0.000 abstract description 2
- 238000010276 construction Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 4
- 241000283707 Capra Species 0.000 description 3
- 210000002268 wool Anatomy 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 229920000742 Cotton Polymers 0.000 description 1
- 229920000297 Rayon Polymers 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010380 label transfer Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 210000000050 mohair Anatomy 0.000 description 1
- 239000002964 rayon Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- 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/045—Combinations of networks
-
- 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/047—Probabilistic or stochastic networks
-
- 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/08—Learning methods
Abstract
本发明公开了一种基于规则和改进预训练模型的命名实体识别方法。本发明在BERT预训练的基础之上,增加与下游任务相同的领域数据继续预训练,再在命名实体识别任务上进行微调;同时,考虑到词性能够表达重要词语的属性信息,还在BERT模型内部结构中添加额外特征信息来增强系统的识别性能;在深度学习模型构建方面,提出集成卷积神经网络和双向循环神经网络对文本进行句子级别的特征提取,最后结合规则对模型识别出的实体结果进行校正,判断实体长度是否小于一定值,且前面是形容词,则拼接成一个新的实体作为最后的实体词;能提高命名实体识别的准确率,有效地提取出纺织面料领域的专有名词,相较于现有的方法在准确率、召回率、F1值上有很大的提升。
Description
技术领域
本发明涉及一种基于规则和改进预训练模型的命名实体识别方法,特别是针对纺织面料领域数据中的专有名词识别。本发明通过在BERT预训练的基础之上,增加与下游任务相同的领域数据继续预训练,然后在命名实体识别模型上进行训练;同时,考虑到词性能够表达重要词语的属性信息,本文还在BERT模型内部结构中添加额外特征信息来增强系统的识别性能。在深度学习模型方面,还提出集成卷积神经网络(CNN)和双向循环神经网络(BiLSTM)的方法对文本进行句子级别的特征提取。最后,结合基于规则的方法对命名实体识别模型识别出的实体词进行验证,依据实体词长度、词性等语义层面的信息对识别错误的实体词进行纠正,从而提高命名实体识别的准确率。
背景技术
在跨模态检索任务中,用户可通过输入的任意类型的查询数据,检索出所有类型语义相关的数据集,如2019年中国绍兴柯桥国际纺织品面辅料博览会展出了45万款面料,需要从大量面料图样和丰富的图样文本描述中有效筛选出客户要求的结果。用户可利用文字信息来搜索图像信息,如何将用户输入的文本信息抽取出专有领域相关的词,再从数据库中进行匹配搜索返回给用户请求,这是命名实体识别任务的典型应用。
从命名实体识别方法来说大致有三种:第一种是基于规则匹配的实体识别方法,主要依赖于人工构造大量规则来匹配文本的实体词,但是该方法十分依赖于领域专家对知识的理解。第二种是基于机器学习的实体识别方法,即就是将实体识别任务转成分类问题来解决,并不需要人工制定规则,而是利用人工标注好的语料训练出一个模型,再使用训练好的模型对测试语料进行序列解码得到实体名称。第三种是基于深度学习的实体识别方法,随着硬件设备性能的提升,这类命名实体识别算法逐渐占据主流,不需要人为设计特征,只需要将输入文本处理成计算机所能识别的特征向量,模型就能自动挖掘出更深层的语义特征,且具有良好的泛化能力。
当前,关于纺织领域里的专有名词抽取的研究甚少,主要是因为缺乏高质量的训练数据,同时该领域的文本具有很强的专业性,例如,“化学纤维”、“人造丝”这类带有修饰词的实体,是无法从通用领域的实体识别任务中进行迁移的,使得对这类实体的识别工作比通用实体识别任务更具挑战性。为了能提高跨模态检索任务的有效性和精确性,提升专有名词的识别率是非常必要的,尽管在工业界已有很多人提出传统方法即很好完成领域词的识别,但是传统方法的时间代价和人力代价十分大的,所以自动化的实体识别算法研究在纺织领域领域有很好的应用前景。
因此,如何有效的提取纺织面料领域文本中的专有名词,快速、准确的实现跨模态检索任务变得举足轻重,也成为技术人员迫切解决的问题。
发明内容
考虑到大部分语言模型是在大型通用的语料库中预训练得出,且在领域化的特定场景会受到限制的问题,本发明提出一种基于规则和改进预训练模型的命名实体识别方法,它是一种新型的预训练语言模型方法(ConBERT),将预训练模型引入到纺织领域的命名实体识别任务中,同时还考虑到词性更能够表达专有名词的重要属性信息,本发明还提出一个创新的想法,在BERT结构中添加词性特征,将字特征和词性特征相结合,增强系统的识别率。最后使用双向循环神经网络(BiLSTM)和条件随机场(CRF)作为命名实体识别模型,可以有效地提取出纺织面料领域的专有名词,相较于现有的方法在准确率、召回率、F1值上有很大的提升。
本发明提供的技术方案为:
所述的一种基于规则和改进预训练模型的命名实体识别方法,以BERT预训练模型为基础,增加与下游任务相同的领域数据继续预训练,接着在命名实体识别模型上进行训练,最后使用规则匹配算法对识别精度进行优化的过程,其特征在于具体包括以下步骤:
步骤1:在BERT预训练的基础之上,增加与下游任务相同的领域数据继续预训练,得出新的中文BERT预训练模型;
步骤2:基于词性更能够表达重要词语的属性信息,在步骤1)的中文BERT预训练模型内部结构中添加词性特征得到新的字向量,作为卷积神经网络CNN模型的输入特征,以增强系统的识别性能;
步骤3:使用卷积神经网络CNN模型对步骤2)得出的新的字向量进行卷积操作、用使用双向循环神经网络BiLSTM模型进行命名实体识别任务,最后引入CRF模型通过概率统计对BiLSTM的输出进行解码,获得序列标注预测结果;
步骤4:使用基于规则的方法对模型识别出的实体结果进行校正,对实体词长度小于阈值且依据该实体词的前一个词的词性来判断是否进行实体词的扩充,避免识别错误、漏识别等问题。
具体地,本发明的一种基于规则和改进预训练模型的命名实体识别方法,其特征在于具体过程为包括以下步骤:
步骤1:构造领域词典:从纺织领域网站、搜狗词典库等网站上搜集纺织面料关键词,并将收集到的这些关键词作为领域词典;
步骤2:以领域词典为目标词,解析百度百科的html文件,提取出网页中相关文本数据;
步骤3:对提取出的文本数据进行清洗和预处理,将关键词、摘要和内容信息合并成一个短文本,并去除文本中无用词和特殊符号,保留领域相关的文本数据,同时将所有的文本数据整理成一行一个句子的形式。
步骤4:依据领域词典对步骤2)中保留的领域相关的文本数据先进行一轮数据预标注,再使用Brat标注工具对保留的纺织领域相关的文本数据中的专有名词进行第二轮人工标注,利用分词工具对文本进行切词、词性标注;最后将保留的纺织领域相关的文本数据处理成命名实体识别任务能处理的数据形式BIO,其中B表示实体词的开头,I表示实体词的其他位置,O表示不属于任何类型;
步骤5:按照7:2:1的比例将文本数据划分成为训练数据、验证数据和测试数据,首先用训练集训练得出一个模型,然后用验证集验证模型,选出其中最好的模型,也就是验证集用来指导我们选出最好的模型,最后使用测试集评估最终的模型,至此数据准备完成;
步骤6:为了提升模型的识别率,从多个纺织领域网站上抓取不断预训练的纺织领域文本数据,并对所述文本数据进行清洗和预处理,剔除与领域不相关的文本数据,将剩余的文本数据作为不断预训练的语料;
步骤7:在BERT模型基础上再次预训练,得到最终领域强相关的中文预训练模,即为新的中文BERT预训练模型;
步骤8:在BERT结构中添加词性特征,可将字特征和词性特征相结合,具体为词性特征为一句话中每个字的词性信息,将词性特征引入步骤1的新的中文BERT预训练模型中,即在BERT结构中添加词性特征,将新的BERT预训练模型中的字特征和词性特征相结合,得到新特征Xnew,即为字向量,如式(2-1)所示:
Xnew=EmbeddingLookup(X)+PositionEncoding+PosEncoding (2-1)
X∈Rbatch_size*seq_len*embed_dim
其中,batch_size为每次送入网络中训练的一批次句子的个数;seq_len为一个句子的长度;embed_dim是新的BERT预训练模型中的字特征的维度;EmbeddingLookup(X)是查找字向量X的嵌入表示;PositionEncoding来区分句子中词的位置信息,在表示字向量时引入的位置编码;PosEncoding为词性编码,将句子中的词性信息转换成特征向量;
步骤9:将以上得出的新特征Xnew作为命名实体识模型的输入;
步骤10:在BERT输出后面添加CNN模块,对BERT层输出的每个字符向量进行卷积操作,获得新的字符特征,具体为:
输入层,该层用来接收BERT预训练模型得出的新特征Xnew,采用“+”将每一个字向量连接表示为一个向量矩阵n×k的矩阵X,其计算公式如式(3-1)所示,矩阵X作为CNN模块的输入矩阵,对于输入句子S={x1,x2,...,xn},
X=x1+x2+...+xn (3-1)
X∈Rn×k
其中,xi表示训练得出的向量表示,i为1-n;n表示句子的中的字符个数;
卷积层:使用卷积操作进行特征提取,使用多个不同尺寸大小的卷积核进行卷积操作,每个卷积核都有一个权重矩阵W,通过设置不同窗口值的卷积核,来提取词语之间的局部特征,为卷积后得到的特征矩阵,公式为:
ci=f(W*xi:i+h-1+b) (3-2)
C=[c1,c2,...,cn-h+1] (3-3)
其中,W是CNN网络的参数,为权重矩阵,其中每个卷积核的宽度是是嵌入矩阵宽度,卷积核的高度是句子的长度,即窗口值,W的初始值随机产生,并伴随训练而变化;i是句子中的字符个数,h是窗口值,xi:i+h-1是计算卷积核的词向量矩阵;b为偏置;f为ReLU激活函数;C是卷积后得到的特征矩阵;
步骤11:将将CNN的输出字符向量(c1,c2,...,cn-h+1)作为BiLSTM模型的输入进行命名实体识别任务,,再将正向BiLSTM输出的隐式状态序列 和后向状态序列进行拼接输出为HNEW=(Hf:Hk);
步骤12:CRF层将BiLSTM计算出来的概率值作为自己的输入,输出符合标注转移约束条件的、最佳的预测标注序列,用X=(x1,x2,...,xn)表示输入的单词序列,用Y=(y1,y2,...,yn)表示句子长度为n的标注序列,对于长度为n的句子的分数计算如式(3-4)所示:
步骤13:利用基于规则的方法对模型识别出的实体结果进行校正,方法是判断实体长度是否小于长度阈值,若在设定的长度阈值范围之内,再判断该实体词的前面是否是形容词,若是形容词,则拼接成一个新的实体作为最后的实体词,提升跨模态检索的精确率,若不是形容词,说明是一个完整的词语,则不考虑进行实体词扩充,本发明的长度阈值设为5。
与现有技术相比,本发明的优点在于:
1)本发明考虑到大多数语言模型是在大型通用的语料库中预训练得出,在领域化的特定场景会受到限制,因此将已经在大量且丰富的多领域文本预训练过的模型上进行再次预训练,大大提高模型的性能;
2)本发明考虑到词性更能够表达专有名词的重要属性信息,在BERT结构中添加词性特征,可将字特征和词性特征相结合,增强系统的识别率;
3)本发明利用卷积神经网络中的卷积层来提取出文本数据中的隐藏特征,例如词的前后缀等特征,同时使用多个卷积核从不同角度提取特征,可以有效地避免只使用一个卷积核提取特征的单一性问题;
4)本发明针对CNN虽然可以深层次地提取到字符中的隐藏特征,但是缺乏对句子体系特征的表示等问题,采用了双向循环神经网络进行语义层面的特征提取,集成CNN和BiLSTM的模型可以有效地提取出丰富的语义特征;
5)本发明通过实体词扩充,将该算法更好地应用到实际的应用场景下,结合使用利用词性和实体词长度来对实体词进行二次验证,提高命名实体识别的准确率,可以有效地提取出纺织面料领域的专有名词,相较于现有的方法在准确率、召回率、F1值上有很大的提升。
附图说明
图1为本发明的模型框架示意图;
图2为本发明的改进的预训练模型示意图;
图3为本发明的CNN特征提取示意图。
具体实施方式
下面结合说明书附图及实施例,对本发明作进一步详细说明。
参照图1~图3,本发明的一种基于规则和改进预训练模型的命名实体识别方法,包括以下步骤:
步骤1:在BERT预训练的基础之上,增加与下游任务相同的领域数据继续预训练,得出新的中文BERT预训练模型,以便在命名实体识别任务上进行微调,具体过程如下:
步骤1.1:构造领域词典:从纺织领域网站、搜狗词典库等网站上搜集纺织面料关键词,并将收集到的关键词作为领域词典;
步骤1.2:数据集准备:从百度百科上获取领域关建词条的结构化和非结构化文本信息,解析html文件,主要提取网页中关键词、摘要、内容等信息;
步骤1.3:对提取的文本进行处理,关键词和摘要、内容信息合并成一个短文本,除去文本中的特殊符号,对文本进行分句处理,保留领域相关的文本数据,同时将所有的文本数据整理成一行一个句子的形式;
步骤1.4:数据标注:依据领域词典对步骤1.3)中保留的领域相关的文本数据先进行一轮数据预标注,再使用Brat标注工具对保留的纺织领域相关的文本数据中的专有名词进行第二轮人工标注;
步骤1.5:数据划分:利用分词工具和词性标注对文本进行切词、词性标注,转化为命名实体识别模型可使用的语义特征,得到命名实体识别模型训练是用到的数据;
步骤1.6:数据划分:将以上所有的数据处理成命名实体识别任务能处理的数据形式BIO,其中B表示实体词的开头,I表示实体词的其他位置,O表示不属于任何类型,最后按照7:2:1的比例将文本数据划分成为训练数据、验证数据和测试数据,首先用训练集训练得出一个模型,然后用验证集验证模型,选出其中最好的模型,也就是验证集用来指导我们选出最好的模型,最后使用测试集评估最终的模型,至此数据准备完成;
步骤1.7:BERT不断预训练的数据准备:为了提升模型的识别率,同时从多个纺织领域网站上抓取了不断预训练的实验数据,并对文本数据进行清洗和预处理,还剔除了与领域不相关的文本,选取剩余句子作为不断预训练的语料,即为目标领域的数据。总的来说,最终不断预训练的实验数据是目标领域数据和原始预训练的数据的交集,具体如图2所示;接着在BERT模型基础上再次预训练,得到最终领域强相关的中文预训练模模型,为新的中文BERT预训练模型。至此,基于纺织面料领域的中文预训练模型训练完毕;
步骤2:基于词性更能够表达重要词语的属性信息,在步骤1)的中文BERT预训练模型内部结构中添加词性特征得到新的字向量,作为卷积神经网络CNN模型的输入特征,以增强系统的识别性能,所述词性特征为一句话中每个字的词性信息,具体为:
将词性特征转化为数字向量,与BERT模型已有的内部特征进行拼接作为模型的新特征,将词性特征引入步骤1的新的中文BERT预训练模型中,即在BERT结构中添加词性特征,将新的BERT预训练模型中的字特征和词性特征相结合,得到新特征Xnew,即为字向量,如式(2-1)所示:
Xnew=EmbeddingLookup(X)+PositionEncoding+PosEncoding (2-1)
X∈Rbatch_size*seq_len*embed_dim
其中,batch_size为每次送入网络中训练的一批次句子的个数;seq_len为一个句子的长度;embed_dim是新的BERT预训练模型中的字特征的维度;EmbeddingLookup(X)是查找字向量X的嵌入表示;PositionEncoding来区分句子中词的位置信息,在表示字向量时引入的位置编码;PosEncoding为词性编码,将句子中的词性信息转换成特征向量,得出的新特征Xnew作为命名实体识别模型的输入;
步骤3:使用卷积神经网络CNN模型对步骤2)得出的新的字向量进行卷积操作、用使用双向循环神经网络BiLSTM模型进行命名实体识别任务,最后引入CRF模型通过概率统计对BiLSTM的输出进行解码,获得序列标注预测结果,具体为:
步骤3.1:输入层,该层用来接收BERT预训练模型得出的新特征Xnew,采用“+”将每一个字向量连接表示为一个向量矩阵n×k的矩阵X,其计算公式如式(3-1)所示,矩阵X作为CNN模块的输入矩阵,对于输入句子S={x1,x2,...,xn},
X=x1+x2+...+xn (3-1)
X∈Rn×k
其中,xi表示训练得出的向量表示,i为1-n;n表示句子的中的字符个数;
步骤3.2:卷积层:使用卷积操作进行特征提取,使用多个不同尺寸大小的卷积核进行卷积操作,每个卷积核都有一个权重矩阵W,通过设置不同窗口值的卷积核,来提取词语之间的局部特征,为卷积后得到的特征矩阵,公式为:
ci=f(W*xi:i+h-1+b) (3-2)
C=[c1,c2,...,cn-h+1] (3-3)
其中,W是CNN网络的参数,为权重矩阵,其中每个卷积核的宽度是是嵌入矩阵宽度,卷积核的高度是句子的长度,即窗口值,W的初始值随机产生,并伴随训练而变化;i是句子中的字符个数,h是窗口值,xi:i+h-1是计算卷积核的词向量矩阵;b为偏置;f为ReLU激活函数;C是卷积后得到的特征矩阵;
步骤3.3:将CNN的输出字符向量(c1,c2,...,cn-h+1)作为BiLSTM模型的输入进行命名实体识别任务,,再将正向BiLSTM输出的隐式状态序列 和后向状态序列进行拼接输出为HNEW=(Hf:Hk),并预测出的每个字属于哪种标签预测值;
步骤3.4:再使用CRF层将BiLSTM预测出的每个字属于哪种标签预测值作为自己的输入,输出符合标注转移约束条件的、最大可能的预测标注序列,用X=(x1,x2,...,xn)表示输入的单词序列,用Y=(y1,y2,...,yn)表示句子长度为n的标注序列,对于长度为n的句子的分数计算如式(3-4)所示:
步骤4:使用基于规则的方法对模型识别出的实体结果进行校正,对实体词长度小于阈值且依据该实体词的前一个词的词性来判断是否进行实体词的扩充,避免识别错误、漏识别等问题方法,具体为:判断实体长度是否小于长度阈值,本发明实施例中,长度阈值为5,若在设定的长度阈值范围之内,再判断该实体词的前面是否是形容词,若是形容词,则拼接成一个新的实体作为最后的实体词,提升跨模态检索的精确率,若不是形容词,说明是一个完整的词语,则不考虑进行实体词扩充。
实施例1:
如图3所示,基于规则和改进预训练模型的命名实体识别方法具体为:
步骤1:从百度百科上获取“长绒棉”的结构化和非结构化文本信息。解析html文件,主要提取网页中关键词、摘要、内容等信息;
步骤2:对提取的文本进行处理,除去文本中的“引号、感叹号、波浪号,省略号”等特殊符号,接着将关键词条和文本信息合并成文本形式,利用句子分隔符好对文本进行分句;
步骤3:领域词典库是从各大专业权威网站及搜狗等词典库抓取到的领域词汇,将搜集到的词语作为纺织领域专有的词典库,先从纺织领域词典库对所有的文本数据进行第一轮标注;再使用Brat标注工具对保留的纺织领域相关的文本数据中的专有名词进行第二轮人工标注;
步骤4:利用分词工具和词性标注对文本进行切词、词性标注,转化为命名实体识别模型可使用的语义特征;
步骤5:将以上所有的数据处理成命名实体识别任务需要的数据格式。在命名实体识别任务中需要将每个字标注为一定的格式:B表示实体词的开头,I表示实体词的其他位置,O表示不属于任何类型。对于每个字的词性也标注成一定的格式:n表示的是名词、v表示的是动词、m表示的是数词。同时将所有的文本按照一定的比例7:2:1分成训练数据和验证数据、测试数据;命名实体识别任务需要的数据格式参考表1:
表1
步骤6:从多个纺织领域网站上抓取了不断预训练的实验数据,并对文本数据进行清洗和预处理,还剔除了与领域不相关的文本,最终选取与领域相关的句子作为不断预训练的语料,其中不同实体段落描述用空行隔开,每一行是一句话。不断预训练的数据格式如表2所示:
表2
步骤7:使用自己的领域数据在BERT模型基础之上再次预训练,得到最终领域强相关的中文预训练模型。继续预训练的算法思路如下表3所示:
表3
步骤8:在使用字向量基础之上引入词性特征,词性表示代表的是一句话中每个字的词性信息,其表示格式如表1所示。通过使用字词联合的方法,两种方法可以进行互补,提升命名实体识别任务的识别率。加入词性特征的输入嵌入表示,如公式(1)所示:
Xnew=EmbeddingLookup(X)+PositionEncoding+PosEncoding (1)
X∈Rbatch_size*seq_len*embed_dim
其中,batch_size为每次送入网络中训练的一批次句子的个数;seq_len为一个句子的长度;embed_dim是新的BERT预训练模型中的字特征的维度;EmbeddingLookup(X)是查找字向量X的嵌入表示;PositionEncoding来区分句子中词的位置信息,在表示字向量时引入的位置编码;PosEncoding为词性编码,将句子中的词性信息转换成特征向量;
步骤9:输入层,该层用来接收BERT预训练模型得出的新特征Xnew,采用“+”将每一个字向量连接表示为一个向量矩阵n×k的矩阵X,其计算公式如式(2)所示,矩阵X作为CNN模块的输入矩阵,对于输入句子S={x1,x2,...,xn},
X=x1+x2+...+xn (2)
X∈Rn×k
其中,xi表示训练得出的向量表示,i为1-n;n表示句子的中的字符个数;
卷积层:使用卷积操作进行特征提取,使用多个不同尺寸大小的卷积核进行卷积操作,每个卷积核都有一个权重矩阵W,通过设置不同窗口值的卷积核,来提取词语之间的局部特征,为卷积后得到的特征矩阵,公式为:
ci=f(W*xi:i+h-1+b) (3)
C=[c1,c2,...,cn-h+1] (4)
其中,W是CNN网络的参数,为权重矩阵,其中每个卷积核的宽度是是嵌入矩阵宽度,卷积核的高度是句子的长度,即窗口值,W的初始值随机产生,并伴随训练而变化;i是句子中的字符个数,h是窗口值,xi:i+h-1是计算卷积核的词向量矩阵;b为偏置;f为ReLU激活函数;C是卷积后得到的特征矩阵;
步骤10:将CNN的输出字符向量(c1,c2,...,cn-h+1)作为BiLSTM模型的输入进行命名实体识别任务,再将正向BiLSTM输出的隐式状态序列 和后向状态序列进行拼接输出为HNEW=(Hf:Hk);
步骤11:再使用CRF层将BiLSTM计算出来的概率值作为自己的输入,输出符合标注转移约束条件的、最大可能的预测标注序列:
(1)CRF层将BiLSTM预测出的每个字属于哪种标签预测值作为自己的输入,输出符合标注转移约束条件的、最佳的预测标注序列,输出符合标注转移约束条件的、最佳的预测标注序列,用X=(x1,x2,...,xn)表示输入的单词序列,用Y=(y1,y2,...,yn)表示句子长度为n的标注序列,对于长度为n的句子的分数计算如式(5)所示:
(2)对于纺织领域,每个训练句子X=(x1,x2,...,xn),求出在句子X下标签序列Y的条件概率,其中所有可能的标签序列得分score(x,y),即使用softmax函数进行归一化后的概率,如式(6)所示:
(3)在模型预测过程中,给定输入序列X,使用维特比算法来求解最优路径,即对观测序列进行标注,最高概率y如下所示,其中y’表示给定的条件特征,如式(7)所示:
y=argmaxscore(x,y′) (7)
步骤12:用基于规则的方法对模型识别出的实体结果进行校正,方法是判断实体长度是否小于长度阈值5,若在设定的长度阈值范围之内,再判断该实体词的前面是否是形容词,若是形容词,则拼接成一个新的实体作为最后的实体词,提升跨模态检索的精确率,若不是形容词,说明是一个完整的词语,则不考虑进行实体词扩充。例如,对于句子“马海毛原是指一种优质的山羊毛。”,命名实体识别模型学习出来的结果可能“羊毛”而不是“山羊毛”,因此,通过实体词扩充得到纺织实体词为“山羊毛”。
本发明综合考虑了纺织面料文本中词语的分词信息、词性信息等多种统计特征,首先将命名实体识别任务提取看作一个多分类问题,利用CNN-BiLSTM-CRF的方法预测每个词的分类结果,能够从更深的层次挖掘词语之间的内在联系。然后结合规则的方法对结果进行二次验证,进一步提升了结果的准确率。
Claims (6)
1.一种基于规则和改进预训练模型的命名实体识别方法,以BERT预训练模型为基础,增加与下游任务相同的领域数据继续预训练,接着在命名实体识别模型上进行训练,最后使用规则匹配算法对识别精度进行优化的过程,其特征在于具体包括以下步骤:
步骤1:在BERT预训练的基础之上,增加与下游任务相同的领域数据继续预训练,得出新的中文BERT预训练模型;
步骤2:基于词性更能够表达重要词语的属性信息,在步骤1)的中文BERT预训练模型内部结构中添加词性特征得到新的字向量,作为卷积神经网络CNN模型的输入特征,以增强系统的识别性能;
步骤3:使用卷积神经网络CNN模型对步骤2)得出的新的字向量进行卷积操作、用使用双向循环神经网络BiLSTM模型进行命名实体识别任务,最后引入CRF模型通过概率统计对BiLSTM的输出进行解码,获得序列标注预测结果;
步骤4:使用基于规则的方法对模型识别出的实体结果进行校正,对实体词长度小于阈值且依据该实体词的前一个词的词性来判断是否进行实体词的扩充,避免识别错误、漏识别等问题。
2.根据权利要求1所述的一种基于规则和改进预训练模型的命名实体识别方法,其中步骤1的具体过程为:
1)构造领域词典:从纺织领域网站、搜狗词典库等网站上搜集纺织面料关键词,并将收集到的关键词作为领域词典;
2)数据集准备:以步骤1)所得的领域词典为目标词,解析百度百科的html文件,提取出网页中相关文本数据;再对提取出的文本数据进行清洗和预处理,将关键词、摘要和内容信息合并成一个短文本,并去除文本中无用词和特殊符号,保留领域相关的文本数据,同时将所有的文本数据整理成一行一个句子的形式;
3)数据标注与划分:依据领域词典对步骤2)中保留的领域相关的文本数据先进行一轮数据预标注,再使用Brat标注工具对保留的纺织领域相关的文本数据中的专有名词进行第二轮人工标注,利用分词工具对文本进行切词、词性标注;最后将保留的纺织领域相关的文本数据处理成命名实体识别任务能处理的数据形式BIO,其中B表示实体词的开头,I表示实体词的其他位置,O表示不属于任何类型,最后按照7∶2∶1的比例将文本数据划分成为训练数据、验证数据和测试数据,至此数据准备完成;
4)BERT不断预训练的数据准备:为了提升模型的识别率,从多个纺织领域网站上抓取不断预训练的纺织领域文本数据,并对所述文本数据进行清洗和预处理,剔除与领域不相关的文本数据,将剩余的文本数据作为不断预训练的语料,加入步骤3)的纺织领域文本数据中,在BERT模型基础上再次预训练,得到最终领域强相关的中文预训练模,即为新的中文BERT预训练模型。
3.根据权利要求1所述的一种基于规则和改进预训练模型的命名实体识别方法,其特征在于步骤2的具体过程如下:
1)词性特征为一句话中每个字的词性信息,将词性特征引入步骤1的新的中文BERT预训练模型中,即在BERT结构中添加词性特征,将新的BERT预训练模型中的字特征和词性特征相结合,得到新特征Xnew,即为字向量,如式(2-1)所示:
Xnew=EmbeddingLookup(X)+PositionEncoding+PosEncoding (2-1)
X∈Rbatch_size*seq_len*embed_dim
其中,batch_size为每次送入网络中训练的一批次句子的个数;seq_len为一个句子的长度;embed_dim是新的BERT预训练模型中的字特征的维度;EmbeddingLookup(X)是查找字向量X的嵌入表示;PositionEncoding来区分句子中词的位置信息,在表示字向量时引入的位置编码;PosEncoding为词性编码,将句子中的词性信息转换成特征向量;
2)将步骤1)得出的新特征Xnew作为命名实体识别模型的输入。
4.根据权利要求3所述的一种基于规则和改进预训练模型的命名实体识别方法,其特征在于步骤3的具体过程如下:
1)输入层,该层用来接收BERT预训练模型得出的新特征Xnew,采用“+”将每一个字向量连接表示为一个向量矩阵n×k的矩阵X,其计算公式如式(3-1)所示,矩阵X作为CNN模块的输入矩阵,对于输入句子S={x1,x2,...,xn},
X=x1+x2+...+xn (3-1)
X∈Rn×k
其中,xi表示训练得出的向量表示,i为1-n;n表示句子的中的字符个数;
2)卷积层:使用卷积操作进行特征提取,使用多个不同尺寸大小的卷积核进行卷积操作,每个卷积核都有一个权重矩阵W,通过设置不同窗口值的卷积核,来提取词语之间的局部特征,为卷积后得到的特征矩阵,公式为:
ci=F(W*xi:i+h-1+b) (3-2)
C=[c1,c2,...,cn-h+1] (3-3)
其中,W是CNN网络的参数,为权重矩阵,其中每个卷积核的宽度是是嵌入矩阵宽度,卷积核的高度是句子的长度,即窗口值,W的初始值随机产生,并伴随训练而变化;i是句子中的字符个数,h是窗口值,xi:i+h-1是计算卷积核的词向量矩阵;b为偏置;f为ReLU激活函数;C是卷积后得到的特征矩阵;
3)将CNN的输出字符向量(c1,c2,...,cn-h+1)作为BiLSTM模型的输入进行命名实体识别任务,再将正向BiLSTM输出的隐式状态序列和后向状态序列进行拼接输出为HNEW=(Hf:Hk);
4)CRF层将BiLSTM预测出的每个字属于哪种标签预测值作为自己的输入,输出符合标注转移约束条件的、最佳的预测标注序列,输出符合标注转移约束条件的、最佳的预测标注序列,用X=(x1,x2,...,xn)表示输入的单词序列,用Y=(y1,y2,...,yn)表示句子长度为n的标注序列,对于长度为n的句子的分数计算如式(3-4)所示:
5.根据权利要求1所述的一种基于规则和改进预训练模型的命名实体识别方法,其特征在于步骤4具体为:利用基于规则的方法对模型识别出的实体结果进行校正,方法是判断实体长度是否小于长度阈值,若在设定的长度阈值范围之内,再判断该实体词的前面是否是形容词,若是形容词,则拼接成一个新的实体作为最后的实体词,提升跨模态检索的精确率,若不是形容词,说明是一个完整的词语,则不考虑进行实体词扩充。
6.根据权利要求5所述的一种基于规则和改进预训练模型的命名实体识别方法,其特征在于长度阈值设为5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110229580.1A CN112818694A (zh) | 2021-03-02 | 2021-03-02 | 一种基于规则和改进预训练模型的命名实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110229580.1A CN112818694A (zh) | 2021-03-02 | 2021-03-02 | 一种基于规则和改进预训练模型的命名实体识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112818694A true CN112818694A (zh) | 2021-05-18 |
Family
ID=75862678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110229580.1A Pending CN112818694A (zh) | 2021-03-02 | 2021-03-02 | 一种基于规则和改进预训练模型的命名实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818694A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283244A (zh) * | 2021-07-20 | 2021-08-20 | 湖南达德曼宁信息技术有限公司 | 一种基于预训练模型的招投标数据命名实体识别方法 |
CN113536735A (zh) * | 2021-09-17 | 2021-10-22 | 杭州费尔斯通科技有限公司 | 一种基于关键词的文本标记方法、系统和存储介质 |
CN113673248A (zh) * | 2021-08-23 | 2021-11-19 | 中国人民解放军32801部队 | 试验鉴定小样本文本的命名实体识别方法 |
CN113688215A (zh) * | 2021-08-03 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 信息抽取、模型训练方法、装置、计算机设备和存储介质 |
CN113722476A (zh) * | 2021-07-30 | 2021-11-30 | 的卢技术有限公司 | 一种基于深度学习的简历信息提取方法及系统 |
CN113901826A (zh) * | 2021-12-08 | 2022-01-07 | 中国电子科技集团公司第二十八研究所 | 基于串行混合模型的军事新闻实体识别方法 |
CN114048748A (zh) * | 2021-11-17 | 2022-02-15 | 上海勃池信息技术有限公司 | 命名实体识别系统、方法、电子设备及介质 |
CN114462411A (zh) * | 2022-02-14 | 2022-05-10 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备及存储介质 |
CN114970666A (zh) * | 2022-03-29 | 2022-08-30 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
CN115017335A (zh) * | 2022-06-16 | 2022-09-06 | 特赞(上海)信息科技有限公司 | 知识图谱构建方法和系统 |
CN115374788A (zh) * | 2022-10-26 | 2022-11-22 | 江西农业大学 | 农业病虫害文本命名实体的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649272A (zh) * | 2016-12-23 | 2017-05-10 | 东北大学 | 一种基于混合模型的命名实体识别方法 |
CN107133220A (zh) * | 2017-06-07 | 2017-09-05 | 东南大学 | 一种地理学科领域命名实体识别方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
CN112002411A (zh) * | 2020-08-20 | 2020-11-27 | 杭州电子科技大学 | 一种基于电子病历的心脑血管病知识图谱问答方法 |
-
2021
- 2021-03-02 CN CN202110229580.1A patent/CN112818694A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649272A (zh) * | 2016-12-23 | 2017-05-10 | 东北大学 | 一种基于混合模型的命名实体识别方法 |
CN107133220A (zh) * | 2017-06-07 | 2017-09-05 | 东南大学 | 一种地理学科领域命名实体识别方法 |
CN112002411A (zh) * | 2020-08-20 | 2020-11-27 | 杭州电子科技大学 | 一种基于电子病历的心脑血管病知识图谱问答方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
Non-Patent Citations (1)
Title |
---|
王子璇: "中医健康领域知识图谱构建研究", 万方学位论文, vol. 978, pages 10 - 17 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283244A (zh) * | 2021-07-20 | 2021-08-20 | 湖南达德曼宁信息技术有限公司 | 一种基于预训练模型的招投标数据命名实体识别方法 |
CN113722476A (zh) * | 2021-07-30 | 2021-11-30 | 的卢技术有限公司 | 一种基于深度学习的简历信息提取方法及系统 |
CN113688215A (zh) * | 2021-08-03 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 信息抽取、模型训练方法、装置、计算机设备和存储介质 |
CN113673248B (zh) * | 2021-08-23 | 2022-02-01 | 中国人民解放军32801部队 | 试验鉴定小样本文本的命名实体识别方法 |
CN113673248A (zh) * | 2021-08-23 | 2021-11-19 | 中国人民解放军32801部队 | 试验鉴定小样本文本的命名实体识别方法 |
CN113536735A (zh) * | 2021-09-17 | 2021-10-22 | 杭州费尔斯通科技有限公司 | 一种基于关键词的文本标记方法、系统和存储介质 |
CN113536735B (zh) * | 2021-09-17 | 2021-12-31 | 杭州费尔斯通科技有限公司 | 一种基于关键词的文本标记方法、系统和存储介质 |
CN114048748A (zh) * | 2021-11-17 | 2022-02-15 | 上海勃池信息技术有限公司 | 命名实体识别系统、方法、电子设备及介质 |
CN114048748B (zh) * | 2021-11-17 | 2024-04-05 | 上海勃池信息技术有限公司 | 命名实体识别系统、方法、电子设备及介质 |
CN113901826A (zh) * | 2021-12-08 | 2022-01-07 | 中国电子科技集团公司第二十八研究所 | 基于串行混合模型的军事新闻实体识别方法 |
CN114462411A (zh) * | 2022-02-14 | 2022-05-10 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备及存储介质 |
CN114462411B (zh) * | 2022-02-14 | 2023-05-16 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备及存储介质 |
CN114970666A (zh) * | 2022-03-29 | 2022-08-30 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
CN114970666B (zh) * | 2022-03-29 | 2023-08-29 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
CN115017335A (zh) * | 2022-06-16 | 2022-09-06 | 特赞(上海)信息科技有限公司 | 知识图谱构建方法和系统 |
CN115374788A (zh) * | 2022-10-26 | 2022-11-22 | 江西农业大学 | 农业病虫害文本命名实体的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818694A (zh) | 一种基于规则和改进预训练模型的命名实体识别方法 | |
CN110298033B (zh) | 关键词语料标注训练提取系统 | |
CN108376131A (zh) | 基于seq2seq深度神经网络模型的关键词抽取方法 | |
CN109766544B (zh) | 基于lda和词向量的文档关键词抽取方法和装置 | |
CN110175246B (zh) | 一种从视频字幕中提取概念词的方法 | |
CN112256939B (zh) | 一种针对化工领域的文本实体关系抽取方法 | |
CN111950273A (zh) | 基于情感信息抽取分析的网络舆情突发事件自动识别方法 | |
CN113505200B (zh) | 一种结合文档关键信息的句子级中文事件检测的方法 | |
CN108038099B (zh) | 基于词聚类的低频关键词识别方法 | |
CN112966525B (zh) | 一种基于预训练模型和卷积神经网络算法的法律领域事件抽取方法 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN109948154B (zh) | 一种基于邮箱名的人物获取及关系推荐系统和方法 | |
CN111079419A (zh) | 一种基于大数据的国防科技热词发现方法及系统 | |
CN110866102A (zh) | 检索处理方法 | |
CN111967267B (zh) | 一种基于XLNet的新闻文本地域提取的方法及系统 | |
CN114153971A (zh) | 一种含错中文文本纠错识别分类设备 | |
CN111274494B (zh) | 结合深度学习和协同过滤技术的复合标签推荐方法 | |
Ikeda et al. | Person name disambiguation on the web by two-stage clustering | |
CN110020024B (zh) | 一种科技文献中链接资源的分类方法、系统、设备 | |
CN112131341A (zh) | 文本相似度计算方法、装置、电子设备和存储介质 | |
CN105677684A (zh) | 一种基于外部数据源对用户生成内容进行语义标注的方法 | |
CN113780832B (zh) | 舆情文本评分方法、装置、计算机设备和存储介质 | |
TW202034207A (zh) | 使用意圖偵測集成學習之對話系統及其方法 | |
Showrov et al. | Keyword extraction from bengali news | |
CN115017279A (zh) | 基于文本语义匹配的Stack Overflow相关问答检索方法 |
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 |