资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

数据增强工具

策略简介

  • 支持环境: py3.7+PaddlePaddle2.0
  • 目前文心2.1.0数据增强工具提供4种增强策略:遮盖、删除、同词性词替换、词向量近义词替换
  • 可通过入口参数配置各增强策略的概率比例,在数据的一次增强中使用多种增强策略

依赖说明:

模块 依赖 原理简介
unk no 随机mask
truncate no 随机删除
pos lac 同词性词替换,依赖LAC算子进行分词和词性标注
w2v lac, gensim, tqdm 词向量近义词替换
  • gensim安装最新版本:pip install gensim
  • tqdm安装:pip install tqdm
  • LAC安装最新版本:pip install lac

脚本运行(说明)

开发套件用于数据增强的python脚本位于目录./wenxin_appzoo/tools/data/data_aug/data_aug.py

  • 运行data_aug.py脚本
#运行脚本命令格式:python data_aug.py input_dir output_dir
#其中input_dir是输入数据所在目录路径,output_dir是输出结果存放目录(用户可根据自己数据存在位置进行更改)
#以文本分类任务为例,运行脚本命令为:

##1、进入./wenxin_appzoo/models_hub
cd ./wenxin_appzoo/models_hub
##2、下载vec2.txt文件
sh download_data_aug.sh
##3、进入./wenxin_appzoo/tools/data/data_aug 目录
cd ../tools/data/data_aug
##4、对./wenxin_appzoo/tasks/text_classification/data/train_data 下的数据进行数据增强
python data_aug.py ../../../tasks/text_classification/data/train_data ../../../tasks/text_classification/data/train_data_aug
  • data_aug.py脚本传参说明
shell输入:
    python data_aug.py -h

shell输出:
    usage: data_aug.py [-h] [-n AUG_TIMES] [-c COLUMN_NUMBER] [-u UNK]
                       [-t TRUNCATE] [-r POS_REPLACE] [-w W2V_REPLACE]
                       [-e ERNIE_REPLACE] [--unk_token UNK_TOKEN]
                       input output
    
    main
    
    positional arguments:
      input                                                #原始待增强数据文件所在文件夹,带label的,一个或多个文本列
      output                                               #输出文件路径
    
    optional arguments:
      -h, --help            show this help message and exit
      -n AUG_TIMES, --aug_times AUG_TIMES                  #数据集数目放大n倍,output行数为input的n+1倍      
      -c COLUMN_NUMBER, --column_number COLUMN_NUMBER      #明文文件中所要增强列的列序号,多列用逗号分割,如:1,2
      -u UNK, --unk UNK                                    #unk 增强策略的概率
      -t TRUNCATE, --truncate TRUNCATE                     #truncate 增强策略的概率
      -r POS_REPLACE, --pos_replace POS_REPLACE            #pos_replace 增强策略的概率
      -w W2V_REPLACE, --w2v_replace W2V_REPLACE            #w2v_replace 增强策略的概率
      --unk_token UNK_TOKEN                    

下游任务使用demo

分类任务

使用文心框架中的增强工具在下游任务中进行数据增强,然后再训练:

  • 进去下游任务(分类任务)
cd ./wenxin_appzoo/tasks/text_classification/
  • 一键启动数据增强和训练脚本
sh run_with_data_aug.sh
上一篇
实战演练:使用文心进行模型推理
下一篇
分词工具与词表生成工具(Python)