但是,過多地考慮領域知識可能會導致句子語義的錯誤,這稱為Knowledge noies,KN)。為了解決KN問題,K-BERT引入了軟定位和可視矩陣來限制已有領域知識的影響。
BERT是基於大規模開放期望的預訓練模型。對於下遊任務,只需要微調吸收專業知識。然而,由於預訓練和微調的領域知識的差異,BERT在領域知識驅動的任務中無法取得令人滿意的性能。
壹種解決方案是基於領域知識對語料庫進行預訓練,但這既費時又費力,是大多數用戶難以承受的。
因此,作者認為引入知識地圖使模型成為領域專家是壹個很好的解決方案,因為:
然而,這種方法面臨兩個挑戰:
於是作者提出了K-BERT模型,可以加載任何BERT模型,然後不需要預先訓練就可以輕松植入領域知識。
隨著2065 438+08 Google推出BERT模型,很多人對預訓練流程和編碼器進行了優化,列舉如下:
另壹方面,在訓練LR(語言表示)模型之前,對知識地圖和詞向量的結合的研究已經進行了很久:
上述方法的主要缺點是:
K-BERT的模型結構如下圖所示:
模型結構包括以下四層:
知識層(KL)的作用是將知識圖譜註入到句子中;2)完成句子樹的轉換。
給定知識圖譜,輸入壹個句子,經過KL層後輸出句子樹。
這個過程分為兩步:K查詢和K註入。
表述為:
嵌入層用於將句子樹轉化為嵌入表達式。和BERT壹樣,K-BERT的嵌入表示包括三個部分:令牌嵌入、位置嵌入和段嵌入。關鍵是如何將句子樹轉化為序列,同時保留其結構信息。
這種簡單的處理使句子失去了結構信息,作者通過軟定位和可視矩陣解決了這個問題。
見層是K-BERT和BERT最大的區別,也是這種方法有效的關鍵!
如前所述,KG的引入可能會造成KN的問題,所以看層layer的作用就是通過壹個可見的矩陣來限定詞與詞之間的關系。
可見矩陣定義如下:
意思是兩個字在同壹條路上;說明兩個詞不在壹條路上。並且是硬定位索引。
註:軟定位指數和硬定位指數如圖2所示。
由於Transformer的編碼器不能接收可視矩陣作為輸入,作者對其進行了修改,稱為Mask-Transformer。所謂的Mask-Transformer,其實就是壹堆mask-self-attention塊。
符號定義與BERT相同:
面具-自我關註
面具自我關註的數學定義如下:
其中包括:
如果這壹對是看不見的,那麽,因此要註意。
屏蔽變壓器的實體圖如下:
從上圖可以看出,這對是隱形的。但是可以間接影響。
作者在12中文自然語言處理任務上測試了K-BERT。
為了體現KG和RL(表示語言)模型之間的角色關系,作者在訓練X-BERT時保持參數與BERT壹致。
需要註意的是,訓練K-BERT時不會加KG。& ltfont color = red & gt因為KG會把兩個相關的實體綁定在壹起,訓練時屏蔽的兩個詞意思相近或相等,導致語義丟失
將Google BERT和K-BERT在開放領域的8個中文自然語言處理任務上進行比較,結果如下:
總結如下:
作者測試了金融、法律和醫學領域的NLP任務,如下表所示:
KG的引入確實可以提高效果,尤其是在醫療領域。
在本節中,作者主要研究了軟位置指數和可視矩陣對變量剔除的影響,結果如下圖所示:
符號描述:
作者將實驗結果總結如下:
(1)消除軟位置或可見矩陣的任何壹項都不如K-Bert有效;
(2)在法律_ q&中;在任務A中,沒有可見矩陣的K-BERT的效果比BERT差,證明了KN(知識噪聲)問題的存在。
(3)在法律_ q&中;在任務A中,K-BERT收斂速度比BERT快。
作者將KG中的知識註入到句子中,通過軟定位索引和可見矩陣控制知識的可見範圍。關於如何KG的實驗,對於知識驅動的專業任務真的很有幫助。此外,由於K-BERT可以與BERT參數* * *共享,因此省略了K-BERT的預訓練。
改進方向:
(1)查詢知識時過濾掉壹些不重要的知識;
(2)將該方法推廣到其他語言模型。