====== Návrh projektu na MT Marathon Dublin 2010 ====== Ondřej objevil formulář, kde je potřeba návrh projektu zaregistrovat do půlnoci 10.1.2010: http://www.mtmarathon2010.info/web/Projects.html Nástroj pro automatické vyhledávání určitých typů chyb strojového překladu a jejich pohodlné zobrazení. Měl by být užitečný zejména pro lidi, kteří neovládají jeden z jazyků, mezi kterými se překládá. Vyhledávání a vizualizace ale bude užitečná pro všechny. Primárně předpokládáme testování s Mosesem a Joshuou, ale mělo by to být modulární, aby šlo co největší část využít i s jinými systémy. Vyhledávací část bude náročnější na nápady, pokud to má najít opravdu zajímavé věci. Bude potřeba se koukat do trénovacích i testovacích dat, frázových tabulek / extrahovaných gramatik, souborů s párováním z Gizy atd. Zobrazovací část by měla poskytnout maximální možný komfort při zkoumání chyb a jejich procházení. Komfort spočívá zejména v soustředění různých zdrojů dat (viz výše o vyhledávací části) na jednom místě a v jejich provázání odkazy. Programovací jazyk bude především Perl, na něj jsme zvyklí. K zobrazování výsledků by se mohlo využít HTML (dynamicky generované Perlem). Buď by se předgenerovalo do řady provázaných souborů, nebo by se použilo ve spojení s webovým serverem jako CGI. Výhodou by byla možnost rozklikávání různých alternativ, snadné přecházení na jiné typy dotazů atd. Nevýhody: obtížné zobrazování stromů (snad by šlo propojit s Tredem a jeho exportem do SVG), dále potenciálně pomalá odezva CGI verze (možná by šlo propojit s SQL serverem jako u PerlTQ, ale to už by nebylo součástí projektu v Dublinu) resp. nároky na množství generovaného HTML u varianty, která předgenerovává statické stránky. Asi bychom tomu projektu mohli vytvořit někde nějaké stránky přístupné i pro potenciální účastníky, a taky SVN repozitář, takže co třeba na svn.ms.mff.cuni.cz? Případně to zařadit do našeho statmt repozitáře, ale tam zas asi nechceme pustit kdejakého cizince. ===== Název ===== Každý úspěšný nástroj musí mít dobrý název 8-) Tady jsou nějaké nápady: ADDICTER Automatic Detection and DIsplay of Common Translation ERrors nebo taky (to se mi líbí víc, i když to zvyšuje vazbu na Mosese a Joshuu; ale zase je to poušť, kde rostou Joshua Trees): MOJAVE (pronounced /moʊˈhɑːvi/ or /məˈhɑːvi/) MOses-Joshua Analysis and Visualization of Errors ===== Poznámky, co všechno by to mohlo umět ===== * out of vocabulary rate (occurrences/types in training/test data, source/target language) * rozpoznat pojmenované entity (máme-li na to pro daná data nástroj) a zjistit, co se děje kolem nich * trojí alignment ref-src-sys * lemmatized: u kterých slov jsme trefili lemma, ale ne tvar? * matchující slova (system vs. reference translation) po vynechání stopwords * hledání podobných slov (překlepy, alternativní transkripce hindských slov přejatých z angličtiny) * porovnávání frázových tabulek a glos: přeložili jsme nějaký výraz nevhodnou alternativou? * chybně vynechaná slova a fráze? * BLEU per věta * slovosled (které slovo je před kterým v referenčním překladu, a jak se to liší od výstupu systému) * porovnávání stromů, pokud máme parsery * Hledat jevy * Kvantifikovat závažnost a řadit je podle ní * Zobrazovat je hezky graficky * Pokud dokážeme jasně vymezit určitý typ chyby, zajímá nás i celkový počet jejích výskytů. * Možnost kliknout na slovo nebo frázi a nechat si ukázat jeho výskyty s kontextem * ve frázové tabulce * v trénovacích datech (zarovnané obě strany) * v trénovacích datech jazykového modelu (pokud jde o cílový jazyk) * v seznamu n-best překladů * další překlady toho samého jinde v testovacích datech * Všechna hledání lze na požádání provádět lematizovaná, díky čemuž uvidíme, kdy netrefujeme morfologii cílového jazyka. Podmínkou samozřejmě je, že máme k dispozici lematizátor. * Zobrazování: * Každý text v každém jazyce může mít * transliteraci * glosy (druhým jazykem z daného páru, nebo třeba i třetím jazykem, když překládáme mezi dvěma neznámými jazyky) * psát se zprava doleva (v rámci slova zajistí operační systém, ale uspořádání uzlů v rámci věty je na nás) ====== Poznámky 2012 ====== * Ve shrnutí chyb umožnit zobrazení obou (všech) alignmentů v tabulce vedle sebe. * Nějak zrychlit prohledávání velkých indexů. * Dále rozdělit a hierarchizovat index? * Prořezat index, aby ke každému slovu zůstal alespoň jeden příklad, ale zbývající aby se zahodily? * Kešovat poslední nalezená slova? To by pomohlo zejména při procházení příkladů vět. * Nějak zařídit, aby Markovu klasifikátoru chyb nevadilo zarovnání, které není bijektivní. * Nebo alespoň odněkud vyštrachat Markův kód, který zarovnání znásilňuje, aby bijektivní bylo. * Moje vlastní implementace párování via-source pro test data browsing. * OOV rate, vyčlenit OOV jako samostatný druh chyby, který poznáme srovnáním testovacích dat s trénovacími (bez ohledu na alignment). * Rozšířit použití lemmat i na Word Explorer: ukázat všechny tvary lemmatu, alignment summary pro lemmata, hledání příkladů pro celé lemma dohromady. * Do webové aplikace přidat srovnávadlo výstupů dvou systémů (Martin Popel, David Mareček a Loïc Barrault).