论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction

论文来源:ACL 2022

论文地址:https://aclanthology.org/2022.acl-long.397.pdf 

论文代码:https://github.com/fc-liu/MCMN

(笔记不易,请勿恶意转载抄袭!!!) 


目录

Abstract

Introduction

Multi-Choice Matching Networks

Multi-choice Prompt

Instance Encoder

Multi-choice Matching and Prediction

Training Loss

Training Strategies for Multi-Choice Matching Networks

Triplet-Paraphrase Construction

Triplet-Paraphrase Meta Pre-training

Online Task Adaptation

 Experiments


Abstract

        Low-shot RE旨在识别样本很少甚至没有样本的新关系。本文提出多选择匹配网络来统一低样本关系抽取。为了填充零样本和小样本关系抽取之间的差距,提出了triplet-paraphrase元训练,利用triplet-paraphrase预训练零样本标签匹配能力,利用元学习范式学习少样本实例概括能力。

Introduction

        零样本RE和少样本RE要求模型具备不同的基本能力:零样本RE建立在标签语义匹配能力之上,这要求模型充分利用给定新关系的标签语义,并基于其底层语义匹配关系和查询实例;少样本RE是建立在实例语义概括能力之上,这要求模型通过概括少样本实例的关键信息来快速推广到新的关系。由于零样本RE和少样本RE之间的根本差异,现有的模型都是单独学习来处理两种情况下的RE任务。

        本文提出通过回归关系抽取的本质来统一低样本RE。从根本上讲,关系提取可以看做一个多项选择任务,给定上下文中的两个实体,RE系统需要从一组预定义的关系类别中匹配最合适的关系,或者others,即与上述关系均不匹配。其中,完成多项选择匹配所需的信息可以从关系类别名称或从少量实例中概括出来。

        基于此,本文提出了多选择匹配网络MCMN来统一低样本RE。如下图所示,MCMN将所有候选关系描述转换为多选择提示,然后将输入实例与多选择实例链接起来,并通过预先训练的编码器来获取输入实例和候选关系的语义表示,最后通过直接匹配关系表示和实例表示进行关系抽取

 为了使MCMN同时具备标签语义匹配能力和实例语义概括能力,引入三triplet-paraphrase元预训练对MCMN进行预训练。其中,包括两个关键部分:

  • text-triple-text paraphrase模块:可以生成大规模伪关系抽取数据用来预训练MCMN的标签语义匹配能力;
  • 一种元学习风格的训练算法,使MCMN具备实例语义概括能力,可以快速概括不同的关系提取任务。

        具体而言,给定大规模原始文本,triplet-paraphrase首先通过OpenIE工具包抽取三元组,然后基于抽取的三元组使用RDF-to-text生成模型生成原始文本的paraphrases。这样,可以通过收集生成的句子和预测的三元组来获得大规模的伪标注数据。这样的语料库可以通过将paraphrases匹配到相应的预测,有效地预训练MCMN的标签语义匹配能力。此外,为了使MCMN具有实例语义概括能力,这种预训练是在元学习范式中进行的。也就是说,每次迭代都要求MCMN学习不同的关系抽取任务,MCMN就不能通过直接记忆特定的目标关系来过度匹配预训练语料库。

        主要贡献:

  • 提出MCMN,通过使用多选匹配范式从根本上实现关系抽取;
  • 提出triplet-paraphrase元训练对MCMN进行预训练,使MCMN既具备了标签语义匹配能力,又具备了实例语义概括能力。

Multi-Choice Matching Networks

Multi-choice Prompt

        从根本上说,关系提取器可以视为一个多项选择任务,通过直接链接所有关系名称或描述,为每个关系提取任务构造一个多选择提示,形式如下:

[C] rel1 [C] rel2 ... [C] rel N

其中,[C]为分隔符。例如Figure 2 中,将employee_of、ceo_of和others连接在一起,形成多项选择提示“[C] employee of [C] ceo of [C] others [SEP] [e1] Tim Cook [/e1] is the CEO of [e2] Apple [/e2] . [SEP]”。在获得多选项提示后,将其与输入句子一起输入实例编码器

Instance Encoder

        编码前,将多选择提示与每个输入实例链接,用[SEP]标志将其分隔,并分别用[e1]、[/e1]、[e2]和[/e2]将头、尾实体包起来。例如Figure 2的示例,编码器的输入为“[CLS] [C] employee of [C] ceo of [C] others [SEP] [e1] Tim Cook [/e1] is the CEO of [e2] Apple [/e2] . [SEP]”,然后通过transformer encoder对整个句子x进行编码:

h_{[CLS]},h_{[C]},...,h_{[SEP]}=H(x)

Multi-choice Matching and Prediction

        多选择匹配模块用来将输入实例匹配到对应的关系。对于每一种关系类型,使用[C]标记的隐藏层状态来表示关系:

h_{rel_i}=h_{[C]_i}

其中,h_{rel_i}表示关系ih_{[C]_i}表示第i个token[C]的隐藏层状态。

对于输入文本,简单地对[e1]和[e2]的隐藏状态取平均值得到实例表示

X=avg(h_{[e1]},h_{[e2]})

然后在实例和每个关系之间执行匹配操作:

D(x,y_i)=\left \| X-h_{rel_i} \right \|_2

在这个公式中,采用欧氏距离来度量相似度,每个关系对应的概率为

P(y_i|x;\theta )=\frac{exp(-D(x.y_i))}{\sum_{j=1}^{N}exp(-D(x,y_i))}

最后选择概率最大的关系\widehat{y}作为预测

\widehat{y}=\underset{i}{argmax}P(y_i|s;\theta )

Training Loss

L_{(x,y)}(\theta )=-\sum_{i=1}^{N}I(y_i)logP(y_i|x_i;\theta)

Training Strategies for Multi-Choice Matching Networks

Triplet-Paraphrase Construction

        为了使MCMN具有标签语义匹配能力,需要结合关系句和关系类型的大规模数据进行预训练。但是现有的RE数据集中高度有限的关系类型可能导致特定关系的过拟合,不利于MCMN的推广。Triplet-Paraphrase从原始文本中为MCMN生成大规模的预训练数据。Triplet-Paraphrase模块的总体流程如下图(a)所示,它从大规模的原始文本中提取谓词作为关系描述,然后利用提取的关系三元组生成Paraphrase句子进行进一步的多选择匹配预训练。

        关系三元组提取: 大多数完整的句子至少包含一个关系三元组,包括主语、谓语和宾语。句子中的谓语对应的是主语和宾语之间的属性或者关系,可以看做是一种关系的具体表述。为了从开放域文本中提取大规模的三元组,使用OpenIE模型对Wikipedia的文章集合进行抽取。从原始文本中收集所有提取的谓词来表示对应的关系,防止模型过渡拟合特定的关系类型。然后将这些三元组用于Paraphrase生成和预训练。

Paraphrase生成:对于提取出来的三元组,首先用“[H], [R], [T]”将其包装起来,分别对应主语、谓语和宾语,然后输入包装好的三元组文本以生成Paraphrase文本。例如三元组 (an online service, known as, PlayNET)被包装为“[H] an online service [R] known as [T] PlayNET”,然后生成Paraphrase文本playnet is an online service。在生成paraphrase之后,将其与对应的谓词进行匹配,以便进行预训练。

Triplet-Paraphrase Meta Pre-training

        预训练batch中的每个实例都包含paraphrase文本和相应的谓词span。如figure 3(a)所示,将当前mini-batch中的所有谓词链接为多选择提示,并按照Training Loss中的损失函数对MCMN进行预训练,其中,当y_i是对应的谓词时,I(y_i)=1,否则I(y_i)=0

Online Task Adaptation

        在在线学习或者测试期间,针对不用的低样本任务采用不同的适应策略。对于Zero-shot RE,直接使用经过训练的MCMN来执行任务,对于Few-shot RE,对支持集执行在线任务元训练,如算法1。

 Experiments

        本文进行了三种任务上的实验:① Zero-shot RE;② Few-shot RE;③ Few-shot RE with NOTA,即查询集实例的关系类别不存在于支持集中。

 消融实验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894384.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从头预训练一只迷你 LLaMA 3_llama3 预训练预处理

我将向你展示如何使用 LLama 3.1(一个本地运行的模型)来执行GraphRAG操作,总共就50号代码。。。 首先,什么是GraphRAG?GraphRAG是一种通过考虑实体和文档之间的关系来执行检索增强生成的方式,关键概念是节…

Elasticsearch学习笔记(七)安装并配置Metricbeat

Metricbeat 是一个轻量级的开源数据采集器,专门用于收集操作系统和服务的指标(metrics)。它是 Elastic Stack(即 ELK Stack)的一部分,通常用于监控系统性能、收集应用程序和服务器的性能指标,并…

【大模型】AI视频课程制作工具开发

1. 需求信息 1.1 需求背景 讲师们在制作视频的过程中,发现录制课程比较麻烦,要保证环境安静,保证录制过程不出错,很容易反复重复录制,为了解决重复录制的工作量,想通过 ai 课程制作工具,来解决…

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容: 在指定的题库中自主选择不少于 15 道算法题并完成解题,其中题目难度分配如下: 简单题不少于 10 道中等题不少于 4 道困难题不少于 1 道 解答代码 5.简单四则运算 (中) 代码实现: import ja…

TON(六)——fift算法,注释的改写

系列文章目录 TON(五) TON(四) TON(三) TON(二) TON(一) 前言 fift是一门十分强大的栈编程语言,,在TON中它是由c编译而成的语言…

WordPress官方发布“新”插件“SCF”(安全自定义字段)

安全自定义字段 (SCF) 为您提供了处理数据所需的所有工具,从而将 WordPress 网站转变为成熟的内容管理系统。 使用 SCF 插件可以完全控制您的 WordPress 编辑屏幕、自定义字段数据等。 按需添加字段—SCF字段生成器允许您快速轻松地将字段添加到 WP 编辑屏幕&…

第一个servlet程序

文章目录 在原有工程上建立模块前端配置前后端映射关系添加外部依赖库后端代码启动配置 在原有工程上建立模块 添加web框架 前端 应用结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>第一…

什么是SYN flood,如何处理

在数字化时代&#xff0c;随着互联网的普及和技术的飞速发展&#xff0c;网络安全问题变得日益严峻。Flood攻击&#xff0c;作为一种典型的网络攻击手段&#xff0c;对个人和企业的信息安全构成了重大威胁。通过深入了解Flood攻击的概念、特点、影响及解决方案&#xff0c;我们…

SpringSecurity源码分析以及如何解决前后端分离出现的跨域问题

解决Security前后端分离出现的跨域问题 一. Security源码分析 首先在看源码之前我们先来看这张图 , 这张图展示了Security执行的全部流程 从上图可知Security执行的入口是UsernamePasswordAuthenticationFilter这个抽象类 , 那我们就先从该类进行分析 1. UsernamePasswordAu…

【智慧大屏】BI智慧大屏,大屏可视化解决方案(word原件)

1.系统概述 1.1.需求分析 1.2.重难点分析 1.3.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 2.3.接口及要求 3.系统功能设计 3.1.功能清单列表 3.2.数据源管理 3.3.数据集管理 3.4.视图管理 3.5.仪表盘管理 3.6.移动端设计 3.1.系统权限设计 3.…

Scala入门基础(12)抽象类

抽象类&#xff0c;制定标准&#xff0c;不要求去具体实现 包含了抽象方法的类就是抽象类。抽象方法只是有方法名&#xff0c;没有具体方法体的方法 定义抽象类要用abstract&#xff08;抽象&#xff09;关键字 用智能驾驶技术举例&#xff1a;演示&#xff09…

深入理解WPF中的命令机制

Windows Presentation Foundation&#xff08;WPF&#xff09;是微软推出的一种用于构建桌面客户端应用程序的技术。它被认为是现代Windows应用程序的基础&#xff0c;具有强大的图形和媒体处理能力。在WPF中&#xff0c;“命令”是一个重要的概念&#xff0c;它为应用程序开发…

2024.10月11日--- SpringMVC拦截器

拦截器 1 回顾过滤器&#xff1a; Servlet规范中的三大接口&#xff1a;Servlet接口&#xff0c;Filter接口、Listener接口。 过滤器接口&#xff0c;是Servlet2.3版本以来&#xff0c;定义的一种小型的&#xff0c;可插拔的Web组件&#xff0c;可以用来拦截和处理Servlet容…

力扣 142.环形链表Ⅱ【详细解释】

一、题目 二、思路 三、代码 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ public class Solution {public ListNode detectCycle(ListNode hea…

LSL常见应用场景及示例<一>

目录 往期推荐 场景1&#xff1a;如何在指定内存定义中定位一个函数&#xff1f; 场景2&#xff1a;如何在绝对内存偏移地址处定位一个函数&#xff1f; 场景3&#xff1a;如何在绝对地址处定位一个函数&#xff1f; 场景4&#xff1a;有多个函数必须位于特定的内存定义中。…

vue3+ts+vite--路由跳转,params传参好像丢失了?

前言 相信大家一定写过后台管理系统&#xff0c;有一个很普遍的功能&#xff0c;就是点击编辑&#xff0c;根据id&#xff0c;跳转到相对应的编辑页面&#xff0c;id是通过路由params传递过去了&#xff0c;但是还有一个需求是要将父组件的名称也传递过去 &#xff0c;过程特别…

从0到1封装一个image/pdf预览组件

iShot_2024-10-14_16.47.10 目录结构 content.vue <template><div class"no-content-block"><i class"iconfont icondocument large-file" /><div class"text-wrapper">{{ t(__ui__.siPreview.previewSupported) }}<…

Spring Cloud Sentinel配置

Spring Cloud Sentinel 文章目录 Spring Cloud Sentinel1. Sentinel Dashboard 启动2. Spring Cloud 客户端配置3. Sentinel Dashboard 限流配置流控模式直连关联链路 流控规则快速失败Warm Up排队等待 4. Sentinel Dashboard 熔断配置5. Sentinel Dashboard 热点配置 1. Senti…

MEMC功能详解

文章目录 MEMC的工作原理&#xff1a;优点&#xff1a;缺点&#xff1a;适用场景&#xff1a;1. Deblur&#xff08;去模糊&#xff09;2. Dejudder&#xff08;去抖动&#xff09;总结两者区别&#xff1a; MEMC&#xff08;Motion Estimation and Motion Compensation&#x…

打破“几何第五公设不可证明”的神话——黄氏平行定义使证明第五公设易如反掌

黄小宁 绿色图片中的直线平行的定义&#xff08;此定义可推广为相应的平面平行的定义&#xff09;使人能根据几何常识一下子证明第五公设从而表明“2000年都无人能解决的世界著名数学难题”其实是一个天大的笑话。