[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
user:zeman:moses-na-questu [2014/02/06 13:46]
zeman
user:zeman:moses-na-questu [2014/02/06 15:37]
zeman
Line 29: Line 29:
 ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.1.gz . ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.1.gz .
 ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.2.gz . ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.2.gz .
 +ln -s ../s.tm.c45f438c.20131221-0815/model/phrase-table.0-0.gz ./ttable-file.1.gz
 +ln -s moses.hardlink moses
 +cd ..
 +# es-cs
 +cd s.translate.5ad5995f.20131223-0739
 +rm lmodel-file.1.gz lmodel-file.2.gz ttable-file.1.gz moses
 +ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.1.gz .
 +ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.2.gz .
 +ln -s ../s.tm.f0b0d576.20131221-0816/model/phrase-table.0-0.gz ./ttable-file.1.gz
 +ln -s moses.hardlink moses
 +cd ..
 +# fr-cs
 +cd s.translate.32442a28.20131223-0742
 +rm lmodel-file.1.gz lmodel-file.2.gz ttable-file.1.gz moses
 +ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.1.gz .
 +ln -s ../s.mert.20cd7b2b.20130418-1358/lmodel-file.2.gz .
 +ln -s ../s.tm.78273296.20131221-0816/model/phrase-table.0-0.gz ./ttable-file.1.gz
 ln -s moses.hardlink moses ln -s moses.hardlink moses
 cd ..</code> cd ..</code>
  
 +Frázová tabulka je pro quest příliš velká. Její filtrování pro konkrétní test set trvá nepřijatelně dlouho (klidně přes čtvrt hodiny) a výsledná tabulka je stejně tak velká, že se nevejde do paměti. Proto je potřeba ji prořezat. Samozřejmě bychom měli fráze na vyhození vybírat nějak inteligentně a u těch zbývajících přepočítat pravděpodobnosti. Rychlá metoda hrubé síly je tato: Pokud mají zdrojová a cílová fráze dohromady větší než předem stanovený počet tokenů, vyhodit. Dlouhý příkaz níže stanovuje maximální počet tokenů na 7.
 +
 +<code bash>gunzip -c ttable-file.1.gz | perl -e 'use utf8; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; while(<>) {if(m/^(.*?\|\|\|.*?\|\|\|)/){my $prefix = $1; my @preftokens = split(/\s+/, $prefix); if(scalar(@preftokens)>7){next;}} print;}' | gzip -c > ttable-xxx.gz</code>
 +
 +O spuštění Mosese se správným modelem se stará skript $QCGI/moses-envelope.pl. (Teď nevím, jestli mám jeho kopii i někde mimo quest, potažmo v nějakém repozitáři.) Tento skript zatím sahal automaticky pro angličtinu. Nyní ho budeme muset upravit, aby podle volby vstupního jazyka vybral správný model. Zevnitř se mj. volá tohle:
 +
 +<code bash>date ; $traindir/filter-model-given-input.pl $wdir/filtered $translatedir/filtered-for-eval/moses.ini $wdir/corpus.src ; date</code>
 +
 +Sahá se tam do složky ''filtered-for-eval'', kde je symbolický odkaz na správnou frázovou tabulku a konfigurační soubor ''moses.ini'', ve kterém jsou rovněž cesty k jazykovým a překladovým modelům. Jde o absolutní cesty z vnitřní sítě, takže je potřebujeme opravit, aby fungovaly na questu! Mělo by stačit nahradit všechny výskyty cesty ''/a/LRC_TMP/zeman/statmt/playground'' cestou ''/home/zeman/cgi/czechmate/ufal-smt-playground/playground'':
 +
 +<code bash>cd filtered-for-eval
 +cat moses.ini | sed 's:/a/LRC_TMP/zeman/statmt/playground:/home/zeman/cgi/czechmate/ufal-smt-playground/playground:g' > moses1.ini
 +mv moses1.ini moses.ini
 +mv phrase-table.0-0.1.1.gz xxl-phrase-table.0-0.1.1.gz
 +ln -s ../ttable-xxx.gz phrase-table.0-0.1.1.gz
 +cd ..</code>

[ Back to the navigation ] [ Back to the content ]