Enhanced-RCNN: 一種高效的比較句子相似性的方法|WWW 2020

Enhanced-RCNN: 一種高效的比較句子相似性的方法|WWW 2020

Enhanced-RCNN: 一種高效的比較句子相似性的方法|WWW 2020

作者 | 彭爽

出品 | AI科技大本營(ID:rgznai100)

國際頂級會議WWW2020將於4月20日至24日舉行。始於1994年的WWW會議,主要討論有關Web的發展,其相關技術的標準化以及這些技術對社會和文化的影響,每年有大批的學者、研究人員、技術專家、政策制定者等參與。以下是螞蟻金服的技術專家對入選論文《Enhanced-RCNN: 一種高效的比較句子相似性的方法》做出的深度解讀。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

前言

如何衡量句子相似性是自然語言處理中一項基礎而又重要的任務。當前比較句子相似性的方法主要分為3種:表示型(Siamese Network Framework)、交互型(Matching-Aggregation Framework)和預訓練語言模型(Pre-trained Language Model)。

表示型的方法,代表作如(Siamese-CNN,Siamese-RNN),它們將待比較的兩個句子通過同一個編碼器映射到相同的向量空間中,這種簡單的參數共享的方法有著很好的線上性能,但是由於模型本身沒有去考慮兩個句子編碼向量之間的交互關係,往往準確率不佳,於是,就有人提出了交互型的句子相似度比較方法,通過一些複雜的注意力機制來去捕捉兩個句子編碼向量之間交互的信息,從而更好的進行句子相似度建模。通常,基於交互型的句子相似度比較方法的預測準確率會比基於表示型的方法高出不少。

最近,預訓練語言模型(BERT,RoBERTa等)在很多公開的句子相似度數據集上達到了最優的效果,這種方法通過將在大規模語料上(比如維基百科)上訓練好的語言模型放到特定領域的目標數據集上進行微調(Fine-tune)。這種類型的方法雖然效果顯著,但是缺點在於模型參數量龐大,在實際工業界難以部署到線上使用。

我們在經典的交互型句子相似性比較方法 ESIM 的基礎上,提出了一種新型的計算句子相似度的方法 Enhanced-RCNN,來更好的捕捉待比較的兩個文本自身以及相互之間的信息。同時我們的模型更加的輕量級,並不像其他文本匹配模型那樣堆疊複雜的注意力機制來對兩個文本進行建模。簡單來說,Enhanced-RCNN 在效果保證的前提下也擁有良好的性能。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

Enhanced-RCNN簡介

智能客服的本質,就是充分理解用戶的意圖,在知識體系中精準地找到與之相匹配的內容,回答用戶問題或提供解決方案。句子相似度計算,是貫穿智能客服離線、在線和運營等幾乎所有環節最核心的技術,同時也是自然語言理解中最核心的問題之一,廣泛應用於搜索、推薦、對話等領域。

螞蟻智能機器人客服主要靠檢索用戶的問題來獲取候選問題和答案。基於檢索的自然語言對話系統需要離線將大規模的對話語料以“問題-答案”對的形式建立知識庫索引,其中問題由標準問法和擴展問法組成。在線對話時,通過檢索找到跟用戶相似的問題(同時匹配標問和擴展問法),將檢索的結果輸入給句子相似度模型進行打分排序,最終將相似度較高的結果返回給用戶。由此可見,如何計算用戶的問題和知識庫中已有問題的相似度對於整個問答系統而言至關重要。

在本論文中,我們提出了一種高效的比較句子相似性的方法 Enhanced-RCNN,這是我們在經典文本匹配模型 ESIM的基礎上改進的模型,該模型在 Quora Question Pair 和 Ant Financial 兩個公開的文本匹配數據集上均取得了非常有競爭力的結果,並且和時下火熱的預訓練語言模型 BERT 相比,Enhanced-RCNN 也取得了相當的效果,同時參數量相比BERT-Base 也大幅減少。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

Enhanced-RCNN深入解讀

我們提出的Enhanced-RCNN 模型結構如下圖所示。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

下面我們由下至上來進行介紹

1 Input Encoding

Input Encoding 分為 RNN Encoder 和 CNN Encoder 兩部分。RNN 主要用來捕捉文本的序列信息;CNN 主要用來捕捉文本的關鍵詞信息,CNN 的這個特性在自動摘要中已經得到廣泛應用。

下面分別來介紹 RNN Encoder 和 CNN Encoder。

1.1 RNN Encoder

首先,對待比較的 2 個問題文本使用 BiGRU 進行編碼,主要為了捕捉句子序列的特徵信息。這裡沒有使用 ESIM 中的 BiLSTM,因為在實際應用中發現使用 BiGRU 的效果更好,同時效率更高。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

1.2 CNN Encoder

在 BiGRU 編碼的基礎上,使用 CNN 來進行二次編碼,利用 CNN 卷積核的特質來捕捉詞粒度 (類似 n-gram) 的特徵信息 (關鍵詞、詞組等), 得到 RCNN Encoding。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

在設計 CNN 層結構的時候,我們借鑑了 "Network in Network" 的思想,設計了相應的結構方便更好的提取文本的特徵信息,如下圖所示。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

這裡激活函數選擇 Relu,對於每個 CNN 單元,具體的計算過程如下。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

在 CNN 層的最後,我們採用均值池化和最大池化來提取 CNN 單元輸出的信息,並且將它們拼接起來獲得最後的 CNN 層最後的輸出。

我們通過在 Input Encoding 中結合 BiGRU 和 CNN,可以更加充分的去捕捉兩個待比較的問題文本的細粒度 (fine-grained) 特徵信息。和 ESIM 模型不同的是,ESIM 中這裡只用到了 RNN Encoding,在後續的 Interaction Modeling 中,Enhanced-RCNN 會同時使用 RNN Encoding 和 RCNN Encoding 來捕捉兩個文本的交互信息。

2 Interactive Sentence Representation

我們的 Enhanced-RCNN 和 ESIM 模型一樣,都屬於基於“交互式”的文本模型,所以在 Input Encoding 之後,通過注意力機制去捕捉兩個帶比較文本直接的交互信息,這裡用到的是 soft attention alignment 來得到 Interactive Sentence Representation。

2.1 Soft-attention Alignment

首先,我們利用 BiGRU 輸出的 RNN Encoding 去計算得到兩個待比較的文本之間的軟注意力權重 (Soft Attention)。這裡針對待比較的兩個文本,可以得到的 2 個不同的注意力權重,分別是文本 A 相對文本 B,和文本 B 相對文本 A 的。這部分可以理解為去捕捉兩個問題之間交互的信息 (相似和不相似的地方),具體的計算方法如下。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

2.2 Interaction Modeling

通過 soft attention alignment 得到 Interactive Sentence Representation 之後,我們使用“最大”池化和“均值”池化進一步捕捉文本的特徵信息,並且在之後和RCNN Encoding 相結合,具體的計算過程如下所示。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

和當前的基於交互式的文本匹配方法(比如 ESIM)不同的是,我們同時使用 RNN 和 CNN 來進行 Interaction Modeling 以獲得兩個文本的 Interactive Sentence Representation。通過結合 RNN 和 CNN 的優點,我們可以捕捉更細粒度(fine-grained)的特徵 (sequence and keywords information)。同時,由於 CNN 卷積核特有的參數共享機制,我們模型的參數量也能得到進一步縮小。

3 Similarity Modeling

在得到了Interactive Sentence Representation 的Oa 和 Ob 之後,我們設計了一個特殊的 Fusion Layer,用在全局性的相似度建模(Overall Similarity Modeling)中來融合兩個文本的向量表示。

3.1 Fusion Layer

將 RCNN 的 input encoding 和軟注意力權重輸出到一個融合層(Fusion Layer),引入了門限機制(Gate),進行全局性的相似度建模。

融合層的目的主要是為了更好的融合兩個待比較文本的 Interactive Sentence Representation,為了方便後面計算兩個問題的相似度。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

在設計這個融合層的時候,我們參考了達摩院在機器閱讀領域裡面提出的 SLQA 模型中的設計,兩個輸入文本的 Fused Representations 可以被形式化的表示如下:

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

然後,Oa' 和 Ob' 拼接起來,得到:

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

3.2 Label Prediction

在最後的 prediction layer,我們將前一步輸出Mout輸入到一個神經網絡全連接層中去計算兩個句子相似的概率。整個模型是端到端來訓練的,並且使用 cross-entropy 作為損失函數。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

實驗

我們選擇 Quora Question Pair 和 Ant Financial 這兩個比較句子相似性的公開數據集,數據集的介紹如 Table 1 所示。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

4.1 Ablation Studies

首先,我們做了消融分析的實驗,來比較有無 BiGRU、CNN、Attenion 的影響,結果如 Table 2 所示。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

從消融分析的結果可以看出,去掉 BiGRU 對應結果的影響是最大的,說明了使用 BiGRU 對文本進行建模是有效並且必要的;去掉 CNN 的影響其次,說明 CNN 的加入,可以在某些方面彌補 BiGRU 的不足。從前 2 個消融分析的實驗可以看出,單獨使用 BiGRU 和單獨使用 CNN 的效果和同時使用 BiGRU 和 CNN 有較大差距,說明了我們在 Input Encoding 和 Interaction Modeling 階段引入 BiGRU 和 CNN 的做法是 work 的。

最後一個消融分析實驗,我們比較了去掉 Attention Layer 對結果的影響,實驗結果顯示,其實有無 Attention 對應結果影響不大,至少遠沒有去掉 CNN 或者 BiGRU 大。這個有趣的發現拋出了一個問題,就是現在很多 Text Matching 模型中使用的那麼複雜的 Attenion 機制真的有用嗎?

4.3 Experiments on Paraphrase Identification

下面我們和當下流行的 Text Matching 模型進行了比較,分為兩部分,第一個是和非 BERT 的傳統文本匹配模型進行比較,第二個是和 BERT 模型進行比較。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

第一個部分,Enhanced-RCNN 在 Quora 和 Ant Financial 這兩個公開數據集上和傳統的文本匹配模型的比較中,取得了最優的結果(如 Table 3 所示)。傳統的文本匹配模型主要分為兩種 -- “表示型”(Siamese-CNN, Siamese-LSTM)和 “交互型” (BiMPM, LDC, ESIM 和 DINN)。“交互型” 模型和“表示型”模型的主要區別在於“交互型”的模型利用 Attenion 機制去捕捉了 2 個文本之間的交互信息,對於文本特徵信息的捕捉相比“表示型”模型更加的充分。我們提出的 Enhanced-RCNN 屬於一種 “交互型” 的文本匹配模型,在交互機制的設計上更加輕量級,同時效果相比其他的 “交互型” 模型更好。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

第二個部分,我們拿 Enhanced-RCNN 和當下 NLP 的明星模型 BERT 進行了比較(如 Table 4)。不出意外,在單模型的比較下,Enhanced-RCNN 不如 BERT-Base,不過它的效果也很有競爭力;當對 BERT-Base 進行 ensemble 之後 (5-fold),Enhanced-RCNN 的效果會超過 BERT-Base。

除了對比 Enhanced-RCNN 和 BERT-Base 的效果之外,我們還對比了他們的 params size 和 inference time cost(如Table 5 所示),Enhanced-RCNN 的 params size 只有 BERT-Base 的十二分之一,inference speed 比 BERT-Base 要快十倍。可以看出,Enhanced-RCNN 要更高效,更適合工業場景的應用。

4.4 Case Study and Error Analysis

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

在Case Study中,我們展示了一個在實際業務中典型的例子,“花唄”和“花被”是經常被混淆的錯別字,我們將 Enhanced-RCNN 和 Enhanced-RCNN 去掉了 CNN module 之後進行了對比,可視化了 Interaction Modeling 中兩個句子的 Attention 矩陣。可以看到,“花唄”和“花被”這2個詞在 Enhanced-RCNN 下的 Attention 權重要明顯高於沒有加 CNN 層的,從側面反映了添加CNN層可以讓模型在錯別字的處理上具有更好的魯棒性。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020

Enhanced-RCNN的未來

雖然Enhanced-RCNN在預測的準確率上不如BERT-Base,但是由於其參數量少,較為適合用於線上部署使用,同時,通過一些知識蒸餾的方法(Knowledge Distillation),也可以將Enhanced-RCNN作為學生模型(Student Model),去學習BERT-Base,即老師模型,來進一步提升原有Enhanced-RCNN模型的預測準確率。

在未來,我們希望不僅僅將 Enhanced-RCNN 的應用在比較句子相似性,還希望在更多領域去應用 Enhanced-RCNN 模型(比如 Text Inference 或者 Answer Selection 任務)。

Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020Enhanced-RCNN: 一种高效的比较句子相似性的方法|WWW 2020
  • 前百度主任架構師創業,兩年融資千萬美元,他說AI新藥研發將迎來黃金十年
  • 8比特數值也能訓練模型?商湯提訓練加速新算法丨CVPR 2020
  • 400 多行代碼!超詳細中文聊天機器人開發指南 | 原力計劃
  • 知識圖譜夠火,但底層技術環節還差點火候 | 技術生態論
  • 機器學習項目模板:ML項目的6個基本步驟

  • BM、微軟、蘋果、谷歌、三星……這些區塊鏈中的科技巨頭原來已經做了這麼多事!


分享到:


相關文章: