多语言语言模型中的嵌入是否跨语言具有可比性?

人工智能 深度学习 自然语言处理 变压器 语言模型
2021-10-29 13:22:24

Facebook刚刚推出了更大版本的多语言语言模型 XLM,称为 XLM-R。我的问题是:这种多语言模型是否暗示,甚至确保它们的嵌入在语言之间是可比的?也就是说,语义相关的词是否在跨语言的向量空间中靠得很近?

也许与我的问题相关的论文中最有趣的引文(第 3 页):

与 Lample 和 Conneau (2019) 不同,我们不使用语言嵌入,这使我们的模型能够更好地处理语码转换。

因为它们似乎没有区分语言,而且所有训练数据只有一个词汇表,所以我看不出这如何才能真正代表语义。使用 BPE 进一步增加了远离语义的程度,因为一种语言的形态特征(或只是简单的统计词块)可能通常在语义上与另一种语言中的相同块无关——这对于令牌本身来说可能是正确的,但对于子词信息尤其如此。

所以,简而言之:多语言语言模型中的嵌入在语义上比较两种不同语言的输入(例如单词或句子)的效果如何?

2个回答

由 Bert 或 XLM-R 等转换器生成的嵌入与通过 GloVe 或 Word2Vec 等语言模型学习的嵌入根本不同。后者是静态的,即它们只是包含与每个单词相关联的 n 维向量的词汇表的字典。因此,它们可以通过 PCA 绘制,并且可以使用您喜欢的任何指标轻松计算它们之间的距离。

相反,在训练 Bert 或 XLM-R 时,您不是在学习向量,而是在学习变压器的参数。一旦将令牌馈入转换器,就会生成每个令牌的嵌入。这意味着几件事,最重要的是令牌的隐藏表示(嵌入)根据上下文而变化(回想一下,XML-R 还使用前一个令牌生成的隐藏状态作为输入)。这意味着没有静态向量可以通过绘制它们或通过计算余弦相似度来进行比较。尽管如此,还是有办法分析和可视化参数中编码的语法和语义,本文展示了一些策略:https ://arxiv.org/pdf/1906.02715.pdf

在更语言方面,我还会问为什么相同单词的向量应该在不同语言中显示相同的语义属性。当然,许多字面翻译的单词有相似之处,但是某些表达方式的使用在不同语言之间本质上是不同的。举一个简单的例子:在英语中时钟“工作”,在荷兰语中时钟“lopen”(它行走),在意大利语中时钟“funziona”(它运行)。相同的表达方式,不同语言中的三个不同单词在其单语潜在空间中不一定共享相同的邻居。转换器的重点正是从静态表示转移到能够学习所有这三个动词(以其特定语言)可以在句子的早期出现并接近单词时钟的动态表示。

NLP 领域有一个普遍的想法,即不同语言的嵌入之间存在映射。图 1 解释了这一点。图1

在图1中,我们有英语单词和西班牙语单词的嵌入,我们看到它们存在与这两种语言相关的流形之间的映射,即西班牙语流形是英语流形的扭曲图像。这个想法被用来在MUSE Project中创建一个无监督的翻译器。