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': '德语'
相关推荐
LjQ20405 分钟前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
Guheyunyi7 分钟前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
码码哈哈爱分享7 分钟前
[特殊字符] Whisper 模型介绍(OpenAI 语音识别系统)
人工智能·whisper·语音识别
郄堃Deep Traffic13 分钟前
机器学习+城市规划第十三期:XGBoost的地理加权改进,利用树模型实现更精准的地理加权回归
人工智能·机器学习·回归·城市规划
Lucky-Niu13 分钟前
解决transformers.adapters import AdapterConfig 报错的问题
人工智能·深度学习
FserSuN18 分钟前
Prompt工程学习之思维树(TOT)
人工智能·学习·prompt
哆啦A梦的口袋呀23 分钟前
基于Python学习《Head First设计模式》第九章 迭代器和组合模式
python·学习·设计模式
sponge'43 分钟前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习
保持学习ing1 小时前
Spring注解开发
java·深度学习·spring·框架
字节跳动_离青1 小时前
智能的路径
人工智能