Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data

背景知识:

distant supervised :通过将知识库与非结构化文本对齐来自动构建大量训练数据,减少模型对人工标注数据的依赖,增强模型跨领域适应能力;
metric learning :学习一个度量相似度的距离函数:相似的目标离得近,不相似的离得远
louvain 聚类 :社群发现中,一种性能比较好的,能够自动找cluster的聚类方法

paper解读

1. introduction & related work

总结了一下RE目前的研究现状,传统RE只是把sentence给encode一下,然后转化为一个分类问题,这会导致很多sentence中的信息被直接丢弃,无法的得到一个很好的representation ;而且,不管是supervised,semi-supervised,还是distant-supervised都会遇到无法处理novel relation的问题(distant-supervised还基于一个强假设:如果两个实体在知识库中有某个关系,那么所有包含这两个实体的sentence都会出现这个关系),所以就有了OpenRE

OpenRE分为两种:1. tagging ;2. clustering;前者单纯把sentence的“字面”当作novel relation的label,这样的relation过于specific,无法用于downstream,而clustering则有rich representation,其效果更好。这篇paper借鉴了few-shot learning里面一篇CV paper提出的SSN,提出了RSN来学习relation similarity metric,经过RSN的metric learning获得一个similarity matrix,进而再运用louvain clustering进行聚类,同时还提出了 semi-RSN,distant-RSN来应对low resource pre-labeled dataset,能够达到在low resource pre-labeled sentence 上进行open relation extraction,而且效果不错。

2. proposal

2.1 RSN

2.1.1 basic framework

Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data
基本框架就是上面这张illustration,取两个句子S1,S2,将其embedding之后concatenate position ,然后经过CNN+max_pooling抽取representation V1,V2,随后就是单纯 abs(V1-V2),将这个差值经过FC+sigmoid得到一个similarity metric — P,用于度量两个sentence S1,S2之间相近的可能性。
所以它的loss很简单,就是一个二元交叉熵:
Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data

2.1.2 additional loss

为了应对open-domain的情况,RSN必须还要再datasets中那些unlabelled的数据上进行训练,因此就有了 semi-RSN,distant-RSN和对应的additional loss。

  • Conditional Entropy Loss
    由于在classification里面,不同categories之间的margin最好是越大越好,这样classification的精度就越高,而在unsupervised里面,为了达到这个目标,就得让decision boundary附近的data point 推离boundary,因此针对unlabelled data就有了下面这个loss:

Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data
当两个sentence S1,S2之间的similarity metric P的值接近0.5时,这个loss将会施加很大的penalty,因为P=0.5很有可能说明S1,S2之间至少有一个point是在boundary附近的,有了这个loss就会强行扩大不同categories 之间的margin。

  • Virtual Adversarial Loss
    仅仅有Conditional Entropy Loss是不够的,因为这样的penalty可能会让model学到一个非常complex的boundary从而避开所有point,所以为了generalize还需要添加noisy,在这里使用了Virtual Adversarial Loss。它的大概意思就是在S1,S2上先施加random noise t1,t2,随后计算施加noise 之后P的变化程度(用了KL散度)的gradient,然后将这个normalized gradient作为真正的noise加到sentence 的embedding上面,起到一个normalization的效果。
    labelled Virtual Adversarial Loss:
    Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data
    unlabelled Virtual Adversarial Loss:
    Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data

    把上述loss归纳到一起就是(λv 和 λu 是超参数):
    Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data
    同时考虑到如果是distant supervised,那么如果在那些auto-labelled的data上面施加Virtual Adversarial Loss可能会对model的表现造成impact,因为auto-labelled的标签不一定是对的,所以针对distant supervised采用下面的loss:
    Open Relation Extraction- Relational Knowledge Transfer from Supervised Data to Unsupervised Data

2.2 Relation clustering

在RSN的similarity metric 计算之后就可以得到一个similarity matrix,也就是得到了一张relation graph,用于表示各个sample之间的相似度距离,接下来就可以使用graph里面的各种聚类算法。
paper的实验表明,louvain 算法要比HAC(Hierarchical Agglomerative Clustering)算法的效果好,因为它可以自动地选择最优的cluster。而且由于RSN计算的embedding是high dimension的,而且similarity metric也是通过FC计算,因此这个metric是non-linear的,所以不适合用一些linear的聚类算法(K-means…)

3. Experiment

实验有三个点:

  1. SN-L+CV(RSN + conditional entropy loss + Virtual Adversarial Loss)是SOTA的
  2. Semi-supervised RSN 在novel relation的抽取上效果最好,也是对unlabelled data最general的
  3. 实验还发现,他们的方法能够抽取到层级化的relation。