BERT 等預訓練語言模型只能學習語言相關的信息,它們學習不到「知識」相關的信息。最近,清華大學與華為的研究者提出用知識圖譜增強 BERT 的預訓練效果,讓預訓練語言模型也能變得「有文化」。

選自arXiv,作者:Zhengyan Zhang等,機器之心編譯。

自然語言表徵模型最近受到非常多的關注,很多研究者將其視為 NLP 最重要的研究方向之一。例如在大規模語料庫上預訓練的 BERT,它可以從純文本中很好地捕捉豐富的語義模式,經過微調後可以持續改善不同 NLP 任務的性能。因此,我們獲取 BERT 隱藏層表徵後,可用於提升自己任務的性能。

但是,已有的預訓練語言模型很少考慮知識信息,具體而言即知識圖譜(knowledge graphs,KG),知識圖譜能夠提供豐富的結構化知識事實,以便進行更好的知識理解。簡而言之,預訓練語言模型只知道語言相關的「合理性」,它並不知道語言到底描述了什麼,裡面是不是有什麼特殊的東西。

來自清華大學的張正彥、韓旭、劉知遠、孫茂松和來自華為諾亞方舟實驗室的蔣欣、劉羣最近發布了一項研究,他們認為知識圖譜中的多信息實體(informative entity)可以作為外部知識改善語言表徵。

該研究結合大規模語料庫和知識圖譜訓練出增強版的語言表徵模型 (ERNIE),該模型可以同時充分利用辭彙、句法和知識信息。實驗結果表明 ERNIE 在多個知識驅動型任務上取得了極大改進,在其他 NLP 任務上的性能可以媲美當前最優的 BERT 模型。

論文:ERNIE: Enhanced Language Representation with Informative Entities

  • 論文地址:arxiv.org/pdf/1905.0712
  • 目前該研究代碼已開源:github.com/thunlp/ERNIE

預訓練語言模型怎麼了?

預訓練語言表徵模型包括基於特徵的和基於精調(fine-tuning)的兩種方法,它們能從文本捕捉到豐富的語言信息,並用於不同的 NLP 任務。2018 年提出的 BERT 可能是最受關注的預訓練語言模型之一,它提出時在各種 NLP 任務中都能獲到當前最優的效果,而且不同的任務只需要簡單地精調就行了。

儘管預訓練語言表徵模型已經獲得了很好的效果,並且在很多 NLP 任務中都可以作為常規模塊,但它卻忽略了將知識信息整合到語言理解中。如下圖 1 所示,如果不知道「Blowin in the Wind」和「Chronicles: Volume One」分別是歌曲與書籍,那麼模型很難識別它們是 Bob Dylan 的兩個工作。即在實體類型任務中,模型識別不出 Bob Dylan 同時是歌曲作家和書籍作者。

圖 1:為語言理解嵌入外部知識的示例。其中實線表示已存在的知識事實,紅色虛線表示從紅色句子中抽取的事實,藍色虛線表示從藍色句子抽取的事實。

對於現有的預訓練語言表徵模型,上面例子的兩句話在句法上是有歧義的,例如可以理解為「UNK wrote UNK in UNK」。因此使用豐富的知識信息能構建更好的語言理解模型,也有益於各種知識驅動的應用,例如實體類型和關係分類等。

但如果要將外部知識組合到語言表徵模型中,我們又會遇到兩大主要挑戰:

  • 結構化的知識編碼:對於給定的文本,如何高效地抽取並編碼對應的知識圖譜事實是非常重要的,這些 KG 事實需要能用於語言表徵模型。
  • 異質信息融合:語言表徵的預訓練過程和知識表徵過程有很大的不同,它們會產生兩個獨立的向量空間。因此,如何設計一個特殊的預訓練目標,以融合辭彙、句法和知識信息就顯得非常重要了。

這是一個「有文化」的預訓練語言模型

為了克服上面提到的這些挑戰,清華大學等研究者提出一種名為「通過多信息實體增強語言表徵(ERNIE)」的模型。重要的是,ERNIE 能同時在大規模文本語料庫和知識圖譜上預訓練語言模型。總體而言,ERNIE 分為抽取知識信息與訓練語言模型兩大步驟,下面將簡述 ERNIE 到底是怎樣構建的。

1) 對於抽取並編碼的知識信息,研究者首先識別文本中的命名實體,然後將這些提到的實體與知識圖譜中的實體進行匹配。

研究者並不直接使用 KG 中基於圖的事實,相反他們通過知識嵌入演算法(例如 TransE)編碼 KG 的圖結構,並將多信息實體嵌入作為 ERNIE 的輸入。基於文本和知識圖譜的對齊,ERNIE 將知識模塊的實體表徵整合到語義模塊的隱藏層中。

2) 與 BERT 類似,研究者採用了帶 Mask 的語言模型,以及預測下一句文本作為預訓練目標。除此之外,為了更好地融合文本和知識特徵,研究者設計了一種新型預訓練目標,即隨機 Mask 掉一些對齊了輸入文本的命名實體,並要求模型從知識圖譜中選擇合適的實體以完成對齊。

現存的預訓練語言表徵模型只利用局部上下文預測 Token,但 ERNIE 的新目標要求模型同時聚合上下文和知識事實的信息,並同時預測 Token 和實體,從而構建一種知識化的語言表徵模型。

最後,研究者針對兩種知識驅動型 NLP 任務進行了實驗,即實體分型(entity typing)和關係分類。實驗結果表明,ERNIE 在知識驅動型任務中效果顯著超過當前最佳的 BERT,因此 ERNIE 能完整利用辭彙、句法和知識信息的優勢。研究者同時在其它一般 NLP 任務中測試 ERNIE,並發現它能獲得與 BERT 相媲美的性能。

模型架構

如圖 2 所示,ERNIE 的整個模型架構由兩個堆疊的模塊構成:(1)底層的文本編碼器(T-Encoder),負責獲取輸入 token 的詞法和句法信息;(2)上層的知識型編碼器(K-Encoder),負責將額外的面向 token 的知識信息整合進來自底層的文本信息,這樣我們就可以在一個統一的特徵空間中表徵 token 和實體的異構信息了。我們用 N 表示 T-Encoder 的層數,用 M 表示 K-Encoder 的層數。

圖 2:左部分是 ERNIE 的架構。右部分是用於 token 和實體的互相融合的聚合器。信息融合層的輸入有兩類:一是 token 嵌入,二是 token 嵌入和實體嵌入連接起來的結果。信息融合完成後,它會為下一層輸出新的 token 嵌入和實體嵌入。

針對具體任務進行精調

圖 3:針對具體任務修改輸入句子。為了對齊不同類型輸入的 token,這裡使用了點線構成的矩形作為佔位符。彩色矩形表示具體的標記(mark)token。

如圖 3 所示,對於不同類型的常見 NLP 任務,ERNIE 可以採用類似於 BERT 的精調過程。研究者提出可將第一個 token 的最終輸出嵌入(其對應於特有的 [CLS] token)用作特定任務的輸入序列的表徵。針對某些知識驅動型任務(比如關係分類和實體分型),可以設計出針對性的精調過程:

關係分類任務需要系統基於上下文分類給定實體對的關係標籤。要針對關係分類任務精調 ERNIE,最直接的方法是將池化層應用於給定實體提及的最終輸出嵌入,並將它們的提及嵌入的連接結果用於表徵給定的實體對,以便進行分類。

這篇論文設計了另一種方法,即通過添加兩個標記(mark)token 來凸顯實體提及,從而修改輸入 token 序列。這些額外的標記 token 的作用類似於傳統的關係分類模型(Zeng et al., 2015)中的位置嵌入。然後,也取其 [CLS] token 嵌入以便分類。注意,研究者分別為頭部實體和尾部實體設計了不同的 token [HD] 和 [TL]。

針對實體分型的特定精調過程是關係分類的一種簡化版本。因為之前的分型模型對上下文嵌入和實體提及嵌入都進行了充分的利用 (Shimaoka et al., 2016),所以研究者認為經過提及標記 token [ENT] 修改過的輸入序列可以引導 ERNIE 關注將上下文信息與實體提及信息兩者結合起來。

實驗

這一節將介紹預訓練 ERNIE 的細節以及在五個 NLP 數據集上的精調結果,其中既有知識驅動型任務,也有常見的 NLP 任務。

實體分型

下表給出了實體分型數據集 FIGER 和 Open Entity 的統計情況。

下表是不同模型在 FIGER 數據集上的結果。FIGER 是一個使用廣泛的遠監督實體分型數據集。

根據這些結果可以得知:(1)BERT 在 macro 和 micro 指標上的結果與 NFGEC 相當。但是,BERT 在準確度(Acc.)方面遜於最佳的 NFGEC 模型。因為嚴格準確度(strict accuracy)是指預測結果等同於人類標註的實例的比例,所以 BERT 強大的擬合能力能使其學習到一些來自遠監督(distant supervision)的錯誤標籤。(2)相比於 BERT,ERNIE 在嚴格準確度上提升顯著,這說明外部知識能為 ERNIE 設置規範,能使其避免擬合有雜訊標籤,從而助益實體分型。

下表給出了不同模型在 Open Entity 數據集上的結果。

從上表可以觀察到:(1)BERT 和 ERNIE 能實現比之前的實體分型模型更高的召回率(R),這意味著為了實現更好的實體分型,預訓練語言模型能夠同時充分地利用無監督預訓練和人工標註的訓練數據。(2)ERNIE 在精度(P)和召回率方面都比 BERT 高 2% 左右,這意味著有信息的實體有助於 ERNIE 更精確地預測標籤。

總結一下,ERNIE 能通過注入知識圖譜的信息而有效降低 FIGER 中有雜訊標籤的難度。此外,在有優質標註的 Open Entity 數據集上,ERNIE 也優於基線水平。

關係分類

下表給出了關係分類數據集 FewRel 和 TACRED 的統計情況。

下表給出了不同模型在 FewRel 和 TACRED 上的結果。

從上表中可以看到:(1)因為訓練數據沒有足夠的實例來從頭開始訓練 CNN 編碼器,所以 CNN 的 F1 分數僅有 69.35%。然而,BERT 和 ERNIE 這兩個預訓練模型的 F1 分數至少高出 15%。(2)ERNIE 的 F1 分數比 BERT 的高 3.4%,優勢明顯,這說明融合外部知識非常有效。

總而言之,研究發現,相比於單純的編碼器 CNN 和 RNN,預訓練後的語言模型能為關係分類提供更多信息。ERNIE 在實驗所用的兩個關係分類數據集上都優於 BERT,而且尤其值得一提的是 FewRel 有遠遠更小的訓練集。這表明額外的知識有助於模型充分利用小規模訓練數據,這對於大多數 NLP 任務而言都很重要,因為大規模有標註數據並不容易獲得。

GLUE

下表給出了研究者提交的 ERNIE 的結果與 GLUE 排行榜中 BERT 的結果。

BERT 和 ERNIE 在 GLUE 的不同任務上的結果

可以看到,ERNIE 在 MNLI、QQP、QNLI、SST-2 這些大型數據集上與 BERT_BASE 結果一致。而在小型數據集上的結果則不很穩定:ERNIE 在 CoLA 和 RTE 上優於 BERT,在 STS-B 和 MRPC 上則更差。總體來看,ERNIE 在 GLUE 上與 BERT_BASE 結果相當。

模型簡化測試

下表給出了在 FewRel 上的模型簡化測試結果。

在 FewRel 上的模型簡化測試結果。w/o entities 和 w/o dEA 分別表示「無實體序列輸入」和「無去噪實體自動編碼器」。

從上表可以看到:(1)就算沒有實體序列輸入,dEA 仍然可在預訓練階段將知識信息注入語言表徵,這仍能在 F1 分數上優於 BERT 0.9%。(2)儘管有信息的實體能夠引入大量直觀上看有助於關係分類的知識信息,但沒有 dEA 的 ERNIE 只能略微利用這些信息,從而將 F1 分數提升 0.7%。

總結

這篇論文提出了 ERNIE,可將知識信息整合進語言表徵模型中。為了更好地融合來自文本和知識圖譜的異構信息,這篇論文還提出了知識型聚合器和預訓練任務 dEA。實驗結果表明,ERNIE 在去除遠監督的數據的雜訊和在有限數據上精調方面的能力都勝過 BERT。研究者認為還有三個有待未來研究的重要方向:

  1. 將知識注入 ELMo 等基於特徵的預訓練模型;
  2. 將形式各異的結構化知識引入 ConceptNet 等語言表徵模型,其不同於世界知識資料庫 Wikidata;
  3. 為更大規模的預訓練數據啟發式地標註更多真實世界語料。


推薦閱讀:

相關文章