Open Relation Extraction: Relational Knowledge Transfer from Supervised Data to Unsupervised Data
Abstract
- 多數的OpenRE問題都限定在了unsupervised的模式中,沒有利用Knowledge Base中的知識和標註數據。
- 所以提出RSN,學習預定義relation中的相似metric,並遷移至新的關係中進行識別。(學習relation中的共性,通過共性來判斷兩個entity是否存在某種relation的關係。)
Introduction
- relation extraction專注於抽取出實體之間的關係,其實就是relation classification。現在越來越多的方法使用訓練數據集(因爲DL的廣泛使用和進步)。
- 也有非常多的人研究如何使用更少的標註數據去進行RE,例如boot strapping 類型的semi-supervised learning. distant supervision等等。但這些都只能抽取預定義的relation
- OpenRE嘗試在開放領域的文本中抽取未被預定義的relation。Banko(2008 首次提出open information extraction) 直接將句子中出現的短語作爲關係。e.g. received
- 也有一些人嘗試用 unsupervised方法,聚類來解決問題,然而大多數的聚類都是unsupervised。很難篩選出中有用的relation和濾去不相關的relation
- 預定義的relation和全新的relation之間存在着一定的gap,因此我們提出了RSN網絡,從預定義的類別和標註數據中抽取出relation指標,通過這個可遷移的relation metric來度量兩個entity之間是否存在relation(這是這篇文章最核心的觀點,兩個domain之間的relation存在gap,需要transfer的去measure
- 此外作者的RSN也可以用於semi-supervised 和distantly-supervised training paradigm.
在list自己的contribution的時候,作者也提到了自己是所知的第一個提出knowledge transfer的概念的
Related Work
- OpenRE 可以被分爲幾個簡單的類別:tagging-based & cluster-based,但是tagging-based經常會面對提取出過於細粒度的relation(relation是有層級的)。cluster-based往往需要非常多的feature,語義模式(e.g. noun-verb-noun)等信息。
few shot learning中的learning image metric啓發了我們使用siamese network 去學習relation中的metric
Methodology
主要是兩個component:
- relation similarity calculation module: RSN 判斷兩個句子是否是同一類的relation
- relation similarity clustering module:hierarchical agglomerative clustering (HAC) and Louvain clustering algorithms. 聚類出target relation.
Relational Siamese Network (RSN)
- 每一個word representation 有word embedding和隨機初始化的position embedding2014 Zeng,
CNN作爲sentence encoder
這邊的Siamese network share同樣的parameter
其中 是sentence, 是通過CNN encoder之後,得到的relation sentence representation
因此,度量兩個relation sentence的distance:
再將計算所得的distance
通過一個簡單的linear並且讓sigmoid歸一化至[0, 1]區間,即可得到相似的probability
其中是所有可訓練的參數,對應一個屬於數據集中的 data pair
使用的是cross entropy loss,即僅有0 1兩個label而已。非常簡單
Semi-supervised RSN
unlabeled dataset爲 unlabeled data pair 爲
semi-supervised RSN沒有非常多的labeled data,需要使用大量的unlabeled data。所以一個比較好的決策是將所有在semantic space中的embedding儘可能的遠離decision boundary(0/1 決策邊界,是否屬於同一類relation? )
此處使用conditional entropy loss Grandvalet and Bengio, 2005 來解決問題,文中表達的意思爲: It’s safe to increase the margin of decision boundary.
直覺上說,在=0.5時,兩個sentence中,至少有一個接近decision boundary(其實我覺得這個直覺沒有那麼的strong…抽空和坐我後面的作者聊一下…)
草圖如下:
如果兩個點reverse也一樣可以得出結論
因此接近decision boundary是非常不利於聚類或者使用RSN度量的。因此Loss修改爲:
注意式4中的已經不見了,因爲此處使用的是unlabeled data
Virtual Adversarial Loss
由於神經網絡的超強擬合能力,使用了conditional entropy loss(式5) 也許會使網絡學習出一個非常複雜的超平面,導致所有的training data全部遠離decision boundary. 針對這個問題又使用了virtual adversarial lossMiyato et al., 2016,搜索每一個在超平面上的data point的neighbor points,並且使得sharp change不會發生(也就是超平面變化更爲平滑,否則一個離羣點或者一個離羣的pair就會導致RSN構成的超平面變化非常巨大)
使用 unlabled data訓練的Virtual adversarial loss爲
所以,semi-supervised learning RSN的爲
其中和都是可調的超參數
Distantly-supervised RSN
Distantly-supervised RSN 可以從unlabeled data以及Distantly-supervised data中學習
具體來說,label爲:
此處直接將auto-labeled data(也就是distant supervised data)當作labeled data來進行處理,移除adv loss的labeled data的原因是因爲會加重錯誤label的數據對模型的影響(很自然,會算兩遍,當然有問題)
作者認爲不需要其他去噪的方法因爲RSN本身就能夠tolerate這些噪音數據(wrong labeled data in distant supervision)
- negative samples 纔是數據中的大部分內容,不會影響太多
- 其次真正做new relation detect的時候,重點在與密集的cluster區域,那些噪音數據不會影響太多。
上述三類訓練RSN的方法適用於不同的場景,訓練出來的RSN一定會結合聚類方法來進行使用!
Open Relation Clustering
訓練出來的RSN會用於計算兩個包含relation的 sentence之間的similarity。
Hierarchical Agglomerative Clustering
HAC是一個自底向上的聚類方法,首先將每一個instance都作爲一類,通過計算距離來將instance合成一類。距離的計算方法是使用 complete-linkage criterion
然而HAC很難決定什麼時候停止聚類,一般是通過設置distance閾值,但是這個閾值也非常很確定。而且這個方法有很大的缺點是,只有可能存在了一些cluster之後,纔可以開始聚類。因此作者引入第二個聚類方法
Louvain
Louvain是基於圖的聚類方法,通常用於community detection。 此處作者使用如果兩個instance之間的similarity 爲0,那麼就代表這兩個instance之間有一個edge(我感覺是1才代表了有一條edge?需要去看一下Louvain的原論文,才應該有更確切的解釋)。通過構建graph來使用Louvain。此外Louvain也不需要有potential clusters之後纔可以去使用。直接使用即可
實驗證明了Louvain perform better than HAC
Experiments
實驗是在FewRel 和FewRel-distant上進行的,效果非常好
Future Work
- 會嘗試使用其他的sentence encoder。
- 以及思考relation中的層級關係