基于Seq2Seq的生成式自动问答系统应用与研究
2018-01-25李武波张蕾舒鑫
李武波,张蕾,舒鑫
(四川大学计算机学院,成都 610065)
0 引言
自然语言处理(Natural Language Processing)是人工智能研究的重要应用方向。它的研究是使计算机理解人类的语言。从词性标注、分词、切词等基础的任务到语言模型[4]、机器翻译[5-6]、自动问答[7-8]和对话系统[9]等复杂任务,自然语言处理的应用场景非常的广泛。
回复式网络(Recurrent Neural Networks)[3]理论上是一种深度神经网络。它的特点是能处理任意长度的输入和输出序列,因此回复式神经网络被广泛应用在自然语言处理任务中。在语言模型任务中,Bengio通过回复式神经网络建模取得了很好的效果,超过了传统的语言模型结构[10]。神经机器翻译任务上,首次提出的Seq2Seq模型也是采用了回复式神经网络结构建模并且取得了很大的成功[1,5]。可以说Seq2Seq结构的提出为序列到序列类型任务的提供了一种新的基础结构。
自动问答系统也是一种序列到序列类型的自然处理任务。在本文中,我们主要研究阅读理解式的自动问答系统,该系统通过输入短文本和问题,自动的生成问题的答案。自动问答系统的难点在于其中可能包含复杂的逻辑推理和算术推理。因此,本文主要的研究内容的是Seq2Seq模型在自动问答系统中的推理部分的性能验证与分析。
1 背景
1.1 自动问答系统
在早期,自动问答系统是限制在医疗,教育等特定领域。特定领域的自动问答系统叫做封闭式自动问答系统,这种系统大部分是基于信息检索和信息提取技术而成的。但是随着技术的发展,越来越多的团队开始研究开放领域的自动问答系统(开放式自动问答系统)。开放式自动问答系统比封闭式的自动问答系统有更加广泛的应用场景并且不限制提问内容,因此不能简单地把信息检索和提取技术直接应用开放式自动问答系统。
1.2 回复式神经网络
在深度学习中,回复式神经网络是一种常见的网络结构。如公式所示,在回复式神经网络,每一时刻的网络输出会同外部输入一起再次输入到网络中,其计算方法如公式(1)所示。因此这样的网络结构非常适合处理序列类型的数据。回复式神经网络被广泛应用到了自然语言处理的各个任务中,例如神经机器翻译模型[1],自动问答系统模型[8]以及语言模型等[10]。
1.3 门回复单元
门回复单元(Gate Recurrent Unit,GRU)是一种特殊的回复式神经网络,实验证明门回复单元在收敛性上优于长短时记忆网络(Long Short-Term Memory,LSTM)[11-12]。如图1所示的是一个门回复单元的基础结构,它通过在回复式神经网络中添加更新门和重置门来解决回复式神经网络的梯度消失问题。其中,门回复单元再i时刻的输出hi,更新门ui以及重置门ri计算公式如公式(2)所示:
图1 GRU结构图
其中W,U以及b为可训练的参数,⊙为矩阵的点乘。
2 模型
Seq2Seq主要思路是先将输入序列编码成一个向量,之后通过提取向量中的信息解析输出序列。Seq2Seq结构由编码器和解码器组成。其中,编码器用于编码输入序列,而解码器用于解析输出序列。本文中的自动问答系统模型的网络结构是基于Seq2Seq的一种基础结构组成,其结构如图2所示。
图2 网络模型结构
2.1 编码模块
编码模块由两个编码器组成,每个编码器中包括一个一层的GRU。在本文的自动问答系统中,输入序列是短 文 本 标 记 为和问题标记为本文中是采用了预训的词向量GloVe[13],文本中的每一个词输入到GRU前会转换成词向量,在另一个问题编码器编码问题时也采用了同样的方法。文本编码器和问题编码器在t时刻的输出分别标记为ct和qt,计算方式如公式(3)和(4)所示:
编码模块的最终输出是文本和问题编码器的最后一个时刻的输出向量:短文表达c和一个问题表达q。
2.2 生成模块
生成模块由一个解码器组成,解码器包括一个一层的GRU和一个Softmax层。解码器在每一个时刻t都输入问题表达q和短文本表达c。为了让输出的字关联度更强,本文中生成模块的解码器每一时刻还要输入上一时刻Softmax层输出的概率分布y。解码器中GRU在t时刻输出的向量at输入到一个Softmax层预测t时刻生成的词的概率分布yt,其中在时刻t,输出的概率分布yt计算公式如公式(5)所示:
本文采用的误差函数是交叉熵,网络优化目标是最小化损失函数。
3 实验结果与分析
3.1 数据集
为了方便分析模型的推理能力,我们选择了一个公开的自动问答数据集bAbI-10k[2]来验证基于Seq2Seq的生成式自动问答系统。值得一提的是在验证过程中,我们不针对任务对模型进行调整。
本文中采用的数据集是Facebook AI Research(FAIR)发布的一个公开的自动问答的数据bAbI-10k。该数据集旨在检验自动问答系统在各方面的推理能力。bAbI-10k数据集包括20种不同类型的推理任务,每个任务包括训练集10k和测试集1k。我们将训练集随机选取10%作为验证集,其余数据作为训练集。
3.2 评价标准
在自动问答任务中,评价标准一般是验证生成的答案和标准答案之间的偏差,在bAbI-10k数据集中评价标准是准确率,即自动问答系统生成的答案序列和标准答案序列完全匹配的比率。
3.3 实验设计
本文主要探究Seq2Seq模型在自动问答系统中推理能力的验证和分析。在网络结构上,采用了基础的seq2seq结构,其中采用了GRU[11]作为编码和解码器。网络参数上词向量的维度大小为50,GRU的隐藏层神经元为40,批量训练的样本数量为64个数据,学习率为0.001,训练过程中使用反向传播算法和Adam[14]优化算法。所有参数的初始化采用正态分布。
3.4 结果与分析
通过20组实验发现,基于Seq2Seq的生成式自动问答系统在推理能力上有很大的潜力。如表1所示,在单依据推理任务(task 1),两者关系推理任务(task4)等13项任务上表现出比较强的性能(准确率超过90%),其他的推理任务例如不确定知识推理(task10),时间推理(task14)以及基础演绎(task15)上表现出了一定的潜力。
表2所示展示了本文所提的模型和另一个结合词袋模型(Bag of Words,BoW)和深度学习算法的自动问答模型(Dynamic Memory Networks,DMN)[8]在 bAbI-10k的部分任务上取得的成果。可以看出在一部分位置关系推理上,本文提出的生成式自动问答模型的取得的成果更加优秀。这表明得益于Seq2Seq的结构,模型顺序编码输入序列,并且能融合上文知识学习到文本中的相关的信息,例如位置和关系等信息,在生成答案的时候能正确做出推理。
表1 基于Seq2Seq的生成式自动问答系统在bAbI-10的结果
表2 DMN和本文提出的模型在bAbI-10k部分任务上的准确率对比结果
4 结语
本文基于Seq2Seq设计并实现了一套生成式自动问答系统,并且通过公开的数据集bAbI-10k全面的验证了本文提出的模型的性能。本文分析了基于Seq2Seq在自动问答系统在推理能力,并且设计了对比实验证明Seq2Seq模型在推理能力上的优势。虽然在结果上并未达到最好的效果,但是可以看出基于Seq2Seq的生成式自动问答系统在推理能力上具备巨大的潜力,今后,还需要在这一方向继续研究。
[1]Cho,K.,et al.,Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation.Computer Science,2014.
[2]Weston,J.,et al.,Towards AI-Complete Question Answering:A Set of Prerequisite Toy Tasks.Computer Science,2015.
[3]Elman,J.L.,Distributed Representations,Simple Recurrent Networks,and Grammatical Structure.Machine Learning,1991.7(2-3):195-225.
[4]Sundermeyer,M.,R.Schlüter,and H.Ney.LSTM Neural Networks for Language Modeling.in Interspeech,2012.
[5]Bahdanau,D.,K.Cho,and Y.Bengio,Neural Machine Translation by Jointly Learning to Align and Translate.Computer Science,2014.
[6]Sutskever,I.,O.Vinyals,and Q.V.Le,Sequence to Sequence Learning with Neural Networks.2014.4:3104-3112.
[7]Weston,J.,S.Chopra,and A.Bordes,Memory Networks.Eprint Arxiv,2014.
[8]Kumar,A.,et al.,Ask Me Anything:Dynamic Memory Networks for Natural Language Processing.2015:1378-1387.
[9]Vinyals,O.and Q.Le,A Neural Conversational Model.Computer Science,2015.
[10]Bengio,Y.,et al.,Neural Probabilistic Language Models,in Innovations in Machine Learning:Theory and Applications,D.E.Holmes and L.C.Jain,Editors.2006,Springer Berlin Heidelberg:Berlin,Heidelberg.p.137-186.
[11]Chung,J.,et al.,Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling.Eprint Arxiv,2014.
[12]Cho,K.,et al.,On the Properties of Neural Machine Translation:Encoder-Decoder Approaches.Computer Science,2014.
[13]Pennington,J.,R.Socher,and C.Manning.Glove:Global Vectors for Word Representation.in Conference on Empirical Methods in Natural Language Processing.2014.
[14]Kingma,D.P.and J.Ba,Adam:A Method for Stochastic Optimization.Computer Science,2014.