大规模多语言嵌入零样本跨语言迁移及更多

大规模多语言嵌入零样本跨语言迁移及更多

看论文笔记

这篇文章提出了一种横跨93种语言的联合多语言句子表示形式模型,这个系统使用单一的BiLSTM encoder和所有语言的共享BPE词汇表,并与辅助解码器结合并在公开可用的平行语料库上进行训练。
在生成句子嵌入的基础上只需要英语的标注数据就可以无需任何改变将训练好的模型用到93种语言中的任意一种. 并且在跨语言NLI数据集, 跨语言文本分类, 平行语料库挖掘任务上验证了这个方法的可行性, 实现及数据都可以在 项目地址 找到

论文地址

模型结构

模型结构

从上图可以看出,这个模型通过在BiLSTM 编码器(encoder) 的输出上应用max pooling来获得句子嵌入。
句子嵌入用于通过线性变换来初始化解码器(decoder) LSTM,并且在每个时间步都与输入连接。decoder 与
encoder 之间没有其他连接, 因为这个模型希望只通过句子嵌入来捕获输入句子的信息.

系统中使用单个编码器和解码器,所有涉及的语言都共享它们。为此,我们建立了一个具有50k操作的联合字节对编码(BPE)词汇表,该词汇表是在所有训练语料库的串联中学习的。这样,编码器就没有关于输入语言是什么的明确信号,从而鼓励其学习与语言无关的表示形式。相反,解码器采用语言ID嵌入,该嵌入指定了要生成的语言,该ID在每个时间步骤都与输入和句子嵌入相连接。

系统中只一个编码器和解码器,在所有涉及的语言中都共享。为此,这里从合并的所有训练数据中学习一个50k 大小的BPE词汇表, 这样,编码器就没有关于输入语言是什么的明确信号,从而鼓励其学习与语言无关的表示形式。相反,解码器采用语言ID嵌入,该嵌入指定了要生成的语言Lid,该ID在每个时间步都与输入和句子嵌入相连接。

模型参数: encoder 采用1到5层堆叠的BiLSTM, 都是512维, 所以两个方向拼接好的句子表示为1024维,
decoder 采用单层2048维的LSTM, 输入的每个token都嵌入成320维的向量, 语言id则嵌入到32维的向量.

数据及处理方式

合并Europarl,United Nations,OpenSubtitles2018,Global Voices,Tanzil和Tatoeba语料库收集了93种输入语言的训练语料库。可在OPUS网站上获得。

总共有 2.23亿平行句对, 各语言对训练测试的句对数量列表如下

summarizes the list of all languages

所有非中日语的数据使用Moses进行预处理,标点符号标准化,删除non-printing字符和tokenization.
中文数据用Jieba分词,日语数据用Mecab分词.

除希腊语外,所有语言均保留其原始文字,将其罗马化为拉丁字母。联合BPE编码器本身没有文本的语言信息,甚至可以在一个句子中混合使用多种语言。

你可能感兴趣的:(大规模多语言嵌入零样本跨语言迁移及更多)