[ 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
Next revision Both sides next revision
user:zeman:wmt [2012/02/02 10:05]
zeman fr-en s uvozovkami.
user:zeman:wmt [2012/02/28 13:47]
zeman Aktualizace úkolů.
Line 2: Line 2:
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt11/translation-task.html+http://www.statmt.org/wmt12/translation-task.html
 http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua
 <code>/net/work/people/zeman/wmt</code> <code>/net/work/people/zeman/wmt</code>
Line 8: Line 8:
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Udělat pořádek záznamech. +  * Rozpracované: es-en a fr-en UN. Značkování Gigawordu. Chcíplý giga.fr-en a news.2007.de. 
-  * Najít oživit loňské pokusy s interpunkcízejména s uvozovkami. +    * Ještě by to chtělo zopakovat celý proces se značkováním korpusů OSN. Nejdřív se ale pokusím nechat alespoň jednou doběhnout současnou verzi. Původní korpus se nechtěl nechat označkovat a zdá se, že problém by mohl být tom, že některé věty jsou příliš dlouhéPustil jsem tedy nejdřív čištění (pouze věty délky 1 až 99 slov)ale kvůli nějaké chybě má označkovaný korpus stejně původní počet větZdá se, že poslední dávku jsem omylem nakopíroval tolikrátabych se dostal na původní počet řádků. Mělo by to ale být striktně paralelní, takže by to výsledek snad nemuselo nějak zásadně poškodit
-  * Zopakovat tytéž pokusy, ale nad letos distribuovanými daty+  * Všechny přípravy korpusů a zarovnání zopakovat i pod Emanem. Naučit se registrovat korpusy Corpmanem
-  * Převést všechny pokusy pod aktuální verzi Joshuy+  * Připravit data pro cs-de, cs-es a cs-fr (news-commentary+europarl.v7)
-  * Konečně převést Joshuu pod Emana+    Data už jsou připravena, ech 6 pokusů běží
-  Převést echny pokusy na nové zacházení s velkými písmeny (viz Ondřej a čeština)+  * Prohnat všechna data Morfessorem a vyhodnotit překlad s ním
-  * Dotáhnout do konce obo-max+  * Otestovat vliv omezení délky fráze na 5 tokenů (zkusit default 10)
-  * klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final změnit v něm cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi+  * Pro všechny jazykové páry používat všechna dostupná data. Například velký Czeng pro češtinu, velké korpusy UN pro francouzštinu a španělštinu, gigawordy pro jazykové modely atd. 
-  * Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat se na News CommentaryTo mj. znamená, žmusím pro všechny páry získat nové baseliny.+  * Převést všechny pokusy pod aktuální verzi Joshuy (ale bacha, možná bude hodně jiná).
  
 ===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 ===== ===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 =====
Line 55: Line 55:
 Testovací data by měl mít stejná jako já, tj. ''wmt102.test08'' pro MERT a ''wmt102.test09'' pro testování. Testovací data by měl mít stejná jako já, tj. ''wmt102.test08'' pro MERT a ''wmt102.test09'' pro testování.
  
-===== Výsledky =====+===== Pokusy s uvozovkami =====
  
-Není-li řečeno jinakváhy se ladí na newstest2008 a testuje se na newstest2009Trénuje se zatím na news-commentary, a to jak překladový, tak jazykový modelU testu WMT 2010 se jako základní uvádí BLEU skóre, které mi spočítal Joshua, závorce pak skóre, které mi spočítali organizátořilowercase / truecase. Hodnoty se kdy výrazně liší, zřejmě kvůli odlišné tokenizaci.+Paralelní data, která máme k&nbsp;dispozici, používají velmi různorodou směs znaků pro uvozovky. Často také není poznat, zda jde o počátečnebo koncové uvozovkyNapsal jsem skript, který se tohle pokusí rozpoznat (je jazykově závislý), a znaky pro uvozovky sjednotitVšechny korpusy jsem tímto skriptem protáhl a vznikly verze označené ''v6b'' (etně vývojových a testovacích dat). Nyní je třeba pustit všechny pokusy znova a zjistitzda to jak ovlivní skóre.
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +<code bash>$STATMT/scripts/specchar.pl</code>
-| decs-josh13 | 0.0935 | 0.0886 | | | 15.3.2010 | +
-| escs-josh13 | 0.0922 | 0.0872 | | | 15.3.2010 | +
-| frcs-josh13 | 0.0885 | 0.0818 | | Zřetelně menší trénovací data než pro encs, decs a escs. | 15.3.2010 |+
  
-===== Pokusy s uvozovkami =====+Takhle se upraví korpus v&nbsp;''augmented_corpora'', aby vznikla verze v6b (korpus musíme také označkovat, protože budeme potřebovat faktory lemma a stc):
  
-Na začátku léta 2011 jsem se pokoušel poloautomaticky opravit a sjednotit uvozovky ve všech jazycích WMT 2011. Myslím, že to nebylo dodělané, a momentálně to nemůžu najít. Šlo o úpravu trénovacích korpusů. Výsledkem měla být "v6b" (verze 6b) všech korpusů, na nich se měly všechny pokusy pustit znova. Asi.+<code bash>cd /net/work/people/zeman/wmt</code>
  
-''$STATMT/scripts/specchar.pl'' +Do Makefile přidáme nově upravené korpusy, mající v&nbsp;názvu ".v6b.", např.:
-a co historie loňských commitů?+
  
-Podle časových značek u korpusů v ''augmented_corpora'' se zdáže poslední "v6b" jsem vytvořil 21.4.2011. Vypadá to, že mám news-commentary+europarl ve verzi v6b pro všechny čtyři jazykové páry (cs-ende-enes-en, fr-en).+<code bash>EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)) 
 +NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</code>
  
-UPDATE: Tohle jsem k uvozovkám našel v textovém souboru s průběžnými výsledky loňského WMT (Makefilem se tam primárně myslí Makefile dat pro WMT, tedy ''/net/work/people/zeman/wmt/Makefile''):+Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z&nbsp;Makefile alespoň dočasně vyhodit! Jinak si novým zkopírováním zdrojových korpusů přepíšeme případnou označkovanou verzi korpusu!
  
 +<code bash>make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr</code>
  
---------------------------------------- +Teď použijeme TectoMT/Treex a cluster k&nbsp;označkování nových korpusůPůvodní aplikace se nachází v&nbsp;''$TMT_ROOT/applications/reordering/actag'', ale už v&nbsp;ní přestala fungovat němčinaprotože ze sdílené složky zmizel natrénovaný model pro TreeTaggerNová aplikace se nachází v&nbsp;''$TMT_ROOT/treex/devel/reordering/actag''ale zatím v&nbsp;ní funguje pouze němčina
-Mám dispozici trénovací data s opravenými uvozovkami, zatím jen pro angličtinu se španělštinou. + 
-Potřebuju je označkovat, abych mohl pouštět experimenty s faktory lemma a stc. +<code bash>cd $TMT_ROOT/treex/devel/reordering/actag
-cd /net/work/people/zeman/wmt +
-# Přidat do Makefile nově upravené korpusy mající v názvu ".v6b."např.+
-EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)) +
-NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair)) +
-# Ale pozor! Jestliže už jsme předtím zpracovali jiný jazykový pár, musíme ho z Makefile alespoň dočasně vyhodit! +
-# Jinak si novým zkopírováním zdrojových korpusů přepíšeme případnou označkovanou verzi korpusu! +
-make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr +
-# Teď použijeme TectoMT a cluster k označkování nových korpusů. +
-cd /net/work/people/zeman/tectomt/applications/reordering/actag+
 nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=fr >& make-euro-fren-fr.log & nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=fr >& make-euro-fren-fr.log &
 nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=en >& make-euro-fren-en.log & nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=en >& make-euro-fren-en.log &
 nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=fr >& make-news-fren-fr.log & nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=fr >& make-news-fren-fr.log &
 nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log & nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log &
-No a nyní již můžeme naklonovat nové pokusy. +for y in 2008 2009 2010 2011 ; do 
-I když můžeme naklonovat oba směry (např. "fren" a "enfr") těsně po sobě, se spuštěním druhého směru by to chtělo počkat kvůli zámkům a vzájemnému nepřetahování se o práci, až než u prvního směru doběhne fáze "prepare"+  for l in cs de en es fr ; do 
-$STATMT/joshua-scripts/clonex.pl fren-stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011 fren-stc-allemma-tmv6b-lmv6b-lm6-test2011+    nohup nice make CORPUS=newstest$y-v6b LANGUAGE=$l >& make-newstest$y-$l.log & 
 +  done 
 +done</code> 
 + 
 +No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. "fren" a "enfr") těsně po sobě, se spuštěním druhého směru by to chtělo počkat kvůli zámkům a vzájemnému nepřetahování se o práci, až než u prvního směru doběhne fáze "prepare"
 + 
 +<code bash>$STATMT/joshua-scripts/clonex.pl fren-stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011 fren-stc-allemma-tmv6b-lmv6b-lm6-test2011
 cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011
 $STATMT/joshua-scripts/resetex_scripts.pl $STATMT/joshua-scripts/resetex_scripts.pl
-vi scripts/setexp.pl +vim scripts/setexp.pl 
-$ac_tmtrain     = 'news-commentary-v6b.fr-en+europarl-v6b.fr-en';+$ac_tmtrain     = 'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code>
  
-Výsledky: +Dotažení do koncei vývojová a testovací data musí být ve verzi v6bžeme přeskočit alignment a trénování jazykového modelu, ale musíme pustit ''prepare.pl''abychom získali upravená data!
-Skóre "dříve" znamená před úpravou trénovacích dat, tedy -stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011. +
-Skóre "nyní" znamená po úpravě trénovacích dat, tedy -stc-allemma-tmv6b-lmv6b-lm6-test2011. +
-Vylaďovací ani testovací data zatím nijak upravována nebyla. +
-Jejich úpravu bychom ale měli taky otestovat, protože např. teď obsahují samé ASCII uvozovkykteré jsou pro Joshuu neznámým tokenem.+
  
-es-en: dříve 0.2452, nyní 0.2428 +<code bash>$STATMT/joshua-scripts/clonex.pl encs-stc-allemma-tmv6b-lmv6b-lm6-test2011 encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
-en-es: dříve 0.2590, nyní 0.2542+cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
 +$STATMT/joshua-scripts/resetex_scripts.pl 
 +vim scripts/setexp.pl 
 +$ac_dev         = 'newstest2008-v6b'; 
 +$ac_test        = 'newstest2011-v6b'; 
 +(qsub.pl) scripts/prepare.pl 
 +nohup nice $STATMT/joshua-scripts/joshua.pl extract > & joshua.log &</code>
  
 +Pokusy s&nbsp;uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentary) pro všechny čtyři jazykové páry. K&nbsp;poslední úpravě došlo 21.4.2011. Vracím se k&nbsp;tomu 16.1.2012. Nejdříve pouštím všechny tehdejší pokusy znova, potom přidám i úpravu vývojových a testovacích dat.
  
-===== Inventura 16.1.2012 =====+Nový průběh všech osmi starých pokusů (supervised truecasing, žádná normalizace uvozovek, nové je na nich paralelní počítání alignmentu, ale výsledek by měl být identický – nekontroloval jsem): ''$SRC$TGT-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011'', v&nbsp;tabulce uvedeno jako "v6"Varianta, ve které byly uvozovky upraveny pouze v&nbsp;trénovacích datech (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011''), je označena "v6b-tr"Varianta, ve které úpravou uvozovek prošla i vývojová a testovací data (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b''), je označena "v6b". Varianta "v7": nová trénovací data (verze 7 News Commentary a Europarlu pro WMT 2012) už jsou defaultně s&nbsp;upravenými uvozovkami; vývojová a testovací data jsou v tomto případě shodná s&nbsp;v6b. Verze wmt12 se od v7 liší tím, že netestujeme na newstest2011, ale newstest2012.
  
-16.1.2012 21:12: Pouštím znova pokus ''encs-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011''Zřejmě to neobsahuje opravené uvozovky (v6b), ale potřebuju zjistit, zda se to vůbec rozběhne.+^ Jazyky ^ v6 ^ v6b-tr ^ v6b ^ v7 ^ wmt12 ^ 
 +| en-cs | 0.1191 | 0.1246 | 0.1257 | 0.1299 | 0.1161 | 
 +| cs-en | 0.1692 | 0.1792 | 0.1801 | 0.1814 | 0.1661 | 
 +| en-de | 0.1337 | 0.1274 | 0.1334 | 0.1350 | 0.1359 | 
 +| de-en | 0.1885 | 0.1859 | 0.1896 | 0.1915 | 0.1880 | 
 +| en-es | 0.2573 | 0.2531 | 0.2627 | 0.2756 | 0.2757 | 
 +| es-en | 0.2446 | 0.2375 | 0.2497 | 0.2562 | 0.2699 | 
 +| en-fr | 0.2591 | 0.2619 | 0.2526 | 0.2729 | 0.2572 | 
 +| fr-en | 0.2243 | 0.2285 | 0.2384 | 0.2448 | 0.2391 |
  
-Nový průběh všech osmi starých pokusů (supervised truecasing, žádná normalizace uvozovek, nové je na nich paralelní počítání alignmentu, ale výsledek by měl být identický – nekontroloval jsem): ''$SRC$TGT-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011''+===== Pokusy s Emanem =====
  
-^ Jazyky ^ BLEU ^ +Tohle jsou data, která Ondřej použil pro svůj „malý pokus“: 
-| en-cs | 0.1191 | +SRCAUG=enNmT1+stc 
-| cs-en | 0.1692 | +TGTAUG=csNmT1+stc 
-| en-de | 0.1337 | +ALILABEL=enNmT1-lemma-csNmT1-lemma 
-| de-en | 0.1885 | +DEV: wmt10 
-| en-es | 0.2573 | +TEST: wmt11
-| es-en | 0.2446 | +
-| en-fr | 0.2591 | +
-| fr-en | 0.2243 |+
  
-Od jara mám vytvořené také pokusy s korpusy, ve kterých jsou upravené uvozovky (verze 6b), takže je teď taky pustím. Je to spíš na oprášení starého kódu, ale bude se to muset pustit ještě jednou, protože momentálně se uvozovky opravují pouze v trénovacích datech, ale ne ve vývojových a testovacích. (Opravu testovacích dat bych si mohl ospravedlnit např. budoucím hodnocením lidmi. A nebo alespoň normalizovat testovací data tím brutálnějším skriptem od Philippa.)+Kopie příslušných korpusů jsou na mém hřišti v chto krocích (ukázáno rovnou na inicializaci kroku dandata):
  
-''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011''+<code>/home/zeman/projekty/statmt/playground/corpman --wait wmt10/csNmT1+stc
  
-První výsledky jsou zatím bez záruky, protože v průběhu Gizy jsem narazil na kvótuProcesy sice nespadly, ale nejsem si jistý, co prováděly těch několik hodin, kdy nemohly psát na diskTakže raději pustit ještě jednou (ostatně jeden z nich dokonce nedoběhl).+SRC=en TGT=cs IMPORTCORPUS=yes TRALS=s.corpus.60681730.20120201-2157 TRALT=s.corpus.892024c6.20120201-2157 TRTMS=s.corpus.402e5219.20120201-2302 TRTMT=s.corpus.d8e0b2d7.20120201-2157 TRLMT=s.corpus.d8e0b2d7.20120201-2157 DEVS=s.corpus.e46c791e.20120201-2159 DEVT=s.corpus.c3230ea2.20120201-2201 TESTS=s.corpus.7b9dc07b.20120201-2205 TESTT=s.corpus.d0ef157e.20120201-2208 eman init dandata 
 +s.dandata.1d1f8734.20120203-1125
  
-24.1.2012 už mám i skoro všechny kontrolní výsledky druhého běhu, ale mezitím jsem zjistil chybu v počítání alignmentu, takže pouštím potřetí (zatím šest pokusů pro češtinu, němčinu a španělštinu, později pustím i francouzštinu, až i u ní skončí druhý běh).+wmt10/enNmT1+stc = s.corpus.e46c791e.20120201-2159 
 +wmt10/csNmT1+stc = s.corpus.c3230ea2.20120201-2201 
 +wmt11/enNmT1+stc = s.corpus.7b9dc07b.20120201-2205 
 +wmt11/csNmT1+stc = s.corpus.d0ef157e.20120201-2208
  
-^ Jazyky ^ BLEU ^ Kontrolní běh ^ Třetí běh ^ +Korpusy pro alignment: 
-| en-cs | FAILED | 0.1267 | 0.1246 | +s.corpus.60681730.20120201-2157 
-| cs-en | 0.1748 | 0.1748 | 0.1792 | +s.corpus.892024c6.20120201-2157 
-| en-de | 0.1268 | 0.1268 | 0.1274 | + 
-| de-en | 0.1869 | 0.1869 | 0.1859 +GIZASTEP=s.mosesgiza.8a492679.20120202-1628 DATASTEP=s.dandata.1d1f8734.20120203-1125 ALISYM=gdfa eman init danalign 
-en-es | 0.2542 | 0.2542 0.2531 +s.danalign.9fb3696a.20120203-1128 
-es-en | 0.2428 | FAILED | 0.2375 | +JOSHUASTEP=s.joshua.2723ccd9.20120131-1031 ALIGNSTEP=s.danalign.9fb3696a.20120203-1128 eman init binarize --start --mem 31g 
-en-fr 0.2586 | 0.2628 | 0.2619 +s.binarize.4576151d.20120203-1524 
-fr-en | 0.2294 | 0.2294 0.2285 |+BINARIZESTEP=s.binarize.4576151d.20120203-1524 FOR=dev eman init extract --start 
 +s.extract.95792bfb.20120203-1528 
 +BINARIZESTEP=s.binarize.4576151d.20120203-1524 FOR=test eman init extract --start 
 +s.extract.01f5693c.20120203-1528 
 +SRILMSTEP=s.srilm.e99247ad.20120201-0921 DATASTEP=s.dandata.1d1f8734.20120203-1125 ORDER=5 eman init danlm --start 
 +s.danlm.06d337e0.20120203-1600 
 +LMSTEP=s.danlm.06d337e0.20120203-1600 EXTRACTSTEP=s.extract.95792bfb.20120203-1528 eman init zmert --start 
 +s.zmert.884b636b.20120203-1602 
 +MERTSTEP=s.zmert.884b636b.20120203-1602 EXTRACTSTEP=s.extract.01f5693c.20120203-1528 eman init daneval --start 
 +s.daneval.96709ff9.20120203-1603</code> 
 + 
 +Výsledek Danova pokusu s Ondřejovými malými daty: 
 +BLEU = 0.1185 
 +(Ondřej měl s Mosesem asi 0.1230.) 
 +Ještě je potřeba to testovat stejným skriptem jako Ondřej, abychom použili stejnou tokenizaci a taky abychom dostali rozptyl skóre. 
 + 
 +===== Čeština s němčinou, španělštinou a francouzštinou ===== 
 + 
 +Tyto jazykové páry nejsou součástí shared task. Organizátoři pro ně ani neposkytují trénovací data, ale ta je možné získat hledáním shodných vět v&nbsp;dotyčných jazycích v&nbsp;páru s&nbsp;angličtinou. 
 + 
 +Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje se zatím na news-commentary, a to jak překladový, tak jazykový model. U testu WMT 2010 se jako základní uvádí BLEU skóre, které mi spočítal Joshua, v závorce pak skóre, které mi spočítali organizátoři, lowercase / truecase. Hodnoty se někdy výrazně liší, zřejmě kvůli odlišné tokenizaci. 
 + 
 +| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** 
 +decs-josh13 | 0.0935 | 0.0886 | | 15.3.2010 
 +escs-josh13 | 0.0922 | 0.0872 | | | 15.3.2010 
 +frcs-josh13 | 0.0885 | 0.0818 | Zřetelně menší trénovací data než pro encs, decs a escs. | 15.3.2010 |
  

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