鄭惺 涂笑 陸海
摘要:基于文檔的問答系統(tǒng)的研究目標是從給定的文檔集合中篩選出某些文檔作為用戶問題的正確答案,其核心在于計算問題和答案這兩個語句的相似度。在該文中,我們研究了各項文本結(jié)構(gòu)特征和文本統(tǒng)計特征:Term Frequency-inverse Document Frequency(TF-IDF)和最長公共子序列(Longest Common Subsequence,LCS),同時我們設(shè)計了特定的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)結(jié)構(gòu)并融合研究的特征,從而得到一種表達能力好的問答對的向量表示。我們提出的模型不依賴于任何外部的語言工具并且能夠適用于多個領(lǐng)域和多種語言。實驗結(jié)果表明,該卷積神經(jīng)網(wǎng)絡(luò)模型能夠很好的表達文檔之間的相似性,而且在加入TF-IDF和LCS特征之后該模型的性能進一步得到提升。我們利用這個模型在NLPCC-2017 Document-Based Question Answering(DBQA)比賽中Mean Average Precision(MAP)值能達到0.6809和Mean Reciprocal Rank(MRR)值達到0.6850。
關(guān)鍵詞:問答系統(tǒng);卷積神經(jīng)網(wǎng)絡(luò);TF-IDF;LCS
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)03-0177-02
1 概述
問答系統(tǒng)在自然語言處理和文本檢索領(lǐng)域是一項重要的研究任務(wù)。基于搜索的問答系統(tǒng)[1]的主要任務(wù)是計算兩個語句之間的語義相似度并依照相似度排序篩選出最相似的答案[2,3]。本文所研究的基于文檔集合的問答系統(tǒng)任務(wù)可以表述成:給定一個用戶問題(q)和一系列答案文檔集合({a1, a2, …, an});我們需要從答案文檔中挑選出最好的一個答案(ai, 1<=i<=n)。通過對本文數(shù)據(jù)集的研究發(fā)現(xiàn),當前的文本匹配方法[4]無法直接用于解決本文中的問題,因此我們提出新模型主要為了解決一下問題:
1) 如何得到問答對之間的最有價值的特征?通過分析DBQA數(shù)據(jù)集,我們發(fā)現(xiàn)問答對主要是短文本,甚至有的只是一個地名或者人名。因此問答對的這個特征使得很多次的頻率很小,有可能是1或者2。這個特征表明問答對中的每一個詞都可能含有重要的語義。
2) 如何得到一個能夠考慮正負問答對樣本的網(wǎng)絡(luò)結(jié)構(gòu)?在本文,對于DBQA數(shù)據(jù)集來說,我們同時將一個問題和它的正確、錯誤答案作為卷積神經(jīng)網(wǎng)絡(luò)模型的輸入,從而得到一個效果好的網(wǎng)絡(luò)模型。
本文主要通過構(gòu)造一個卷積神經(jīng)網(wǎng)絡(luò)模型并利用文本特征提升模型效果。問答對集合通過該模型的訓(xùn)練我們能夠得到問答對向量化表示,因此可以利用該向量化表示進一步計算問答對之間的相似度從而篩選出正確答案。
2 基于CNN的問答系統(tǒng)
我們的問答系統(tǒng)模型(QA-Model)主要是基于卷積神經(jīng)網(wǎng)絡(luò)。目前,卷積神經(jīng)網(wǎng)絡(luò)模型在圖像處理[5][6]以及機器翻譯領(lǐng)域[7]中都取得了重大的突破。我們通過借鑒CNN在圖像處理過程中的特點,從而利用CNN提取問答對的文本體征。
在本文的模型QA-Model中,如圖1所示,Q表示用戶問題,首先它經(jīng)過嵌入層(Embedding)的處理變?yōu)橄蛄縑Q,CNN將VQ作為輸入并處理得到用戶問題的向量化表示。同理,我們也可以同時得到答案文檔A的向量化表示。最后通過計算兩者的向量化表示的余弦值,并將其作為兩者的相似度表示。
2.1 文本預(yù)處理
Term Frequency-Inverse Document Frequency(TF-IDF)[8]可以用于計算詞語在文本語料中語義表達的重要性。通過研究DBQA數(shù)據(jù)集,我們發(fā)現(xiàn)大部分問答對的主題都是各不相同的。這意味著每對問答對的語義不同和重要的詞語不同。因此,TF-IDF可以很好的用于處理該類型語料集合,同時我們將抽取出前3個TF-IDF值大的詞語作為每個問答對的特征。通過實驗可以證明,在加入該特征之后DBQA的MRR值可提升2%左右。
Longest Common Subsequence(LCS)[9]利用了文本的統(tǒng)計學(xué)特征,將兩個文本之間的最長子序列考慮在內(nèi)。對于某個問答對來說,我們利用動態(tài)規(guī)劃算法找出問和答之間的LCS,并將其作為新特征加入CNN模型,結(jié)果使它的MRR值提升1%。
2.2 嵌入層
如圖2所示,CNN的輸入是一個詞語的序列(q=
2.3 卷積層和池化層
卷積層是一種特殊的線性計算方式,通常用于特征抽取。我們可以假設(shè)輸入序列q=
池化層用于捕捉問答對中的重要信息。一般來說,max-池化和average-池化是效果比較好的選擇,因此在本文中我們采用的是2-max池化。
卷積神經(jīng)網(wǎng)絡(luò)在處理輸入層之后,通常會有多個卷積層和池化層交替連接而成。對于卷積層的每個卷積核來說,卷積核能夠?qū)碜陨弦粚拥妮敵鲞M行卷積操作,同時卷積層將輸出結(jié)果作為下一個池化層的輸入。特別的卷積層主要作用在于提取上一層的局部重要信息,池化層的作用在于合并語義信息。一種經(jīng)典的池化方法就是計算特定區(qū)域的最大值,比如2-max-pooling,并生成新的特征圖作為下一層的輸入。
2.4 損失函數(shù)設(shè)計
在QA-Model訓(xùn)練階段,我們會為每個問題設(shè)計一個正確答案和錯誤答案。通過多個卷積層和池化層訓(xùn)練,我們的模型能夠獲取到問題和正負樣例答案的向量化表示,最后通過Cosine相似度函數(shù)計算得到問答對的相似性cosine(VQ, VA+)和cosine(VQ, VA-)。模型最小化該損失函數(shù)L=max(0, M — cos(VQ, VA+) + cos(VQ, VA-))。其中M是不變量,比如0.05,0.1和0.5,該模型中通過實驗對比我們采用的是0.05。該損失函數(shù)的目標是最大化正負樣例答案的距離:如果cosine(VQ, VA+) > cosine(VQ, VA-)+M,這意味著模型訓(xùn)練過程正樣例答案比負樣例更好,反之如果cosine(VQ, VA+) 3 實驗分析 3.1 數(shù)據(jù)集 我們將設(shè)計的QA-Model模型應(yīng)用在DBQA比賽中。表1是NLPCC-2017比賽提供的數(shù)據(jù)集詳情。其中訓(xùn)練數(shù)據(jù)集包含181882個問答對,測試集包括192543個問答對,驗證集含有122531個問答對,每個問答對都通過0和1表示正負樣例。同時我們還發(fā)現(xiàn)訓(xùn)練集問答對的每個文檔長度約50個中文字符。 3.2 詞向量 我們使用word2vec訓(xùn)練約200G百度百科語料得到一個詞向量。對于文本分詞,目前中文領(lǐng)域有哈工大的語言技術(shù)平臺、jieba分詞、中科院分詞系統(tǒng)等。我們采用的是利用jieba分詞對語料進行分詞和詞性標注。在詞向量維度上,考慮到高維詞向量能夠覆蓋更廣的語義內(nèi)容,因此我們采用的是300維作為詞向量的維度大小。 3.3 實驗細節(jié) 在QA-Model訓(xùn)練之前,數(shù)據(jù)集的所有問答對都經(jīng)過預(yù)處理,比如分詞,去停用詞,去連詞,去標點符號等。同時我們固定模型的問答對輸入長度為所有的問答對平均長度。在模型的訓(xùn)練過程中,利用預(yù)訓(xùn)練好的300維詞向量處理問答對并作為模型輸入;學(xué)習(xí)率設(shè)置為0.001;SGD作為優(yōu)化函數(shù);卷積核一共1,2,3這三種。 3.4 實驗結(jié)果 我們采用MAP和MPP評價QA-Model的性能,詳情如表2所示。實驗結(jié)果包括基準實驗(CNN-base,單卷積層),對比實驗(QA-CNN,多卷積層)以及我們的最終模型QA-CNN-New,同時我們還對比了一些LSTM模型。通過分析實驗結(jié)果可以看出,對于QA-CNN和QA-base我們能發(fā)現(xiàn)隨著卷積層數(shù)量的增加,CNN的效果也越好;對比CNN和LSTM實驗結(jié)果,我們發(fā)現(xiàn)LSTM沒有更好的優(yōu)勢;對比QA-CNN和QA-CNN-New,不難發(fā)現(xiàn)我們提取的TF-IDF和LCS特征對實驗結(jié)果都有很好的提升,特別的針對CNN有效,對LSTM模型效果不大。最后,QA-CNN-New模型具有最好的實驗效果,并且我們利用這個模型在NLPCC-2017比賽中獲得了第三名的成績。 4 結(jié)論 本文中我們主要基于深度學(xué)習(xí)通過設(shè)計一個CNN模型和分析文本特征,并參加NLPCC-2017比賽任務(wù)訓(xùn)練DBQA數(shù)據(jù),驗證模型的效果。該模型適用于任何領(lǐng)域和語種,并且能夠加入各種文本特征從而提升模型的魯棒性。 今后的研究方向和終點是在現(xiàn)有的模型基礎(chǔ)上改進模型結(jié)構(gòu),進一步優(yōu)化模型提高對問答匹配準確度;同時還需要進一步挖掘問題和答案兩個文檔之間的語義關(guān)系。 參考文獻: [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.