电脑桌面
添加大秘书到电脑桌面
安装后可以在桌面快捷访问

基于BERT字向量和TextCNN的农业问句分类模型分析

栏目:农林鱼水论文发布:2022-11-09浏览:2179下载275次收藏

鲍彤,罗瑞,郭婷,贵淑婷,任妮*

(1江苏省农业科学院信息中心,江苏南京210014;2江苏大学科技信息研究所,江苏镇江212013)

0 引言

【研究意义】随着我国农业组织形式和生产方式发生深刻变化,农业技术服务有效供给不足、供需对接不畅等问题日益凸显(赵秋倩等,2020)。农业技术服务过度依赖于领域专家及专业农技推广人员,人才消耗难以满足农业转型升级和高质量发展的需要。随着人工智能等技术的发展,构建农业领域的智能问答系统能更高效、精准和便捷地为农业生产经营者提供专业化农技指导,为解决上述问题提供了一种方法。智能问答系统通常由问题处理模块、检索模块和答案抽取模块组成,而问答语句的自动分类是提问处理模块的关键环节,直接影响后续检索和答案抽取的精确率(郑实福等,2002;吴友政等,2005)。【前人研究进展】问句分类属于文本分类的研究范畴,一直是自然语言处理领域的研究热点。其中结合词频和逆文档频率的tf-idf算法(武永亮等,2017)、利用空间聚类的k近邻(k-nearestneighbor,knn)(周庆平等,2016)及基于条件独立假设的朴素贝叶斯(naive bayes mode,nbm)(jiang et al.,2016)等机器学习方法已达到较好的分类效果,但由于过于依赖人工定义特征,模型的泛化能力不够理想。而基于神经网络的深度学习方法因强大的特征提取能力备受青睐。kim(2014)在预训练word2vec词向量的基础上,首次提出了基于卷积神经网络(convolutional neural networks,cnn)的文本分类模型;胡万亭和贾真(2020)将新闻的标题和正文2个部分融入tf-idf算法,进行词向量加权输入cnn模型进行分类。cnn仅利用卷积和池化就具备很好的特征提取能力,但卷积操作不能考虑文本序列的位置信息,而循环神经网络(recurrent neural network,rnn)具有的序列结构,可提取文本的上下文特征,因此许多学者将cnn与rnn相结合进行研究。hassan和mahmood(2018)利用cnn提取文本局部的静态特征,同时利用rnn获取文本的上下文信息,再将特征融合进行分类;liu等(2020)提出cnn和门控循环单元(gated recurrent unit,gru)结合的短文本分类模型,降低了模型参数,有利于提升文本分类精度。此类组合方法也已经运用在医学(杜琳等,2018)、知识产权(吕璐成等,2020)、公共政策(邱尔丽等,2020)和微博舆情(马莹雪和赵吉昌,2021)等领域的文本分类研究中。在农业领域,有学者利用农业专业词库已构建基于规则和机器学习方法相结合的问句分类模型(魏芳芳等,2015;赵燕等,2018)。随着深度学习的发展,赵明等(2018)根据番茄智能问答系统的特点,提出基于bigru的番茄病虫害问答系统问句分类模型;金宁等(2020)根据词语重要性对文本词向量进行加权,建立bigru和多尺度卷积神经网络(multi-cnn)结合的农业问句分类模型;冯帅等(2021)提出基于深度卷积神经网络的水稻知识文本分类方法,将resnet的残差模块进行改进设计,并利用胶囊网络(capsule network,caps-net)进行分类;王郝日钦等(2021)利用农业专业词库对文本进行向量编码,引入注意力机制强化关键词特征,构建了水稻问答系统中问句的自动分类模型。农业问句长度较短且句意多蕴含在各类专有名词中,具有很强的领域性和稀疏性,因此当下主流的词向量模型难以适用。随着bert(bidirectional encoder representations from transformers)(devlin et al.,2018)等预训练语言模型的出现,有诸多学者利用bert训练更细粒度的动态字词向量,并在特定领域的文本分类任务中取得了更好的效果(李悦晨等,2021;刘忠宝等,2021;王思丽等,2021;尹鹏博等,2021),但将该模型应用在农业的研究相对较少。【本研究切入点】农业领域短文本分类存在数据稀疏性、高度依赖上下文等问题,目前通过预训练bert模型对农业问句分类鲜有报道。【拟解决的关键问题】通过对不同词向量模型和深度学习网络结合进行试验,选出效果最优的模型作为问答系统中的分类方法,为后续构建农业领域智能问答系统提供技术支持。

1 数据采集与研究方法1.1 bert-textcnn分类算法

综合利用预训练模型bert和textcnn模型开展农业问句分类技术研究,本研究大致分为农业问句嵌入层、特征提取层和分类层3个部分(图1)。以“玉米苗枯病怎么防治”为例:(1)bert模型经过tokennizer模块将“玉米苗枯病怎么防治”按照单个汉字为最小单元进行拆分,生成问句编码序列[‘玉’,‘米’,‘苗’,‘枯’,‘病’,‘怎’,‘防’,‘治’];(2)将拆分后序列按照vocab字典中汉字对应id进行向量编码并进行padding填充生成固定维度的的词向量;(3)将词向量矩阵输入textcnn网络,利用不同大小的卷积核提取多维的特征图,将多个特征进行拼接作为该句的分类结果输出。

在农业问句的分类中,bert对输入的问句编码包含字向量(token ding)、句向量(segement ding)和位置向量(position ding)。3个向量求和后生成最终的特征向量矩阵∈,式中,为句子长度,为词向量维度。之后利用不同尺寸的卷积核对特征向量矩阵m进行卷积操作:

式中,为卷积核特征向量,()为卷积层激活函数,为偏置项。本研究中,经过卷积后的向量经过最大池化保留特征作为全连接层的输入,计算公式如下:

在融合特征的基础上,输出层利用softmax函数进行分类,并利用dropout随机丢弃神经单元。分类函数的计算公式如下:

式中,表示模型分类结果,为输出层权重,为偏置项。

1.2 文本采集和数据集构建

本研究利用python爬虫从农业种植网、帮农网、淘金地农业网等网站共爬取76944条问答对数据,数据采集详情如表1所示。在文本预处理过程中删除问句中空格和中英文特殊符号,并在剔除无效字段后将疑问句全部转为陈述句,构建农业问答对数据库。

从预处理后的问答库中随机抽取20000条问句,利用关键词的词频及共现频次主题聚类后划分类别。由表2可看出,农业问句的分类主要包括病虫草害防治、栽培技术、田间管理、土肥水管理、品种资源与繁育和其他等6个类别。在经过多人标注和交叉检验后,按照8∶1∶1的比例划分训练集、验证集和测试集。训练集用来建立分类模型,验证集用来调整模型参数,测试集用来验证模验分类效果。

1.3 试验平台和模型参数

程序运行平台的cpu为intel(r)xeon(r)silver 4114,gpu为tesla p40 64g,操作系统为ubuntu16.04,深度学习框架为pytorch1.1,bert选择中文版本bert- -chinese,词向量维度为768,word2vec词向量维度为300,卷积核大小为[3,4,5],学习率为5e-5,截断长度为32,drop_rate为0.5。

1.4 模型评价指标

为验证不同模型的分类效果,选择精确率(precision,p)、召回率(recall,r)和调和平均值(f1-score,f1)作为评价指标。相关公式如下:

图1 基于bert-textcnn的农业问句分类模型fig.1 agricultural questions classification model d on bert-textcnn

表1 数据采集详情table 1 data collection details

表2 农业问句类别分布table 2 category distribution of agricultural questions

式中,tp代表正类预测正确的数量,fp代表将负类预测为正类的数量,fn代表将正类预测为负类的数量。

2 基于bert-textcnn的农业问句分类模型分析2.1 bert与word2vec分类结果验证

为探究不同的词向量编码方式对农业问句分类模型的影响,将word2vec-word、word2vec-char、bert分别作为编码层,对比textcnn、bilstm、textrcnn、dpcnn等深度学习模型的分类效果。在进行多轮试验并取最优值后,从表3可看出,在以词向量作为嵌入时,各基线模型效果均不理想,其中textcnn模型的值为50.55%,bilstm模型效果最差,值为47.48%;而将字级特征作为嵌入时,各基线模型的分类效果均大幅提升,其中textcnn模型分类效果最优,值达91.22%,textrcnn和dpcnn模型的值也均超过90%,bilstm模型的分类性能略低,值为89.42%。在字向量的对比中,单纯利用bert模型即得到更优秀的表现,值达92.06%;将bert作为字向量嵌入到其他基线模型中效果也均有小幅的提升,其中表现最好的依然是bert-textcnn模型,值达93.32%,比word2vecchar-textcnn提升2.1%;bert-bilstm模型的效果同样略低,但值仍然达92.08%,比word2vec-char-bilstm提升2.66%。

2.2 bert-textcnn模型农业问句分类结果比较

为对比本研究的方法对农业问句的分类效果,采用测试集分别将bert-textcnn和其他现在常用的4种农业领域文本分类方法进行测试和分析。由表4可看出,在农业短文本的分类模型中,相比时间序列模型bigru,基于空间卷积模型的cnn模型分类效果更好,其中引入注意力机制的attention_densecnn和bigru_mulcnn在f1值方面比bigru分别提高2.82%和0.54%,其中原因是农业短文本的句式太短,bigru在上下文特征提取方面的优势难以发挥作用。而预训练模型bert在值相比于bigru、attention_densecnn和bigru_mulcnn均 有 较 大提升,达92.06%。此外,在bert的基础上拼接cnn层,对bert生成的字向量进行空间维度的特征提取,可有效解决短文本特征稀疏的问题,提高分类准确率,该模型的值达93.32%,将bert模型的值提高1.26%,取得了更好的分类效果。

表3 不同词向量嵌入时分类结果比较table 3 results of question classification with different word vectors

表4 不同模型农业问句分类结果比较table 4 comparison of agricultural questions of different models

2.3 bert-textcnn模型农业问句细分试验结果

为进一步对比模型间的差异和效果,通过细分实验分析bert字向量嵌入时各模型在不同类别上的、和值。由表5可看出,各模型在病虫草害防治和土肥水管理2个类别中评价指标均很高,而在栽培技术、田间管理和其他3个类别中准确率稍差,因为前2个大类中标注的数据量较多,而在数据量小的类别上性能略有下降。同时,各模型在其他类别的值较低,因为其中包含了难以判断或与其他类别有交叉的样本,影响了整体分类效果。总体上,bert-textcnn在栽培技术、田间管理、土肥水管理和其他4个类别中均取得了最优的性能,证明textcnn模型在农业短文本分类中的有效性和鲁棒性。

为进一步分析模型在各类别的分类情况,对各模型在测试集的分类结果构建混淆矩阵。由图2可看出,在6个类别中,病虫害防治、土肥水管理和品种资源三个类别分类结果相对集中,错分现象较少,而栽培技术与田间管理两个类别间易出现交叉错分,错分。通过对问句文本的观察发现,栽培技术和田间管理在少部分问句中分类界限比较模糊,如问句“苗木移栽时为什么要进行修剪”,其中“移栽”和“修剪”分别属于栽培技术和田间管理2个类别,此类样本在一定程度上影响了分类精度。另外,数据集中存在一句多问的样本,同时包含多个分类类别,也对分类效果产生了负面影响。而其他类别的错分情况比较分散,这是因为该类在数据标注时包含了大量难以明确定义的问句,在特征方面与别的类别存在融合,导致了分类错误,但是总体而言,各类别分错的占比较低。

表5 基于bert嵌入时各模型在不同类别的结果table 5 classification results of bert ding in different categories

图2 基于bert模型的分类结果混淆矩阵fig.2 confusion matrix of classification results d on bert

2.4 bert-textcnn模型参数分析

模型中超参数的设置对最终分类结果有重要影响,为进一步提升bert-textcnn的分类性能,固定其他参数不变,对卷积核大小、迭代次数和学习率大小等参数进行进一步的探究。卷积核的大小决定了textcnn抽取文本特征的视野程度,卷积核越大,捕获的特征越多,但同时也会产生更多的参数计算,因此选择合适的卷积核至关重要。由表6可看出,在卷积核大小设置为[3,4,5]时,模型分类的效果最好,当卷积核大小设置为[4,5,6]和[3,4,5,6]时效果也非常接近,但卷积核的宽度增加也带来了更高的计算成本,因此,本研究中卷积核大小设定为[3,4,5]。

迭代次数可反映深度学习模型损失函数的下降程度和模型收敛情况。由图3可看出,在berttextcnn模型迭代效果分析调参的3次试验中,当训练迭代至2次时,分类效果已有明显的提升,迭代次数至4次时,模型已收敛完成并达到最优值,证明textcnn在提取特征方面的并行计算能力可让模型可更快速地收敛,之后继续训练对模型的分类性能不再有明显的提升。而为降低训练时间和计算成本,本研究中模型迭代次数设为5。

表6 卷积核大小对试验结果的影响table 6 influence of convolution kernel size on experimental results

学习率作为深度学习中重要的参数,决定着优化函数能否收敛及何时收敛到全局最小值。当学习率设置得过小时,收敛过程将变得十分缓慢,会增加训练时间;而当学习率设置的过大时,模型可能陷入局部最优,甚至不能收敛。由表7可看出,当学习率设置为1e-3时,bert-textcnn模型未能收敛;随着学习率的增加,模型在5e-5时达最优值;而当学习率为5e-6时,分类性能开始下降。因此,本研究中学习率设定为5e-5。

图3 迭代次数对分类结果的影响fig.3 influence of number of iterations on the experimental results

表7 学习率大小对试验结果的影响table 7 influence of learning rate on experimental results

3 讨论

本研究通过采集网络文本中的农业问句数据,经过清洗后构建农业问句语料库,并基于农业问句词语特征稀疏、文本长度较短的特点,提出基于bert字向量和textcnn结合的农业问句分类模型,在进行多个深度学习模型对比试验后,发现bert模型作为词向量嵌入时所有的分类评价指标上均优于word2vec模型,说明bert经过海量语料预训练后生成的动态字向量比word2vec具有更强的表征能力,与其他学者在情感分类(刘思琴和冯胥睿瑞,2020)、医学(赵旸等,2020)及社交电商(李可悦等,2021)等领域的研究结果相符,证明bert模型生成的字向量在专业领域文本分类中具有更好的分类性能。同时,在以word2vec-word、word2vec-char和bert-char等不同向量编码进行时,textcnn的值均优于其他模型,表明在短文本的分类中,textcnn仅通过卷积和池化操作获取的局部特征可达到不错的分类效果;而以bilstm为代表的循环神经网络模型在不同词向量嵌入时值均低于其他模型,说明循环神经网络在问句文本较短、特征稀疏的情况下,其长距离特征提取的优势不能充分发挥,分类效果不佳。最后,将bilstm和最大池化结合的textrcnn及更深层次的dpcnn模型分类效果也均优于bilstm模型,也证明了在短文本分类中cnn模型的卷积和池化操作对分类性能具有明显的提升效果。

目前,在农业问句的研究中,王郝日钦等(2021)提出基于attention_densecnn的水稻问答系统问句分类,证明cnn模型可提高农业问句分类性能;冯帅等(2021)提出深度卷积神经网络的水稻知识文本分类方法也表明具有卷积结构的cnn网络更适合进行农业短文本分类,这与本研究的结果一致。金宁等(2020)提出bigru和mulcnn模型证明混合网络可获得比单一cnn网络更好的分类效果,这与本研究结果结合,表明构建表征能力更强的词向量和多特征混合神经网络对于提升农业短文本分类效果具有积极的作用。

本研究采用的方法在农业问据的分类上虽取得了良好的效果,但在某些方面还需进一步改进。首先,构建数据集采用的是多个不同网页自动收集的方法,导致源数据中存在大量的噪声,尽管经过数据清洗等预处理操作,也难以避免模型在此数据集上的学习受到干扰。其次,本研究仅利用textcnn进行特征提取,对农业问句中多维度的特征挖掘还不充分,模型在编码过程中并未考虑词频与文档等层面的特征分布,仅通过单一的网络结构进行分类,易造成误分现象。

4 建议4.1 规范农业问句采集和处理流程,提升数据集构建质量

在农业问句的采集过程中,不同农技服务平台或网页的字段内容、格式不同,导致数据存在较大噪声,需要花费大量人力和时间成本进行清洗。因此,需要规范农业问句的采集和处理流程,可利用正则表达式去除标签、表格等无效的html字段,并清洗入库;在数据的标注过程中可采用阿里nlp、哈工大ltp等开源共享平台,进行多人协同标注和交叉检验,提升数据集构建质量。

4.2 获取多维度的文本特征,提高分类精度

农业问句长度较短且口语化严重,文本的特征稀疏。各类专有名词如杜鹃花、设施农业、番茄病毒病等具有很强的领域性,在去除停用词后进行分词往往只能保留少数动词和名词,再加上分词工具的错误拆分会进一步稀疏特征,制约了模型的分类性能。建议采用tf-idf等算法引入词频及文档信息,并在特征提取阶段加入bilstm、注意力机制等模型获取问句上下文和关键词特征,扩大特征提取范围,提高模型分类精度。

4.3 完善农技人员培训体系,探索数字化农技服务模式

农业问句表述的是农民实际生产、生活中遇到的迫切需要解决的问题,其中,病虫害诊断防治和栽培管理技术是广大农民群众在生产中咨询最多的话题。建议相关政府职能部门加强与农村合作社、农业科研院所等部门的合作,完善农技推广与服务人员培训体系。充分利用各类农技推广平台和移动终端应用程序等现代信息技术,开设农业科学技术相关培训课程,提高农民知识储备和技能水平,并利用线上线下结合的农技指导服务模式,积极开展农业生产病虫害防治和栽培技术相关指导工作。

基于BERT字向量和TextCNN的农业问句分类模型分析

点击下载
分享:
热门文章
    确认删除?
    回到顶部