Postup
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ě)
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
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á 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
Jeden model na všechny POSy? Spíš asi dělené, na různá políčka různý, určování zleva doprava
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 ?
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
modely: pro každé slovo zvlášť, tj. určení jen těch pár tříd
POSy a generované věci
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í)
slovesa: osoba, číslo, čas, rod (v tagu samotném), modální sloveso, negace
předložky: vokalizace ?
Potřebné featury
IsSubject – MarkSubject, featury od subjectu pro agreement, hl. sloves, ale i adjektivních komplementů
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í
Reflexiva tantum, Subconjs, DropSubjPersProns (?), MoveCliticsToWackernagel, Expletiva (?)
AddPrepos, AddParentheses, AddPunctuation – hodně obecné, asi by se dalo generaliozvat!
GenerateWordForms – nutné pročistit, je v tom bordel
Vokalizace ?
Slovesa
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
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”