機器不學習:基於深度學習CNN的短文本相似度計算方案

2020-12-06 機器學習e

機器學習深度學習乾貨棧 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

相關焦點

  • 深度學習概述:NLP vs CNN
    最初的人工智慧和深度學習算法比較簡單,就像我們所知的簡單感知器模型和單層神經網絡一樣。隨著時間的推移和更加專注的研究,我們已經擁有了具有多層結構的複雜神經網絡。一些公司在他們的軟體和服務中使用了LSTMs、GANs、變分自編碼器等算法。本文在以下部分列出了人工智慧領域當前最熱門的技術以及正在研究這些熱門技術的公司。
  • 用深度學習(CNN RNN Attention)解決大規模文本分類問題 - 綜述和...
    傳統算法主要有基於字符串匹配的正向/逆向/雙向最大匹配;基於理解的句法和語義分析消歧;基於統計的互信息/CRF方法。近年來隨著深度學習的應用,WordEmbedding + Bi-LSTM+CRF方法逐漸成為主流,本文重點在文本分類,就不展開了。而停止詞是文本中一些高頻的代詞連詞介詞等對文本分類無意義的詞,通常維護一個停用詞表,特徵提取過程中刪除停用表中出現的詞,本質上屬於特徵選擇的一部分。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    機器學習是用數據來學習、概括、預測的研究。近幾年,隨著數據的開發、算法的改進以及硬體計算能力的提升,機器學習技術得以快速發展,不斷延伸至新的領域。來計算文本之間的相似度。更多的深度學習框架,可查看文章:迎來 PyTorch,告別 Theano,2017 深度學習框架發展大盤點輸出:最終的結果機器學習的輸出結果可以是一種識別顏色的模式,也可以是簡單的網頁色調分析,或者是某個置信區間裡的預估值。總之,輸出的結果可以是任何事情。
  • CNCC 2019 | 劉群:基於深度學習的自然語言處理,邊界在哪裡?
    劉群教授認為尚未解決的這些問題最終是由深度學習的四大邊界——數據邊界、語義邊界、符號邊界和因果邊界所共同造成的。要想在這些尚未解決的問題上尋找突破,需要從深度學習的這些邊界出發,去探索新的解決方案。這個報告主題為《基於深度學習的自然語言處理:邊界在哪裡?》。可謂是站在 NLP 塔尖上對整個領域的復盤。
  • 人工智慧、機器學習及認知計算初學者指南
    艾倫·圖靈向我們展示了任何計算均可通過數位化的方式實施。之後,這種構建能夠模擬人類大腦的理念並未有太大發展。較早期的研究主要專注於強人工智慧,但在這一時期所引入的概念構成了當今所有機器學習與深度學習算法的基礎概念。
  • 深度學習預測比特幣價格;基於神經網絡的自動化前端開發 | Github...
    該項目用深度學習的方法預測比特幣的走勢,Siraj Raval 小哥也在視頻裡說了,這套模型還可以用來預測任何 Altcoin。看來現在的礦工們都應該學點機器學習了。基於神經網絡的自動化前端開發 —— Screenshot-to-code-in-KerasGithub 地址:https://github.com/emilwallner/Screenshot-to-code-in-Keras目前,自動化前端開發最大的障礙是計算能力,不過,我們可以用深度學習算法和數據訓練來探索自動化前端設計。
  • 一文講述常見的文本相似度計算方法
    在問答系統中,比如說人工客服,我們需要提前準備好問題和一些答案,讓用戶輸入的問題與題庫中的問題進行相似度的比較,最後輸出答案。在推薦系統中,我們需要提取一個用戶的所有物品,在根據這個物品找到對應的用戶群,比較兩個用戶之間的相似性,在進行相應的推薦(協同過濾)。在對語料進行預處理的時候,我們需要給予文本的相似度,把相似度高的重複主題過濾掉。
  • 實踐入門NLP:基於深度學習的自然語言處理
    【NLP工程師入門實踐班】——基於深度學習的自然語言處理開車啦!!還不趕緊上車!?【課程概述 】本課程將首先介紹自然語言處理的發展現狀與挑戰,同時,講解深度學習和自然語言處理的結合應用。除了基本算法外,本課程還配備實踐環節,從一些典型的方向:機器翻譯、文本分類、問答等。
  • 深度學習在統計機器翻譯和會話中的應用 |微軟IJCAI2016演講PPT
    l  針對詞彙可能性   語言模型   LM/w 來源l  基於短語的機器翻譯  翻譯/錄製可能性   翻譯   錄製l  基於二元的機器翻譯l  ITG模型深度語義相似模型(DSSM)l  計算語義相似性btw文本l  針對自然語義處理任務的DSSM
  • 回望2017,基於深度學習的NLP研究大盤點
    在過去的幾年裡,深度學習(DL)架構和算法在諸如圖像識別和語音處理等領域取得了世人矚目的進步。然而在最開始的時候,深度學習在自然語言處理(Natural Language Processing, NLP)領域的效果一般,但是現在已經被證實深度學習在自然語言處理領域依然能夠發揮巨大的作用。並且在一些常見的自然語言處理任務中,基於深度學習的方法已經取得了最佳的結果。
  • 基於深度學習的人臉自動美妝與深度哈希算法
    此次大會包括7場特邀演講、4場獲獎演講、551篇同行評議論文的presentation,41場workshop、37堂tutorial、22個demo等。深度學習成為了IJCAI 2016的關鍵詞之一,以深度學習為主題的論文報告session共計有3個。本期我們從中選擇了兩篇深度學習領域的相關論文進行選讀,組織了相關領域的博士研究生,介紹論文的主要思想,並對論文的貢獻進行點評。
  • 能實現比TensorFlow更好的深度學習嗎?
    作者:Max Woolf機器之心編譯參與:Jane W、吳攀Keras 是由 Franois Chollet 維護的深度學習高級開源框架,它的底層基於構建生產級質量的深度學習模型所需的大量設置和矩陣代數。Keras API 的底層基於像 Theano 或谷歌的 TensorFlow 的較低級的深度學習框架。
  • 深度學習技術和卷積神經網絡(CNN)讓機器視覺識別更智能
    隨著人工智慧技術的進步,深度學習技術(DL)和卷積神經網絡技術(CNN)領域的人工智慧(AI)被引入到機器視覺圖像處理系統的應用中來,從而幫助機器學習和機器檢測缺陷更加高效,使機器視覺識別的過程更加精確。也讓使用這些技術的企業可以從智能化中獲得更高的生產經營效益。
  • 每周AI應用精選:虹膜識別解決方案;基於深度學習人臉識別方案等
    每周三期,詳解人工智慧產業解決方案,讓AI離你更近一步。解決方案均選自機器之心Pro行業資料庫。方案1:虹膜識別解決方案解決方案簡介:虹膜識別技術是基於眼睛中的虹膜進行身份精準識別,應用於對身份認證安全強需求或高度保密需求的場所。
  • 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統
    通過深度學習和其他機器學習技術的模型組合,竹間智能也已初步實現了自然語言對話中的意圖識別、上下文理解和多輪對話。本文將基於竹間智能的一些經驗和探索,從分詞、詞性等基礎模塊,到機器翻譯、知識問答等領域,列舉並分析一些深度學習在 NLP 領域的具體運用,希望對大家研究深度學習和 NLP 有所幫助。
  • 人工智慧深度學習的未來展望
    深度學習能夠發現大數據中的複雜結構。它是利用BP算法來完成這個發現過程的。BP算法能夠指導機器如何從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用於計算表示。深度卷積網絡在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網絡在處理序列數據,比如文本和演講方面表現出了閃亮的一面。
  • 自然語言處理深度學習的7個應用
    (傳統的語音識別模型是通過人工建立一張語音詞表,將相似發音的字母劃分為一類;並藉助一個分類模型實現語音到字母的轉譯。)—458頁,深度學習,2016.給定作為音頻數據的文本的發聲,該模型必須生成可讀的文本。自動給出自然語言的處理,這個問題也可被稱為自動語音識別(ASR).語言模型用於創建以音頻數據為條件的文本輸出。
  • 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度...
    機器視覺領域的核心問題之一就是目標檢測 (object detection),它的任務是找出圖像當中所有感興趣的目標 (物體),確定其位置和大小。作為經典的目標檢測框架 Faster R-CNN,雖然是 2015 年的論文,但是它至今仍然是許多目標檢測算法的基礎,這在飛速發展的深度學習領域十分難得。
  • UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別 | 分享...
    ICLR, 2018.Shen et al.」已被深度學習領域頂會 ICLR 2018 接收。本文基於該項目,並延伸探討了深度主動學習在各類人工智慧或者機器學習問題中扮演的角色。接下來講解主動學習的一種廣泛使用的 query strategy,即基於不確定性的採樣方法(Uncertainly Sampling Methods)。它基於一個簡單概念,即當有一個分類器或者模型時,選取那些在概率上最不確定的樣本進行標註。「概率上最不確定」存在多種定義方式,最常用的幾種定義方式列在下圖中。
  • 微軟IJCAI2016演講PPT:深度學習在語義理解上不再難有用武之地
    上圖是微軟在各種領域對基於深度學習的語義識別的應用。今天微軟要講的這個指南的焦點,並非集中在語音識別或者圖像識別上,而是語音文本的處理和理解,一共分為5部分上圖是一個需求分類問題的舉例,比如輸入一個問題:丹佛市中心的壽司店,但這個店屬於餐館,酒店,夜店,航班那個領域的店或者館呢?