machine-learning - 吉萨++的糟糕结果和评估

标签 machine-learning nlp moses giza++

我尝试在窗口上使用 giza++(使用 Cygwin 编译器)。 我使用了这段代码:

//假设源语言是法语,目标语言是英语

plain2snt.out  FrenchCorpus.f  EnglishCorpus.e

mkcls  -c30  -n20  -pFrenchCorpus.f  -VFrenchCorpus.f.vcb.classes  opt
mkcls  -c30  -n20  -pEnglishCorpus.e  -VEnglishCorpus.e.vcb.classes  opt
snt2cooc.out  FrenchCorpus.f.vcb  EnglishCorpus.e.vcb  FrenchCorpus.f_EnglishCorpus.e.snt >courpuscooc.cooc

GIZA++  -S  FrenchCorpus.f.vcb  -T EnglishCorpus.e.vcb -C FrenchCorpus.f_EnglishCorpus.e.snt  -m1 100  -m2 30  -mh 30  -m3 30  -m4 30  -m5 30  -p1 o.95  -CoocurrenceFile  courpuscooc.cooc -o     dictionary

但是从 giza++ 获取输出文件并评估输出后,我发现结果太糟糕了。

我的评估结果是:

召回率 = 0.0889

精度 = 0.0990

F_MEASURE = 0.0937

AER = 0.9035

有人知道原因吗?可能是我忘记了一些参数或者我应该更改其中一些参数?

换句话说:

首先我想通过大量数据训练 giza++,然后通过小语料库对其进行测试,并通过所需的对齐方式(GOLD STANDARD)比较其结果,但我在网络中找不到任何文档或有用的页面。

能介绍一下有用的文档吗?

因此,我通过小语料库(447 个句子)运行它,并通过所需的对齐方式比较结果。您认为这是正确的方法吗?

我还按如下方式更改了代码并得到了更好的结果,但仍然不好:

GIZA++ -S teSTLowsf.f.vcb -T teSTLowde.e.vcb -C teSTLowsf.f_teSTLowde.e.snt -m1 5 -m2 0 -mh 5 -m3 5 -m4 0 -CoocurrenceFile 输入cooc.cooc -o 字典-model1dump频率 1 -model4smoothfactor 0.4 -nodumps 0 -nsmooth 4 -onlyaldumps 1 -p0 0.999 -对角线是 -最终是

评估结果:

//假设 A 是 GIZA++ 的结果,G 是黄金标准。 As和Gs是A和G文件中的S链接。 Ap和Gp是A和G文件中的p链接。

RECALL = 相交 Gs/Gs = 0.6295

精度 = Ap 与 Gp/A = 0.1090 相交

FMEASURE = (2*精度*召回率)/(召回率 + 精度) = 0.1859

AER = 1 - ((与 Gs 相交 + Ap 与 Gp 相交)/(A + S)) = 0.7425

你知道原因吗?

最佳答案

你从哪里得到这些参数? model1 的 100 次迭代?!好吧,如果你真的设法运行这个,我强烈怀疑你有一个非常小的平行语料库。如果是这样,您应该考虑在训练中添加更多并行数据。到底如何计算召回率和精确率?

编辑:

如果句子少于 500 个,您不太可能获得任何合理的性能。通常的方法不是找到一个更大的(未对齐的)平行语料库,对两者一起运行 GIZA++,然后评估手动对齐的小部分。检查EuroparlMultiUN ,这些都是免费提供的语料库,都包含相对大量的英法平行数据。有关准备数据的说明可以在网站上找到。

关于machine-learning - 吉萨++的糟糕结果和评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172422/

相关文章:

nlp - 斯坦福 NNDep 解析器 : features used

java - 使用 apache xml rpc 客户端 3.1.3 发送复杂类型

python - 具有一个(或多个)参数的 Python 多输出回归或分类器

python - 如何从sklearn的gridsearchcv获取敏感性和特异性(真阳性率和真阴性率)?

r - 从插入符序列对象中提取要素类/类型

python - `train=True` 在 H2O model_performance() 中的作用是什么?

python - 从 synset 获取同义词返回错误 - Python

nlp - 从 TweetNLP 中的首字母缩略词中获取全文

hindi - 使用 MOSES 从印地语到英语的统计机器翻译

linux - 摩西的语料库文件格式