Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:morpho-challenge-2008 [2008/06/27 17:19] zeman Oprava cesty ke skriptu. |
user:zeman:morpho-challenge-2008 [2008/07/31 16:06] zeman Sjednotit označení koncovek. |
||
---|---|---|---|
Line 44: | Line 44: | ||
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): | 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): | ||
< | < | ||
- | kmkon2vzor.pl < en.kmkon > en.vzor | + | kmkon2vzor.pl < en.kmkon > en.nefiltr |
- | vzorfiltr.pl < en.vzor > en1.vzor</ | + | vzorfiltr.pl |
Skript '' | Skript '' | ||
+ | |||
===== Morfematická segmentace ===== | ===== Morfematická segmentace ===== | ||
Line 61: | Line 62: | ||
$MC/ | $MC/ | ||
end</ | end</ | ||
+ | |||
+ | V úvahu přichází několik stupňů přísnosti při aplikaci vzorů na morfematickou segmentaci: | ||
+ | - Slovo rozdělit pouze v případě, že toto dělení bylo viděno v trénovacích datech a proniklo filtrem mezi výsledné vzory. Jinými slovy, kmen i koncovka musí být známé a navíc musely být viděny spolu. | ||
+ | - Kmen i koncovka musí být známé, ale nemusely být viděny spolu. | ||
+ | - Známá je koncovka, kmen známý být nemusí. | ||
+ | - Známý je kmen, koncovka známá být nemusí. | ||
+ | - Známý je kmen nebo koncovka, ale ne nutně obojí. | ||
+ | Poslední tři body neumím uspořádat podle přísnosti, | ||
===== Úprava výstupu před odesláním ===== | ===== Úprava výstupu před odesláním ===== | ||
Line 71: | Line 80: | ||
$MC/ | $MC/ | ||
$MC/ | $MC/ | ||
- | $MC/ | + | $MC/ |
+ | $MC/ | ||
+ | $MC/ | ||
+ | $MC/ | ||
+ | $MC/ | ||
+ | $MC/ | ||
+ | ===== Skórování ===== | ||
+ | |||
+ | Organizátoři poskytli program '' | ||
+ | |||
+ | Co ještě potřebujeme: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Jaký je tedy úplný postup při vyhodnocování? | ||
+ | |||
+ | - Stáhnout program '' | ||
+ | - Stáhnout program '' | ||
+ | - Pro jazyk, který chceme vyhodnocovat, | ||
+ | - Pro jazyk, který chceme vyhodnocovat, | ||
+ | - Z výstupu analyzátoru, | ||
+ | - Nejdříve vytvoříme seznam relevantních slov, tedy takových, která se vyskytují ve vzorových analýzách, | ||
+ | - Potom náhodně vybereme 100 relevantních slov z výstupu našeho analyzátoru. < | ||
+ | - Nyní již máme pohromadě všechny soubory potřebné jako vstupy pro vyhodnocovací program a můžeme spustit vyhodnocování: | ||
+ | < | ||
+ | |||
+ | < | ||
+ | $MC/ | ||
+ | $MC/ | ||
+ | |||
+ | ===== Vyhodnocení ===== | ||
+ | |||
+ | Moje vyhodnocení se bude lišit od oficiálních výsledků soutěže, protože mám k dispozici gold standard jen pro 500 slov z každého jazyka. Na prvním místě uvádím své výsledky, vpravo pak oficiální výsledky zveřejněné na stránkách soutěže. | ||
+ | |||
+ | | Jazyk | F | P | R | Fo | Po | Ro | | ||
+ | | en | 48.56 | 53.39 | 44.53 | 46.90 | 52.98 | 42.07 | | ||
+ | | de | 27.67 | 30.28 | 25.47 | 36.98 | 53.12 | 28.37 | | ||
+ | | fi | 30.97 | 47.44 | 22.99 | 30.33 | 58.51 | 20.47 | | ||
+ | | tr | 32.68 | 59.46 | 22.53 | 29.23 | 65.81 | 18.79 | | ||
+ | | ar | 15.78 | 79.86 | 8.76 | 21.86 | 77.24 | 12.73 | | ||
===== Zpracování převrácených slov a hledání předpon ===== | ===== Zpracování převrácených slov a hledání předpon ===== | ||
Line 84: | Line 135: | ||
< | < | ||
- | cat $l.rev.kmeny.txt | perl -pe ' | + | cat $l.rev.kmeny.txt | $MC/ |
- | cat $l.rev.koncovky.txt | perl -pe ' | + | cat $l.rev.koncovky.txt | $MC/ |
+ | $MC/ | ||
end</ | end</ | ||
===== Zbývá udělat ===== | ===== Zbývá udělat ===== | ||
- | * Pustit celý algoritmus na převrácená slova a získat předpony. | ||
* Vyzkoušet skórování. | * Vyzkoušet skórování. | ||
+ | * Pustit celý algoritmus na převrácená slova a získat předpony. | ||
* Zkusit rozpoznat složená slova, resp. složené kmeny. Pouze jednoduchý přístup, snažit se najít uvnitř kmenu jiný existující kmen tak, aby to, co zbyde, byl také existující kmen nebo složenina. | * Zkusit rozpoznat složená slova, resp. složené kmeny. Pouze jednoduchý přístup, snažit se najít uvnitř kmenu jiný existující kmen tak, aby to, co zbyde, byl také existující kmen nebo složenina. | ||
- | * Stáhnout doplňující seznamy slov pro soutěž 2 (information retrieval) a celý postup pro ně zopakovat. | ||
* Vymyslet způsob, jak využít četnosti slovních tvarů, které jsme dostali s& | * Vymyslet způsob, jak využít četnosti slovních tvarů, které jsme dostali s& | ||
* Odeslat výsledky Mikkovi. | * Odeslat výsledky Mikkovi. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Postřehy ===== | ||
+ | |||
+ | Zkusit nejpřísnější segmentaci. Slovo se rozdělí pouze v případě, že kmen a koncovka byly viděny //spolu.// | ||
+ | |||
+ | Předpony, zdá se, fungují, ale na rozdíl od přípon by to tu nechtělo dávat společná písmena ke kmeni, nýbrž k& | ||
+ | |||
+ | Jednopísmenné předpony jsou problém. Nemůžu je úplně zakázat (české //o-, u-//), ale ve výstupu se mi nezdravě množí. | ||
+ | |||
+ | Segmentaci dělám hladově, i když by to chtělo chart parser. Problém: máme 2 seznamy kmenů (jeden zbytky po předponách, | ||
+ | |||
+ | Algoritmus 3 (předpony + kmeny + přípony) nedělá to, co má. Jaktože nepoznal vzor //abrupt - abruptly - abruptness//, | ||
+ | |||
+ | Četnost koncovek: u kolika slov (typů i výskytů) jsme viděli danou koncovku? Méně časté koncovky by měly mít ztížené uplatnění při segmentaci. Zatím ale nevím, jak jim ho ztížit jinak, než je úplně zakázat. | ||
+ | |||
+ | Vzhledem ke způsobu vyhodnocení, | ||