論文筆記《Knowledge Enhanced Contextual Word Representations》

Motivition

作者的出發點有幾個:

  1. 儘管BERT這種預訓練模型取得了state-of-art的成績。但是、因爲他們沒有包含真實世界的實體,所以導致這些模型也很難覆蓋真實世界的知識
    沒有實體沒有知識怎麼辦呢?Knowledge bases、知識庫有。
  2. 知識庫不僅擁有豐富的高質量、人類產生的知識,而且他們包含與原始文本中互補的信息,還能夠編碼事實性的知識。所以用知識庫可以解決因不頻繁出現但是常識的mention或者長距離依賴造成的難以學習選擇偏好的問題

一些解釋

  1. 實體(Entity):知識庫中完整定義的,唯一存在的條目,每一個實體都可以看作是指代它的名詞短語或代詞構成的集合
    例:(巴拉克-奧巴馬={美國總統,奧巴馬,第44任美國總統,他})。
  2. 指稱(mention):實體在自然語言文本中的別名或另一種指代形式。
    例:美國總統(名詞詞組)、奧巴馬(命名實體)、第44任美國總統、他(代詞)等。
  3. 選擇偏好(Selectional Preference):動詞的傾向性。謂語(Predicate)對其論元(Argument)是有一定選擇傾向性的,不是什麼詞語都可以通過簡單排列組合進行搭配的。[百度百科]

KnowBert

KAR

關鍵思想

關鍵思想:在輸入文本中顯式建模實體跨度(Entity spans),並使用實體鏈接器(Entity Linker)從KB中檢測mention、檢索相關的實體嵌入(Entity embeddings),以形成知識增強的實體跨度表示形式。然後使用word-to-entity attention將單詞的表示重新上下文化,以攜帶全部的實體信息。

優點

  1. 不針對特定任務,可以fine-tune
  2. 輕量,增加了少量的參數和運行時間
  3. 便於融合其他KB

方法

1、他人工作:從KB中檢測mention、檢索相關的實體嵌入(Entity embeddings)

輸入:文本
輸出:候選實體列表CC與之對應的先驗概率
例: Prince sang Purple Rain, she …
[Prince] sang [Purple [Rain]],[she]…

在這裏插入圖片描述
檢測mention的方法是2017年的共指消解文章中提及的方法,這裏就不展開介紹了,作者也是拿來直接用。2017年的文章做了這兩個事情,1、mention檢測。2、共指消解。舉個例子,輸入文本Prince sang Purple Rain, she …,通過mention檢測可以獲得[Prince] sang [Purple [Rain]],[she],這幾個mention,然而這句話當中,Prince和she共同指代同一個實體,那在傳統的embedding方式中這個Prince和she的編碼可能不太一致,共指消解的目的就是消除這樣的不一致。
至於檢索相關的實體,作者使用的是基於規則的方式,也是前人的工作。
Entity embeddings呢,對於不同的數據庫作者的做法不完全一致,作者使用三類數據庫中的知識,對於圖結構的數據庫,作者使用了2019年知識圖譜embedding的最新工作獲得實體嵌入,對於僅有實體元數據的數據庫,作者在實驗部分介紹到他們使用doc2vec的方式直接從Wikipedia描述中學習Wikipedia頁面標題的300維嵌入。兩種融合在一起的數據庫作者也介紹了他們使用的方法。
總之,在本文中,輸入一段文本,作者可以檢測其中的mention,檢索獲得對應的Entity Embedding列表,同時也獲得實體對應的先驗概率。這些是不參與訓練的。

KAR

在這裏插入圖片描述
KAR插入在BERT層間,HiH_i是整個KAR的輸入,是BERT的層間的隱狀態。

  1. 第一步爲了與Entity Embedding維度一致,對HiH_i做了一個線性投影,得到了HiprojectH_i^{project}
    在這裏插入圖片描述
  2. 第二步作者使用之前提到過的共指消解的方法,檢測到Prince、Purple Rain和Rain這三個mention,並進行了消解,得到了消解後的編碼SS。這個SS是mention跨度的表示。
  3. 第三步,作者通過一個多頭self attention,使得mention可以獲得全局信息,進而影響到後續的鏈接決策中,這一步得到了SeS^e
    在這裏插入圖片描述
  4. 第四步,也就是之前提到的Entity Linker,作者希望通過訓練得到一個可以將mention正確連接到對應實體embedding的連接器。首先、他將每個mention對應的候選實體列表中的實體embedding依次打分。打分的方式是這個公式
    在這裏插入圖片描述
    如果我們有ground truth,也就是這個mention所應該真正對應的實體,那麼我們就可以對連接器進行訓練。
    Loss使用的是這兩個當中的之一:
    在這裏插入圖片描述
    在這裏插入圖片描述
    都是希望groundtruth對應的打分應該高。Max-margin loss還希望除了groundtruth的其他打分應該比較低。
    在回到我們的第四步,作者將mention對應的打分列表作爲了權重,加權實體embedding求和和得到了eme^m
  5. 第五步就是將smes_m^ee~m\widetilde{e}^m做一個相加,得到sme{s'}_m^e。整體上就是Se{S'}^e,這也就是將知識加入到了實體跨度的表示當中。
  6. 第六步類似transformer的解碼過程,Attention中的Q是 HiprojectH_i^{project}、K,V是Se{S'}^e

訓練過程

在這裏插入圖片描述

實驗

  • KnowBert+Wiki。知識庫來源與CrossWikis和YAGO dictionary,實體embedding方式是使用doc2vec直接從Wikipedia描述中學習Wikipedia頁面標題的300維嵌入,在這個模型中,作者沒用到知識庫中的圖結構,他說早期的實驗證明,在這個知識庫中,圖結構沒用。
  • KnowBert+WordNet,知識庫來源於WordNet中的同義詞和詞根,embedding方式是TuckER,2019年比較新的知識圖譜embeding方式,通過圖結構獲得同義詞和詞根的200維表示,然後對於每個同義詞的釋義,通過一個sentence embedding的方式獲得2048維的表示,拼接在一起再線性變化到200維。
    在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章