Selasa, 11 April 2017

Uji akurasi mesin penerjemah statistik dengan k-fold cross-validation

==== training language model
~/mosesdecoder32/srilm/bin/i686/ngram-count -order 3 -interpolate -unk -text corpus/corpus.lowercased.kh -lm lm/kh.lm
(contoh nama language model : kh.lm)

==== training translation model
~/mosesdecoder32/mosesdecoder/scripts/training/train-model.perl -root-dir . --corpus corpus/corpus.lowercased --f id --e kh --lm 0:3:/home/user/pba2017/lm/kh.lm:0

==== test decoder
~/mosesdecoder32/mosesdecoder/moses-cmd/src/moses -f model/moses.ini

BLEU
~/mosesdecoder32/mosesdecoder/moses-cmd/src/moses -f model/moses.ini < intest > out
~/mosesdecoder32/mosesdecoder/scripts/generic/multi-bleu.perl ref < out
catatan :
intest : file yang berisi kalimat sumber uang akan diuji
out : file hasil terjemahan mesin
ref : file yang berisi kalimat target yang diterjemahkan secara manual

k = 5
Contoh :
Jumlah parallel corpus = 1000
Bagi corpus menjadi 5 bagian :
Fold A : 1-200
Fold B : 201-400
Fold C : 401-600
Fold D : 601-800
Fold E : 801-1000

Siapkan 5 mesin di folder yang berbeda :

Mesin 1 :
Fold A sebagai Kalimat penguji
Fold B,C,D dan E sebagai corpus yang ditraining menjadi model

Mesin 2 :
Fold B sebagai Kalimat penguji
Fold A,C,D dan E sebagai corpus yang ditraining menjadi model

Mesin 3 :
Fold C sebagai Kalimat penguji
Fold A,B,D dan E sebagai corpus yang ditraining menjadi model

Mesin 4 :
Fold D sebagai Kalimat penguji
Fold A,B,C dan E sebagai corpus yang ditraining menjadi model

Mesin 3 :
Fold E sebagai Kalimat penguji
Fold A,B,C dan D sebagai corpus yang ditraining menjadi model

Buat Tabel hasil pengujian :
Mesin  |  Corpus Training  |  Corpus Uji  |  Nilai BLEU
Mesin1 |      B,C,D,E      |      A       |    60,66

dst...

Cari nilai rata2 Nilai BLEU