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