有关于giza ++的教程吗?

Int*_*ear 17 nlp machine-translation giza++

"自述"文件中的网址无效(http://www.fjoch.com/mkcls.htmlhttp://www.fjoch.com/GIZA++.html).关于吉萨++有一个很好的教程吗?或者是否有一些具有完整文档的替代方案?

dmh*_*dmh 38

以下内容摘自我正在为课程整理的教程.(注意:这假设您已在*nix系统上成功安装了GIZA ++ - v2.)


  1. 从包含已经标记化的并行句子的两个数据文件开始,每行一个句子.例如,一对并行的英语 - 法语文件可能如下所示.

样本1 - train.en

I gave him the book . 
He read the book . 
He loved the book .
Run Code Online (Sandbox Code Playgroud)

样本2 - train.fr

Je lui ai donne/ le livre .
Il a lu le livre .
Il aimait le livre .
Run Code Online (Sandbox Code Playgroud)
  1. 运行这些文件plain2snt.out以获取目标和源词汇表文件(*.vcb)以及句子对文件(*.snt).

从GIZA ++目录中,运行:

./plain2snt.out TEXT1 TEXT2
Run Code Online (Sandbox Code Playgroud)

其中TEXT1TEXT2是步骤1中描述的数据文件.

这会在TEXT1TEXT2(和假设它们位于同一目录中)相同的目录中生成四个文件:

  • TEXT1_TEXT2.snt
  • TEXT1.vcb
  • TEXT2_TEXT1.snt
  • TEXT2.vcb

词汇文件包含文本中每个单词的唯一(整数)ID(NB:not tokenized/lemmatized),单词/字符串以及字符串出现的次数.它们由单个空格字符分隔.

句子文件包含数字.对于每个句子对,有三行:第一行是句子对在语料库中出现的次数的计数,第二行和第三句是一串(空格分隔的)数字,对应于词汇文件.根据*.snt文件的命名约定,假定第一个文件是源,第二个文件假定为目标语言.例如,在文件中TEXT1_TEXT2.snt,第一行将是语料库中第一个句子对出现次数的计数,第二行将是与TEXT1.vcb文件中的单词对应的一串数字,第三行将是是一串与TEXT2.vcb文件中的单词对应的数字.

  1. 现在TEXT1.vcb,TEXT2.vcb和这两个*.snt文件中的任何一个都可以用作GIZA ++的输入来产生对齐.

例如:

./GIZA++ -s TEXT1.vcb -t TEXT2.vcb -c TEXT1_TEXT2.snt
Run Code Online (Sandbox Code Playgroud)

但请注意,当我尝试运行此命令时,我必须重命名TEXT1_TEXT2.snt为名称中没有下划线的内容才能获得任何正确的输出.

  • 如果您收到如下错误:"错误:没有共同文件!",您应该使用"snt2cooc.out train.en.vcb train.fr.vcb corpus.snt> cooc.cooc"生成共存文件,然后运行" GIZA ++ -S train.en.vcb -T train.fr.vcb -C corpus.snt -CoocurrenceFile cooc.cooc" (13认同)