Skip to main content

NLP Chinese Data Augmentation .一键中文数据增强

Project description

NLP Chinese Data Augmentation 一键中文数据增强工具

使用:pip install nlpcda


介绍

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

  • 随机实体替换
  • 近义词
  • 近义近音字替换
  • 随机字删除

意义

作者:Email:425776024@qq.com


API

随机【(等价)实体】替换

参数:

  • base_file :缺省时使用内置(公司)实体。对公司实体进行替换

    是文本文件路径,内容形如:
    实体1
    实体2
    ...
    实体n

  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 : 文本改变率
  • seed : 随机种子
from nlpcda.tools.randomword import Randomword

test_str = '''这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位'''
smw = Randomword(create_num=3, change_rate=0.3)
rs1 = smw.replace(test_str)

print('随机实体替换>>>>>>')
for s in rs1:
    print(s)
'''
随机实体替换>>>>>>
这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
这个中国通信服务很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
这个瑞丰光电很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
'''

随机同义词替换

参数:

  • base_file :缺省时使用内置同义词表,你可以设定/自己指定更加丰富的同义词表:

    是文本文件路径,内容形如(空格隔开):
    Aa01A0 人类 生人 全人类
    id2 同义词b1 同义词b2 ... 同义词bk
    ...
    idn 同义词n1 同义词n2\

  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 : 文本改变率
  • seed : 随机种子
from nlpcda.tools.similarword import Similarword

test_str = '''这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位'''
smw = Similarword(create_num=3, change_rate=0.3)
rs1 = smw.replace(test_str)

print('随机同义词替换>>>>>>')
for s in rs1:
    print(s)

'''
随机同义词替换>>>>>>
这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
这天大药业很毋庸置疑啊,测试测试。这是一场疫情失控的鸦片战争、总体战、阻击战,习近平总书记亲指挥、亲自布置。筹措 指挥若定辄把人民群众生命安全和身体健康放在第一位
这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自布。运筹帷幄 指挥若定尽把人民群众生命安全和身体健康放在第一位
'''

随机近义字替换

参数:

  • base_file :缺省时使用内置【同义同音字表】,你可以设定/自己指定更加丰富的同义同音字表:

    是文本文件路径,内容形如(空格隔开):
    de 的 地 得 德 嘚 徳 锝 脦 悳 淂 鍀 惪 恴 棏
    拼音2 字b1 字b2 ... 字bk
    ...
    拼音n 字n1 字n2\

  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 : 文本改变率
  • seed : 随机种子
from nlpcda.tools.homophone import Homophone

test_str = '''这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位'''
smw = Homophone(create_num=3, change_rate=0.3)
rs1 = smw.replace(test_str)

print('随机近义字替换>>>>>>')
for s in rs1:
    print(s)

'''
随机近义字替换>>>>>>
这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
籷个兲大药业很部错啊,测试测視。这駛义场幆情防控的人民战争、总体战、阻击战,习埐平总輸记亲自指挥、亲胔部署。运筹帷仴 指挥若定始终把靱民群众生命安全和身体健钪放在第一蝛
这个天大药业很不错啊,测试萴试。这蒔一鱨疫情防悾的人民榐争、总蹄战、阻击詹,吸近平昮鄃羈吢嗞指挥、懃自瓿署。运筹骩幄 憄挥若椗匙终把人民群众生命安牷和身体監康放在第一位
'''

随机字删除

参数:

  • create_num=3 :返回最多3个增强文本
  • change_rate=0.3 : 文本改变率
  • seed : 随机种子
from nlpcda.tools.randomdeletechar import RandomDeleteChar

test_str = '''这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位'''
smw = RandomDeleteChar(create_num=3, change_rate=0.3)
rs1 = smw.replace(test_str)

print('随机字删除>>>>>>')
for s in rs1:
    print(s)

'''
随机字删除>>>>>>
这个天大药业很不错啊,测试测试。这是一场疫情防控的人民战争、总体战、阻击战,习近平总书记亲自指挥、亲自部署。运筹帷幄 指挥若定始终把人民群众生命安全和身体健康放在第一位
这个天大药业不错啊,测试测试这是一场疫情防控人民战争总体战、阻击战,习近平总书记亲自指挥亲自部署运筹帷幄 指挥若定始终人民群众生命安全和身体健康放在
这个天大药业不错,测试测试这是一场疫情防控的人民战争、总体战阻击战习近平总书记亲自指挥、亲自部署。运筹帷幄指挥若定始终人民群众生命安全身体健康放在
'''

添加自定义词典

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

from nlpcda.tools.randomword import Randomword
from nlpcda.tools.similarword import Similarword
from nlpcda.tools.homophone import Homophone
from nlpcda.tools.randomdeletechar import RandomDeleteChar

Randomword.add_word('张杰')
Randomword.add_words(['张杰','谢娜','马化腾','中国人民银行'])
# Similarword,Homophone,RandomDeleteChar 同上

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlpcda-1.3.4.tar.gz (520.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page