? 發(fā)表:AAAI 2020 CCF-A
? 引用:Liu W, Zhou P, Zhao Z, et al. K-bert: Enabling language representation with knowledge graph[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(03): 2901-2908.
? 論文地址:https://arxiv.org/pdf/1909.07606.pdf
1 背景與問題
1.1 背景
BERT (Devlin et al. 2018) 等無監(jiān)督預(yù)訓(xùn)練語言表示 (LR) 模型在多個(gè) NLP 任務(wù)中取得了可喜的成果合敦。這些模型在大規(guī)模開放域語料庫上進(jìn)行了預(yù)訓(xùn)練,以獲得通用語言表示,然后在特定的下游任務(wù)中進(jìn)行微調(diào)以吸收特定領(lǐng)域知識(shí)。然而,由于預(yù)訓(xùn)練和微調(diào)之間的域差異哲泊,這些模型在知識(shí)驅(qū)動(dòng)的任務(wù)上表現(xiàn)不佳。例如,在維基百科上預(yù)訓(xùn)練的 Google BERT 在處理醫(yī)學(xué)領(lǐng)域的電子醫(yī)療記錄 (EMR) 分析任務(wù)時(shí)無法充分發(fā)揮其價(jià)值旅挤。
在從特定領(lǐng)域閱讀文本時(shí),普通人只能根據(jù)其上下文理解單詞伞鲫,而專家能夠推理相關(guān)的領(lǐng)域知識(shí)粘茄。
1.2 問題解決思路
方法:預(yù)訓(xùn)練一個(gè)強(qiáng)調(diào)自己特定領(lǐng)域的模型,而不是使用公開可用的模型。
缺點(diǎn):預(yù)訓(xùn)練耗時(shí)且計(jì)算成本高柒瓣、知識(shí)獲取過程可能效率低下且昂貴儒搭。例如,if we want the model to acquire the knowledge of "Paracetamol can treat cold", a large number of cooccurrences of "Paracetamol" and "cold" are required in the pre-training corpus.
故用另外的方法:本體的知識(shí)圖譜(KG)
優(yōu)點(diǎn):將KG 可以集成到 LR 模型中芙贫,它將為模型配備領(lǐng)域知識(shí)搂鲫、提高模型在特定領(lǐng)域任務(wù)上的性能、大規(guī)模降低預(yù)訓(xùn)練成本磺平、生成的模型具有更大的可解釋性默穴。
1.3 挑戰(zhàn)
- Heterogeneous Embedding Space (HES): 一般來說,文本和KG中的實(shí)體中單詞的嵌入向量是分開獲得的褪秀,使得它們的向量空間不一致蓄诽;
- Knowledge Noise (KN): 過多的知識(shí)合并可能會(huì)將句子從正確的含義轉(zhuǎn)移。
1.4 應(yīng)對挑戰(zhàn)的解決方法
本文提出 Knowledge-enabledBidirectional Encoder Representation from Transformers (K-BERT)媒吗。K-BERT 能夠加載任何預(yù)訓(xùn)練的 BERT 模型仑氛,因?yàn)樗鼈冊趨?shù)上是相同的。此外闸英,K-BERT 可以通過加入 KG 而無需預(yù)訓(xùn)練輕松地將領(lǐng)域知識(shí)注入到模型中锯岖。
2 相關(guān)研究
預(yù)訓(xùn)練工作有:
全詞掩蔽( wholeword masking):Baidu-ERNIE (Sun et al. 2019) 、BERT-WWM (Cui et al. 2019)
SpanBERT甫何、RoBERTa出吹、XLNet、THU-ERNIE
COMET (Bosselut et al. 2019) 使用 KG 中的三元組作為語料庫來訓(xùn)練 GPT (Radford et al. 2018) 進(jìn)行常識(shí)學(xué)習(xí)辙喂、
Wang et al. (2014) 提出將實(shí)體和詞聯(lián)合嵌入到同一個(gè)連續(xù)向量空間中的新方法(Mikolov et al. 2013)捶牢、
Han、Liu 和 Sun (2016) 應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)和 KG 完成任務(wù)來聯(lián)合學(xué)習(xí)文本和知識(shí)的表示巍耗。
以上均是基于"word2vec + transE"的方法秋麸,但仍有 HES 問題,且對于具有數(shù)百萬個(gè)實(shí)體的 KG炬太,超過了 GPU 的內(nèi)存大小灸蟆。
3 方法
如圖 1 所示的模型架構(gòu)由四個(gè)模塊組成,knowledge layer, embedding layer, seeing layer and mask-transformer亲族。
3.1 Knowledge layer
知識(shí)層(KL)用于句子知識(shí)注入和句子樹轉(zhuǎn)換。
分為兩個(gè)步驟:
S1:知識(shí)查詢(K-Query)
在 K-Query 中缘滥,選擇句子中涉及的所有實(shí)體名稱來從 K 查詢它們對應(yīng)的三元組轰胁。
S2:知識(shí)注入(K-Inject)
3.2 Embedding layer
將句子樹轉(zhuǎn)換為可以輸入 Mask-Transformer 的嵌入表示。K-BERT 的嵌入表示是三個(gè)部分的總和:token embedding, position embedding, and segment embedding搂捧,但不同之處在于 K-BERT 嵌入層的輸入是一個(gè)句子樹驮俗,而不是一個(gè)標(biāo)記序列。
** 3.2.1 Token embedding**
token embedding與 BERT 一致允跑,本文采用 Google BERT 提供的詞匯表王凑。
如圖 2 所示的示例,句子樹重新排列為“Tim Cook CEO Apple is visiting Beijing capital China is a City now”聋丝。盡管此過程很簡單索烹,但它使句子不可讀并丟失正確的結(jié)構(gòu)信息。幸運(yùn)的是弱睦,這可以通過 soft-position 和 visible matrix來解決百姓。
** 3.2.2 Soft-position embedding**
對于 BERT,如果沒有位置嵌入况木,它將相當(dāng)于詞袋模型垒拢,導(dǎo)致缺乏結(jié)構(gòu)信息(即標(biāo)記的順序)。BERT 輸入句子的所有結(jié)構(gòu)信息都包含在位置嵌入中焦读,這使我們能夠?qū)⑷笔У慕Y(jié)構(gòu)信息添加回不可讀的重新排列句子子库。以圖 2 中的句子樹為例舱权,在重新排列后矗晃,[CEO] and [Apple] are inserted between [Cook]and [is], but the subject of [is] should be [Cook] instead of[Apple].
為了解決這個(gè)問題,我們只需要將[is]的位置數(shù)設(shè)置為3而不是5宴倍。[is] 和 [CEO] 的位置數(shù)字都是 3张症,這使得它們在計(jì)算自我注意時(shí)處于位置,但實(shí)際上它們之間沒有聯(lián)系鸵贬。該問題的解決方案是 Mask-Self-Attention俗他,將在下一小節(jié)中介紹。
** 3.2.3 Segment embedding**
與 BERT 一樣阔逼,K-BERT 在包含多個(gè)句子時(shí)也使用分割嵌入來識(shí)別不同的句子兆衅。例如,當(dāng)兩個(gè)句子 {w00, w01,..., w0n} 和 {w10, w11,..., w1m} 被輸入,它們組合成一個(gè)句子{[CLS], w00, w01,..., w0n, [SEP], w10, w11,..., w1m} 與[SEP]羡亩。對于組合句子摩疑,它標(biāo)有一系列段標(biāo)簽 {A, A, A, A, A, A, A。.., A, B, B, B,畏铆。.., B}雷袋。
3.3 Seeing layer
K-BERT 的輸入是一個(gè)句子樹,其中分支是從 KG 獲得的知識(shí)辞居。
知識(shí)帶來的風(fēng)險(xiǎn)是它可以導(dǎo)致原始句子含義的變化楷怒,即KN問題。
例如瓦灶,在圖 2 中鸠删,[China] only modifies [Beijing] and has nothing to do with [Apple]。
為此贼陶,K-BERT 使用 visible matrix M 來限制每個(gè)標(biāo)記的可見區(qū)域冶共,以便 [Apple] 和 [China]、[CLS] 和 [Apple] 彼此不可見每界。
3.4 Mask-Transformer
BERT 中的 Transformer (Vaswani et al. 2017) 編碼器無法接收 Mas 作為輸入捅僵,因此我們需要將其修改為 Mask-Transformer,它可以根據(jù) M 限制自注意力區(qū)域眨层。Mask-Transformer 是多個(gè)掩碼自注意力塊的堆棧庙楚。
** 3.4.1 Mask-Self-Attention**
為了利用M中的句子結(jié)構(gòu)信息來防止錯(cuò)誤的語義變化,我們提出了一種掩碼自注意力趴樱,它是self-attention的擴(kuò)展馒闷。
如圖 4 所示,hi[Apple] has no effect on hi+1 [CLS], because [Apple] is invisible to [CLS]. However, hi+1 [CLS] can obtain the information of hi?1 [Apple] indirectly through hi+1 [Cook], because [Apple] is visible to [Cook] and[Cook] is visible to [CLS].
4 實(shí)驗(yàn)
12 個(gè)中文NLP任務(wù),其中 8 個(gè)開放域捺疼、4 個(gè)具體域疏虫。
Pre-training corpora
two Chinese corpora for pre-training,:
- WikiZh2 中文維基百科語料庫
- WebtextZh3. 大規(guī)模、高質(zhì)量的中文問題和答案 (Q&A) 語料庫
Knowledge graph
利用三個(gè)中文知識(shí)圖譜:
CN-DBpedia 大規(guī)模開放域百科全書 KG
HowNet 中文詞匯和概念的大規(guī)模語言知識(shí)庫
MedicalKG 中國醫(yī)學(xué)概念KG
Baselines
? Google BERT
? Our BERT
Open-domain tasks
開放域任務(wù)在本文中啤呼,我們首先將 KBERT 與 BERT 在八個(gè)中文開放域 NLP 任務(wù)上的性能進(jìn)行比較卧秘。在這八個(gè)任務(wù)中,Book review官扣、Chnsenticorp翅敌、Shopping 和 Weibo 是單句分類任務(wù),實(shí)驗(yàn)結(jié)果如表 1 和表 2 所示惕蹄。
Specific-domain tasks
從表 3 中的醫(yī)學(xué) NER 可以觀察到蚯涮,使用 MedicalKG 的性能改進(jìn)非常明顯治专。可以看出遭顶,domain KG 對特定領(lǐng)域的任務(wù)非常有幫助看靠。
Ablation studies
如圖 5 所示嗦哆,有如下觀察結(jié)果:
- 在這兩個(gè)任務(wù)中谤祖,沒有軟位置或可見矩陣,K-BERT 的性能下降老速;
- 在 Law Q&A(圖 5(a))中粥喜,沒有可見矩陣的 K-BERT 比 BERT 差,這證實(shí)了 KN 的存在橘券,即不適當(dāng)添加的知識(shí)會(huì)導(dǎo)致性能下降额湘;
- 在圖 5(a) 中,K-BERT 在 epoch 2 處達(dá)到峰值旁舰,而 BERT 在 epoch 4 時(shí)锋华,這證明了 K-BERT 的收斂速度比 BERT 快。
一般來說箭窜,我們可以得出結(jié)論毯焕,軟位置和可見矩陣可以使K-BERT對KN干擾具有更強(qiáng)的魯棒性,從而更有效地利用知識(shí)磺樱。
5 貢獻(xiàn)
本文提出了一種知識(shí)支持的 LR 模型纳猫,即 K-BERT,它與 BERT 兼容竹捉,可以在沒有 HES 和 KN 問題的情況下合并領(lǐng)域知識(shí)芜辕; 通過精細(xì)注入 KG,K-BERT 不僅在特定領(lǐng)域的任務(wù)上顯著優(yōu)于 BERT块差,而且在開放域中也大大優(yōu)于 BERT侵续。