夏乙 发自 凹非寺

量子位 出品 | 公众号 QbitAI
搞定一种语言之后,是不是很希望算法能在近百种语言上无缝迁移?
AI真能无师自通,对于我们这些“因为语言不通而分散在各处”的人们来说,简直是天大的福音。
新鲜出炉的Facebook“多语种句嵌入”,就是这样一种“神器”。他们提出了一种新架构,为横跨34个语族、28种不同文字写成的的93种语言,学习了统一的联合多语种句嵌入。
举个例子,只要用标注好的英语数据训练一个分类器算法,教会它判断一个英语句子是不是少儿不宜,就可以无缝迁移到其他语言上,不管你是豪萨语、鞑靼语还是汉语粤方言,它都能判断有没有少儿不宜。
能一下子准备好接受这么多种语言,是怎么做到的呢?
我们来看一下这个系统的架构
它由编码器(encoder)、解码器(decoder)两大部分组成。其中,编码器是个无关语种的BiLSTM,负责构建句嵌入,这些句嵌入接下来会通过线性变来换初始化LSTM解码器。
为了让这样一对编码器、解码器能处理所有语言,还有个小条件:编码器最好不知道输入的究竟是什么语言,这样才能学会独立于语种的表示。所以,还要从所有输入语料中学习出一个“比特对嵌入词库”(BPE)。
不过,解码器又有着完全相反的需求:它得知道输入的究竟是什么语言,才能得出相应的输出。于是,Facebook就为解码器附加了一项输入:语言ID,也就是上图的Lid
训练这样一个系统,Facebook用了16个英伟达V100 GPU,将batch size设置为12.8万个token,花5天时间训练了17个周期。
架构说起来不算复杂,效果怎么样呢?
用包含14种语言的跨语种自然语言推断数据集(cross-lingual natural language inference,简称XNLI)来测试,这种多语种句嵌入(上图的Proposed method)零数据(Zero-Shot) 迁移成绩,在其中13种语言上都创造了新纪录,只有西班牙语例外。
另外,Facebook用其他任务测试了这个系统,包括ML-Doc数据集上的分类任务、BUCC双语文本数据挖掘。他们还在收集了众多外语学习者翻译例句的Tatoeba数据集基础上,制造了一个122种语言对齐句子的测试集,来证明自家算法在多语言相似度搜索任务上的能力。
最后,附上传送门~
论文:
Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond
Mikel Artetxe, Holger Schwenk
https://arxiv.org/pdf/1812.10464.pdf
代码也即将开源,会直接更新到Facebook之前放出的无关语种句嵌入库LASER中:
https://github.com/facebookresearch/LASER
年度评选报名
加入社群
量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「好看」吧 !
继续阅读
阅读原文