Table of Contents
Danovy poznámky k práci s TectoMT
Tato stránka vznikla inventurou v říjnu 2009 po téměř roce, kdy jsem s TectoMT nepracoval.
Moje knihovny kromě bloků
Toto jsou knihovny ve složce libs/other
.
- rjaz
- translit
- translit/* (brahmi, khmer, urdu)
Moje bloky
- SAnyW_to_SAnyM::Create_bundles_from_lines
- SAnyW_to_SAnyM::Split_long_lines
- SAnyW_to_SAnyM::DZToken
- SAnyW_to_SAnyM::DZSentence
- SAnyW_to_SAnyM::One_paragraph_per_line
- SAnyW_to_SAnyM::Rjaz
- SAnyW_to_SAnyM::Translit
- SEnglishA_to_SEnglishA::Hindi_like_word_order
- Print::Source_text
- Print::Tokenized_text
- Print::Corpus_statistics
- Print::Train_rjaz
- Print::Rjaz
Moje aplikace
- applications/tokenize
- applications/translation/en2hi: Teď jen torzo makefilu, ale plánuju sem přesunout smysluplné věci z /personal/bojar.
- applications/reordering/tsd2010: viz též zde
- training/rjaz
Další neuspořádaný kód ve složce personal/zeman
: morphochallenge.
Tokenize
Původně šlo o pokusy s nejnižší úrovní zpracování, tedy tokenizace, rozpoznání hranic vět, rozpoznání jazyka. Pak jsem se pokusil to použít naostro na texty z hindské Wikipedie. Momentální obsah složky je tomuto cíli dost podřízen. Mimochodem, s tou Wikipedií jsem moc neuspěl, a to ze dvou důvodů:
- Je to moc souborů (přes 20000) a jejich zpracování trvá neúnosně dlouho. Mám podezření, že za to může náročnost otevření jednoho souboru v TectoMT, a taky možná neuvolňování alokované paměti (všiml jsem si příšerného nárůstu paměťových nároků na stroji, na kterém to běželo). Obyčejný tokenizační skript v Perlu by to musel mít hotové nejpozději tak za hodinu.
- Některé soubory obsahují příliš dlouhé odstavce (přes 20000 tokenů). Tokenizace a segmentace uvnitř TectoMT znamená vkládání složitých struktur pro uzly, stromy a bundly, což jsou na takovýchto datech příliš drahé operace.
Poučení: TectoMT se bohužel nedá efektivně použít už od nejnižší úrovně zpracování. Je lepší zařídit si tokenizaci a segmentaci vět na prostém textu a do TectoMT převést teprve výsledek.
Moje nástroje
Převod formátů:
- emille_to_tmt/emille2tmt.pl
- plaintext_to_tmt/txt2tmt-anylang.pl
- tmt_to_tmt/merge_source_target.xsl
Ostatní:
- block_utils/apply_blocks_on_tmt_files.pl
- cluster_utils/qsub.csh
Moje data v TMT_SHARED
- resource_data/rjaz: trénovací texty a natrénované frekvenční charakteristiky pro rozpoznávání jazyků
- resource_data/emille: jen odkaz na /net/data/emille/cd_content