This is an old revision of the document!
Table of Contents
DZ Parser
DZ Parser má svoji stránku na adrese http://ufal.mff.cuni.cz/~zeman/projekty/parser/index.html. To, co je zde, jsou pracovní poznámky.
svn checkout file:///net/work/public/SVN/dzparser/trunk dzparser
To do
- CoNLL 2007
- Napsat program, který na základě závislostí (ručních nebo naučených), morfologických značek (dítěte, rodiče, prarodiče, sourozenců, sousedů), popř. koncovek (téhož) přiřadí syntaktickou značku (druh závislosti).
- Napsat program pro převod stromů z CSTS zpět do formátu CoNLL.
- Otestovat mé výstupy oficiálním skriptem eval.pl, nebo jak se jmenuje.
- Zkusit ještě jednou pustit parser na všechny jazyky s vypnutým rozepisováním alternativ.
- Totéž, ale vypnout úpravy morfologických značek, na ne-PDT značkách to nemůže fungovat.
- Totéž, ale učit se pouze na podrobných slovních druzích, hodnoty rysů zahodit.
- Totéž, ale navíc rys pád.
- Učit se na morfologických značkách překódovaných do sady PDT.
- Kombinace parserů (Brown, McDonald, Stanford).
- Angličtina (větev adaptace na novou doménu)?
- Vše přetrénovat na celých trénovacích datech, rozebrat slepá testovací data a do soboty odeslat výsledky.
- Nová regrese na PDT 2.0 a commit (změny v ud.pm). Co je nového? Možnost vypnout rozepisování alternativ! U CoNLL to může uškodit, ale nemůže to pomoct! Kromě toho není dobře, že neSGML znak na vstupu má zvláštní význam - vlastně by se měl zakódovat jako |.
- Vyřešit situaci, kdy svislítko ve vstupních datech (značkách, slovech, heslech) se považuje za oddělovač alternativních anotací. Přinejmenším v arabských datech (přepsaných podle Tima Buckwaltera) se může objevit jako normální písmeno! I pokud se nesprávně interpretuje jako oddělovač, neměla by se funkce ud() zacyklit.
- Půjde zřejmě o rozsáhlejší přestavbu funkce ud(), kterou bude potřeba pečlivě otestovat na parsingu PDT. Součástí přestavby by mělo být i to, že parametrem funkce už nebude jeden řetězec, ale pole, kde prvním prvkem bude typ události a další prvky budou její parametry. Pak bude jasné, že na alternativy se dělí každý parametr zvlášť a že je potřeba nakombinovat všechny alternativy všech parametrů.
- Odstranit závislost parseru na konfiguračním souboru
parser.ini
.- Nejdůležitější výchozí hodnoty dát přímo do zdrojáku
parse.pm
, aby bylo možné pracovat úplně bez konfiguračního souboru. Např. vstup ze standardního vstupu, výstup na standardní výstup a veškerá diagnostická hlášení na standardní chybový výstup. - Složka
pracovni
nemusí existovat, psalo by se do/tmp
(resp. Milanem přidělené alternativy), nebo vůbec nikam. - Parser si sám zjistí, zda na vstupu má
<t>
,<MDt>
, nebo<MMt>
(nebo kombinaci uvedeného). Pokud má více různých zdrojů, vybere si výchozí zdroj podle nějaké vestavěné tabulky priorit. Pokud konfigurační soubor nebo někdo jiný vyžadují konkrétní zdroj, který na vstupu není k dispozici, parser ohlásí chybu nebo alespoň varování.
- Převádění vstupních slov na malá písmena by mělo být volitelné. Např. u arabštiny přepsané podle Tima Buckwaltera by to mohlo i uškodit, protože tam velká písmena nemají s odpovídajícími malými nic společného.
Výchozí nastavení
- koordinace = 0. Zvláštní zpracování koordinací předpokládá určité konkrétní syntaktické značky (Coord, _Co). Pokud tam nejsou, koordinace se nepoznají. Horší ale je, když tam jsou, ale nesplňují tatáž pravidla jako v PDT (např. v PADT).
Výsledky
Čeština PDT 2.0
train.pl -i parser-pdt.ini parse.pl -i parser-pdt.ini
A 158962 - G 118894 - B 40068 - P 0.74793975918773. Tato úspěšnost je nižší než dříve. Podle záznamů na stránce o českém parsingu jsem už dříve na d-testu PDT 2.0 dosáhl 75 %. SVN revize 3 ale dává stejné výsledky jako teď (P 74,8, G 118894). Uvidíme, co udělá revize 1, která ale není zvyklá pracovat s daty zakódovanými v UTF-8.
Výsledky CoNLL 2006
Arabština
train.pl < /net/data/CoNLL/2006/arabic/padt/artrain.02.csts parse.pl < /net/data/CoNLL/2006/arabic/padt/artest.02.csts
G 3086 - B 2287 - P 57,44 %. Ruční značky (jiné nemáme) převedené z CoNLL do PDT. Slova a hesla obsahují za podtržítkem Buckwalterovu transliteraci tak jako v CoNLL. Ta je ovšem převedena na malá písmena, což můj parser dělá i jinde.
Výsledky CoNLL 2007
Viz též Data CoNLL.
Arabština
train.pl < /net/data/conll/2007/arabic/padt/ardtrain.csts parse.pl < /net/data/conll/2007/arabic/padt/ardtest.csts
G 3591 - P = 61,1 %
Baskičtina
train.pl < /net/data/CoNLL/2007/basque/3lbBasque/eudtrain.csts parse.pl < /net/data/CoNLL/2007/basque/3lbBasque/eudtest.csts
A 4334 - G 2630 - B 1704 - P 0.606829718504845.
Čeština
Nastavení: stejné jako pro ostatní jazyky, podle výchozího parser.ini
. Zvláštní zpracování koordinací je vypnuté. Značky se sice upravují, ale z tvaru CoNLL, v důsledku čehož parser nemá k dispozici informaci o pádu.
train.pl < /net/data/CoNLL/2007/czech/pdt/csdtrain.csts parse.pl < /net/data/CoNLL/2007/czech/pdt/csdtest.csts
A 5760 - G 3067 - B 2693 - P 0.532465277777778.
Zkouším primitivní model přiřazení syntaktických značek závislostem. Model přiřazuje nejčetnější syntaktickou značku pro danou dvojici morfologických značek rodiče a dítěte. Trénuje se na ručně přiřazených značkách.
atrain.pl < /net/data/conll/2007/czech/pdt/csdtrain.csts > cs.astat
Čínština
train.pl < /net/data/CoNLL/2007/chinese/sinica/zhdtrain.csts parse.pl < /net/data/CoNLL/2007/chinese/sinica/zhdtest.csts
A 2277 - G 1513 - B 764 - P 0.664470794905577.
Italština
train.pl < /net/data/CoNLL/2007/italian/isst/itdtrain.csts parse.pl < /net/data/CoNLL/2007/italian/isst/itdtest.csts
A 7643 - G 4866 - B 2777 - P 0.63666099699071.
Katalánština
train.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtrain.csts parse.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtest.csts
A 10971 - G 6768 - B 4203 - P 0.616899097621001.
Maďarština
train.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtrain.csts parse.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtest.csts
A 5995 - G 3164 - B 2831 - P 0.527773144286906.
Řečtina
train.pl < /net/data/CoNLL/2007/greek/gdt/eldtrain.csts parse.pl < /net/data/CoNLL/2007/greek/gdt/eldtest.csts
A 4874 - G 3122 - B 1752 - P 0.640541649569142.
Turečtina
train.pl < /net/data/CoNLL/2007/turkish/metu/trdtrain.csts parse.pl < /net/data/CoNLL/2007/turkish/metu/trdtest.csts
A 6210 - G 4037 - B 2173 - P 0.650080515297907.