機器學習深度學習乾貨棧 www.jqbxx.com
基於CNN模型的短文本相似度的計算方法可以大致分為兩類:一類是基於Siamese結構的神經網絡模型,先分別學習輸入的文本對兒的句子向量表達,再基於句子向量計算相似度;另一類是直接以詞語粒度的相似度矩陣作為輸入,學習並計算文本相似度。下面將分別展開介紹。
基於Siamese結構的神經網絡模型
如下圖所示,是Severyn發表在2015年SIGIR上的文章[5],並用於TREC上的兩個NLP任務:答案選擇和微博檢索。以答案選擇任務為例,從左至右,作者採用上下並行的雙通道淺層CNN模型來分別學習輸入的問題和答案的句子向量表達,然後經過相似度矩陣M計算相似度,全連接層和隱藏層進行特徵整合和非線性變換,最後softmax層來輸出輸入候選答案被預測為正確或者錯誤的概率。左半部分的雙通道CNN即可理解為學習從詞向量到句子向量的表達模型。
如下圖所示,是Wang發表在2016年COLING的文章[6],同樣應用於答案選擇任務,並在兩個公認基準數據集WikiQA和QASent上進行了測試。文章的核心想法是採用雙通道CNN來抽取輸入問題和答案之間的相似性與不相似性,整合成最終的句子向量並計算相似性。
基於詞語粒度的相似度矩陣直接學習並計算文本相似度
如下圖,Meng在其文章中[7]直接基於詞向量計算輸入文本對兒在單詞粒度上的相似度(計算方式有多種:歐式距離、餘弦距離、參數化的相似矩陣),並以此為後續深層卷積神經網絡的輸入,最終學習得到的向量經過全連接層和softmax層進行預測。
有了前面在深度學習框架下,文本向量學習的背景和基於CNN短文本相似度的現有方法的總結和介紹,終於進入本篇文章的重頭戲,LSF-SCNN模型的介紹。LSF-SCNN模型延續了基於Siamese結構神經網絡模型構建短文本表達模型的總體思路[5],但通過引入三種優化策略:詞彙語義特徵 (Lexical Semantic Feature, LSF)、跳躍卷積 (Skip Convolution, SC)和K-Max均值採樣 (K-Max Average Pooling, KMA) ,分別在詞彙粒度、短語粒度、句子粒度上抽取更加豐富的語義特徵,並在答案選擇AS計算短文本相似度問題上取得了非常好的效果。
下圖展示了LSF-SCNN的整體框架圖,自底向上,LSF-SCNN模型由3個模塊組成:(1)對於輸入的問題和候選答案,我們利用詞彙語義特徵技術為每個單詞計算LSF特徵值,以此來表徵問題與答案之間的語義交互特徵。LSF特徵會和詞嵌入拼接在一起構成詞語粒度上更加豐富的特徵表達,表達詞的向量再次拼接構成句子矩陣。(2)問題和候選答案的句子矩陣經過跳躍卷積層和K-Max均值採樣層,最終形成對問題和答案各自的向量表達,記作Xq和Xa 。(3)Xq和Xa會根據學習得到的相似度計算矩陣M得到一個相似度分數。最後,相似度分數和Xq、Xa整合一起作為分類器的輸入,最終得到輸入候選答案a被預測為正確答案和錯誤答案的概率。接下來,我將一一介紹三個優化技術的實現細節。
詞彙語義特徵技術(Lexical Semantic Feature,LSF)
LSF技術提出的原因:基於Siamese的神經網絡結構有個缺點就是將輸入的文本對兒看做互不相關的句子,相互獨立的用同一套神經網絡結構去學習文本的向量表達。但是在短文本相似度相關任務中,如問題和候選答案,往往是文本對兒間在語義、詞語表達、語序等方面存在關聯,而前人方法忽略了這點。少部分學者注意到了這點,但目前所用方法局限於:藉助額外知識標記近義詞/反義詞、上位詞/下位詞等關係;或者引入字符串匹配信息,嚴格匹配標記為1,其餘為0。因此,本文提出的LSF技術是一項用來構建問題與答案之間的語義交互特徵的技術。LSF核心想法:LSF技術將詞語粒度上的相似性量化細分為t個相似度,從而建立輸入文本對兒之間的語義關聯,為後續神經網絡提供更加豐富的語義特徵輸入。LSF技術可行性分析:LSF技術將詞語粒度上的相似性量化細分為t個相似度,不僅可以包含前人提出的近義詞、反義詞關係,如chairman和chief的LSF為1, 字符串匹配如welch和welch被標記為1,也可以涵蓋更多的相似性。例如,april和when不是近義詞,在字符串上也無法匹配,但LSF可以捕捉到他們之間有6的相似度,而april正是回答該問題的正確答案,
LSF特徵怎樣計算得到?問題和答案中的每一個單詞都會有一個LSF特徵,具體來說是一個[0,t]上的整數值。LSF的計算過程可通過下面一個例子說明,當我們想要求解問題中general一詞的LSF特徵時,第一步我們需要計算general與答案中每一個詞的餘弦相似度並選取其中的最大值,因此chief被選取出來。第二步,餘弦相似度值的最大值0.79將通過一個映射函數映射為一個[0,t]區間的整數,當我們假定t=10,最終計算得到general的LSF特徵為3。這是合理的,general和chief一定程度上是近義詞。
跳躍卷積技術(Skip Convolution,SC)
SC技術核心想法: 在短語粒度上,我們提出跳躍卷積SC技術。下圖展示了以the cat sat on the mat為例,設定卷積窗口長度為4時,且步長為1跳躍一次,跳躍卷積方式在傳統卷積方式上的改進:
傳統卷積方式將取得如下短語特徵:{the cat sat on, cat sat on the, sat on the mat}跳躍卷積將取得如下短語特徵{the cat sat on, the cat sat the, the cat on the, the sat on the, cat sat on the, cat sat on mat, cat sat the mat, cat on the mat, sat on the mat }。SC的技術實現:如上圖所示,左側傳統卷積方式將卷積窗口作為一個整體,自左向右每次移動一個單詞的步長進行卷積操作。相比而言,跳躍卷積則是同樣自左向右每次移動一個單詞的步長,但移動的並非卷積窗口的整體,而是整體中的一列。例如,上圖右側,初始卷積抽取了短語「the cat sat on」(紫色框)的特徵;而後將覆蓋在「on」上的卷積窗口的那一列向右移動一個單詞的步長,從而得到短語「the cat sat the」(藍色框)的特徵;接著,將覆蓋在「sat」上的一列向右移動一個單詞的步長,從而得到短語「the cat on the」(綠色框)的特徵,以此類推。SC技術可行性分析:傳統卷積方式只允許在特定大小的卷積窗口中對相鄰的詞語進行卷積,而跳躍卷積可以通過跳躍停用詞如the、形容詞等,在特定大小的卷積窗口中將抽取到包含更完整更濃縮的主體語義信息的短語特徵如『cat sat on mat』,從而提升了短語粒度上特徵的豐富性。雖然,跳躍卷積相比於傳統卷積方式,也會額外抽取到許多無用的短語的特徵。但實驗結果證明,跳躍卷積技術對增加短語特徵豐富性的幫助,要大於額外增加的無用短語特徵帶來的噪音的影響。
SC技術實現可以參考[8]。Lei的文章應用於情感分類 (sentiment classification) 和新聞分類 (news categorization) 任務,而本文應用於答案選擇任務。
K-Max均值採樣技術(K-Max Average Pooling,KMA)
K-Max均值採樣提出的背景:卷積神經網絡中的池化層,也稱採樣層,主流有兩種方法:最大值採樣 (max pooling) 和均值採樣 (average pooling)。但上述兩種方法也存在一定的局限性,由此,Zeiler and Fergus[9]提出了對於最大值採樣的一些改進技術,Kalchbrenner[10]提出了動態k-max採樣技術。K-Max均值採樣的核心思想:本文提出的K-max均值採樣技術結合了最大值採樣和均值採樣。具體而言,對於卷積層傳入的特徵矩陣(feature map),K-Max採樣技術選取其中最大的前K個值,並取其平均值作為最終的採樣結果。K-Max均值採樣的好處,一方面可以減少異常噪音點的影響,另一方面可以保留表現比較強的特徵的強度。雖然想法簡單,但實驗證明對模型的提升效果較好。
本文主要介紹了LSF-SCNN模型,即基於詞彙語義特徵的跳躍卷積模型 (Lexical Semantic Feature based Skip Convolution neural network ),基於卷積神經網絡模型引入三種優化策略:詞彙語義特徵 (Lexical Semantic Feature, LSF)、跳躍卷積 (Skip Convolution, SC)和K-Max均值採樣 (K-Max Average Pooling, KMA) ,分別在詞彙粒度、短語粒度、句子粒度上抽取更加豐富的語義特徵,從而更好的在向量空間構建短文本語義表達模型,並在答案選擇 (Answer Selection) 問題上進行了實驗驗證。
其中詞彙語義特徵LSF技術可以更廣泛的應用於基於神經網絡結構學習文本對兒間向量表達的相關任務。跳躍卷積SC技術和K-Max均值採樣技術更廣泛的使用於存在卷積層和採樣層的神經網絡結構中。三種技術既可以根據需要單獨使用,也可以相互助益共同提升模型整體效果
機器學習深度學習乾貨棧 www.jqbxx.com