NLP自然语言处理的文本数据增强——回译(内含python工具包)

回译

自然语言处理过程经常面临缺乏数据,因此需要进行数据增强。其中,回译,即将中文翻译成外文,再翻译回中文的操作可以扩展数据集,是一种好办法。
这里直接提供工具包NLP工具包-回译数据增强,可以直接调用实现回译增强,而且返回的数据非常丰富。

⭐源码 => NLP工具包-回译数据增强

⭐戳这里 => NLP数据增强在线版

  1. 提供了多个大厂的公开免费翻译接口:包括百度、腾讯、谷歌、有道、讯飞 ,数据结果非常丰富;
  2. 你可以自己到各个大厂的 api 官方页面申请appid 和 密钥,拿到属于自己的翻译资源;
  3. 如果你可以获取到大厂的 多个 appid 和密钥,那么直接传参数进去吧,不必担心返回错误;
  4. 调用非常方便,你可以自行添加自定义的翻译接口,放进去做调用;
  5. 对各 API 的语言种类支持问题,均实现了世界主要语种的接口;
  6. 在运行速度上做了优化,只要网速好,3秒钟可以为一条文本扩展20条新数据(腾讯除外,腾讯api太慢了);

样例

这里有丰富的工具接口说明:回译数据增强

>>> import jionlp as jio
>>> xunfei_api = jio.XunfeiApi(
        [{"appid": "5f5846b1",
          "api_key": "52465bb3de9a258379e6909c4b1f2b4b",
          "secret": "b21fdc62a7ed0e287f31cdc4bf4ab9a3"}])
>>> google_api = jio.GoogleApi()
>>> baidu_api = jio.BaiduApi(
        [{'appid': '20200618000498778',
          'secretKey': 'raHalLakgYitNuzGOoB2'},  # 错误的密钥
         {'appid': '20200618000498778',
          'secretKey': 'raHalLakgYitNuzGOoBZ'}], gap_time=0.5)

>>> apis = [baidu_api, google_api, xunfei_api]  # 可根据需要进行扩展

>>> back_trans = jio.BackTranslation(mt_apis=apis)
>>> text = '饿了么凌晨发文将推出新功能,用户可选择是否愿意多等外卖员 5 分钟,你愿意多等这 5 分钟吗?'
>>> result = back_trans(text)
>>> print(result)

# ['饿了么将在凌晨推出一项新功能。用户可以选择是否愿意额外等待外卖人员5分钟。您想多等5分钟吗?', 
#  '《饿了么》将在凌晨推出一档新节目。用户可以选择是否愿意等待餐饮人员多花5分钟。您愿意再等五分钟吗?', 
#  'Ele.me将在早晨的最初几个小时启动一个新的功能。用户可以选择是否准备好再等5分钟。你不想再等五分钟吗?', 
#  'Eleme将在清晨推出新的功能。用户可以选择是否愿意再等5分钟工作人员。你想再等五分钟吗?']

你可能感兴趣的:(Python,NLP,数据增强,自然语言处理)