nlp - 如何解释对齐工具 fast_align 中的对齐分数?
问题描述
我正在使用对齐工具包 fast_align: https://github.com/clab/fast_align来获得平行语料库的字对字对齐。有一个打印对齐分数的选项——我如何解释这个分数?分数是否衡量平行句子之间的对齐程度?我知道语料库中的某些句子对齐良好,而其他句子则没有,但到目前为止,我发现分数与它们的对齐程度之间没有相关性。我应该调整句子中的单词数吗?
解决方案
FastAlign 是IBM Model 2的一个实现,分数是这个模型估计的概率。JHU的这些幻灯片很好地解释了模型的细节。
分数是给定目标句子单词和对齐的源句子的概率。该算法迭代估计:
- 源语言和目标语言对的(几乎所有)对相互翻译的概率。
- 给定单词到单词的翻译概率的最佳对齐。
然后,分数是单词到单词的翻译概率与算法收敛到的对齐的乘积。所以,理论上,这应该与句子的平行程度相关,但是有很多方法可以打破这种情况。例如,稀有词具有不可靠的概率估计。另一个问题可能是某些词(例如“of”)可能是多词表达式的一部分,而这些表达式在其他语言中是单个词,这也会使概率估计值产生偏差。所以,难怪概率不可信。
如果您的目标是过滤平行语料库并删除不正确对齐的句子对,我会推荐其他方法。例如,您可以使用多语言 BERT,就像他们在Google 的一篇论文中所做的那样,其中它们是用于跨语言检索的居中向量。或者只是谷歌“并行语料库过滤”。
推荐阅读
- angular - 使用 DatePipe 解析日期
- reactjs - Ionic React 4.11:如何在导航中推送和弹出 (IonNav)
- javascript - 其他 div 元素内的响应式 div 元素
- javascript - 如何在 JavaScript 中使用 map() 循环
- javascript - 如何将数组值放入另一个函数?
- python - 如何将熊猫日期列与硬编码日期进行比较
- wpf - 在 WPF 资源字典中使用 Blend d:Style.DataContext 是否有效?
- excel - 0.2 + 0.1 如何在 Excel 中等于 0.3?
- reactjs - 在组件外部使用 react-i18next t 函数。无法正确使用 Promise
- python - 访问分组熊猫数据框的问题