前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一键中文数据增强工具

一键中文数据增强工具

作者头像
数据派THU
发布于 2022-08-29 02:47:04
发布于 2022-08-29 02:47:04
75700
代码可运行
举报
文章被收录于专栏:数据派THU数据派THU
运行总次数:0
代码可运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
来源:机器学习AI算法工程本文约1200字,建议阅读5分钟本文为你推荐一键中文数据增强工具。

使用:pip install nlpcda

https://github.com/425776024/nlpcda

介绍

一键中文数据增强工具,支持:

  • 1.随机实体替换
  • 2.近义词
  • 3.近义近音字替换
  • 4.随机字删除(内部细节:数字时间日期片段,内容不会删)
  • 5.NER类 BIO 数据增强
  • 6.随机置换邻近的字:研表究明,汉字序顺并不定一影响文字的阅读理解<<是乱序的
  • 7.中文等价字替换(1 一 壹 ①,2 二 贰 ②)
  • 8.翻译互转实现的增强
  • 9.使用simbert做生成式相似句生成

经过细节特殊处理,比如不改变年月日数字,尽量保证不改变原文语义。即使改变也能被猜出来、能被猜出来、能被踩出来、能被菜粗来、被菜粗、能菜粗来。

WIP

  • 基于语音的洗文本过程(类似翻译)。文本转语音>语音识别回文本:基于fastspeech2对文本生成语音,基于wav2vec2语音识别文本

例子: input: 新华社北京消息 > fastspeech2 > x.wav x.wav > wav2vec2 > output: 新华设北京消息

  • 数字转换工具(用于文本转换、中文语音合成需要纯中文)

今天是8月29日消息 > 今天是八月二十九日消息

我有1234个苹果 > 我有一千二百三十四个苹果

意义

  • 在不改变原文语义的情况下,生成指定数量的训练语料文本
  • 对NLP模型的泛化性能、对抗攻击、干扰波动,有很好的提升作用
  • 参考比赛(本人用此策略+base bert拿到:50+-/1000): https://www.biendata.com/competition/2019diac/

⚠️ 单纯刷准确率分数的比赛,用此包一般不会有分数提升

API

1.随机(等价)实体替换

参数:

  • base_file :缺省时使用内置(公司)实体。对公司实体进行替换 是文本文件路径,内容形如: 实体1 实体2 ... 实体n
  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 :文本改变率
  • seed :随机种子

2.随机同义词替换

参数:

  • base_file :缺省时使用内置同义词表,你可以设定/自己指定更加丰富的同义词表: 是文本文件路径,内容形如(空格隔开): Aa01A0 人类 生人 全人类 id2 同义词b1 同义词b2 ... 同义词bk ... idn 同义词n1 同义词n2\
  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 :文本改变率
  • seed :随机种子

3.随机近义字替换

参数:

  • base_file :缺省时使用内置【同义同音字表】,你可以设定/自己指定更加丰富的同义同音字表: 是文本文件路径,内容形如(\t隔开): de 的 地 得 德 嘚 徳 锝 脦 悳 淂 鍀 惪 恴 棏 拼音2 字b1 字b2 ... 字bk ... 拼音n 字n1 字n2\
  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 :文本改变率
  • seed :随机种子

4.随机字删除

参数:

  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 :文本改变率
  • seed :随机种子

5.NER命名实体 数据增强

输入标注好的NER数据目录,和需要增强的标注文件路径,和增强的数量,即可一键增强。

Ner类参数:

  • ner_dir_name='ner_data' : 在ner数据放在ner_data目录下(里面很多.txt)
  • ner_dir_name提供的目录下是各种标注数据文件,文件内容以标准的NER 的BIO格式分开

6.随机置换邻近的字

  • char_gram=3:某个字只和邻近的3个字交换
  • 内部细节:遇到数字,符号等非中文,不会交换

7.等价字替换

参数:

  • base_file :缺省时使用内置【等价数字字表】,你可以设定/自己指定更加丰富的等价字表(或者使用函数:add_equivalent_list): 是文本文件路径,内容形如((\t)隔开): 0 零 〇 1 一 壹 ① ... 9 九 玖 ⑨
  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 :文本改变率
  • seed :随机种子

添加自定义词典

用于使用之前,增加分词效果

8.翻译互转实现的增强

1.百度中英翻译互转实现的增强 note:

申请你的 appid、secretKey:

http://api.fanyi.baidu.com/api/trans

编辑:于腾凯

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
typecho源代码解析4 - 业务逻辑
由路由表中的正则表达式我们能看出首页的URL为https://blog.phpgao.com/或http://www.phpgao.com,并且不接受任何参数。
老高的技术博客
2022/12/28
2680
typecho源代码解析4 - 业务逻辑
为你的 typecho 博客开启 gzip 压缩功能
typecho 这款程序已经足够轻量级了,比起我之前用的 wordpress 和 Emlog 速度快的没话说,但是折腾无止境,速度的诱惑力太大,虽然本来也不慢我还是要优化,今天分享一下给 typecho 开启 gzip 功能以提快你博客的速度! 看下面 在博客的 index.php 中添加一段代码,代码如下: /** 开启gzip压缩, add by yovisun */ ob_start('ob_gzhandler'); 下面放出我改过后完整的 index.php 文件内容:
杨逸轩
2018/06/14
1.4K0
Typecho语法大全/Typech常用函数/Typecho调用方法
32、导航页面列表调用隐藏特定的页面 这个演示隐藏了 al­bum 和 search 两个页面
目的地-Destination
2023/03/06
2K0
typecho插件编写教程5 - 核心代码
分析一下,发布文章的时候,我们需要的信息就是当前文章的URL,我们需要想办法从contents、 class中拿到他。
老高的技术博客
2022/12/28
3900
访问网站首页 index.php,跟着执行流程走一遍
访问网站首页 index.php,跟着执行流程走一遍,细节不深究,碰到不太明白的变量,直接var_dump()输出看看: 1. index.php——首页入口页面,版本判定、是否开启调试、引入 ThinkPHP框架 路径:‘./index.php‘ 判断PHP版本需是5.3.0以上:version_compare(PHP_VERSION,‘5.3.0‘,‘<‘); 系统调试设置:define(‘APP_DEBUG‘, true ); 应用目录设置:define ( ‘APP_PATH‘, ‘./Application/‘ ); 缓存目录设置:define ( ‘RUNTIME_PATH‘, ‘./Runtime/‘ ); 引入ThinkPHP:require ‘./ThinkPHP/ThinkPHP.php‘; 2. ThinkPHP.php——ThinkPHP框架的入口文件,定义各种常量、判断系统环境,初始化应用 路径:‘./ThinkPHP/ThinkPHP.php‘ 定义常量:版本号 THINK_VERSION、URL 模式定义(4 种模式)、类文件后缀 EXT、是否为SAE 环境、常用的系统路径常量(如Think类库目录、应用公共目录、缓存目录、配置目录等); 引入核心类Think.class.php:require CORE_PATH.‘Think‘.EXT; 应用初始化:Think\Think::start(); //命名空间\类名::方法(); //这里用到了命名空间 3. Think.class.php——框架的核心类,初始化应用程序,加载配置、类库,错误和异常处理,实例化对象 路径:‘./ThinkPHP/Library/Think/Think.class.php‘ 声明:Think\Think start()方法:加载需用的类、配置、语言包,是否需要缓存,运行应用 ①设定方法: spl_autoload_register(‘Think\Think::autoload‘); 自动加载类的方法,以及一些错误异常处理方法; ②分布式存储类初始化,用于读取、写入、删除文件;Storage::connect(STORAGE_TYPE); ③开发模式不缓存加载的核心类文件$runtimefile,用户模式将所有需引用的类并到同一个文件中缓存,加快后续访问速度。 ④加载应用的配置文件、需要的函数和类文件、行文扩展等文件路径的数组$mode;include ‘./ThinkPHP/Mode/common.php‘ ⑤循环加载处理$mode 数组中的各路径的文件; ⑥检查应用目录结构是否存在,不存在则会默认生成目录结构;(这个针对ThinkPHP新建一个应用,首次访问时使用) ⑦开始运行应用 App::run(); 即:‘./ThinkPHP/Library/Think/App.class.php‘ 4. App.class.php——加载公共文件配置、URL解析、调用对应的控制器方法 路径:‘./ThinkPHP/Library/Think/App.class.php‘ 声明:Think\App run()方法: ①App::init(); load_ext_file 加载应用的公共文件(./Application/Common/Common/)配置 (./Application/Common/Conf) Think\Dispatcher::dispatch(); URL解析,获取控制器 index、方法 index ②App::exec(); 执行应用程序,及新建控制器HomeConstroller 的实例,即对象; 创建控制器实例:$module = controller(CONTROLLER_NAME,CONTROLLER_PATH); 即=new IndexController(); 利用 php 反 射 机 制 获 取 action 方 法 对 象 , $method = new \ReflectionMethod($module, $action); 执行这个方法:$method->invoke($module); //无参数时执行,访问首页默认执行这个 $method->invokeArgs($module,$args); //有参数时执行; 以上即执行了控制器 ./Application/Hom
PM吃瓜
2019/08/13
4.1K0
Typecho制作单独Tag标签聚合页面 调用所有标签方式
一般我们在自己制作或者选择的其他人Typecho主题的时候,都会默认单篇文章会有调用单篇文章的标签Tag,且可能在侧栏或者底部会调用部分热门的Tag。不过我们有些朋友希望需要将所有的Tags聚合到一个页面,这里就需要独立制作一个标签模板页面。
老蒋
2021/12/24
1.2K0
关于typecho的一些样式代码
循环页面、分类、标签 <!--循环显示页面--> <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>
用户7146828
2021/08/09
1.3K0
Typecho主题模板制作快速入门简易教程
Typecho主题的制作并不难,(以下称模板)只要写好了HTML和CSS,嵌套模板就非常简单了,无需了解标签的内部结构,只要会使用,就能迅速完成模板。
梦溪
2021/08/09
5.9K0
thinkphp6.0 底层源码分析 - 类的自动加载、配置文件初始化
因为工作的需要,深入研究了一下thinkphp的源码,也算是对php知识的一个回归,工作这么多年,我一直坚信php是最好的Web编程语言,它可以做到成本和效率的一个平衡,知其然,更要知其所以然才是高手修炼之道
stark张宇
2023/10/21
6180
typecho插件编写教程3 - 保存配置
如上代码所示,我们在激活和卸载插件方法中有返回值,所以在相应操作时会有相应的提示。
老高的技术博客
2022/12/28
4150
typecho插件编写教程3 - 保存配置
Typecho 文章内链接在新窗口打开实现方式
  默认情况文章中如果有添加链接,那么是从当前窗口跳转的,并且外链没有添加标签,不利于SEO,文章内链接新窗口并添加标签如下。
宜轩
2022/12/29
1.6K0
Typecho 文章内链接在新窗口打开实现方式
实战技巧 | 知其代码方可审计
终于来到了代码审计篇章。希望看了朋友有所收获,我们通常把代码审计分为黑盒和白盒,我们一般结合起来用。
辞令
2020/09/17
1.7K0
实战技巧 | 知其代码方可审计
PHP反序列化进阶学习与总结
序列化(串行化):将变量转换为可保存或传输的字符串的过程;反序列化(反串行化):将字符串转化成原来的变量使用。
Ms08067安全实验室
2022/09/26
6500
twitter主题实现前台发文章
博客原来主题是仿推特的一款主题,文章样式特别多,所以咱也是特别喜欢,也总喜欢搞来搞去的,今晚也是从 @XiaoFans 那里发现了新东西,实现主题前台的发文,前台发文挺新颖的,也是特别想动手实现一下,前台发文是博客的一大特点,可以更加方便,目前只能实现发送文章,后期 @XiaoFans 会加更多功能,上传图片和表情之类的,其他主题原理一样,过程适用于typecho博客,一起来学习下吧
qiangzai
2021/12/21
6760
twitter主题实现前台发文章
typecho在sae安装
<?php /** * Typecho Blog Platform * * @copyright Copyright (c) 2008 Typecho team (http://www.type
2021/11/08
3390
typecho博客配置腾讯云对象存储COS加速
采用Joe主题的typecho的博客运行也有一段时间了。最近发现访问不太稳定,等很长时间都打不开,用chrome调试工具发现cdn.jsdelivr.net长时间加载不出来,还有随着文章越来越多,文章图片的加载也有点慢。正好,腾讯腾讯云赠送了半年的COS对象存储,用来做博客加速刚刚好。
IT不难
2022/05/20
1.3K0
typecho博客配置腾讯云对象存储COS加速
typecho漏洞分析与HCTF实战
typecho漏洞分析与HCTF实战 0x00前记 通过最近的比赛,决定沉淀下来,从复现cms开始慢慢锻炼自己的审计能力,毕竟这个年头的CTF,不会审计只能活在边缘了,今天为大家带了typecho漏洞
安恒网络空间安全讲武堂
2018/02/06
1.4K0
typecho漏洞分析与HCTF实战
看代码学安全(11) - unserialize反序列化漏洞
大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。现在大家所看到的系列文章,属于项目 第一阶段 的内容,本阶段的内容题目均来自 PHP SECURITY CALENDAR 2017 。对于每一道题目,我们均给出对应的分析,并结合实际CMS进行解说。在文章的最后,我们还会留一道CTF题目,供大家练习,希望大家喜欢。下面是 第11篇 代码审计文章:
用户1631416
2018/12/19
1K0
看代码学安全(11) - unserialize反序列化漏洞
typecho插件编写教程6 - 调用接口
此篇我们开始调用接口,我们在插件类中新定义一个方法,起名为send_post,在方法中我们通过系统配置获取接口调用地址。
老高的技术博客
2022/12/28
4380
从CTF中学习PHP反序列化的各种利用方式
为了方便数据存储,php通常会将数组等数据转换为序列化形式存储,那么什么是序列化呢?序列化其实就是将数据转化成一种可逆的数据结构,自然,逆向的过程就叫做反序列化。
Ms08067安全实验室
2022/09/26
3.5K0
推荐阅读
相关推荐
typecho源代码解析4 - 业务逻辑
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档