2021年1月
农业机械学报
第52卷第1期
doi:10.6041/j.issn.1000⁃1298.2021.01.021
基于注意力机制的农业文本命名实体识别
赵鹏飞1 赵春江1,2 吴华瑞2,3 王 维2,3
(1.山西农业大学工学院,太谷030801;2.国家农业信息化工程技术研究中心,北京100097;
3.北京农业信息技术研究中心,北京100097)
摘要:针对农业智能问答系统构建过程中传统的农业命名实体识别方法依赖人工特征模板㊁特征信息提取不充分㊁实体名称多样导致标注不一致等问题,提出一种基于注意力机制的农业文本命名实体识别方法㊂采用连续词袋模型(Continuous bag of words,CBOW)对输入字向量进行预训练,丰富字向量特征信息,缓解分词准确度对性能的影响;引入文档级的注意力(Attention)机制,获取实体间相似信息,保证实体在不
同语境下的标签一致性;基于双向长短期记忆网络(Bi⁃directional long⁃short term memory,BiLSTM)和条件随机场(Conditional random field,CRF)模型,构建适合农业领域实体识别的模型框架㊂选取4604篇农业文本,针对病害㊁虫害㊁农药㊁农作物品种4类实体进行了识别实验㊂结果表明,模型能有效地辨别农业文本中的实体,缓解实体标记不一致的问题,在农业语料上达到了较好的结果,识别的准确率㊁召回率㊁F 值分别为93.48%㊁90.60%㊁92.01%㊂与其他3种识别方法相比,模型在不同规模语料库的准确率均有一定提高,具有明显的性能优势㊂
关键词:农业文本;命名实体识别;注意力机制;神经网络;深度学习中图分类号:TP391.1
文献标识码:A
文章编号:1000⁃1298(2021)01⁃0185⁃08
OSID
:
收稿日期:20200413 修回日期:202005
25
基金项目:国家自然科学基金项目(61871041)㊁国家重点研发计划项目(2019YFD1101105)和北京市科技计划项目(Z191100004019007)作者简介:赵鹏飞(1987 ),男,助理研究员,博士生,主要从事农业信息化研究,E⁃mail:
通信作者:赵春江(1964 ),男,中国工程院院士,博士生导师,主要从事农业人工智能与智能系统研究,E⁃mail:
Named Entity Recognition of Chinese Agricultural Text Based on
Attention Mechanism
ZHAO Pengfei 1 ZHAO Chunjiang 1,2 WU Huarui 2,3 WANG Wei 2,3
(1.College of Engineering ,Shanxi Agricultural University ,Taigu 030801,China
2.National Engineering Research Center for Information Technology in Agriculture ,Beijing 100097,China
3.Beijing Research Center for Information Technology in Agriculture ,Beijing 100097,China )
Abstract :Agricultural named entity recognition is a fundamental tasks for natural language processing in the agricultural field.More importantly,it is the key basic step of constructing agricultural knowledge graph and intelligent question answering system.Traditional named entity recognition (NER)methods based on CRF model which relies on large amounts of hand⁃crafted features,cannot extract more effective features and solve the inconsistency of entity tagging caused by the diversity of entity names.To issue the above problems,an Att BiLSTM CRF framework was proposed based on deep learning.Firstly,the CBOW model was used to pre⁃train character embedding on a large number of unla
beled agricultural corpora,and alleviate the impact of segmentation accuracy on the performance of the model.Then,the document⁃level attention mechanism was introduced to obtain the similar information between entities in the text,so as to ensure the consistency of entity tagging in different contexts.Finally,based on BiLSTM CRF benchmark model,a model framework suitable for agricultural named entity recognition was constructed.Totally 4604agricultural texts were chosen to identify diseases,pests,pesticides and crop varieties.The experimental results showed that the model can effectively identify the entities in the agricultural text and alleviate the problem of inconsistent entity tagging.The model achieved good result in the agricultural corpus,and the recognition precision,recall,and F ⁃score were respectively 93.48%,90.60%and 92.01%.Compared with other models,such as LSTM model,LSTM CRF model and BiLSTM CRF model,Att BiLSTM CRF had obvious advantages in different size corpus,and it can effectively identify entities for agricultural texts.
Key words :agricultural text;named entity recognition;Attention mechanism;neural network;deep
learning
0 引言
随着农业信息化技术的快速发展,农户可通过
农技服务平台进行在线问答咨询㊂面对海量的问题
数据,快速而准确地定位关键词㊁挖掘深层的语义关
系是农业智能问答系统亟需解决的问题[1]㊂农业命名实体识别作为一种智能化信息抽取方法,其主
要任务是从非结构化的问答数据中识别不同类型的
实体,如农作物病虫害㊁作物品种㊁农药名称等,这是
构建智能问答系统的关键技术环节,是农业文本信
息挖掘领域的热点研究方向㊂
在农业领域,许多研究者利用机器学习进行实
体识别研究㊂文献[2]提出基于条件随机场的识别
方法,通过添加词性㊁左右指界词等模板特征,对农
作物㊁病虫害及农药3类实体进行识别㊂文献[3]
采用BIO和BMES两种实体标注方式,基于CRF模
型对数据集中农作物㊁家禽㊁病虫害等实体进行识
别㊂文献[4]将农业本体概念作为子特征加入CRF
模型中,对涉农商品名称进行抽取和类别标注㊂但
是,传统的基于机器学习的方法依赖手工设计的特
征模板,在提高模型性能的同时也导致整个模型的
鲁棒性和泛化能力下降[5]㊂
农业实体构词复杂㊁种类众多,导致农业领域实
体识别研究更具有挑战性,主要体现在:由于缺乏规
范的农业词典,采用分词工具对农业语料进行分词
出现分词错误的现象,影响了模型性能;同一实体在
文本中所处位置不同,以单句为处理单元的识别方
法无法聚焦全文语境,存在实体标注不一致问题㊂
随着深度学习算法的改进,网络模型能够自动
学习到更深层次的特征信息,在很多领域实体识别
任务取得了理想的效果[6-12]㊂
近年来,注意力机制在自然语言处理领域得到
了广泛的应用[13-15]㊂文献[16]基于BiLSTM CRF 框架,通过添加注意力机制学习有效的字符特征向量㊂文献[17]提出基于双向注意机制的循环神经网络(Recurrent neural network,RNN)模型,该模型能更好地获取标签之间的关系㊂文献[18]提出了多注意力模型,在阿拉伯语实体识别任务中取得较好的结果㊂文献[19]利用卷积神经网络提取汉字分解后的特征信息,基于自注意力机制识别医学电子病历的相关实体㊂
上述基于深度学习的方法为农业领域开展命名
实体识别研究提供了参考依据,但在农业文本向量
化表示方面并未提出有效的方法来获取字符之间丰
富的语义特征,并且相关模型在农业领域数据集上
没有进行验证,不足以说明农业领域命名实体识别的相关问题㊂
本文在农业领域命名实体识别任务中,基于深度学习方法,在BiLSTM CRF网络模型基础上,有针对性地引入大量无标注农业语料,通过预训练方式对农业实体字符分布式表示进行扩充,并引入文档级注意力机制重点关注实体关键字信息,通过余弦距离相似度得分获取文本中实体之间的相关系数,进一步对模型结构和训练参数进行优化和改进,构建基于注意力机制的Att
BiLSTM CRF混合网络模型,以期实现农业文本命名实体的精准识别㊂
1 数据采集与预处理
1.1 数据采集
农业命名实体识别缺少公开的语料数据集,本文通过数据采集㊁数据预处理㊁数据标注3个步骤,建立农业领域实体识别语料库㊂本文的语料数据主要通过爬虫框架,抓取各大农业网站(中国农业信息网㊁中国农业知识网㊁中国作物种质资源信息网㊁国家农业科学数据中心等)关于农作物病虫害和农作物品种的
文本语料㊂其中,标注语料库作为实验数据集,包含4604篇农业文本,共33096个句子;未标注语料库作为预训练数据集,包含26025条语料,共300万个中文字符㊂
1.2 数据预处理
通过爬虫抓取的语料数据,包含大量的网站标签㊁链接㊁特殊字符等非文本的结构数据,不利于数据标注㊂通过Python正则表达式㊁字符格式规范化等操作,删除非文本数据,获取规范化的农业语料库㊂
1.3 数据标注
本文采用人工标注的方式进行语料库的标注,语料库包含实体共26309个,其中,病害名称4129个,虫害名称4275个㊁农药名称11952个㊁农作物品种名称5953个,不同类型实体统计如表1所示㊂使用BIEO标记方案表示命名实体,B表示实体名称的开始,I和E分别表示实体的内部和实体的结束标记,O表示语料中的非实体㊂语料库注释示例如图1所示㊂为更好地识别实体所属类别,将类别
表1 语料库统计信息
Tab.1 Corpus statistics
类型训练集测试集验证集病害名称2890827412
虫害名称2993856426
农药名称836023911201
农作物品种名称41661190597
681农 业 机 械 学 报                 2021年
图1 语料库注释示例
Fig.1 Corpus tagging results
信息添加在实体标签上,实体类型描述如下:病害名称实体⁃Disease㊁虫害名称实体⁃Pest㊁农药名称实体⁃
Pesticide㊁农作物品种名称实体⁃Crop㊂其中,B⁃Disease 和B⁃Crop 分别表示病害和农作物品种的命名实体的开始㊂
2 模型框架
本文模型包含字嵌入层㊁BiLSTM 层㊁Attention 层和CRF 层4部分,模型结构如图2所示
图2 Att
BiLSTM
CRF 模型结构
Fig.2 Model architecture of Att
BiLSTM
CRF
2.1 字嵌入层2.1.1 预处理
在英文NER 任务中,由于每个单词被空格分隔,很多研究将词向量与字符向量拼接作为模型输入,提高模型的性能㊂与英文单词不同,中文词语之间没有明显的分隔标记,而且词语具有较强的领域性㊂因此,为更好地处理中文实体识别任务,多数方法都将分词作为语料处理的基本步骤㊂但是,现有分词技术不能准确地进行切分,会产生各种各样的
错误[20]㊂
例如,病害实体 水稻细菌性褐条病”分词结果为 水稻/细菌性/褐/条/病”,农作物品种实体 两优培九”分词结果为 两/优/培九”㊂这些实体被错误地拆分,从而导致模型不能正确获取实体的特征表示,基于字的实体识别可以有效地避免这类问题㊂
本文使用字向量作为模型初始输入,采用预训练方式,以字为单位进行切割,获取特征表示,缓解
分词准确度对性能的影响㊂
2.1.2 字向量表示
农业文本数据需进行文本向量化,将相应字符
映射为一定维度的实数向量,才能被计算机处理㊂本文采用Word2vec 的CBOW 模型[21-22],在模型架构基础上,针对字向量维度,进一步优化和验证,通过对这些无标注的语料进行无监督训练,得到相应的分布式表示,最终生成特定维度的字向量,构建字向量表㊂CBOW 模型的框架如图3所示,主要有输入层㊁映射层和输出层3层
图3 CBOW 模型结构
Fig.3 CBOW model structure
在CBOW 模型中,目标字由上下文推测得到,
已知当前字w m ,利用周围2n (n 为窗口尺寸)个字w m -n ㊁w m -n +1㊁ ㊁w m +n -1㊁w m +n 预测w m 当前字出现
的概率㊂以病害实体 小麦霜霉病”为例,通过字 霜”的上下文 小”㊁ 麦”㊁ 霉”㊁ 病”4个字,来预测所有字出现的概率,其中目标字 霜”出现的概率
最大㊂
在预训练过程中,CBOW 模型字级窗口设置为
2,构建字向量表,每个字对应唯一的向量表示㊂本
文验证了不同维度字向量对模型性能造成的影响,维度设置为50㊁100㊁150和200,经过实验对比发
现,字向量维度设置为100时模型的性能最优㊂因此,通过预训练方式,获取农业文本100维度的字向量特征表示,适用于农业领域命名实体识别㊂
2.2 BiLSTM 层
LSTM 是一种特殊的循环网络模型,克服了
RNN 模型在训练过程存在的梯度爆炸问题[23]㊂农
业实体的构词方式复杂多样,针对目标实体的识别,需要考虑实体不同位置的上下文信息,来获取更深
7
81第1期             赵鹏飞等:基于注意力机制的农业文本命名实体识别
python正则表达式爬虫
层次的特征表示㊂LSTM是单向的循环神经网络,只能获取目标词过去的文本信息㊂例如,病害实体
玉米根腐病”,LSTM只能访问 腐”的前一个字 根”的特征信息,不能预测下一个字 病”的出现㊂目标词的上下文信息对实体识别具有不同程度的影响,为了准确识别出农业命名实体,构建了双向LSTM(BiLSTM)网络模型,进行正向和反向2个不同方向的文本表示,充分获取目标词过去和将来的特征信息㊂
LSTM网络的主要结构可以形式化地表示为
i t=σ(W i h t-1+U i x t+b i)(1)
f t=σ(W f h t-1+U f x t+b f)(2)
~c t=tan(W c h t-1+U c x t+b c)(3)
c t=f t☉c t-1+i t☉~c t(4)
o t=σ(W o h t-1+U o x t+b o)(5)
h
t=o t☉tanh(c t)(6)式中 σ  sigmod激活函数
tanh  双曲正切激活函数
i t㊁f t㊁o t㊁c t  在t时刻的输入门㊁忘记门㊁输
出门㊁记忆细胞
U
i㊁U f㊁U c㊁U o㊁W i㊁W f㊁W o㊁W c  不同控制
门对应的
权重矩阵b
i㊁b f㊁b o㊁b c  偏置向量
~c t  输入的中间状态
x
t  t时刻的输入向量
h
t  t时刻的输出结果
☉  点乘运算符
字嵌入层的向量x,将作为t时刻BiLSTM层的输入,通过正向LSTM输出特征序列和反向输出序列,得到隐藏层拼接的向量,经过tanh激活函数进行加权得到最终的输出结果h t,将作为Attention层的输入㊂
2.3 Attention层
在命名实体识别任务中,由于中文构词方式灵活多变,同一实体具有多种表述方式,实体在文本不同位置可能多次出现㊂以单句为训练单元的识别模型,关注实体在该句的上下文表示,忽略全文的语境信息,容易造成同一文本实体标注不一致的问题㊂例如,水稻稻瘟病的描述如下:水稻又见 【火烧瘟】”,早稻警惕【稻瘟病】流行,一定要早做预防㊂当前江西早稻,  禾苗都可以点火烧了,名符其实的 【火烧瘟】”㊂【水稻稻瘟病】又称【稻热病】㊁【火烧瘟】,症状表现为中央呈灰白病斑,边缘呈显著褐,且发病部位在潮湿的环境下会产生灰的霉状物㊂
文本中,水稻稻瘟病又称火烧瘟,火烧瘟作为病害实体,在文本中不同句子的不同位置多次出现㊂以句子为处理单元的模型,在脱离上下文语境的情况下,对【火烧瘟】病害实体出现错标或者漏标的现象㊂为解决实体标注不一致的问题,通常采用基于规则制定的方法,但是特定领域的规则制定较为复杂,需要较强的领域知识,不同的领域规则不具有通用性㊂
针对农业文本中实体命名方式多样化㊁实体分布不均匀的特点,在注意力模型基本架构上进行扩展,引入文档级全局信息,并增加余弦距离得分的相似性评估,对处于不同位置的同一实体重点关注㊂基于注意力的学习模型,能够忽略文本中无关的信息,关注实体关键信息,模型以整篇文本作为训练单元,考虑实体上下文的语境信息,缓解实体标注不一致问题㊂
本文用D=(S1,S2, ,S d)表示文档包含d个句子,每个句子S=(w1,w2, ,w m)包含m个字,文档中包含字的总数是N㊂对于文档中的实体,通过注意矩阵A处理BiLSTM层输出的特征序列,来计算当前目标字与文档中所有字之间的相关性,获取目标字w i基于文档层面的全局特征表示g i,计算公式为
g i=∑N j=1A i,j h j(7)
其中A
i,j=
exp(score(w i,w j))
∑m k=1exp(score(w i,w k))(8)
score(w i,w j)=W a(w i w j)
|w i||w j|(9)式中 A i,j  当前字w i与文档中字w j注意力权重
h j  BiLSTM层输出
score(w i,w j)  采用余弦距离判定的字w i
与字w j相似性得分
W a  训练过程中学习到的参数
最后,目标字w i在文档级注意力层的输出为c i,通过tanh函数来获取置信度e i,计算公式为
c i=tanh(W g[g i,h i])(10)
e i=tanh(W e c i)(11)式中 W g㊁W e  训练时学习到的参数矩阵
2.4 CRF层
在CRF层,采用状态转换矩阵来预测当前标签,获得全局最优的标记序列[24]㊂设定P为Attention层的输出矩阵,维度为m×k,m表示输入句子包含字的数量,k表示标签集合的元素数㊂对
881农 业 机 械 学 报                 2021年
于输入文档D ,对应的输出标签序列y =(y 1,y 2, ,
y n )的概率为s (X ,y )=
∑(n ∑m
i =1
P i ,y i +
∑m
i =0
A y i ,y i )
+1
(12)
式中 X    输入的文本序列
A y i ,y i +1  从标签y i 转移到标签y i +1的分数,A y i ,y i +1的值越大表示标签i 转移到
标签j 的可能性越大
P i ,y i    第i 个字被预测为第y i 个标签的分数
然后,利用Softmax 函数,得到序列y 的条件概率㊂最后,使用Viterbi [25]算法将得分最高的序列y *作为模型最终的标注结果㊂
2.5 模型参数配置及评价模型的参数配置如表2所示,参数通过反复实验确定的,字向量维度设置为100㊂模型使用双向的LSTM 网络,隐藏层维度设置为128㊂为减轻模型过拟合问题,引入Dropout 机制
[26]
,Dropout 的值直
接影响到模型性能,设置为0.5㊂选取ADAM [27]优化算法,学习率为0.002㊂模型训练批处理参数为
16,迭代次数设置为50㊂
表2 参数配置Tab.2 Parameter setting
参数
数值字向量维度100隐藏单元数128Dropout 0.5
学习率0.002批处理参数16迭代次数
50  与其他实体识别方法相似,采用准确率P ㊁召回
率R ㊁F 值作为实验的评价指标[28]㊂
3 实验结果
在不依赖人工设计特征的情况下,通过调整不同的模型参数,在1.3节构建的标注数据集上验证模型的识别性能㊂语料库中训练集㊁测试集㊁验证集按7∶2∶1的比例进行分配,数据集之间无重叠,因此测试数据集的实验结果可作为实体识别效果的评价指标㊂
3.1 不同嵌入向量性能比较
本文分别以词向量和字向量作为Att
BiLSTM
CRF 模型的初始输入,验证不同嵌入向量对模型性
能的影响,对比结果如表3所示㊂将字向量作为模
型的输入,模型识别准确率P 为93.48%,相较于词向量作为模型输入,准确率提升了2.96个百分点㊂分析结果得知,基于词向量的输入,实体被错误拆
分,导致这些复杂的实体没有被正确识别,例如,水稻品种 广8优郁香”被错误地拆分为 广/8/优郁/香/”㊂接着,验证了不同字向量维度对模型性能的影响㊂字向量维度设置为50㊁100㊁150㊁200,模型准确率P 分别为91.19%㊁93.48%㊁92.15%㊁
91.83%;召回率R 分别为89.5%㊁90.6%㊁90.08%㊁90.21%;F 值分别为90.29%㊁92.01%㊁91.04%㊁91.00%㊂从实验结果看出,适当增加字向量维度,可以获取质量更好的字级分布式表示,字向
量维度为100时,模型性能达到最高㊂随着维度越来越大,训练成本越来越高,模型性能很难得到提升,甚至下降㊂针对农业实体,字向量维度不是越大越好,在一定范围内存在局部最优值㊂
表3 不同嵌入向量实验结果对比Tab.3 Results of different embedding
%
    模型
P
R
F 值
word +Att BiLSTM
CRF
90.5290.2690.38char +Att BiLSTM CRF
93.4890.6092.013.2 不同注意力机制的性能比较
采用字向量维度100,并在BiLSTM
CRF 模型
框架上增加句子级和文档级的注意层,并对模型性能进行了评估㊂结果如表4所示㊂句子级的方法,模型的准确率P 为91.23%,召回率R 为89.24%,F 值为90.23%㊂分析结果发现,同一文本中,部分农药实体 农抗120/Pesticide”,被错误标记为农作物品种实体 农抗120/Crop”㊂这种标记不一致的现象,是由于 农抗120”与大多数农作物品种实体构词方式相似,都是 词+数字”的方式,在识别过程中,虽然句子级注意力获取了该实体在句中特征信息,但是并没有考虑全文的语境,从而导致上述错误的判断㊂
表4 不同Attention 机制实验结果对比
Tab.4 Results of different Attention mechanisms
%
   模型
P
R
F 值
Att(S)BiLSTM CRF
91.2389.2490.23Att(D)BiLSTM CRF 93.4890.60
92.01
  与基于句子级的方法相比,文档级方法模型的准确率P ㊁召回率R ㊁F 值分别提高了2.25㊁1.36㊁
1.78个百分点㊂结果表明,文档级方法通过获取文档中字之间的相关信息,通过余弦函数计算文档中目标字与其他字的相似度,调整目标字的权重,在缓
解上述讨论的标记不一致问题的同时,有效地提高了模型性能㊂
3.3 不同模型性能比较
为了验证本文提出的基于Att
BiLSTM
CRF
9
81第1期             赵鹏飞等:基于注意力机制的农业文本命名实体识别