實體分類是知識圖譜構建和補全的重要子任務,其中細粒度實體分類為實體提供了更加豐富的語義信息,有助於關係抽取、實體連結、問答系統等下遊任務。
細粒度實體分類是什麼?和傳統的命名實體識別有什麼區別?任務的難點在哪裡?採用什麼方法解決?目前有哪些數據集可用?未來的發展方向如何?
為解除這些困惑,第四期AI Time PhD知識圖譜專題分享的直播間,我們請到清華大學計算機系、知識工程實驗室的博士五年級研究生金海龍,為大家梳理了細粒度實體分類任務發展的脈絡,並對未來作出了展望。
傳統的命名實體識別(NER)面向粗粒度的類別,比如人物、地點和組織機構等,對實體的刻畫不夠精確。
實際生活中,我們需要更加細粒的類別來刻畫實體,提供更加具體的語義信息,增強指示性,比如籃球員動員和香港歌手等。以關係抽取為例,實體的細粒度類別能很大程度暗示實體間候選的關係。實體類別信息越粗,實體間的候選關係就越傾於複雜,相應的關係抽取任務也變得更困難。於是,下遊應用催生了細粒度實體分類這個任務。
細粒度實體分類 (FGET) :
Fine-grained Entity Typing, 給定候選實體 (Mention) 及其上下文 (Context),預測可能的類別集合 (Type)。
圖片來源:AFET: Automatic Fine-Grained Entity Typing by Hierarchical Partial-Label Embedding
區別 NER vs FGET:
- 識別邊界
- 類別層級
FGET任務的難點:
(1)遠程監督帶來的噪音
現有的數據集大多數使用distant supervision方法來構造,將實體mention連結到知識庫中的某個實體,並把這個實體在知識庫中全部的類別賦予這個mention,這種做法沒有考慮mention的上下文,因此會引入噪音。包含上下文無關類別的噪音和過於具體的類別噪音。
對於類別信息單一的實體,類別一般保持一致,這時遠程監督方法可以接受。但是對於類別信息複雜的實體,尤其像人物這類實體,我們需要考慮遠程監督帶來的噪音問題。
(2)類別之間的層次關係
首先,如何得到一個分類樹?有了這個分類樹之後,我們應該如何建模這種subclassof關係,也是一個難點。
下表是目前常用的三個數據集:FIGER,OntoNotes和BBN。不同的論文訓練集、驗證集和測試集的劃分會有一些差別,這裡參考ACL-20最新的一個工作。類別的數量從幾十到上百,類別之間通過subClassOf關係組織成2-3層的樹形結構。
1)FIGER數據集
FIGER數據集中的類別是從Freebase中挑選出來的,把實體較少的類別進行了合併。FIGER數據集提出較早,存在一些問題,比如訓練集較大,但測試集只有500多個樣本,不是所有的實體類型都在測試集中出現過。因此在使用時,通常都會重新劃分。
圖為該數據集的全部類別,加粗的黑色字體表示粗粒度的類別,對應方框內的類別是其子類別,右下角的類別是比較難區分的類別
2)OntoNotes數據集
OntoNotes數據集參考了前面FIGER數據集的構造方法,同樣從Freebase中篩選類別。類別之間的層次結構更加清晰。整個分類體系包含三層,比如person在第一層,artist在第二層,actor在第三層。並且最頂層的類別,和最常用的NER工具使用的類別集合可以對應起來。
3)TypeNet數據集
之前介紹的數據集類別數量比較少,層次結構也比較簡單。TypeNet包含超過1900個類別,構造的時候參考了WordNet的hierarchy結構。
同樣從Freebase類別出發,首先過濾一些包含實體較少的類別,並且去除和Freebase API相關的類別,對於每個剩下的Freebase類別,通過字符串匹配的方式產生所有候選的WordNet Synset。人工標註者會從候選列表中判斷這個Freebase類別和每個Synset之間的關係。如果沒有匹配的,標註者會調用WordNet API直到找到一個合適的Synset。由於WordNet的Hierarchy層級結構比較深,因此TypeNet的平均深度要高於前面的三個數據集。
4)UFET數據集
ACL-2018提出的UFET數據集近兩年得到了廣泛的關注。這個數據集的特點是類別數量特別多,包含9個粗粒度類別,121個細粒度類別和超過10K的特別細粒度類別,mention的覆蓋範圍也不局限於命名實體,還包括代詞和名詞短語,圖中黃色部分是前面工作沒有覆蓋到的,增加了He這種代詞、AI researcher這種名詞短語,這些在知識庫中一般找不到對應的實體。Mention和type的覆蓋面增大,給細粒度實體分類任務帶來了更大的挑戰。
在OntoNotes數據集中,52%的mention都被標記為Other,主要也是因為Other中類別數量比較多。FIGER數據集中Person,LOC和ORG的佔比也比較高。而UFET數據集中各類別的分布相對均勻,更加符合實際情況。
UFET數據集中,有6K條數據是人工標註得到,每條數據有5個標註者,平均一個mention標註得到5.2個類別。
剩下的數據是遠程監督得到的,方法有三種:使用知識庫、維基百科和提取中心詞。
首先使用知識庫做遠程監督,利用實體連結工具,將某個mention連結到Freebase這樣的知識庫中,將知識庫中的實體類別賦予這個mention。
進一步使用維基百科做遠程監督,還是利用實體連結工具,將mention連結到對應的維基詞條,從文本中利用一些句法分析工具提取類別,這樣得到的類別粒度更細。
以上兩種方法,都沒有考慮mention所在的上下文,因此存在一定的噪音。使用中心詞的方法可以得到最細粒度的類別,相對前兩種方法而言是上下文相關的。
5)中文數據集
UFET數據集雖然規模大,但還是英文數據集。近期也有研究者做了中文數據集,包含7100多個類別,採用了和UFET數據集類似的構造方式,同時使用了人工標註加遠程監督的方法,類別的分布也比較合理,紅色的表示人工標註的類別分布,藍色的表示distant supervision的類別分布,相信這個剛剛發表的中文數據集在今後會得到更多的關注。
首先介紹基本的框架,為後面的大多數工作所沿用。後續的工作也主要是解決前面提到的兩個挑戰,即數據噪音問題和層次關係處理問題。我們會先梳理後續的工作如何降低distant supervision帶來的噪音的影響,然後梳理後續工作如何處理類別之間的subclassof關係。
1)AttentiveNER模型
EACL-17提出的AttentiveNER是細粒度實體分類早期的工作,分別對實體mention和上下文context建模,得到mention的表示v_m和上下文的表示v_c。其中mention的表示直接取平均,上下文的表示採用雙向LSTM+固定的attention機制,此外還引入了傳統特徵。將三種特徵拼接到一起,送到MLP中進行類別預測。可以看到這種方法並沒有考慮distant supervision帶來的數據噪音問題。
AttentiveNER採用了比較簡單的方式來處理類別之間的層次關係。V_y表示要學習的參數矩陣,S是一個稀疏矩陣,按照層級進行編碼,比如Person第一個位置為1,/person/artist前兩個位置為1,這樣有助於參數共享,同一層的類別可以共享父節點的表示,對於那些訓練數據比較少的類別有幫助。
AttentiveNER採用雙向LSTM和固定的attention機制以及類別之間的參數共享機制,後面的模型大多數沿用了這個框架。
2)KNET模型
由於AttentiveNER採用了固定的attention機制,在實際應用中不夠靈活。同樣使用雙向LSTM結構,AAAI-18的KNET模型提出使用三種注意力機制來改進:
semantic attention還是固定的attention機制;
mention attention使用mention的表示替代固定的query vector;
knowledge attention使用知識圖譜中實體的表示替代query vector,這是KNET模型的主要創新點。
實體的表示由TransE計算得到,因為要使用知識圖譜中實體的表示,因此需要進行實體消歧,將mention連結到某個實體上。如果mention在知識圖譜中找不到對應的實體,會根據文本信息構造得到實體表示。個人不太推薦在細粒度實體分類的任務中使用涉及到類似實體連結或者實體消歧的方法來提升模型效果,因為實體連結是更加終極的目標。
3)進一步改進
近兩年來預訓練模型發展迅速,也可以用到細粒度實體分類的任務中來。EMNLP-19提出的模型使用ELMo 和BERT 等更強的預訓練語言模型進行mention 和context 的表示,模型頂部是一個混合分類器,它不獨立預測每種類型,而是預測編碼潛在類型特徵的低維向量,並且該模型從這種潛在表示中重構稀疏高維的類型向量。這個工作使用了ELMo和BERT 等更強的預訓練語言模型,結合潛在類型表示,效果進一步提升。
1)投票法
首先介紹一種最簡單的數據降噪方法,稱為投票法。如圖所示,如果distant supervision的標註方法認為ABCD都是某個mention的類別,但是三個分類器都認為D是錯誤標註的類別,最終會將D刪除。
2)AFET模型
處理數據噪音的比較有代表性工作是EMNLP-16提出的AFET模型。這個模型分為四個部分,首先提取mention的特徵,然後將訓練數據集劃分成clean set和noisy set。Clean set中的實體類別信息比較單一,只對應一條類別路徑,而noisy set中的實體對應多條類別路徑,這種數據就是包含噪音的。將mention和type映射到同一個語義空間中,方便後面做計算,U和V是映射矩陣,目標就是要學習這兩個映射矩陣U和V。在得到了這兩個矩陣之後,就可以為測試集中的實體mention預測類別。
下圖是distant supervision構造得到數據集的方式。
AFET模型比較早的將數據集劃分成clean-set和noisy-set,針對不同的數據採用不同的處理方法,在當時取得了最好的效果。
1)層次損失標準化
在分類的過程中,模型會傾向於預測那些比較general的類別,也就是high-level的類別,如果要預測某個比較具體的類別,需要在上下文context中找到比較強的指示信息。
2)整數規劃
CIKM-18提出的METIC模型面向另外一個問題:假設我們知道一個實體的所有mention,理論上使用一種融合的方法將每個mention在上下文中的類別聚集在一起,就可以將這個實體的類別信息收集全。
如圖所示假如我們知道Trump有三個mention,,第一個mention的預測結果是政客,第二個mention的預測結果是商人和演員,第三個mention的預測結果是建築,這是實體連結錯誤導致的結果,將三個mention的類別預測結果匯聚到一起,檢查一下有沒有衝突就可以得到trump在知識庫這一級別上的類別集合,紅色的表示沒有通過衝突檢查的類別,會被丟棄掉。
針對關係抽取任務,EMNLP-18提出的RESIDE模型使用了實體類別信息,提升了關係抽取任務的效果。這個模型將包含某個實體對的所有句子建模成一個bag,對每個句子計算得到句子向量,在得到了每個句子向量之後,利用關係的別名信息和Open-IE抽取得到的關係短語計算每個句子的權重,得到句子向量的加權平均表示,最終bag的embedding由剛才得到的句子加權平均後的向量表示和頭尾實體的類別embedding拼接得到,輸入softmax分類器中進行分類。在NYT數據集上的實驗結果表明,實體的類別信息能夠提升關係抽取任務的效果。
在實體連結任務中,實體的類別信息對特徵表示有一定的幫助。
如圖所示IJCAI-15提出的模型中,𝑣_𝑐是上下文文本的表示,其輸入是局部上下文的詞向量,使用CNN對詞向量輸入進行特徵抽象,對於實體mention 𝑣_𝑚,簡單地對名字中的所有詞向量進行平均,對於候選實體𝑣_𝑒 則是基於候選實體mention中的詞向量平均𝑣_𝑒𝑤 和候選實體類別中的詞向量平均𝑣_𝑒𝑐。
類似的還有EMNLP-17提出的模型,充分利用了實體相關的文本信息(包括實體描述,實體mention在文檔中的上下文) 和結構化信息(主要是實體類別) 來對實體進行表示,這些工作在特徵表示方面考慮了實體的類別信息。
下面介紹實體類型信息對消歧的幫助。實體消歧的核心目標在於消除實體mention的歧義性,類別可以看作實體的一個屬性,在實體消歧任務中,對於一個實體mention,我們已經獲得了所有的候選實體集,理論上,只要類別數量足夠多,類別粒度足夠小,我們就可以通過類別的交集來從候選實體集中定位應該連結的實體。
如圖所示,對於第二個文檔,能夠判斷出」Jordan(Country)」 的類別與文本中的另一實體」Arab country」 的類別語義接近,從而選擇「Jordan(Country)」作為實體mention 」Jordan」 的指代的目標實體。
AAAI-20提出了一種基於entity typing結果來預測實體連結結果的模型。這一工作只使用了實體類別進行消歧,足以證明類別信息不但能夠為實體連結任務提供重要的消歧特徵,相應的基於類別的消歧模型也擁有非常好的泛化能力。
1)數據集相關
小語種數據集。現有的工作主要集中在英文數據集上,包括常用的FIGER、OntoNotes和UFET數據集,近期才有中文數據集被提出來,還有很多小語種缺乏高質量的數據集。
現有數據集的分類體系還需要進一步研究。可以考慮借鑑taxonomy induction的方法構造一個類別數目和層級結構都比較合理的分類體系。
協同的方式。現有的數據集往往是針對單個實體mention進行類別預測,如果一個句子中包含多個實體mention,用一種協同的方式來進行類別預測可能更加合理。
2)Zero-shot問題
3)跨語言細粒度實體分類
統一的分類體系。目前的研究主要集中在英文數據集上,維基百科包含豐富的錨文本連結和跨語言連結,假如我們使用同樣的分類體系,理論上是可以利用維基百科構造其他語言的數據集的。
用rich-resource語言去幫助low-resource語言。針對其他語言標註數據少、或者根本沒有標註數據的情況,跨語言的細粒度實體分類任務就產生了,可以使用遷移學習模型和已有的跨語言詞向量表示,共同訓練一個跨語言的分類模型,把在英文數據上學到的東西遷移到其他語言上,實現知識共享,這方面我們可以參考很多遷移學習和domain adaptation的工作。
4)結合具體的任務
AI Time歡迎AI領域學者投稿,期待大家剖析學科歷史發展和前沿技術。針對熱門話題,我們將邀請專家一起論道。同時,我們也長期招募優質的撰稿人,頂級的平臺需要頂級的你,請將簡歷等信息發至yun.he@aminer.cn!
微信聯繫:AITIME_HY
AI Time是清華大學計算機系一群關注人工智慧發展,並有思想情懷的青年學者們創辦的圈子,旨在發揚科學思辨精神,邀請各界人士對人工智慧理論、算法、場景、應用的本質問題進行探索,加強思想碰撞,打造一個知識分享的聚集地。
(點擊「閱讀原文」下載本次報告ppt)
(直播回放:https://www.bilibili.com/video/BV18z4y1X7dx)