APP下载

基于卷积神经网络的多文本特征问答系统

2018-03-21郑惺涂笑陆海

电脑知识与技术 2018年3期
关键词:卷积神经网络

郑惺 涂笑 陆海

摘要:基于文档的问答系统的研究目标是从给定的文档集合中筛选出某些文档作为用户问题的正确答案,其核心在于计算问题和答案这两个语句的相似度。在该文中,我们研究了各项文本结构特征和文本统计特征:Term Frequency-inverse Document Frequency(TF-IDF)和最长公共子序列(Longest Common Subsequence,LCS),同时我们设计了特定的卷积神经网络(Convolutional Neural Networks,CNN)结构并融合研究的特征,从而得到一种表达能力好的问答对的向量表示。我们提出的模型不依赖于任何外部的语言工具并且能够适用于多个领域和多种语言。实验结果表明,该卷积神经网络模型能够很好的表达文档之间的相似性,而且在加入TF-IDF和LCS特征之后该模型的性能进一步得到提升。我们利用这个模型在NLPCC-2017 Document-Based Question Answering(DBQA)比赛中Mean Average Precision(MAP)值能达到0.6809和Mean Reciprocal Rank(MRR)值达到0.6850。

关键词:问答系统;卷积神经网络;TF-IDF;LCS

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)03-0177-02

1 概述

问答系统在自然语言处理和文本检索领域是一项重要的研究任务。基于搜索的问答系统[1]的主要任务是计算两个语句之间的语义相似度并依照相似度排序筛选出最相似的答案[2,3]。本文所研究的基于文档集合的问答系统任务可以表述成:给定一个用户问题(q)和一系列答案文档集合({a1, a2, …, an});我们需要从答案文档中挑选出最好的一个答案(ai, 1<=i<=n)。通过对本文数据集的研究发现,当前的文本匹配方法[4]无法直接用于解决本文中的问题,因此我们提出新模型主要为了解决一下问题:

1) 如何得到问答对之间的最有价值的特征?通过分析DBQA数据集,我们发现问答对主要是短文本,甚至有的只是一个地名或者人名。因此问答对的这个特征使得很多次的频率很小,有可能是1或者2。这个特征表明问答对中的每一个词都可能含有重要的语义。

2) 如何得到一个能够考虑正负问答对样本的网络结构?在本文,对于DBQA数据集来说,我们同时将一个问题和它的正确、错误答案作为卷积神经网络模型的输入,从而得到一个效果好的网络模型。

本文主要通过构造一个卷积神经网络模型并利用文本特征提升模型效果。问答对集合通过该模型的训练我们能够得到问答对向量化表示,因此可以利用该向量化表示进一步计算问答对之间的相似度从而筛选出正确答案。

2 基于CNN的问答系统

我们的问答系统模型(QA-Model)主要是基于卷积神经网络。目前,卷积神经网络模型在图像处理[5][6]以及机器翻译领域[7]中都取得了重大的突破。我们通过借鉴CNN在图像处理过程中的特点,从而利用CNN提取问答对的文本体征。

在本文的模型QA-Model中,如图1所示,Q表示用户问题,首先它经过嵌入层(Embedding)的处理变为向量VQ,CNN将VQ作为输入并处理得到用户问题的向量化表示。同理,我们也可以同时得到答案文档A的向量化表示。最后通过计算两者的向量化表示的余弦值,并将其作为两者的相似度表示。

2.1 文本预处理

Term Frequency-Inverse Document Frequency(TF-IDF)[8]可以用于计算词语在文本语料中语义表达的重要性。通过研究DBQA数据集,我们发现大部分问答对的主题都是各不相同的。这意味着每对问答对的语义不同和重要的词语不同。因此,TF-IDF可以很好的用于处理该类型语料集合,同时我们将抽取出前3个TF-IDF值大的词语作为每个问答对的特征。通过实验可以证明,在加入该特征之后DBQA的MRR值可提升2%左右。

Longest Common Subsequence(LCS)[9]利用了文本的统计学特征,将两个文本之间的最长子序列考虑在内。对于某个问答对来说,我们利用动态规划算法找出问和答之间的LCS,并将其作为新特征加入CNN模型,结果使它的MRR值提升1%。

2.2 嵌入层

如图2所示,CNN的输入是一个词语的序列(q=,d表示长度),词向量(V)的大小是m,其中词向量表示都来自word2vec训练的词向量表(W)。

2.3 卷积层和池化层

卷积层是一种特殊的线性计算方式,通常用于特征抽取。我们可以假设输入序列q=(d是固定长度)和序列中的第i个词向量是vqi=(m是词向量长度),其中词向量来自于预训练好的词向量表。通过卷积层可以将输入层转化为特征图,其计算过程如下:P=tanh(W * Vqi:j + b),其中W是卷积层权重,W和b是需要学习的参数,P是输入层经过卷积层处理的表示结果。同时卷积层的大小可以手动指定,在QA-Model中我们采用的2。

池化层用于捕捉问答对中的重要信息。一般来说,max-池化和average-池化是效果比较好的选择,因此在本文中我们采用的是2-max池化。

卷积神经网络在处理输入层之后,通常会有多个卷积层和池化层交替连接而成。对于卷积层的每个卷积核来说,卷积核能够对来自上一层的输出进行卷积操作,同时卷积层将输出结果作为下一个池化层的输入。特别的卷積层主要作用在于提取上一层的局部重要信息,池化层的作用在于合并语义信息。一种经典的池化方法就是计算特定区域的最大值,比如2-max-pooling,并生成新的特征图作为下一层的输入。

2.4 損失函数设计

在QA-Model训练阶段,我们会为每个问题设计一个正确答案和错误答案。通过多个卷积层和池化层训练,我们的模型能够获取到问题和正负样例答案的向量化表示,最后通过Cosine相似度函数计算得到问答对的相似性cosine(VQ, VA+)和cosine(VQ, VA-)。模型最小化该损失函数L=max(0, M — cos(VQ, VA+) + cos(VQ, VA-))。其中M是不变量,比如0.05,0.1和0.5,该模型中通过实验对比我们采用的是0.05。该损失函数的目标是最大化正负样例答案的距离:如果cosine(VQ, VA+) > cosine(VQ, VA-)+M,这意味着模型训练过程正样例答案比负样例更好,反之如果cosine(VQ, VA+)

3 实验分析

3.1 数据集

我们将设计的QA-Model模型应用在DBQA比赛中。表1是NLPCC-2017比赛提供的数据集详情。其中训练数据集包含181882个问答对,测试集包括192543个问答对,验证集含有122531个问答对,每个问答对都通过0和1表示正负样例。同时我们还发现训练集问答对的每个文档长度约50个中文字符。

3.2 词向量

我们使用word2vec训练约200G百度百科语料得到一个词向量。对于文本分词,目前中文领域有哈工大的语言技术平台、jieba分词、中科院分词系统等。我们采用的是利用jieba分词对语料进行分词和词性标注。在词向量维度上,考虑到高维词向量能够覆盖更广的语义内容,因此我们采用的是300维作为词向量的维度大小。

3.3 实验细节

在QA-Model训练之前,数据集的所有问答对都经过预处理,比如分词,去停用词,去连词,去标点符号等。同时我们固定模型的问答对输入长度为所有的问答对平均长度。在模型的训练过程中,利用预训练好的300维词向量处理问答对并作为模型输入;学习率设置为0.001;SGD作为优化函数;卷积核一共1,2,3这三种。

3.4 实验结果

我们采用MAP和MPP评价QA-Model的性能,详情如表2所示。实验结果包括基准实验(CNN-base,单卷积层),对比实验(QA-CNN,多卷积层)以及我们的最终模型QA-CNN-New,同时我们还对比了一些LSTM模型。通过分析实验结果可以看出,对于QA-CNN和QA-base我们能发现随着卷积层数量的增加,CNN的效果也越好;对比CNN和LSTM实验结果,我们发现LSTM没有更好的优势;对比QA-CNN和QA-CNN-New,不难发现我们提取的TF-IDF和LCS特征对实验结果都有很好的提升,特别的针对CNN有效,对LSTM模型效果不大。最后,QA-CNN-New模型具有最好的实验效果,并且我们利用这个模型在NLPCC-2017比赛中获得了第三名的成绩。

4 结论

本文中我们主要基于深度学习通过设计一个CNN模型和分析文本特征,并参加NLPCC-2017比赛任务训练DBQA数据,验证模型的效果。该模型适用于任何领域和语种,并且能够加入各种文本特征从而提升模型的鲁棒性。

今后的研究方向和终点是在现有的模型基础上改进模型结构,进一步优化模型提高对问答匹配准确度;同时还需要进一步挖掘问题和答案两个文档之间的语义关系。

参考文献:

[1] Cai L, Zhou G, Liu K, Zhao J. Learning the latent topics for question retrieval in community qa. In: IJCNLP, 2011(11):273-281.

[2] Yu L, Hermann K M, Blunsom P, et al. Deep learning for answer sentence selection. arXiv preprint arXiv:1412,2014.

[3] Wu H, Wu W, Zhou M, et al.Improving search relevance for short queries in community question answering. In: Proceedings of the 7th ACM international conference on Web search and data mining, ACM ,2014:43-52.

[4] Celikyilmaz A, Hakkani-Tur D, Tur G.Lda based similarity modeling for question answering. In: Proceedings of the NAACL HLT 2010 Workshop on Semantic Search, Association for Computational Linguistics,2010:1-9.

[5] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks. In: Advances in neural information processing systems,2012:1097-1105.

[6] LeCun Y, Bottou L, Bengio Y, et al.Gradient-based learning applied to document recognition. Proceedings of the IEEE, 1998,86(11):2278-2324.

[7] Devlin J, Zbib R, Huang Z,et al.Fast and robust neural network joint models for statistical machine translation. In: ACL,2014(1):1370-1380.

[8] Ramos J.Using tf-idf to determine word relevance in document queries. In: Proceedings of the first instructional conference on machine learning, 2003 (242):133-142.

[9] Doddington, G.: Automatic evaluation of machine translation quality using n-gramco-occurrence statistics. In: Proceedings of the second international conference onHuman Language Technology Research, Morgan Kaufmann Publishers Inc,2002:138-145.

猜你喜欢

卷积神经网络
卷积神经网络语言模型研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法