4

ウィンドウで 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) で比較したかったのですが、Web にドキュメントや有用なページが見つかりません。

役に立つドキュメントを紹介できますか?

したがって、小さなコーパス (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 辞書 -model1dumpfrequency 1 -model4smoothfactor 0.4 -nodumps 0 -nsmooth 4 -onlydumps 1 -p0 0.999 -diagonal はい -final はい

評価結果 :

// A が GIZA++ の結果であり、G がゴールド スタンダードであるとします。As と Gs は、A And G ファイルの S リンクです。Ap と Gp は、A ファイルと G ファイルの p リンクです。

RECALL = 交差 Gs/Gs = 0.6295

PRECISION = Ap 交差 Gp/A = 0.1090

FMEASURE = (2*精度*再現率)/(再現率 + 精度) = 0.1859

AER = 1 - ((Gs と交差する + Ap と Gp が交差する)/(A + S)) = 0.7425

その理由を知っていますか?

4

1 に答える 1

1

これらのパラメータはどこで取得しましたか? model1 の 100 回の繰り返し?! もし実際にこれを実行できたなら、非常に小さな対訳コーパスを持っているのではないかと強く思います。その場合は、トレーニングに並列データを追加することを検討する必要があります。また、再現率と適合率の測定値をどのように正確に計算しますか?

編集:

文が 500 未満の場合、適切なパフォーマンスが得られる可能性はほとんどありません。これを行う通常の方法は、より大きな (アラインされていない) 対訳コーパスを見つけるのではなく、両方で GIZA++ を一緒に実行してから、手動でアラインメントした小さな部分を評価することです。EuroparlまたはMultiUNを確認してください。これらは自由に利用できるコーパスであり、どちらも比較的大量の英語 - フランス語の並列データを含んでいます。データの準備に関する指示は、Web サイトで見つけることができます。

于 2012-08-30T10:45:08.813 に答える