一种融合领域词典的中文农作物病虫害命名实体识别方法



1.本发明属于农业信息技术领域,涉及信息抽取,更具体地,涉及一种融合领域词典的中文农作物病虫害命名实体识别方法。


背景技术:



2.命名实体识别是自然语言处理任务中实体关系抽取的基础和关键。农作物病虫害防治相关信息存储于海量非结构化文本中,农户无法方便使用该类防治信息,将农业文本数据与科技相融合,形成科学有效的信息化防治体系,对农户提供高质量的防治信息服务,可最大限度的降低病虫害灾害对产量的影响。农作物病虫害领域的命名实体识别主要任务是对非结构化数据中的特定词和专业术语进行识别,如作物、虫害、药剂等实体。同时,农业病虫害领域的命名实体识别是构建农业自动问答系统、农业知识图等下游任务不可或缺的组成部分。
3.中文农作物病虫害命名实体识别任务传统方法主要采用基于词典和规则的方法和机器学习等方法。虽然这些方法表现尚可,但是依赖于人工特征模板,无法自动的挖掘文本特征,耗时繁琐提高了应用成本。端到端的深度学习速度更快,泛化性能更强,成为了主流方法,开始使用该类方法以解决农业领域的命名实体识别任务。
4.由于农作物病虫害实体长度较长,与上下文信息联系较强,需充分结合上下文,以丰富语义特征;农作物病虫害实体构造较复杂,实体构成常包括汉字数字字母等;在文本中存在大量的特定词和专业术语,通用模型效果较差,不易将通用模型迁移到该领域。以上所述都会给农作物病虫害的命名实体识别造成困难,使识别效果不理想。


技术实现要素:



5.针对现有技术存在的不足,本发明的目的在于,提供了一种融合领域词典的中文农作物病虫害命名实体识别方法,提高了对于中文农作物病虫害命名实体识别的准确率、召回率和f1值,提升识别农作物病虫害实体的效果。
6.为了解决上述技术问题,本发明采用如下技术方案予以实现:
7.一种融合领域词典的中文农作物病虫害命名实体识别方法,该方法按照以下步骤进行:
8.步骤1:获取网络中有关农作物病虫害的语料,对语料进行预处理,之后将得到的数据集进行标注,再将数据集划分为训练集和测试集;
9.步骤2:利用albert预训练模型获得初始化字向量并利用对抗训练生成对抗样本;
10.步骤3:将步骤2中得到的向量与对抗样本输入到bilstm层提取上下文特征;
11.步骤4:将步骤3得到的结果输入到crf层得到最优标注序列;
12.步骤5:构建小规模农作物病虫害领域词典,对步骤4得到的结果中遗漏、错误识别实体进行校正处理,得到最终结果。
13.所述对语料进行预处理具体为删除农作物病虫害文本语料中重复和不相关的内
容,去除文本中的空格、空行,接着对数据进行标注,选择使用yedda标注工具对数据进行标注,采用bio标注格式对作物名称、病害名称、虫害名称、病原、防治药剂五类实体进行标注,其中b表示实体名起点,i表示实体内部,o表示非实体,再将数据集划分为训练集和测试集。
14.所述albert预训练语言模型语义理解能力强、参数量少、训练速度快,能很好的学习文本特征,提高向量的表征能力。
15.所述对抗训练通过对albert层预训练模型输出的字向量xc=(f1,f2,k,fn)添加扰动,对该字向量添加扰动因子r
adv
,计算公式为:
[0016][0017][0018]
式中g(xc)为梯度,ε为超参数的小有界范数,θ为模型参数,y为标签信息,l(xc,y,θ)为损失函数。得到对抗样本a:
[0019]
a=xc+r
adv
[0020]
对抗样本能模拟标签中数据集的自然误差,让模型去适应参数变化带来的波动影响,因而可提升模型的鲁棒性。对抗样本生成后与原始生成的词向量同时送入bilstm层训练。
[0021]
所述bilstm是指正反向长短期记忆网络。bilstm网络能有效利用文本长距离语义,更多地挖掘语义特征。计算公式如下所示:
[0022]ft
=σ(wf[h
t-1
,x
t
]+bf)
[0023]it
=σ(wi[h
t-1
,x
t
]+bi)
[0024][0025][0026]ot
=σ(wo[h
t-1
,x
t
]+bo)
[0027]ht
=o
t
×
tanh(c
t
)
[0028]
其中,σ代表sigmod激活函数;tanh表示tan激活函数,用于将值规范到-1和1之间;f
t
、i
t
、c
t
、o
t
分别为在t时刻遗忘门、输入门、细胞状态和输出门计算公式;h
t-1
表示前一时刻的隐藏层状态,x
t
表示当前时刻的输入词,表示临时细胞状态。
[0029]
所述crf层的加入有助于避免标签顺序错误问题,从全局获取最优序列。设输入序列x=(x1,x2,...,xn),预测序列y=(y1,y2,...,yn),输入数据为从bilstm层的特征向量,得到输出矩阵p=(p1,p2,...,pn),该预测序列得分公式为:
[0030][0031]
式中表示从标签yi到标签y
i+1
输出概率,表示语句中字符被预测为标签yi的概率。
[0032]
在训练中利用最大似然估计计算得到最大概率序列:
[0033][0034]
最终运用softmax函数,计算出所有可能出现的标签概率,通过维特比(viterbi)算法解码,输出得到最优序列。y
*
表示最大概率的标签序列:
[0035][0036]
所述自构建领域词典对结果中未被网络模型识别出的实体进行校正,依凭该词典对模型结果进行校正提升,未被该模型识别出的实体划分为两类情况进行处理,具体处理方法如下:
[0037]
(1)第一类:取标注结果s中所有的实体,形成实体集tn=(t1,t2,k,tn),实体集中的实体遍历领域词典d中的每一个实体e。以编辑距离计算实体集tn=(t1,t2,k,tn)与词典中实体e的相似度,编辑距离指从一个以字为单位的词转变为另一个以字为单位的词所需的最小编辑距离,即对字符串某一位置的单个字符进行插入、删除、替换的操作。基于编辑距离的计算两个字符串之间的相似度公式为:
[0038][0039]
式中ed为实体集中实体的字符串与词典中实体e的字符串之间的编辑距离;l1为实体集中实体的字符串长度,l2为词典中实体e的字符串长度。两字符串之间的ed距离越小,相似度越大。设置合适的阈值,若两者相似度较高,则替换模型识别出的结果,防止出现模型识别出现标注错误的情况。
[0040]
(2)第二类:将模型识别输出的未标注序列提出,即标注的“o”编码语句,对其采用jieba分词处理,分词后与领域词典d进行匹配,若与词典中实体相同则补充相应类别的实体标签。
[0041]
最后将第一类与第二类情况处理后的结果合并,得到校正后的最终序列。
[0042]
本发明的有益效果是:
[0043]
1.本发明通过albert模型对语句字级别的向量嵌入表示,能更好的洞悉文本语义信息,对识别效果有较大提升
[0044]
2.本发明在albert层加入对抗训练的方法,有效解决了通用模型泛化性差的问题,提升模型识别性能。
[0045]
3.本发明对深度学习模型得出的结果采用自构建农作物病虫害领域词进行校正处理,解决了模型识别错误或未识别出实体而影响实体识别准确率的问题。
[0046]
4.本发明可以有效地提取出农作物病虫害非结构化数据中的作物名称、病害名称、虫害名称、病原、防治药剂五类实体,为后续进一步的构建农业自动问答系统、农业知识图等下游任务提供基础。
附图说明
[0047]
图1为本发明实施例的流程图;
[0048]
图2为本发明实施例中融合领域词典的中文农作物病虫害命名实体识别方法的模型框架图;
[0049]
图3为本发明实施例中albert预训练语言模型的结构示意图。
具体实施方式
[0050]
需要说明的是,本发明中的所有的软件、模块和层,如无特殊说明,全部均采用现有技术中已知的软件、模块和层。遵从上述技术方案,以下给出本发明的具体实施例,需要说明的是本发明并不局
[0051]
限于以下具体实施例,凡在本技术技术方案基础上做的等同变换均落入本发明的保护范围。
[0052]
实施例一
[0053]
本实施例给出一种融合领域词典的中文农作物病虫害命名实体识别方法,如图2所示,该方法按照以下步骤进行:
[0054]
步骤1:获取网络中有关农作物病虫害的语料,对语料进行预处理,之后将得到的数据集进行标注,再将数据集划分为训练集和测试集;
[0055]
步骤2:利用albert预训练模型获得初始化字向量并利用对抗训练生成对抗样本;
[0056]
步骤3:将步骤2中得到的向量与对抗样本输入到bilstm层提取上下文特征;
[0057]
步骤4:将步骤3得到的结果输入到crf层得到最优标注序列;
[0058]
步骤5:构建小规模农作物病虫害领域词典,对步骤4得到的结果校正处理,得到最终结果。
[0059]
上述的融合领域词典的中文农作物病虫害命名实体识别方法,获取网络中有关农作物病虫害的语料,对语料进行预处理,之后将得到的数据集进行标注,然后利用albert预训练模型获得初始化字向量并采用对抗训练生成对抗样本;将得到的初始化字向量与对抗样本输入到bilstm层提取上下文特征;再通过crf层得到最优标注序列,构建小规模农作物病虫害领域词典,对得到的标注序列结果中遗漏、错误识别实体校正处理,得到最终结果,提高了对于中文农作物病虫害命名实体识别的准确率、召回率和f1值,提升识别农作物病虫害实体的效果。
[0060]
步骤1中,对语料的预处理为删除农作物病虫害文本语料中重复和不相关的内容,去除文本中的空格、空行,接着对数据进行标注,选择使用yedda标注工具对数据进行标注,采用bio标注格式对作物名称、病害名称、虫害名称、病原、防治药剂五类实体进行标注,其中b表示实体名起点,i表示实体内部,o表示非实体,标签样式如表1所示,再将数据集划分为训练集和测试集。
[0061]
表1为标签样式图
[0062]
实体类型实体起点标签内部及结尾标签作物名称b-cropi-crop病害名称b-diseasei-disease虫害名称b-pesti-pest病原b-pathogenyi-pathogeny防治药剂b-medicamenti-medicament
[0063]
步骤2中,所述albert预训练语言模型采用对嵌入参数因式分解、层与层之间参数共享和句间顺序预测的三种方法,使该模型具有语义理解能力强、参数量少、训练速度快的
特点,能很好的学习文本特征,提高向量的表征能力。图3为albert预训练语言模型的结构示意图,albert的词向量由token embedding,segment embedding,position embedding组成,分别表示字词本身的信息,区分前后语句以及获取位置编码信息。
[0064]
所述对抗训练通过对albert层预训练模型输出的字向量xc=(f1,f2,k,fn)添加扰动,对该字向量添加扰动因子r
ad
v,计算公式为:
[0065][0066][0067]
式中g(xc)为梯度,ε为超参数的小有界范数,θ为模型参数,y为标签信息,l(xc,y,θ)为损失函数。得到对抗样本a:
[0068]
a=xc+r
adv
[0069]
对抗样本能模拟标签中数据集的自然误差,让模型去适应参数变化带来的波动影响,因而可提升模型的鲁棒性。对抗样本生成后与原始生成的词向量同时送入bilstm层训练。
[0070]
步骤3中,所述bilstm是指正反向长短期记忆网络。bilstm网络能有效利用文本长距离语义,更多地挖掘语义特征。计算公式如下所示:
[0071]ft
=σ(wf[h
t-1
,x
t
]+bf)
[0072]it
=σ(wi[h
t-1
,x
t
]+bi)
[0073][0074][0075]ot
=σ(wo[h
t-1
,x
t
]+bo)
[0076]ht
=o
t
×
tanh(c
t
)
[0077]
其中,σ代表sigmod激活函数;tanh表示tan激活函数,用于将值规范到-1和1之间;f
t
、i
t
、c
t
、o
t
分别为在t时刻遗忘门、输入门、细胞状态和输出门计算公式;h
t-1
表示前一时刻的隐藏层状态,x
t
表示当前时刻的输入词,表示临时细胞状态。
[0078]
步骤4中,crf层的加入有助于避免标签顺序错误问题,从全局获取最优序列。设输入序列x=(x1,x2,...,xn),预测序列y=(y1,y2,...,yn),输入数据为从bilstm层的特征向量,得到输出矩阵p=(p1,p2,...,pn),该预测序列得分公式为:
[0079][0080]
式中表示从标签yi到标签y
i+1
输出概率,表示语句中字符被预测为标签yi的概率。
[0081]
在训练中利用最大似然估计计算得到最大概率序列:
[0082][0083]
最终运用softmax函数,计算出所有可能出现的标签概率,通过维特比(viterbi)
算法解码,输出得到最优序列。y
*
表示最大概率的标签序列:
[0084][0085]
步骤5中,所述自构建领域词典对步骤4得到的结果中未被网络模型识别出的实体进行校正,依凭该词典对模型结果进行校正提升,未被该模型识别出的实体划分为两类情况进行处理,具体处理方法如下:
[0086]
(1)第一类:取标注结果s中所有的实体,形成实体集tn=(t1,t2,k,tn),实体集中的实体遍历领域词典d中的每一个实体e。以编辑距离计算实体集tn=(t1,t2,k,tn)与词典中实体e的相似度,编辑距离指从一个以字为单位的词转变为另一个以字为单位的词所需的最小编辑距离,即对字符串某一位置的单个字符进行插入、删除、替换的操作。基于编辑距离的计算两个字符串之间的相似度公式如下所示:
[0087][0088]
式中ed为实体集中实体的字符串与词典中实体e的字符串之间的编辑距离;l1为实体集中实体的字符串长度,l2为词典中实体e的字符串长度。两字符串之间的ed距离越小,相似度越大。设置合适的阈值,若两者相似度较高,则替换模型识别出的结果,防止出现模型识别出现标注错误的情况。
[0089]
(2)第二类:将模型识别输出的未标注序列提出,即标注的“o”编码语句,对其采用jieba分词处理,分词后与领域词典d进行匹配,若与词典中实体相同则补充相应类别的实体标签。
[0090]
最后将第一类与第二类情况处理后的结果合并,得到校正后的最终序列。
[0091]
将标注数据集按照7:3的比例分为训练集与测试集,采取的相同的数据集在本实施例
[0092]
的模型与现有模型进行模型的训练和预测,不同实体识别模型性能对比参照如表2所示:
[0093]
表2不同实体识别模型实验结果对比
[0094][0095]
由表2可知,通过在albert层加入对抗训练之后,再将模型识别得到的结果进行词典校正处理,准确率,召回率,f1值分别达到了96.16%,97.58%,96.87%,精确率,召回率,
f1值都有一定的提升,证明了在albert预训练模型引入对抗训练能够提升模型的泛化性和鲁棒性,且融合领域词典的方法更进一步的提高了识别的效果,证明了本实施例中的中文农作物病虫害命名实体识别方法的有效性。
[0096]
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

技术特征:


1.一种融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,包括以下步骤:步骤1:获取网络中有关农作物病虫害的语料,对语料进行预处理,之后将得到的数据集进行标注,再将数据集划分为训练集和测试集;步骤2:利用albert预训练模型获得初始化字向量并利用对抗训练生成对抗样本;步骤3:将步骤2中得到的向量与对抗样本输入到bilstm层提取上下文特征;步骤4:将步骤3得到的结果输入到crf层得到最优标注序列;步骤5:构建小规模农作物病虫害领域词典,对步骤4得到的结果校正处理,得到最终结果。2.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,步骤1中,删除农作物病虫害文本语料中重复和不相关的内容,去除文本中的空格、空行,接着对数据进行标注,选择使用yedda标注工具对数据进行标注,采用bio标注格式对作物名称、病害名称、虫害名称、病原、防治药剂五类实体进行标注,其中b表示实体名起点,i表示实体内部,o表示非实体,再将数据集划分为训练集和测试集。3.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,步骤2中,所述albert预训练语言模型语义理解能力强、参数量少、训练速度快,能很好的学习文本特征,提高向量的表征能力。4.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,所述对抗训练通过对albert层预训练模型输出的字向量x
c
=(f1,f2,k,f
n
)添加扰动,对该字向量添加扰动因子r
adv
,计算公式为:,计算公式为:式中g(x
c
)为梯度,ε为超参数的小有界范数,θ为模型参数,y为标签信息,l(x
c
,y,θ)为损失函数,得到对抗样本a:a=x
c
+r
adv
对抗样本能模拟标签中数据集的自然误差,让模型去适应参数变化带来的波动影响,因而可提升模型的鲁棒性,对抗样本生成后与原始生成的词向量同时送入bilstm层训练。5.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,所述bilstm是指正反向长短期记忆网络,bilstm网络能有效利用文本长距离语义,更多地挖掘语义特征,计算公式如下所示:f
t
=σ(w
f
[h
t-1
,x
t
]+b
f
)i
t
=σ(w
i
[h
t-1
,x
t
]+b
i
))o
t
=σ(w
o
[h
t-1
,x
t
]+b
o
)h
t
=o
t
×
tanh(c
t
)
其中,σ代表sigmod激活函数;tanh表示tan激活函数,用于将值规范到-1和1之间;f
t
、i
t
、c
t
、o
t
分别为在t时刻遗忘门、输入门、细胞状态和输出门计算公式;h
t-1
表示前一时刻的隐藏层状态,x
t
表示当前时刻的输入词,表示临时细胞状态。6.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,步骤4中,crf层的加入有助于避免标签顺序错误问题,从全局获取最优序列,设输入序列x=(x1,x2,...,x
n
),预测序列y=(y1,y2,...,y
n
),输入数据为从bilstm层的特征向量,得到输出矩阵p=(p1,p2,...,p
n
),该预测序列得分公式为:式中表示从标签y
i
到标签y
i+1
输出概率,表示语句中字符被预测为标签y
i
的概率,在训练中利用最大似然估计计算得到最大概率序列:最终运用softmax函数,计算出所有可能出现的标签概率,通过维特比(viterbi)算法解码,输出得到最优序列,y
*
表示最大概率的标签序列:7.根据权利要求1所述的融合领域词典的中文农作物病虫害命名实体识别方法,其特征在于,步骤5中,所述自构建领域词典对步骤4得到的结果中未被网络模型识别出的实体进行校正,依凭该词典对模型结果进行校正提升,未被该模型识别出的实体划分为两类情况进行处理,具体处理方法如下:(1)第一类:取标注结果s中所有的实体,形成实体集t
n
=(t1,t2,k,t
n
),实体集中的实体遍历领域词典d中的每一个实体e,以编辑距离计算实体集t
n
=(t1,t2,k,t
n
)与词典中实体e的相似度,编辑距离指从一个以字为单位的词转变为另一个以字为单位的词所需的最小编辑距离,即对字符串某一位置的单个字符进行插入、删除、替换的操作,基于编辑距离的计算两个字符串之间的相似度公式如下所示:式中ed为实体集中实体的字符串与词典中实体e的字符串之间的编辑距离;l1为实体集中实体的字符串长度,l2为词典中实体e的字符串长度,两字符串之间的ed距离越小,相似度越大,设置合适的阈值,若两者相似度较高,则替换模型识别出的结果,防止出现模型识别出现标注错误的情况;(2)第二类:将模型识别输出的未标注序列提出,即标注的“o”编码语句,对其采用jieba分词处理,分词后与领域词典d进行匹配,若与词典中实体相同则补充相应类别的实体标签,第一类与第二类情况处理后的结果合并,得到校正后的最终序列。

技术总结


本发明公开了一种融合领域词典的中文农作物病虫害命名实体识别方法,包括步骤1:建立农作物病虫害命名实体识别的语料库;步骤2:对语料进行预处理获得数据集并进行标注;步骤3:利用ALBERT预训练语言模型进行训练;步骤4:将ALBERT预训练模型的输出进行对抗训练,生成对抗样本;步骤5:得到的文本向量通过BiLSTM层提取上下文特征;步骤6:再结合CRF层得到农作物病虫害命名实体识别的最优标注序列;步骤7:最后辅以自构建的小规模领域词典对遗漏、错误识别实体加以校正。本发明解决了农作物病虫害领域命名实体识别过程中存在的上下文语义特征获取不充分、实体构造较复杂、通用模型迁移效果差的问题。果差的问题。果差的问题。


技术研发人员:

彭煜栋 刘孝保 刘浩宇 杨林

受保护的技术使用者:

昆明理工大学

技术研发日:

2022.10.14

技术公布日:

2022/12/22

本文发布于:2024-09-24 23:30:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/47238.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实体   病虫害   农作物   模型
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议