当前位置: 首页 > news >正文

数据增强术:如何利用大模型(LLMs)来模拟不同的扰动类型以增强信息提取任务的鲁棒性

一、对抗样本库构建

1. 基于LLMs的领域针对性扰动设计对抗样本生成
  • 替换实体、三元组和触发器(Replace Entity, Triple, and Trigger)

    • 使用LLMs(如GPT-4)来替换句子中的实体、关系三元组或事件触发器,同时保持其类型不变,并确保其他内容不受影响:
      • xxx名称(如“x方” → “xx方”)、xx编号(如“XM2024-001” → “xx编号:24-ZB-001”)。
      • 保留实体类型(x构、x间、x额等),确保语义一致性。
    • 规则辅助:建立xxx术语替换词典(如“xx保证金” → “xxxx金”)。
  • 上下文扰动

    • 冗余信息注入:在句子中插入无关条款(如“根据《中华人民共和国xxxxx》规定……”)。
    • 格式扰动
      • 删除标点或添加无序段落分隔符(如“###”)。
      • 大小写混合(如“xx截止时间:2024年12月31日” → “xx截止时间:2024年12月31日”)。
    • 改变上下文(Change Context)
      去除句子中的标点、实体、事件触发器和停用词,只保留有意义的上下文词汇。然后随机选择最多四个单词并用[MASK]标记替换。接着,使用LLMs为每个[MASK]标记生成三个预测,并随机选择一个进行替换。
    • 扩展句子(Extend Sentence)
      在句子的开头或结尾添加语义相关的内容,以增加句子的语义深度。对于NER任务,新句子必须保持原始实体的边界和类型;对于RE任务,原始的关系三元组不能改变;对于ED任务,原始的事件触发器不能引入新的事件信息。
  • 噪声注入

    • 拼写错误:模拟OCR识别错误(如“xx文件” → “xx文仵”)。
    • 符号干扰:插入特殊字符(如“xx预算:¥5,000,000” → “xx预算:¥5,000,000”)。
  • 领域特定扰动

    • 条款变异:同一条款不同表达(如“xx文件需密封提交” → “xx文件应加盖公章后密封递交”)。
    • 时间格式多样性:统一时间格式为多种形式(“2024-12-31” → “2024年12月31日”或“31/12/2024”)。
2.基于规则的对抗样本生成
  1. 拼写错误注入(Typo Injection)
    • 目标:模拟现实世界中常见的拼写错误。
    • 实现:在较长的单词中随机插入拼写错误。由于LLMs生成的错误通常不现实,因此采用规则方法来实现。

  2. 大小写转换(Lowercase Conversion)
    • 目标:模拟非标准输入,评估模型在文本格式变化时的鲁棒性。
    • 实现:将每个单词的所有字符转换为小写,除了第一个单词的首字母。这测试了模型在非标准输入条件下是否仍能准确提取信息。

3. 样本生成与验证
  • LLM生成流程
    • 输入原始xxx文本,通过定制Prompt引导LLM生成对抗样本(示例见附录)。
    • 示例Prompt:
      请对以下xxx进行扰动生成:  
      1. 替换实体(x标方、项目编号),保持类型一致。  
      2. 添加冗余法律条款,不改变核心信息。  
      3. 注入1-3处拼写错误(如同音字、形近字)。  
      原始文本:{原文}  
      
  • 人工审核
    • 验证生成样本的语义合理性和扰动有效性,过滤不符合实际的噪声样本。
    • 确保敏感信息(如xx名称、金额)脱敏处理。

二、动态数据增强策略

一种基于损失的动态选择困难样本进行迭代训练的方法。首先,使用初始模型在原始训练集上进行训练,并计算增强样本的推理损失。然后,根据推理损失选择高损失样本进行微调。接下来,基于微调后的模型重新计算增强样本的推理损失,并选择困难样本进行下一轮训练。重复此过程,直到模型在验证集上的性能提升低于收敛阈值。

1.训练方法
  1. 输入
    D:原始训练数据集。
    M:初始的信息抽取模型。
    β:用于选择高损失样本的比例。
    δ:用于判断模型性能提升是否达到收敛的阈值。

  2. 输出
    M_t:经过多次迭代微调后的模型。

  3. 步骤
    步骤1:使用LLM生成基于原始训练数据D的增强数据集 D aug D_{\text{aug}} D<


http://www.mrgr.cn/news/93807.html

相关文章:

  • Android 仿 DeepSeek 思考效果:逐字显示 AI 生成内容,支持加粗、颜色,复制内容
  • 『MaxKB系列(一)』在Windows下搭建MaxKB开发环境
  • 现代互联网网络安全与操作系统安全防御概要
  • 简单的二元语言模型bigram实现
  • 【VUE2】第三期——样式冲突、组件通信、异步更新、自定义指令、插槽
  • Python实例:PyMuPDF实现PDF翻译,英文翻译为中文,并按段落创建中文PDF
  • LangChain4j开发RAG入门示例
  • 前端需要在大模型项目中具备的知识
  • PCIE接口
  • 002-SpringCloud-OpenFeign(远程调用)
  • SQL注入目录【绕过+布尔时间脚本】
  • 【DeepSeek】5分钟快速实现本地化部署教程
  • Cursor安装配置
  • Mybatis中的分页操作,如何使用PageHelper进行分页,以及Spring Boot整合Mybatis Plus分页
  • QT项目初步认识(对象树)
  • vs code 设置字体颜色
  • deepseek在pycharm中的配置和简单应用
  • K8S学习之基础十九:k8s的四层代理Service
  • 分布式ETCD面试题及参考答案
  • 数据结构第六节:二叉搜索树(BST)的基本操作与实现