打破情感分類準確率80分天花板!更充分的知識圖譜結合范式
來源:夕小瑤的賣萌屋
NLP的研究者們一直都在嘗試,怎么樣讓模型像人類一樣,學會“知識”。而最直觀的想法莫過于將人類已經總結出來供機器解讀的“知識體系”,及其嵌入表示作為額外的特征添加到NLP模型之中。至少,從直覺上看,將知識融入到模型之中,可以讓模型直接“看到”知識體系所帶來的“言外之意”,從而與模型本身的統計共現特征形成互補,以補足訓練樣本中部分知識過于稀疏的問題。比如某一實體A在訓練樣本中頻次很低,則可以用與它相似,且頻次較高的實體B的特征來補充A,或者只是樣本中的表達比較稀疏,則使用知識體系中的另一種更加常用的表達來補充(例如:OSX vs MacOS,歌神 vs 張學友),從而彌補A的特征過于稀疏的問題;或者可以使用A所在的歸類體系中共享的特征來補充A的特征。
然而,模型需要什么樣的知識,要以什么方式將知識整合到模型之中,一直是存有爭議的問題。例如早幾年很多工作嘗試,使用知識圖譜表示,將實體關系融合到模型中,在一些任務上取得了成效,但其最大的限制之一,則是消歧始終難以做到很高的準確率,其原因在于,知識圖譜所收錄的絕大多數實體,信息都是稀疏的(SPO密度很低),它們甚至很難參與到實體鏈指環節之中,所以很多 KGs+NLP 的工作都是在有限的知識圖譜內進行的,而難以擴展到廣域的知識圖譜中。
除知識圖譜外,則也有將通用知識引入到模型之中的工作,例如近兩年很多將中文的組詞應用到 NER 的工作,將實體類別信息應用于關系抽取的工作等,甚至我們可以開更大的腦洞,直接利用預訓練語言模型從海量語料中學習到的充分的共現知識,用以表示通用知識,將之應用到基于預訓練語言模型的種種方法中。
下面我想要介紹的工作,則是使用大規模知識圖譜增強模型,做 aspect-level 的情感識別任務,作者聲稱,自己的方法相對 baseline 分別有2.5%~4%的提升。
大規模知識圖譜增強的 aspect-level 情感識別
論文標題:
Scalable End-to-End Training of Knowledge Graph-Enhanced Aspect Embedding for Aspect Level Sentiment Analysis
論文地址:
https://arxiv.org/abs/2108.11656
Aspect-level 的情感識別,即輸入一段文本,詢問該文本對某一個文本中提到的片段是什么樣的情感傾向。例如句子:However, I can refute that OSX is "FAST". 中,詢問句子中對 OSX 表達了什么樣的情感。之前的工作很少將這個任務的分數刷到80分以上,本文作者則一鼓作氣,將3個數據集的最終指標都刷到了80+。
Aspect-level 情感分類的難點在于,aspect 有可能是稀疏的,從而導致模型在“觀察”文本的時候找不到重點,例如上面的例句,OSX 在對應的訓練樣本中僅僅出現了7次,非常的稀疏,而與之相似的 Microsoft Windows 則出現了37次。而使用訓練樣本中相對高頻的 aspect 去補充相對低頻的,又恰恰是知識增強的動機之一,所以利用知識圖譜來增強這個任務,看上去相當的合適。
但是知識圖譜增強又存在兩個挑戰:
大規模知識圖譜難以完全利用起來,例如 DBPedia 有2200萬節點,1.7億條邊,計算其中所有實體的表示顯然也是不現實的。
知識圖譜實體消歧錯誤傳遞,這點在前文也有提到。
針對這兩點挑戰,本文都給出了相應的解決方案。
▲系統總體結構
圖譜表示
本文使用了兩種方式計算圖譜表示,分別為子圖表示和連通分量表示。其中,連通分量表示則是將整個知識圖譜中劃分為若干個連通分量,每個連通分量看作是一個節點,從而將大規模圖縮放成一個相對較小的圖,例如本文將 DBpedia 的2200萬個節點劃分為606個聯通分量來計算表示。計算方法使用的都是 GraphSAGE,簡單來講就是用某一個節點隨機游走的N跳鄰居層層聚合,得到當前節點的表示。
連通分量表示的方式則使用一種比較樸素的方式解決了大規模圖譜表示的問題,實則使用的還是子圖表示的計算方法。其好處則在于某一個節點可以得到的“言外之意”變得更多,更加看上去有關的信息被利用了。
其中,圖表示的訓練方式也分為靜態訓練和端到端訓練兩種,靜態圖表示是先訓練好圖表示,再疊加到任務中,端到端訓練則是在任務訓練的同時也訓練圖表示。
去掉歧義噪音
針對歧義噪音問題,作者則是使用 BERT 所學習到的統計共現知識去解決。首先我們可以認為,BERT 所學到的文本表示,聚合了很多的信息,而對于一個 aspect ,它的表示則聚合了其描述信息、分布信息等,那么,圖譜嵌入空間上相近的實體,則在 BERT 學到的表示空間里面也應該有較高的相似性,但BERT聚合到的信息又太多了,所以需要將所需要的信息相辦法抽取出來。所以,定義兩個實體i和j的相似函數為:
其中B是可訓練的參數,和分別是實體和實體的BERT表示的[CLS]向量。然后分別采樣在圖譜表示空間里距離近的實體和距離遠的實體作為正例和負例,訓練參數B,loss為:
其中,和是相近實體,和則是不相近的實體,該目標是盡可能讓BERT學到的表示和乘上參數矩陣B之后,與圖嵌入空間里面的距離更加相關。
而最終使用的實體的表示則為:
也就是說,如果實體的BERT表示的相似度和圖譜嵌入空間內的相似度出現了矛盾,則屏蔽掉它的圖譜表示,作者認為這樣可以屏蔽掉很多消歧算法帶來的噪音。
實驗結果
▲實驗結果
上表中,GS后綴是使用了靜態訓練得到的表示增強的方法,GS-E后綴則是在原有基礎上使用了端到端訓練得到的表示增強的方法,[probe]后綴則是在原有方法基礎上使用了去掉歧義噪音策略的方法。我們可以看到,在3個數據集上,文本所提出的方法都各有不算小的提升,而尤其去掉歧義噪音之后,分別都得到了SOTA的結果,可見作者的方法還是有一定增益的。
順便一提,這個結果里面作者玩兒了個文字游戲,比如SDGCN-BERT-GS-E[probe]的結果提升了2.79%,這個結果是這么是計算出來的:(83.62-81.35)/81.35*100%=2.79%,同理其他的提升也是這么算出來的,并不是絕對分數的提升,而因為分母不是100,所以提升數值都需要相對減少一些。
小結
我認為,本文還欠缺了一個分析實驗,即連通分量表示是否是有用的。直觀上來看,將2200萬個節點硬性劃分成606個連通分量,去計算整個圖的表示,總是感覺過于樸素和粗暴了。畢竟作者沒有講他是以什么樣的標準去劃分,我們也沒有辦法去評析這種劃分方式是否合理,同時我們也沒法知道,連通分量表示在這篇工作中到底起到了什么樣的作用,是否僅僅需要子圖表示加上去除歧義噪音的策略,就足以得到這么好的效果了呢?甚至極端情況下,如果數據集里面的 bias 比較大,按照這種劃分方式,是否會將絕大多數 aspect 都分配到同一個連通分量里面,從而導致這個特征變成了一個廢特征呢?
并且,感覺上連通分量表示則是為了大規模圖譜而大規模圖譜。不可否認,這篇文章使用圖譜增強任務,得到了一定的提升,但是這種提升,我認為更多還是在于利用有限、固定的圖譜的信息,加上噪音消除策略而達成的,真正到了廣域數據,需要大規模圖譜的場景下,所要面對的問題絕不僅僅是計算瓶頸那么簡單。
例如,在開頭我就提到的絕大多數實體過于稀疏的問題,與之相伴的還有收錄的問題。世界上不可能存在一個圖譜,能夠收錄盡世界上所有的事實知識,莫說圖譜,牛津英文詞典的收錄情況就已經回答了這個問題。哪怕相關研究者們不斷地更新、迭代圖譜自動收錄算法,和圖譜自動補全算法,但是也難以趕上新知識的產生速度,同時圖譜要保證事實準確、高質量,那么其準入門檻也不可能允許超高速的收錄。就說相對還比較固定的專業領域知識,也面臨著語言不全等問題,例如生物名錄數據庫,英文數據庫中也存在很多中文數據庫里面沒有的條目。所以,我們沒法指望知識圖譜能夠枚舉世界上所有的事實。
收錄問題也不是最關鍵的因素,畢竟,沒有收錄的知識,我們可以在任務里面不去使用它,那無非它的效果退化到原始模型的效果而已。信息稀疏所引發的消歧問題,也可以通過置信度閾值去控制它,保證實體鏈指的準確率,避免錯誤傳遞。但是拋開這兩個問題,最關鍵的還是統計模型與知識圖譜的特性。
如果使用統計模型去將知識圖譜嵌入到連續空間中,則必然要面對統計模型的泛化能力,但是,事實知識是不可泛化的(例如當我們詢問GPT-3/ERNIE3.0,太陽有幾只眼睛/我的腳有幾只眼睛的時候,這個問題事實上是不成立的,但是統計模型總是會泛化出一個結果)。到了大規模稠密知識圖譜上,這個問題則會更加嚴重,例如圖嵌入多是使用隨機游走采樣計算節點相似性,但是知識圖譜上絕大部分的多跳路徑是不成立的,其邊是不可傳遞的。例如:劉德華的搭檔是劉偉強,劉德華的老婆是朱麗倩,那么劉偉強和朱麗倩之間有什么關系呢?如果采樣過程不受控制,這三者在統計空間里面可能會非常接近,哪怕受了控制,保不齊通過其他采樣的泛化,還是會掛上關系。
而在統計模型里面,想要定死了這些規則,恐怕要通過無數的樣本去拉近、推遠一些表示,才有可能完成在搜索空間里面構建出來一套完整的規則,相比于直接用符號推理來講,我認為得不償失。
實際上哪怕知識圖譜補全任務里面,也有很多數據是不可推理數據,那些數據很有可能就是用統計特征算出來,扔到數據集里面的,例如一個人是美國人,那他的信仰是天主教之類的,當年我做圖譜表示的同事分析結論,一些分數很難刷,“很難”的數據集里面,這類數據似乎也占據了相當大的比重。
但是,在benchmark上,圖譜增強又往往能帶來一些看上去不錯的增益,我認為,其主要在于這類任務面對的都是有限、固定的子集,例如本文中,使用到的子圖規模100到1000不等,這種規模之下,則絕大多數情況下可以規避掉我上面提到的兩個問題。也就是說,在固定垂直領域下,信息密度大,沒有消歧壓力、不可控泛化的壓力,圖譜增強是有用的,但是一旦到了開放領域,則不得不面對上面的問題。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。