吉萨++短语表中的计数是什么意思?

时间:2017-09-18 16:48:23

标签: machine-translation moses giza++

我一直在官方网站(和pdf手册)中的giza ++ phrase-table输出中搜索数字的含义: http://www.statmt.org/moses/?n=FactoredTraining.ScorePhrases

这就是我的目标。

假设这是一个来自词组表的行

načiniti na koji ||| way in which ||| 0.833333 * 0.33333 * ||| * ||| 12 3 1

这意味着:

e = "načiniti na koji"
f = "way in which"

count(e) = 12
count(f) = 3
count(e, f) = 1

p(f|e) = count(f, e) / count(e) = 1/12 = 0.833333
p(e|f) = count(f, e) / count(f) = 1/3 = 0.333333

这些都很有道理。

然而,如果我使用文本编辑器进行文本搜索,我会得到:

count("načiniti na koji") = 4
count("way in which") = 9

,完全不同的数字。

另一件奇怪的事情是:

osnivanje i ||| the ||| 0.000124085 * 1 * ||| 0-0 ||| 8059 1 1

所以,考虑到官方网站的解释,

count("the) = 1,

count("osnivanje i") = 8059.

一种解释可能是它可能正好相反。

但是,真正的 count(“the”)是21466。

是否有其他一些教程/手册可以更好地阐明giza ++输出文件的内容?

1 个答案:

答案 0 :(得分:3)

所以,我发现它应该是这样的:

  • Giza贯穿并行语料库

  • 每当两个短语对齐时,它们会被刷新为文本文件,让我们将其命名为f_phrases

符号可以是:

e - 外国吉萨成员

f - 英国吉萨会员

完成此操作后,f_phrases将以两种方式排序,这就是我们如何获取两个表文件

  1. extract.o.sorted
  2. 对的排序使得某个外国短语(e)的所有英语翻译彼此相邻,例如

    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      analysis and
    analiza i      and
    analiza i      evaluation and
    analiza i      the analysis and
    analiza i      through evaluation and
    

    因此我们得出结论

      

    count(e)= count(" analiza i")= 17

    之后,对对进行排序,以便某个本地短语(f)的所有外语翻译彼此相邻,例如。

    1. extract.inv.sorted
    2. analysis and              Analysis and
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      analysis and              analiza i
      

      我们看到count(f) = count("analysis and") = 14

      考虑到它是同一个表,只是以其他方式排序,我们看到count("analysis and", "analiza i") = count("analiza i", "analysis and") = 17

      结果短语表如下所示:

      analiza i|||analysis and|||     14      |||             17|||               13
      
      e       ||| f        ||| count(f) ||| count(e)   ||| count(e, f) = count(f, e)
      

      当计算条件概率时,则使用逆序,因为顺序在短语表中:

      p(e|f) = p(e, f) / p(f) phrase translation probability 
      p(f|e) = p(f, e) / p(e) inverse phrase translation probability