2012-08-29 3 views
4

Я попытался работать с giza ++ на окне (используя Cygwin-компилятор). Я использовал этот код:Плохой результат и оценка от Giza ++

// Пусть исходный язык является французским языком и языком является английским

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 

Но после получения выходных файлов из Гизы ++ и оценить выход, я заметил, что результаты были слишком плохо ,

Мой результат оценки был:

RECALL = 0,0889

PRECISION = 0,0990

F_MEASURE = 0,0937

AER = 0,9035

доза любое тело знает причину? Может быть, причина в том, что я забыл некоторые параметры, или я должен изменить некоторые из них?

других слов:

Сначала я хотел поезд Giza ++ огромного количества данных, а затем проверить его небольшим корпус и сравнить свой результат с помощью желаемого выравнивания (ЗОЛОТОЙ СТАНДАРТ), но я не нашел ни одного документа или полезная страница в Интернете.

Вы можете ввести полезный документ?

Поэтому я запустил его маленькой кучей (предложение 447) и сравнил результат по желаемому выравниванию. Как вы думаете, это правильный путь?

Также я изменил свой код следующим образом и получил лучший результат, но это еще не хорошо:

GIZA ++ -S testlowsf.f.vcb -T testlowde.e.vcb -C testlowsf.f_testlowde.e.snt - м1 5 -m2 0 -mh 5 -m3 5 -m4 0 -CoocurrenceFile inputcooc.cooc -o словарь -model1dumpfrequency 1 -model4smoothfactor 0,4 -nodumps 0 -nsmooth 4 -onlyaldumps 1 -p0 0,999 диагональных да -final да

результат оценки:

// Предположим, что A является результатом GIZA ++ и G является стандартом Gold. As и Gs - это ссылка S в файлах A и G. Ap и Gp - это p-ссылка в файлах A и G.

ВЫЗОВ = Как пересекаются Гс/Гс = 0,6295

ПРЕЦИЗИОННЫЙ = Ар пересекаются Gp/A = 0.1090

FMEASURE = (2 * Прецизионные * ВЫЗОВ)/(RECALL + прецизионность) = 0.1859

AER = 1 - ((как пересечение Gs + Ap пересекается с Gp)/(A + S)) = 0,7425

Знаете ли вы причину?

ответ

1

Откуда у вас эти параметры? 100 итераций модели1 ?! Ну, если вам действительно удастся запустить это, я сильно подозреваю, что у вас есть очень маленькое параллельное корпусное. Если это так, вам следует рассмотреть возможность добавления дополнительных параллельных данных в обучение. И как именно вы рассчитываете меры по отзыву и точности?

EDIT:

С менее чем 500 предложений, вы вряд ли получите любую разумную производительность. Обычный способ сделать это - не найти более крупный (неравнозначный) параллельный корпус, запустить GIZA ++ вместе, а затем оценить небольшую часть, для которой у вас есть ручные выравнивания. Проверьте Europarl или MultiUN, это свободно доступные корпуса, оба содержат относительно большое количество англо-французских параллельных данных. Инструкции по подготовке данных можно найти на веб-сайтах.

+0

, пожалуйста, прочитайте мой ответ (комментарий) на тему «Плохой результат и оценка от Giza ++» –

 Смежные вопросы

  • Нет связанных вопросов^_^