Mezi Skyllou a Charybdou přegenerovávání a podgenerovávání Jak efektivně vyhledávat v korpusech data pro výzkum slovotvorby Klára Osolsobě osolsobe@phil.muni.cz •19.10.2016 •1 •plin033 Information retrieval •Termíny, jejichž pomocí se hodnotí úspěšnost vyhledávání • Přesnost (precision) • Pokrytí (recall) • 19.10.2016 plin033 •2 Positives/negatives •Mějme vyhledávací system a zadejme dotaz (cql dotaz v korpusovém manažeru). Výsledkem jsou data, jejichž část A) odpovídá tomu, co jsme hledali (true positives) a B) část jsou data, která přestože splňují zadání, neodpovídají tomu, co jsme hledali (fals positives). •Zároveň ovšem nenajdeme C) data, která jsme najít chtěli (fals negatives) a také D) data, která jsme najít nechtěli (true negatives). 19.10.2016 plin033 •3 Pravda (+) /výsledek (AB) •A: + + B: + – •C: – + D: – – • • 19.10.2016 plin033 •4 Pokrytí/přesnost • •Pojmem pokrytí (recall) označujeme číslo vyjadřující, kolik ze všech výsledků, které se měly nalézt, bylo nalezeno A / (A + C). •Přesnost (precision) je podíl správně nalezených výsledků mezi všemi nalezenými, tedy A / (A + B). 19.10.2016 plin033 •5 Efektivní kladení dotazů •přegenerovávání •podgenerovávání •19.10.2016 •plin033 •6 Přegenerovávání •Formální definici (algoritmu) odpovídají jednotky, které tvoří homogenní skupinu (tu, kterou se prostřednictvím formálního zadání snažíme definovat), ale i jednotky, které jsou vůči této skupině heterogenní. Tento jev spadá na vrub obecné vlastnosti přirozeného jazyka, jíž je víceznačnost (homonymie) na všech úrovních. • 19.10.2016 plin033 •7 Podgenerovávání •Rubem téže mince je tzv. podgenerovávání, tedy případ, kdy formální zadání je vymezeno příliš úzce, takže nejsou zachyceny jednotky, které se jeho prostřednictvím snažíme definovat. • 19.10.2016 plin033 •8 Příklad efektivního vyhledávání jmen osob od l-ových příčestí •maskulina životná •skloňují se podle vzoru pán •končí na -l •19.10.2016 •plin033 •9 Formulace dotazu pro získání dat z korpusů •Korpus > Implicitní atribut lemma •.*l. •P-filtr •Korpus > Implicitní atribut tag •NNM.* •Konkordance > Statistiky > Frekvenční distribuce •frekvenční distribuce lemmat •19.10.2016 •plin033 •10 19.10.2016 plin033 •11 pozorování dat •19.10.2016 •plin033 •12 • 19.10.2016 plin033 •13 Přegenerovávání •19.10.2016 •plin033 •14 Chyby v disambiguaci 19.10.2016 plin033 •15 Dílčí závěry •Přegenerovávání •chyby v disambiguaci •potřeba jiného postupu při vyhledávání relevantních dat z korpusu •19.10.2016 •plin033 •16 Zlepšení přesnosti (precision) •Snaha eliminovat maximum false positives •Snížit přegenerování 19.10.2016 plin033 •17 Analýza přegenerovaných dokladů a reformulace dotazů •Mohou l-ová příčestí v češtině končit např. na řetězce tel, rel, vel, ael, ...? •Jaké další (nezahrnuté) formální vlastnosti musí splňovat hledané jednotky? •19.10.2016 •plin033 •18 Mohou l-ová příčestí v češtině končit např. na řetězce tel, rel, vel, ael, ...? •a) mohou a v korpusu jsou doložena •b) mohou, ale v korpusu nejsou doložena •c) nemohou a tudíž v korpusu nejsou doložena •19.10.2016 •plin033 •19 Analýza dat •Korpus cql •[lc="((.*[atrv]el)|(.*[atrv]el[aoiy]))"] •P-filtr •Korpus > Implicitní atribut tag •V[pq].* •Konkordance > Statistiky Frekvenční distribuce •19.10.2016 •plin033 •20 ((.*[atrv]el)|(.*[atrv]el[aoiy])) •19.10.2016 •plin033 •21 Výsledek frekvenční distribuce lemmat •19.10.2016 •plin033 •22 ? pos 19.10.2016 plin033 •23 ? V 19.10.2016 plin033 •24 P-filtr V[pq].* •19.10.2016 •plin033 •25 • •Pouze Vi.* •Většinou chyby v disambiguaci/slovníku Výsledky •Výsledkem frekvenční distribuci lemmat je prázdný seznam. •Tudíž by mělo platit b) nebo c). • •19.10.2016 •plin033 •26 Platí b) nebo c)? •b) mohou, ale v korpusu nejsou doložena •c) nemohou a tudíž v korpusu nejsou doložena •19.10.2016 •plin033 •27 Co stojí zpravidla před tvarovou koncovkou –l? •Všechny samohlásky a souhlásky (lépe všechny grafémy). •Pouze některé samohlásky a souhlásky (lépe všechny grafémy). •19.10.2016 •plin033 •28 Implicitní atribut tag V[pq][MI]S.* •19.10.2016 •plin033 •29 Které se vyskytují u tvarů sloves nejčastěji? •[aá] : začal, dál •[ěe] : měl, (šel) •[i] : prohlásil •[u] : ???, (tisknul) •[y] : byl •[dhk] : uvedl, mohl, řekl •[???] : (kopl) • •19.10.2016 •plin033 •30 Které se nevyskytují vůbec? Predikce: •Dlouhé samohlásky? •Samohláska o? •Další souhlásky? •19.10.2016 •plin033 •31 Zdůvodnění z gramatiky •Kmenotvorné přípony kmene minulého jsou pouze některé krátké vokály kromě stál, bál se se dlouhé á infinitivní v l-ové příčestí pravidelně krátí a totéž platí o dlouhém í. •III. třída slovesná s otevřeným kořenem (krýt) pravidelně krátí kořenový vokál v l-vých příčestích. •I. a II. třída slovesná s uzavřeným kořenem bez kmenotvorné přípony /s 0 kmenotvornou příponou (nést, péci, tisknout). •Kmenotvorná přípona -e- a kořenový vokál e. •19.10.2016 •plin033 •32 Kmenotvorná přípona -e- •I. třída (umřel) •IV. třída (trpěl, sázel) • •19.10.2016 •plin033 •33 Kořenový vokál e •III. třída (kryl) •19.10.2016 •plin033 •34 Co v češtině nutně předchází pře e? •Před KmV -e-: [cčjlřsšzž]: kácel, klečel, nezapíjel, mlel, bolel, musel, slyšel, odřel, vytvářel, zmizel, ležel •Před KoV -e-: [lsz]: zaklel, nasel, zel • •19.10.2016 •plin033 •35 Empirie a systém jazyka •Aby mohlo být substantivum konvertovaným l-ovým příčestím, pak •může před l předcházet pouze [aáeěiuy]; •před l nemůže předcházet [bpfvmdtnkghr]e; •před l nemůže předcházet [aáeěéiíoóuůyý][aáeěiuy]. •19.10.2016 •plin033 •36 Chybná desambiguace: Jaké další (nezahrnuté) formální vlastnosti musí splňovat hledané jednotky? •[lc=".*[aáeěiuy]l((ové)|(ů)|(ům)|(ech)|(e)|(ovi))"] •N-filtr •[lc=".*[bpfvmdtnkghr]el((ové)|(ů)|(ům)|(ech)|(e)|(ovi))"] •N-filtr •[lc=".*[aáeěéiíoóuůyý][aáeěiuy]l((ové)|(ů)|(ům)|(ech)|(e)|(ovi))"] •P-filtr •[tag="N.M.*"] •Konkordance > Statistiky > Frekvenční distribuce •19.10.2016 •plin033 •37 Výsledky vyhledávání v SYN2000 •19.10.2016 •plin033 •38 frekvenční distribuce lemmat •19.10.2016 •plin033 •39 kutil •19.10.2016 •plin033 •40 Čumil/ ? čuměl •19.10.2016 •plin033 •41 čmuchal •19.10.2016 •plin033 •42 ? mýval •19.10.2016 •plin033 •43 ? bacil 19.10.2016 plin033 •44 ? serval •19.10.2016 •plin033 •45 • fňukal 19.10.2016 plin033 •46 Ruční analýza dat 627 lemmat •Budema zvlášť analyzovat apelativa a propria •P-filtr •[ lemma= "[[:upper:]].*"] •459 lemmat mezi nimiž budou propria (Nezval) •627-459=168 •Čumil, kutil, mýval, ožrala, čmuchal, břídil, narval, šibal, patolízal, šťoural, žvanil, slídil, střádal, packal, reptal, bacil, loudal, hýřil, rejpal, chlubil, tlachal, rýpal, všeuměl, kecal, kýval, serval, mazal, loudil, radil, brblal, všudybyl, prášil, škrabal, bouchal, skuhral, fňukal, šukal, cmrndal, cintal, koktal, hloubal, šeptal, čmáral, hrabal, škudlil, klábosil, mlsal, zlobil. •41+3 19.10.2016 plin0l •47 Zlepšení pokrytí (recall) •Snaha dohledat false negatives •Snížit podgenerování • 19.10.2016 plin033 •48 Jak získat další doklady •Vrátíme se zpět před krok, na němž jsme užili tag •P-filtr •[tag=“X.*"] • • • •19.10.2016 •plin033 •49 1542 ?lemmat 19.10.2016 plin033 •50 Další doklady •N-filtr •[ lemma= "[[:upper:]].*"] •707 ?lemmat •plížil, plazil, ?řinčila, ?muchal, čadil, remcal, brouzdal, ?ospalové, kukal, babral, drnkal, kousal. •9 • • •19.10.2016 •plin033 •51 plížilů •19.10.2016 •plin033 •52 Závěry •redukce počtu lemmat (z 3023 na 168) pro ruční analýzu (o 94%) •efektivní vyhledání maximálního počtu jednotek (srv. Štícha 2011) •minimalizace problému přegenerovávání i podgenerovávání •44 dokladů – zachycených AMA, +9 (20%) bez AMA •redukce rozsahu ruční práce (nebezpečí chyb z nepozornosti) •19.10.2016 •plin033 •53 dú 26. 10. •Pokuste se využít nástroj morfio k hledání dalších dokladů v korpusu SYN2015 19.10.2016 plin033 •54 •19.10.2016 •plin033 •55 •Děkuji Vám za pozornost !