正向生成、反向生成、正反向生成:LLM生成标注数据的几种方式

自然语言处理(NLP)中的低资源任务(例如医药文本的事件检测、关系三元组抽取等)往往缺乏大量的已标注数据,从而难以训练或微调专门的模型。在没有大量已标注数据的情况下,仅基于通用的预训练模型,采用Zero-Shot或者Few-Shot推理来完成这些任务,完成任务的效果目前来说往往较差12

获得大量标注数据的一条途径是人工标注,但是人工标注的成本一般较高。另一条途径是使用大语言模型(LLM)来生成标注数据。根据近期发布的一篇论文1,使用LLM生成标注数据有以下几种方式:正向生成(Forward Generation)、反向生成(Inverse Generation)、以及正反向生成(Forward-Inverse Generation,简称FIG)。

正向生成

正向生成(Forward Generation)比较容易理解。假设存在未标注的专门领域文本数据。正向生成就是针对未标注的文本数据,让LLM生成标注结果(或称"标签")。

正向生成可以用X→Y'来表示,其中,X表示原始的文本数据,Y'表示LLM生成的标签,'表示噪音;{(X,Y')}表示{(待标注文本,标签)}数据集。

正向生成的缺点是:所生成的标签的质量取决于LLM的推理能力;由于推理、尤其较复杂的推理目前还不是一般LLM的强项,所生成标签的准确性不高、且不容易控制。

反向生成

反向生成(Inverse Generation)根据已有的、或者已生成的标签,让LLM生成文本数据。

以一个信息抽取任务为例3,反向生成简单来说首先根据种子数据生成具有一定结构的抽取信息,然后提示LLM生成含有抽取信息的文本。

反向生成可以用Y'→X'来表示,其中,Y'表示已有的、或者已生成的标签,X'表示LLM生成的文本,'表示噪音;{(X',Y')}表示{(待标注文本,标签)}数据集。

反向生成可以发挥LLM在文本生成方面的长处。同时,反向生成也存在以下的缺点:

  • LLM所生成的文本内容分布较广,较难限制在一个专门领域之内,即使在提示语中加入限制领域的要求,问题也得不到较好的解决1
  • LLM所生成的文本中可能含有属于其它标签的内容,从而使得标注不完整,影响生成文本的准确性以及已有的、或者已生成的标签的准确性。

正反向生成

正反向生成(FIG)是一种综合了正向生成和反向生成的混合式方法,目的是提高LLM所生成的标注数据的质量。在一篇以事件检测(Event Detection)标注数据的生成为背景的论文1中,对于正反向生成的描述大致是这样的:

  1. 假设存在未标注的专门领域文本数据。首先,针对未标注文本数据,通过正向生成来提取事件类型和触发词,并将事件类型和经过筛选的触发词组织成一定的结构;
  2. 根据上一步产生的信息、以及任务指示和事件定义,通过反向生成来生成文本数据X';
  3. 针对上一步产生的文本数据X',再次通过正向生成标注出全部标签,以确保所有应该被标注的信息均被标注。

上述论文1的实验结果表明,与正向生成相比,正反向生成所生成的标签更准确;与反向生成相比,正反向生成所生成的文本可以更好地限制在一个专门领域内。

在分别使用:

  • 正向生成、
  • 反向生成、以及
  • 正反向生成

生成标注数据,并训练下游的事件检测(Event Detection)模型后,正反向生成所生成的标注数据,其训练出的下游模型在测试中的表现最优。

测试的结果还表明,正反向生成所生成的标注数据,其训练出的模型明显优于ChatGPT的直接推理,但是落后于人工标注数据所训练出的模型。

不过对于低资源任务来说,由于缺乏人工标注数据,以上最后一项比较的实际意义也许并不大。

参考文献

1 FIG: Forward-Inverse Generation for Low-Resource Domain-specific Event Detection.

arxiv.org/abs/2502.17...

2 TextEE: Benchmark, Reevaluation, Reflections, and Future Challenges in Event Extraction.

arxiv.org/abs/2311.09...

3 STAR: Boosting Low-Resource Information Extraction by Structure-to-Text Data Generation with Large Language Models.

arxiv.org/abs/2305.15...

封面图:CHUTTERSNAP、Unsplash

相关推荐
艾莉丝努力练剑14 分钟前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
磁场转动100万匹16 分钟前
PyTorch 手写数字识别实战:从数据加载到模型训练(零基础详解版)
人工智能·pytorch·python
土司大王6 小时前
LeetCode hot100——对称二叉树
算法·leetcode·职场和发展
TaoMetrix6 小时前
TaoMetrix:AI 硬件创业公司如何做好原型制造
人工智能·制造
智圣新创016 小时前
面向多级组织协同场景 高校第二课堂一站式管理中枢落地全场景实操答疑
大数据·人工智能
cd_949217216 小时前
AI纹理和Substance Painter手绘纹理哪个更适合游戏资产制作?
人工智能·游戏·substance painter
sali-tec7 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
Navigator_Z7 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
Shockang7 小时前
用 AI 打造高品质 Web 应用
人工智能
l1258657 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap