====== Morfologická analýza hindštiny ====== Evidentně existuje vícero nástrojů, ale dlouho bylo těžké se k nim dostat a rozchodit je. Hajdarábádský analyzátor (anusAraka), který se nám v létě 2009 nepodařilo rozchodit ani za přímé asistence jeho hajdarábádského správce Avinéše PVS, nakonec doznal změn a objevil se na jejich webu ke stažení pod licencí GNU GPL v podobě, kterou už se po jistém úsilí podařilo přeložit. Aktuální verzi jsem nalezl na stránce http://ltrc.iiit.ac.in/showfile.php?filename=onlineServices/morph/index.htm, kde se klikne na [[http://ltrc.iiit.ac.in/onlineServices/morph/hin_morph.tgz|Linux version]]. Podle README se má spustit skript ''auto_install.pl'', který všechno přeloží. Řešil jsem následující problémy: * V ''ltrc/anusAraka/com/morph/main.c'' bylo potřeba opravit zalomení řádku uvnitř řetězce. * V ''ltrc/anusAraka/hindi/morph/test/Makefile'' je potřeba upravit linkování: místo "''-lgdbm''" tam musí být "''-lgdbm -lgdbm_compat''". README dále praví: ****** Add the following line to your .bash_profile ****** PATH=$PATH:/ha/home/zeman/nastroje/ltrc/anusAraka/hindi/morph_SV The input file "inp" contents are :: muJe usane The outut file generated by command morph_sv.sh inp is "inp.mo" and its contents are :: MO_¤1_mEM{mEM P any s 1 *ko* }/_MO MO_¤1_vaha{vaha P any s 1 *ne* }/_MO The outut file generated by command morph_svu.sh inp is "inp.mo" and its contents are :: MO_¤ROOT:1_mEM{PDGM:mEM CAT:P gender:any number:s case:1 TAM:*ko* }/_MO MO_¤ROOT:1_vaha{PDGM:vaha CAT:P gender:any number:s case:1 TAM:*ne* }/_MO Pozor: * Skript chce na konci mazat pomocné soubory. K tomu je potřeba, abych neměl alias, který mi z "''rm''" dělá "''rm -i''", protože tím se celá akce stává interaktivní a skript se mě na každý pomocný soubor ptá. * Výstup není v ASCII kvůli znaku ¤. I když zrovna tenhle znak nejspíš nepotřebuju, je potřeba si výstup překódovat, aby moje skripty dostaly čisté UTF-8. * Převod písma dévanágarí z UTF-8 do WX a zpět už mám pokusně napsaný, ale ještě bude asi nutné ho ladit. Bude také potřeba zapsat každé slovo na samostatný řádek a zapamatovat si původní řádkování, abychom se k němu mohli vrátit. Rovněž bude potřeba si zapamatovat původní slova před převodem do WX, protože převod není vratný v případě, že vstup obsahuje něco jiného než dévanágarí (latinku, arabské číslice, jiná indická písma).