深度學習文本匹配簡述


深度文本匹配方法

近期在看有關於相似文本檢索的論文,但是發現這個方向模型和論文太多,為了方便自己看,簡單做了個整理。

匹配方法可以分為三類:

基於單語義文檔表達的深度學習模型(基於表示)

基於單語義文檔表達的深度學習模型主要思路是,首先將單個文本先表達成一個稠密向量(分布式表達),然后直接計算兩個向量間的相似度作為文本間的匹配度。

基於多語義文檔表達的深度學習模型(基於交互)

基於多語義的文檔表達的深度學習模型認為單一粒度的向量來表示一段文本不夠精細,需要多語義的建立表達,更早地讓兩段文本進行交互, 然后挖掘文本交互后的模式特征, 綜合得到文本間的匹配度。

BERT及其后輩

文本匹配

雖然文本匹配在BERT出現以前一直是以兩類模型主導,但其實文本匹配是一個廣泛的概念,在文本匹配下面還有許多的任務,正如下表所示:

img

1.復述識別(paraphrase identification)

又稱釋義識別,也就是判斷兩段文本是不是表達了同樣的語義,即是否構成復述(paraphrase)關系。有的數據集是給出相似度等級,等級越高越相似,有的是直接給出0/1匹配標簽。這一類場景一般建模成分類問題。

2.文本蘊含識別(Textual Entailment)

文本蘊含屬於NLI(自然語言推理)的一個任務,它的任務形式是:給定一個前提文本(text),根據這個前提去推斷假說文本(hypothesis)與文本的關系,一般分為蘊含關系(entailment)和矛盾關系(contradiction),蘊含關系(entailment)表示從text中可以推斷出hypothesis;矛盾關系(contradiction)即hypothesis與text矛盾。文本蘊含的結果就是這幾個概率值。
3.問答(QA)

問答屬於文本匹配中較為常見的任務了,這個任務也比較容易理解,根據Question在段落或文檔中查找Answer,但是在現在這個問題常被稱為閱讀理解,還有一類是根據Question查找包含Answer的文檔,QA任務常常會被建模成分類問題,但是實際場景往往是從若干候選中找出正確答案,而且相關的數據集也往往通過一個匹配正例+若干負例的方式構建,因此往往建模成ranking問題。

4.對話(Conversation)

對話實際上跟QA有一些類似,但是比QA更復雜一些,它在QA的基礎上引入了歷史輪對話,在歷史輪的限制下,一些本來可以作為回復的候選會因此變得不合理。比如,歷史輪提到過你18歲了,那么對於query”你今天在家做什么呢“,你就不能回復“我在家帶孫子”了。該問題一般使用Recall_n@k(在n個候選中,合理回復出現在前k個位置就算召回成功)作為評價指標,有時也會像問答匹配一樣使用MAP、MRR等指標。

5.信息檢索(IR)

信息檢索也是一個更為復雜的任務,往往會有Query——Tittle,Query——Document的形式,而且更為復雜的Query可能是一個Document,變成Document——Document的形式,相對於其他匹配任務而言,相似度計算、檢索這些只是一個必須的過程,更重要的是需要排序,一般先通過檢索方法召回相關項,再對相關項進行rerank。ranking問題就不能僅僅依賴文本這一個維度的feature了,而且相對來說判斷兩個文本的語義匹配的有多深以及關系有多微妙就沒那么重要了。

模型發展

自從深度學習出現以來,文本匹配模型層出不窮,幾乎每年都會有一個極具代表性的模型出現。下面列出了十一個較為知名的模型。

preview

當然上面這些模型由基於表示的有基於交互的,還有基於bert的,下面我就簡單做個歸類。

基於表示的模型

基於表示的匹配模型的基本結構包括:

(1)嵌入層,即文本細粒度的嵌入表示;

(2)編碼層,在嵌入表示的基礎上進一步編碼;

(3)表示層:獲取各文本的向量表征;

(4)預測層:對文本pair的向量組進行聚合,從而進行文本關系的預測

img

代表:

1.DSMM

DSSM、CDSSM、DSSM+LSTM、DSSM+CNN、DSSM+GRU、DSSM+RNN、MV(Multi-View)-DSSM

關於DSSM雙塔模型有人做了一些歸納,DSSM雙塔模型

2.Siam(孿生)網絡

SiamCNN、SiamLSTM、、

3.ARC-1

4.Multi-view

5.InferSent

6.SSE

【Reference】

DSSM: Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
CDSSM: A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval
LSTM-DSSM: Semantic Modelling with Long-Short-Term Memory for Information Retrieval
MV-DSSM: A Multi-View Deep Learning Approach for Cross Domain
User Modeling in Recommendation Systems
ARC-1: Convolutional Neural Network Architectures for Matching Natural Language Sentences
SiamCNN: Applying Deep Learning to Answer Selection: A Study and An Open Task
SiamLSTM: Siamese Recurrent Architectures for Learning Sentence Similarity
Multi-view: Multi-view Response Selection for Human-Computer Conversation
InferSent: Supervised Learning of Universal Sentence Representations from Natural Language Inference Data
SSE: Shortcut-Stacked Sentence Encoders for Multi-Domain Inference

基於交互的模型

表示型的文本匹配模型存在兩大問題:(1)對各文本抽取的僅僅是最后的語義向量,其中的信息損失難以衡量;(2)缺乏對文本pair間詞法、句法信息的比較

而交互型的文本匹配模型通過盡早在文本pair間進行信息交互,能夠改善上述問題。

基於交互的匹配模型的基本結構包括:

(1)嵌入層,即文本細粒度的嵌入表示;

(2)編碼層,在嵌入表示的基礎上進一步編碼;

(3)匹配層:將文本對的編碼層輸出進行交互、對比,得到各文本強化后的向量表征,或者直接得到統一的向量表征;

(4)融合層:對匹配層輸出向量進一步壓縮、融合;

(5)預測層:基於文本對融合后的向量進行文本關系的預測。
img

代表:

1.ARC-Ⅱ

2.PairCNN

3.MatchPyranmid

4.DecAtt

5.CompAgg

6.ABCNN

BCNN、ABCNN、ABCNN-2、ABCNN-3、

7.DIIN

8.DRCN

9.ESIM

10.Bimpm

11.HCAN

【Reference】

ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences

PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks

MatchPyramid: Text Matching as Image Recognition

DecAtt: A Decomposable Attention Model for Natural Language Inference

CompAgg: A Compare-Aggregate Model for Matching Text Sequences

ABCNN: ABCNN: Attention-Based Convolutional Neural Network
for Modeling Sentence Pairs

DIIN:NATURAL LANGUAGE INFERENCE OVER INTERACTION SPACE

DRCN:Semantic Sentence Matching with Densely-connected Recurrent and Co-attentive Information

ESIM: Enhanced LSTM for Natural Language Inference

Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences

HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
for Short Text Similarity Modeling

基於預訓練模型BERT

SOTA模型,基於bert的改進還在學習中,base-bert、孿生bert等,此外BERT還有一個問題,無法解決長文本的匹配,但是對於此問題也有文章在解決了。

【Reference】

1.Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

2.Simple Applications of BERT for Ad Hoc Document Retrieval

其他

文本匹配的baseline有很多,借助一些好用的開源工具可以大大提升開發效率:MatchZoo、AnyQ、DGU

參考

1.文本匹配模型

2.文本匹配打卡

3.孿生BERT


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM