[ 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:dusek:morpho_gen [2011/09/29 14:20]
dusek
user:dusek:morpho_gen [2012/07/30 12:58] (current)
dusek
Line 1: Line 1:
-==== Generování morfologických atributů z formémů a gramatémů ====+==== Generování morfologických atributů z formémů a gramatémů (návrh) ====
  
 === Postup === === Postup ===
   * Nejdřív určit MainPOS a SubPOS, podle toho se budou určovat další featury   * Nejdřív určit MainPOS a SubPOS, podle toho se budou určovat další featury
   * Určit i Lemma, na základě zdrojového lemmatu (důležité hlavně pro #PersPron, ale i possesiva nebo cokoliv by se sbalovalo na t-rovině)   * Určit i Lemma, na základě zdrojového lemmatu (důležité hlavně pro #PersPron, ale i possesiva nebo cokoliv by se sbalovalo na t-rovině)
 +    * lemma se mění na t-rovině u: #PersPron, possesiv, (číslovek, deadjektivních adverbií, neurčitých zájmen -- jen opravdová, ne automatická)
   * něco obecnějšího na složené slovesné formy   * něco obecnějšího na složené slovesné formy
 +    * do autom. skládání stromu z formémů (až po vygenerování všech funkcí; asi bude ale zvláštní funkce, protože to není to samé co auxy ve formému, časuje se to)
 +      * možná jen mezikrok, který vyrobí ty formy
 +    * možná mít celou složenou formu jako celek a dávat jí nejdřív jeden tag (-- včetně modálů? asi by vlastně nebyl problém, modál bude další kategorie)
 +    * Získání složených slovesných forem (asi by šlo i na a-rovině):
 +
 +  t-node [ 1+x a/aux.rf a-node [ m/tag ~ '^V' ], a/lex.rf a-node [ m/tag ~ '^V' ] ];
  
 === Modely === === Modely ===
   * Jeden model na všechny POSy? Spíš asi dělené, na různá políčka různý, určování zleva doprava   * Jeden model na všechny POSy? Spíš asi dělené, na různá políčka různý, určování zleva doprava
 +    * časem může být použit interset
 +  * zřejmě tři bloky: 
 +    - určení slovního druhu
 +    - doplnění konstant (podle formému a slovníku)
 +    - určení jednotlivých morfologických hodnot
 +  * hodí se, že první blok už bude mít rody všech substantiv doplněné
 +  * trénování na zlatých formémech ? aby se netloukly s tím výsledkem ?
 +    * potom možná bude nižší accuracy, ale větší gramatikalicita -- asi by se mělo změřit
 +
 +== určení slovního druhu ==
 +  * SubPOS podle č. morfologie
 +  * vynechat slovesné formy -- bude se určovat čas
 +  * vynechat vokalizaci předložek, bude se určovat zvlášť
 +  * u většiny slov jednoznačné, je pár složitých, nejhorší je #PersPron
 +    * přímo z t_lemma & formém se dá určit 99% případů
 +    * šlo by mít modely jen pro nejednoznačné případy, pro ostatní je generovat z MorphoLM (a brát první, co přijde) nebo mít uložené ve slovníku a jako fallback až LM
 +      * zřejmě nejde mít jeden velký model, který by ošetřil všechny triviální případy -- bude nutné si udělat pls.gz
 +    * modely: pro každé slovo zvlášť, tj. určení jen těch pár tříd
  
 === POSy a generované věci === === POSy a generované věci ===
   * drop -- přidá se k vyhození, negeneruje se nic   * drop -- přidá se k vyhození, negeneruje se nic
-  * +  * substantiva: jen číslo a negace (pád z formému, rod ze slovníku) 
 +  * adjektiva: číslo, negace, rod, pád (pokud není dán z formému) 
 +  * zájmena: číslo, negace, rod, pád (není-li dán z formému), possesivnost (v určení lemmatu? -- //svůj// apod.) 
 +  * číslovky: pád (není-li z formému), rod (není-li konstantní) 
 +    * možná až potom dát ReverseNounNumberDependendency, aby to nedělalo bordel 
 +  * slovesa: osoba, číslo, čas, rod (v tagu samotném), modální sloveso, negace 
 +  * předložky: vokalizace ?
  
 === Potřebné featury === === Potřebné featury ===
 +  * IsSubject -- MarkSubject, featury od subjectu //pro agreement, hl. sloves, ale i adjektivních komplementů//
 +    * tj. mít ''subject->'' v ''LayerAttributes'' !!
 +  * z+2, featury od toho, co na tom visí //pro adjektiva: "každý z mužů, každá z žen"//
 +
 +  t-node [ a/lex.rf a-node [ m/lemma ~ '^každý$' ], t-node [ a/aux.rf a-node [ m/form ~ '^z(e)?$' ] ] ];
 +
 +  * Koreference (gramatická) //pro "který", vztažná zájmena//
 +  * rodič a jeho featury //pro adjektiva: governors gender//
 +  * formém ovlivňuje gramatický slovesný čas -- v:že+fin, v:aby+fin, negaci: v:dokud+fin, v:než+fin
  
 === Zůstává ruční / původní === === Zůstává ruční / původní ===
   * Reflexiva tantum, Subconjs, DropSubjPersProns (?),  MoveCliticsToWackernagel, Expletiva (?)   * Reflexiva tantum, Subconjs, DropSubjPersProns (?),  MoveCliticsToWackernagel, Expletiva (?)
   * AddPrepos, AddParentheses, AddPunctuation -- hodně obecné, asi by se dalo generaliozvat!   * AddPrepos, AddParentheses, AddPunctuation -- hodně obecné, asi by se dalo generaliozvat!
 +  * **GenerateWordForms -- nutné pročistit**, je v tom bordel
 +  * Vokalizace ?
 +
 +==== Slovesa ====
 +  * Generování slovesných forem -- jednoduché ML na závorkový zápis
 +  * Výsledky: varianty pokusů:
 +
 +^ pokus              ^ popis                                                                             ^ datum            ^ accuracy ^
 +| verbal             | původní varianta, přímo lemmata modálních sloves v targetu, bez featury pro osobu | 2011-12-08 18:48 | 94.641   |
 +| verbal-person      | s featurou "person" a navíc osobou uvedenou v targetu                             | 2011-12-14 18:56 | 94.085   |
 +| verbal-persfeat    | s featurou "person"                                                               | 2011-12-22 12:41 | 94.952   |
 +| verbal-normalized  | normalizované pořadí v targetu, sjednocené modály, jen deontmod                   | 2012-01-27 17:09 | 96.954   |
 +| verbal-inf_mod_fix | normalizované pořadí v targetu, sjednocené modály, deontmod + is_modal            | 2012-02-01 17:49 | 96.976   |
 +| verbal-uni_mod     | normalizované pořadí v targetu, sjednocené modály, jen is_modal                   | 2012-02-03 14:57 | 96.942   |
 +
 +  * Výsledky nejsou úplně porovnatelné, původní verbal má jiné testovací instance (ale jen o trošku), navíc množina target values je pokaždé jiná!
 +  * aktuálně se používá verbal-uni_mod (proč?)
 +
 +=== TODO ===
 +  * nastavit nějak líp cost -- asi menší regularizaci, víc overtraining, aby se i řídké příklady zohlednily
 +    * přitom zřejmě chyby budou výjimečné (protože prostor featur je hodně hustý a ke každé chybě bude existovat i správný příklad)
 +  * možná filtrovat nemožné příklady (neshodné aux.rf se zlatými? kolik to bude %?)
 +  * váhy příkladům (čím delší string, tím větší váha :-))
 +  * opravit nějak generování "by/bychom"
 +

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