随着互联网技术的快速发展, 大量的文本数据不断产生, 人们能够通过搜索引擎检索到丰富的信息。然而传统的搜索引擎仅仅返回与结果相关的网页, 导致难以让用户获取准确的关键信息。相比之下, 智能问答系统能够以一问一答的自然语言形式, 通过与用户进行交互, 精确定位用户意图, 从而能够高质量地快速满足用户的信息需求, 降低网站运行成本。目前, 智能问答系统已经是自然语言处理领域中一个非常重要的研究热点[1-2], 具有重大的应用价值。
对于问答匹配任务, 早期的方法主要是基于机器学习模型, 其需要依赖人工构造的规则特征。这些基于统计机器学习的模型通常会定义包括词法、句法、语法等相关特征(例如BM25、Edit Distance、词频-逆向文件频率(Term Frequency-Inverse Document Frequency, TFIDF)等), 并借助机器学习分类器(例如K近邻(K-Nearest Neighbor, KNN)、贝叶斯分类、支持向量机(Support Vector Machine, SVM)等)来得到问答对之间的匹配关系。这种基于特征构造的方法是一种浅层学习模型, 其结果往往依赖特征提取的质量高低, 对于不同领域的数据泛化能力较差, 缺乏对数据深层语义信息的学习能力。
近年来, 深度学习模型在图像处理、语音识别等领域的相关任务上取得了优异的表现, 并逐渐在自然语言处理任务上取得了一些不错的研究成果。深度学习主要是以深度神经网络为主, 主要包括卷积神经网络和循环神经网络。在2014年, Johnson等[3]提出基于卷积神经网络的短文本分类模型, 将文本分类的准确率提高到了新的层次。Zhang等[4]应用卷积深度信念网络来学习词汇和句子两个层面的潜在特征。在机器翻译上, Sutskever等[5]利用两个循环神经网络结构分别作为编码器和解码器, 构造出从序列到序列(sequence to sequence, seq2seq)的语言翻译框架, 提升了机器翻译模型的质量。因此, 应用深度学习模型可以对问答对中细粒度的深层语义匹配关系进行有效的表示学习建模。
由于深度学习模型在自然语言任务中具有强大的表示学习能力[6], 为了能够学习到问答对中细致的语义匹配关系, 在不依赖人工构造特征的情况下, 本文改进了一般的深度神经网络模型, 提出了3种不同的实验模型, 使其更加适合于问答匹配任务。通过基于深度神经网络的模型, 并结合注意力机制的方法, 将文本信息向量化, 可以学习到句子中更加抽象的语义特征以及问答对之间关键的语义匹配信息, 从而选择出正确的候选答案。
1 相关工作问答匹配任务的目标是给定一个问题和候选答案集, 从中选择出语义关系最为匹配的答案, 其关键在于让相关模型能够学习到文本中深层的语义特征和细粒度的匹配关系。以前的相关模型多是基于机器学习的浅层模型, 例如IBM Waston部门的Gondek等[7]使用了答案融合和特征排序的方法, Wang等[8]提出了基于关系主题空间特征的多核SVM分类模型。为了得到更丰富的特征, 这些相关模型中会引入如语义知识库(Freebase)和语义词典(WordNet)等外部资源信息[9-10], 以此来提高问答句之间的语义匹配精度。然而这些模型都缺少强大的表示学习能力,且往往需要依赖大量的特征工程。
近年来, 深度学习模型逐渐开始应用到问答匹配任务中, Wang等[11]提出了基于多层长短期记忆网络(Long Short-Term Memory, LSTM)模型训练问答对的联合特征向量, 把问答匹配问题转换为分类或排序学习问题。Feng等[12]提出了基于共享卷积神经网络来训练问答对, 并在此基础上进行语义相似度计算, 该模型在InsuranceQA英文数据集上取得了突破性的实验效果。另外, 基于注意力机制的模型方法在一系列自然语言处理相关任务中也取得了显著的效果提升, 其主要是仿照人脑的注意思维, 通过自动加权的方式对整体信息进行局部重点关注。因此在问答匹配任务上可以尝试使问题更加关注到答案中某些语义特性与其更加相关的词语, 重点将这些关键的词语参与到答案的特征表示计算。例如在文本蕴含领域上, Rocktaschel等[13]使用一种word-by-word attention方法, 根据假设自适应地学习前提的表示, 能够更好地判断假设与前提的蕴含关系。Yin等[14]提出一种基于注意力机制的多层卷积神经网络模型来对两个文本语义表示建模, 并在答案匹配、释义识别和文本蕴含任务上都达到了很好的实验效果。注意力机制主要分为Soft Attention与Hard Attention两种形式。其中Soft Attention是指对每一个特征都分配一个注意力权值, 认为是个概率分布;而Hard Attention在选取特征组合时, 并不是对所有的特征都生成权值, 可能只选取一个或者多个。本文所提出的注意力模型是将门限循环单元(Gated Recurrent Unit, GRU)[15]与Soft Attention机制相结合的混合学习模型。
2 基于深度学习的问答匹配模型 2.1 基于循环卷积神经网络的问答匹配模型循环神经网络被广泛应用于处理可变长的文本序列输入, 因为可以学习到句子的词序特征, 其关键的结构是一个记忆单元(Memory Unit)。记忆单元可以记忆某时间段的信息, 对于一个句子则可以选择性记住前一时刻词语的信息。列如一个问句:“腾讯在线教育由哪几个部分组成?”, 其中“在线教育”这个词所对应的隐藏单元输入可以更多地保留来自词语“腾讯”所传递的上文信息。当前循环神经网络主要有两种不同的变体LSTM和GRU, 它们都能解决传统RNN存在的长期距离依赖与梯度消失问题。相对于LSTM的网络结构, GRU内部的隐藏单元少一个控制门, 参数少, 收敛较快, 在保证模型效果的同时, 模型的结构也得到了有效简化, 所以本文使用GRU深度层次神经网络来代替LSTM。给定句子输入x={x1, x2, …, xT}, 其中:xt∈Rd表示t时刻句子的预训练的词向量, 前一个时刻的隐藏层输出表示为ht-1, 则t时刻的GRU内部记忆单元状态如下。
遗忘门:
ft=σ(Wxf xt+Uhf ht-1)
更新门:
zt=σ(Wxz xt+Uhz ht-1)
t时刻内部状态:
${{\mathit{\boldsymbol{\tilde{h}}}}_{t}}=\tanh \left( {{\mathit{\boldsymbol{W}}}_{x\mathit{\boldsymbol{h}}}}{{\mathit{\boldsymbol{x}}}_{t}}+{{\mathit{\boldsymbol{U}}}_{\mathit{\boldsymbol{hh}}}}\left( {{f}_{t}}\odot {{\mathit{\boldsymbol{h}}}_{t-1}} \right) \right)$ |
t时刻输出:
${{\mathit{\boldsymbol{h}}}_{t}}=\left( 1\rm{-}{{\rm{z}}_{t}} \right)\odot {{\mathit{\boldsymbol{h}}}_{t-1}}+{{z}_{t}}\odot {{{\mathit{\boldsymbol{\tilde{h}}}}}_{t}}$ |
其中:σ是sigmoid激活函数; ⊙代表逐元素(element-wise)相乘; W与U为参数矩阵。由于单向GRU在t时刻无法学习到在它之前和之后的上下文语义信息, 所以本文模型中使用双向门限循环层次单元(Bidirectional Gated Recurrent Unit, BGRU), 即将输入序列从正向和反向两个GRU层分别输入, 把两个方向在t时刻的隐层输出串接为一个新向量ht∈R2H,其中每一个隐藏单元的维度为H。相对于单向的GRU层, BGRU模型能够使一个词向量表示包含更丰富的信息, 从而构造出更好的句子特征表示, 其模型的网络结构如图 1所示。
为了能够学习到句子中更深层次的潜在局部特征, 本文将BGRU层的输出接入到一个卷积层。卷积层的操作就是将句子中连续的词向量串接为一个向量, 再把这个向量通过某种函数映射为一个新的特征向量。模型中设置卷积窗口大小为k, 拼接相邻的k个向量得到矩阵S∈R|k*2H|×L, 卷积核filter的数目为c, 整个卷积操作计算过程如式(1) 所示:
$G=f({{\mathit{\boldsymbol{W}}}_{gc}}\mathit{\boldsymbol{S}}+b)$ | (1) |
其中: f是relu激活函数, 可以加速模型的收敛, 更易于优化;权重Wgc和偏差b随机初始化为均匀分布U(-0.05, +0.05)。不同于传统单一粒度的卷积核, 在实验中本文使用多粒度的卷积核, 即有不同大小的卷积核, 每一种粒度的卷积核都可以学习到句子的一种n-gram特征。卷积操作后经max-pooling得到固定大小的句子特征向量, 串接所有的向量得到句子的最终表示。另外为了防止模型出现过拟合现象, 训练过程中使用了Dropout[16], 整个BGRU-CNN模型结构如图 2所示。
在BGRU-CNN模型中, 对于答案的每个词向量其实都是同等对待。问题和答案在特征学习的过程中并没有任何语义上的交互影响, 也没有考虑到一些具有关键特征的词语在答案构造表示中对句子语义匹配的重要性。另外一般句子中都存在很多无关的干扰词, 它们对语义匹配的贡献度很小, 甚至会降低匹配的准确度。而基于注意力机制的混合深度学习模型能够使问题关注到答案语句中更为重要的特征词语, 让这些关键词语更多地参与答案的特征表示计算中。
Soft Attention机制就是对句子的局部重要特征进行重点关注, 在模型中为每个词向量特征设置不同大小的注意力权值系数, 不同的权值反映出语义重要性的大小, 如以下的一个问答匹配对。
Q:你知道在上海, 有哪些非常好玩的著名景点?
A:上海是中国最大的经济城市, 这里交通发达, 是国际化的大城市, 旅游景点也很发达, 主要有东方明珠、外滩、南京路步行街等游玩景点。
根据这个问题去匹配候选答案时, 则“东方明珠”“外滩”“南京路步行街”这些词语的语义与问题表述更为相关, 所以在模型中应当增强这些词语的特征表示作用。为了能够重点关注到答案句子中与问题语义最相关的有效词语, 本文提出的第一个基于注意力机制的问答匹配混合模型叫作AR-BGRU, 其主要借鉴Hermann等[17]在阅读理解相关任务中所提出的一种注意力机制方法称为AR(Attentive Reader), 相对于Tan等[18]提出的Attention-LSTM模型, 本文基于BGRU网络的注意力模型在复杂度上和训练代价上都更有优势, AR-BGRU模型的网络结构如图 3所示。
答案中每一个词向量的所对应的注意力权值根据问题决定。从BGRU层输出的问题词向量矩阵经max-pooling得到问题特征向量rq, 答案句子t时刻的输出ht所对应的权值计算方式如式(2) 所示:
$\left\{ \begin{align} & {{P}_{a,(t)}}\propto exp\left( {{\mathit{\boldsymbol{v}}}^{\rm{T}}}\tanh ({{\mathit{\boldsymbol{W}}}_{s}}{{\mathit{\boldsymbol{h}}}_{(t)}}+{{\mathit{\boldsymbol{U}}}_{s}}{{\mathit{\boldsymbol{r}}}_{\rm{q}}}) \right) \\ & {{\mathit{\boldsymbol{h}}}_{\mathit{a},(t)}}={{P}_{a,(t)}}{{\mathit{\boldsymbol{h}}}_{(t)}} \\ \end{align} \right.$ | (2) |
其中:Pa, (t)就是h(t)对应的注意力权值, 通过rq对h(t)加入注意力使其更新为新的特征向量ha, (t)。h(t)与rq在语义层面越匹配, Pa, (t)所表示的重要性程度系数也就越大。这种方式可以突出答案中那些与问题相关的词语, 使具有关键特征的词语在答案表示中发挥着更大的作用。
AR-BGRU模型训练注意力重要性系数的方式存在着参数多、结构复杂的问题, 导致模型训练的代价大;而且max-pooling往往只选取最重要的特征, 从而会丢失一些其他较为重要的信息。因此本文提出另外一种基于注意力机制的混合模型, 称作AP-BGRU, 不是简单使用max-pooling去得到最终的答案表示, 而是依据不同的注意力权值系数通过加权求和的方式去表示答案。与AR-BGRU相比, 模型的结构得到简化, 实验的效果也有所提升, 可以更好地在语义层面上匹配到正确的候选答案。AP-BGRU网络结构如图 4所示。
从BGRU隐藏层输出得到答案词向量矩阵A=(a1, a2, …, aT), 根据问题向量rq计算t时刻答案词向量at的注意力权值系数∂t, 其计算方式如式(3) 所示:
${{\partial }_{t}}=\frac{\exp ({{P}_{t}})}{\sum\limits_{t=1}^{\mathit{T}}{\exp ({{P}_{t}})}}$ | (3) |
其中Pt表示at对问题rq的重要性程度函数,其计算公式为:
${{P}_{t}}\rm{=}\left( \mathit{\boldsymbol{r}}_{\rm{q}}^{\rm{T}}\mathit{\boldsymbol{W}}{{\mathit{\boldsymbol{a}}}^{t}} \right)$ | (4) |
其中:W是参数矩阵。所以答案的特征向量表示为ra每个更新后的词向量做加权求和运算。ra的计算公式为:
${{\mathit{\boldsymbol{r}}}_{\rm{a}}}=\sum\limits_{t=1}^{T}{{{\partial }_{t}}{{\mathit{\boldsymbol{a}}}^{t}}}$ | (5) |
通过为不同的词语设置不同的权值系数, 使得与问题无关的词向量at在最终的答案特征表示中发挥较小的作用。
3 实验与分析 3.1 词向量深度学习在自然语言处理任务中普遍应用基于分布式的K维稠密实数向量来表示词语的特征, 通过词语在向量空间上的距离来判断它们之间的语义相似度。相对于One-hot语言模型, 这种方法不会出现维数灾难。Google在2013年发布强大开源工具Word2Vec[19]就是一种分布式的词表征方式。本文使用Word2Vec来预训练词向量, 训练语料主要来自爬取的百度百科相关网页数据, 去除特殊字符和标点符号后, 语料库大小大约有22 GB, 所训练的词向量维数d设置为300, 句子最大的长度设置为50。
3.2 实验设置模型的目标函数定义为:
L=max{0, m-cos(q, a+)+cos(q, a-)}
其中:a+为正确答案向量; a-为随机选取的负向答案向量; m是为了优化目标函数而设置的阈值参数。目标函数的意义就是让正确答案和问题之间的cos值要大于负向答案和问题的cos值。模型的优化器设置为Adam[20]来更新神经网络模型中的参数, Dropout rate设置为0.2, 卷积核数c设置为200。实验环境是基于Spark集群的CentOS 6.5服务器, 每个CPU有16个核, 4块型号为TITAN X的显卡, 每个显存大小为12 GB, 支持Nvidia Cuda深度学习运算平台。
3.3 数据集数据集为NLPCC-ICCPOL 2016评测任务DBQA所提供的开放域问答数据集, 数据集分为训练集与测试集。训练集有8 772个问题, 共181 882问答对; 测试集有5 997个问题, 共122 530个问答对。本文在预处理阶段去除了一些常见无意义的停用词, 如“啊”“吧”“的”等。
3.4 实验结果本文实验采用了两种评测指标:准确率(Top-1 accuracy)和平均倒数排序(Mean Reciprocal Rank, MRR)。实验结果如表 1所示。
实验数据集主要是NLPCC-ICCPOL 2016 DBQA Task所提供的中文开放域问答数据, 为了验证本文模型的有效性, 在相同数据集下将其他模型的实验对比结果如表 2所示。
从表 2中的实验结果对比可以看出, 就Wu等[21]基于传统的人工构造特征(如:TF、Edit distance等)模型而言, 基于深度学习的双向长短期记忆网络(BLSTM)模型在问答匹配上的实验效果要明显优于基于机器学习的SVM分类排序方法。而本文BGRU-CNN模型与BLSTM相比, MRR指标提高了将近9个百分点, 可以推断出在双向门限循环神经网络加卷积层能够进一步学习到句子中更深层次的语义特征, 从而可以提高语义匹配的准确率。在与Wang等模型[22]的实验对比结果中可以看出, BGRU-CNN实验效果要比基于Word overlap和Average word embedding特征构造的模型要好很多。这两个方法存在的共同点就是无法像深度神经网络那样可以学习到句子中抽象的语义信息。相对于Embedding-based feature方法, BGRU-CNN模型的效果也有一定的提升, MRR指标大约提高了0.7个百分点。从表 1~2可以看出, 引入注意力机制的AR-BGRU与AP-BGRU模型的实验效果都要优于BGRU-CNN模型, MRR指标分别提高了2.35个百分点和4.73个百分点, 从而可以说明基于注意力机制的深度学习混合模型在问答匹配任务上的有效性, 它们都可以增强答案特征中与问题最相关的表示部分。另外可以发现AP-BGRU比AR-BGRU的匹配效果提高了约2.4个百分点, 间接地说明基于注意力机制的加权特征构造方式与max-pooling池化方式相比, 可以更好地表示答案特征。与Wang等组合多种构造特征(All feature)并通过回归或者排序学习模型去选取候选答案的方法相比, 本文AP-BGRU的效果要稍微差一点, 推测这是整个训练样本受限的原因。
针对问答匹配任务, 本文提出了三种基于深度学习的模型去改善机器学习方法中存在的不足, 实验结果验证了本文模型在中文开放域问答数据集上的有效性。在不依赖人工构造复杂特征的情况下, 本文的模型取得了良好的实验效果, 尤其是在引入注意力机制后, 模型的准确率能够得到进一步的提升。目前中文问答系统的语料相对来说还是欠缺, 除了收集和标记更多的语料之外, 还可以尝试如何在深度学习模型中有效地融合传统的特征提取方法。另外目前基于注意力机制的模型大多数都是在词汇级别(word-level)上, 而短语级别(phrase-level)的文本可能包含更丰富的语义信息, 如何将注意力机制应用到短语级别, 更加有效地学习句子的潜在抽象特征, 将是未来的重点研究方向。
[1] | 王元卓, 贾岩涛, 刘大伟, 等. 基于开放网络知识的信息检索与数据挖掘[J]. 计算机研究与发展, 2015, 52(2): 456-474. DOI:10.7544/issn1000-1239.2015.20131342 |
[2] | ZHOU T C, LYU M R, KING I. A classification-based approach to question routing in community question answering[C]//Proceedings of the 21st International Conference on World Wide Web. New York: ACM, 2012: 783-790. |
[3] | JOHNSON R, ZHANG T. Effective use of word order for text categorization with convolutional neural networks[EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1412.1058.pdf. https://arxiv.org/pdf/1412.1058 |
[4] | ZHANG D, WANG D. Relation classification via recurrent neural network[EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1508.01006.pdf. http://www.sciencedirect.com/science/article/pii/S0925231217301613 |
[5] | SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]//NIPS 2014: Proceedings of the 27th International Conference on Neural Information Processing Systems. New York: ACM, 2014: 3104-3112. |
[6] | HU B, LU Z, LI H, et al. Convolutional neural network architectures for matching natural language sentences[C]//NIPS 2014: Proceedings of the 27th International Conference on Neural Information Processing Systems. New York: ACM, 2014: 2042-2050. https://arxiv.org/pdf/1610.08136.pdf |
[7] | GONDEK D C, LALLY A, KALYANPUR A, et al. A framework for merging and ranking of answers in DeepQA[J]. IBM Journal of Research and Development, 2012, 56(3): 399-410. |
[8] | WANG C, KALYANPUR A, FAN J, et al. Relation extraction and scoring in DeepQA[J]. IBM Journal of Research and Development, 2012, 56(3): 339-350. |
[9] | KASNECI G, SUCHANEK F M, IFRIM G, et al. NAGA: harvesting, searching and ranking knowledge[C]//Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2008: 1285-1288. |
[10] | YIH W T, CHANG M W, MEEK C, et al. Question answering using enhanced lexical semantic models[EB/OL]. [2017-01-10]. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/QA-SentSel-Updated-PostACL.pdf. |
[11] | WANG D, NYBERG E. A long short-term memory model for answer sentence selection in question answering[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2015: 707-712. |
[12] | FENG M, XIANG B, GLASS M R, et al. Applying deep learning to answer selection: a study and an open task[C]//Proceedings of the 2015 IEEE Workshop on Automatic Speech Recognition and Understanding. Piscataway, NJ: IEEE, 2015: 813-820. http://sro.sussex.ac.uk/view/year/2016.type.html |
[13] | ROCKTASCHEL T, GREFENSTETTE E, HERMANN K M, et al. Reasoning about entailment with neural attention [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1509.06664.pdf. https://arxiv.org/pdf/1509.06664 |
[14] | YIN W, SCHUTZE H, XIANG B, et al. ABCNN: attention-based convolutional neural network for modeling sentence pairs [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1512.05193.pdf. https://link.springer.com/chapter/10.1007/978-3-319-50496-4_87/fulltext.html |
[15] | CHUNG J, GULCEHRE C, CHO K H, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1412.3555.pdf. https://link.springer.com/chapter/10.1007/978-981-10-2053-7_44 |
[16] | SRIVASTAVA N, HINTON G E, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958. |
[17] | HERMANN K M, KOCISKY T, GREFENSTETTE E, et al. Teaching machines to read and comprehend [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1506.03340.pdf. |
[18] | TAN M, SANTOS C, XIANG B, et al. LSTM-based deep learning models for non-factoid answer selection [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1511.04108.pdf. |
[19] | MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1301.3781.pdf. |
[20] | KINGMA D, BA J. Adam: a method for stochastic optimization [EB/OL]. [2017-01-10]. https://arxiv.org/pdf/1412.6980.pdf. |
[21] | WU F, YANG M, ZHAO T, et al. A hybrid approach to DBQA[C]//Proceedings of the 5th CCF Conference on Natural Language Processing and Chinese Computing, and the 24th International Conference on Computer Processing of Oriental Languages. Berlin: Springer, 2016: 926-933. |
[22] | WANG B, NIU J, MA L, et al. A Chinese question answering approach integrating count-based and embedding-based features[C]//Proceedings of the 5th CCF Conference on Natural Language Processing and Chinese Computing, and the 24th International Conference on Computer Processing of Oriental Languages. Berlin: Springer, 2016: 934-941. |