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

news2024/9/23 5:17:56

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://www.coloradmin.cn/o/1468052.html

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

相关文章

[SpringDataMongodb开发游戏服务器实战]

背景: xdb其实足够完美了,现在回想一下,觉得有点复杂,我们不应该绑定语言,最好有自己的架构思路。 七号堡垒作为成功的商业项目,告诉我:其实数据是多读少写的,有修改的时候直接改库也…

论文是怎么一回事

最近找到女朋友了,她还挺关心我毕业和论文的事情,我开始着手弄论文了~ 说来惭愧,我一直以为读研就是做东西当作工作来完成,结果一直陷入如何实现的问题,结果要论文时不知道怎么弄创新点,这才转过头来弄论文…

学生个性化成长平台搭建随笔记

1.Vue的自定义指令 在 Vue.js 中,我们可以通过 Vue.directive() 方法来定义自定义指令。具体来说,我们需要传递两个参数: 指令名称:表示我们要定义的指令名称,可以是一个字符串值,例如:has-rol…

【深度学习目标检测】十八、基于深度学习的人脸检测系统-含GUI和源码(python,yolov8)

人脸检测是计算机视觉中的一个重要方向,也是一个和人们生活息息相关的研究方向,因为人脸是人最重要的外貌特征。人脸检测技术的重要性主要体现在以下几个方面: 人脸识别与安全:人脸检测是人脸识别系统的一个关键部分,是…

详解 CSS 的背景属性

详解 CSS 的背景属性 背景颜色 语法: background-color: [指定颜色]; 注:默认是 transparent (透明) 的,可以通过设置颜色的方式修改 示例代码: 运行效果: 背景图片 语法:background-image: url(...); url 可以是绝对路径 也可…

uni-app 经验分享,从入门到离职(五)——由浅入深 uni-app 数据缓存

文章目录 📋前言⏬关于专栏 🎯什么是数据存储🧩数据存储——存储📌 uni.setStorage(OBJECT)📌 uni.setStorageSync(KEY,DATA) 🧩数据存储——获取📌 uni.getStorage(OBJECT)📌 uni.g…

【前端素材】推荐优质后台管理系统Start Admin平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具,它通常作为一个独立的后台界面存在,供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能: 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

【论文阅读】ICCV 2023 计算和数据高效后门攻击

文章目录 一.论文信息二.论文内容1.摘要2.引言3.主要图表4.结论 一.论文信息 论文题目: Computation and Data Efficient Backdoor Attacks(计算和数据高效后门攻击) 论文来源: 2023-ICCV(CCF-A) 论文团…

Leetcoder Day20| 二叉树 part09+总结

语言:Java/Go 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移…

一些不得不知道的概念!吴恩达deeplearning.ai:人工智能的导论

文章目录 强人工智能 AGI人工智能的分类深度学习AGI可能实现的一些证据一种学习算法的假设具体的例子 为什么人工智能如此高效 以下内容有任何不理解可以翻看我之前的博客哦 强人工智能 AGI 强人工智能也叫做通用人工智能,是人工智能学科发展的一个重要目标。 人…

Bean的声明周期

1.创建Bean对象(调用无参数构造) 2.给bean对象设置相关属性(依赖注入) 3.bean后置处理器(初始化前执行,类似于过滤器和拦截器) 首先要定义一个类MyBeanPost,实现BeanPostProcessor…

Linux基础 7:自定义shell的编写

自定义shell的编写 一.自定义shell的编写。1.打印命令行提示符。2.获取用户输入字符串进行字符串分割保存。3.调用系统调用接口执行命令(使用子进程)4.对于内建命令的特殊处理。1.cd2.cd 特殊符号识别: 5.export和echo作为内建命令&#xff1…

动态规划3,地下城游戏

思路: 经验题目要求 a.以某个位置为结尾… dp[i][j]表示:走到【i,j】位置的时候,所需要的最初最低血量。 b.以某个位置为起点 dp[i][j]表示,从【i,j】出发,到达终点,所需要的最低初…

微信小程序云开发入门

写在前面: 参考的课程是咸虾米老师在b站的课:2.2.在页面展现云数据库的内容_哔哩哔哩_bilibili 云开发官方文档:微信开放文档 1、什么是云开发? 用自己的话来说就是把服务器和后台都搭在腾讯开发的服务器上。 2、如何开通云开发…

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-WatchDog

目录 一、 WATCHDOG 概述功能简介基本概念 二、WATCHDOG 模块相关API三、WATCHDOG HDF驱动开发3.1、开发步骤(待续...) 坚持就有收获 一、 WATCHDOG 概述 功能简介 看门狗(Watchdog),又称看门狗计时器(Watchdog timer&#xff0…

【AI数字人-论文】RAD-NeRF论文

文章目录 前言模型框架动态的NeRF前处理头部模型音频特征眼部控制头部总体表示 躯干模型loss 结果参考 【AI数字人-论文】AD-NeRF论文 前言 本篇论文有三个主要贡献点: 提出一种分解的音频空间编码模块,该模块使用两个低维特征网格有效地建模固有高维音…

关于Kinect 互动沙盘 深度图 Shader Graph 分层

把Kinect的深度图穿给Shader Graph using com.rfilkov.kinect; using UnityEngine; using UnityEngine.UI; public class GetDepthTex : MonoBehaviour { public Material Mat_SandTable; void Update() { Mat_SandTable.SetTexture("_MainTex"…

LabVIEW串口通信的激光器模块智能控制

LabVIEW串口通信的激光器模块智能控制 介绍了通过于LabVIEW的VISA串口通信技术在激光器模块控制中的应用。通过研究VISA串口通信的方法和流程,实现了对激光器模块的有效控制,解决了数据发送格式的匹配问题,为激光器模块的智能控制提供了一种…

Open CASCADE学习|几何数据结构

在几何引擎内一般把数据分成两类:几何信息与拓扑信息。二者可以完整地表达出实体模型,彼此相互独立、又互相关联。几何信息是指构成几何实体的各几何元素在欧式空间中的位置、大小、尺寸和形状信息。例如一条空间的直线,可以用两端点的位置矢…

019—pandas 计算实验仪器正常运行周期时长

需求: 对指定两个状态作为一个周期,并计算出周期内的差值,写到周期结束所在的行上。pandas 非常适合实现此类有着较为复杂逻辑的问题。 思路: 这个问题的难点是状态的不规律性,如何才能准确找出所有 T 和 C 的周期。…