基于BiLSTM-CNN的水稻问句相似度匹配方法研究*

2022-12-02 04:58刘志超王晓敏吴华瑞王郝日钦许童羽
中国农机化学报 2022年12期
关键词:语义向量神经网络

刘志超,王晓敏,吴华瑞,王郝日钦,许童羽

(1. 沈阳农业大学信息与电气工程学院,沈阳市,110866; 2. 国家农业信息化工程技术研究中心,北京市,100097;3. 北京农业信息技术研究中心,北京市,100097)

0 引言

水稻是现存的主要经济作物之一,世界上超过一半的人口的食物来源;而不断变化的全球气候、植物病害的爆发,是水稻生产的主要威胁。在农业技术人员的短缺、农民自身又缺乏一定的基础知识的背景下,在农业生产中无法有效应对此类威胁;因此,通过人工智能以及互联网来高效地帮助农民解决此问题,对于提高水稻产量具有重要作用。在中国农技推广信息平台问答社区中,每天会新增关于水稻的提问语句上千百条,由于文本数据具有高维、稀疏的特点,加上汉语本身具有的复杂性,导致存在很多语义相同但表达方式不同的问句。专家在问答社区中对相同语义问句进行重复解答,会耗费大量的人力和物力,因此如何快速地检测出语义相同问句就显得尤为重要。文本匹配是自然语言处理(NLP)中的核心任务,常通过计算两段文本之间的语义相似度来解决。许多NLP任务可以抽象为文本匹配问题,例如,信息检索、问答系统和文本生成等都与文本匹配密切相关;因此,文本匹配问题具有重要的研究意义。两个语义相似的句子会有一些相同或者相似的单词,这意味着不同文本之间的相似性可以通过计算“词汇共现”来衡量。基于这一原理,早期的文本匹配研究方法致力于解决词汇层面的匹配问题,即词汇水平上的相似性问题;该方法主要通过构建人工特征,然后利用机器学习模型对匹配程度进行评分来解决这一问题。

传统的文本匹配技术通过特征提取算法,如TF-IDF[1]、BM25[2]、Jaccard[3]、Sim Hash[4]等算法,基于K最近邻(K-nearest neighbor,KNN)[5],贝叶斯模型(Naive bayesian,NB)[6]和支持向量机(Support vector machine,SVM)[7]等传统的机器学习模型用来确定文本之间的相似度。然而,此传统方法存在一些局限性,如过于注重词汇层面,不能解决多义问题,不能有效利用上下文信息,提取句子的高级语义特征;因此,如能有效提取句子的语义,将大大提高文本匹配精确度。近年来,基于深度学习的方法成为了国内外研究热点,Yin等[8]提出了一种叫Bi-CNN-MI的架构,其中Bi-CNN表示两个使用Siamese框架的CNN模型;MI表示多粒度的交互特征用于计算文本的相似度;Huang等[9]用单语义模型(Deep Semantic Similarity Model,DSSM)计算语句之间的相似度;Melamud等[10]提出一个神经网络,使用双向LSTM从大型语料中通过上下文表示的相似度计算;Yin等[11]使用神经网络RNN和CNN卷积神经网络,神经网络通过对句子和单词的深度分析来更好地考虑句子的语义和结构,从而预测句子的相似度;文献[12-15]为深度学习和自然语言处理技术在农业领域文本处理方面,提供了可行性参考和依据。由于在农业领域缺乏大规模可以使用的数据集,因此农业文本相似度还鲜有涉及。而农技推广平台(NJTG)问答社区,面临农业类词汇的句法和意义较为复杂的挑战,水稻文本中含有大量专业词语,提取难度较大,问答文本较短,进一步增加了提取上下文信息的难度。

基于上述研究方法和现状,针对水稻中分词错误和数据稀疏等造成的问题以及提取水稻问句不同粒度的特征难度,本文采用了基于孪生网络Siamese的双向长短神经记忆网络BiLSTM-CNN模型水稻问句语义层次信息的相似度匹配方法。首先使用Word2Vec训练的字向量作为原始的句子表示,通过BiLSTM提取的字级向量组成的水稻问句的上下文特征表示,CNN捕获关键部分信息特征,进行卷积和池化操作后使用对比损失函数,最后直接使用余弦相似度来衡量两个水稻问句向量之间的相似度。以准确率、精确率、召回率和F1值为主要判断标准,以宏平均和权重平均为辅助评价指标,对神经网络中的参数设置进行调优,并利用水稻问答数据集构建问答评价任务中提供的数据集(NQuAD, National Question and Answering Dataset)[16]对该方法进行验证。

1 数据与预处理

1.1 问答数据来源

本文试验从“中国农技推广”问答社区数据集NQuAD中导出水稻数据,共涉及水稻病虫害、草害药害、栽培管理常见问题等方面的2万余对问答数据。经过人工筛选,去掉不完整信息、无效问答数据等。人工标注后,选取7 820个优质问句对存入水稻问答数据库作为问题集和答案。共划分6类问题,分别是栽培管理、病虫草害、土壤肥料、市场销售、品种选择及其他。栽培管理1 953对、病虫草害2 311对、土壤肥料1 697对、市场销售651对、品种选择246对及其他956对。

1.2 数据预处理

用户在“中国农技推广”问答社区水稻问答模块发布提问,农业专家对所提问题进行解答。在此过程中,语义不精确,语言不流畅等问题,导致数据中存在字符混乱、英文字母大小不一,不利于文本匹配。通过Python正则表达式、字符格式规范化等操作,清洗和过滤无关信息,删除非文本数据,获得标准化的水稻数据问答库。

1.3 水稻问句对数据集构造

针对选取的7 820个问答对,构建输入三元组(句1,句2,标签);具体规则如下:在水稻问句数据中,构建相似问句对,语义表达相同,记作标签为1;语义表达不相同,其标签为0;问句处理示例见表1。如表所示,编号1的问句对,问句1和问句2语义表达相同,标签为1,为正样本;编号3,问句1和问句2语义表达不相同,标签是0,为负样本。

表1 水稻问句数据对示例Tab. 1 example of rice question data pair

2 水稻问句相似度匹配模型构建

本节详细描述了本文提出的混合模型结构,本研究采用结构简单、训练稳定的孪生网络为基础网络框架,整个模型包含以下5部分,第一,利用预训练Word2Vec构造字符级的向量,向量嵌入为每一对问句提供的向量表示。第二,使用BiLSTM神经网络捕获问句的上下文特征和语义关系,在此充当编码器,从每个输入的句子中提取隐藏特征。第三,CNN擅长捕捉序列的显著特征。因此,在捕获问句上下文特征的基础上,利用卷积层进一步提取句子的局部语义特征。第四,池化层对提取后的组合进一步筛选,同时对得到的特征进行降维处理。第五,直接使用cosine距离计算并输出余弦相似度的值,以此来衡量问句对向量的匹配程度。模型结构如图1所示。

图1 模型结构示意图

2.1 嵌入层

为了使计算机能够理解输入的问题,需要对其进行向量化处理。由于农业领域的特殊性,获取到的数据存在大量的水稻品种名称、病虫害类型名称、种植技术名称、药剂名等专业术语,需把他们添加到农业领域词典,使得到的农业专业术语如“水稻胡麻叶斑病”“稻纵卷叶螟”“乳苗移栽”“磷酸二氢钾”等可以被正确化分。

近年来,农业领域专业词汇涉猎广泛,水稻问句对样本较少,并且存在OOV(out-of-vocabulary)问题。在不同的问句中,同一专业词或短语可能会存在不同分词结果,导致训练的词向量组合语义信息不同。为了避免分词对模型的影响,本文采用了字级别向量的表示方法。在自然语言处理中,一般将文本数据转换成矩阵或向量进行表示。本研究使用预训练的Word2Vec构造嵌入层,由预训练得到的字向量,保留了句子最原始的信息;相对于词向量表示,包含的语义信息更加丰富;此文本向量作为下一步BILSTM模型的输入。本文采用CBOW模型,其根据上下文预测中心词,并设置单词嵌入大小为100,上下文窗口为5。水稻问句示例如图2所示。

图2 CBOW模型水稻问句可视化

2.2 BiLSTM层

递归神经网络(RNNs)可以获取一系列输入并产生一系列输出,输出不仅受到像常规神经网络一样施加在输入上的权重的影响,还受到基于输入和输出的表示学习信息的隐藏状态向量的影响。在本文用长短期记忆(LSTM)作为双向循环架构的循环单元,解决了循环神经网络(RNNs)中出现的梯度消失/爆炸问题[17];此外,Graves等[18]使用双向长短记忆网络BiLSTM显著提高了分类精度LSTM架构如图3所示,其中c(t)、h(t)和x(t)分别是记忆状态单元、t时刻的LSTM输出和t时刻的输入,符号Θ表示逐元素(Hadamard)乘法。tanh是双曲正切函数,σ是对数sigmoid函数。LSTM组件值计算如下。

i(t)=σ(Wih(t-1)+Uix(t)+bi)

(1)

f(t)=σ(Wfh(t-1)+Ufx(t)+bf)

(2)

a(t)=tanh(Wch(t-1)+Ucx(t)+bc)

(3)

c(t)=c(t-1)Θft+a(t)Θi(t)

(4)

o(t)=σ(Woh(t-1)+Uox(t)+bo)

(5)

h(t)=tanh(c(t)Θo(t))

(6)

式中:i(t)——输入门;

f(t)——忘记门;

o(t)——输出门;

a(t)——输入更新值;

bf、bi、bc、bo——每个门的偏差;

W——前馈权值;

U——循环权值。

该模型有两个激活单元:输入—更新激活和输出激活,其中tanh函数是激活函数。

BiLSTM在三个时间步(前中后)展开的一般结构如图4所示。双向结构结合了循环系统的时间动态作为前馈和后向训练的模型。BiLSTM模型结构训练过程中,Bi-LSTM计算两个序列:前向隐藏序列和后向隐藏序列到通过迭代从时间t=0到t=T上升的前向层和从时间t=T到t=1下降的隐藏后向层来产生输出序列。

图3 LSTM记忆单元结构

图4 双向LSTM模型结构

2.3 CNN层

卷积神经网络(CNN)是由Le等[19]在1989年首次提出的,目的是利用时间序列和图像等网格结构数据集的权重共享,通过从原始数据或少量预处理数据中提取复杂的特征表示来学习。卷积层可以提取不同大小的特征和局部语义特征,神经卷积网络在各种应用中表现出显著的性能改进。文本将BiLSTM提取到的文本特征作为卷积神经的输出。

Hs(t)=[h(t),h(t+1),…,h(t+s-1)]

(7)

(8)

式中:w——过滤器权重矩阵;

s——总时间步数。

2.4 池化层

模型通过卷积层提取特征之后,使用最大池化法选取卷积提取到的n-gram特征、进行压缩及降维,对卷积后的所有局部语义特征组合进行进一步筛选。最大池化技术方程如式(9)所示。

(9)

式中:rj——元素固定大小的向量表示;

l——输入长度。

2.5 损失函数

经过池化操作后,得到两个问句的抽象语义表示向量。在计算句子语义相似度的时候,都是以句子对的形式输入到网络中,定义了两个网络结构分别来表征句子对中的句子,可通过曼哈顿距离,欧式距离,余弦相似度等来度量两个句子之间的空间相似度。

本文使用Contrastive loss Function(对比损失函数),可以有效地处理孪生神经网络中的水稻问句对的关系。相似的样本,在经过降维后,在特征空间中,仍旧相似;而原本不相似的样本,依旧不相似。

DW(X1,X2)=‖X1-X2)‖2

(10)

(11)

式中:X1、X2——经过处理的文本向量;

Y——标签,Y=1代表两个问句相似,Y=0则代表不相似。

DW——神经网络要学习的参数化距离函数;

m——设定的阈值。

3 试验方法

3.1 试验环境设置

将7 820对水稻问句对数据作为试验数据,数据集划分是按照7∶2∶1的比例将句子对划分对训练集、验证集、测试集,训练集共5 474条,验证集共1 564条,测试集共782条。试验环境设置如表2所示。

表2 环境设置Tab. 2 Environment settings

3.2 试验参数设置

模型参数如表3所示。

表3 参数配置Tab. 3 Parameter configuration

使用TensorFlow框架对神经网络模型迭代训练,为避免过拟合现象,引入Dropout机制。在神经网络槽参数设置方面,选择Adam作为bilstm网络的优化器,并将lstm层数设置为两层。

3.3 评价标准

与其他的文本匹配计算方法相似,评价标准采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值,综合考察评价指标用宏平均(Macro-averaging)和权重平均(Weight-averaging)。

(12)

(13)

(14)

式中:TP——正向类预测为正向的数量;

FP——负向类预测为正向的数量;

FN——正向类预测为负向的数量。

(15)

(16)

Weight-averaging=F0×S0+F1×S1

(17)

宏平均F值是对每一个类统计指标值,然后再对所有类求算术平均值,F0是类别为负样本的F1值,F1是类别为正样本的F1值。权重平均F值是正负两类的F1加权平均,S0为负样本在总样本中所占的数量,S1为正样本在总样本中所占的数量。

3.4 对比模型

目前,在孪生网络做文本相似度匹配的应用中,主流模型为LSTM。为了能够验证本文模型在文本匹配中的效果,使用文本匹配中的常用网络模型LSTM和BiLSTM、并在BiLSTM中引入Attention机制与本文模型进行比较,同时也验证本文提出的模型在水稻问句对数据集的有效性使用了三个对比模型进行比较。

1) LSTM:模型使用长短期神经记忆网络LSTM模型:传统前馈神经网络模型的一种扩展变体,在包含一个存储单元状态和三个乘法门的一系列构建块上运行,将隐藏状态100设置为输入参数。

本文使用的孪生网络中的子网络包含LSTM,本文模型和LSTM都可以处理水稻问句相似度时获得的向量表示。对比LSTM的单网络结构,基于孪生网络的组合模型能够更好捕获全局特征和局部特征,从而提高预测准确率。

2) BiLSTM:使用双向长期短期神经记忆网络BiLSTM模型[20]:具有一个前向LSTM和一个后向LSTM的级联层,双向的LSTM提取上下文信息,隐藏状态设置为100。

本文将孪生网络的子网络替换为BiLSTM,本文模型和BiLSTM都能够很好的处理双向数据的序列信息。而Sim-BiLSTM-CNN模型将BiLSTM适用于提取全局特征和CNN适合于提取局部特征的优势相结合,从而拥有更高的预测精度。

3) BILSTM-Attention:使用BiLSTM和Attention机制的文本匹配模型[21]:在BiLSTM模型中引入Attention机制的文本匹配模型。Attention机制就是通过保留BiLSTM编码器对输入序列的中间输出结果,再训练一个模型来对这些输入进行选择性地学习并且在模型输出时将输出序列与之进行关联。

相同之处是都利用BiLSTM提取文本的上下文信息和空间信息,不同之处是本模型将BiLSTM的输出输入到CNN层,进一步提取文本语义和空间特征,而BILSTM-Attention模型中BiLSTM隐藏层的输出通过注意力机制分配权重。

4 试验结果与分析

4.1 模型训练及识别效果

图5和图6分别展示了5种模型在水稻问句相似对数据集上训练的准确率和训练误差的趋势图。

图5 训练集准确率变化

图6 训练集Loss变化

Sim-BiLSTM-CNN 模型相对比其他三中训练模型,随着模型中训练轮数的增加,损失函数下降,精度提高,在训练轮数达到10轮时,变化趋于稳定,准确率接近99%,损失函数值降至0.022,该模型基本达到了收敛状态。训练集和验证集在轮数大于10轮之后,准确率均在95%以上,波动范围小,模型表现效果较好。LSTM可以更好地捕获较长距离的依赖关系,通过训练过程可以学到记忆哪些信息和遗忘哪些信息,但无法编码从后向前的信息而BiLSTM可以更好地捕获双向语义。Sim-BiLSTM-CNN模型则包含上述模型优点,参数更少,且不存在序列依赖问题。仅引入Attention机制后,在同一个样本上根据不同位置计算Attention,忽略了不同样本之间的联系。Sim-BiLSTM-CNN模型loss值在10轮之前,一直处于下降趋势,当轮数等于10时,loss值变化较小,随着轮数的变化最终稳定在0.1以下。

4.2 不同类别样本数量试验对比

为验证模型效果和节省标注数据,使用划分好6类问句,分别是栽培管理、病虫草害、土壤肥料、市场销售、品种选择及其他进行试验。由表4可知,Sim-BiLSTM-CNN模型在各类水稻问句对数据集上准确率均具高于其他三种模型,其中市场销售、品种选择及其他类别中水稻问句对数据量均不足1 000对,其准确率分别达到89.3%、98.2%和98.4%,说明Sim-BiLSTM-CNN模型在数据量较少的情况下,仍能够有效提取短文本的特征进行文本相似度计算,也说明了该模型具有很好的鲁棒性。

表4 本文方法与对比模型在不同类别数据集上的结果Tab. 4 Results of the method in this paper and the comparison model on different categories of data sets %

4.3 不同向量表示试验对比

针对词向量和字向量两种文本向量化表示方式,本文设计了一组对比试验,分别将词向量和字向量作为问句相似度模型的初始输入,对比试验结果如表5所示。由表5可知,模型精确率为99.31%,相对于词向量作为模型输入,精确率、召回率、F1值分别提高了3.07个百分点、2.54个百分点、1.57个百分点。LSTM模型和BiLSTM模型在水稻问句中的P、R、F值中均低于加入注意力机制的BILSTM-Attention模型,这是由于注意力机制可以强化农业问句中关键词的权重,从而提高文本匹配效果。从表5中可以得出,在四种神经网络模型中字向量效果明显优于词向量,使用字符向量的好处是可以解决传统模型不能很好地处理新词的问题(OOV problem)。主要原因是中文分词器往往不完善,不正确的分词可能会降低匹配性能,分词会导致词义单一的词语在不同的句子中向量表示不同。其次,在相对较大的样本数量中,词向量效果可能较好,本文水稻问句样本相对较少,字向量效果更好。

表5 不同嵌入向量(词向量与子向量)对比试验Tab. 5 Comparison experiments of different embedded vectors (word vector and sub vector) %

4.4 不同模型试验结果比较

综合考察评价指标宏平均F值和权重平均F值作为参考,如图7所示。试验结果对比如表6所示,显示了各个模型在测试集的识别性能。

图7 综合考察评价指标对比

表6 不同模型的测试集结果对比Tab. 6 Comparison of test set results of different models %

由图7和表6可知,Sim-BiLSTM-CNN模型精确率为98.20%,在综合考察评价指标中宏平均和权重平均也明显优于LSTM模型和BiLSTM模型,基于上下文的双向LSTM比单向的LSTM提升了10.03%,其原因为:利用LSTM对句子进行建模存在一个问题:无法编码从后到前的信息,而通过BiLSTM可以更好地捕捉双向的语义依赖,与BiLSTM-Attention模型相比,较BilSTM模型综合评价指标对比,试验效果提升明显。精确率高于4.48%,Attention机制可以灵活的捕捉全局和局部的联系;与Sim-BiLSTM-CNN模型相比,宏平均和权重平均较低,是因为Attention机制不能捕捉语序顺序。

应用本模型在测试集识别结果如表7所示。

表7 水稻问句数据识别结果示例Tab. 7 Example of rice question data recognition results

如果预测标签与真实标签一致,则正确,如编号1,2等所示;否则,属于错误预测,如编号3,4,9所示。在测试结果示例中10对问句预测正确为7对,预测错误为3对。分析其主要导致预测标签错误的原因可能是,问句1和问句2文本长短相差较大,不能更好地获取全句语义或者是训练集中标签0和1数量比例不均衡等。

5 结论

为了进一步提高农户在水稻种植过程中的工作效率和质量,减少专家重复回答农户提出的相似问题,避免延时性。本研究使用3个词嵌入模型对文本进行向量化表示,词向量和字符向量在水稻问句相似度匹配模型中进行对比分析,能够考虑到字符的输入特征,提高模型的准确率。利用孪生网络框架结构,应用双向长短期记忆网络和深度卷积循环网络组融合对水稻问句相似度匹配的任务采取建模方式,设计了水稻问句相似度模型,与其他3种文本匹配模型进行对比分析验证了本模型的有效性。

1) 通过使用One-hot、TF-IDF、Word2Vec以及词向量和字符向量在水稻问句中的处理方法可以缓解农业领域的分词错误造成的影响,使模型识别效果在精确率、召回率和F1值中分别提高3.07个百分点、0.54个百分点和1.57个百分点。

2) 本文所设计的水稻问句相似度匹配模型能够对水稻问句数据进行精准匹配,三种文本相似度对比模型LSTM和BiLSTM、并在BiLSTM中引入Attention机制相比在识别结果上具体较大提高,识别的精确率、召回率和F1值分别为99.31%、80.22%和88.75%。

3) 本文使用综合考察评价指标宏平均和权重平均作为模型参考评价标准,同其他3种模型相比,宏平均和权重平均值分别达到75%和80%以上。

4) 在下一步研究中将收集更多的训练数据,更详细的研究特征和架构,以及像GPT-3和BERT模型的应用,探索如何提高模型的训练效率。

猜你喜欢
语义向量神经网络
向量的分解
聚焦“向量与三角”创新题
语言与语义
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
批评话语分析中态度意向的邻近化语义构建
“社会”一词的语义流动与新陈代谢
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
基于神经网络的拉矫机控制模型建立