0基础跟德姆(dom)一起学AI 自然语言处理06-文本数据增强

回译数据增强法

  • 回译数据增强目前是文本数据增强方面效果较好的增强方法, 一般基于google、有道等翻译接口, 将文本数据翻译成另外一种语言(一般选择小语种),之后再翻译回原语言, 即可认为得到与与原语料同标签的新语料, 新语料加入到原数据集中即可认为是对原数据集数据增强.

  • 回译数据增强优势:

    • 操作简便, 获得新语料质量高.
  • 回译数据增强存在的问题:

    • 在短文本回译过程中, 新语料与原语料可能存在很高的重复率, 并不能有效增大样本的特征空间.
  • 高重复率解决办法:

    • 进行连续的多语言翻译, 如: 中文→韩文→日语→英文→中文, 根据经验, 最多只采用3次连续翻译, 更多的翻译次数将产生效率低下, 语义失真等问题.
  • 回译数据增强实现(基于有道翻译接口):

    导入必备的工具包

    import requests

    思路分析

    1 定义需要访问的有道翻译API接口--url

    2 定义需要翻译的文本:text

    3 定义data数据:from代表原始语言, to代表目标语言, i代表需要翻译的文本, doctype:文本的类型

    4 requests.post(url=url, params=data)即代表访问api接口的方法

    def dm_translate():
    url = 'http://fanyi.youdao.com/translate'
    # 第一次翻译,目标语言英文
    text1 = '这个价格非常便宜'
    data1 = {'from': 'zh-CHS', 'to': 'en', 'i': text1, 'doctype': 'json'}
    response1 = requests.post(url=url, params=data1)
    res1 = response1.json()
    # 打印第一次翻译结果
    print(res1)

    复制代码
      # 第二次翻译, 目标语言中文
      text2 = 'The price is very cheap'
      data2 = {'from': 'en', 'to': 'zh-CHS', 'i': text2, 'doctype': 'json'}
      response2 = requests.post(url=url, params=data2)
      res2 = response2.json()
      # 打印第二次翻译结果
      print(res2)

输出结果展示:

复制代码
第一次翻译结果:{'type': 'ZH_CN2EN', 'errorCode': 0, 'elapsedTime': 1, 'translateResult': [[{'src': '这个价格非常便宜', 'tgt': 'The price is very cheap'}]]}

第二次翻译结果:{'type': 'EN2ZH_CN', 'errorCode': 0, 'elapsedTime': 1, 'translateResult': [[{'src': 'The price is very cheap', 'tgt': '价格非常便宜'}]]}

语言及其对应编码:

复制代码
'AUTO': '自动检测语言'
'zh-CHS': '中文',
'en': '英文'
'ja': '日语'
'ko': '韩语'
'fr': '法语'
'de': '德语'
相关推荐
小刘摸鱼中几秒前
高频电子电路-振荡器的频率稳定度
网络·人工智能
用户325549130563 分钟前
AI辅助神器Cursor –从0到1实战《仿小红书小程序》(已完结)
人工智能
烟袅5 分钟前
使用 OpenAI SDK 调用 Tools 实现外部工具集成
python·openai·agent
青瓷程序设计17 分钟前
果蔬识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
川石课堂软件测试25 分钟前
自动化过程中验证码的解决思路
数据库·python·功能测试·测试工具·单元测试·tomcat·自动化
沫儿笙34 分钟前
镀锌板焊接中库卡机器人是如何省气的
网络·人工智能·机器人
2301_7644413342 分钟前
新能源汽车电磁辐射高级预测
python·算法·数学建模·汽车
Keep_Trying_Go1 小时前
论文Leveraging Unlabeled Data for Crowd Counting by Learning to Rank算法详解
人工智能·pytorch·深度学习·算法·人群计数
爱吃泡芙的小白白1 小时前
使用某云超算平台Jupyterlab的使用方法(自用)
运维·服务器·python·学习记录
qq_203769491 小时前
在conda环境中使用jupyter
python·jupyter·conda