作者:刘聪NLP

学校:中国药科大学 药学信息学硕士

专栏:NLP工作站

来自:机器学习算法与自然语言处理

本次分享的论文CoSDA-ML,作者是忆臻老哥 @忆臻,还有国内的两位NLP领域知名的青年才俊老师,车万翔老师和张岳老师,论文收录于IJCAI2020,全名为CoSDA-ML: Multi-Lingual Code-Switching Data Augmentation for Zero-Shot Cross-Lingual NLP,即对于自然语言处理跨语言零样本学习的多语言code-switching数据增强方法。

论文地址:https://www.ijcai.org/Proceedings/2020/0533.pdf

GitHub地址:https://github.com/kodenii/CoSDA-ML


目前,深度学习已经称霸绝大多数自然语言处理任务,甚至在某些任务可以媲美人类的表现;但使用深度学习模型的基础是具有大量可用的标记数据集去训练模型。对于英文和中文两大语言来说,存在各种任务的人工标记数据集,但是对于其他语言来说,人工标记的数据可能很少,更甚者,对于一些语言,几乎无法获取到任何标注数据。

那么如何从具有丰富资源的语言中学习知识来提高低资源的语言模型性能呢?甚至如何在没有目标语言的标记数据的情况下完成任务呢?

在上述情况下,人们提出了,跨语言迁移学习和小样本或零样本学习,去解决资源匮乏的自然语言处理任务。

多语言上下文词嵌入模型,例如:multilingual-BERT(mBERT),已经在各种零样本跨语言任务中显示出成功。但是mBERT是基于混合多国语料训练,没有显式的跨语言对齐信号。为了解决这个缺点,目前主流fine-tuning做法都聚焦于想办法学习到映射矩阵W,进行对齐。但是这个方法仍然存在一个缺点,就是一次只考虑一对源语言和目标语言,因此导致每种目标语言要有单独的模型,如图1(a)所示。

图1

该论文在考虑不创建多个额外模型的情况下,提出通过动态地构造多语言code-switching方法进行数据增强(如图1(b)),来更好地微调mBERT,使其在一个模型的基础上,可以适配更多种目标语言任务。

mBERT模型

mBERT模型与BERT模型具有相同的模型架构与训练过程,采用了12层Transformer编码器,但是在训练过程中,mBERT模型不只是接受单一语言的数据进行训练,而是在104种语言的维基百科数据上进行训练的,并且共享一个词汇表,这样mBERT模型可以跨语言共享词嵌入表征。

换句话说,就是预训练过程,不是仅使用英文或中文数据,而是使用很多种语言数据一起训练,并且拥有一个大的词汇表,使词嵌入的表征具有跨语言性。

Fine-tuning mBERT for Classification

给定来自于源语言序列  ,通过添加特定的标记来构造模型输入序列  ,进入mBERT模型后,得到输出  。

对于分类任务,mBERT将  通过全连接层,映射到标签  上:

Zero-Shot Cross-Lingual Adaption

mBERT基线模型,是在源语言任务上训练,通过直接用于目标语言来完成零样本跨语言迁移任务。

CoSDA-ML方法

方法如图2所示,在Fine-tuning下游任务时,先对源语言进行多语言code-switching数据生成,即将“It's a very sincere work”数据,变化成“It's a 非常 aufrichtig work”。微调结束后,直接对目标语言来完成零样本跨语言迁移测试。

图2

注意:这里对源语言进行多语言code-switching是动态进行的,即对每一次训练batch_size数据进行动态生成,算法如图3所示,

图3

该数据增强算法方法由三步组成:句选择、词选择和替换选择。

图4

Sentence Selection

在给定批次训练数据的情况下,随机选择语句来生成code-switching语句。未选择的句子保留在原语言中。以图4(b)中的句子为例,随机选取第一个句子和第三个句子,而保留第二个句子不变。

Token Selection

对上一步骤中被选到的句子,进行随机选择要翻译的词语。以图2(c)为例,选择第一句中的“very”和第三句中的“What”。

Replacement Selection

对上一步骤中被选到的词语,根据双语词典随机选择目标语言。如图2 (d)所示,不同的目标语言可以在code-switching生成的数据中混合使用。

值得注意的是,源语言中的单词在目标语言中可能有多种翻译结果。在这种情况下,该论文随机多种翻译结果中的任意一个作为替换目标语言词语。该论文任务尽管不能保证这是上下文中正确的对应翻译,但可以将其视为任务中的数据增强(增加部分噪音)策略之一。

通过code-switching数据增强,模型可以根据目标语言中被替换的词和源语言中原始词相似的上下文信息,自动将它们对齐到相似的向量空间中。

Results

Natural Language Inference

Sentiment Classification

Document Classification

Dialogue State Tracking (DST)

Spoken Language Understanding

在上述五个任务上,CoSDA-ML数据增强方法,具有明显提高。

Analysis

鲁棒性分析

为了验证CoSDA-ML方法的的鲁棒性,该论文在微调过程中,使用了不同标记替换率  ,但始终保持句子替换率  为1。实验结果如下图所示,

可以看出,当大于0.7时,CoSDA-ML方法效果均高于目前sota模型,证明该方法具有一定的的鲁棒性。

训练数据量分析

该论文,在不同数量的训练数据,进行微调,探究CoSDA-ML方法在极少数据情况下的有效性。实验结果如下图所示,

可以看出,仅使用1/10的训练数据,就可以到达目前sota模型的效果。

动态采样分析

该论文为了验证,所提出的动态增强机制的有效性,与静态增强方法进行了比较。结果如下图所示,

可以看出,动态方法在所有任务上都优于静态方法。该论文认为,动态机制由于在训练过程中生成更多变化的多语言code-switching数据,使模型在多种语言中将更多的词语进行对齐。

可视化分析

为了验证源语言与目标语言的表示是否真正对齐,该论文选择了包含三种语言的100个句子的【CLS】向量。结果如下图所示(a为mBERT,b为CoSDA-ML),

可以看出,mBERT在具有相同意图的多种语言表示是间隔较远的;相反,使用CoSDA-ML方法微调后模型的相同意图的多种语言表示变得更接近并相互重叠,进一步证明了方法有效且成功地使不同语言的表示更接近。

方法的迁移性分析

为了验证,CoSDA-ML方法对Transformer之外的其他编码器是否有效,该论文将CoSDA-ML方法使用了在biLSTM上。结果如下图所示,

可以看出,使用了CoSDA-ML方法后,结果有了明显的提示。

总结

该论文提出了一种数据增强的方法,通过生成多语言code-switching数据来微调mBERT模型,从源语言和多目标语言对齐语义表示。

个人非常喜欢该篇论文,思路很正,效果明显,做跨语言、零样本或小样本学习的小伙伴,可以看过来~~~~

下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!后台回复【五件套】
下载二:南大模式识别PPT后台回复【南大模式识别】说个正事哈由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。记得备注呦推荐两个专辑给大家:专辑 | 李宏毅人类语言处理2020笔记专辑 | NLP论文解读专辑 | 情感分析整理不易,还望给个在看!

【论文解读】一种新的涨分神器!构造code-switching增广数据进行fine-tuning!相关推荐

  1. 【NLP】五万字综述!Prompt Tuning:深度解读一种新的微调范式

    作者 | 王嘉宁 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/120607050 这绝对是我看过最全面细致的Prompt ...

  2. Prompt-Tuning——深度解读一种新的微调范式

    Prompt-Tuning--深度解读一种全新的微调范式 作者:王嘉宁  邮箱:lygwjn@126.com 本博客针对Prompt进行的综述博客,暂时为半成品,持续更新中,也欢迎读者参与编辑和投稿, ...

  3. EMNLP2018论文解读 | 三种提升多语言翻译模型的高效策略

    本文(<三种提升一对多多语言翻译策略>)是搜狗和中科院自动化所合作发表在 EMNLP 2018 上的工作.搜狗翻译目前采用业界领先的神经网络机器翻译框架支持 60 种以上不同语言之间的互译 ...

  4. 架构 encoder_一种新的超分模型蒸馏架构 (ECCV2020)

    Learning with Privileged Information for Efficient Image Super-Resolution,ECCV2020 作者信息: Paper: Lear ...

  5. 2018-3-20论文(一种新的群体智能算法--狼群算法)笔记一(引言中提到的的一些智能算法,以及自己的感想)

    思想: 模拟狼群捕食行为以及猎物分配方式,抽象出游走,召唤,围攻三种智能行为以及"胜者为王"的头狼产生规则和"强者生存"的狼群更新机制. 引言中提到的智能优化算 ...

  6. BMVC 2020 各奖项公布!最佳论文可能就是你要的涨点神器

    BMVC 2020 已经闭幕,官方公布了5篇获奖论文,每篇都值得关注,本文就带领大家看看这些获奖论文研究内容是什么.     01     最佳论文奖 Delving Deeper into Anti ...

  7. 新赛季上分神器 vivo X70 Pro+首批适配《王者荣耀》120Hz极高帧率

    2021年9月9日,深圳--近几年,手机屏幕逐渐成为了各大品牌厂商展现技术水平的一大亮点,屏幕的形态不仅仅代表着一款手机的颜值,也代表着产品的极致追求.昨晚,在S25赛季即将更新之际,<王者荣耀 ...

  8. DRN:Dilated Residual Networks(论文解读十四)

    Title:Dilated Residual Networks From:CVPR2017 Note data:2019/06/12 Abstract:提出一种有利于分类任务的扩张残差网络DRN. C ...

  9. Redis6通信协议升级至RESP3,一口气看完13种新数据类型

    我们已经知道RESP V2版本协议的规范,RESP的全程是Redis Serialization Protocol,基于这个实现简单且解析性能优秀的通信协议,Redis的服务端与客户端可以通过底层命令 ...

  10. Face++ 论文解读:一种新的行人重识别度量学习方法 | PaperDaily #20

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. Tabhost嵌套以及Tab中多个Activity跳转的实现
  2. 数据结构 c c java_用java做开发,却学c语言的数据结构,这样好吗?
  3. ORA-12545: Connect failed because target host or object does not exist
  4. 仿京东商城登录页面_京东e卡如何使用?
  5. php kml文件解析,英语翻译中文:详细分析了KML、MapInfo文件及二者之间的联系,以KML点标记文件为例,基于PHP编程实现了KML到...
  6. c++11 yield函数的使用
  7. C++ 多线程使用future传递异常
  8. python figure函数 gui_python 在一个GUI内创建了2个figure,为什么只能显示第二个图?...
  9. python向空列表添加列表_Python列表核心知识点汇总
  10. Exchange Server 2013系列五:虚拟化部署
  11. android中注册代码怎么写,Android P HIDL demo代码编写 (原创)
  12. 剑指offer面试题39. 数组中出现次数超过一半的数字(数组)(摩尔投票法)
  13. php 数组合并用加号(+)和用array_merge()的区别
  14. mysql5.6二进制包_MySQL 5.6版本二进制包多实例安装
  15. 三端稳压管原理、作用、解决发热的问题
  16. HTML分页符怎么设置,HTML中的分页符
  17. android 简书饿了么,对接饿了么平台总结
  18. 7-5 分而治之 (25 分)
  19. Python selenium新窗口和老窗口的切换
  20. MATLAB代码:含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度

热门文章

  1. UVA11019 Matrix Matcher【hash傻逼题】【AC自动机好题】
  2. VS2008 + WDK 配置 及其编译错误
  3. ASP.NET站点性能提升-缩短首页生成时间
  4. 项目进度4: 需求明确!
  5. java day47【redis概念 、下载安装 、 命令操作 、持久化操作 、使用Java客户端操作redis】...
  6. Spring Boot 日志
  7. 读书笔记第四周 《代码大全》
  8. Centos6.5优化Tomcat7
  9. Java 继承 小练习
  10. DesiredCapabilities内容详解--Appium服务关键字