====== Morpho Challenge 2007 ======
Stránky soutěže jsou na http://www.cis.hut.fi/morphochallenge2007/. E-mailová adresa organizátorů je [[morphochallenge2007@james.hut.fi]].
Data mám v ''~/data/morphochallenge''.
Dostali jsme pro každý jazyk (angličtinu, němčinu, finštinu a turečtinu) seznam slovních tvarů a jejich četností. Měli jsme za úkol pro každý slovní tvar vrátit jeho dělení na morfémy. Morfémy mohly být identifikovány libovolným řetězcem, při vyhodnocování se pouze zjišťovalo, zda se u slov, která mají obsahovat tentýž morfém, skutečně opakuje stejně pojmenovaný morfém.
Moje zpracování se skládá ze dvou částí:
- Rozebrat slova na vstupu, získat seznam vzorů, kmenů a koncovek.
- Znova projít slova na vstupu, každé přiřadit k jednomu nebo několika vzorům a vypsat odpovídající rozklady.
Nijak nevyužívám informaci o četnosti slovních tvarů ani o kontextu slov v korpusu. Slovo umím rozložit na právě dva morfémy (kmen a koncovka) nebo nechat nerozložené. Při přiřazování slov ke vzorům se přednostně zjišťuje, zda známe přímo danou dvojici kmen-koncovka. Pokud žádnou takovou dvojici nenajdeme, zjišťujeme, zda rozpoznáme alespoň koncovky (aniž bychom znali kmen).
Potřebné skripty a výstupy jsou ve složce ''~/zapoctaky/konc''.
Seznam vzorů se buduje takto (práce je rozdělena do několika kroků, protože zpracování velkých dat trvá dlouho a při opravě nějaké drobnosti u filtrování vzorů nechceme muset opakovat i první dva kroky):
csts2kmkon.pl < en.csts > en.kmkon
kmkon2vzor.pl < en.kmkon > en.vzor
vzorfiltr.pl < en.vzor > en1.vzor
Skript ''vzorfiltr.pl'' jako vedlejší účinek vedle standardního výstupu tiše vyrobí soubory ''kmeny.txt'' a ''koncovky.txt''.
Rozklad slov na základě již vybudovaného seznamu vzorů se provede takto:
mchallenge.pl kmeny.txt koncovky.txt < wordlist.eng > en.dz.txt
Turečtinu je pak ještě nutné prohnat skriptem ''tr2mctr.pl'', aby se obnovilo exotické kódování, které organizátoři vyžadují.
===== Nové seznamy slov pro soutěž v získávání informací =====
Organizátoři dodatečně poskytli seznamy nových slov, která se neobjevila v původních trénovacích datech, ale vyskytují se v datech, nad kterými se vyhodnocuje získávání informací (information retrieval). Spojuji nový seznam slov se starým. Nad spojeným seznamem natrénuji nový seznam vzorů. Těmito vzory pak rozeberu nový seznam slov a pošlu ho zpátky organizátorům.
cat wordlist.eng new-wordlist.eng > combined.eng
iconv -f iso-8859-1 -t utf8 < combined.eng | mctr2csts.pl > entrain1.csts
csts2kmkon.pl < entrain1.csts > en1.kmkon
kmkon2vzor.pl < en1.kmkon > en1.vzor
vzorfiltr.pl < en1.vzor > en1.filtr.vzor
mv kmeny.txt en1kmeny.txt
mv koncovky.txt en1koncovky.txt
mchallenge.pl en1kmeny.txt en1koncovky.txt < new-wordlist.eng > en1.dz.txt