论文阅读《Do Pre-trained Models Benefit Knowledge Graph Completion?A Reliable Evaluation and a Reasonab》
Do Pre-trained Models Benefit Knowledge Graph Completion? A Reliable Evaluation and a Reasonable Approach.(Finding of ACL 2022)
論文開源代碼-github
提出背景
預訓練模型被證明可以從文本中獲得真實的知識,這促使著基于PLM的知識圖譜補全(Knowledge graph completion, KGC)模型的提出,然而這些模型在性能上遠遠落后于KGC任務的SOTA。
比KGE的Hits@10中的SOTA模型低約20.8%
作者認為主要有以下兩個原因:
1.封閉世界假設(Closed World Assumption, CWA)的設置會限制基于PLM的KGC模型,預訓練模型引入了很多的外部知識。
2.大多數基于PLM的KGC模型只是簡單拼接實體和關系的標簽作為輸入,導致句子不連貫,沒有充分利用PLM中的隱性知識。
封閉世界假設 (Closed-world assumption, CWA)認為, 在給定的知識圖譜中沒有出現的三元組是錯誤的。我們可以很容易在 CWA 下評估沒有標注的模型的性能。然而,CWA 本質上是一種近似,不能保證評估結果的準確性。
開放世界假設 (Open-world assumption, OWA)認為知識圖譜中包含的三元組是不完備的。因此,開放世界假設下的評估更準確、更接近真實場景,但需要額外的人工標注,仔細驗證知識圖譜中不存在的完整三元組是否正確。
對于一個三元查詢(England, contains, ?),基于PLM的KGC模型給出了許多正確的尾實體,但在CWA下只有Pontefract 被認為是正確的,因為它存在于KGs中。模型介紹
基于PLM的KGC模型PKGC,可以更好的誘導隱藏在PLM參數中的隱性知識和KGs中的結構化知識。
給定一個三元組,我們將它的信息填入到三元組模板(triple prompts)和支持模板(support prompts)中。
最終模板T = [CLS] P^T P^S[SEP],[CLS]的輸出用來預測給定三元組的類別(label)。
另一方面我們將正/負例的三元組輸入到我們的模型中進行三元組分類。
三元組模板?P^T? :對于每個關系,手動為其設計了一個hard模板,以關聯三元組的語義。例如體育關系成員的hard模板為“[X] plays for [Y]”,將[X]和[Y]替換成頭實體和尾實體,同時在其中添加一些soft提示。
支持模板P^S:除了知識圖譜本身的三元組信息,我們還為模板中添加如定義和屬性的支持信息。為了避免模型過于復雜,為實體隨機選擇一個屬性。模型并不要求所有支持信息都要呈現。如果不存在,就不要添加相應的信息。
模型下三元組分類任務示意圖 soft prompt 嵌入位置示意 支持模板的設計數據集構建及實現細節
在實驗中,本文使用了兩個主要的數據集,分別來自 Wikidata 和 Freebase。
Wiki27K構建的詳細步驟:
(1)從四個方面對實體進行評分:實體出現頻率、實體是否有英文維基百科鏈接、實體是否有非英文維基百科鏈接、實體是否有 Freebase鏈接,從得分排名前3萬個實體中隨機選取27122個實體形成我們的實體集 E。
(2)將關系按頻率由高到低選出前 200 個關系,與CoDEx和LAMA中的數據集中的關系并在一起組成關系集合R。
(3)在wikidata里選擇在存在于E和R中的句子中提取三元組。
(4)隨機洗牌它們,并以8:1:1的比例組成訓練集/驗證集/測試集。
(5)R中如果存在對稱關系(即如果(h, r, t)成立,那么(t, r, h)也成立),如果(h, r, t)存在于訓練集,(t, r, h)存在于驗證集或測試集,模型就能夠輕松做出預測。為了避免這種信息泄露,對于每個對稱關系 r,如果(t, r, h)在 驗證集或測試集,我們從訓練集中刪除(h, r, t)。
FB15K-237和FB15K237-N構建的詳細步驟:
(1)Freebase中存在許多CVT節點(CVT可以被認為是一個不需要展示名稱的主題),這些節點會不恰當地提高模型的準確性。文中通過去除FB15K-237中的CVT節點獲得數據集FB15K237-N。
(2)為了增加三分類的難度,我們在FB15K-237-N的基礎上增加負例三元組構建數據集FB15K237-NH。該數據集僅用于三元分類。具體來說,對于驗證集和測試集中的每一個正例三元組(h, r, t),我們使用TransE做鏈接預測,并使用概率最高的非答案實體替換缺失實體,做負例。
召回和重排序框架
?????? 鏈接預測需要大量的計算,基于PLM的模型的運行效率遠遠低于KGE模型。為了緩解這一問題,對于三元組查詢(h, r,? ?),我們首先使用KGE模型(實驗中使用TuckER)來獲得頭尾部實體的排序。之后,我們選擇排名前X的實體,并使用基于PLM的KGC模型重新計算得分。基于這些分數,我們可以對排名前X的實體重新排序。
最終數據集示意訓練任務及評價方法
知識圖譜補全認為旨在為知識圖譜補全缺失的三元組,評估這一任務主要有兩種方法,即鏈接預測和三元組分類,前者主要為三元查詢(h, r, ?)或(?, r, t),后者旨在判斷給定的三元組(h, r, t)是否正確。
模型在包含正例/負例的三元組數據集上進行任務。
負例三元組由兩種類別的數據組成:(1)隨機替換原三元組中的頭實體或尾實體。(2)通過將頭實體或尾實體替換為KGE模型認為概率高的另一個實體。
用一個超參數α來控制兩種負例的比例,同時用一個超參數K來控制正例和負例的比例。
鏈接預測任務:給出每個實體為缺失實體的概率的降序排列,使用MRR、Hits@N、CR@1(新的基于開放世界假設的評估方法)作為評價指標。
三元組分類任務:本質上是一個二元分類任務,使用準確率和 F1 作為評價指標。
鏈接預測結果對比 三元組分類結果對比?分析與展望
Q1:PLMs 在海量的文本中看到了很多事實。是不是因為它們記住了這些事實,才幫助我們的模型取得了更好的結果??
A:有一定的原因
設計一個基于遠程監督的實驗,具體的來說,對于一個三元組(h, r, t),如果h和t出現在Wikipedia的一個句子中,我們認為這句話暗示了(h, r, t)的事實。
使用BERT-large作為模型的基座模型,因為它主要是在Wikipedia上預訓練。
將測試集分成幾個不相交的部分,并測試PKCG、ConvE和TuckER在測試集上的性能。PLMs見過更多的三元組所以表現更好。
Q2:引入的PLMs能使我們的模型對訓練數據量不那么敏感嗎??
A:是的
本文的模型是基于PLMs。因此我們推測基于PLMs的模型對訓練數據量不敏感。為了驗證這一點,我們使用不同比例的訓練集訓練模型,并測試其性能。
PKCG只是隨著用于訓練的數據量的減少而略有下降,具有用于稀疏知識圖譜補全的潛力。作為對比, KGE 模型ConvE和TuckER的性能都顯著下降。
Q3:近年來出現了一些包含知識的PLMs。使用它們能給我們的模型帶來更好的結果嗎??
A:有一定作用的
我們通過改變基座模型在 FB15K-237-N和 Wiki27K上進行實驗。
BERT 主要在維基百科語料庫上訓練,包含更多的事實知識。
KEPLER:結合掩蔽語言建模和知識表示學習這兩個訓練目標,基座模型Roberta。
LUKE:大量實體注釋語料,提出實體感知自注意力機制,基座模型Roberta。
Q1和Q2的實驗結果圖 Q3的對比實驗總結
以上是生活随笔為你收集整理的论文阅读《Do Pre-trained Models Benefit Knowledge Graph Completion?A Reliable Evaluation and a Reasonab》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学生计算机应用基础考试,大学计算机应用
- 下一篇: 网络课大学计算机基础考试,《大学计算机基