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

数据增强

策略简介

支持环境:python3.7 + paddle2.0.1及以上;

目前文心数据增强工具提供4种增强策略:

  1. 遮盖、删除、同词性词替换和词向量近义词替换;
  2. 可通过入口参数配置各增强策略的概率比例,在数据的一次增强中使用多种增强策略。

依赖说明

模块 依赖 原理简介
unk 随机替换token为unk
truncate 随机删除
pos lac 同词性词替换,依赖LAC算子进行分词和词性标注
w2v lac, gensim, tqdm 基于词向量产生的近义词进行替换

其中,lac和Word2vec数据文件(用于w2v策略)可由文心框架提供下载脚本,gensim, tqdm可通过pip install -r requirements.txt安装;

脚本接口参数说明

usage: data_aug.py [-h] [-n AUG_TIMES] [-c COLUMN_NUMBER] [-u UNK]
                   [-t TRUNCATE] [-r POS_REPLACE] [-w W2V_REPLACE]
                   [--unk_token UNK_TOKEN]
                   input output
main
positional arguments:
  input
  output
optional arguments:
  -h, --help            show this help message and exit
  -n AUG_TIMES, --aug_times AUG_TIMES
  -c COLUMN_NUMBER, --column_number COLUMN_NUMBER
  -u UNK, --unk UNK
  -t TRUNCATE, --truncate TRUNCATE
  -r POS_REPLACE, --pos_replace POS_REPLACE
  -w W2V_REPLACE, --w2v_replace W2V_REPLACE
  --unk_token UNK_TOKEN

如上依次为,

  • input:原始待增强数据文件,带label标签,包含一个或多个文本列
  • output:输出文件路径
  • 放大倍数n:放大n倍,output行数为input的n+1倍
  • 增强列序号:多列用逗号分割,比如 1 or 1,2,表示第一列或者第一列和第二列;即用户可以选择对多个文本列分别进行数据增强;
  • 各个增强策略被使用的概率,可以单独使用一种增强策略,也可以多种搭配使用,增强策略的概率和为1;

LAC和Word2vec数据文件下载方式

cd tasks/model_files/
# LAC预制模型下载
sh download_lac.sh
# 安装LAC
pip install LAC-0.1.1.tar.gz
# Word2vec数据文件下载(w2v任务)
sh download_vec2.sh

如何使用数据增强

示例默认采用unk,随机mask的方式对数据进行增强;使用默认的策略概率做增强命令如下:

python data_aug.py {your_input_data_folder} {your_output_path}  #注意第一个参数是要增强的原始数据所在目录

如果需要指定策略概率做增强,比如20%用POS_REPLACE,80%用W2V_REPLACE

python data_aug/data_aug.py -u 0 -t 0 -r 0.2 -w 0.8 {your_input_data_folder} {your_output_path}
上一篇
噪声样本挖掘
下一篇
文心数据格式校验工具