基于Transformer的神经网络在问答中的答案选择
文章目录
- 基于Transformer的神经网络在问答中的答案选择
- 0. 摘要
- 1. 介绍
- 2. 相关工作
-
- A. 非 DL 答案选择
- B. DL 答案选择
- 3. 方法
-
- A、词表示层
- B、基于Transformer的特征提取器
- C、关联匹配层
- 4. 实验
-
- A. 模型总结
- B. 研究问题
- C. 数据集和评估指标
- D. 实验设置
- 5. 结果和讨论
-
- A. 模型性能
- B. 真值平均长度的讨论
- C. 模型比较
- 6. 结论和未来展望
0. 摘要
答案选择是问答系统(QA)中至关重要的子任务。这项任务的传统方法主要集中在开发性能和实用性都受限的语言工具。随着深度学习在自然语言处理中的巨大成功,基于深度学习的答案选择方法已经得到了很好的研究。但是,现有答案选择模型中采用的传统神经网络,即递归神经网络或卷积神经网络,由于其操作机制而通常难以获得全局文本信息。最近的Transformer神经网络被认为擅长仅采用自注意力机制来提取全局信息。因此,在本文中,我们设计了一个基于Transformer的神经网络用于答案选择,其中我们在Transformer后面部署了双向长短期记忆(BiLSTM),以获取问题或答案句子中的全局信息和顺序特征。与原始的Transformer不同,我们基于Transformer的网络专注于句子嵌入,而不是seq2seq任务。此外,我们采用BiLSTM而不是像通用Transformer那样利用位置编码来编码顺序特征。此外,我们应用了三种聚合策略来生成用于问答的句子嵌入,即加权均值池,最大池和注意力池,从而得出了三个相应的基于Transformer的模型,即 QA?TFWPQA-TF_{WP}QA?TFWP?,$QA?TFMPQA-TF_{MP}QA?TFMP? 以及 QA?TFAPQA-TF_{AP}QA?TFAP? 。最后,我们在常用的QA数据集WikiQA上评估我们的想法。实验结果表明,与几种有竞争力的基线相比,我们提出的基于Transformer的答案选择模型可以产生更好的性能。详细地说,就MAP,MRR和准确性而言,我们的最佳模型分别比最新基线高出2.37%,2.83%和3.79%。
关键词: 答案选择、深度学习、问答、Transformer
1. 介绍
问答(QA)是人工智能(AI)和自然语言处理(NLP)领域的一个重要研究课题,受到学术界和工业界的广泛关注,得到了良好的发展,取得了不小的成就。受Siri1和Watson等智能QA系统成功的启发,QA自2011年开始被广泛研究。与传统的信息检索系统相比,该系统接收的是用户的自然语言描述的问题。然后,给出与所提交问题对应的最合适的答案,这可以较好地了解用户的真实查询意图,有效满足用户的信息需求。我们在图1中给出了一个简化的QA系统流程图。
通常,如图1所示,QA系统首先分析以自然语言描述的问题,然后将其转换为几个搜索查询。 然后,所获取的查询将用于从知识库中检索相关文本,例如Wikipedia,其中包含一些有用的句子以回答这个问题。 接下来,QA系统将从检索到的文本中提取所有可能的候选答案。 最后,系统从所有用于回答用户问题的候选答案中选择最佳答案,即答案选择过程。
随着社区问答系统(CQA)的发展,如Yahoo! Answers、Quora 、知乎,其支持用户的交互,这些年收集了大量的问答对。然后,如何从众多候选答案中筛选出一个问题的最佳答案,极大地推动了答案选择的研究,成为了QA研究的热点。因此,本文重点研究了QA系统的重要环节,即选择答案的任务。
作为问答系统的关键组成部分,答案选择的主要关注点是如何从大量的候选答案中选择出最合适的答案。下面,我们将详细介绍答案选择的正式定义。
定义: 对于一个问题 qqq,它有两种对应的答案池,即候选答案池(candidate answer pool)AAA,候选答案池由 mmm 个可能与 qqq 相关的候选答案组成,即,A:{a1,a2,???,am}A: \{a_1, a_2,···,a_m\}A:{ a1?,a2?,???,am?} 和真值池(ground truth pool)GGG,即, G:{g1,g2,???,gn}G: \{g_1, g_2,···,g_n\}G:{ g1?,g2?,???,gn?},其中 nnn 为ground truth的个数,即qqq 的正确答案。答案选择的重点是从 AAA 中选择 qqq 的正确答案;如果被选答案 ax(1≤x≤m)a_x (1 \le x \le m)ax?(1≤x≤m) 包含在 GGG 组中,则视为选择成功。否则,失败。
图2 给出了一个答案选择的实例。如图2所示,对于问题 qqq :“Which of the following
country is located in Europe?”,其候选答案池 AAA 包含四个候选答案,即分别对应 a1,a2,a3,a4a_1, a_2, a_3, a_4a1?,a2?,a3?,a4?。真值池 GGG 包括问题 qqq 的两个ground truth,即 g1g_1g1? 和 g2g_2g2? 。如果某个算法从 AAA 中选择的答案包含在 GGG 中,则视为成功。
根据上述定义,除了判断这个问题的答案是否正确之外,还有个重点是衡量问题和每个候选答案之间的相关性。因此,答案选择任务可以看作是一个候选重排序问题。
这个任务的早期工作主要尝试从语法上转换每个候选答案 成为 问题,然后通过解析树的语法匹配来度量相关性。但是,由于需要大量的专业知识和人力,这些方法可能存在多语言问题和低效率问题。
为了克服早期研究的局限性,基于深度学习(DL)的答案选择方法近年来得到了广泛的研究,结果证明这种方法是有效的和跨语言的。一般来说,根据基本神经网络(NN)的组成部分,基于 DL 的方法可以分为两大类:,递归神经网络和卷积神经网络。具体来说,RNN应该擅长于建模顺序数据,如句子。但是,它需要在单元间进行递归训练,并且会遭受由梯度消失或梯度爆炸引起的长期依赖性问题,导致无法获得问题或答案句子的全局信息。但是这些问题在它的变体进行了改进,例如长短期记忆(LSTM)和门控循环单元(GRU)。此外,虽然已经尝试通过级联增加接受域来获取全局信息,但是由于CNN内部的运行机制,CNN也只能获取局部信息。
虽然典型的神经网络结构在答案选择的任务上表现出了很高的性能,但是由上述分析可知,它们在获取问题或回答句子的全局信息方面受到了限制。然而,Vaswani等人 在2017年提出了一种新的 NN 结构,即: Transformer,它在许多seq2seq任务中实现了最先进的性能,例如机器翻译。Transformer 完全基于注意力机制处理输入数据,完全解放了典型的递归和卷积神经网络。与以往基于 DL 的答案选择方法不同,本文提出了一种基于 Transformer 的答案选择神经网络来提取更丰富的句子特征,可以在问答的分布式表示中综合全局句信息和顺序特征。我们首先使用一个词表示层,通过连接预先训练好的固定和可变的单词嵌入(word embeddings),将问题或答案句子映射成一个数字向量。接下来,我们设计了一个基于 Transformer 的神经网络架构作为特征提取器,我们在 Transformer 后面部署一个 BiLSTM,而不是利用原始 Transformer 中的位置编码将顺序特征与全局句子信息结合起来。然后,我们使用关联匹配层来衡量问题和候选答案之间的关联,其中我们使用三种聚合策略来生成问题和答案的句子嵌入,即:加权平均池、最大池、注意力池。为了进行比较,我们在公开可用的开放域数据集WikiQA上进行了实验。实验结果表明,我们的基于 Transformer 的模型优于几个有竞争力的基线。
我们简要列出本文的贡献如下:
- 我们提出了一个基于 Transformer 的神经网络来进行答案选择,通过在 Transformer 后面部署一个BiLSTM,将全局信息和句子的顺序特征结合起来;
- 我们在一个公开数据集上进行了全面的实验来验证我们提出的模型的有效性;
- 我们调研了在我们的方法中使用的池化策略对答案选择任务中的不同类型问题的影响。
本文的其余部分将这样安排:第二部分介绍了答案选择的相关工作。第三节描述了基于 Transformer 的答案选择模型的详细架构。第四节详细介绍了我们的实验设置。第五节给出了实验的结果和讨论。最后,我们在第六节中得出主要结论并给出未来可能的方向。
2. 相关工作
在本节中,我们将介绍答案选择先前的工作。根据他们是否使用DL工具,我们将他们分为两类。
A. 非 DL 答案选择
在基于 DL 的方法主导NLP的研究之前,答案选择已经得到了很好的研究。总的来说,语言工具、特征工程和外部资源 极大地促进了答案选择的研究。
- 在语言工具的帮助下,答案选择的任务可以看作是一个句法匹配问题,其目标是匹配问答句的解析树。具体来说,Wang等人设计了一种概率准同步语法,通过一种松散但可预测( loose-but-predictable)的句法转换,使问题和答案相互匹配。Wang 和Manning 提出了一种新的概率方法来捕获对齐,该方法利用依赖解析树上的树编辑操作机制。此外,Yao等人 、Heilman和Smith 注重实现匹配的过程,其从问答句的依赖解析树中以最小的编辑序列进行。
- 在基于特征工程方法上,Severyn和Moschitti 采用树核 支持向量机,将解析树的特征工程融入到判别 树编辑特征提取的过程中。
- 此外,外部资源也能帮助改善答案选择的性能。在 Yih 等人的工作中,由WordNet 计算的词汇语义特征被人工收集。然后,根据问题与回答句子之间的语义相关性,对相关词进行语义匹配。
尽管 非 DL 的方法已经取得了良好的性能,但是由于非 DL 的答案选择方法往往耗费大量的人力和专业知识,因此不能很好地解决多语言的答案选择问题,效率也较低。
B. DL 答案选择
随着深度神经网络(DNN)的兴起,诸如
CNN、RNN和它的变体LSTM、GRU等,许多NLP任务包括答案选择,可以几乎不在特征工程上花精力就能从DNNs的高性能中受益。根据对问答对的处理,大多数基于 DL 的答案选择方法可以分为以下两类。
- 在第一类中,问题和候选答案被视为独立的句子,用DNN学习到的它们自己的句子嵌入来表示。然后,使用一定的相似度度量来匹配问题和答案的嵌入。例如:Feng等人 在他们的论文中设计了几个CNN架构和相似度度量。此外,使用RNN和注意力气机制的基于 DL 的方法也得到了很好的研究。Tan等人 提出使用一个注意力 BiLSTM来匹配候选答案中的各片段部分对问题的相关性。Wang等人介绍了几种如何在GRU中合成注意力机制的架构。此外,Wang和Jiang 设计了一个通用的“compare-aggregate”框架,以比较不同的度量来匹配问题和答案的嵌入。
- 在第二类中,将问题和候选答案视为联合句,通过DNN学习问题-答案对的联合嵌入。例如, Severyn和Moschitti 引入了一种基于CNN的架构,按照 点态法 对问答对重新排序,可以共同学习问答对的嵌入。Wang 和 Nyberg 尝试部署堆叠的BiLSTM组件,以学习问答对的联合特征向量。然后,这个向量将被用作 梯度提升回归树 (GBDT)[26]的输入之一,它将答案选择任务视为一个分类问题。
我们在本文中提出的方法与第一类方法是一样的,即对问答句学习独立的嵌入。由于RNN可能遭受长期依赖问题,CNN只能获得局部句子信息,不同于以前我们采用RNN和CNN协作学习句子特征的工作,我们不用RNN或CNN而使用 Transformer 作为基本特征提取器,其基于自注意力机制来处理数据输入,以获得全局句子信息。实际上,在多篇论文中都可以发现在答案选择任务中存在注意力机制。然而,他们中的大多数人专注于计算候选答案与问题的相关性,而忽略了句子中单词之间的相互作用,即自注意。此外,我们还打算将序列特征与全局句子信息综合起来。为此,我们提出了一种基于 Transformer 的答案选择神经网络,该神经网络在 Transformer 后接 一个BiLSTM 为问题和候选回答句子 来提取更高质量的句子特征。
3. 方法
在本节中,我们将按照模型组件的顺序介绍我们方法的主要部分,即单词表示层、基于Transformer的特征提取器和关联匹配层。不同于以往用RNN或CNN作为特征提取器的研究,我们设计了一个基于 Transformer 的特征提取器,在之后的关联匹配层中使用三种聚合策略,从而得到三个对应的答案选择模型,即,加权平均池(QA?TFWPQA-TF_{WP}QA?TFWP?)、 最大池(QA?TFMPQA-TF_{MP}QA?TFMP?) 和 注意力池(QA?TFAPQA-TF_{AP}QA?TFAP?) 的基于 Transformer 的模型。
图3 给出了本文基于 Transformer 的模型的总体视图。从下到上,它分别显示了三个组件的框架。具体来说,我们将 question 或 answer 作为长度为 lll 的输入句子 sss 来说明我们的模型,因为在我们的方法中没有考虑到问题和答案之间的交互(啥意思??)。在本文中,问题和答案 共享相同的超参数,这是因为早期的研究发现,如果问题和答案 共享不同的参数,网络优化器会遇到更大的困难。下面的小节将详细说明我们方法的每个组成部分。
A、词表示层
在本小节中,我们设计一个单词表示层,将问题和答案句子中的文本数据映射到数字向量中以进行进一步处理,因为文本无法直接由神经网络进行计算。 在单词表示层中,我们利用由word2vec工具包预训练的公开可用的词嵌入,其中包含数亿个 ddd 维向量,这些向量在大型的现实世界自然语言语料库(例如Google News)上进行了训练。 图4展示了我们的单词表示层的总体视图。
如图4所示,对于输入句子 sss : “What county is Jacksonville Florida in ?” ,wtw_twt? 是 sss 中的第 t(0≤t≤l)t (0 \le t \le l)t(0≤t≤l) 个词。不同于以往直接利用固定的预训练的词嵌入的研究,我们使用固定词嵌入和可变词嵌入,然后在训练过程中进行微调以成为更合理的实验数据。通过这种方式,单词表示层将保留尽可能多的单词特征。
首先,为了保持一致性,本文将使用一个特殊的标记将所有问题和答案 pad 到一个固定长度;超过该长度的单词将被截断。然后,模型从固定的词嵌入和可变的词嵌入中查找对应的 ddd 维词向量。接下来,我们将这两个单词向量拼接成一个新的 2?d2*d2?d 维度的单词向量。最后,我们部署一个隐藏层来从连接的单词向量中选择有用的特性。单词 wtw_twt? 的最终表示 rwtr_{w_t}rwt?? 按下式计算:
其中,wtfw_t^fwtf? 和 wtvw_t^vwtv? 分别是来自固定词嵌入和可变词嵌入 的词向量。WhW_hWh? 和 bhb_hbh? 是隐藏层的网络参数。
对输入句子 sss 中的所有单词进行上述处理后,可以返回单词表示层中生成的 sss 的词表示 RWR_WRW?:
显然,在特征提取器处理之前,词表示 RWR_WRW? 中的单词向量 rwtr_{w_t}rwt?? 在句子 sss 的上下文中是相互独立的。因此,需要进一步的处理,将在下面的小节中进行说明。
B、基于Transformer的特征提取器
在本节中,我们将阐述我们所提出的基于 Transformer 的特征提取器的过程,其目的是建模 词表示 RWR_WRW? 之间的上下文信息。由于传统的神经网络,即 RNN和CNN不能建模全局句子信息,因而我们在论文中采用了类似于Vaswani等人提出的多头自注意力的 Transformer 结构。然而,[17]中的 Transformer 是为seq2seq任务设计的,但是我们使用它来生成高质量的句子嵌入。另外,我们没有像原来的 Transformer 那样设计位置嵌入。相反,我们在转换器后面使用一个BiLSTM来合成句子中的顺序特征。图5说明了我们基于 Transformer 的特征提取器的总体视图。从词表示 RWR_WRW? 中提取合理特征的具体过程设计如下。
显然,特征提取器的主要功能是将 词表示RWR_WRW? 转换为分布式句子表示,充分利用句子中单词之间的上下文信息。
在基于 Transformer 的特征提取器中,采用自注意力机制对每个单词向量 rwtr_{w_t}rwt?? 之间的依赖关系进行建模。对于词表示 RWR_WRW? 中的每个单词向量,首先计算它与 RWR_WRW? 中所有单词向量之间的注意力相似度。不同于原来的 Transformer 使用缩放的点乘 作为 注意力相似函数,本文为基于 Transformer 的特征提取器设计了一个缩放感知( scaled perception)。词向量 rwtr_{w_t}rwt?? 与 RWR_WRW? 中所有词向量的注意力相似度计算如下:
其中,oaT,Wa,Uao_a^T,W_a,U_aoaT?,Wa?,Ua? 是注意力参数。ata_tat? 表示词向量 rwtr_{w_t}rwt?? 和 RWR_WRW?中所有词向量 之间的注意力相似度。dRWd_{R_W}dRW?? 是 RWR_WRW? 的维度。dRW\sqrt {d_{R_W}}dRW??? 旨在缩放 softmaxsoftmaxsoftmax 函数,以避免 ata_tat? 过大。
得到注意力相似度 ata_tat? 后,根据下式生成一个自注意力词向量 rwtar_{w_t}^arwt?a? :
所有自注意力词向量构成自注意力词表示 RWaR_W^aRWa?:
除了自注意力机制外,我们基于 Transformer 的特征提取器采用了[17]中的多头机制,其功能与CNN中的多滤波器相似。多头机制允许特征提取器联合合并来自不同表示子空间的信息。假设基于 Transformer 的特征提取器中有 nnn 个头,将 nnn 个自注意力词表示连接起来,构成Transformer 对输入句子 sss 的输出词表示:
其中, RWaiR_W^{a_i}RWai?? 表示第 iii 个自注意力词表示。ConcatConcatConcat 是一个拼接函数,用以将所有 nnn 个自注意力词表示拼接成一个 Transformer 词表示 RWTFR_W^{TF}RWTF?。
原来的 Transformer 没有使用递归和卷积,对句子中的单词位置信息不敏感。也就是说, Transformer 中仅多头自注意力神经网络结构,缺少了 sss 中的顺序特征。然而,在我们基于 Transformer 的特征提取器中,我们在 Transformer 后使用了一个BiLSTM 组件,该组件在许多NLP任务中被广泛采用,因为它可以通过在两个方向上使用 LSTMs 来帮助提取序列数据之间的顺序特征。
在单向LSTM的当前步骤 ttt 中,遗忘门 ftf_tft? 控制遗忘多少前一个词状态ht?1h_{t-1}ht?1? 中的信息。然后,输入门 iti_tit? 决定当前输入词向量 rwtTFr_{w_t}^{TF}rwt?TF? 的多少信息应该保存在内存单元 ccc 中;接下来,内存单元 ccc 将度量 rwtTFr_{w_t}^{TF}rwt?TF? 和 历史记忆 ht?1h_{t-1}ht?1? 的整体信息。更新后的记忆信息CtC_tCt? 由 ftf_tft? 过滤后的历史记忆信息组成。最后,输出门 ooo 控制下一步应该利用多少信息。关于Transformer词表示 RWTFR_W^{TF}RWTF? 的详细操作包括在下面的公式中:
其中,σσσ 表示上述公式中的激活函数 sigmoidsigmoidsigmoid。W∈RH×m,U∈RH×H,b∈RH×1W \in R^{H \times m},U \in R^{H \times H},b \in R^{H \times 1}W∈RH×m,U∈RH×H,b∈RH×1是神经网络参数,分别决定输入信息,输出信息和偏置。对 Transformer 词表示 RWTFR_W^{TF}RWTF? 进行了前向和后向的上述操作后,sss最终的分布式句子表示 RsR_sRs?生成如下:
其中,rstr_{s_t}rst?? 是我们的基于 Transformer 的特征提取器处理的第 ttt 个单词的表示。h→\overrightarrow {h}h 和 h←\overleftarrow {h}h 分别指的是 BiLSTM 的前向和后向输出。
C、关联匹配层
在本节中,我们设计了一个关联匹配层来匹配我们基于 Transformer 的特征提取器生成的问题和答案的句子表示,其中我们使用三种聚合策略来将句子表示矩阵 池化 到一个句子嵌入中。具体过程如下。
-
加权平均池:我们在 QA?TFWPQA-TF_{WP}QA?TFWP? 模型中采用加权平均池,为每个词表示分配可变权重:
其中,wmw_mwm? 和 lll 分别是权重向量和句子长度。 -
最大池:我们在我们的 QA?TFMPQA-TF_{MP}QA?TFMP? 模型中使用最大池化,将句子矩阵池化到最终句子嵌入中,如下所示
目的是提取每个维度中最显著的特征。 -
注意力池:在我们的 QA?TFAPQA-TF_{AP}QA?TFAP? 模型中,我们使用一个注意力池,从问题和答案的句子表示 RQR_QRQ? 和 RAR_ARA? 生成句子嵌入 vqv_qvq? 和 vav_ava?,它们的过程定义在下面的公式中:
其中,GGG 是 RQR_QRQ? 和 RAR_ARA? 之间的注意力相似度。UUU 是注意力参数。ColumnMaxColumnMaxColumnMax 和 RowMaxRowMaxRowMax 是分别从行和列提取最大值的函数。
然后,根据文章[4]、[5]、[22],我们计算问题与答案的句子嵌入之间的余弦相似度,即它们之间的关联程度。
一个问题 qqq 与一个基本事实 a+a^+a+ 和一个错误答案 a?a^-a? (从训练集中所有答案中随机抽取)一起构成本文的训练实例。 对于qqq,a+a^+a+ 和 a?a^-a?,它们的句子嵌入分别为:vqv_qvq?,va+v_{a^+}va+? 和 va?v_{a^-}va??。 为了匹配问题和答案之间的相关性,它们的余弦相似度计算如下:
其中,vav_ava? 表示 ground truth a+a^+a+ 和错误答案 a?a^-a? 的句子嵌入。nnn 是句子嵌入的维度。如果满足 vq,va+v_q,v_{a^+}vq?,va+? 和 vq,va?v_q,v_{a^-}vq?,va?? 的余弦相似度之差超过预设余量 mmm 的条件,即:
训练实例的训练过程将暂停,并且在神经网络中不会执行任何参数更新。否则,优化器将更新NN参数,以得到更低的loss。通过最小化候选答案的排序损失来训练神经网络的最佳训练代数。在本文中,我们的实验采用 Feng等人 提出的排序损失函数,如下:
通过以上过程,我们将找到测试的最佳参数。在得到一个问题 qqq 与其所有候选答案之间的余弦相似度后,余弦相似度最大的候选答案将排在某一问题所有候选答案的第1位,以此类推。
4. 实验
在本节中,我们简要总结了本文中选择比较的基线模型,以及在第 4?a4- a4?a 节中介绍我们提出的模型。指导我们实验的研究问题列在第 4?b4- b4?b 节。接下来,第 4?C4-C4?C 节介绍我们使用的数据集和标准的评估指标。最后,我们在第 4?d4- d4?d 中详细介绍了我们的实验设置和超参数。
A. 模型总结
我们通过与本文中几个有竞争力的基线模型的比较,来验证我们的方法的有效性。表1描述了基线模型的总结和文献,以及我们提出的模型。
B. 研究问题
在本文中,我们提出了以下三个研究问题来指导我们的实验:
- RQ1:与其他有竞争力的答案选择基线模型相比,我们提出的基于 Transformer 的模型是否具有优势?
- RQ2:就真值的平均长度而言,我们提出的模型与最先进的基线相比表现如何?
- RQ3:我们提出的三种模型针对不同的题型在性能上有什么不同?
C. 数据集和评估指标
我们选择评估我们方法的数据集是一个公开可用的开放域数据集WikiQA,发行于 2015年。我们在表2中列出了WikiQA数据集的统计数据,其中详细列出了问题数量、正确答案、QA对以及数据集每个部分中问题和答案的平均长度。
WikiQA是由Yang等人在英文维基百科摘要文章和必应查询日志上创建的,并带有众包注释。我们对上面的数据集进行了预处理,去掉了整个数据集中没有正确答案的问题,因此本文的结果可能无法与其他工作的结果直接比较。有必要提到的是:一个问题可能有多个正确答案。同时,问题的长度远远小于答案,问题的平均长度为6.42;而答案的平均长度为25.33。问题与答案句子之间的长度差增加了答案选择的难度。根据查询词,WikiQA数据集中共有五种常见的问题类型即,‘how’, ‘what’, ‘who’, ‘where’ 和 ‘when’.。WikiQA数据集的详细介绍可以参考[31]。
本文将答案选择任务视为一个重新排序问题,其目的是根据候选答案与问题的相关性重新排序。在先前对答案选择的研究[25]之后,我们采用标准的Mean Average Precision(MAP)和Mean Reciprocal Rank(MRR)作为评估指标。此外,为了反映排在第一位的答案的精度,我们在本文中也报告了排在第一位的精度,这在答案选择的研究中通常采用准确性 accuracy。以上三个评价指标的具体公式如下:
其中 mim_imi? 是第 iii 个问题的ground truth的数量。pjp_jpj? 为第 iii 个问题第 jjj 个正确答案的排名位置。MAP关注所有的正确答案。
相反,与MAP不同的是,MRR只关注第一个正确答案,其计算方法如下
其中 pip_ipi? 为第 iii 个问题的第一个正确答案的排名位置。
其中 precision@1precision@1precision@1 是排在第一位的答案的精度。
D. 实验设置
实验在 Windows8 操作系统上进行,6GB Nvidia 1060 GPU。我们使用的深度学习框架和编程语言分别是TensorFlow 和 Python 。本文预训练的词嵌入的维数为300。following [22],我们将所有问题和答案的句子长度 pad 到40。本文采用The Adaptive Moment (Adam) estimation (自适应矩(Adam)估计)来优化损失。此外,L2正则化和dropout 方法 也用来避免过拟合。我们以小批量的方式训练我们的模型,并在我们的模型中使用指数衰减方法,在每个epoch中改变学习速率,衰减速率为0.9。表3显示了我们模型的详细实验设置。
5. 结果和讨论
本节针对第 4?b4- b4?b 节提出的三个研究问题,对我们的实验结果进行了详细的分析和讨论。第 5?A5-A5?A 通过显示基线的总体性能和我们提出的基于 Transformer 的模型回答了RQ1。第 5?B5-B5?B 节 研究了在不同平均真值长度下最佳基线模型和我们模型的表现,以回答RQ2。第 5?C5-C5?C 节 比较了我们提出的模型在问题类型方面的性能,以回答RQ3。
A. 模型性能
为了回答RQ1,我们将三个基线以及我们提出的基于 Transformer 的模型在MAP、MRR和准确率方面对WikiQA测试集的评估结果汇总在表4中。
如表4所示,一般情况下,对于不同的评价指标,其accuracy值远低于MAP和MRR。因为正确率accuracy只考虑第一个答案的精度,如果排在第一位的答案错误,正确率得分将为0。此外,所有模型中的MAP得分都低于MRR得分,因为MAP关注所有的ground truth,而MRR只关注第一个ground truth。当其他 ground truths 在候选答案列表中排名较低时,MAP得分将减少。
在本文的三个基线模型中,QA-BiLSTM在所有评价指标上都优于QA-CNN。原因可能是BiLSTM与CNN相比,在提取文本数据中的顺序特征方面具有优势。另外,AB-LSTM/CNN在没有集成注意力机制的情况下,相比其他两种基线模型具有明显的优势。因此,在三个基线中,我们选择AB-LSTM/CNN,以便稍后与我们的方法进行比较。
对于我们提出的模型,根据表4所示的结果,与基线模型相比,所有的模型都取得了改进。具体来说,我们的 QA?TFWPQA-TF_{WP}QA?TFWP? 模型的MAP和MRR比最好的 AB-LSTM/CNN 模型分别提高了1.31%和1.35%。与最佳基线相比,我们的 QA?TFMPQA-TF_{MP}QA?TFMP? 模型的MAP、MRR和准确率分别提高了1.78%、2.40%和3.79%。我们的 QA?TFAPQA-TF_{AP}QA?TFAP? 模型的MAP、MRR和准确率分别提高了2.37%、2.83%和1.51%。其中, QA?TFAPQA-TF_{AP}QA?TFAP? 在MAP和MRR方面的改进最大, QA?TFMPQA-TF_{MP}QA?TFMP? 在准确率方面的改进最大。总体比较表明,我们提出的基于 Transformer 的答案选择模型能够产生比有竞争力的基线 更好的性能。这可能是因为我们提出的基于 Transformer 的神经网络可以提高特征提取器提取问答语句全局信息的能力。我们将在下一小节进行进一步的实验,以深入调研我们方法的有效性。
B. 真值平均长度的讨论
为了回答 RQ2,我们在最佳基线(AB-LSTM/CNN 模型) 以及我们的三个模型进行了进一步的实验,深入研究在平均长度的真值的具体表现。首先,我们根据每个问题的平均ground truth长度 LLL,将测试集分为三个部分,即:shortshortshort(L≤22)(L \le 22)(L≤22),mediummediummedium(22≤L≤33)(22 \le L \le33)(22≤L≤33) 和 longlonglong (L≥33)(L \ge 33)(L≥33)。表5显示了上述四个模型在三个部分上的详细评估值。下面的图6给出了可视化的比较。图6a、图6b、图6c分别为MAP得分、MRR得分和accuracy得分的比较。
如图6所示,对于 shortshortshort,可以看出最佳基线模型 AB-LSTM/CNN 在所有评价指标上的性能最高。原因可能是 与我们的模型相比(没有关注问答之间的互动),注意力机制可以帮助促进问答之间的互动,特别是对于较短的真值答案的特征可能很难提取,因为答案句中词语太少。对于 mediummediummedium,性能在每个评估指标的模型中有所不同,但没有明显差异。可能的原因是,对于ground truth答案中等的问答组,他们没有遇到在长句子中没有出现长期依赖问题和在短句子中没有出现单词太少的问题。
然而,对于longlonglong,我们提出的所有模型在每个评估指标上都显示出优于最佳基线模型。具体来说,QA?TFAPQA-TF_{AP}QA?TFAP? 模型对所有的评价指标在 longlonglong 上实现了最高的性能。与最佳基线模型相比,我们的 QA?TFAPQA-TF_{AP}QA?TFAP? 模型的MAP、MRR和accuracy评分分别提高了11.08%、12.75%和19.55%。所观察到的现象表明,我们的基于 Transformer 的模型可以帮助提高真值长度较长的问答对的性能。这是合理的,因为 Transformer 结构可以提取全局信息,特别是对于长句子,而典型的网络神经网络可能由于长期依赖问题等只提取句子的局部信息。
C. 模型比较
为了回答 RQ3,我们进行了扩展实验,比较了 QA?TFWPQA-TF_{WP}QA?TFWP? 模型、 QA?TFMPQA-TF_{MP}QA?TFMP? 模型和 QA?TFAPQA-TF_{AP}QA?TFAP? 模型对于不同题型的性能。首先,我们根据题库中问题句首位置的查询词,将问题分为五种类型,即:‘how’, ‘what’, ‘who’, ‘where’ 和 ‘when’。我们提出的方法在每种类型上的具体评价值如表6所示 :
我们也在下面的图7中显示了它们性能的可视化比较。图7a、图7b、图7c分别为MAP、MRR和accuracy的比较。
从表6和图7中可以看出,各子图的性能曲线分布情况相似,即三种模型在问题类型 who和 where 上都达到了一个峰值,在问题类型 how 和 when 达到了一个谷值。这可能是因为问题类型 who 或 where 的答案总是固定的,不那么含糊。此外,表6和图7也显示了我们三个建议的不同之处。对于我们的 QA?TFWPQA-TF_{WP}QA?TFWP? 模型,与其他两种模型相比,它在每个题型上的表现都是最稳定的。这是合理的,因为它使用加权平均池策略来生成句子嵌入,可以平衡句子中的所有特征。对于我们的 QA?TFMPQA-TF_{MP}QA?TFMP? 模型,它在问题类型 who 或 where 方面在三种模型中表现最好。然而,它也报告了问题类型 who 或 where 的最低表现。可能的原因是,我们的最大池策略在每个维度中保留的最显著的特性对于回答类型是 who 或 where 的问题很重要。也就是说,对于这些类型的问题,决定候选答案是否正确的最必要的特征包含在每个维度中值最大的特征中。对于我们的 QA?TFAPQA-TF_{AP}QA?TFAP? 模型,与 QA?TFWPQA-TF_{WP}QA?TFWP? 模型相比,它在所有题型上都有改进,因为它所采用的注意力池策略可能优于加权平均池策略。此外,注意力池策略可以减少句子之间的歧义,可以提高问题类型 how 或 when 的性能。
6. 结论和未来展望
本文为问答中的答案选择提出了一种基于 Transformer 的神经网络,旨在提取问题和回答句子的全局信息和顺序特征。我们首先采用串行结构部署了多头自注意力机制,并采用BiLSTM作为特征提取器。此外,在关联匹配层,我们采用三种聚合策略将句子表示矩阵池化成句子嵌入,从而得到三种基于 Transformer 的答案选择模型。我们进行全面的实验来评估我们的建议,这些建议是基于公开的QA数据集 WikiQA。实验结果表明,我们的基于 Transformer 的模型在标准评价指标方面可以超过几个有竞争力的基线。
在未来的工作中,我们将通过评估基于 Transformer 的模型在其他数据集上的有效性来验证我们提出的模型的通用性。此外,由于各种注意力机制已被证明对答案选择任务是有效的,因此我们很有兴趣在本文中探索如何将现有的注意力机制与自我注意力机制结合起来,以达到更好的效果。最后,我们提出的基于 Transformer 的神经网络有可能应用于其他自然语言处理任务,如自动文本摘要和自然语言推理。