[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:dz-parser [2007/03/28 12:52]
zeman Udělat - technické programy.
user:zeman:dz-parser [2007/05/15 11:25]
zeman Vstupy a výstupy.
Line 4: Line 4:
  
 <code>svn checkout file:///net/work/public/SVN/dzparser/trunk dzparser</code> <code>svn checkout file:///net/work/public/SVN/dzparser/trunk dzparser</code>
 +
 +  * [[user:zeman:dz-parser:atrain-a-aclass|atrain a aclass]]
 +  * [[user:zeman:dz-parser:csts.pm|csts.pm]]
 +  * [[user:zeman:dz-parser:vystupy.pm|vystupy.pm]]
 +  * [[user:zeman:dz-parser:vysledky|Výsledky]]
 +  * [[user:zeman:dz-parser:conll|CoNLL]]
 +
 +===== Chování vstupu a výstupu =====
 +
 +V posledním roce jsem vnesl zmatek do chování vstupu a výstupu DZ Parseru. Jak by se tedy měl chovat a jak se momentálně chová?
 +
 +==== Vstup ====
 +
 +Vstupem train.pl jsou trénovací data a případně konfigurační soubor.
 +Vstupem parse.pl je natrénovaná statistika, testovací data a případně konfigurační soubor.
 +
 +Malou část konfigurace lze provést přepínači na příkazovém řádku. V budoucnosti by měla být možnost provést tady veškerou konfiguraci, pokud uživatel chce. Z příkazového řádku lze také říci, odkud se má načíst konfigurační soubor. Pokud nic neřekneme, neměl by se defaultně číst žádný konfigurační soubor. (A ty nejdefaultnější defaulty by měly být obsaženy přímo ve zdrojácích parseru.) Nevím, jak je to teď, ale po dlouhá léta se standardně načítal soubor parser.ini ve složce s parserem. Komplikovalo to pouštění parseru z jiných složek.
 +
 +Pokud konfigurace obsahuje cestu ke vstupním datům (trénovací korpus, testovací korpus, natrénovaná statistika), použijí tato data. Pokud je tato cesta "-", čte se standardní vstup. Pouze v případě natrénované statistiky se "-" interpretuje jinak: vleze se do pracovní složky (cesta k ní by měla být opět v konfiguraci), najde se soubor s nejvyšším číslem N, že jméno souboru je N.stat, a ten se načte.
 +
 +Pokud konfigurace (ani ta z příkazového řádku) neobsahuje cestu ke vstupním datům, ale na příkazovém řádku zbývají nevyužité argumenty, tyto argumenty se interpretují jako cesty ke vstupním souborům a ty se načtou. Pokud nezbývají ani argumenty, čte se standardní vstup. (To neplatí o natrénované statistice na vstupu parse.pl, ta se čte vždy ze souboru. Pokud chybí určení cesty, postupuje se jako kdyby určení bylo "-", tj. čte se z pracovní složky.)
 +
 +Pokud konfigurace neobsahuje cestu k pracovní složce, považuje se za pracovní složka, ze které byl program spuštěn (".").
 +
 +==== Výstup ====
 +
 +Hlavním výstupem train.pl je natrénovaná statistika. Hlavním výstupem parse.pl jsou rozebraná testovací data ve formátu CSTS. Hlavní výstupy se posílají na standardní výstup.
 +
 +V ladícím režimu (lze ho zapnout v konfiguraci) se totéž loguje i do souboru. Případně lze vypnout standardní výstup a pouze logovat do souboru.
  
 ===== To do ===== ===== To do =====
  
   * CoNLL 2007   * 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.     * 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.     * Zkusit ještě jednou pustit parser na všechny jazyky s vypnutým rozepisováním alternativ.
Line 16: Line 43:
     * Totéž, ale navíc rys pád.     * Totéž, ale navíc rys pád.
     * Učit se na morfologických značkách překódovaných do sady PDT.     * Učit se na morfologických značkách překódovaných do sady PDT.
-    * Kombinace parserů (Brown, McDonald, Stanford).+    * Kombinace parserů ([[:Parsery|Brown]][[:MST|McDonald]][[:Parsery|Stanford]]).
     * Angličtina (větev adaptace na novou doménu)?     * 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.     * 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 &verbar;.
   * 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.   * 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ů.     * 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ů.
Line 30: Line 58:
  
   * 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).   * 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 ==== 
- 
-<code>train.pl -i parser-pdt.ini 
-parse.pl -i parser-pdt.ini</code> 
- 
-A 158962 - G 118894 - B 40068 - P <html><span style='background:yellow'>0.74793975918773</span></html>. 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 ==== 
- 
-<code>train.pl < /net/data/CoNLL/2006/arabic/padt/artrain.02.csts 
-parse.pl < /net/data/CoNLL/2006/arabic/padt/artest.02.csts</code> 
- 
-G 3086 - B 2287 - P <html><span style='background:yellow'>57,44</span></html> %. 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éž [[internal:data-conll|Data CoNLL]]. 
- 
-==== Arabština ==== 
- 
-<code>train.pl < /net/data/conll/2007/arabic/padt/ardtrain.csts 
-parse.pl < /net/data/conll/2007/arabic/padt/ardtest.csts</code> 
- 
-G 3591 - P = <html><span style='background:yellow'>61,1</span></html> % 
- 
-==== Baskičtina ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/basque/3lbBasque/eudtrain.csts 
-parse.pl < /net/data/CoNLL/2007/basque/3lbBasque/eudtest.csts</code> 
- 
-A 4334 - G 2630 - B 1704 - P <html><span style='background:yellow'>0.606829718504845</span></html>. 
- 
-==== Č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. 
- 
-<code>train.pl < /net/data/CoNLL/2007/czech/pdt/csdtrain.csts 
-parse.pl < /net/data/CoNLL/2007/czech/pdt/csdtest.csts</code> 
- 
-A 5760 - G 3067 - B 2693 - P <html><span style='background:yellow'>0.532465277777778</span></html>. 
- 
-==== Čínština ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/chinese/sinica/zhdtrain.csts 
-parse.pl < /net/data/CoNLL/2007/chinese/sinica/zhdtest.csts</code> 
- 
-A 2277 - G 1513 - B 764 - P <html><span style='background:yellow'>0.664470794905577</span></html>. 
- 
-==== Italština ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/italian/isst/itdtrain.csts 
-parse.pl < /net/data/CoNLL/2007/italian/isst/itdtest.csts</code> 
- 
-A 7643 - G 4866 - B 2777 - P <html><span style='background:yellow'>0.63666099699071</span></html>. 
- 
-==== Katalánština ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtrain.csts 
-parse.pl < /net/data/CoNLL/2007/catalan/cess-cat/cadtest.csts</code> 
- 
-A 10971 - G 6768 - B 4203 - P <html><span style='background:yellow'>0.616899097621001</span></html>. 
- 
-==== Maďarština ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtrain.csts 
-parse.pl < /net/data/CoNLL/2007/hungarian/szeged/hudtest.csts</code> 
- 
-A 5995 - G 3164 - B 2831 - P <html><span style='background:yellow'>0.527773144286906</span></html>. 
- 
-==== Řečtina ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/greek/gdt/eldtrain.csts 
-parse.pl < /net/data/CoNLL/2007/greek/gdt/eldtest.csts</code> 
- 
-A 4874 - G 3122 - B 1752 - P <html><span style='background:yellow'>0.640541649569142</span></html>. 
- 
-==== Turečtina ==== 
- 
-<code>train.pl < /net/data/CoNLL/2007/turkish/metu/trdtrain.csts 
-parse.pl < /net/data/CoNLL/2007/turkish/metu/trdtest.csts</code> 
- 
-A 6210 - G 4037 - B 2173 - P <html><span style='background:yellow'>0.650080515297907</span></html>. 

[ Back to the navigation ] [ Back to the content ]