CoLAKE: 如何實現非結構性語言和結構性知識表徵的同步訓練
文章推薦指數: 80 %
為了解決非結構化文字與知識之間的異構性衝突,CoLAKE將兩者以一種統一的資料結果將兩者整合起來,形成word-knowledge graph,將其作為預訓練資料在 ...
Togglenavigation
IT人
IT人
CoLAKE:如何實現非結構性語言和結構性知識表徵的同步訓練
NLP論文解讀發表於
2022-03-09
©原創作者 |瘋狂的Max
論文CoLAKE: ContextualizedLanguageandKnowledgeEmbedding解讀
01背景與動機
隨著預訓練模型在NLP領域各大任務大放異彩,一系列研究都致力於將外部知識融入大規模預訓練模型,比如ERNIE[1]和KnowBERT[2],然而這些模型的侷限性可以總結為以下三個方面:
(1)entityembedding都是通過一些knowledgeembedding(KE)models,比如用TransE[3],預先提前訓練好的。
因此模型並不是一個真正的同步訓練知識表徵和語言表徵的綜合模型;
(2)只利用了知識圖譜中的entityembedding來提升預訓練模型,很難完全獲取的知識圖譜中一個實體豐富的上下文資訊。
因此對應的效能增益也就侷限於預先訓練好的entityembedding的質量。
(3)預訓練好的entityembedding是固定的,並且在知識圖譜稍作改變時都需要重新訓練。
針對這三點侷限,本文作者提出一種CoLAKE模型,通過改造模型的輸入和結構,沿用預訓練模型的MLM目標,對語言和知識的表徵同時進行同步訓練,將其統一在一個一致的表徵空間中去。
不同於前人的模型,CoLAKE根據知識的上下文和語言的上下文動態的表徵一個實體。
為了解決非結構化文字與知識之間的異構性衝突,CoLAKE將兩者以一種統一的資料結果將兩者整合起來,形成word-knowledgegraph,將其作為預訓練資料在改造後的Transformerencoder模型上進行預訓練。
除此之外,CoLAKE擴充了原始BERT的MLM訓練任務,也就是將掩碼策略應用的word,entity,relation節點上,通過WKgraph未被掩蓋的上下文和知識來預測掩蓋的節點。
作者在GLUE和一些知識導向的下游任務上進行了實驗,結果證明CoLAKE在大多數任務上都超越了原始的預訓練模型和其他融合知識圖譜的預訓練模型。
總結起來,CoLAKE有以下三個亮點:
(1)通過擴充套件MLM訓練任務同步學習到了帶有上下文的語言表徵和知識表徵。
(2)採用WKgraph的方法融合了語言和知識的異構性。
(3)本質上是一個預訓練的GNN網路,因此其結構性可擴充套件。
02模型方法
CoLAKE在結構化的、無標籤的word-knowledgegraphs的資料上對結合了上下文的語言和知識表徵進行聯合的、同步的預訓練。
其實現方法是先構造出輸入句子對應的WKgraphs,然後對模型結構和訓練目標稍作改動。
具體實現如下:
①構造WKgraphs
先對輸入的句子中的mention進行識別,然後通過一個entitylinker找到其在特定知識圖譜中對應的entity。
Mention結點被替換為相應的entity,被稱作anchornodes。
以這個anchornode為中心,可以提取到多種三元組關係來形成子圖,提取到的這些子圖和句子中的詞語,以及anchornode一起拼接起來形成WKgraph,如下圖Figure2所示。
實際上,對於每個anchornode,作者隨機玄奇最多15個相鄰關係和實體來構建WKgraph,並且只考慮anchornode在三元組中是head的情況。
②模型結構改動
接下來構建好的WKgraph進入TransformerEncoder,CoLAKE對embedding層和encoder層都做了相應的改造。
EmbeddingLayer:輸入的embedding是tokenembedding,typeembedding和positionembedding的加和。
其中,tokenembedding,需要構建word、relation和entity三種型別的查詢表。
對於wordembedding,採用Roberta一樣的BPE的分詞方法,將詞語切割為字詞用以維護大規模的詞典。
相應的,對每一個entity和relation就沿用一般的知識巢狀方法一樣來獲取對應的embedding。
然後輸入中tokenembedding則是由wordembedding,entityembedding,relationembedding拼接起來,這三者是同樣維度的向量。
因為WKgraph會將原本的輸入以token為單位進行重組,因此輸入的token序列會看起來像是一段錯亂的序列,因此需要對應修正其typeinput和positioninput。
其中對於每個token,其同一對應的type會用來表徵該token對應的node的型別,比如是word,entity或者是relation;對應的position也是根據WKgraph賦予的。
下圖給出了一個具體的例子進行說明:
可以看出,模型的改動就是在計算注意力矩陣的時候,對於沒有關聯的節點加上了負無窮,使得兩者不可見,以這種方式體現出WKgraph的結構。
③訓練目標
MLM是指隨機的掩蓋掉輸入中的某些詞,讓模型預測掩蓋掉的詞是什麼。
而CoLAKE就是將MLM從詞序列擴充到了WKgraphs。
作者隨機掩蓋15%的節點,80%的時間用[MASK]替代,10%的時間隨機替換成同型別的其他節點,10%時間不做任何改變。
通過掩蓋詞語,關係和實體三種不同的結點,能從不同角度幫助模型更好的同時學習到語言本身和知識圖譜中的知識,並且對齊語言和知識的表徵空間。
同時,作者提到在預測anchornode的時候,模型可能會更容易藉助知識上下文而不是語言上下文,因為後者的多樣性和學習難度更大。
為了規避這個問題,作者在預訓練時在50%的時間裡丟棄了anchornodes的相鄰節點,從而減少來自知識圖譜的幫助。
03實驗結果
CoLAKE模型在知識導向類任務(entitytyping和relationextraction任務)上表現都超越了其他融合知識圖譜的預訓練模型,實驗結果如下圖所示:
同時,CoLAKE在語言理解類的任務(GLUE)[4]上表現與未加入知識圖譜的Roberta模型相當,且優於同樣用Roberta初始化訓練KEPLER模型效果(加入了知識圖譜的KEPLER在語言理解類任務上效果會變差的更為明顯),實驗結果如下圖所示。
因此由此得出結論,CoLAKE可以通過異構的WKgraph同時模型化文字和知識。
總而言之,文中的實驗結果表明CoLAKE可以在知識導向的任務上提升模型效能,並且在語言理解類任務上獲得與原本的預訓練模型相當的效果。
另外,作者還設計了一個word-knowledgegraphcompletion的任務來探索CoLAKE在模型化結構特徵上的能力,分別通過直推式的設定和歸納式的設定來進行任務訓練,輸出是三元組中的實體或者關係。
簡單來說就是,通過輸入三元組
直推式的設定指h,r,t都分別出現在訓練集中,但是這個三元組組合沒有出現在訓練集中;歸納式的設定是指h和t至少有一個實體並未出現在訓練集中。
作者也將CoLAKE與常見的集中知識圖譜巢狀訓練的模型進行了效果比較,如下圖所示,效果也是趕超了其他知識圖譜巢狀模型。
04結論和未來研究方向
CoLAKE模型實現了非結構化的語言表徵和結構化的知識表徵同步綜合訓練。
其通過一種統一化的資料結構word-knowledgegraph實現了語言上下文和知識上下文的融合。
實驗結構表明CoLAKE模型在知識導向類NLP任務上的有效性。
除此之外,作者還通過設計一種WKgraphcomplication的任務來探索了WKgraph的應用潛力和未來的研究方向:
(1)CoLAKE可以用於關係抽取中遠距離標註樣例的去噪。
(2)CoLAKE可以用於檢測graph-to-text模板的效果。
參考文獻
[1]ZhengyanZhang,XuHan,ZhiyuanLiu,XinJiang,MaosongSun,andQunLiu.2019.ERNIE:enhancedlanguagerepresentationwithinformativeentities.InACL,pages1441–1451
[2]MatthewE.Peters,MarkNeumann,RobertL.LoganIV,RoySchwartz,VidurJoshi,SameerSingh,andNoahA.
Smith.2019.Knowledgeenhancedcontextualwordrepresentations.InEMNLP-IJCNLP,pages43–54.
[3]AntoineBordes,NicolasUsunier,AlbertoGarc´ıa-Dur´an,JasonWeston,andOksanaYakhnenko.2013.Translatingembeddingsformodelingmulti-relationaldata.InNIPS.
[4]AlexWang,AmanpreetSingh,JulianMichael,FelixHill,OmerLevy,andSamuelR.Bowman.2019a.GLUE:Amulti-taskbenchmarkandanalysisplatformfornaturallanguageunderstanding.InICLR.
相關文章
這些程式語言值得學習
2022-03-01
程式語言
MySQL教程DML資料操縱語言示例詳解鍵塾
2022-03-01
MySQL
終於!“30歲”的Linux核心C語言將升級到C11
2022-03-01
Linux
IT培訓分享:選擇哪個程式語言好?
2022-03-01
程式語言
vivo全球商城全球化演進之路——多語言解決方案
2022-03-01
FSAF:嵌入anchor-free分支來指導acnhor-based演算法訓練|CVPR2019
2022-03-01
演算法CVPR
如何看盤?盤口語言有哪些分類?
2022-03-03
C語言中static關鍵字詳解
2022-03-03
C語言應用領域及前景怎麼樣?
2022-03-03
GAN實戰筆記——第五章訓練與普遍挑戰:為成功而GAN
2022-03-03
GAN
知識增廣的預訓練語言模型K-BERT:將知識圖譜作為訓練語料
2022-03-04
c語言結構體中的一個char陣列怎麼賦值?
2022-03-04
姜寧ASF董事競選宣言:我希望能夠幫助ASF打破地域、文化、語言的障礙
2022-03-04
生成式預訓練語言模型能否視作閉卷問答的知識庫?
2022-03-06
Reddit網友參加資料科學家訓練營被騙經歷
2022-03-07
Go語言社群新提案arena,可優化記憶體分配
2022-03-07
Go
Python程式語言的註釋方式有哪些?
2022-03-07
程式語言Python
MySQL—DCL語言
2022-03-07
MySQL
實現JavaScript語言直譯器(三)
2022-03-08
JavaScript
最新文章
MySQL資料型別詳解
Golang基礎之物件導向
記一次RedisO(n)命令拖慢介面
TMIC:2022年食用油行業趨勢白皮書(附下載)
新華三:2022十大技術趨勢白皮書(附下載)
中國汽車流通協會:2022年4月新能源乘用車區域市場分析
DeepIntent:研究顯示64%的CTV觀眾更傾向於看廣告而不是為內容支付更多費用
Gartner:2021年全球基礎設施即服務(IaaS)市場909億美元同比增長41.4%
機器學習-習題(二)
論文解讀(gCooL)《GraphCommunalContrastiveLearning》
前端週刊第二十二期
讀書筆記之《軟體架構設計:大型網站技術架構與業務架構融合之道》
延伸文章資訊
- 1非結構化資料決定競爭力 - 網管人
此外,根據IDC統計,非結構化資料約占了所有數位資料的8到9成,且大多是存放 ... 機器學習,需要透過密集、快速且大量的資料來加以訓練,以增加分析的 ...
- 2打擊資料外洩!2022 年如何應對非結構化資料的隱藏風險 - BSI
持續提供人員必要的教育訓練,建立意識並使其具備辨認釣魚郵件的能力。最大的挑戰是讓大家關心,而且是持續關心。確保大家瞭解資料治理與安全團隊正在試圖提供協助,以及 ...
- 3有效提升在職訓練品質的最佳工具~結構化在職訓練(S-OJT)~
「結構化在職訓練」英文為「STRUCTURED On-the-Job TRAINING」(簡稱S-. OJT)是由美國Ronald L. Jacobs和Michael J. Jones所共同發展...
- 4讓自閉兒從參與、等待、輪流、玩中學習
在訓練兒童參與各種團體活動時,主要是提供結構化環境與視覺提示的支援,讓兒童 ... 非結構化的輪流可以考慮以社會性的故事,來教導小朋友輪流說話或是玩玩具的一般 ...
- 5環境策略: 結構化教學法(TEACCH) | 自閉症人士福利促進會
訓練策略. 目的:運用自閉症孩子的學習特徵,如重覆、狹窄的行為習慣,為孩子制訂個別化的學習計劃,並透過結構化的學習環境及有系統的教學法,提升孩子的能力。