Distant supervision for relation extraction 远程监督
论文链接:https://pan.baidu.com/s/1CrRm2TEEmhuvsSjNB4uF7g
提取码:0wlb
最近研读了多篇关系抽取领域的论文,在阅读过程中对 Distant supervision 这一术语的出现频率感到较高。追溯其起源可知,在2013年Mintz首次提出并开始系统性研究使用远程监督的方式训练关系抽取模型这一方法论。值得注意的是,在本文中我们不做深入解析地介绍这一方法论,并仅作为个人笔记记录一些关键点以供日后参考。
为什么使用远程监督
在该领域的早期阶段应用远程监督之前,在关系抽取任务中主要采用以下几种用于训练模型的学习范式:传统的监督学习方法(Supervised Learning)、无监督学习方法(Unsupervised Learning)以及基于自监督的学习方法(Bootstrap Learning)。
Supervised Learning
有监督学习方法通常需要对语料库中的每个句子进行实体识别标注,并对这些实体间的时间关系进行标记。这一过程既耗时又耗力,并且其模型性能很大程度上受限于数据标注准确性的高低。在这一模式下,在获得大规模训练集的同时追求高精度的需求几乎难以实现
Unsupervised Learning
相对于有监督的方式而言的是无监督的方式。这种模式无需数据标注即可运行,在未结构化的文本中提取出具体的实体串,并通过这些实体串的聚类生成相互关联的关系串。换而言之,在特征空间中衡量两个实体串的距离即为其间的关系定义。显然,在人类认知层面存在一定的困难的是这一过程的具体知识库形式尚待进一步明确——具体知识库的形式尚待进一步明确映射过程极其复杂
Bootstrap Learning
这种做法相当于小学经典数学题中的一个问题:计算池塘中的鱼类数量。具体思路是从池塘里随机捕捉固定数量的鱼类并做好标记后释放回去,在经过一段时间后再次捕捉另一批鱼类,在这批次中有标记的比例可以通过统计来推算出整个池塘内鱼类的大致总数。
在实际操作中,我们通常会从数据集中抽取一批作为基础实例(seed instances),通过训练这些基础实例后再将其应用于大规模的数据集。这种方法常被简称为自适应学习(self-adaptive learning)过程。一个明显的缺陷是该方法的精度较低,并且无法有效克服语义漂移问题(semantic drift)。
综上所述,任何一种学习方式都存在明显的缺陷。鉴于此,Mintz 提出了新型的方式并将其命名为远程监督
什么是远程监督
这里需要明确一个概念:远程监督可被视为一种学习方式而非具体的某类模型 ,如同有监督与无 supervision的学习模式。
字面上的理解表明,在远程监控的情况下系统必定具备了相应的监控能力。因为在之前的讨论中我们已经明确了这样的前提条件即系统必须具备相应的监控能力才能实现远程监控的过程因此当谈到远程监控时我们必须考虑到这一点也就是说即使是在理论上也必须要满足这一前提条件才能确保系统的正常运行。进一步而言为了实现有效的监控系统必须能够准确识别和处理来自不同位置的数据源因此这就要求所有的数据都必须带有相应的识别标记或者称为标签这样才能确保系统的正常运转和信息的有效传递。此外这些标记的来源何在答案往往来自于远方即外部的数据源或者说是外部的传感器所发送的信息这些信息经过处理后被整合到系统内部使其能够完成必要的监控任务从而保证系统的稳定性和可靠性。
远程监督方案的具体思路如下:首先,在现有条件下(即现有标注数据缺失问题),传统无监督学习方法在实际应用中存在诸多局限性。为了使数据获得高质量标注支持(即对现有数据集进行人工或自动化标注处理),随后通过有标签的数据进行训练(这一策略能够有效提升模型性能)。
使用远程监督的方式训练关系抽取模型
为了解决这个问题,请考虑以下假设:给定一个数据集 D=\{s_1,s_2,...,s_n\} ,其中每个 s_i 代表一个_sentence_ ,属于无结构文本类型。我们需要设计并训练一个参数化的函数 F: \mathcal{S} \times \Theta \rightarrow Tuples(e_i^t,e_j^t,r_k^t) ,使得当输入某个特定的 s_i \in D 和对应的模型参数 \theta \in \Theta 时(即 F(s_i;\theta) ),能够输出一个由实体对及其关系构成的元组集合 (e_i^t,e_j^t,r_k^t) 。这里 \Theta 被定义为模型的可学习参数空间集合。
远程监督算法的核心思路在于:通过KB与原始文本的对齐来实现标注过程,并继而开展有监督学习训练。
FreeBase
文章中使用的KB源自于FreeBase数据库。作者通过处理后获得了180万条实例、共涉及102种关系以及94万个实体。

对齐朴素文本进行标注
The distant supervision assumption supposes that when two entities engage in a relationship, any sentence containing these two entities may express the relationship between them.
作者阐述了一个关键假设:当涉及实体对(e_i,e_j)时(即存在关系r_{ij}),任何包含该实体对的关系都属于类别r_{ij}。
基于这一假设用于数据集的标注工作, 识别s_i内的所有实体信息, 并通过与KB中的实体配对注释它们之间的关联关系。值得注意的是, 同一个句子中可能存在多个实体配对对应多种关联关系, 因此, 在这种情况下该句子会被标记为涉及多种关联关系的情况.
标注完成后,在此基础之上我们获得了与之对应的特定关系r_k所关联的所有句子集合。进一步说明的是,在这种情况下一个单一的句子可能会涉及多个不同的关系因此它可能属于多个不同关系所对应的句子集合中。举例而言 句子s1不仅表达了关于R1的关系还同时涵盖了与R2相关联的信息
| 实体对 | 句子 | 关系 |
|---|---|---|
| (A,B) | s1=“ABCDxxxxxx”,s2=“AByyyy” | R1 |
| (C,D) | s1=“ABCDxxxxxx”,s3=“ABCDyyyy” | R2 |
| (E,F) | s4=“EFxxxx” | R3 |
有监督训练
Our classifier accepts as input a pair of entities and a feature vector, outputting a relation name and a confidence score based on the likelihood of the pair of entities belonging to that relation.
这一部分的思路已经非常清晰了。构建一个分类模型来接收实体对和关系r的特征向量,并输出这些实体对所对应的命名实体关系及其预测概率。
Feature Vector For The Relation
But when a sentence includes two entia and these entia qualify as an instance within one of our Freebase relations, the process involves extracting features from that sentence and incorporating them into the feature vector for that specific relation.
During the training phase, the algorithm combines features derived from identical triples ((relation, entity1, entity2)) sourced from different sentences to form a more comprehensive feature vector.
关系r的特征向量如何计算?文章中提到的方法较为直接:首先对所有用于描述关系r的句子进行特征提取;接着将这些句子所对应的特征向量进行汇总;至于具体如何执行特征提取步骤,则此处不做详细阐述;有对此问题感兴趣的读者可以深入阅读原文进一步了解相关内容。
More text, More relations, and More instances
文中提到,在之前的讨论中假定所有实体对仅存在单一的关系类型。然而这一假定实际上遗漏了不同实体间可能存在多种关联性的关键信息,并带来了显著的干扰性数据。这可能引发分类错误或误判问题的存在。我们如何理解这种假定及其潜在的影响呢?

作者认为,在单一句子下判断实体对之间的关系容易产生歧义;然而,在一组或多组句子中则能够更明确地判断它们之间的关系(这似乎是在引导我们进行类似多示例学习的思路),这也正是在测试集中结合特征向量的原因所在?因为更多的文本、更多的关系以及更多的实例无疑会提高模型的效果。

值得注意的是,在More instances数量增加的情况下(...),其准确率似乎并未显著提升反而是略微下降。这一现象主要源于远程监督算法在错误标签上的缺陷(...)。主要原因在于远程监督算法错误标签的主要缺陷在于假设每个实体对只能对应一种关系而非允许实体间存在多种关联关系。
总结
将远程监督的概念应用于关系抽取后有效地解决了数据标注规模的问题,并使模型得以利用丰富的unlabel data进行训练成为本文的核心贡献之一。随后的工作主要聚焦于解决wrong label带来的挑战,在具体方面包括对数据进行降噪处理以及对模型进行相应的优化等努力。
