[ 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
user:zeman:dz-parser:icon [2012/12/08 10:37]
zeman První výsledky MST parseru.
user:zeman:dz-parser:icon [2012/12/11 12:37] (current)
zeman training-k:5
Line 6: Line 6:
  
   * Natrénovat McDonaldův MST parser. Pokud možno s pořádnými rysy, neprojektivně a druhý řád. Ale na druhou stranu, aby to taky někdy doběhlo.   * Natrénovat McDonaldův MST parser. Pokud možno s pořádnými rysy, neprojektivně a druhý řád. Ale na druhou stranu, aby to taky někdy doběhlo.
-    * Ambati et al. použili 2. řád a training-k:5. +    * Zkusit jinou kombinaci rysů ze sloupce FEATA zkusit ponechat všechny rysy (žádná redukce).
-    * Zkusit mu dát značky z jiného zdrojeTeď je to POS. Nabízí se CPOS, kombinace CPOS-POS, FEAT, nějaký výběr z FEAT (vibhakti a tamnebo složitější kombinace výše uvedeného.+
   * Natrénovat Malt parser a mezi rysy mu přidat hypotézu od MST (parser MST-Malt podle Joakimova a Ryanova článku).   * Natrénovat Malt parser a mezi rysy mu přidat hypotézu od MST (parser MST-Malt podle Joakimova a Ryanova článku).
     * To znamená, že musím vybrat nejlepší parametry trénování MST, rozdělit trénovací data na 10 dílů, opakovaně natrénovat MST na devíti dílech a pustit ho na ten desátý. Pak musím rozhodnout, jakým způsobem se názor MST předloží Maltu. Musí to být rys položky na vstupu nebo na zásobníku. Asi nejjednodušší by bylo zavést rys, který pro každé slovo řekne značku jeho rodiče. V mnoha větách to bude ukazovat na více než jedno slovo, ale někde to snad pomůže. A pokud místo značky dáme slovo, mohla by být příliš řídká data. (Můžeme ale zavést dva rysy a dát tam obojí.) Index rodiče je jako rys k ničemu, protože hodnota má v každé větě jiný význam. Nejlepší by zřejmě bylo, kdybychom dokázali posuzovat dvě položky najednou (např. dvě horní položky v zásobníku) a říct, zda si MST parser myslí, že mezi nimi vede hrana. Ale to zase neumím popsat a je otázka, jestli to vůbec umí Malt parser, resp. ten jeho SVM rádce.     * To znamená, že musím vybrat nejlepší parametry trénování MST, rozdělit trénovací data na 10 dílů, opakovaně natrénovat MST na devíti dílech a pustit ho na ten desátý. Pak musím rozhodnout, jakým způsobem se názor MST předloží Maltu. Musí to být rys položky na vstupu nebo na zásobníku. Asi nejjednodušší by bylo zavést rys, který pro každé slovo řekne značku jeho rodiče. V mnoha větách to bude ukazovat na více než jedno slovo, ale někde to snad pomůže. A pokud místo značky dáme slovo, mohla by být příliš řídká data. (Můžeme ale zavést dva rysy a dát tam obojí.) Index rodiče je jako rys k ničemu, protože hodnota má v každé větě jiný význam. Nejlepší by zřejmě bylo, kdybychom dokázali posuzovat dvě položky najednou (např. dvě horní položky v zásobníku) a říct, zda si MST parser myslí, že mezi nimi vede hrana. Ale to zase neumím popsat a je otázka, jestli to vůbec umí Malt parser, resp. ten jeho SVM rádce.
Line 16: Line 15:
  
 HTB verze 0,51: train 12041 sent, 268093 tok? (words), dev 1233 / 26416 HTB verze 0,51: train 12041 sent, 268093 tok? (words), dev 1233 / 26416
 +
 +**MST parser:** V TectoMT share mají verzi 0.4.3b z října 2009 (''$TMT_ROOT/share/installed_tools/parser/mst/0.4.3b''). Já možná mám nebo jsem měl v ''~/nastroje/parsery'' totéž, ale soubor README se tváří, že by to měla být verze 0.5.0. Na [[http://sourceforge.net/projects/mstparser/|Sourceforge]] se tváří, že poslední aktualizace byla 23.1.2012 a verze se stále jmenuje 0.5.0. Resp. možná se tak jmenuje až tahle letošní, protože předcházející aktivita byla 6.5.2011, a to byla zveřejněna verze 0.4.3c. (A verze 0.4.3b ve skutečnosti podle Sourceforge pochází už z 4.4.2007.)
  
 Vyhodnotit samostatně Vyhodnotit samostatně
Line 24: Line 25:
 ===== Výsledky ===== ===== Výsledky =====
  
-mst nonproj o2 full +==== Různé redukce značek ==== 
-  Labeled   attachment score: 15503 / 26416 * 100 58.69 % + 
-  Unlabeled attachment score20408 / 26416 * 100 = 77.26 % +Je vhodné využívat formát dat CoNLL, který je i pro MST parser nyní výchozí. Při konverzi do původního formátu MST je nutné rozhodnout, co prohlásíme za morfologickou značku. Pokud nechceme zbytek informace zahodit, tak máme značky velmi dlouhé a neumožňujeme parseru vybrat si, jaká jejich část ho zajímá nejvíc. Naproti tomu ve formátu CoNLL bere MST parser 0.4.3b v úvahu všechny morfologické sloupce (CPOS, POS i FEAT), jak vyplývá z následujících pokusů. Zatím jsem nezkoumal, zda je schopen rozložit obsah sloupce FEAT na samostatné rysy. A nikdy jsem mu nedal kompletní rysy, vždy jsem je omezil buď na vibhakti + tam, nebo jsem je úplně vymazal
-  Label accuracy score      16637 / 26416 * 100 = 62.98 %+ 
 +Zlatý standard morfologie, trénování na 1000 větách, neprojektivní MST parser 2. řádu. Střídavě jsem redukoval nebo mazal (nahrazoval podtržítkem) hodnoty v různých sloupcích. Parser na všechny tyto změny reagoval a pokaždé dosáhl jiné úspěšnosti. To znamená, že všechny tyto sloupce bere při trénování v úvahu. 
 + 
 +^ CPOS ^ POS ^ FEAT ^ UAS ^ LA ^ LAS ^ Model ^ Rysů ^ Čas učení ^ 
 +| ano | ano | vibhakti + tam | 91.78 | 79.76 | 77.73 | 131 MB 9.12.2012 23:31:04 |  2 334 346 | 11 min | 
 +| ano | ano | ne | 88.47 | 77.52 | 75.55 | 56 MB 9.12.2012 23:32:15 | 1 130 847 | 12 min | 
 +| ano | ne | vibhakti + tam | 90.47 | 68.65 | 66.64 | 128 MB 10.12.2012 9:10:05 | 2 246 768 | 11 min | 
 +| ne | ano | vibhakti + tam | 88.11 | 77.83 | 74.62 | 127 MB 10.12.2012 9:13:08 | 2 234 096 | 14 min |
  
-mst nonproj o2 1000 +==== training-k ====
-  Labeled   attachment score: 15624 / 26416 * 100 59.15 % +
-  Unlabeled attachment score: 20335 / 26416 * 100 76.98 % +
-  Label accuracy score:       16741 / 26416 * 100 63.37 %+
  
-Parser zřejmě použil jako part of speech sloupec CoNLL POS (nikoli CPOS nebo FEAT).+Ambati et al. použili 2. řád a training-k:5. Zkoušel jsem porovnat training-k:5 a výchozí nastavení (neřeknu nic, čili podle souboru README platí training-k:1). Výstup na dtestu se nelišil ani v jediné závislosti. Parametr training-k jsem ovšem předával pouze při učení, předpokládám, že při použití modelu to nemá smysl. Možná by to chtělo ještě prozkoumat trochu pečlivěji, než to úplně vyhodím.
  
 ====== ICON 2009 NLP Tools Contest ====== ====== ICON 2009 NLP Tools Contest ======

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