基于动态注意力和多角度匹配的答案选择模型

2021-12-07 10:08李志超吐尔地托合提艾斯卡尔艾木都拉
计算机应用 2021年11期
关键词:向量注意力模型

李志超,吐尔地·托合提,艾斯卡尔·艾木都拉

(新疆大学信息科学与工程学院,乌鲁木齐 830046)

0 引言

答案选择在典型的问答系统中是一个很重要的环节,它的目标是:给定一个问题和相应的候选答案池,要求从候选答案池中筛选出正确答案。这一任务的难点在于复杂的语义信息难以直接从目标句子之中获得。之前关于答案选择模型的构建主要是基于统计的机器学习方法实现的,这一类方法往往需要设计一系列特征;因此,这种基于特征工程的方法导致耗费大量人力资源,同时所建立的模型对特征依赖性过强。近年来,随着深度学习的方法在越来越多的任务上有了突破性进展,尤其是预训练模型作为通用框架应用到不同领域当中,基于神经网络的答案选择方法也随之迎来了迅猛的发展。在基于深度学习的答案选择方法中,用的比较多的是长短期记忆(Long Short-Term Memory,LSTM)网络,主要做法是首先采用双向LSTM(Bidirectional LSTM,BiLSTM)网络分别得到相应question和answer句子向量表示,然后应用平均池化和最大池化操作来获得question和answer的最终的表示,最后计算两者之间的cosine距离[1]。

基于卷积神经网络(Convolutional Neural Network,CNN)的方法也很常见,主要做法是使用CNN 分别对问句和答案句进行建模,提取多个粒度级别的特征并应用多种类型的池化操作[2]。由于卷积网络在特征提取过程中可以对更小的粒度进行操作,因此更加有利于获得更丰富的句子表征。

最近,基于预训练模型的方法是一种新的趋势,研究者们开始将预训练模型迁移到多种自然语言处理(Natural Language Processing,NLP)任务中[3]。基于预训练模型的方法大致可分为基于特征和基于微调两种形式。其中,基于微调方法是指在已训练好的语言模型基础上,加入少量目标任务的参数,然后在新的语料上重新训练来实现微调。基于特征方法相对简单,一般指将在大型高质量数据集上训练出的模型所生成的词向量作为特征,输入到下游特定任务中。

然而,在当前这些主流的基于神经网络的方法中,它们要么更多专注句子表示,比如在文献[4]中提出结合粗粒度(句子级别)和细粒度(单词或n元单词级)信息的句子表示模型,有效地获取了句子本身包含的信息,而对于获取句子之间的语义关联特征所采取的操作比较单一;要么更多专注句子信息交互,比如在文献[5]提出的方法中,通过利用多种深度学习模型来提取问题-答案对的语义匹配特征,而在句子对的表示上仅使用常用的词向量来进行表示。可以看出,这些方法在模型性能上的表达都有自己的不足。本文旨在提出一种有效的方法来同时解决句子表示和句子信息交互不充分的限制问题。

为了解决句子表示不充分的限制问题,本文利用预训练语言模型的嵌入(Embeddings from Language Models,ELMo)[6]将词向量嵌入到句子表示中,该预训练语言模型生成的词向量包含一定的上下文语义信息。其次,本文还引入了一种动态注意力机制,以此来过滤句子向量中不相关的信息,进而更好地获得句子向量表征。为了解决句子之间信息交互不充分的限制问题,本文在匹配层引入了多角度匹配的方法,将得到的句子向量分别通过三种不同的操纵方法来使句子之间进行信息交互,从而更好地捕捉问句和候选答案句之间的语义关联信息。

本文的主要工作如下:

1)提出了基于动态注意力机制和多角度匹配结合的方法。

2)巧妙地将预训练模型迁移到上下文嵌入层,提供了一种新的句子对表达思路。

3)引入动态注意力机制有效地筛选句子表示中无关的信息,提升了对句子的表达。

4)引入多种匹配策略,更加充分地捕捉问句和候选答案句之间的信息交互。

1 相关工作

从本质上来说,答案选择任务可以被认为是对目标问题和其候选答案之间的语义关系进行建模。之前已有很多研究将神经网络方法应用到答案选择任务中来,这些方法整体可归纳为两类,即基于孪生网络的框架和比较聚合的框架。基于孪生网络框架通过共享参数使得模型更小以及训练更容易[7-9]。然而,这种方式在句子向量之间的相似度计算过程中,常常忽略句子之间的交互,因而会造成重要信息的丢失。为了解决这一问题,研究者提出了比较聚合框架[10-12]。简单来说,就是先将待匹配问题和候选答案中的句子单元进行比较,然后将比较结果用LSTM/CNN 分别将问题和答案中的句子单元进行聚合表示成新的句子向量,最后输入到决策层。在该框架下,文献[13]提出了基于词级别的句子表示和聚合操作的比较聚合模型。

随着注意力机制在句子表示任务上展现出很好的性能,研究者们将注意力机制应用到答案选择任务中,文献[14]提出了QA-LSTM/CNN with Attention,该模型将通过LSTM/CNN得到的句子向量表示输入到Attention 网络中,得到句子向量中不同单元的注意力分布,从而得到包含了句子关联信息的句子向量。其次,在Attention 机制的应用上也有不同的策略,文献[15]提出了Attentive Pooling Networks,该模型提出了注意池的概念,在用神经网络进行成对排序或分类的情况下,注意池可以感知当前输入对,这样来自两个输入项的信息能够直接影响彼此表示的计算。在答案选择任务中,将目标任务看作是一个三元组的相似度求解。

预训练模型被提出后,研究者们通过对预训练模型进行微调来解决下游目标任务,其高效性很大程度上得到了验证。其次,研究者们还对大型语料下的预训练模型加以优化设计,仅将其作为底层语言表示结构来获得句子表示,再结合其他网络结构来对目标任务进行建模[16]。

本文的模型结构整体与文献[10]提出的比较聚合框架——动态滑动注意力网络(Dynamic-Clip Attention Network,DCAN)类似,同时本文在注意力层采用了相同的过滤机制来增强表征。不同的是,本文在注意力层之前先调用了预训练模型的词嵌入方法来加强句子单元向量的语义信息,从而使得注意力层中的过滤机制能够更好地表现。其次,在比较层中,本文额外考虑句子对之间的语义关联对句子表征的影响,引入多种匹配策略实现句子单元之间的信息交互。相较于文献[10]中只考虑本身句子单元之间的做法,本文方法获得的句子表征更加丰富。此外,在聚合层,本文使用具有信息传递的循环神经网络,相较于卷积神经网络,本文采用的方法能够很大程度减少参数量以及运算次数。总的来说,本文提出的模型结构相对简单,可解释性强且处理效率更高。

2 模型结构

本文提出了基于动态注意力机制和多角度匹配(Dynamic Attention and Multi-Perspective Matching,DAMPM)的答案选择模型,该模型的目标任务是预测匹配分数(Y|Q,A),其中,Q表示问句,A表示相应的候选答案句,Y∈{0,1},Y=1 表示Q与A相关,Y=0 表示Q与A不相关。本文模型的整体结构如图1所示。

图1 本文模型的整体结构Fig.1 Overall structure of proposed model

2.1 字词表示层

在这一层,采用单词表示的全局向量(Global vectors for word representation,GloVe)[17]来表示本文模型的输入Q和A,通过匹配映射分别得到Q和A中每个单词的词向量表示,根据每个词对应的词向量来组合形成最终的句子表示Q:,其中lq表示问题Q的长度,la表示候选答案句A的长度。

2.2 上下文嵌入层

考虑现有预训练模型丰富的知识表示能力,本层调用了ELMo 预训练模型来作为上下文语境嵌入的词向量表示。ELMo是一种深层语境化的词汇表征语言模型,它模拟了词汇使用的复杂特征(如句法和语义),以及这些用法在不同语言环境中的变化(即多义现象建模)。不同于传统的词向量表示,比如Word2Vec(Word to Vector),每一个词映射成唯一的词向量。而ELMo 预训练模型可以通过网络结构中的内部函数获得具有语义信息的词向量,根据上下文来主动判断当前位置词的准确语义,生成相应的词向量表示。其次,该预训练模型在大型文本语料库上进行了训练,使得其能够作为通用的语言模型迁移到不同的NLP 任务中。本文工作中,采用在Benchmark 语料上训练好的模型得到的词向量作为上下文嵌入向量,再将得到的上下文嵌入词向量与字词表示层的词向量进行拼接,归一化得到新的句子向量表示Q和A。

2.3 动态注意力层

在获得Q和A的句子向量表示后,本层引入动态注意力机制去除句子表示中的冗余信息。传统的静态注意力机制在处理序列信息时,需要对问句中每个时间点的位置与答案句中所有时间点位置进行计算,该操作过程不仅计算量很大,且为重复计算。因此,本文在两个基准数据集上分别应用两种不同的基于动态注意力的过滤机制来实现去噪,即K-threshold filtering 和K-max filtering。通过在注意力层应用过滤策略,将不相关信息的权重置零,再根据新的权重分布得到最终的句子表示,从而使重要信息的权重在新的句子表示中占有更大的比重分配,进而提升在匹配层中的计算效率。

应用过滤操作之前,通过传统的注意力机制方法获得初始的注意力权重矩阵,即计算待匹配问题单元qi和候选答案单元aj之间的语义相似度。对于相似度打分函数eij(也称注意力打分函数)的计算,本文采用点乘操作,表达式如下:

得到相似度大小的分布后,采用Softmax 函数进行归一化,归一化后的结果可以看作该问题单元在候选答案序列中的注意力权重分布。

同理,求得候选答案单元aj在问题序列中的注意力权重分布。假定归一化后qi和aj的权重分配系数为,表达式如下:

得到每个词在句子中的权重系数后,分别应用前文提出的两种过滤策略。对于问句Q,假定得到的权重矩阵可以表示为w=[w1j,w2j,…,wij,…,wlq j]T,其中wij是的简写。在K-Threshold filtering 方法中,假定一个表示相关性强度的阈值K,保留大于阈值K的权重,对于小于阈值K的权重采取置零操作,再根据新的权重分布来计算每个词的权重分配系数,表达式如下:

通过设定阈值K的方法,实现句子中不相关信息的过滤。其次,阈值K的大小可根据输入来动态调整。

在K-Max filtering 方法中,首先将权重矩阵中的权重系数按降序排列得到权重序列表T,随后保留前k位权重系数较大的权重值,对于k位之后的权重置零,再根据新的权重分布计算每个词的权重系数,表达式如下:

2.4 多角度匹配层

以往的句子匹配方式大多只采用单一的操作方法来对句子单元之间进行交互,很难捕捉到句子间深层次的语义关联信息,因此本文采用多角度匹配的方法来进行问句和答案句之间的信息交互。通过应用多种不同匹配策略来进行句子单元之间的信息交互计算,从而获得更好的匹配结果。本层采用了三种不同的匹配策略来进行不同方位的比较,即全匹配策略(Full-Matching)、注意力匹配策略(Attentive-Matching)和最大注意力匹配策略(Max-Attentive-Matching)。

先定义一个多维度的余弦匹配函数fm,通过该匹配函数来比较两向量之间的匹配程度,并将结果返回给m:

其中,v1和v2是d维向量,W∈Rl×d是可训练的参数矩阵,l表示匹配角度的个数,匹配结果m=(m1,m2,…,mk,…,ml)为l维的向量。元素mk∈m表示第k个匹配角度的匹配结果,通过计算两个加权向量之间的余弦相似度来获得,表达式如下:

其中,Wk表示参数矩阵W=[W1,W2,…,Wk,…,Wl]T的第k行,控制第k个匹配角度,并为d维空间的不同维度分配权重。

为了充分让问句的每个句子单元向量与候选答案句的所有句子单元向量进行比较,本层基于匹配函数fm,引入三种不同的匹配策略。在Full-Matching 策略中,将问句的每个句子单元向量与候选答案句中最后一个句子单元向量进行比较,网络结构如图2所示。

图2 全匹配策略网络结构Fig.2 Structure of Full-Matching network

整个匹配层中,采用双向长短期记忆网络来实现参数传递,因此在进行比较的时候区分了前向和后向传递。假定问句Q中的句子单元与答案句A中最后一个句子单元进行比较后的返回结果为,则:

Attentive-Matching 策略的网络结构如图3 所示。首先分别计算待匹配问句单元和答案句A中每个句子单元的余弦相似度,可以将相似度大小看作是该问句单元在答案句A中的注意力权重分配,接着进一步将得到的权重αij进行归一化处理,最后对答案句中所有的句子单元进行加权求和,得到该问句单元对应的注意力向量表示。

图3 注意力匹配策略网络结构Fig.3 Structure of Attentive-Matching network

之后,将待匹配问句单元与得到的注意力向量表示进行匹配比较,表达式如下:

Max-Attentive-Matching 策略与Attentive-Matching 策略类似,先通过余弦相似度计算获得相似度矩阵。不同的是,该方法直接将相似度矩阵中值最大的单元向量作为注意力向量,之后将待匹配问句单元与该注意力向量进行匹配比较,其网络结构如图4所示。

图4 最大注意力匹配策略网络结构Fig.4 Structure of Max-Attentive-Matching network

假定相似度矩阵中值最大的单元向量表示为,则匹配结果为:

同时应用上面三种匹配策略来对问句Q中的句子单元进行处理,此时每个句子单元都包含6 个向量,进一步将每个句子单元包含的所有向量进行拼接,得到该句子单元的最终表示。

2.5 聚合层

本层的目的是将匹配层获得的前向和后向信息进行整合,同时将问题句子表征和候选答案句子表征进行拼接,生成包含问题和候选答案信息表征的句子向量。本文采用双向长短期记忆网络来融合匹配层传递过来的前向句子单元向量以及后向句子单元向量的序列信息。考虑长短期记忆网络具有信息传递的特性,将每个句子单元通过BiLSTM 网络后得到新的句子单元向量,再取前向传递和后向传递中的最后一个单元向量作为连接向量,最后将连接后的向量rq和ra进一步拼接得到该层的输出表示,即打分向量Score。最后,在输出层,本文利用该打分向量来对候选答案进行排序,其中M是输出层的可训练参数变量。

2.6 输出层

为了有效地对候选答案列表中的答案进行排序,本文采用机器学习中排序方法来对列表中的答案进行排序。常用的排序方法有两种:Point-wise 和List-wise。其中Point-wise 方法是将列表中每个答案看作一个样本,分别与问题进行计算来获取排序函数。而List-wise 方法是将整个列表看作一个样本,通过直接优化评价方法和定义损失函数来实现。在输出层的设计中,为了充分考虑匹配问题和候选答案之间的关联程度,本文采用了List-wise 方法进行答案抽取。与Point-wise方法不同,即先不对聚合层的输出Score进行下一步的计算,而是将待匹配问题Q和对应的候选答案集合A={A1,A2,…,AN} 以及Label 集合Y={Y1,Y2,…,YN} 分别输入到本文模型中,依次通过本文模型获得问题Q与每个候选答案计算后的Score向量,然后应用Softmax 分类器来得到模型最终的输出集合S。

最后,本文应用KL(Kullback-Leibler)散度损失函数来训练本文模型:

3 实验与结果分析

在这部分中,本文将提出的框架与两个选定基准数据集上的先进方法进行比较,整体评估本文模型的性能。另外,本文通过消融实验对模型的鲁棒性进行了实验分析。

3.1 实验设置

采用包含8.40 × 1011个单词的公共Crawl 语料库训练的300维GloVe 词向量模型初始化字词表示层中的单词嵌入,上下文嵌入层的ELMo 预训练模型使用tensorflow-hub 中谷歌发布的基于tensorflow 实现的第一个ELMo版本。Hidden层采用Tanh 函数,为了加快模型的训练过程,使用自适应矩阵估计(Adaptive moment estimation,Adam)优化器更新参数,学习率为0.001。在训练的时候,为了验证ELMo 模型的上下文词嵌入表达对模型性能的影响,保留了预先训练的单词嵌入。在K-threshold 方法中,根据经验对K阈值大小进行设置。根据问题和答案的长度,在TRECQA 数据集中,将问句的阈值K设置为0.07,答案句的阈值K设置为长度的倒数;在WikiQA 数据集中,将问句和答案句的阈值K都设置成0.07。在K-max方法中,通过网格搜索的方法获得相应K的值,具体为:将TRECQA 数据集中问句和答案句分别设置成3 和16,对WikiQA数据集中问句和答案句分别设置成5和10。

其次,实验中,本文采用了平均准确率均值(Mean Average Precision,MAP)和平均倒数排名(Mean Reciprocal Rank,MRR)来作为本文模型性能的评价指标。

MAP是指所有问题的平均准确率均值。首先计算每一个问题的平均准确率,表达式如下:

其中:q∈Q,q代表单个问题;n代表单个问题下所有的候选答案;m代表相关的答案数。P(k)代表排在第k个位置的候选答案的准确率,rel(k)的值取0 或1,当第k个候选答案是相关答案时为1,否则为0。可得到MAP最终表达式:

其中:Q代表整个问题集合;|Q|代表问题的数量。单个问题对应的所有相关答案在候选列表中位置排名越靠前,则MAP越大。当每个问题对应的所有相关答案位置排名都在不相关答案位置排名的前面,则MAP越接近于1;当每个问题对应的所有相关答案的位置排名都在不相关答案位置排名的后面,则MAP越接近于0。

MRR是指所有的问答对在模型给出的位置排名列表中,第一次出现相关答案的位置的倒数的平均值,表达式如下:

其中rankq代表问题q对应的第一个正确答案在其所有候选答案中的排名大小。当所有问题的正确答案都在第一个位置时,即模型所给出的相关答案的分数高于不相关的答案,则MRR的值接近于1;当所有问题的相关答案都不位于第一个位置,则MRR的值就越接近于0。可以看出,MRR只关注模型所给出的排序列表中第一个正确答案所在的排名。

最后,在所有的实验中,选择在验证集上表现最好的模型,进一步在测试集上进行评估。本文在文本检索会议问答(Text REtrieval Conference Question Answering,TRECQA)数据集[18]和维基百科问答(Wiki Question Answering,WikiQA)数据集(Clean版)[19]进行实验,详细信息如表1所示。

表1 TRECQA和WikiQA数据集统计数据Tab.1 Statistics of TRECQA and WikiQA datasets

3.2 结果分析

先将本文提出的模型(DAMPM)与不同的基线模型进行对比,以此来评估本文方法的性能表现。另外,考虑到本文构建模型的注意力层分别应用了两种不同的过滤机制来进行效果比 对,因此将DAMPM(withK-Max)和DAMPM(withKThreshold)分别表示采用K-max 和K-threshold 两种方法对应的结果。

基于TRECQA数据集和WikiQA数据集,本文采用了以下基线模型:1)文献[1]中应用BiLSTM 将问答对分别表示成一个向量,进而通过比较向量之间的余弦距离来获得最佳答案;2)文献[2]中从句子相似度计算的角度出发,应用多个卷积方法和多种类型的池化操作来对句子对进行相似度计算,进而得到最终的最佳问答对;3)文献[10]中基于“比较聚合框架”,提出了动态滑动注意力网络(DCAN),即在注意力层分别应用两种不同的过滤策略(K阈值和K最大值)来加强句子的表征,进而提升问答对之间的相似度精度;4)文献[13]中针对序列之间的比较匹配操作,提出了一个通用的“比较聚合”框架,并在该框架下执行单词级别的匹配,最后使用卷积神经网络进行聚合;5)文献[16]中基于BERT(Bidirectional Encoder Representations from Transformers)预训练模型来对答案选择任务中的问答对进行相似性建模,并分别应用了基于微调以及特征的两种方法;6)文献[19]中构建了WikiQA 问答数据集,并将词频和逆文本频率(Term Frequency-Inverse Document Frequency,TF-IDF)指数作为特征信息引入到句子的表征中;7)文献[20]中提出了采用文档对的排序方法来得到答案列表中的最佳答案,并将噪声对比估计方法扩展为三重态的排序损失函数,可以有效地利用三重态输入中的交互作用;8)文献[21]中引入多播注意力来深度挖掘句子之间的语义关联特征,并应用高速(Highway)网络结构对最终的句子表示进行压缩聚合;9)文献[22]中利用卷积网络提取局部特征的能力,依次进行句子对之间的字词匹配操作,进而获得问答句的最佳表达;10)文献[23]中提出了在深度学习模型框架下的句子交互部分应用多种匹配特征的计算方法,来更深层次地获取句子对之间的语义关联信息;11)文献[24]中提出了一种基于偏序的答案选择排序方法,有效地获取不同候选答案之间可能的偏序关系。

表2~3 分别给出了在TRECQA 数据集和WikiQA 数据集上本文所提出的框架和相应基线模型的实验结果。从表中实验结果可以看出,本文提出的模型与基线模型相比,整体上具备更好的性能。在TRECQA 数据集上,与基线模型中最佳的方法(文献[21]方法)相比,本文提出的方法在MRR指标上获得了当前的最佳效果(提高了1.1 个百分点),且与文献[10]方法相比,在MAP和MRR两个性能指标上均提高了1.6 个百分点。同时,在WikiQA 数据集上,与基线模型中最佳的方法(文献[10]方法)相比,本文提出的方法在MAP指标上也取得了当前的最佳效果(提高了0.7 个百分点),在MRR指标上提高了0.8个百分点。

其次,从表2~3 中的实验结果中可以看出,在不同的数据集上,应用不同的动态注意力机制所得到的结果有明显的差异。对这两个数据集中的语料进行分析,发现TRECQA 中候选答案句中包含更多复杂的背景信息,这部分信息从言语理解的角度来看,与回答的问题内容关系不大甚至是无关,K阈值的方法过滤了更多的噪声信息,因此有更好的效果。

表2 TRECQA数据集上的实验结果 单位:%Tab.2 Experimental results on TRECQA dataset unit:%

另外,在TRECQA 数据集中,文献[21]的方法在MAP指标上略高于本文的方法,可能的分析是:文献[21]方法在预测层之前增加了高速网络结构,可以进一步提升句子表征,提高预测层的准确率。不过从提升的幅度来看,在深层次网络中常应用的高速网络结构对本文模型的性能影响极小,进而可以印证本文的模型结构较为简单。其次,在WikiQA 数据集中,文献[24]的方法在MRR指标上相较本文的方法有更好的表现,可能的分析是:文献[24]方法在考虑候选答案对之间的关联性时,采用了局部排序的思想,类似于快速排序,相较于本文采用的全局排序方法,能更快地确定第一个正确答案的位置信息。

表3 WikiQA数据集上的实验结果 单位:%Tab.3 Experimental results on WikiQA dataset unit:%

可以看到,在两个数据集中MRR指标整体上来说要优于MAP指标,其原因可以从理论上加以论证,从两个指标的度量公式来看,可以看出MRR评价指标只关注候选答案列表中第一个正确答案的打分情况,而MAP衡量的是整个候选答案列表中所有相关答案的位置排名情况。

此外,为了验证本文采用的List-wise 方法相较于Pointwise 方法更有效,本文在TRECQA 数据集上对这两种方法进行了实验对比。考虑保证不受其他因素的影响,采用相同的基线模型(DAMPM withK-Threshold)进行实验,通过分别记录不同EPOCH对应的MAP指标来进行比较分析。两种方法对应的MAP指标变化轨迹如图5 所示。从图5 中可以观察到,整体上对比,List-wise 收敛更快,同时其变化轨迹更加得平缓。分析其原因,List-wise 额外地考虑了候选答案列表中各候选答案句的位置信息以及它们之间的相关性,因此可以更快地实现收敛。

图5 TRECQA数据集上两种方法的MAP指标变化趋势Fig.5 MAP index change trend of two methods on TRECQA dataset

最后,为了探究本文模型的性能影响因素,本文将在TRECQA 验证集上表现最佳的模型——DAMPM(withK-Threshold)作为这部分实验的基线模型,并在此模型上进行消融实验。具体来说,为了探究匹配层对模型的性能影响,在实验中依次去掉匹配层中三种策略中的一种,同时保证其他因素不变,根据获得的MRR指标差异来分别评价不同匹配策略对模型性能的影响。本文将三种匹配策略的消融实验对比方法分别表示为:w/o Full-Matching、w/o Attentive-Matching、w/o Max-Attentive Matching。其中w/o 表示“去掉”操作。因此w/o Full-Matching 表示在匹配层中,仅应用Attentive-Matching和Max-Attentive Matching 两种匹配策略来进行问答对句子之间的比较匹配后的结果。而w/o Attentive-Matching 和w/o Max-Attentive Matching的表达类似。

同时,为了探究上下文语境嵌入表示层对模型性能的影响,将GloVe 表示的词向量直接喂给上层注意力网络中,且保证其他环节不改变,其对应的方法表示为w/o ELMo。

另外,为了探究GloVe 在本文数据语料上的表示能力,更好地与ELMo 的表示方法进行对比,选择去掉模型结构中的字词表示层,将模型输入直接喂给上下文嵌入层中的ELMo预训练模型来进行表示,其他结构保持不变,其对应的方法表示为w/o GloVe。实验结果如表4 所示,从表4 中实验结果可以看出,匹配层以及上下文嵌入层对模型的性能表现都有较大的影响,去掉某一层都会使得模型的性能表现明显下降。其次,去掉GloVe 的字词表示层对模型性能影响非常小,可以表明在字词表示能力上,ELMo 更优于静态的GloVe 表示方法。综上,与上下文嵌入层和字词表示层相比,匹配层对模型的性能影响更大,且Full-Matching 策略相较于其他两种策略表现更好。

表4 在TRECQA验证集上的消融实验结果 单位:%Tab.4 Ablation experimental results on TRECQA validation set unit:%

4 结语

本文提出了一种基于动态注意力机制和多角度匹配的模型来实现答案选择任务,该模型结合了预训练模型在语言表示上的优势,同时,通过引入动态注意力机制去除了部分不相关的冗余信息,更好地获得句子表征。其次,引入多角度匹配的方法来实现句子之间不同单元的比较,充分得到目标句子之间的语义关联。在两个公开的标准答案选择数据集上进行了评测,实验结果表明,本文所提出的模型在整体性能上与基线模型相比有更好的性能表现。此外,本文所提出的模型不仅可以应用在答案选择任务上,同时还能够用于匹配以及排序任务中,比如说自动问答、机器阅读理解和对话系统等应用领域。

目前,本文仅简单将已训练好的ELMo 预训练模型进行迁移,由于文本领域存在不可忽视的OOV(Out of Vocabulary)问题。因此,在未来的工作中,首先会进一步在自己的数据集上重新对ELMo 模型进行训练,并将训练得到的新的词向量表示嵌入到上下文嵌入层,探究语料知识领域对词向量表示的影响大小。同时,我们还将进一步探究其他现有预训练模型对下游处理任务的影响,比如说当前应用很好的GPT(Generative Pre-Training)、BERT[25]、ULMFiT(Universal Language Model Fine-Tuning)[26]等,进而对语言模型的表征机理、适用场景以及迁移策略进行分析研究。另外,我们还将探索句子之间的深层交互的匹配策略。

猜你喜欢
向量注意力模型
适用于BDS-3 PPP的随机模型
自制空间站模型
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
模型小览(二)
A Beautiful Way Of Looking At Things
离散型随机变量分布列的两法则和三模型
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线