當前位置:編程學習大全網 - 源碼下載 - Pytorch學習記錄-TextMatching幾個經典模型

Pytorch學習記錄-TextMatching幾個經典模型

Pytorch學習記錄-TextMatching文本匹配01

本文是對知乎上 這篇文章 的閱讀筆記,查了壹下ACL和arXiv歷年來關於TextMatching的論文,不知道如何下手,就找找別人的文獻綜述看看,但是似乎和我想象的不大壹樣,還是得先實現壹個基於深度神經網絡的模型才行。

本文基於知乎《深度文本匹配發展總結》,希望作為對之後文獻閱讀的壹個路徑。

經典模型是DSSM(2013),來自論文《Learning Deep Structured Semantic Models for Web Search using Clickthrough Data》

模型的結構。使用DNN將高維度稀疏文本特征映射到語義空間中的低維密集特征中。第壹個隱藏層,具有30k單位,完成word hashing。然後通過多層非線性投影投射word hashing特征。

此DNN中的最後壹層神經活動形成了語義空間中的特征。

這個模型的缺點也很明顯,沒有考慮單詞之間的時序聯系,相似度匹配用的余弦相似度是壹個無參匹配公式。

經典模型是MV-LSTM模型(2015),來自中國科學院《A Deep Architecture for Semantic Matching with Multiple Positional Sentence Representations》

使用Bi-LSTM構建神經網絡,對LSTM隱藏層的輸出進行匹配,作者認為這個模型能夠考察每個單詞在不同語境下的含義,然後使用Bi-LSTM處理句子可以實現用變長的窗口逐步解讀句子,從多粒度考察句子的效果。

模型中 和 就是輸入的句子,首先通過Bi-LSTM獲得位置語句表示(表示為虛線橙色框)。然後,k-Max匯集從每個交互矩陣中選擇前k個相互作用(在圖中表示為藍色網格)。最後通過多層感知器MLP計算匹配分數。

因為語言的表示有多樣性,帶參數的公式比不帶參數的公式顯得更加合理,然後對匹配矩陣進行K-Max的動態池化操作,也就是挑選K個最大的特征,最後采用全連接層進行維度壓縮和分類。

來自論文《Text Matching as Image Recognition》

這篇論文從3個角度構建匹配矩陣。更精細的考慮句子間單詞的兩兩關系,構建出3個矩陣進行疊加,把這些矩陣看作是圖片,用卷積神經網絡對矩陣進行特征提取。

論文中壹***有3種方式構建匹配矩陣,Indicator是壹個這個句子的單詞是否在另壹個句子中出現的指示矩陣,第二個是單詞之間的點積,第三個是余弦相似度。三個匹配矩陣疊加再用CNN在矩陣上進行特征提取是這篇整體的思想。

在做實際匹配處理的時候,通常會出現訓練集、測試集中出現語料庫中沒有的單詞(OOV問題)。深層次句間交互模型的單詞使用Glove預訓練和characters卷積拼接作為單詞的embedding輸入。characters卷積是對每個字母隨機賦予壹個向量,對單詞的所有字母卷積得出特征作為單詞的補充特征,這些特征是為了緩解OOV的問題。

2017年IBM《Bilateral Multi-Perspective Matching for Natural Language Sentences》

雙邊、多角度句子匹配。

文章創新點

模型的整體框架圖,輸入是預訓練的glove embeddings 和 chars embeddings,經過BiLSTM的編碼之後,對每壹個step的LSTM的輸出進行從p到q和從q到p的兩兩配對,有四種組合方式,然後將所有的結果進行拼接和預測結果。

使用四種匹配方式,匹配公式采用帶參數的余弦相似度

2018年紐約大學《Natural Language Inference over Interaction Space》

Interactive Inference Network(IIN,交互式推理網絡)

DenseNet可以在經過復雜的深度神經網絡之後,還可以很大程度上保留原始特征的信息。(但是為了保留原始特征,現在是不是使用attention機制會更好?)。

模型的整體框架,可以看到輸入部分有四個部分的特征(Glove,char,EM(exact match),POS)。這是壹個分級多階段處理的網絡,包括5個部分,每個組件都與不同類型的實現兼容。機器學習中可能存在的所有方法,例如決策樹,支持向量機和神經網絡方法,都可以轉移以替換該體系結構中的某些組件。

什麽是highway networks?

使用highway network對特征進行編碼,這個編碼的輸出構造壹個句子內的attention,(具體就是公式 ,對單詞a和單詞b的向量和它們的點積進行拼接,再做壹個線性的映射得到壹個權重參數,經過softmax歸壹化後成為句內attention的權重參數)然後是參考了LSTM的設計,對highway出來的向量和帶了句內交互的attention項的向量用門機制進行了過濾,得到每個單詞的向量表示,然後將向量表示兩兩之間做壹個匹配形成匹配矩陣,最後用DenseNet對匹配矩陣進行特征提取。

2018年首爾大學《Semantic Sentence Matching with Densely-connected Recurrent and Co-attentive Information》

這篇論文的創新點在於:1、采用了固定的glove embedding和可變的glove embedding拼接並提升了模型效果。2、采用stack層級結構的LSTM,在層級結構上加入了DenseNet的思想,將上壹層的參數拼接到下壹層,壹定程度上在長距離的模型中保留了前面的特征信息。3、由於不斷的拼接導致參數增多,用autoencoder進行降維,並起到了正則化效果,提升了模型準確率。

怎麽感覺模型越來越復雜,而且使用的模型結構和之前看到的不太壹樣,GEC部分還好理解,為什麽文本匹配部分更加龐雜。

  • 上一篇:壹部電影叫什麽名字
  • 下一篇:易語言如何實現轉換字母和數字
  • copyright 2024編程學習大全網