天天看點

transformer論文解讀_K-BERT論文解讀

一、前言

這篇文章将bert同knowledge graph(KG) 結合在一起。一解決了Heterogeneous embedding space問題(KG的實體向量與word embedding 不連續的問題。)解決了knowledge Noise知識噪音.

北大的團隊一直有做KG的,上次在EMNLP中看到的一個大學生還是碩士?就是做了一個KG局部更新方法,使得KG能夠更快速的更新知識。這次的這篇論文就把BERT跟KG結合在一起了。

二、相關工作

論文中介紹了一下BERT, ERNIE, BERT-WWM, RoBERTa, XLNet 等耳熟能詳的pretrained方法。值得一看的是這篇:

THU-ERNIE (Zhang et al. 2019) modified the encoder of BERT to an aggregator for the mutual integration of word and entities.

上述文章裡在KG與BERT的方向上做了一個pioneer, 但是沒有把實體之間的關系,也就是KG的邊包含進來。還有一個在這個方向上的嘗試是:

COMET (Bosselut et al. 2019) employed the triples in KG as corpus to train GPT (Radford et al. 2018) for common sense learning, which is very inefficient。

KG跟word embedding的結合實際上有很多種方法。從2014年起就有很多偏論文在做這方面的工作了。Wang et al. (2014)把 KG跟embedding的資訊參考W2v的ideal映射到兩個方向上去。剩下的不列舉。作者指出,這些方法實際上都是有問題的,因為他們都遵循同一種思路:“word2vec + transE”, THU-ERNIE其實也是這樣,就是把兩個embedding 拼在一起。

三、方法

介紹方法前, 有一下幾個定義。

定義句子:

transformer論文解讀_K-BERT論文解讀

image.png

這裡w就是漢字。且

transformer論文解讀_K-BERT論文解讀

image.png

V這裡是指vocabulary 也就是單詞。KG,這裡由K進行表示,對于一個三元組ε ∈ K,

transformer論文解讀_K-BERT論文解讀

image.png

wi 和wk是實體的名字,rj ∈ V 就是兩個實體之間的關系。

好了,K-BERT咋做的呢,如下圖:

transformer論文解讀_K-BERT論文解讀

圖1

一共有knowledge layer, embedding layer, seeing layer and mask-transformer共四個模型

1. knowledge layer:

這個部分就是輸入一個sentence, 得到一個sentence tree。

transformer論文解讀_K-BERT論文解讀

圖2

比如,我輸入一個

Tim Cook is currently visiting Beijing now

那我會得到以下的Tree,這時候上面的紅色的标記還沒有:

transformer論文解讀_K-BERT論文解讀

圖3

這個tree會轉化為兩個東西,一個是visible矩陣,一個是embedding Representation. visalbe矩陣給Seeing layer, embedding representation給embedding層。

2.Embedding layer

這裡k-bert跟bert的embedding基本一緻,他們這裡把bert用的postion embedding擴充了。 有一個soft 和 hard position。這樣model就能夠在一定程度上識别sentence tree的結構了。

3.Seeing layer

這個是本篇文章的重點,核心ideal。大家注意看那個Tree. 如果這個tree新長出來的枝條太茂密,就有可能沖淡主幹本來的意思,這也就是Knowlage noise的問題。visable矩陣跟這個seeing layer就是用來解決這個問題的。下圖中,每個word隻能看到同一個branch上的詞。比如position index=3的 CEO這個詞, 其實也就隻能看到1234.

transformer論文解讀_K-BERT論文解讀

image.png

4.Mask-Transformer

這個Seeing layer 就會用來控制後續的這個masked attention layer. 如下圖所見,這也就解決了KN問題。

transformer論文解讀_K-BERT論文解讀

image.png

三、實驗部分

這部分沒細看,總體來說,作者拿了很多資料庫來跑這個實驗,效果很好,很香。不得不說,北大還是有錢做實驗的。

transformer論文解讀_K-BERT論文解讀

image.png

這裡的Ablation studies 值得注意:

這裡他做了一個有效性驗證。就是embedding層的兩個position encoding.驗證了有效性。