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 •3.10.2018 •1 •plin033 Information retrieval •Termíny, jejichž pomocí se hodnotí úspěšnost vyhledávání • Přesnost (precision) • Pokrytí (recall) • 3.10.2018 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). 3.10.2018 plin033 •3 Příklad •Pokud bychom se např. snažili v korpusu vyhledat všechny výskyty slov patřících k paradigmatu stavení pouze pomocí dotazu, který nachází pouze tvary končící na -í, bez jakékoliv další specifikace, byla by míra precision snížena (z maximálních 100 %) tím, že by se ve výsledku objevovaly i formy z jiných paradigmat (paní, mladí, trpí apod.). Míra recall by byla nižší (než maximálních 100 %) v důsledku absence tvarů stavením, náměstími apod., které dotaz nepodchytil, avšak do výsledku měly být podle zadání započítány. 3.10.2018 plin033 •4 Pravda (+) /výsledek (AB) •A: + + B: + – •C: – + D: – – • • 3.10.2018 plin033 •5 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). 3.10.2018 plin033 •6 Efektivní kladení dotazů •přegenerovávání •podgenerovávání •3.10.2018 •plin033 •7 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. • 3.10.2018 plin033 •8 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. • 3.10.2018 plin033 •9 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 •3.10.2018 •plin033 •10 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 •3.10.2018 •plin033 •11 3.10.2018 plin033 •12 pozorování dat •3.10.2018 •plin033 •13 • 3.10.2018 plin033 •14 Přegenerovávání •3.10.2018 •plin033 •15 Chyby v disambiguaci 3.10.2018 plin033 •16 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 •3.10.2018 •plin033 •17 Zlepšení přesnosti (precision) •Snaha eliminovat maximum false positives •Snížit přegenerování 3.10.2018 plin033 •18 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? •3.10.2018 •plin033 •19 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 •3.10.2018 •plin033 •20 Analýza dat •Korpus cql •[lc="((.*[atrv]el)|(.*[atrv]el[aoiy]))"] •P-filtr •Korpus > Implicitní atribut tag •V[pq].* •Konkordance > Statistiky Frekvenční distribuce •3.10.2018 •plin033 •21 ((.*[atrv]el)|(.*[atrv]el[aoiy])) •3.10.2018 •plin033 •22 Výsledek frekvenční distribuce lemmat •3.10.2018 •plin033 •23 ? pos 3.10.2018 plin033 •24 ? V 3.10.2018 plin033 •25 P-filtr V[pq].* •3.10.2018 •plin033 •26 • •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). • •3.10.2018 •plin033 •27 Platí b) nebo c)? •b) mohou, ale v korpusu nejsou doložena •c) nemohou a tudíž v korpusu nejsou doložena •3.10.2018 •plin033 •28 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). •3.10.2018 •plin033 •29 Implicitní atribut tag V[pq][MI]S.* •3.10.2018 •plin033 •30 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) • •3.10.2018 •plin033 •31 Které se nevyskytují vůbec? Predikce: •Dlouhé samohlásky? •Samohláska o? •Další souhlásky? •3.10.2018 •plin033 •32 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. •3.10.2018 •plin033 •33 Kmenotvorná přípona -e- •I. třída (umřel) •IV. třída (trpěl, sázel) • •3.10.2018 •plin033 •34 Kořenový vokál e •III. třída (kryl) •3.10.2018 •plin033 •35 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 • •3.10.2018 •plin033 •36 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]. •3.10.2018 •plin033 •37 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 •3.10.2018 •plin033 •38 Výsledky vyhledávání v SYN2000 •3.10.2018 •plin033 •39 frekvenční distribuce lemmat •3.10.2018 •plin033 •40 kutil •3.10.2018 •plin033 •41 Čumil/ ? čuměl •3.10.2018 •plin033 •42 čmuchal •3.10.2018 •plin033 •43 ? mýval •3.10.2018 •plin033 •44 ? bacil 3.10.2018 plin033 •45 ? serval •3.10.2018 •plin033 •46 • fňukal 3.10.2018 plin033 •47 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 3.10.2018 plin0l •48 Zlepšení pokrytí (recall) •Snaha dohledat false negatives •Snížit podgenerování • 3.10.2018 plin033 •49 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.*"] • • • •3.10.2018 •plin033 •50 1542 ?lemmat 3.10.2018 plin033 •51 Další doklady •N-filtr •[ lemma= "[[:upper:]].*"] •707 ?lemmat •plížil, plazil, ?řinčila, ?muchal, čadil, remcal, brouzdal, ?ospalové, kukal, babral, drnkal, kousal. •9 • • •3.10.2018 •plin033 •52 plížilů •3.10.2018 •plin033 •53 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) •3.10.2018 •plin033 •54 •3.10.2018 •plin033 •55 •Děkuji Vám za pozornost !