NLP預訓練模型需要非常大的參數量以及非常多的語料信息,這些都是希望能盡可能多的記住文本中的知識,以此提升下游任務效果。相比而言,直接從數據庫、知識圖譜、搜索引擎等引入外部知識進行知識增強,是一種更直接、節省資源的方法。知識增強也是NLP未來的重要發展方向,由于在NLU這種需要理解、常識性知識的領域,知識增強更加重要。
ACL 2022的一篇Tutorial:Knowledge-Augmented Methods for Natural Language Understanding,對知識增強在NLU中的方法進行了詳細匯總。本文整理了這篇Tutorial中重點介紹知識增強模型的10篇工作,包括基于Entity-Linking的方法以及基于Retreval的方法兩大類。
Entity-Linking based methodsERNIE: Enhanced Language Representation with Informative Entities(ACL 2019)
ERNIE利用知識圖譜中的實體信息給BERT模型引入外部知識,提升預訓練語言模型效果。模型主要包括Text-Encoder和Knowledge-Encoder兩個部分。在輸入部分,除了原始的文本維度embedding,還會引入實體embedding,實體embedding利用TrasE算法基于知識圖譜進行預訓練。Text-Encoder和BERT相同,對原始的文本輸入進行處理生成文本表示。Knowledge-Encoder將文本和對應位置的entity表示進行融合,得到實體知識增強的表示。Knowledge-Encoder的整個計算過程如下圖,首先利用兩個獨立的multi-head attention生成文本word embedding和entity embedding,再將實體和對應位置的文本進行對齊,輸入到融合層,再通過融合層生成新的word embedding和entity embedding,這樣循環多層得到最終結果。
在預訓練階段,ERNIE增加了一個entity denoising的任務:mask掉或者隨機打亂某些word和entity之間的對齊關系,讓模型去預測。這種預訓練任務起到了將實體知識融入到語言模型中的作用。
KEAR: Augmenting Self-Attention with External Attention(IJCAI 2022)
為了讓Transformer存儲更多的知識來提升下游任務效果,一般都會采用更大的模型尺寸、更多的訓練數據。而KEAR提出引入外部知識的方法,這樣即使在中等尺寸的Transformer上也能由于這些外部知識增益帶來顯著效果提升。
本文主要關注QA任務,給定一個問題和一組答案,從中選擇正確答案。模型的結構比較簡單,將輸入的文本,以及從各種外部知識庫中檢索到和原始輸入相關的知識信息,都以文本的形式拼接到一起,輸入到Transformer中。
外部知識主要來源于三個渠道,第一個渠道是知識圖譜,從問題和答案中提取entity,然后從ConcepNet中提取包含對應entity的三元組;第二個渠道是從字典中檢索相應實體的描述性定義,來彌補模型對于低頻詞的embedding可能學的不好的情況;第三個渠道是從訓練數據中檢索和當前輸入相關的信息作為補充,緩解模型由于對某些訓練數據中的信息記憶不全導致的信息缺失。
Entities as Experts: Sparse Memory Access with Entity Supervision(2020,EaE)
這篇文章在Transformer模型中引入了一個Entity Memory Layer組件,用來從已經訓練好的entity embedding memory中引入和輸入相關的外部知識。Entity Memory Layer模塊可以非常靈活的嵌套在Transformer等序列模型中。
具體做法為,首先要有一個已經訓練好的entity embedding存儲起來。在Transformer的一層輸出結果后,對于輸入文本中的每個entity mention,使用這個entity span的起始位置和終止位置的embedding拼接+全連接得到一個虛擬的entity embedding。利用這個虛擬的entity embedding去entity embedding memory中,利用內積檢索出最相關的top K個實體的embedding,最后加權融合,得到這個entity對應的實體表示,公式如下。這個表示會和Transformer上層輸入融合,作為下一層的輸入。
預訓練任務除了MLM外,還包括Mention Detection和Entity Linking兩個優化任務。其中,Mention Detection用來預測每個實體的start和end,采用BIO classification的方式;而Entity Limking任務主要為了拉近Transformer生成的虛擬entity embedding和其對應的entity embedding memory的距離。
FILM: Adaptable and Interpretable Neural Memory Over Symbolic Knowledge(NAACL 2021)
FILM在上一篇文章中的entity embedding memory基礎上,引入了Fact Memory模塊,entity embedding layer部分的實現和EaE中相同。
Fact Memory模塊和Entity Memory使用的是相同的embedding。Fact Memory模塊由Keys和Values兩個部分組成,Keys對應的是知識圖譜中的subject和relation,而Values是同一個subject和relation下的所有object的集合。使用subject和relation的表示拼接轉換得到每個Keys的embedding表示。當需要預測輸入文本被mask部分的答案時,使用Transformer在mask位置生成的embedding作為query,在Fact Memory中和各個Keys的embedding做內積,檢索相關的object。這些檢索出的object信息的embedding會和被mask部分的embedding融合,用于進行答案的預測。
下圖是一個例子,被mask部分的embedding包含了句子中的關鍵信息,利用該embedding在fact memory中可以實現相關信息的檢索,對于QA有比較大的幫助。
K-BERT: Enabling Language Representation with Knowledge Graph(2019)
K-BERT首先將輸入文本的實體識別出來,然后去知識圖譜中搜索和該實體相關的子圖,用這個子圖插入到輸入句子的對應位置,形成一個句子樹。比如下面的圖中,Tim Cook從知識圖譜檢索出是蘋果CEO,就將對應文本插入到Tim Cook后面的位置。
一個核心問題在于,新引入的知識圖譜文本會影響原來輸入句子的語義。另外,文中采用的是將知識圖譜引入的文本直接插入到對應實體后面,其他文本位置對應后移,如何設置position embedding也是個問題。如果直接按照順序設定position embedding,會讓原本距離比較近的單詞之間的position embedding變遠,也會影響原始語義。為了解決這個問題,插入的知識圖譜文本不會影響原來句子各個單詞的posistion編號。同時引入了Visible Matrix,讓原始輸入中和引入的知識信息不相關的文本在計算attention時不可見。通過這種方式,引入的知識信息只會直接影響與其相關的實體的表示生成,不會直接影響原始句子中其他文本的表示生成。引入的知識通過影響對應實體的表示生成,間接影響其他文本的表示生成過程。
2
Retrieval based methodsDense Passage Retrieval for Open-Domain Question Answering(2020)
這篇文章采用的是一種最基礎的基于檢索的QA解決方法。離線訓練一個passage encoder和一個question encoder,目標是讓question和包含其答案的passage的表示的內積最大。訓練過程中的負樣本構造采用了隨機采樣、BM25和question高相關性但不包含答案的passage、訓練樣本中包含答案但不包含當前question答案的passage三種方法。在在線使用時,通過計算question和passage表示內積的方式,檢索出高相關性的passage解析出問題答案。
REALM: Retrieval-Augmented Language Model Pre-Training(2020)
REALM在預訓練語言模型中引入了外部知識檢索模塊,讓模型在進行預測時,不僅能夠根據自身參數保存的信息,也能根據豐富的外部信息給出答案。整個預測過程包括兩個部分:檢索階段和預測階段。檢索階段根據輸入句子從外部知識中檢索相關的文檔;預測階段根據輸入句子以及檢索到的信息進行最終結果的預測。
在檢索階段,跟上一篇文章類似,使用預訓練的兩個BERT的表示計算內積求得輸入和各個文檔的相關性,并進行高相關文檔的檢索。檢索到的文檔和原始輸入拼接到一起,輸入到BERT模型中進行結果預測。
RETRO: Improving language models by retrieving from trillions of tokens(2022)
RETRO相比REALM,采用的是chunks維度的檢索。首先構造一個數據庫,存儲文本chunks以及它們的embedding,embedding是由一個預訓練BERT產出的。接下來在訓練語言模型時,對于每個輸入文本,將其切分成多個chunk,每個chunk利用向量檢索從數據庫中檢索出k個最近鄰chunks。這些被檢索出來的相關chunks會利用attention和原始輸入進行融合,增強原始輸入信息。原始輸入的每個chunk都和該chunk檢索出的chunks以及其鄰居檢索出的chunks進行attention。
WebGPT: Browser-assisted question-answering with human feedback(2022)
WebGPT實現了利用GPT模型使用搜索引擎檢索答案。人們在瀏覽器中搜索的操作可以表述成例如下面的這些文本。預先定義一些下表中的command,訓練GPT模型讓它根據已經進行的搜索操作,生成下一個command。這個過程一直執行到某個終止條件位置(例如生成end command、執行次數超過一定長度)。某些command代表著采用這些文檔作為reference。在執行完所有command后,根據收集到的reference以及問題,生成最終的答案。比如下圖b中就是已經執行的command以及問題等信息,這些信息組成了當前搜索的上下文,以文本形式輸入GPT中,讓模型生成下一個command。
Training Data is More Valuable than You Think: A Simple and Effective Method by Retrieving from Training Data(2022)
這篇文章通過檢索+拼接的方法擴充原始輸入文本的信息,提升多項任務上的效果。整個檢索過程在訓練數據中進行,將訓練數據構造成key-value對。對于輸入樣本,從訓練數據中檢索出高相關性的樣本,作為知識信息拼接到原始輸入中。不同任務會采用不同的檢索對象以及拼接方法,如下圖。
3
總結知識增強方法是解決自然語言理解的核心方法,重點在于研究從哪獲取知識、如何獲取知識以及如何融合知識。使用知識增強的方法可以幫助模型更直接獲取預測需要用到的外部知識,也能緩解需要越來越大的預訓練模型提升下游任務效果的問題。知識增強+預訓練語言模型起到互補的作用,知識增強方法可以給模型提供預訓練階段沒見過或者忘記的信息,提升預測效果。
原文標題:ACL 2022 Tutorial解析——知識增強自然語言理解
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
-
模型
+關注
關注
1文章
3384瀏覽量
49337 -
nlp
+關注
關注
1文章
489瀏覽量
22131 -
知識圖譜
+關注
關注
2文章
132瀏覽量
7754
原文標題:ACL 2022 Tutorial解析——知識增強自然語言理解
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
焊接技術流程優化方法
焊接方法對焊接質量的影響
C語言生成可執行二進制文件的具體過程

如何將布局受限的從屬entity應用到另一個項目

nlp自然語言處理的主要任務及技術方法
ESP32S2 ADF的例子編譯后鏈接失敗了是怎么回事?
鴻蒙開發接口Ability框架:【@ohos.ability.wantConstant (wantConstant)】

Go語言中的函數、方法與接口詳解
stm32cubemx生成電機庫5.33,啟用了RTOS會報錯的原因?
《深入理解FFmpeg閱讀體驗》FFmpeg攝像頭測試
【米爾-芯馳D9360商顯板試用評測】USB攝像頭測試
以太網中MDIO協議工作原理與應用

評論