浙江大学学报(工学版), 2022, 56(12): 2436-2444 doi: 10.3785/j.issn.1008-973X.2022.12.012

计算机技术

基于LSTM与衰减自注意力的答案选择模型

陈巧红,, 李妃玉, 孙麒, 贾宇波

浙江理工大学 计算机科学与技术学院,浙江 杭州 310018

Answer selection model based on LSTM and decay self-attention

CHEN Qiao-hong,, LI Fei-yu, SUN Qi, JIA Yu-bo

School of Computer Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China

收稿日期: 2022-01-7  

基金资助: 浙江理工大学中青年骨干人才培养经费项目

Received: 2022-01-7  

Fund supported: 浙江理工大学中青年骨干人才培养经费项目

作者简介 About authors

陈巧红(1978—),女,副教授,从事并联机器人智能优化设计及机器学习技术研究.orcid.org/0000-0003-0595-341X.E-mail:chen_lisa@zstu.edu.cn , E-mail:chen_lisa@zstu.edu.cn

摘要

针对答案选择过程中存在语句特征、语句间的相关语义信息提取不充分的问题,在长短时记忆网络(LSTM)的基础上,提出基于LSTM和衰减自注意力的答案选择模型(DALSTM). DALSTM使用LSTM和衰减自注意力编码层提取丰富的上下文语义信息,通过衰减矩阵缓解反复使用注意力机制出现的权重过集中于关键词的问题. 使用注意力机制对问题与答案间的信息进行双向交互,融合问答对间的相似性特征,丰富问答对间的相关语义信息. 在WiKiQA、TrecQA及InsuranceQA数据集上的模型评估结果表明,相较于其他基于BiLSTM的先进模型,DALSTM的整体性能表现更好,3个数据集的平均倒数排名(MRR)分别达到0.757、0.871、0.743.

关键词: 问答 (QA) ; 答案选择 ; 长短时记忆(LSTM) ; 衰减自注意力 ; 注意力机制

Abstract

An answer selection model based on the long short-term memory (LSTM) and decay self-attention (DALSTM) was proposed on the basis of LSTM network, aiming at the problem of insufficient extraction of sentence features and related semantic information between sentences in the answer selection process. Contextual semantic information was extracted more fully by DALSTM which used LSTM and decay self-attention coding layer, and the problem of weight over-focused on keywords caused by repeated use of the attention mechanism was alleviated by the delay matrix. The attention mechanism was used to conduct bidirectional interaction between the information of question and answer, integrate the similarity features between question and answer pairs, and enrich the relevant semantic information between question and answer pairs. DALSTM was evaluated on WiKiQA, TrecQA, and InsuranceQA data sets. Evaluation results showed that compared with other advanced BiLSTM-based models, the DALSTM model had a better overall performance, mean reciprocal rank (MRR) of three data sets reached 0.757, 0.871 and 0.743, respectively.

Keywords: question answering (QA) ; answer select ; long short-term memory (LSTM) ; decay self-attention ; attention mechanism

PDF (1074KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

陈巧红, 李妃玉, 孙麒, 贾宇波. 基于LSTM与衰减自注意力的答案选择模型. 浙江大学学报(工学版)[J], 2022, 56(12): 2436-2444 doi:10.3785/j.issn.1008-973X.2022.12.012

CHEN Qiao-hong, LI Fei-yu, SUN Qi, JIA Yu-bo. Answer selection model based on LSTM and decay self-attention. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(12): 2436-2444 doi:10.3785/j.issn.1008-973X.2022.12.012

答案选择是问答应用中的重要技术,旨在从候选答案中选择最合适的正确答案. 提升答案选择方法的性能能够在很大程度上改善用户体验. 早期的答案选择模型基于词法特征,主要依赖人为设计特征,忽略了结构信息,如词序、句法信息及单词间的关系. 随着深度学习发展,如循环神经网络(recurrent neural network, RNN)和卷积神经网络(convolution neural network, CNN)的深度学习方法,因其强大的特征表示学习能力,被广泛应用于自然语言处理任务中.

答案选择工作中的模型大多基于RNN和CNN. CNN擅长从短文本中提取局部特征,Zhang等[1-3]提出的基于CNN的模型已经被验证在处理答案选择问题时很有效. 虽然RNN能够比CNN更有效地提取语义信息,但存在梯度消失和梯度爆炸问题. Wakchaure等[4]结合CNN和RNN的优势,提出基于LSTM的模型,缓解了RNN的梯度消失,解决了一般神经网络存在的长期依赖问题[5]. 上述神经网络模型主要通过优化策略,将句子编码为向量,可能会忽略部分问题和答案间的复杂语义关系. 虽然注意力机制[6-11]擅长捕获关联语义信息,但是通常难以获取全局特征,而Transformer模型[12-14]结合全连接和自注意力机制擅长提取全局特征,提取的语义信息更丰富. 随着Transformer模型的发展,ELMo[15]、GPT[16]、BERT[17]等预训练模型逐渐被应用在自然语言处理任务中. 其中ELMo采用2个双向LSTM结构,GPT、BERT则采用Transformer的解码器结构,通过大量数据构造特征表示模型以及有监督的微调,得到的有效的学习上下文表示能够提升答案选择任务的准确性. 但是微调的预训练模型参数量大、占内存量大、训练成本高,抛弃RNN和CNN,将使模型丧失捕捉局部特征的能力. 以上文献分析表明,向量表示的有效性在问答任务中至关重要. 答案选择仍然存在以下2个问题:1)单纯获取浅层特征或深层特征不能有效表达句子信息;2)反复使用注意力机制,不仅时间成本高,还会影响局部特征提取,导致关键词相似但语义不匹配. 比如:当肯定答案与问题间相似词比否定答案与问题间相似词少时,否定答案更容易被注意力模型识别成正确答案.

1. 基于LSTM与衰减自注意力的答案选择模型

图1所示,基于LSTM与衰减自注意力的答案选择模型(answer selection model based on LSTM and decay self-attention,DALSTM)采用Siamese框架[18],由向量表示、特征提取、语义匹配和答案预测4个部分组成. DALSTM 1)使用词嵌入技术构建问答文本语料库的向量表示. 2)通过BiLSTM层和衰减自注意力层提取上下文语义特征,并通过计算文本序列中语义信息的注意力概率,使正确答案更加关注问题相关信息,忽略答案文本中与问题无关的信息,以保证最终特征向量表示的有效性. 3)采用余弦相似度衡量问题和答案间的语义匹配程度,采用softmax层预测候选答案正确与否.

图 1

图 1   基于LSTM与衰减自注意力的答案选择模型框架结构图

Fig.1   Answer selection model based on LSTM and decay self-attention model frame structure diagram


1.1. 向量表示

使用 $ q=\left\{{q}_{1},{q}_{2},\cdots ,{q}_{{{i}}},\cdots ,{q}_{{l}_{{\rm{q}}}}\right\} $表示问题Q,其中 $ {q}_{i} $为问题的第i个单词, $ {l}_{{\rm{q}}} $为问题的长度. 同理,使用 $ a=\left\{{a}_{1},{a}_{2},\cdots ,{a}_{i},\cdots {a}_{{l}_{{\rm{a}}}}\right\} $表示答案A,其中 $ {a}_{i} $为答案的第i个单词, $ {l}_{{\rm{a}}} $为答案的长度. 为了计算句子的向量表示,采用词嵌入技术使用向量在连续空间中表示词,将嵌入矩阵定义为 ${{\boldsymbol{E}}}\in {\bf{R}}^{V\times d} $,其中V为词汇量的大小,d为词嵌入的维度. 词嵌入技术为问答文本语料库中的每个词构建向量,即每个词生成k维的向量表示,问题输入序列表示为矩阵 $ {{{\boldsymbol{X}}}}_{q}\in {\bf{R}}^{V\times d} $,答案输入序列表示为矩阵 ${\boldsymbol{X}}_{a} \in {\bf{R}}^{V\times d}$.q 为例进行描述, $\;{{{\boldsymbol{X}}}}_{q} = \left[ {{\boldsymbol{x}}}_{1},{{\boldsymbol{x}}}_{2},\cdots ,{{\boldsymbol{x}}}_{i},\cdots,{{\boldsymbol{x}}}_{{l}_{{\rm{q}}}} \right]$,其中 $ {{\boldsymbol{x}}}_{i} $q中第i个词的k维向量表示. 使用预训练word2vec和Glove词向量初始化嵌入矩阵,使用[0, 0.5]的均匀采样对词汇表外的单词进行随机初始化.

1.2. 特征提取

基于LSTM和衰减自注意力模型对问答文本进行编码,从问答对中提取丰富的语义特征.

1.2.1. 长短期记忆网络

LSTM由Hochreiter等[19]提出. LSTM使用自适应门控机制,可以选择性通过sigmoid神经网络层,决定要遗忘和更新的信息. 本研究采用双向长短时记忆网络(Bi-directional LSTM, BiLSTM)对输入向量进行特征提取,通过正向和反向的处理,解决句子前后时序信息的问题,有助于模型对文本语义的理解[20]. BiLSTM由2层LSTM网络构成,第一层以句子的左边作为序列的起始输入,第二层以句子的右边作为序列的起始输入. 如图2所示为LSTM网络的单元结构,该结构由3个门控单元组成,分别为遗忘门、输入门和输出门.

图 2

图 2   LSTM单元结构

Fig.2   Structure of LSTM unit


当前时刻的输入xt和前一时刻的输出ht−1通过遗忘门决定从单元状态选择遗忘的信息,即

$ {{\boldsymbol{f}}_t} = \sigma \left( {{{\boldsymbol{W}}_{\text{f}}} \left[ {{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}} \right]+{{\boldsymbol{b}}_{\text{f}}}} \right) . $

xtht−1通过输入门决定在单元状态存储的新信息,并经过tanh函数依据更新程度控制新单元状态的信息,计算过程为

$ {{\boldsymbol{i}}_t} = \sigma \left( {{{\boldsymbol{W}}_{\text{i}}} \left[ {{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}} \right]+{{\boldsymbol{b}}_{\text{i}}}} \right) , $

$ \overline {{{\boldsymbol{c}}_t}} = \varphi \left( {{{\boldsymbol{W}}_{\text{c}}} \left[ {{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}} \right]+{{\boldsymbol{b}}_{\text{c}}}} \right) , $

$ {{\boldsymbol{c}}_t} = {{\boldsymbol{f}}_t} \cdot {{\boldsymbol{c}}_{t - 1}}+{{\boldsymbol{i}}_t} \cdot \overline {{{\boldsymbol{c}}_t}} . $

xtht−1通过输出门决定输出的信息,并将新的单元状态经过输出门过滤,得到当前时刻的输出ht,计算式为

$ {{\boldsymbol{o}}_t} = \sigma \left( {{{\boldsymbol{W}}_{\text{o}}} \left[ {{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}} \right]+{{\boldsymbol{b}}_{\text{o}}}} \right) , $

$ {{\boldsymbol{h}}_t} = {{\boldsymbol{o}}_t} \cdot \varphi \left( {{{\boldsymbol{c}}_t}} \right) . $

式中:ftitot分别为遗忘门、输入门、输出门,ct为记忆单元,xh分别为输入层、隐藏层,Wb分别为权重矩阵、偏置向量,σφ分别为sigmoid和tanh激活函数.

由于RNN模型会将句子信息压缩表示为固定维度的向量,很难存储过去的信息,每当有新信息加入与先前的信息融合到单个密集向量,将造成内存压缩问题. 因此RNN及其变体模型对长序列无效,对短序列存在内存浪费问题. 而且最后输出的句子表示会遗忘头部信息,可见在答案选择任务中,仅使用LSTM进行特征表示是不够的,本研究使用衰减自注意力进一步提取特征.

1.2.2. 衰减自注意力

自注意力[12]作为Transformer的核心模块,对提取文本自身的全局特征表现出较好的性能. 自注意力机制能带来性能提升的关键是,将其任意2个单词间的距离看作“1”,没有网络隐藏状态不同时间步输入的依赖关系,并行计算能力也将得到大大提升,这对解决自然语言处理(natural language processing,NLP)中常见的长期依赖问题非常有效. 通过计算每个询问词与句子中所有关键词的相关性和权重,得到序列中所有词的输出. 在自注意力层中,每个自注意力被切割成多个头部注意力,多头注意力结构如图3所示. 通过多头注意力机制,让语句中每个词语在不同的特征表示空间中获取语句中所有词的信息,使DALSTM能够提取更细粒度的特征信息.

图 3

图 3   多头注意力结构

Fig.3   Structure of multihead attention


由于每次使用注意力机制都要学习每个单词的权重,关键词信息在最终表示中会占据过多的比例,使模型过于集中于关键词,降低全局语义表示的权重,造成关键词相似但语义不匹配的问题. 受到Bian等[21]提出的动态裁剪注意力的启发,本研究设计衰减矩阵, 通过将注意力权值随着词与词之间的距离增加而衰减,使距离查询词位置越远的词分配越少的权重,以此使得模型更加关注周围词,解决反复使用注意力机制导致输出过于集中关键词的问题.

在进行衰减矩阵的参数赋值时须考虑:如果以倍数递减会导致远距离的词权重分数非常小,对特征的提取几乎不起作用. 经过实验证明逐步递减“1”效果最好. 衰减矩阵如图4所示. 衰减自注意力结构包括多头注意力和衰减掩码,具体训练过程如下:1)通过线性变换,确定语句中每个词的QKV,2)计算n个缩放点积注意力,3)整合n个头部的结果得到多头注意力并经过一次线性变换得到输出,采用的计算式为

图 4

图 4   衰减矩阵

Fig.4   Decay matrix


$ \left[ {{{\boldsymbol{Q}}_i},{{\boldsymbol{K}}_i},{{\boldsymbol{V}}_i}} \right] = \left[ {{{\boldsymbol{W}}_{i{\text{,q}}}},{{\boldsymbol{W}}_{i{\text{,k}}}},{{\boldsymbol{W}}_{i{\text{,v}}}}} \right] {\boldsymbol{X}}, $

$ {{\bf{Att}}} = {\rm{softmax}} \left( {\frac{{{\boldsymbol{Q}}{{\boldsymbol{K}}^{{\rm{T}}} }}}{{\sqrt {{d_{{k}}}} }}} \right){\boldsymbol{V}}, $

$ {{{M}}_{{\rm{d}}}}\left( {i,j} \right) = \left| {i - j} \right| , $

$ {\bf{deAtt}} = {{\bf{Att}}} +\alpha {{{M}}_{{\text{d}}}}{\boldsymbol{V}}, $

$ {\bf{MAtt}} = \left[ {{\text{deAt}}{{\text{t}}_1}, \cdots ,{\text{deAt}}{{\text{t}}_n}} \right]{{\boldsymbol{W}}_{\text{m}}}. $

式中: ${{\boldsymbol{W}}_{i,{\rm{q}}}}、{{\boldsymbol{W}}_{i,{\rm{k}}}}、{{\boldsymbol{W}}_{i,{\rm{v}}}}$为可训练权重参数矩阵,dk为矩阵K中每个列向量的维度,AttdeAtt分别为自注意力和衰减自注意力的输出,α为衰减掩码参数, ${M_{\rm{d}}}(i,j) $为衰减矩阵中第i个词与第j个词之间的衰减程度,deAtti为第i个头部的输出,Wm为参数矩阵,MAtt为整合多个头部注意力的输出.

1.2.3. 注意力机制

目前大多数模型仅使用RNN或LSTM对文本进行编码,这种方式无法捕获答案与问题之间的相关语义信息. 受Yin等[22]提出的ABCNN的启发,使用colume-wise CNN学习从答案到问题的交叉信息,使用row-wise CNN学习从问题到答案的交叉信息. 注意力机制可以在每个时间步中按顺序对单词或短语进行加权,通过这种机制,实现在序列的任何位置之间建立关系. 注意力机制的出现减小了处理高维输入数据的计算负担,通过结构化选取输入子集来降低数据维度,同时,让任务处理系统更专注于找到输入数据中与当前输出相关的有用信息,从而提高输出的质量[11]. 注意力机制的具体过程如下:1)通过tanh函数计算注意力权重的分布,2)通过softmax函数得到归一化的注意力权重,3)将编码层输出的句子向量与归一化后的权重进行逐位相乘,得到注意力后的输出,计算式为

$ {\boldsymbol{e}} = \tanh \left( {{\boldsymbol{Wc}}+{\boldsymbol{b}}} \right) , $

$ {\boldsymbol{\varepsilon }} = {{\rm{softmax}}} \left( {{\boldsymbol{e}}{{\boldsymbol{W}}_{\text{e}}}} \right) , $

$ {\boldsymbol{v}} = \sum\limits_{j = 1}^n {{{\boldsymbol{\varepsilon }}_j}{{\boldsymbol{c}}_j}} .$

式中:c为衰减自注意力层的输出,e${\boldsymbol{\varepsilon }} $分别为不同特征对应的注意力权重分数和权值,W$ {\boldsymbol{W}}_{\mathrm{e}} $为计算注意力权重时的参数矩阵,b为计算注意力权重时的偏置参数,v为注意力机制的输出.

1.3. 语义匹配

相似度计算层通过合并2个向量并计算匹配分数,匹配过程描述为

$ \begin{split} s\left( {{{\boldsymbol{v}}_{\rm{q}}},{{\boldsymbol{v}}_{\rm{a}}}} \right) =& \cos \theta = \frac{{{{\boldsymbol{v}}_{\text{q}}} \cdot {{\boldsymbol{v}}_{\text{a}}}}}{{\left\| {{{\boldsymbol{v}}_{\text{q}}}} \right\|\left\| {{{\boldsymbol{v}}_{\text{a}}}} \right\|}} = \\ & {{\displaystyle\sum\limits_{i = 1}^L {{v_{{\rm{q}}i}} {v_{{\rm{a}}i}}} }}\Bigg/{{ \left({\displaystyle\sum\limits_{i = 1}^L {{{\left( {{v_{{\rm{q}}i}}} \right)}^2}} } {\displaystyle\sum\limits_{i = 1}^L {{{\left( {{v_{{\rm{a}}i}}} \right)}^2}} }\right)^{0.5} }}. \\ \end{split} $

式中:vqva分别为问题和候选答案的特征向量,vqivai分别为问题和候选答案的各分量. 使用最大边距Hinge损失[23]作为DALSTM的损失函数,对于给定候选答案,用 $ {a}^{+} $表示肯定答案, $ {a}^{-} $表示否定答案,训练目标为最大化问题与正确答案的相似性,最小化问题与否定答案的相似性,计算式为

$ L = \max \left( 0,m - s\left( {{{\boldsymbol{v}}_q},{{\boldsymbol{v}}_{{a^+}}}} \right)+ s\left( {{{\boldsymbol{v}}_q},{{\boldsymbol{v}}_{{a^ - }}}} \right) \right) , $

式中:m为根据数据集调整的边距参数.

1.4. 答案预测

预测层以相似度计算层的输出作为输入,对问题和候选答案之间的余弦相似度进行归一化,采用softmax函数生成每个候选答案分到正确类别和分到错误类别的概率分布g,计算式为

$ g = {{\rm{softmax}}} \left( s \right) . $

2. 实验及结果分析

2.1. 数据集

为了验证本研究提出的模型,采用3个常用的问答数据集进行实验研究,3个数据集的详细统计信息如表1所示. 表中,N为问题数,NA为平均候选答案数,LA为平均答案长度. 1) WiKiQA[24]来自维基百科文章,对数据集进行预处理,删除不包含基本事实的数据,删除没有正确答案的问题,只采用有正确答案的问题进行评估. 2) TrecQA[25]来自文本检索会议,包含2个训练集,即Train和Train-all. Train中每个正确答案都经过人工标注,Train-all中通过正则表达式标识正确答案. Train-all中的噪声大,因此本研究选择Train进行实验. 3)InsuranceQA[26]来自保险库网站,对语料做了分词和去标、去停、添加标签的操作. 部分否定答案是根据问题使用检索的方式建立的,它们可能和问题相关但并非正确答案,本研究用此数据集来验证衰减自注意力机制的作用.

表 1   数据集统计信息

Tab.1  Statistics of datasets

数据集 N NA LA
训练 验证 测试
WiKiQA 873 126 243 9.8 25.2
TrecQA 1162 68 65 38.4 30.3
InsuranceQA 16686 1 854 1000 112

新窗口打开| 下载CSV


2.2. 实验设置

操作系统为Windows 10,12G显存Nvidia GeForce GTX 1080Ti显卡,CPU为Inter(R)Xeon(R)E5-2620v4,Python版本为3.6.6,装有pytorch1.5.1,TensorFlow1.10.0,Keras2.2.0.

实验在WiKiQA和TrecQA数据集上使用300维Glove[27]词向量,在InsuranceQA数据集上使用100维word2vec[28]词向量. 在语义特征提取层中,BiLSTM的隐藏层将隐藏维度设置为128;衰减自注意力的层数为6,头部数量为6. 使用随机梯度下降(SGD)算法作为模型参数优化器,动量参数为0.9;训练周期(epoch)均为50次,批大小均设置为32;初始学习率为0.001,学习率调整采用等间隔更新策略,每训练5个epoch更新一次,通过学习率的动态调整,使得模型训练的参数更加稳定. 对于Hinge损失函数中的参数m,根据肯定答案和否定答案的相似度确定,越相似边际m越小,因此对WiKiQA、TrecQA、InsuranceQA分别将m设置为0.15、0.10、0.05.

2.3. 评估指标

本研究采用P@1、平均倒数排名MRR和平均精度MAP作为评估指标. P@1为预测准确率. 将相关性分数最大的作为正确答案,求所有问题的预测结果为正确答案的概率,计算式为

$ {\text{P}}@1 = \frac{1}{{\left| N_{\rm{T}} \right|}}\sum\limits_i^{\left| N_{\rm{T}} \right|} {{y_{i,{\text{lab}}}}} , $

MRR为平均倒数排名. 将正确答案在候选答案池中的排名作为准确率,并对所有问题的准确率求平均数,计算式为

$ {\text{MRR}} = \frac{1}{{\left| {{N}}_{\rm{T}} \right|}}\sum\limits_i^{N_{\rm{T}}} {\frac{1}{{{y_{i,{\text{ran}}}}}}} , $

MAP为平均准确率. 将所有肯定答案的排名倒数作为每个问题的平均准确率,求所有问题的平均准确率的平均值,计算式为

$ {\text{MAP}} = \frac{1}{{\left| {\text{N}}_{\rm{T}} \right|}}\sum\limits_{j = 1}^{\left| N_{\rm{T}} \right|} {\frac{1}{{{m_j}}}} \sum\limits_{k = 1}^{\left| {{m_j}} \right|} {{y_{{\text{p}}}}\left( {{R_{j,k}}} \right)} . $

式中:NT为测试集中问题的数量; ${y}_{i,\mathrm{l}\mathrm{a}\mathrm{b} }$表示第i个候选答案的预测结果标签, ${y}_{i,\mathrm{l}\mathrm{a}\mathrm{b} }$=1.0、0; $ {y}_{i,\mathrm{r}\mathrm{a}\mathrm{n}} $为正确答案候选答案池中的排名; $ {m}_{j} $为肯定答案的数量, $ {y}_{\mathrm{p}} $为平均准确率; $ {R}_{j,k} $为第j个问题到第k个肯定答案为止的预测准确率.

2.4. 基准模型

选择以下6个模型进行对比. 1)CNN:构建2个并列的CNN层分别对问题和答案句进行特征提取,使用池化操作获取句子向量,拼接问题和答案2个向量,通过前馈网络构成的神经网络匹配预测问题和答案的相关性. 2)BiLSTM:使用门控单元控制遗忘和更新的信息,对问题和答案的长时序性进行建模,通过余弦相似度计算2个句子的相关性. 3)CNN+BiLSTM:在CNN和BiLSTM协作下学习问题和答案的向量表示. 4)Attention+BiLSTM:使用BiLSTM对答案进行建模,采用注意力机制根据问题权重加权生成答案的表示. 5)ABCNN:在进行池化之前进行注意力操作,并对生成的注意力权重矩阵进行colume-wise sum和row-wise sum操作,后续再对卷积后的表示重新加权、池化. 6)BERT:基于BERT预训练模型微调,对问题和答案进行相似性建模.

2.5. 结果对比分析

本研究模型和基准模型在3个数据集上的实验结果如表2所示. 实验结果表明,与除 BERT外的对比模型相比,DALSTM在3个数据集上均有性能提升. 在WiKiQA和TrecQA数据集上,CNN比BiLSTM的性能更好,说明在文本长度较短的数据集上,CNN可以很好地捕捉局部粗粒度语义信息,换而言之,CNN更适合短文本的问答匹配任务. 对于CNN+BiLSTM,由于BiLSTM可以从前序和后序提取全局语义特征,CNN能够提取局部语义特征,互相弥补了彼此的缺点,因此,CNN和BiLSTM结合可以提高性能. 引入注意力机制的模型性能比未引入注意力的模型较好,说明在答案选择任务中,注意力机制对2个序列的建模过程中可以增加对交互信息的关注,减少无关信息的干扰,对模型提取语义信息有提升效果. ABCNN的思路是在CNN中使用注意力机制,通过在卷积层之前添加注意力机制在短语级别上起作用,能够在卷积操作前有关注点的提取特征,增强了对抗过拟合的能力. 同时该方法也考虑了2个序列之间的相互依赖信息,因此ABCNN性能相较未引入注意力机制的模型有所提升. 在当前实验的结果中DALSTM效果不如BERT,一方面,BERT模型经过了预训练,学习到的通用语言知识比word2vec或Glove更丰富;另一方面,BERT通过微调学习词语的上下文表示既包含了词语本身的信息,又包含了句子的上下文信息,捕捉的语义信息更为完整. 但BERT经过微调后过分占用内存,DALSTM容量远小于BERT.

表 2   不同模型在3个数据集上的实验对比结果

Tab.2  Comparison result of different models on three datasets

模型 WiKiQA TrecQA InsuranceQA
MAP MRR MAP MRR P@1 MRR
CNN 0.620 4 0.636 5 0.661 0.742 0.348 0.486 1
BiLSTM 0.617 4 0.631 0 0.636 0.715 0.533 0.659 7
CNN+BiLSTM 0.656 0 0.673 7 0.678 0.752 0.620 0.668 0
Attention+BiLSTM 0.638 1 0.653 7 0.711 0.801 0.657 0.675 0
ABCNN 0.691 0 0.712 7 0.643 0.672 0
BERT 0.753 0 0.770 0 0.877 0.927 0.723 0.749 0
DALSTM 0.746 0 0.757 0 0.826 0.871 0.708 0.743 0

新窗口打开| 下载CSV


2.6. 消融实验

将DALSTM分为4部分与完整模型进行对比分析,分别为1)删除注意力机制对问题和答案特征向量的交互(−attention);2)删除衰减矩阵(−decay);3)删除自注意力层(−self-attention);4)删除BiLSTM层(−BiLSTM). 消融实验在InsuranceQA数据集上进行,采用P@1和MRR作为评估指标,实验结果如表3所示.

表 3   InsuranceQA数据集上的模型消融实验结果

Tab.3  Results of model ablation experiments on InsuranceQA dataset

模块 P@1 MRR
−attention 0.692 0.734
−decay 0.689 0.731
−self-attention 0.675 0.723
−BiLSTM 0.657 0.685
DALSTM 0.708 0.743

新窗口打开| 下载CSV


在没有使用注意力机制的模型中,P@1和MRR均比DALSTM的小,此时模型对问题和答案单独建模,忽略2个序列之间的交互信息,结果表明注意力机制的作用是让模型更专注输入数据中与输出相关的有用信息,提高输出特征的质量. 在没有使用衰减矩阵的模型中,P@1和MRR分别比 DALSTM的下降0.019和0.012,衰减自注意力通过缓解注意力过于集中关键词的问题,捕捉到不同粒度的语义信息,实验结果说明衰减自注意力机制能够提高模型的性能. 在没有使用自注意力层的模型中,P@1和MRR分别比DALSTM的下降0.033和0.020,由于BiLSTM在全局建模中受距离的限制,而self-attention层不存在网络中间状态不同时间步输入的依赖关系,在处理词语距离较长的序列时,特征抽取能力强于CNN和BiLSTM,实验结果表明自注意力适于提取句子的全局特征. 在没有使用BiLSTM层的模型中,P@1和MRR分别比DALSTM的下降0.051和0.058,说明BiLSTM对模型性能影响很大,当文本直接通过嵌入层输入自注意力层中,提取的词序信息以及上下文信息并不准确,导致模型性能下降.

为了验证自注意力层使用不同头部数量对模型的影响,取2、3、4、6、10、15个头部进行对比实验,头部数量对模型性能的影响如图5所示,n为头部数量. 实验结果表明,当n=6时,评估指标分数最佳;当n>6时,模型性能不再提升. 理论上讲,多头注意力机制的目标是在不同的头部子空间中注意到其他词的信息,随着头部数量增加,多头注意力机制将捕获更完整的句子信息,由于本研究模型的隐藏维度固定,若头部数量过多,每个头部维度过小,模型的表达能力会受到限制.

图 5

图 5   InsuranceQA数据集上的实验性能对比

Fig.5   Comparative experiment performance on InsuranceQA dataset


2.7. 注意力权重可视化

从WiKiQA数据集中随机选择样本(例如,“how long was frank sinatra famous”),它们的注意力权重如图6所示. 图中,颜色越亮表示注意力权重越大. 可以看出,当自注意力层数大于4时,增加层数对模型的表达能力影响不大. 这是由于在初始训练的几层中,注意力集中在询问词自身,随着自注意力层数增加,注意力开始关注句子的全局信息,层数过多将使得注意力更集中在句子的结尾信息,无法再提取更多有效的信息. 对于衰减自注意力,当层数大于6时,增加层数不再提升性能,说明衰减自注意力机制能有效缓解因频繁使用注意力导致的过于关注位置较远的相关词的问题.

图 6

图 6   InsuranceQA数据集上不同自注意力层的注意力权重

Fig.6   Attention weight of different self-attention layers on InsuranceQA dataset


3. 结 语

本研究提出的DALSTM在答案选择任务中有较好的性能. 模型利用LSTM在一定程度上解决了梯度爆炸和长期依赖的问题,通过对问题和答案的长期性依赖进行建模,保证了信息的完整性和准确性. 模型使用自注意力机制将序列中所有位置的信息以最短距离联系起来,更适合捕捉语句内部的相关性. 通过衰减矩阵削弱位置相对远的词的影响,避免反复使用注意力机制出现的过集中关键词的现象使注意力机制更好地发挥其在模型中的作用. 在3个数据集上的对比实验结果显示DALSTM的有效性,定量分析和定性分析证明了DALSTM的性能. DALSTM不仅能用于答案选择任务,还可以用于其他自然语言处理任务. 错误案例分析表明,“多少”问题和“是否”问题的答案预测容易出现错误. “多少”问题表明需要知识库的收集来回答问题. “是否”问题表明需要一定的推理策略,以便更好地理解问题. 未来计划尝试从结合知识推理和知识库技术出发,对答案选择任务做进一步研究.

参考文献

ZHANG Y T, LU W P, OU W H, et al

Chinese medical question answer selection via hybrid models based on CNN and GRU

[J]. Multimedia Tools and Applications, 2020, 79: 14751- 14776

DOI:10.1007/s11042-019-7240-1      [本文引用: 1]

LIU D L, NIU Z D, ZHANG C X, et al

Multi-scale deformable CNN for answer selection

[J]. IEEE Access, 2019, 7: 164986- 164995

DOI:10.1109/ACCESS.2019.2953219     

李超凡, 陈羽中

一种用于答案选择的知识增强混合神经网络

[J]. 小型微型计算机系统, 2021, 42 (10): 2065- 2073

DOI:10.3969/j.issn.1000-1220.2021.10.009      [本文引用: 1]

LI Chao-Fan, CHEN Yu-Zhong

Knowledge-enhanced hybrid neural network for answer selection

[J]. Journal of Chinese Computer Systems, 2021, 42 (10): 2065- 2073

DOI:10.3969/j.issn.1000-1220.2021.10.009      [本文引用: 1]

WAKCHAURE M, KULKARNI P. A scheme of answer selection in community question answering using machine learning techniques [C]// 2019 International Conference on Intelligent Computing and Control Systems. Madurai: IEEE, 2019: 879-883.

[本文引用: 1]

MA W, LOU J, JI C, et al

ACLSTM: a novel method for CQA answer quality prediction based on question-answer joint learning

[J]. Computers, Materials and Continua, 2021, 66 (1): 179- 193

[本文引用: 1]

石磊, 王毅, 成颖, 等

自然语言处理中的注意力机制研究综述

[J]. 数据分析与知识发现, 2020, 41 (5): 1- 14

[本文引用: 1]

SHI Lei, WANG Yi, CHENG Ying, et al

Review of attention mechanism in natural language processing

[J]. Data Analysis and Knowledge Discovery, 2020, 41 (5): 1- 14

[本文引用: 1]

YU A W, DOHAN D, LUONG M T, et al. QANet: combining local convolution with global self-attention for reading comprehension [EB/OL]. [2021-01-29]. https://arxiv.org/pdf/1804.09541.pdf.

CHEN X C, YANG Z Y, LIANG N Y, et al

Co-attention fusion based deep neural network for Chinese medical answer selection

[J]. Applied Intelligence, 2021, 51: 6633- 6646

DOI:10.1007/s10489-021-02212-w     

TAY Y , TUAN L A , HUI S C . Multi-cast attention networks for retrieval-based question answering and response prediction [EB/OL]. [2022-01-07]. https://arxiv.org/pdf/1806.00778.pdf.

BAO G C, WEI Y, SUN X, et al

Double attention recurrent convolution neural network for answer selection

[J]. Royal Society Open Science, 2020, 7: 191517

DOI:10.1098/rsos.191517     

江龙泉. 基于Attentive LSTM网络模型的答案匹配技术的研究[D]. 上海: 上海师范大学, 2018.

[本文引用: 2]

JIANG Long-quan. Research on answer matching technology based on Attentive LSTM network model [D]. Shanghai: Shanghai Normal University, 2018.

[本文引用: 2]

VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [EB/OL]. [2022-01-07]. https://arxiv.org/pdf/1706.03762.pdf.

[本文引用: 2]

YU A W, DOHAN D, LUONG M T, et al. QANet: combining local convolution with global self-attention for reading comprehension [EB/OL]. [2022-01-07]. https://arxiv.org/pdf/1804.09541.pdf.

SHAO T H, GUO Y P, CHEN H H, et al

Transformer-based neural network for answer selection in question answering

[J]. IEEE Access, 2019, 7: 26146- 26156

DOI:10.1109/ACCESS.2019.2900753      [本文引用: 1]

PETER M E, NEUMANN M, IYYER M, et al. Deep contextualized word representations [C]// Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics. [S.l.]: ACL, 2018: 2227–2237.

[本文引用: 1]

RADFORD A, NARASIMHAN K, SALIMANS T, et al. Improving language understanding by generative pre-training [R/OL]. [2022-01-07]. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf.

[本文引用: 1]

DEBLIN J, CHANG M W, LEE K, et al. Bert: pre-training of deep bidirectional transformers for language understanding [C]// Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics. [S. l.]: ACL, 2019: 4171–4186.

[本文引用: 1]

BROMLEY J, BENTZ J W, BOTTOU L, et al

Signature verification using a “Siamese” time delay neural network

[J]. International Journal of Pattern Recognition and Artificial Intelligence, 1993, 7 (4): 669- 688

DOI:10.1142/S0218001493000339      [本文引用: 1]

HOCHREITER S, SCHMIDHUB J

Long short-term memory

[J]. Neural Computation, 1997, 9 (8): 1735- 1780

DOI:10.1162/neco.1997.9.8.1735      [本文引用: 1]

俞海亮, 彭冬亮, 谷雨

结合双层多头自注意力和BiLSTM-CRF的军事武器实体识别

[J]. 无线电工程, 2022, 52 (5): 775- 782

DOI:10.3969/j.issn.1003-3106.2022.05.011      [本文引用: 1]

YU Hai-liang, PENG Dong-liang, GU Yu

Military weapon entity recognition combined with double-layer multi-head self-attention and BiLSTM-CRF

[J]. Radio Engineering, 2022, 52 (5): 775- 782

DOI:10.3969/j.issn.1003-3106.2022.05.011      [本文引用: 1]

BIAN W J, LI S, YANG Z, et al. A compare-aggregate model with dynamic-clip attention for answer selection [C]// Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. [S.l.]: ACM, 2017: 1987-1990.

[本文引用: 1]

YIN W P, SCHÜTZE H, XIANG B, et al

ABCNN: attention-based convolutional neural network for modeling sentence pairs

[J]. Transactions of the Association for Computational Linguistics, 2016, 4: 259- 272

DOI:10.1162/tacl_a_00097      [本文引用: 1]

LECUN Y, CHOPRA S, HADSELLl R, et al. A tutorial on energy-based learning [EB/OL]. [2022-01-07]. https://typeset.io/pdf/a-tutorial-on-energy-based-learning-2fj3lvviwy.pdf.

[本文引用: 1]

YANG Y, YIH W T, MEEK C. WikiQA: a challenge dataset for open-domain question answering [C]// Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. [S. l.]: ACL, 2015: 2013-2018

[本文引用: 1]

WANG M Q, SMITH N A, MITAMURA T. What is the jeopardy model? A quasi-synchronous grammar for QA [C]// Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. [S. l.]: ACL, 2007: 22-32.

[本文引用: 1]

FENG M W, XIANG B, GLASS M R, et al. Applying deep learning to answer selection: a study and an open task [EB/OL]. [2022-01-07]. https://arxiv.org/pdf/1508.01585.pdf.

[本文引用: 1]

PENNINGTON J, SOCHER R, MANNING C. GloVe: global vectors for word representation [C]// Proceeding of the 2014 Conference on Empirical Methods in Natural Language Processing. [S. l.]: ACL, 2014: 1532-1543.

[本文引用: 1]

CHEN Z W, HE Z, LIU X W, et al

Evaluating semantic relations in neural word embeddings with biomedical and general domain knowledge bases

[J]. BMC Medical Informatics and Decision Making, 2018, 18 (Suppl.2): 65

[本文引用: 1]

/