====== 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 Následující části byly vyčleněny do samostatných stránek. Viz též obsah této stránky vpravo nahoře. * [[user:zeman:dz-parser:programatorska-dokumentace|Programátorská dokumentace]] * [[user:zeman:dz-parser:vstup-a-vystup|Vstup a výstup]] * [[user:zeman:dz-parser:vysledky|Výsledky]] * [[user:zeman:dz-parser:atrain-a-aclass|Přiřazování syntaktických značek (analytických funkcí)]] * [[user:zeman:dz-parser:conll|CoNLL]] ===== To do ===== * Na začátku čtení slova si zapamatovat pole všech SGML prvků na jeho řádku (prvek, atributy, hodnota; v podstatě asi stačí tohle všechno v jednom řetězci). Při vypisování slova to tam všechno netknuté vypsat! Jediné, co ke slovu přidává DZ Parser, je značka . (Tu případně na vstupu umazat.) Pak ještě , pokud pouštíme aclass.pl. * CoNLL 2007 * 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ů ([[:Parsery|Brown]], [[:MST|McDonald]], [[:Parsery|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. * Následující už je asi vyřešeno, ale je třeba to zdokumentovat: 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á '''', '''', nebo '''' (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).