在使用机器学习或者深度学习的时候,通常需要很多数据来训练这些模型,但是有很多场景数据量比较少或者收集数据的成本比较高,这时通常会采用数据增强方法来扩充样本数量来满足模型的训练要求。
ChatAug和AugGPT是两个兄弟模型,来自同一作者的不同论文版本,ChatAug来自V1、V2版本,AugGPT来自V3版本
论文总地址 :https://arxiv.org/abs/2302.13007
V1、V2版本
论文题目 :《ChatAug: Leveraging ChatGPT for Text Data Augmentation》
传统数据增强
传统的数据增强方案主要有 character-level , word-level , embedding-level ,其中character-level会采用随机插入,删除,替换,交换等方法来进行数据增强,word-level除了使用上述方法外,还有同义词替换,比如使用PPDB,WordNet等,同义词替换方法保证了语义一致性,比较适合文本分类任务。embedding-level是使用embedding空间的top-k个最相近的词来进行替换,但是这种方法有个明显的缺点,就是有可能会被反义词替换,因为反义词的embedding通常与原始词比较接近,比如“hot”和“cold”embedding相近,但是语义不同,因此在替换之后还需要反义词词典进行校准。
基于ChatGPT数据增强在few-shot文本分类的应用
基于ChatGPT数据增强的框架如下图Fig1所示:
基于 ChatGPT 数据增强在few-shot文本分类上的应用流程如下图所示:
基本训练步骤如下:
Step1 :首先在一个base数据集上训练BERT模型;
Step2 :对另一个数据集在ChatGPT上进行数据增强;
Step3 :把增强前后的数据集合并,在Step1初始化的BERT模型上进行fine-tuning
基于ChatGPT数据增强样例
基于ChatGPT数据增强在few-shot文本分类的 模型评估
采用了cosine similarity和TransRate两种评估指标
结论 :从上述表2、3可以看出,使用ChatGPT数据增强后的效果在文本分类任务上都优于其他数据增强方法。
结论 :把数据增强的样本可视化在二维图中,可以看到基于ChatGPT的数据增强也是优于其他方法。
不足与展望
1、在扩展医疗文本的时候由于缺乏领域数据导致数据增强产生了一些错误数据;
2、目前只在文本分类任务进行了实验,没有扩展到其他NLP任务;
V3版本
论文题目 :《AugGPT: Leveraging ChatGPT for Text Data Augmentation》
新增了单多轮对话Prompt
个人感受 :
论文的工作大致总结为使用ChatGPT来生成了一些数据,然后把这些生成的数据和原始数据合并又训练了一个BERT模型来做小样本文本分类。
作者对基于ChatGPT的数据增强方案和其他数据增强方案效果做了一些对比,从结果来看是不错的。但是如果直接使用ChatGPT做小样本分类效果会怎么样呢?
从上图看出在Symptoms数据集上直接使用ChatGPT是比AugGPT效果好的,只是在Amazon和PubMed20K的数据集上效果比ChatGPT好,作者的解释是在简单数据集上ChatGPT效果好,但是如果数据复杂,那么AugGPT是有优势的。
不过论文中只是做了三个数据集的对比,而且是文本分类任务,那么在其他数据集上或者其他NLP任务上表现如何呢?使用CAugGPT和直接使用ChatGPT差别真的很大吗?期待后续工作......
