few-shot在关系抽取中的应用

网友投稿 1155 2022-05-30

信息抽取三个最重要的子任务:

实体抽取:包括实体的检测(find)和分类(classify)

关系抽取:三元组(triple) 抽取,一个谓词(predicate)带 2 个形参(argument),如 Founding-location(IBM, New York)

事件抽取:相当于一种多元关系的抽取

关系抽取任务场景:

有监督的关系抽取(Supervised Relation Extraction):针对预定义的关系集合,使用大规模的监督数据。

半监督的关系抽取(Semi-Supervised Relation Extraction):针对预定义的关系集合,使用相对较少的监督数据,在大量无监督数据的帮助下,能够取得与有监督关系抽取类似的效果。

少次学习关系抽取(Few-Shot Relation Extraction):针对新的关系类型,通过在已有关系类型上的大规模数据预先训练,再快速迁移到新关系类型的少量数据上,达到少次学习的目的。

自启动关系抽取(Bootstrapping Relation Extraction):面向开放的关系场景,对于新的关系类型,仅给定少量的启动样本,以迭代的方式从大规模的数据中挖掘更多的信息,从而得到更加强大的关系抽取模型。

关系抽取任务的四点问题和改进:

数据规模问题 --> 远程监督

学习能力问题  --> 少次学习(Few-shot learning)任务

少次学习问题仅为每种关系提供极少量样例,要求尽可能提高测试样例上的关系分类效果。

度量学习(Metric learning)、元学习(Meta learning)、参数预测(Parameter prediction)、原型网络(Prototypical Networks)模型

复杂语境问题 --> 文档级关系抽取

开放关系问题 --> 关系孪生网络(Relation Siamese Network,RSN)

实现有监督和弱监督模式的自由切换,从而能够同时利用预定义关系的有监督数据和开放文本中新关系的无监督数据,来共同学习不同关系事实的语义相似度。

Few-shot在关系抽取的应用:

few-shot关系抽取:根据查询关系语句对一组候选关系语句进行排序和匹配。在此任务中,测试和开发集中的样本通常是训练集里没有出现过的关系类型。这种类型我们一般会在FewRel数据集上进行评估。具体地说,给定K组有N个有标记的关系语句,Sk = {(r0, t0) . . . (rN , tN )},ti ∈ {1 . . . K } 代表对应的关系类型,目标是预测查询关系语句rq的tq∈{1…K}。

2018的一篇文章[1]首次将Few-shot learning用于关系抽取中,并发布了一份大规模的FewRel数据集:

FewRel数据集覆盖100种关系,每种关系700个实例。

测试集的关系只来源于支持集,且支持集和训练集中的关系类别不重合。

N way K shot设定:即对于N种关系,每种关系的支持集中包含K个样本。

图中展示了FewRel数据集的例子:3 way 2 shot

[1] Han et al. 2018 FewRel: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation.

团队在2019又更新了FewRel任务[2]。FewRel 2.0,在原版数据集FewRel的基础上增加了以下两大挑战:领域迁移(domain adaptation)和“以上都不是”检测(none-of-the-above detection)。

领域迁移:FewlRel 2.0 采集了大量医疗领域的数据并进行标注,要求关系抽取模型在原语料进行训练后,还可以在这些新领域语料上进行少次学习。

“以上都不是”检测:FewRel 2.0 在原N-way K-shot设定(给定N个新类型,每个类型给定K个训练样本)上,添加了一个“以上都不是”选项。

[2] Gao et al. 2019 FewRel 2.0: Towards More Challenging Few-Shot Relation Classification.

Matching the Blanks [3]: 利用预训练语言模型来学习度量

2019年提出的基于BERT的Matching the Blanks模型在FewRel1.0数据集上达到了state of art的效果。模型的两个重要亮点:

按照一定概率(a = 0.7)来把句子中的实体替换为特殊标记 [BLANK],使模型对句子中除实体外的 context 信息进行建模。(Figure 1)

关系表示(相似性假设):如果两个句子中包含相同的实体对,那么它们的关系表示应该尽可能相似,反之相似度应尽可能低。(Table 2)

假设能够访问一个文本语料库,其中实体已链接到唯一标识符,并且我们将关系语句定义为包含两个标记实体的文本块。由此,我们创建包含关系语句的训练数据,其中的实体已替换为特殊的[BLANK]符号,如图1所示。训练过程采用包含关系语句的(blank-完整)对,并且目标是,如果它们分布在相同的实体对上,则关系的编码表示将是相似的。经过训练后,将学习到的关系表示应用于最近发布的FewRel任务。(Figure 2)

few-shot在关系抽取中的应用

Matching the Blanks模型在Few-shot任务中,修改了模型训练的损失计算方式。如图二,左右两个框架是有监督和无监督关系分类模型的对比。有监督模型最后计算的损失为关系表示softmax的预测关系类别和样本真正关系类别的交叉熵损失。对于few-shot任务,我们使用查询语句的关系表示和每个候选语句之间的点积作为相似度得分,并用softmax(相似度得分)和样本真正关系类别的交叉熵损失作为训练损失。

模型在FewRel数据集上的表现:对比了Prot Net,Prot Net即为原型网络,是一种基于metric-learning的方法,是Han et al.(2018)发表FewRel1.0数据集时,实验得到的表现最好的模型。

[3] Soares et al. 2019 Matching the Blanks: Distributional Similarity for Relation Learning.

自然语言处理 NLP 知识图谱 KG

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ROS2编程基础课程--概念
下一篇:类加载器
相关文章