====== Automatická detekce funktorů ====== ===== Klasifikátor ===== * LibLINEAR, logistic regression (upravit ?) * kombinace klasifikátorů -- klasifikátorem ? * zpětná kontrola, že nemá formém nic, co ho nepotřebuje ? ===== Varianty pokusů, featury ===== * vynechané koordinační funktory (beztak nepotřebují formém) == základní == * technické: sent_id, word_id, parent, nodetype, is_generated (+ formeme) * uzel sám: t_lemma, functor, sempos (+trunc) * aux.rf: aux_forms, aux_m_lemma (trunc) * uzel + parent: Order, Distance * synt. okolí: functor, t_lemma, sempos (trunc) * parent, children, lsibling, rsibling, lsiblings, rsiblings, * topol. okolí: t_lemma, sempos (trunc) * left 3, 2, 2+1, 1, right 1, 1+2, 2, 3 == varianty == * s ef. rodiči místo topologických (''eff'') * s ef. rodiči a funktory rodiče a levých sourozenců jako featurami (''eff_tree'') * dělené podle t-lemmatu (''tlemma'') ===== Výsledky ===== ^ pokus ^ datum ^ bez feature selection ^ s feature selection ^ | fog, nominal |||| | fog-base | 2011-09-29 03:48 | 84.487 | 85.077 | | fog-eff | 2011-09-29 03:28 | 85.563 | 86.102 | | fog-eff_tree | 2011-09-29 03:22 | 85.928 | 86.485 | | fog-tlemma | 2011-09-29 14:32 | 83.795 | 84.985 | | fog2-base | 2011-09-29 15:10 | 83.465 | 84.020 | | fog2-eff | 2011-09-29 16:00 | 84.433 | 84.982 | | fog2-eff_tree | 2011-09-29 15:28 | 84.955 | 85.504 | | fog2-tlemma | 2011-09-30 02:52 | 82.588 | 83.886 | | fog2-dia* | 2011-12-06 17:16 | 86.046 | 86.783 | | fog2-dia | 2011-12-08 23:00 | 84.821 | 85.515 | * zlaté funktory == komentář == * druhá varianta vychází hůř, ale o méně než 1 % * nejvíc příkladů je pro: RSTR, PAT, ACT, PRED, APP, LOC, TWHEN, PREC, ???, RHEM, MANN, EXT, (EFF, ADDR, DIR3, DIR1, ID, MAT) * 2. verze (base) * RSTR: n:1, n:X vs. n:attr (přes 200), n:X vs. n:1 (není moc chyba), n:1 vs. adj:attr -- defaultováním na 1. pád by se dalo řešit hodně * PAT: n:1 vs. n:4 (přes 500), n:2 vs. n:4, n:4 vs. n:1 (přes 100) -- zas tak hrozné není; n:na+4 vs. n:4, n:3 vs. n:4 (oba přes 100, horší) * ACT: n:4 vs. n:1, n:X vs. n:1, n:2 vs. n:1 -- vše v pohodě == podle funktorů == * ACMP -- musí být dělení bez / s !!! * ACT -- n:4 vs. n:1, n:X vs. n:1 -- OK * AIM -- na předložkách moc nezáleží -- OK (zkontrolovat lemma!) * BEN + proti ??, jinak n:3 vs. n:pro+4 -- OK * CAUS + n:za+4 ??, řídká data (možná bude třeba nějak vylepšit) * CNCS -- chce určitě i_když !!! (jinak to nemá cenu), jinak je to úplně jedno -- OK * COMPL -- formémy v.2 to ničí, protože ve v.1 je tam adj:compl (a kazí to n:4 vs. n:1) * COND -- nepřehazuje n: a v:, proto celkem OK, složené spojky nutné -- OK * CPHR -- kazí to adj:compl u v.2, jinak -- OK * CPR -- řídké -- OK * CRIT -- vede "podle", víceméně OK * DENOM -- u v.2 trochu víc bordelu s pády -- OK * DIFF -- v.2 opravou číslovek boduje -- OK * DIR1 -- v.2 převodem adj -> n boduje -- OK * DIR2 -- problém, je tam moc různých předložek, řídké !!! * DIR3 -- asi by pomohlo lemma, n:na+4 x n:do+2 je docela potíž !!! * EFF -- problém s poznáním v:fin vs. v:že+fin * EXT -- v podstatě OK * ID -- problémy s pády, jinak OK * LOC -- v.2 se trochu zlepšilo, jinak problém s n:u+2, n:v+6 -- možná složité, jinak asi by pomohlo lemma * MANN -- problém n:v+6 vs. n:7, jinak OK * MAT -- v podstatě OK * MEANS -- blbá data (asi), všechno je n:7, což je ošklivé !!! * PAR -- jediný problém n:X vs n:1, jinak OK * ORIG -- problém: n:od+2 vs. n:z+2, asi řídká data * PAR -- v.2 má problémy s pády n:X vs. n:1, jinak OK * PAT -- hlavně n:1 vs. n:4, jinak OK (možná by pomohly syntaktické featury?) * asi diateze (v pasivu bude n:1 spíš), taky možná predikativita (nebo něco podobného, prostě marker pro slovesa, která v PAT berou 1.pád) * PRED -- asi OK, i když občas nerozpozná v:inf * REG -- nepozná n:vzhledem_k+3, n:bez_ohledu_na+4, všude cpe n:v+6 :-( * RESL -- trochu bordel mezi v:aby+fin a v:že+fin, jinak OK * RSTR -- v.2 dává moc často n:attr * SUBS -- řídká data, asi OK, u v.2 zhoršuje úspěšnost častější přiřazení pádů * TFHL -- většinou dostane jen n:na+4 a víc se neptá; jinak OK * THL -- bordel mezi n:4 a n:za+4, jinak v.2 má častěji n:4 podle opravených číslovek -- OK * TPAR -- vlastně OK, protože ty předložky jsou záměnné * TSIN -- víceméně OK * TTILL -- taky OK * TWHEN -- možná by taky chtělo detailnější subfunktory (?) ===== Návrhy ===== * Používat valenční slovník pro aktanty * jako featury? možná ano, pak si toho snad všimne * jak ale zohlednit více možných významů daného slovesa ? * //nové featury (??)// * použít nějak childrentypes (dělit podle sempos-u)? * clause heads * nominal (max. 50 featur v selection) + binary * vyházet z trénovacích dat příklady s formémy n:X !!