首页 > 解决方案 > 如何解释对齐工具 fast_align 中的对齐分数?

问题描述

我正在使用对齐工具包 fast_align: https://github.com/clab/fast_align来获得平行语料库的字对字对齐。有一个打印对齐分数的选项——我如何解释这个分数?分数是否衡量平行句子之间的对齐程度?我知道语料库中的某些句子对齐良好,而其他句子则没有,但到目前为止,我发现分数与它们的对齐程度之间没有相关性。我应该调整句子中的单词数吗?

标签: nlpalignmentlanguage-translationmachine-translation

解决方案


FastAlign 是IBM Model 2的一个实现,分数是这个模型估计的概率。JHU的这些幻灯片很好地解释了模型的细节。

分数是给定目标句子单词和对齐的源句子的概率。该算法迭代估计:

  1. 源语言和目标语言对的(几乎所有)对相互翻译的概率。
  2. 给定单词到单词的翻译概率的最佳对齐。

然后,分数是单词到单词的翻译概率与算法收敛到的对齐的乘积。所以,理论上,这应该与句子的平行程度相关,但是有很多方法可以打破这种情况。例如,稀有词具有不可靠的概率估计。另一个问题可能是某些词(例如“of”)可能是多词表达式的一部分,而这些表达式在其他语言中是单个词,这也会使概率估计值产生偏差。所以,难怪概率不可信。

如果您的目标是过滤平行语料库并删除不正确对齐的句子对,我会推荐其他方法。例如,您可以使用多语言 BERT,就像他们在Google 的一篇论文中所做的那样,其中它们是用于跨语言检索的居中向量。或者只是谷歌“并行语料库过滤”。


推荐阅读