當前位置:
首頁 > 知識 > AI2等提出自動知識圖譜構建模型COMET,接近人類表現

AI2等提出自動知識圖譜構建模型COMET,接近人類表現

選自arXiv

作者:Antoine Bosselut、Hannah Rashkin等

機器之心編譯

參與:一鳴、路雪

知識圖譜是人工智慧研究的熱門領域。它能夠提供先驗知識,使機器學習在常識的基礎上更加智能。然而,自動化的知識圖譜構建一直是該領域需要解決的難題。傳統的抽取方法(extractive method)被認為效果不佳,需要大量人力投入和調整。近期,艾倫人工智慧實驗室和微軟的研究人員提出了一種利用預訓練語言模型自動構建常識型知識圖譜的方法,已接近人類的表現。論文已被 NLP 頂會 ACL 2019 接收。

鏈接:https://arxiv.org/pdf/1906.05317v1.pdf

自動知識圖譜的構建一般關注百科知識,從而被限定在一個定義好的實體和可建模關係的空間內。但是,常識知識並不能很好地符合「實體 1-關係-實體 2」這樣常用的知識圖譜構建結構。

同時,近期深度語境語言模型(即預訓練語言模型)的研究進展有助於探索新的模式——一種超越傳統抽取方法(extractive method)的常識知識圖譜構建方法。這些大規模語言模型在調整底層語言表示來解決末端任務時展現出了卓越性能,在多個複雜問題上達到當前最佳表現。

研究人員將自動知識圖譜構建視為常識生成任務,並探索了大型語言模型生成自動構建常識知識圖譜所需知識的能力。他們提出了 COMmonsEnse Transformers (COMET),可以根據自然語言生成豐富多樣的常識描述。COMET 使用現有的三元組作為知識的種子集進行訓練。基於這些種子集,預訓練語言模型調整其學得語言表示,用於生成知識,並輸出高質量的新型三元組。研究表明,深度預訓練語言模型可以生成常識知識圖譜所需的顯式知識,並取得了很好的結果。實驗顯示,COMET 可以生成被人類評價為「高質量」的知識,在 ATOMIC 上可以達到 77.5% 的精確度,在 ConceptNet 上可以達到 91.7% 的精確度,已經接近人類在這些資源中的表現。研究結果說明,使用生成常識模型進行自動常識知識圖譜補全很快可以成為抽取模型的有效替代方法。

圖 1:COMET 從一個已有知識圖譜中學習(實線),並生成新的節點和邊(虛線)。

模型架構

任務

COMET 使用知識三元組作為種子集進行預訓練,並使用訓練好的語言模型構建常識知識圖譜。三元組向 COMET 提供知識圖譜的結構和關係信息,COMET 則調整預訓練語言模型的語言表示,從而在種子知識圖譜中添加新的節點和邊。

具體來說,假設 COMET 獲得的訓練知識圖譜是自然語言三元組,形式如 。在這個三元組中,s 是三元組的 subject,r 是實體關係,o 是三元組的 object。例如,和「taking a nap」(睡一小會兒)有關的 ConceptNet 三元組是這樣的:s=「take a nap」,r=Causes,o=「have energy」。自動構建知識圖譜的任務就是根據 s 和 r 生成 o。

Transformer

研究人員使用 Radford et al. (2018) (GPT) 中的 Transformer 語言模型架構,GPT 使用了具備多頭縮放點乘注意力機制的多個 transformer 模塊。

輸入編碼

在模型的輸入部分,研究人員將三元組 表示為三元組中每一項所包含單詞的序列,如下所示(X 表示輸入單詞):

由於 transformer 中沒有 token 順序的概念,因此,對於序列中每個 token 的絕對位置建模了位置嵌入向量 p_t。對於任意輸入詞 x_t ∈ X,輸入編碼是其詞嵌入向量 e_t 和在序列中的絕對位置嵌入向量 p_t 的和:。

COMET 模型架構

該模型遵循 Radford et al.(2018) 的GPT模型架構,研究人員用 12 層、768 個隱藏層維度、12 個注意力頭初始化 COMET。Dropout 率為 0.1,使用 GeLU 作為激活函數。訓練批大小為 64。

圖 2:模型架構圖示。a)多頭注意力模塊;b)Transformer 模塊內部的計算方法;c)對每個 token 進行處理的方式。

模型訓練

COMET 用於根據給定的 subject s 和關係 r,生成三元組中的 object o。具體來說,給定構成 s 和 r 的 token [X^s,X^r] 作為輸入,COMET 模型需要生成所有組成 o 的 token X^o。

損失函數

COMET 需要最大化預測 X^o 的條件似然:

下圖 3 展示了在不同訓練任務中,s、r 和 o 中 token 的組織形式。

圖 3:輸入 token 設置。對於 ATOMIC 數據集,輸入的順序為:先是三元組 subject 的 token X^s,緊接著是 [MASK] token,然後是關係 token X^r,最後是三元組 object 的 token X^o。對於 ConceptNet 數據集,則需要在關係實體 X^r 和 object token X^o 之間再加入一個 [MASK] token,因為 X^r 在 ConceptNet 中可能有很多個 token。

數據集

COMET 使用現有的三元組作為知識的種子集進行訓練,來學習構建常識知識圖譜。該研究使用了 ATOMIC 和 ConceptNet 作為知識種子集。

ATOMIC 數據集有 87 萬個三元組,包括圍繞一些特定事件提示(如「X 去商店」)的大量社會常識知識。具體來說,ATOMIC 將常識分為九個維度,包括事件的起因(例如,「X 需要開車到那裡」)、事件對主體的影響(例如,「獲得食物」),以及其對另一參與方的直接或間接影響(例如,「其他人可以吃飽」)。

在剛才的例子中(「X 去商店」)是 s,而維度(「X 要...」)是實體關係 r,而起因/影響(「獲得食物」)是 o。該研究使用了 710k 個三元組作為訓練集,80k 作為驗證集,87k 作為測試集。

ConceptNet 是由 Open Mind Common Sense(OMCS)構成的數據集。三元組是典型的「s-r-o」結構(例如,「睡一會兒-導致-獲得能量」)。最可信的 1200 個三元組被用於構建測試集,另外 1200 個構成兩個驗證集,還有 100k 的訓練集。這個數據集總共有 34 個關係類型。

實驗結果

ATOMIC 實驗結果

表 1:對各個模型生成 ATOMIC 常識的質量和新穎程度進行自動評估的結果。

表 2:對各個模型生成 ATOMIC 常識的人類打分結果。

表 5:從 ATOMIC 驗證集中隨機抽取的新生成。新生成指的是不在訓練集中的三元組。每個三元組都由人類評估並判斷是否合理。

ConceptNet 實驗結果

表 6:ConceptNET 生成結果。

表 7:從 ConceptNet 的驗證集隨機抽取的新生成。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

AI「照妖鏡」:不僅知道你P過圖,還知道你P圖前長啥樣
?批量生產數學猜想,這樣的自動演算法學會了探索基本常數

TAG:機器之心 |