跨多种语言的语义相似度

2023-12-06

我正在使用词嵌入来查找两个句子之间的相似性。使用 word2vec,如果一个句子是英语,另一个句子是荷兰语,我还可以获得相似性度量(尽管不是很好)。

所以我开始想知道是否可以计算两种不同语言的两个句子之间的相似度(没有明确的翻译),特别是如果这些语言有一些相似之处(英语/荷兰语)?


我们假设您的句子相似度方案仅使用词向量作为输入 - 就像简单的词向量平均方案或词移动器距离一样。

应该可以按照您的建议进行操作,前提是:

  • 对于每种语言的单词,您都有很好的单词向量集
  • 词向量的坐标空间是兼容的,这意味着两种语言中表示完全相同事物的词具有几乎相同的坐标(并且其他具有相似含义的词具有接近的坐标)

第二个质量并不能自动得到保证。事实上,考虑到 word2vec 模型的随机初始化以及算法/实现引入的其他随机化,即使在完全相同的数据上运行后续训练也不会将单词放置在完全相同的位置。因此,在完全独立的英语/荷兰语语料库上训练的词向量不太可能将等效的单词放置在相同的坐标处。

但是,您可以根据某些锚点/参考词对(您知道应该具有相似的向量)学习两个空间之间的代数变换。然后,您可以将该转换应用于两个集合之一中的所有单词,这会导致您在“规范”单词集的可比坐标空间内拥有这些“外来”单词的向量。

事实上,第一个 word2vec 论文中就使用了这个想法:

"利用机器翻译语言之间的相似性"

如果您要对一种语言单词向量集应用类似的转换,然后使用这些转换后的向量作为句子向量方案的输入,这些句子向量可能与另一种语言的句子向量具有一些有用的可比性,从同一坐标空间中的词向量引导。

Update:有一个非常有趣的最近的论文它设法同时训练多种语言的词向量,使用的语料库包括每种语言的原始句子,以及一组(较小的)已知在两种语言中含义相同的对齐句子。 Gensim 还不支持这种模式,但是有支持的讨论在未来的重构中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨多种语言的语义相似度 的相关文章

随机推荐