1. 程式人生 > 實用技巧 >論文閱讀03:深度文字匹配綜述

論文閱讀03:深度文字匹配綜述

公眾號:資料探勘與機器學習筆記

1.文字匹配概要

文字匹配在資訊檢索、自動問答、機器翻譯、對話系統、複述問題等自然語言處理任務上應用廣泛。.這些自然語言處理的任務都可以在一定程度上抽象成文字匹配問題,比如資訊檢索可以歸結為查詢項和文件的匹配,自動回答可以歸結為問題和候選答案的匹配,機器翻譯可以歸結為兩種語言間的匹配,對話系統可以歸結為前一句對話和回覆的匹配,複述問題則可以歸結為兩個同義詞句的匹配。文字匹配面臨的挑戰主要來源於以下幾個方面:

  • 詞語匹配的多元性

    不同的詞語可以表示同一個語義,比如同義詞;相同的詞在不同的語境下會有不同的語義。

  • 短語匹配的結構性

    多個詞語可以按照一定的結構組合成短語,匹配兩個短語需要考慮短語的結構資訊.比如“機器學習”和“學習機器”只有詞語是匹配的,而順序是打亂的。

  • 文字匹配的層次性

    文字是以層次化的方式組織起來的,詞語組成短語,短語組成句子,句子組成段落,段落組成篇章.這樣一種特性使得我們在做文字匹配的時候需要考慮不同層次的匹配資訊,按照層次的方式組織我們的文字匹配資訊。

傳統的文字匹配模型需要基於大量的人工定義和抽取的特徵,而且可學習的引數相對較少,所以這些特徵總是根據特定的任務(資訊檢索,或者自動問答)人工設計的,很大程度上限制了模型的泛化能力。傳統模型在一個任務上表現很好的特徵很難用到其他文字匹配任務上.而利用深度學習方法,可以自動從原始資料中抽取特徵,免去了大量人工設計特徵的開銷.首先特徵的抽取過程是模型的一部分,根據訓練資料的不同,可以方便適配到各種文字匹配的任務當中.以此同時,深度文字匹配模型結合上詞向量(word2vec)的技術,更好地解決了詞語匹配的多元性問題.最後得益於神經網路的層次化設計原理,深度文字匹配模型也能較好地符合短語匹配的結構性和文字匹配的層次性的特性。

深度文字匹配模型劃分成3大類:基於單語義文件表達的深度學習模型、基於多語義文
檔表達的深度學習模型和直接建模匹配模式的深度學習模型

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

  • 基於多語義的文件表達的深度學習模型認為單一粒度的向量來表示一段文字不夠精細,需要多語義的建立表達,也就是分別提取詞、短語、句子等不同級別的表達向量,再計算不同粒度向量間的相似度作為文字間的匹配度;

  • 而直接建模匹配模式的深度學習模型則認為匹配問題需要更精細的建模匹配的模式,也就是需要更早地讓兩段文字進行互動,然後挖掘文字互動後的模式特徵,綜合得到文字間的匹配度.表1展示了深度文字匹配模型的分類。

image-20201009221449696

2. 文字匹配問題簡介

2.1 問題描述

給定標註訓練資料集 S t r a i n = { ( s 1 ( i ) , s 2 ( i ) , r ( i ) ) } i = 1 N S_{train}=\{(s_1^{(i)},s_2^{(i)},r^{(i)})\}_{i=1}^N Strain={(s1(i),s2(i),r(i))}i=1N,其中, s 1 ( i ) ∈ S 1 , s 2 ( i ) ∈ S 2 s_1^{(i)}\in S_1,s_2^{(i)} \in S_2 s1(i)S1,s2(i)S2為兩段文字, r ( i ) ∈ R r^{(i)} \in R r(i)R表示兩段文字的匹配程度。文字匹配的目標是在訓練資料上,自動學習匹配模型 f : S 1 × S 2 → R f:S_1 \times S_2 \rightarrow R f:S1×S2R,使得對於測試資料 S t e s t S_{test} Stest上的任意輸入 s 1 ∈ S 1 , s 2 ∈ S 2 s_1 \in S_1,s_2 \in S_2 s1S1,s2S2,能夠預測出 s 1 s_1 s1 s 2 s_2 s2的匹配度 r r r,然後通過匹配度排序得到結果。

對於一個實際任務,我們通常會抽象成一個排序問題.給定一段文字 s 1 s_1 s1,和另一段文字的一個列表 s 2 ( i ) s_2 ^{(i)} s2(i),目標是在這個列表中篩選出與給定文字狊 s 1 s_1 s1匹配的文字.文字匹配模型會計算所有的文字對( s 1 s_1 s1 s 2 ( i ) s_2 ^{(i)} s2(i))的匹配度 r ( i ) r^{(i)} r(i),{ r ( i ) r^{(i)} r(i)}列表排序越靠前的文字和 s 1 s_1 s1的匹配度越高。

2.2 評價指標

排序結果的評價指標可以參考這篇文章

2.3 傳統文字匹配學習模型

作者模型模型簡介
Berger和Lafferty統計機器翻譯模型使用統計機器翻譯模型計算網頁詞和查詢詞間的“翻譯”概率,從而實現了同義或者近義詞之間的匹配對映
Gao等統計機器翻譯模型在片語一級訓練統計機器翻譯模型並利用使用者點選資料進行模型訓練
Hardoon等典型相關分析和篇最小二乘等隱空間模型試圖為兩種物件建立一個公共的隱空間,任意給定的查詢和文件都可以被對映到此隱空間中,且在隱空間中查詢和文件有一致的表達方式和特徵維度,從而可以方便地計算兩者的相似度或者距離,進而對其是否具有相同的“語義”做出判斷
Wu等正則化隱空間對映把查詢項和網頁對映到同一隱空間中,並在模型訓練中引入了正則化因子以避免奇異解
Bai等有監督學習索引模型
Gao等雙語話題模型擴充套件了話題模型

上述模型還存在許多問題:

  • 人工提取特徵的代價很大.
  • 基於主題模型的隱空間模型還比較粗糙,不能精確建模文字匹配中的語義相近程度
  • 傳統模型很難發掘一些隱含在大量資料中,含義不明顯的特徵,而往往有些特殊情況需要這樣的特徵才能提高效能

3.基於深度學習的文字匹配模型

優勢:

  • 深度學習模型可以將單詞表示為語義空間中的向量,利用向量之間的距離運算更準確地描述兩個單詞之間的語義關係
  • 深度學習模型自身的結構是層次化和序列化的,能夠比較自然地描述自然語言中的層次結構、序列結構和組合操作
  • 更好地地利用大規模資料和高效能運算,端到端學習

3.1 深度文字匹配形式化

定義 s 1 = { x i } i = 1 n , s 2 = { y i } i = 1 m s_1=\{x_i\}_{i=1}^n,s_2=\{y_i\}_{i=1}^m s1={xi}i=1n,s2={yi}i=1m表示文字樣本 s 1 和 s 2 s_1和s_2 s1s2中的單詞序列,其中 n n n m m m表示句子長度, x i x_i xi y i y_i yi表示句子中的單詞。

  • 單詞表達

    函式 w i = ϕ ( x i ) , v i = ϕ ( y i ) w_i=\phi(x_i),v_i=\phi(y_i) wi=ϕ(xi),vi=ϕ(yi)表示單詞 x i x_i xi y i y_i yi到詞向量 w i , v i w_i,v_i wi,vi的一個對映。整個句子對映後得到矩陣 w w w v v v

  • 短語、句子表達

    利用函式 p = Φ ( w ) , q = Φ ( v ) p=\Phi(w),q=\Phi(v) p=Φ(w),q=Φ(v),得到短語或者整個句子的表達

  • 文字互動

    M 0 M_0 M0表示兩段文字互動後的結果,定義 M 0 = f ( p , q ) M_0=f(p,q) M0=f(p,q)

  • 匹配空間內的模式提取.在得到基本互動資訊的基礎上進一步提取匹配空間的模式資訊,可以表示為函式 M k = g ( M k − 1 ) M_k=g(M_{k-1}) Mk=g(Mk1),這裡的函式 g g g可以由多個函式級聯而成。

  • 匹配程度得分

    最後一步旨在綜合前面的資訊,得到一個匹配程度的打分,也即 r = h ( M n ) r=h(M_n) r=h(Mn)

3.2 基於單語義文件表達的深度學習模型

文件表達就是將文字表示成一個向量,傳統方法得到的只基於一個文件的特徵就可以看做一個文件的表達。而基於單語義深度學習模型中的文件表達則是利用深度學習的方法生成一個文件的高維度稠密向量。首先將待匹配的兩個物件通過深度學習表達成兩個向量,然後通過計算這兩個向量之間的相似度便可輸出兩者的匹配度。

image-20201011143128403

基於單語義文件表達的深度學習模型的核心是構建單個文件表達的差異。分成了基於全連線神經網路、卷積神經網路和迴圈神經網路這樣的3類。

image-20201011145804735

image-20201011145925748

image-20201011145944307

image-20201011145958464

image-20201011150021104

基於單語義文件表達的深度學習演算法的重心在於得到一個適合的文件表達。

具有3個優點

  • 將文字對映為一個簡潔的表達,便於儲存;

  • 匹配的計算速度快,可以和一些加速方法如位置敏感雜湊技術結合,進一步提高計算速度;

  • 模型可以用大量無監督的資料進行預訓練,尤其是在匹配監督資料很少的時候,用大量文字進行預訓練是相當有效的方法.

    因此,該模型非常適合於資訊檢索這種對儲存和速度要求都比較高的任務

    缺點:

  • 很多匹配問題不具備傳遞性(例如問答系統中問題和答案的位置不能互換),因此不適合用一個度量空間(引數相同的神經網路)來描述

  • 文字的表示學習本身是非常困難的問題,只有效捕捉與描述對匹配有用的區域性化(細節)資訊

3.3  基於多語義文件表達的深度學習模型

不僅會考慮兩段文字最終的表達向量的相似程度,也會生成區域性的短語或者更長的短語的表達進行匹配.這樣多粒度的匹配可以很好地補充基於單語義文件表達的深度學習模型在壓縮整個句子過程中的資訊損失,而達到更好的效果.

image-20201011154435548

image-20201011154616051

image-20201011154635189

image-20201011154654161

3.4 直接建模匹配模式的深度學習模型

直接建模匹配模式的深度學習模型旨在直接捕獲匹配的特徵:匹配的程度和匹配的結構。

image-20201011160344080

image-20201011160420372

image-20201011160504027

image-20201011160518824

image-20201011160550349

image-20201011160601922

論文:《深度文字匹配綜述》

在這裡插入圖片描述