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
- 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
Arabština CoNLL 2006
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.
Č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.
Čeština CoNLL 2007
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.
Italština CoNLL 2007
train.pl < /net/data/CoNLL/2007/italian/isst/itdtrain.csts parse.pl < /net/data/CoNLL/2007/italian/isst/itdtrain.csts
A 7643 - G 4866 - B 2777 - P 0.63666099699071.
Katalánština CoNLL 2007
train.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtrain.csts parse.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtrain.csts
A 10971 - G 6768 - B 4203 - P 0.616899097621001.
Maďarština CoNLL 2007
train.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtrain.csts parse.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtrain.csts
A 5995 - G 3164 - B 2831 - P 0.527773144286906.