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': '德语'
相关推荐
冬奇Lab1 小时前
Workflow 系列(02):设计范式——四层架构、三种 Context 传递模式与确认门设计
人工智能·agent·工作流引擎
冬奇Lab1 小时前
每日一个开源项目(第145篇):Trellis - 把项目记忆、规范和任务上下文持久化进代码仓库
人工智能·开源·资讯
有道AI情报局1 小时前
Harness即产品
人工智能·agent
罗西的思考2 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
IT_陈寒3 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
笃行3504 小时前
从零到上线:用 EdgeOne Makers + CodeBuddy 搭一个「对账核对员」AI Agent
人工智能
用户6856326208694 小时前
Claude Code 乱猜字段名?我给它写了一个"数据库查询约束 Skill"
人工智能
你_好4 小时前
# 给你的产品嵌入一个「会操作界面的 AI 助手」
人工智能
ShallWeL4 小时前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习
陈广亮4 小时前
Prompt、Context、Harness、Agentic:LLM 应用四层嵌套结构,搞清自己卡在哪一层
人工智能