融合RoBERTa-wwm和对抗训练的农作物病虫害命名实体识别方法
未命名
08-25
阅读:211
评论:0
融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法
技术领域
1.本发明属于信息技术领域,具体涉及一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法。
背景技术:
2.为了有效预防和控制农作病虫害的发生,必须快速准确地获取病虫害防治信息。然而,随着信息技术的高速发展,农作物病虫害文本数据规模呈指数级增长,如何从海量异构的数据源中抽取出农作物病虫害知识,成为亟待解决的问题。农作物病虫害命名实体识别旨在从非结构化的海量数据中准确高效的识别病虫害相关实体,有助于人们快速准确地获取到有价值的病虫害防治信息,对农作物病虫害防治具有重要意义。同时,农作物病虫害实体识别也是构建病虫害知识图谱和问答系统的研究基础,其识别效果直接影响知识图谱和问答系统的质量。因此,研究有效的病虫害领域实体识别模型,准确识别病虫害领域中各类实体对农业信息化具有重要的研究价值和现实意义。
3.目前中文命名实体识别已经广泛应用于生物医学、地质和金融等专业领域,然而对农作物病虫害命名实体识别的深入研究却相对较少。以往关于农作物病虫害命名实体识别任务多采用了基于规则和字典的方法以及基于机器学习的方法。基于字典和规则的抽取方法需要提前设计规则或定义词典,过度依赖于专家,很难适应大数据时代农业数据的不断变化和扩展。基于规则的方法逐渐被机器学习方法所替代,常用于农业领域实体抽取的机器学习模型包括隐马尔可夫模型(hidden markov model,hmm)、最大熵马尔可夫模型(maximum entropy markov model,memm)以及条件随机场(conditional random fields,crf)等。张剑等利用分词系统和crf,完成了农业命名实体识别并将其细致分为多个实体。malarkodi等提出了一种基于crf对真实农业数据进行命名实体识别的方法。基于统计机器学习的方法提高了农业命名实体识别的精度,但是研究人员必须在特征工程和数据标注上花费大量精力,且存在数据高维稀疏、扩展性差等问题。
4.深度学习的发展为农业命名实体识别领域带来了新的突破。深度学习方法有效解决了传统命名实体识别方法在农业病虫害信息提取过程中依赖人工字典、特征提取不足的问题。常用的模型包括长短期记忆网络(long short-term memory,lstm)、循环神经网络(recurrent neural networks,rnn)和卷积神经网络(convolutional neural network,cnn)及其改进模型,quoc等使用bilstm和crf实现农业领域实体识别,为数字农业提供支撑。yu等提出了一种基于bilstm和crf的识别方法,完成了从非结构化文本中识别水稻品种信息的命名实体识别的任务。深度学习方法虽然取得了不错的效果。但因为lstm内部结构复杂,以bilstm和crf主干模型进行训练时需要耗费大量的时间和资源所以一些学者开始对lstm进行精简改进,门控循环单元(gated recurrent unit,gru)应用而生。但这些研究都是基于传统词向量模型获取静态表征,缺乏对不同语境下具有不同含义的同一个词进行区别表示的能力。基于transformer模型的大规模预训练模型能够多义词表征问题,在农作
物病虫害实体识别等任务上取得了更佳的性能。zhang等在农作物病害实体识别模型中引入bert进行动态向量表示,然后使用bilstm学习上下文信息,最终通过crf获取全局最优标签序列。刘合兵等提出基于融合albert与规则的小麦病虫害命名实体识别模型albert-bilstm-crf,准确率、召回率为、f1值都有一定程度的提升。
5.现有技术存在的主要缺点是:(1)现有研究中农作物病虫害命名实体识别模型在获取病虫害领域专业文本特征的能力上依旧有所欠缺,无法获取中文词级别的语义信息,存在边界不明显实体难界定、专有名词识别不准确的问题;(2)农作物病虫害语料数据中存在各实体标签样本分布不均衡的问题,样本分布不均衡会严重影响实体识别整体性能。
技术实现要素:
6.本发明的目的在于提供一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,该方法有利于提高农作物病虫害命名实体识别的性能。
7.为实现上述目的,本发明采用的技术方案是:一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,包括:
8.从不同的数据源获取相应的数据,构建农作物病虫害原始语料,对原始语料进行预处理,去除原始语料中的冗余数据,得到一个规范的农作物病虫害语料库;对实体数据进行标注,将标注后的数据按设定比例划分为训练集、验证集和测试集;
9.构建融合roberta-wwm和对抗训练的农作物病虫害命名实体识别模型rgc-adv,rgc-adv模型通过roberta-wwm模型对病虫害文本进行词级别的语义信息提取,获取动态词向量,以解决词识别不全的问题,并通过对抗训练来解决边界模糊的病虫害实体难界定的问题,同时引入focal loss改善病虫害样本标签不均衡的问题;通过得到的训练集、验证集和测试集对构建的rgc-adv模型进行训练测试,得到训练好的rgc-adv模型;
10.通过训练好的rgc-adv模型进行农作物病虫害命名实体识别。
11.进一步地,所述rgc-adv模型包括七大网络层,分别为:输入层、roberta-wwm层、对抗训练层、bigru层、全连接层、crf层和输出层;输入文本在roberta-wwm层进行预训练,获取词级别的语义信息,将病虫害文本的每个词都转换成特征向量;对抗训练层在roberta-wwm层输出的特征向量上添加扰动,生成对抗样本,提高模型对输入扰动的鲁棒性;将原始特征向量和对抗样本一起输入到bigru层中进行训练,充分学习上下文之间的关系;通过全连接层综合bigru层提取到的特征,然后输入crf层得到最终的预测结果,同时引入focal loss改善病虫害样本标签不均衡的问题。
12.进一步地,所述roberta-wwm层基于roberta-wwm模型实现,所述roberta-wwm模型采用中文全词掩码策略,首先对病虫害语料文本进行分词,然后对词进行掩盖;在覆盖了组成相同词的所有汉字后,对这些词进行预测;最终生成具有词级特征的动态词向量,以更适用于中文农作物病虫害命名实体识别任务;所述rgc-adv模型采用roberta-wwm模型作为病虫害命名实体识别的预训练模型提取文本特征,在训练过程中对模型参数进行微调,以使模型更好的学习病虫害数据的语义特征;所述roberta-wwm模型由12层transformer组成,每个transformer都采用多头注意力机制将输入的病虫害序列中任意位置的两个词距离缩小为一个常量,假设输入的是tok={tok
[cls]
,tok1,tok2…
tokn,tok
[sep]
},其中toki、ti、ei分别表示病虫害文本数据中第i个字和transformer编码前、后的字向量,通过roberta-wwm得
到与tok对应的向量e={e
[cls]
,e1,e2…en
,e
[sep]
},向量e包含roberta-wwm在预训练阶段获取的病虫害语义信息。
[0013]
进一步地,所述对抗训练层向模型中添加扰动,即向原始的输入病虫害样本中加入扰动后得到对抗样本,并将对抗样本输入模型进行训练,以防止病虫害私有信息的噪声,提高模型的泛化能力;在rgc-adv模型中引入投影梯度下降法pgd进行迭代攻击,每次都将扰动范围控制在指定范围s内,一旦扰动值超出指定范围s就将对抗样本x
t
投影到指定范围x+s内,迭代过程如公式(1)所示;
[0014][0015]
其中,α表示pgd每次迭代时扰动的大小,π
x+s
表示投影操作,x
t
和x
t+1
表示第t步和第t+1步迭代时生成的对抗样本;rgc-adv模型在roberta-wwm层输出的病虫害初始向量e表示的基础上添加扰动,生成病虫害对抗样本e
adv
,然后将e和e
adv
一同作为bigru层的输入进行训练。
[0016]
进一步地,所述bigru层由前向gru与后向gru组合而成;所述gru由更新门和重置门组成,更新门和重置门分别用z
t
和r
t
表示,更新门用于决定前一时刻的信息进入当前时刻的程度,重置门用于控制遗忘多少信息;gru网络的计算过程如公式(2)~(5)所示;
[0017]rt
=σ(wr[h
t-1
,x
t
])
ꢀꢀ
(2)
[0018]zt
=σ(wz[h
t-1
,x
t
])
ꢀꢀ
(3)
[0019][0020][0021]
其中,x
t
表示t时刻输入的病虫害信息,σ表示sigmod激活函数,h
t
和h
t-1
分别表示t和t-1时刻隐藏层的输出向量,表示当前候选集的状态,表示激活函数输入权重矩阵,*表示hadamard乘积,tanh()表示激活函数;
[0022]
所述bigru层采用双向门控循环单元bigru将对抗训练层输出的病虫害文本向量进行训练,捕捉病虫害信息上下文的语义依赖关系,同时获取前向和后向数据特征并加以利用,以提高预测的准确率。
[0023]
进一步地,所述全连接层用于将学到的分布式特征表示映射到样本标记空间,以实现样本的分类;所述rgc-adv模型通过全连接层对bigru层输出的病虫害样本特征结果进行整合,以削弱位置特征对分类结果的影响,从而提高病虫害样本分类效果。
[0024]
进一步地,所述crf层利用全连接层输出的序列p作为crf的输入,计算输出序列h的得分,计算过程如公式(6)所示;
[0025][0026]
其中,n为序列长度,a表示转移分数矩阵,a
ij
表示从病虫害样本第i个标签到第j个标签的转移分数矩阵;当进行解码时,采用维特比算法计算出所有h中概率最大的序列标签序列h
max
,如公式(7)所示;
[0027]hmax
=arg max(score(h,y))
ꢀꢀ
(7)
[0028]
所述rgc-adv模型通过crf层以获取全局最优的标签预测序列,同时引入focal loss损失函数对crf模型进行优化;focal loss通过控制正负分类样本的权重,让训练过程更关注负样本,以不断优化模型性能;其计算过程如公式(8)所示;
[0029]
loss
focal
=-α(1-p(y|x))
γ
ln(p(y|x)) (8)
[0030]
其中,α∈[0,1]是平衡因子,用于对病虫害样本中的正负样本数量进行平衡,γ≥0是调制系数,用于降低易分类样本,即非病虫害实体样本的损失,使模型更关注困难样本,即病虫害实体样本;p(y|x)表示病虫害样本x的标签为y的概率。
[0031]
与现有技术相比,本发明具有以下有益效果:提供了一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,该方法构建了一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别模型rgc-adv,该模型充分考虑了语料库的特征和句子中的隐含特征,通过roberta-wwm生成融合农业病虫害领域信息和特征的词向量表示,缓解模型在预测时因语义特征表示不全导致的偏差,增强模型对中文病虫害文本信息的语义表征能力;并在模型训练过程中引入对抗训练,在词向量层添加对抗扰动,提高模型的泛化能力的同时进一步提高边界不明显实体的识别效果;同时引入focal loss损失函数对crf进行优化,有效缓解病虫害标签样本分类不均衡的影响,为农作物病虫害知识图谱和问答系统等下游任务提供高质量的技术基础。
附图说明
[0032]
图1是本发明实施例的方法实现流程图;
[0033]
图2是本发明实施例中rgc-adv模型的结构示意图;
[0034]
图3是本发明实施例中roberta-wwm模型的结构示意图;
[0035]
图4是本发明实施例中gru的结构示意图。
具体实施方式
[0036]
下面结合附图及实施例对本发明做进一步说明。
[0037]
应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
[0038]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0039]
本实施例提供了一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,包括以下步骤:
[0040]
一、从不同的数据源获取相应的数据,构建农作物病虫害原始语料,对原始语料进行预处理,去除原始语料中的冗余数据,得到一个规范的农作物病虫害语料库;对实体数据进行标注,将标注后的数据按设定比例划分为训练集、验证集和测试集。
[0041]
(1)获取数据。选取中国农业科学院作物科学研究所发布的农作物病虫害数据为主要数据源,以百度百科作为补充数据源,以一些专业书籍和福建省农业领域专家的病虫害防治经验作为辅助数据源。根据不同的数据源确定相应的数据获取方法,获取相应的数据,构建农作物病虫害原始语料,原始语料中包含大量冗余数据,对原始数据进行预处理,以去除冗余数据,得到一个规范的农作物病虫害语料库。
[0042]
(2)数据标注。根据农业领域专家指导,划分实体类别,定义区分后缀,对实体数据进行标注,将标注后的数据以7:1:2的比例划分为训练集、验证集和测试集。
[0043]
二、构建融合roberta-wwm和对抗训练的农作物病虫害命名实体识别模型rgc-adv,其结构如图2所示。rgc-adv模型通过roberta-wwm模型对病虫害文本进行词级别的语义信息提取,获取动态词向量,以解决词识别不全的问题,并通过对抗训练来解决边界模糊的病虫害实体难界定的问题,同时引入focal loss改善病虫害样本标签不均衡的问题;通过得到的训练集、验证集和测试集对构建的rgc-adv模型进行训练测试,得到训练好的rgc-adv模型。
[0044]
在本实施例中,所述rgc-adv模型包括七大网络层,分别为:输入层、roberta-wwm层、对抗训练层、bigru层、全连接层、crf层和输出层。其工作机理为:
[0045]
1)输入文本在roberta-wwm层进行预训练,获取词级别的语义信息,将病虫害文本的每个词都转换成特征向量。
[0046]
2)对抗训练层在roberta-wwm层输出的特征向量上添加扰动,生成对抗样本,提高模型对输入扰动的鲁棒性。
[0047]
3)将原始特征向量和对抗样本一起输入到bigru层中进行训练,充分学习上下文之间的关系。
[0048]
4)通过全连接层综合bigru层提取到的特征,然后输入crf层得到最终的预测结果,同时引入focal loss改善病虫害样本标签不均衡的问题。
[0049]
在上述步骤中,roberta-wwm层、对抗训练层、bigru层、全连接层、crf层是本发明的重点,以下进行详细论述。
[0050]
(1)roberta-wwm层
[0051]
所述roberta-wwm层基于roberta-wwm模型实现。roberta-wwm是基于bert(bidirectional encoder representation from transformers)的基础上开发而来的,bert是一种采用双向的transformer作为编码器的预训练语言模型,有效的融合字左右两侧上下文的信息,bert的训练目标是完成预测下一句(next sentence prediction,nsp)和屏蔽语言模型(masked language model,mlm)。mlm的工作原理是从输入的病虫害语句中随机选取15%的字进行替换,其中80%的概率用掩盖标记[mask]替换,用随机字替换和原有字保持不变的概率各占10%。在执行mlm任务时,bert采用静态掩码,即每个病虫害样本整个训练过程中只进行一次随机掩码,而roberta模型使用动态掩码,在每个迭代周期都会重新从病虫害样本中随机选取一定比例的词进行替换,使得模型能够获得更多语句模式的表征,从而提高不同病种的病虫害命名实体识别准确率。roberta删除了nsp任务,改为采用连续的输入full-sentences和doc-sentences,直到输入的句子达到最大长度达到,研究表明roberta在句子关系的预测上有更好的效果。wwm是指预训练阶段样本采用全词掩码策略,以词为粒度进行掩盖,可以有效获取病虫害词级别的语义表示。roberta-wwm融合了roberta和wwm优点,对于中文病虫害语料,bert每次执行mlm时只会对单个中文汉字进行掩盖,无法学习到词级别的语义信息。
[0052]
在本实施例中,所述roberta-wwm模型采用中文全词掩码策略,首先对病虫害语料文本进行分词,然后对词进行掩盖;在覆盖了组成相同词的所有汉字后,对这些词进行预测;最终生成具有词级特征的动态词向量,以更适用于中文农作物病虫害命名实体识别任
务;所述rgc-adv模型采用roberta-wwm模型作为病虫害命名实体识别的预训练模型提取文本特征,在训练过程中对模型参数进行微调,以使模型更好的学习病虫害数据的语义特征。所述roberta-wwm模型由12层transformer组成,每个transformer都采用多头注意力机制将输入的病虫害序列中任意位置的两个词距离缩小为一个常量,模型结构如图3所示。假设输入的是tok={tok
[cls]
,tok1,tok2…
tokn,tok
[sep]
},其中toki、ti、ei分别表示病虫害文本数据中第i个字和transformer编码前、后的字向量,通过roberta-wwm得到与tok对应的向量e={e
[cls]
,e1,e2…en
,e
[sep]
},向量e包含roberta-wwm在预训练阶段获取的病虫害语义信息。
[0053]
(2)对抗训练层
[0054]
所述对抗训练层向模型中添加扰动,即向原始的输入病虫害样本中加入扰动后得到对抗样本,并将对抗样本输入模型进行训练,以防止病虫害私有信息的噪声,提高模型的泛化能力。在本实施例中,在rgc-adv模型中引入投影梯度下降法(projected gradient descent,pgd)进行迭代攻击,每次都将扰动范围控制在指定范围s内,一旦扰动值超出指定范围s就将对抗样本x
t
投影到指定范围x+s内,迭代过程如公式(1)所示;
[0055][0056]
其中,α表示pgd每次迭代时扰动的大小,π
x+s
表示投影操作,x
t
和x
t+1
表示第t步和第t+1步迭代时生成的对抗样本;rgc-adv模型在roberta-wwm层输出的病虫害初始向量e表示的基础上添加扰动,生成病虫害对抗样本e
adv
,然后将e和e
adv
一同作为bigru层的输入进行训练。
[0057]
(3)bigru层
[0058]
所述bigru层由前向gru与后向gru组合而成。gru的内部结构如图4所示。gru由更新门和重置门组成,更新门和重置门分别用z
t
和r
t
表示,更新门用于决定前一时刻的信息进入当前时刻的程度,重置门用于控制遗忘多少信息。gru网络的计算过程如公式(2)~(5)所示;
[0059]rt
=σ(wr[h
t-1
,x
t
]) (2)
[0060]zt
=σ(wz[h
t-1
,x
t
]) (3)
[0061][0062][0063]
其中,x
t
表示t时刻输入的病虫害信息,σ表示sigmod激活函数,h
t
和h
t-1
分别表示t和t-1时刻隐藏层的输出向量,表示当前候选集的状态,表示激活函数输入权重矩阵,*表示hadamard乘积,tanh()表示激活函数。
[0064]
但由于gru只能单向处理病虫害数据,只能通过获取前向的文本数据特征进行预测。因此,所述bigru层采用双向门控循环单元bigru将对抗训练层输出的病虫害文本向量进行训练,捕捉病虫害信息上下文的语义依赖关系,同时获取前向和后向数据特征并加以利用,以提高预测的准确率。
[0065]
(4)全连接层
[0066]
所述全连接层用于将学到的分布式特征表示映射到样本标记空间,以实现样本的分类。所述rgc-adv模型通过全连接层对bigru层输出的病虫害样本特征结果进行整合,以
削弱位置特征对分类结果的影响,从而提高病虫害样本分类效果。
[0067]
(5)crf层
[0068]
所述crf层利用全连接层输出的序列p作为crf的输入,计算输出序列h的得分,计算过程如公式(6)所示;
[0069][0070]
其中,n为序列长度,a表示转移分数矩阵,a
ij
表示从病虫害样本第i个标签到第j个标签的转移分数矩阵;当进行解码时,采用维特比算法计算出所有h中概率最大的序列标签序列h
max
,如公式(7)所示;
[0071]hmax
=arg max(score(h,y))
ꢀꢀ
(7)
[0072]
农作物病虫害命名实体识别任务中,邻近的病虫害标签具有顺序关系,如i-disease标签应该出现在b-disease之后,而bigru在处理学习标签的依赖关系上的能力有限,因此,所述rgc-adv模型增加了crf层以获取全局最优的标签预测序列。除此之外,由于病虫害样本标签分类不平衡,引入focal loss损失函数对crf模型进行优化。focal loss通过控制正负分类样本的权重,让训练过程更关注负样本,以不断优化模型性能;其计算过程如公式(8)所示;
[0073]
loss
focal
=-α(1-p(y|x))
γ
ln(p(y|x)) (8)
[0074]
其中,α∈[0,1]是平衡因子,用于对病虫害样本中的正负样本数量进行平衡,γ≥0是调制系数,用于降低易分类样本,即非病虫害实体样本的损失,使模型更关注困难样本,即病虫害实体样本;p(y|x)表示病虫害样本x的标签为y的概率。
[0075]
三、通过训练好的rgc-adv模型进行农作物病虫害命名实体识别。
[0076]
在本实施例中,利用构建的实体识别模型rgc-adv对农作物病虫害命名实体识别研究分析,具体为:
[0077]
(1)利用roberta-wwm模型对数据集进行预训练,采用adamw优化器来训练模型,并使用warmup学习率策略辅助学习。
[0078]
(2)采用多种模型进行对比分析,其中包括不同的嵌入方式以及同一嵌入方式下不同下游模型结构两类对比实验。
[0079]
(3)对病虫害、别称、病原、为害部位、分布区域、发病时期、为害作物、防治药剂8类实体进行模型性能测试,采用准确率、召回率、f1值三个评价指标对模型进行评估。
[0080]
本实施例选择福建省作为研究区域,根据福建省农业科学院第三次全国农作物种质资源普查和福建省历年统计年鉴的数据,遴选10种主要农作物获取病虫害材料,其中包括水稻、大豆、小麦、大麦和甘薯5种粮食作物以及茶树、甘蔗、花生、萝卜和油菜5种经济作物。基于本发明提出的rgc-adv模型对农作物病虫害数据集进行训练,对其中8类实体进行模型性能测试,实验结果如表1所示。整体来看,rgc-adv模型能够有效的学习到病虫害文本特征信息,有较好的识别效果。病虫害、别称、病原、分布区域、为害作物、防治药剂6类实体识别f1值均大于89%。其原因可能是这几类实体描述方式相对较单一,数据特征明显。为害部位的识别效果较差,f1值为78.29%,研究发现病虫害文本中对同一作物部位的描述多样,如对“茎”、“茎基部”、“茎杆”等词均描述“茎部”这一部位,这导致为害部位实体边界难以区分。发病时期识别效果同样欠佳,f1值为81.21%,这与发病时期样本数量较少和实体边界相对更难区分有关,导致模型难以充分学习。
[0081]
表1农作物病虫害实体类别识别结果
[0082][0083]
为了验证本发明所提出的rgc-adv模型在农作物病虫害领域实体识别的优越性,采用多种模型进行对比分析,其中包括不同的嵌入方式以及同一嵌入方式下不同下游模型结构两类对比实验。选取的模型包括bigru-crf、bert-bigru-crf、albert-bigru-crf、roberta-wwm-bigru-crf、roberta-wwm-crf。具体结果如表2所示。
[0084]
表2不同实体识别模型对比实验结果
[0085][0086][0087]
在相同的数据集和下游模型的基础上,采用roberta-wwm嵌入方式比采用albert、bert能更加精确的识别农作物病虫害实体。在准确率、召回率、f1值上,rgc-adv比bigru-crf模型、bert-bigru-crf、albert-bigru-crf分别提高了9.15、1.57、3.39个百分点,9.76、0.33、5.36个百分点以及9.48、0.97、4.4个百分点。这表明roberta-wwm嵌入可以辅助提升模型对文本的语义表征能力,从而优化了更好的病虫害识别任务的效果。通过引入对抗训练,rgc-adv在准确率上提升了0.67个百分点,在召回率上提升了1.24个百分点,在f1上提升了0.95个百分点,性能的提高表明对抗训练能够帮助模型更好的适应病虫害领域。除此之外,与roberta-wwm-crf模型相比,rgc-adv在准确率、召回率、f1上分别提升了4.2、4.19、4.19个百分点。
[0088]
从整体来看,本发明提出的方法的实体抽取效果相比其他方法有一定的优越性,精确率为89.23%,召回率为90.90%,f1值为90.04%,说明其在农作物病虫害领域实体识别任务中具有良好的适应性,能够有效对农作物病虫害相关文本数据进行抽象建模。
[0089]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0090]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0091]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0092]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0093]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
技术特征:
1.一种融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,包括:从不同的数据源获取相应的数据,构建农作物病虫害原始语料,对原始语料进行预处理,去除原始语料中的冗余数据,得到一个规范的农作物病虫害语料库;对实体数据进行标注,将标注后的数据按设定比例划分为训练集、验证集和测试集;构建融合roberta-wwm和对抗训练的农作物病虫害命名实体识别模型rgc-adv,rgc-adv模型通过roberta-wwm模型对病虫害文本进行词级别的语义信息提取,获取动态词向量,以解决词识别不全的问题,并通过对抗训练来解决边界模糊的病虫害实体难界定的问题,同时引入focal loss改善病虫害样本标签不均衡的问题;通过得到的训练集、验证集和测试集对构建的rgc-adv模型进行训练测试,得到训练好的rgc-adv模型;通过训练好的rgc-adv模型进行农作物病虫害命名实体识别。2.根据权利要求1所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述rgc-adv模型包括七大网络层,分别为:输入层、roberta-wwm层、对抗训练层、bigru层、全连接层、crf层和输出层;输入文本在roberta-wwm层进行预训练,获取词级别的语义信息,将病虫害文本的每个词都转换成特征向量;对抗训练层在roberta-wwm层输出的特征向量上添加扰动,生成对抗样本,提高模型对输入扰动的鲁棒性;将原始特征向量和对抗样本一起输入到bigru层中进行训练,充分学习上下文之间的关系;通过全连接层综合bigru层提取到的特征,然后输入crf层得到最终的预测结果,同时引入focal loss改善病虫害样本标签不均衡的问题。3.根据权利要求2所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述roberta-wwm层基于roberta-wwm模型实现,所述roberta-wwm模型采用中文全词掩码策略,首先对病虫害语料文本进行分词,然后对词进行掩盖;在覆盖了组成相同词的所有汉字后,对这些词进行预测;最终生成具有词级特征的动态词向量,以更适用于中文农作物病虫害命名实体识别任务;所述rgc-adv模型采用roberta-wwm模型作为病虫害命名实体识别的预训练模型提取文本特征,在训练过程中对模型参数进行微调,以使模型更好的学习病虫害数据的语义特征;所述roberta-wwm模型由12层transformer组成,每个transformer都采用多头注意力机制将输入的病虫害序列中任意位置的两个词距离缩小为一个常量,假设输入的是tok={tok
[cls]
,tok1,tok2...tok
n
,tok
[sep]
},其中tok
i
、t
i
、e
i
分别表示病虫害文本数据中第i个字和transformer编码前、后的字向量,通过roberta-wwm得到与tok对应的向量e={e
[cls]
,e1,e2...e
n
,e
[sep]
},向量e包含roberta-wwm在预训练阶段获取的病虫害语义信息。4.根据权利要求2所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述对抗训练层向模型中添加扰动,即向原始的输入病虫害样本中加入扰动后得到对抗样本,并将对抗样本输入模型进行训练,以防止病虫害私有信息的噪声,提高模型的泛化能力;在rgc-adv模型中引入投影梯度下降法pgd进行迭代攻击,每次都将扰动范围控制在指定范围s内,一旦扰动值超出指定范围s就将对抗样本x
t
投影到指定范围x+s内,迭代过程如公式(1)所示;其中,α表示pgd每次迭代时扰动的大小,π
x+s
表示投影操作,x
t
和x
t+1
表示第t步和第t+1
步迭代时生成的对抗样本;rgc-adv模型在roberta-wwm层输出的病虫害初始向量e表示的基础上添加扰动,生成病虫害对抗样本e
adv
,然后将e和e
adv
一同作为bigru层的输入进行训练。5.根据权利要求2所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述bigru层由前向gru与后向gru组合而成;所述gru由更新门和重置门组成,更新门和重置门分别用z
t
和r
t
表示,更新门用于决定前一时刻的信息进入当前时刻的程度,重置门用于控制遗忘多少信息;gru网络的计算过程如公式(2)~(5)所示;r
t
=σ(w
r
[h
t-1
,x
t
])
ꢀꢀ
(2)z
t
=σ(w
z
[h
t-1
,x
t
])
ꢀꢀ
(3)(3)其中,x
t
表示t时刻输入的病虫害信息,σ表示sigmod激活函数,h
t
和h
t-1
分别表示t和t-1时刻隐藏层的输出向量,表示当前候选集的状态,w
r
、w
z
、表示激活函数输入权重矩阵,*表示hadamard乘积,tanh()表示激活函数;所述bigru层采用双向门控循环单元bigru将对抗训练层输出的病虫害文本向量进行训练,捕捉病虫害信息上下文的语义依赖关系,同时获取前向和后向数据特征并加以利用,以提高预测的准确率。6.根据权利要求2所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述全连接层用于将学到的分布式特征表示映射到样本标记空间,以实现样本的分类;所述rgc-adv模型通过全连接层对bigru层输出的病虫害样本特征结果进行整合,以削弱位置特征对分类结果的影响,从而提高病虫害样本分类效果。7.根据权利要求2所述的融合roberta-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,所述crf层利用全连接层输出的序列p作为crf的输入,计算输出序列h的得分,计算过程如公式(6)所示;其中,n为序列长度,a表示转移分数矩阵,a
ij
表示从病虫害样本第i个标签到第j个标签的转移分数矩阵;当进行解码时,采用维特比算法计算出所有h中概率最大的序列标签序列h
max
,如公式(7)所示;h
max
=argmax(score(h,y))
ꢀꢀꢀ
(7)所述rgc-adv模型通过crf层以获取全局最优的标签预测序列,同时引入focal loss损失函数对crf模型进行优化;focal loss通过控制正负分类样本的权重,让训练过程更关注负样本,以不断优化模型性能;其计算过程如公式(8)所示;loss
focal
=-α(1-p(y|x))
γ
ln(p(y|x))
ꢀꢀꢀꢀꢀ
(8)其中,α∈[0,1]是平衡因子,用于对病虫害样本中的正负样本数量进行平衡,γ≥0是调制系数,用于降低易分类样本,即非病虫害实体样本的损失,使模型更关注困难样本,即病虫害实体样本;p(y|x)表示病虫害样本x的标签为y的概率。
技术总结
本发明涉及一种融合RoBERTa-wwm和对抗训练的农作物病虫害命名实体识别方法,其特征在于,包括:从不同的数据源获取相应的数据,构建农作物病虫害原始语料,对原始语料进行预处理,得到一个规范的农作物病虫害语料库;对实体数据进行标注并按设定比例划分为训练集、验证集和测试集;构建融合RoBERTa-wwm和对抗训练的农作物病虫害命名实体识别模型RGC-ADV,RGC-ADV模型通过RoBERTa-wwm模型对病虫害文本进行语义提取,获取动态词向量,以解决词识别不全的问题,并通过对抗训练来解决边界模糊的病虫害实体难界定的问题;对构建的RGC-ADV模型进行训练测试;通过训练好的RGC-ADV模型进行农作物病虫害命名实体识别。该方法有利于提高农作物病虫害命名实体识别的性能。提高农作物病虫害命名实体识别的性能。提高农作物病虫害命名实体识别的性能。
技术研发人员:李代超 梁建琴 吴升 金鑫垒 丁飞 李聪 林亦婷
受保护的技术使用者:福州大学
技术研发日:2023.03.08
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
