我正在玩https://github.com/kanekomasahiro/bert-gec(语法错误更正),而后者又使用fairseq。按照 bert-gec github 页面上的文档,经过培训,我能够使用同名脚本(https://github.com/kanekomasahiro/bert-gec/blob/master/scripts/generate)生成输出。嘘)。因为我想查看对齐,所以我对 generate.sh 脚本所做的唯一更改是添加“--print-alignment”(在第 20-32 行对 interactive.py 的调用中)。这可行,但我不知道如何解释输出。我的输出示例:
S-0 What's a college?
H-0 -0.263251930475235 What 's a college?
P-0 -0.0619 -0.1579 -0.1606 -0.5393 -0.1052 -0.1705 -0.8060 -0.1045
A-0 0 8 8 4 8 8 8 8
最后一行是 --print-alignment 的结果。但是,我本来希望得到一些更容易理解的东西(比如 Pharaoh 格式,即 ,0-0 0-1 1-2 3-3 3-4 3-5 4-6 6-7 6-8
从中您可以立即看到源中的哪个标记对应于目标中的哪个标记)。
任何关于如何解释这种对齐格式(或如何将其转换为更容易解释的格式)的想法都将非常受欢迎!
PS找到这个SO帖子,但这并没有真正帮助我(在fairseq代码中找不到引用的函数,也许是不同的版本,无论如何,获取对齐似乎不是问题,只是没有完全确定如何解释它们:)。