Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:tsd2010 [2010/05/04 11:10] zeman verbparticle |
user:zeman:tsd2010 [2010/09/07 18:25] zeman Náměty. |
====== Pokusy s předzpracováním paralelních textů pro TSD 2010 ====== | ====== Pokusy s předzpracováním paralelních textů pro TSD 2010 ====== |
| |
| ===== Předzpracování ===== |
| |
| Zdrojová anglická strana paralelního korpusu se nejdříve prožene značkováním a parsingem v TectoMT. Výsledek se schovává ve složce ''en.parsed'' příslušného augmented korpusu jako ''.tmt'' soubory. Nad nimi se potom provádějí transformace, specifické pro každý pokus. Mám na to v TectoMT aplikaci, akorát pro celý Czeng by trvala strašně dlouho a Ondra už parsing provedl, takže stačí ho vzít a převést. O.: |
| |
| "Mam, ale je tam zvlast anglictina a cestina (a zadny alignment). Nebude ale velky problem to spojit. |
| |
| /home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora/{czeng092-*,emea2}/{cs,en}NaLOT.gz |
| |
| Jen upozornuju, ze to nejsou tmt soubory, ale lot, line-oriented-tmt, co radek, to bundle. Prevod do tmt viz tools/format_convertors/line-oriented-tmt, ale *opatrne*. Viz jak 100 bundlu tmt soubory neunesou (resp. nikdo je pak v rozumnem case nenacte.)" |
| |
| Výše uvedená Ondrova cesta vede na ''/a/merkur3/TMP/bojar/wmt10/playground/augmented_corpora/czeng092-ne'' (a další části Czengu) ''/enNaLOT.gz''. Zkopíroval jsem si ten soubor ''enNaLOT.gz'' do svých augmented corpora do ''/net/work/people/zeman/wmt/augmented_corpora/czeng092-ne''. Tam jsem ho začal přelévat do ''en.parsed'' pomocí svého skriptu ''${TMT_ROOT}/applications/reordering/tsd2010/prepare.pl'', který jsem za tím účelem upravil, aby kromě tokenizovaného textu uměl konvertovat i line-oriented tmt. Ve složce ''czeng092-ne/en.parsed'' se také vytváří ''filelist.txt'' se seznamem vzniklých tmt souborů (bude ho potřebovat náš transformační ''make reorder''). Je jich 1262. Až vyzkouším, že s tím lze provádět transformace a překlad, měl bych to udělat i pro ostatní části Czengu. |
| |
| Ovšem pozor, v seznamu souborů potřebujeme úplné cesty, proto musíme také cestu k pracovní složce uvést úplnou! |
| |
| <code bash>gunzip -c enNaLOT.gz | $TMT_ROOT/applications/reordering/tsd2010/prepare.pl -l -w /ha/work/people/zeman/wmt/augmented_corpora/czeng092-ne/en.parsed > /ha/work/people/zeman/wmt/augmented_corpora/czeng092-ne/en.parsed/filelist.txt</code> |
| |
===== Výsledky ===== | ===== Výsledky ===== |
| |
4.5.2010 pouštím další pokus ''verbparticle'', kde se slovesná částice přisunuje ke slovesu, např. "wake him up" -> "wake up him". Kvůli odlišné tokenizaci ale parser dělá chyby, když později ve větě vidí slovo, které by mohlo fungovat jako slovesná částice, bezhlavě ho připojí ke slovesu, i když by mohl poznat, že je to předložka nebo částice od něčeho jiného (třeba je tam rozdělený výraz "spin - off", on vezme to "off" a zavěsí ho na sloveso, které se nachází nalevo od spin-offu). Zachování odlišné tokenizace skrz parsing je skoro námět na článek :-). Zatím běží strojový překlad s přisunutými částicemi. Mohl bych ještě zkusit úplně slepit částici se slovesem (např. pomocí podtržítka). | 4.5.2010 pouštím další pokus ''verbparticle'', kde se slovesná částice přisunuje ke slovesu, např. "wake him up" -> "wake up him". Kvůli odlišné tokenizaci ale parser dělá chyby, když později ve větě vidí slovo, které by mohlo fungovat jako slovesná částice, bezhlavě ho připojí ke slovesu, i když by mohl poznat, že je to předložka nebo částice od něčeho jiného (třeba je tam rozdělený výraz "spin - off", on vezme to "off" a zavěsí ho na sloveso, které se nachází nalevo od spin-offu). Zachování odlišné tokenizace skrz parsing je skoro námět na článek :-). Zatím běží strojový překlad s přisunutými částicemi. Mohl bych ještě zkusit úplně slepit částici se slovesem (např. pomocí podtržítka). |
| |
| 30.5.2010: verbparticle, Joshua 1.1: devbleu = 0.0880, testbleu = 0.0864. |
| |
| Nové pokusy před odesláním konečné verze článku. Joshua verze 1.1, ale čištění od dlouhých vět už probíhá jako u verze 1.3. |
| |
| | **Pokus** | **Dev WMT08** | **Test WMT09** | **Poznámka** | **Datum** | |
| | encs | 0.0916 | 0.0891 | | 31.5.2010 | |
| | encs-articles | 0.0921 | 0.0898 | Z anglické strany vypuštěny určité i neurčité členy. Statisticky nevýznamné zlepšení. | 31.5.2010 | |
| | encs-subject | 0.0891 | 0.0864 | Ke kořenovému slovu anglického podmětu připojeno (do jednoho tokenu) ''/Sb''. U starších experimentů jsem tohle označoval jako ''subject1'', ale tehdejší ''subject'' bez indexu už je stejně zapomenut. | 31.5.2010 | |
| | encs-articles-subject | 0.0859 | 0.0851 | Kombinace transformací ''articles'' a ''subject''. | 31.5.2010 | |
| | encs-verbparticle | 0.0880 | 0.0864 | Viz výše. | 30.5.2010 | |
| | enhi | 0.1116 | 0.1230 | | 31.5.2010 | |
| | enhi-articles | 0.1141 | 0.1230 | Zatím se členy odstraňují úplně stejně jako u ''encs''. Ve skutečnosti bychom ale pro hindštinu měli asi odstraňovat pouze určité členy. | 31.5.2010 | |
| | enhi-reord2008 | 0.1074 | 0.1172 | Stará pravidla pro úpravu slovosledu z roku 2008: sloveso na konec věty a z předložek záložky. Možná se ale nepodařilo pravidla přenést úplně správně, bude to potřeba ještě prozkoumat po částech. | 31.5.2010 | |
| |
| 7.9.2010 ověřuju, že jsem schopen zopakovat výše uvedené květnové výsledky. Opakuju pouze překladovou část, ne předzpracování. Ověřeno: encs. |
| |
| ===== Náměty ===== |
| |
| * Zařídit, aby parser dostal text tokenizovaný takovým způsobem, na jaký je zvyklý, a po parsingu aby se text přetokenizoval tak, jak je to vhodné pro překlad. |
| * Vymyslet opravný blok za parserem, který pravidlově vychytá některé jeho chyby. Např. "off" ve spojení "spin - off" nemůže viset na nějakém slovesu o kilometr dříve. |