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': '德语'
相关推荐
电子基础知识1 小时前
NanoEdge AI Studio入门
人工智能·硬件工程
LeeZhao@1 小时前
【项目】多模态图文理解-GLM-Edge实战
人工智能·yolo·计算机视觉·语言模型·aigc
Tomorrow'sThinker3 小时前
25年1月更新。Windows 上搭建 Python 开发环境:PyCharm 安装全攻略(文中有安装包不用官网下载)
ide·python·pycharm
noravinsc4 小时前
requests请求带cookie
开发语言·python·pycharm
橙狮科技5 小时前
提示词工程教程:提示词安全
人工智能·安全·自然语言处理
李元豪5 小时前
机器视觉面试题PDF
机器学习
风_流沙5 小时前
python pandas 对mysql 一些常见操作
python·mysql·pandas
cxr8286 小时前
五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的开源库 (二)
人工智能·深度学习
魔理沙偷走了BUG6 小时前
【AI数学基础】线性代数:内积和范数
人工智能·线性代数·机器学习
salsm6 小时前
使用 C++ 和函数式编程构建高效的 AI 模型
c++·人工智能