【大模型 数据增强】IEPILE:基于模式的指令生成解法,提高大模型在信息抽取任务上的性能

IEPILE:基于模式的指令生成解法,提高大模型在信息抽取任务上的性能

    • 提出背景
    • 基于模式的指令生成解法
    • 效果

 


提出背景

论文:https://arxiv.org/pdf/2402.14710.pdf

代码:https://github.com/zjunlp/IEPile

 

假设我们有一个信息抽取任务,目标是从新闻文章中抽取有关企业并购事件的信息。

包括抽取如下模式(或字段)的信息:并购方(Acquirer)、被并购方(Acquiree)、交易金额(Transaction Amount)和交易日期(Transaction Date)。

存在的问题

  1. 模式查询差异: 在训练阶段,可能所有模式都被查询,但在实际评估或应用中,只查询了部分模式,例如仅查询了并购方和被并购方,没有查询交易金额和日期。这可能会导致模型在真实场景下性能下降。

  2. 语义混淆: “并购方”和“被并购方”的字段可能在文本中以多种方式被提及,例如,一个企业可能被称为“公司”,“企业”,或者直接用其公司名。

    此外,一家公司在不同的并购事件中可能既是并购方也是被并购方,这增加了语义上的混淆和抽取的难度。

针对模式查询差异:

  • 解法: 引入动态模式查询调整机制,在训练阶段不仅使用包含所有模式的指令进行训练,还要模拟实际情况,使用只包含部分模式的指令进行额外的训练。

    这样可以使模型适应于在不完全信息环境下进行准确的信息抽取。

  • 应用举例: 在训练数据中,我们不仅提供完整的并购事件信息(包括并购方、被并购方、交易金额和交易日期),还要创建一些只包含部分信息(如仅并购方和被并购方)的训练实例。

    这样,模型学会在缺少某些字段信息的情况下也能进行有效的信息抽取。

针对语义混淆:

  • 解法: 构建一个术语同义词库,将企业可能的不同称呼统一映射到一个标准化的表示上。

    此外,引入上下文理解能力的训练,让模型能够根据上下文区分相同术语在不同场景下的角色(如并购方还是被并购方)。

    对于“公司”、“企业”或特定公司名的提及,都映射到同一实体上,并在模型训练时加入上下文辨识的能力,如通过前后文判断一个实体在特定新闻报道中是作为并购方还是被并购方。

    这样,模型能够更好地理解和抽取并购事件中的各个角色,即使在术语使用上存在多样性。

在这里插入图片描述
上图是 IEPILE(一个信息抽取指令数据集)构建的概览,流程分为几个部分:

  1. 数据收集与清理: 图表左侧列出了用于构建IEPILE的多个数据集,这些数据集被分为三类:命名实体识别(NER)、关系抽取(RE)和实体抽取(EE)。

    这些数据集从网络上收集,然后经过清理以准备用于进一步处理。

  2. 基于模式的指令生成(Hard Negative Schema Construction): 这一部分展示了如何构建“Hard Negative Schema Dictionary”。

    这是一个包含特定模式和相关负面模式(或“硬负面”模式,可能会造成混淆的模式)的词典。

    例如,模式 “location contains” 与其硬负面模式,如 “neighborhood of”, “administrative division of country” 等关联。

  3. 批量指令生成: 在右侧,展示了如何将正面和负面的模式结合起来,以生成一批指令。

    这些指令被分成多个模式(Schema),每个模式都包含一组特定的标签。例如,“Schema 1” 可能包含 “neighborhood of”, “location contains”, “administrative division of country”, “country capital” 这些标签。

    这个过程中考虑了一个名为 split_num 的变量,这个变量定义了在每批指令生成中会用到的模式数量。

    这有助于确保训练数据中的模式与评估或应用阶段中可能出现的模式数量一致。

这张图是对一个复杂数据处理过程的视觉概述,说明了如何从现有数据集中提取和清洗数据,构建模式字典,并基于这些模式生成训练数据,以便在信息抽取任务中训练机器学习模型。

 


基于模式的指令生成解法

针对信息抽取(IE)任务的改进解法可以被称为“基于模式的指令生成解法”,主要包括两个关键特征:硬负模式构建(Hard Negative Schema Construction)批量指令生成(Batched Instruction Generation)

这个解法旨在提高大型语言模型在信息抽取任务中的性能,尤其是在面对模式数量不一致和模式间的语义混淆时。

  1. 硬负模式构建(特征1):

    • 目标是减少模型在信息抽取任务中的语义混淆。
    • 方法是创建一个字典,其中包含每个正面模式和一系列与其语义上接近的负面模式。
    • 这允许模型学习更准确地区分那些在语义上可能引起混淆的模式。
  2. 批量指令生成(特征2):

    • 目标是处理训练与评估时查询模式数量不一致的问题。
    • 方法是动态限制每个指令中查询的模式数量,并将这些模式分批查询。
    • 这样即使在评估阶段查询的模式数量与训练不同时,也能保持模型的泛化能力。

硬负模式构建的例子(特征1):

假设我们正在开发一个模型,其任务是从新闻文章中抽取与企业并购相关的事件。其中一个正面模式可能是“公司A收购公司B”。

  • 目标: 减少模型在抽取并购事件时的语义混淆。
  • 方法: 我们创建一个硬负模式字典,其中“合作”或“伙伴关系”等术语可能与“收购”相混淆,但实际上并不表示并购事件。
  • 应用: 当模型在训练中遇到“公司A与公司B建立合作关系”这样的句子时,由于“合作”被标识为硬负模式,模型将学会这并不是一个并购事件,进而在实际应用中更准确地识别真正的并购事件。

批量指令生成的例子(特征2):

继续以上的并购信息抽取任务,假设我们有一组指令,每个指令要求抽取不同数量的模式信息。

  • 目标: 确保模型能在训练和评估时处理不同数量的模式查询。
  • 方法: 我们将指令集分成批次,每批次包含固定数量(比如5个)的模式。每批次的模式可以包括“收购方”、“被收购方”、“交易金额”、“交易日期”等。
  • 应用: 在训练期间,模型通过这种批量处理学会了同时处理多个模式的查询。在评估阶段,即使指令中的模式数量减少到3个或增加到7个,模型也能够适应,因为它已经学会了如何处理不同批次大小的模式集。

通过这两个特征的结合使用,模型在面对实际数据时能够更准确地执行信息抽取任务,同时减少了训练和实际应用之间的性能差距。

完整步骤:

  1. 数据收集和清理:

    • 从多个数据源收集涉及命名实体识别(NER)、关系抽取(RE)和事件抽取(EE)的双语数据。
    • 对数据进行标准化处理,包括格式统一、实例去重和低质量数据排除。
  2. 构建硬负模式字典:

    • 从标准化后的数据集中识别正面模式集合。
    • 定义每个正面模式的硬负模式集合,即语义上接近但并不正确的模式。
  3. 批量指令生成:

    • 将正面模式和一小部分硬负模式组合,形成最终的查询模式集合。
    • 根据预设的split_num将模式集合分批,每批包含固定数量的模式。
  4. 模型训练:

    • 使用生成的批量指令对信息抽取模型进行训练。
    • 确保模型能够适应在数量不一致的模式查询中进行准确的信息抽取。
  5. 模型评估与微调:

    • 在实际的IE任务中评估模型性能。
    • 根据评估结果对模型进行微调,以提高其在实际应用中的准确性和鲁棒性。

效果

在这里插入图片描述
IEPILE 使用后:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Sublime Text4配置C#运行环境

这里写自定义目录标题 前言部署.NET环境Sublime Text4配置C#编译环境1. 下载插件 运行测试 前言 今天把家里的9年前的远古神机搬了出来,重装了个win7的精简版,本打算装个VScode测试一下是否能写C#代码,结果是可以的,但&#xff0…

Mockito单元测试Mockito对Service层的测试案例

前言 以下是关于Mockito的API使用文档 官网:http://mockito.org/ 官网英文API文档:https://javadoc.io/static/org.mockito/mockito-core/5.10.0/help-doc.html#index 非官方中文API文档:https://gitee.com/wnboy/mockito-doc-zh#mockito-%E…

R3F(React Three Fiber)经验篇

之前一直在做ThreeJS方向,整理了两篇R3F(React Three Fiber)的文档,这是经验篇,如果您的业务场景需要使用R3F,可以参考一下这个文档。下面是目录,按照需求自取。 基础篇 ⬇️ R3F(…

SPI总线结构和原理

一、概述 SPI(Serial Peripheral Interface)是一种同步串行通信接口标准,被广泛应用于各种微控制器和外设之间的通信。SPI总线结构简单、易于扩展,并且支持多主设备同时操作。 二、信号线 SCK(Serial Clock&#xf…

SpringIOC之support模块StaticMessageSource

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

zemax冉斯登目镜

两个焦距相等的平凸透镜组成,两个凸面相对,两者间距等于焦距的2/3 球差、轴向色差、畸变都小于惠更斯目镜 但是垂轴色差较大 可以当作普通放大镜使用 这里没有可以控制两个平凸透镜焦距相等 入瞳直径4mm波长0.51、0.56、0.61半视场15焦距28.2mm 镜头…

Javase补充-Arrays类的常用方法汇总

文章目录 一 . 排序方法二 . 查找方法三 . 判断是否相等的方法四 . 拷贝方法五 . 填充方法 一 . 排序方法 我们第一个要介绍的就是sort方法 这个排序实现的底层逻辑应该是十分复杂的,以我们目前的水平体系应该无法理解,我们今天尝试用我们可以理解的一种排序算法,插入排序来模…

软考41-上午题-【数据库】-关系代数运算3-外连接

一、外连接 连接的拓展,处理由于连接运算而缺失的信息。 1-1、回顾自然连接 1-2、左外连接 示例: 左边的表,数值是全的 1-3、右外连接 示例: 右边的表,数值是全的 1-4、全外连接 示例: 自然连接左外连接…

Linux--shell编程中内部表和外部表之间的转换

内部表和外部表之间的转换 1、查询表的类型 desc formatted student; Table Type: MANAGED_TABLE 2、修改内部表student为外部表 alter table student set tblproperties(EXTERNALTRUE); 3、查询表的类型 desc formatted student; Table Type: EXT…

python:读 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件

Freeplane 是一款基于 Java 开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能,比如数学公式、节点属性面板等。 强大的节点功能,不仅仅节点的种类很多&#xff0…

【Ubuntu】解决Ubuntu 22.04开机显示器颜色(高对比度/反色)异常的问题

使用Ubuntu 22.04时强制关机了一下(make -j16把电脑搞崩了),开机后系统显示的颜色异常,类似高对比度或反色,如下图。看着很难受,字体也没办法辨认。还好之前遇到过类似的问题,应该是一个配置文件…

132 Linux 系统编程9 ,IO操作,lseek 函数,truncate函数,查看文件的表示形式

一 lseek 函数 函数说明:此函数用于文件偏移 Linux中可使用系统函数lseek来修改文件偏移量(读写位置) 每个打开的文件都记录着当前读写位置,打开文件时读写位置是0,表示文件开头,通常读写多少个字节就会将读写位置往后移多少个字…

进程 2月24日学习笔记

1.进程: 程序:存放在外存中的一段数据组成的文件 进程:是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2.进程相关命令: 1.top 动态查看当前系统中的所有进程信息(根据CPU占用率排序) PID:唯一识…

容器镜像详解

1. 镜像组成 一个标准的OCI容器镜像由index, manifest, config, image layers这几个部分组成。 以docker镜像为例,下载的镜像文件保存在/var/lib/docker/目录下面 image/overlay2子目录下面保存着镜像相关的一些元数据 在下面的介绍主要以nginx:latest镜像为例子…

Ps:原色通道直方图(CMYK)

在 CMYK 颜色模式下,Photoshop 的“通道”面板中有青色、洋红、黄色及黑色四个原色通道。 与 RGB 颜色模式基于光的加法混合不同,CMYK 颜色模式基于颜料的减法混合,更适合反映实际印刷中油墨的使用情况。 默认情况下,CMYK 原色通道…

STM32 TCP实现OTA

芯片:stm32f407 开发平台:stm32cubeide 上位机开发平台:visual studio 2017 1. FLASH分配 将flash划分为四个部分: bootloader: 0x8000000-0x800ffff app1: 0x8010000-0x805ffff app2: …

Linux配置Maven环境变量

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【尚硅谷】MybatisPlus 学习笔记(上)

目录 一、MybatisPlus简介 1.1、简介 1.2、支持数据库 二、入门案例 2.1、开发环境 2.2、创建数据库及表 创建表 添加数据 2.3、创建SpringBoot项目 初始化工程 导入依赖 idea中安装lombok插件 配置application.yml 启动类 实体类 添加mapper 测试 添加日志 …

算法沉淀——动态规划之斐波那契数列模型(leetcode真题剖析)

算法沉淀——动态规划之斐波那契数列模型 01.第 N 个泰波那契数02.三步问题03.使用最小花费爬楼梯04.解码方法 动态规划(Dynamic Programming,简称DP)是一种通过将原问题分解为相互重叠的子问题并仅仅解决每个子问题一次,将其解存…

应用回归分析:贝叶斯回归

贝叶斯回归是一种统计方法,它利用贝叶斯定理来更新对回归参数的估计。这种方法不仅考虑了数据的不确定性,还考虑了模型参数的不确定性,为预测提供了一个更加全面的框架。在本文中,我们将深入探讨贝叶斯回归的基本概念、如何实现它…