天然語言表徵模型最近受到很是多的關注,不少研究者將其視爲 NLP 最重要的研究方向之一。例如在大規模語料庫上預訓練的 BERT,它能夠從純文本中很好地捕捉豐富的語義模式,通過微調後能夠持續改善不一樣 NLP 任務的性能。所以,咱們獲取 BERT 隱藏層表徵後,可用於提高本身任務的性能。git
可是,已有的預訓練語言模型不多考慮知識信息,具體而言即知識圖譜(knowledge graphs,KG),知識圖譜可以提供豐富的結構化知識事實,以便進行更好的知識理解。簡而言之,預訓練語言模型只知道語言相關的「合理性」,它並不知道語言到底描述了什麼,裏面是否是有什麼特殊的東西。github
來自清華大學的張正彥、韓旭、劉知遠、孫茂松和來自華爲諾亞方舟實驗室的蔣欣、劉羣最近發佈了一項研究,他們認爲知識圖譜中的多信息實體(informative entity)能夠做爲外部知識改善語言表徵。算法
該研究結合大規模語料庫和知識圖譜訓練出加強版的語言表徵模型 (ERNIE),該模型能夠同時充分利用詞彙、句法和知識信息。實驗結果代表 ERNIE 在多個知識驅動型任務上取得了極大改進,在其餘 NLP 任務上的性能能夠媲美當前最優的 BERT 模型。數據庫
論文:ERNIE: Enhanced Language Representation with Informative Entities架構
預訓練語言模型怎麼了?併發
預訓練語言表徵模型包括基於特徵的和基於精調(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」。所以使用豐富的知識信息能構建更好的語言理解模型,也有益於各類知識驅動的應用,例如實體類型和關係分類等。編碼
但若是要將外部知識組合到語言表徵模型中,咱們又會遇到兩大主要挑戰:
這是一個「有文化」的預訓練語言模型
爲了克服上面提到的這些挑戰,清華大學等研究者提出一種名爲「經過多信息實體加強語言表徵(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。研究者認爲還有三個有待將來研究的重要方向: