Časopis Naše řeč
en cz

Nové značkování v Českém národním korpusu

Tomáš Jelínek

[Articles]

(pdf)

New tagging in the Czech National Corpus

V posledních letech se důležitým nástrojem jazykového výzkumu staly rozsáhlé textové korpusy v elektronické podobě, jak ostatně ukazuje i několik nedávno publikovaných článků v Naší řeči. Nemohou být jediným zdrojem lingvistických informací, ale poskytují cenné údaje v oblasti morfologie, syntaxe i sémantiky. V tomto příspěvku se zaměříme na morfologické značkování, jímž je opatřeno několik velkých korpusů Českého národního korpusu (dále jen ČNK)[1]: SYN2000, SYN2005 a SYN2006PUB, představíme metody, jimiž bylo toto značkování provedeno, rozdíly ve značkování mezi korpusy a úspěšnost značkování s použitím různých metod.

 

1. Značkování

Při vyhledávání jazykového materiálu v korpusech lze pracovat s konkrétními slovními tvary (potřebujeme-li například vyhledat výskyty slovního tvaru „ctí“ v korpusu, zadáme dotaz [word=“ctí“]) nebo s kombinacemi slovních tvarů ([word=“je“] [word=“mi“] [word=“ctí“]). V některých případech je ale takové vyhledávání nepraktické: kdybychom chtěli vyhledat všechny varianty frazému „je mi ctí“, museli bychom zadat buď mnoho dílčích dotazů s různými slovními tvary („bylo“, „bude“, „je“…), nebo jeden velmi složitý dotaz. Proto je ve zmíněných korpusech každému slovu přiřazen jeho základní, slovníkový tvar (lemma) a morfologická značka (tag) popisující gramatické kategorie jako slovní druh, rod, číslo, pád atd. Díky tomu je možné zadávat dotazy s využitím základních tvarů slov nebo morfologických kategorií (obecnější dotaz na citovaný frazém by například vyžadoval jakýkoli tvar slovesa „být“ následovaný jakýmkoli zájmenem ve třetím pádě a slovním tvarem „ctí“: [lemma=“být“] [tag=“P…3.*“] [word=“ctí“]).

Využití základních tvarů a morfologických značek v dotazech je velmi praktické; abychom však mohli dosáhnout dobrých výsledků, musí být lemmata a značky přiřazeny správně, což vzhledem k velkému množství homonymních tvarů v češtině není snadný úkol. Například ve větě „Marie říká, že je jí ctí splnit mužovo přání“ jsou tři po sobě následující slova „je“, „jí“ a „ctí“ homonymní: „je“, zde sloveso, může být v jiném kontextu osobní zájmeno (v akuzativu singuláru neutra nebo [14]v plurálu), „jí“ může být podle kontextu sloveso nebo zájmeno, „ctí“[2] může být sloveso nebo substantivum (v instrumentálu singuláru nebo v genitivu plurálu).

V korpusu, který má sto miliónů slov, nelze přiřazovat lemmata a značky manuálně, je nutné uchýlit se k automatickému značkování. Metodám tohoto značkování a jejich hodnocení bude věnována větší část tohoto příspěvku.

 

1.1 Morfologická analýza a disambiguace

Morfologické značkování textu probíhá ve dvou fázích. První je tzv. morfologická analýza – program, který každému slovu přiřadí všechny kombinace základních tvarů a morfologických značek, jež příslušejí danému slovnímu tvaru interpretovanému samostatně, bez ohledu na kontext. Slovu „ctí“ tak bude přiřazen základní tvar „čest“ se značkou substantiva v instrumentálu singuláru a v genitivu plurálu a základní tvar „ctít“ se značkou slovesa ve třetí osobě přítomného času v jednotném i množném čísle (celkem čtyři značky). Slovu „jí“ bude přiřazen genitiv, dativ a instrumentál singuláru osobního zájmena „on“ a třetí osoba jednotného čísla slovesa „jíst“ (opět celkem čtyři značky) aj. Morfologická analýza je založena na rozsáhlém slovníku základních tvarů českých slov, přičemž ohebným slovům jsou přiřazeny deklinační (konjugační) vzory. Při analýze textu je pak, zjednodušeně řečeno, každý slovní tvar srovnáván s tímto slovníkem a se všemi tvary, jež mu mohou odpovídat.[3]

Druhou fází značkování textu je tzv. disambiguace (odstranění víceznačnosti u slovního tvaru), jež z množiny možných značek a lemmat u každého slova zvolí jednu správnou interpretaci platnou pro daný kontext (například ve zmíněném frazému „je mi ctí“ ponechá u slova „ctí“ pouze instrumentál singuláru substantiva „čest“). Pro automatickou disambiguaci existuje několik metod, především to jsou metody statistické a metody využívající lingvistická pravidla. O obou metodách bylo již publikováno mnoho odborných článků, zde jen shrneme jejich nejdůležitější rysy.

 

1.2 Statistické metody disambiguace

Základním principem statistických metod je tzv. trénování značkovacího programu (taggeru) na správně označkovaném vzorku dat, během něhož program zjišťuje, [15]jak jsou které značky a jejich kombinace časté. Po natrénování využívá program informace získané na trénovacích datech pro značkování neznámého textu (korpusu), přičemž z možných kombinací značek volí tu nejpravděpodobnější. Vyskytuje-li se například v trénovacím vzorku dat frazém „je mi ctí“, program si zaznamená výskyt kombinace slovesa „být“, osobního zájmena v dativu a substantiva v instrumentálu a u podobných konstrukcí v neoznačkovaném textu zvolí s větší pravděpodobností stejnou interpretaci.

Výhodou statistického taggeru je relativní nenáročnost jeho přizpůsobení pro konkrétní jazyk, dále rychlost a schopnost označkovat jakýkoli text včetně textů chybných nebo velmi komplikovaných. Během několika posledních let došlo k výraznému zlepšení úspěšnosti statistických taggerů (viz hodnocení úspěšnosti níže). Nevýhodou statistických taggerů je, že se mohou jen velmi omezeně zlepšovat na základě zjištěných chyb, mohou vytvořit i gramaticky zcela nesprávné interpretace a jsou závislé na manuálně označkovaných trénovacích datech. Nejlepší současný statistický tagger pro češtinu je „Morče“ – MORfologie ČEštiny[4], u něhož lze automaticky nebo manuálně volit řadu rysů (lemma předcházejícího slova nebo nejbližšího slovesa, velké/malé písmeno aj.), které program sleduje v trénovacích datech a na jejichž základě pak značkuje neznámý text. Korpus SYN2000 byl označkován starší verzí jiného statistického taggeru, tzv. feature-based taggeru.

 

1.3 Pravidlové metody disambiguace

„Pravidlová“ disambiguace je metoda, která k odstranění homonymie u slov využívá poznatky o jazyce ve formě „pravidel“. Tato pravidla v kontextu několika slov nebo celé věty odstraňují u jednotlivých slov morfologické značky, které odpovídají negramatické konstrukci. Pravidla vytváří tým lingvistů na základě znalostí jazykového systému ověřených na korpusových datech[5].

Víme například, že předložka „s“ se nevokalizuje před samohláskou, slovo „se“ před slovem začínajícím na samohlásku tedy nemůže být předložkou. Ve větě „Živí se ořechy“ je tedy slovo „se“ jistě zvratným zájmenem. Sloveso v určitém tvaru nemůže stát po předložce, ve větě „Namočíš šipky do jedu“ tedy slovo „jedu“ není sloveso, ale podstatné jméno. V jedné větě bez spojek a interpunkce nemohou stát dvě slovesa v určitém tvaru, ve větě „Bude mi ctí“ musí být slovo „ctí“ substantivum. Tato pravidla se opakovaně aplikují na postupně disambiguovanou větu, přičemž použití jednoho pravidla může napomoci aplikaci jiného pravidla, dokud nejsou odstraněny všechny negramatické konstrukce a zůstane jen správná interpretace.

[16]Výhodou pravidlové metody je malý počet chyb a možnost každou chybu způsobenou pravidly opravit (změnou dotyčného pravidla nebo zařazením dané konstrukce jako výjimky – např. „od nevidím do nevidím“). Nevýhodou pravidlové disambiguace je výrazně větší náročnost vytváření lingvistických pravidel, větší citlivost na textové chyby (správně označkovat dokáže většinou pouze text bez pravopisných a gramatických chyb a se správnou interpunkcí) a především to, že dosud není možné touto metodou plně disambiguovat libovolný český text – část slov zůstává po aplikaci pravidel disambiguovaná jen částečně.

 

1.4 „Hybridní“ metoda – kombinace pravidlové a statistické disambiguace

Pravidlové metody způsobují méně chyb než metody statistické, zatím ale nedisambiguují text úplně. Cílem je však úplná disambiguace (každému slovu v korpusu přiřadit právě jeden základní tvar a jednu morfologickou značku), proto byla pro značkování korpusů SYN2005 a SYN2006PUB zvolena kombinace obou výše zmíněných metod, která má lepší výsledky než kterýkoli samostatný statistický tagger a plně disambiguuje text jen s poměrně malým množstvím chyb[6].

Bylo podniknuto několik experimentů s kombinací pravidlové a statistické disambiguace.

Nejjednodušší postup, kdy pravidlová metoda označkuje vše, co může, a zbývající nerozhodnuté pozice pak dořeší statistický tagger, neměl očekávaný úspěch, zřejmě pro některé vlastnosti statistických taggerů (nereagují dobře na předem zpracovaná vstupní data). Pravidlová metoda byla tedy využita jen v malé míře: ke zlepšení výsledků statistických taggerů.

Při značkování korpusu SYN2005 neměla pravidlová metoda možnost řešit slovnědruhovou homonymii, byla využita především ke zjednodušení pádové homonymie. Tato kombinace taggeru a pravidel působí o 7 % méně chyb značkování než samotný statistický tagger Morče.

Při značkování korpusu SYN2006PUB volila pravidlová metoda mezi výsledky dvou různých taggerů (pokud se oba statistické taggery shodly na interpretaci slova, byl výsledek přijat, v opačném případě zůstalo řešení na pravidlovém modulu). Rozdíly mezi dvěma taggery, jež pravidlová metoda nedokázala odstranit, nakonec vyřešil třetí statistický tagger. Tímto způsobem byl dále snížen počet chyb, ve srovnání se samotným taggerem Morče je jich asi o 15 % méně. V poslední fázi značkování korpusu SYN2006PUB byly využity další programy, částečně založené na lingvistických pravidlech, které opravovaly některé systematické chyby a měnily interpretaci některých slov.

 

[17]2. Systematické odlišnosti mezi značkováním korpusů SYN2000, SYN2005 a SYN2006PUB

2.1 Tokenizer

Při zpracování korpusů musí být morfologickému značkování, jak bylo popsáno v první části tohoto příspěvku, předřazen ještě jeden program, tzv. tokenizer, jenž rozděluje původní nezpracovaný text na slova, interpunkční znaménka a věty. Při značkování novějších korpusů (SYN2005 a SYN2006PUB) byl využit nový tokenizer, jenž poněkud odlišným způsobem, než tomu bylo v SYN2000, zpracovává některé grafické znaky, přesněji v některých případech nerozděluje slova spojená spojovníkem, dvojtečkou ap. na více částí („polsko-český“ je novým tokenizerem interpretováno jako jeden token – „polsko-český“, ne jako tři: „polsko“, „-“, „český“, stejně tak „km/h“, „18:20“ nebo „McDonald’s“). Ve většině případů je skutečně lepší považovat celek za jedno slovo, někdy by však bylo lepší slova obsahující grafické znaky jako spojovník rozdělit („v Praze-Dejvicích“, „o přínosech/užitečnosti“), v několika případech je toto spojení například kvůli chybě v původním textu zcela špatné („LéonBloy-někdejší“).

 

2.2 Vid

Další důležitou změnou v SYN2005 a SYN2006PUB oproti značkování v korpusu SYN2000 je rozlišení vidu na šestnácté pozici značky. Morfologické značky měly dosud patnáct pozic (první pozice pro slovní druh; poslední, patnáctá pro stylové varianty). Nová, šestnáctá pozice má čtyři možná obsazení: „I“ a „P“ pro nedokonavý a dokonavý vid, „B“ pro obouvidá slovesa („informovat“, „jmenovat“) nebo pro homonymní slovesa, u nichž nebylo možné vid rozlišit („hodit“, „napovídat“), a „-“ pro ostatní slovní druhy. Chybou algoritmu byl vid doplněn i u některých slov se stejným základním tvarem jako slovesa – u homonymních slov („Vít“, „kout“) i u slov s chybně přiřazeným slovesným základním tvarem z morfologické analýzy („odvolací/odvolat“, „rekultivace/rekultivovat“). Protože to nebylo zjištěno včas, tj. před zveřejněním nového korpusu, nebylo již možné tyto chyby opravit.

 

2.3 Metody disambiguace

O metodách disambiguace jsme podrobně pojednali v předchozí části, zde jen zopakujeme, jaké metody byly využity při značkování jednotlivých korpusů. Korpus SYN2000 byl označkován statistickým taggerem s horší úspěšností než současné nejlepší taggery.

Značkování korpusu SYN2005 bylo provedeno hybridní metodou, v níž většinu homonymie řeší statistický tagger Morče, pravidlová metoda pouze částečně zlepšuje výsledky mimo oblast slovnědruhové homonymie.

[18]Korpus SYN2006PUB byl označkován kombinací tří statistických taggerů a pravidlové metody, jež byla využita v případě rozdílů mezi taggery. Z výsledku značkování byly potom dalšími programy odstraněny některé často se opakující chyby a u některých slov byla změněna slovnědruhová interpretace nebo základní tvar (viz dále).

 

2.4 Změny interpretace

Jiné odlišnosti mezi novým značkováním a značkováním, jež uživatelé znají z korpusu SYN2000, už jsou mnohem méně nápadné. Jde o změny související s vývojem morfologické analýzy: doplněná a opravená slova ve slovníku i menší změny interpretace (např. u tvaru „by“ bylo odstraněno označení osoby). V korpusu SYN2006PUB pak jde dále o změny, které byly provedeny v rámci automatických oprav označkovaného korpusu s cílem dosáhnout větší systémovosti: u všech substantiv ženského rodu jsou vždy ženská lemmata („vnučka“, „šlechtična“ – již ne lemma „vnuk“, „šlechtic“ jako v korpusu SYN2000), substantiva s předponou „ne-“ mají vždy lemma s touto předponou a ve značce není informace o záporu („nezávislost“, „nevinnost“). U množného čísla osobních zájmen byl základní tvar v singuláru nahrazen tvarem plurálu („nám“ má lemma „my“, ne „já“). U mnoha jednotlivých slov došlo ke změně slovnědruhové interpretace, např. „přece“, „naštěstí“: dříve příslovce, nově částice aj.

 

2.5 Zacházení s neznámými slovy

V korpusech se nachází určité množství slov, jež nejsou rozpoznána morfologickou analýzou, a dostanou tak značku „neznámé slovo“ (X)[7]. Jde o slova cizí („she“, „travaux“, „Britney“), o česká slova velmi řídká („černozem“, „zaoblenina“) nebo chybně psaná („automaiticky“, „vzívající“) a v důsledku užití nového tokenizeru i o slova obsahující grafické znaky jako spojovník nebo lomítko („židovsko-křesťanský“, „Rakousko-Uhersko“). U cizích a chybných slov je vhodné zachovat označení neznámé slovo (X), zato u správně utvořených, ale velmi málo častých slov by bylo lepší mít správnou značku, avšak i zde se lze spokojit s „neznámým slovem“. U častějších českých slov (mimo jiné u slov obsahujících zmíněné grafické znaky) je třeba nějakým způsobem určit možné značky a základní tvary, z nichž pak může volit pravidlová nebo statistická disambiguace. K tomuto účelu slouží tzv. guesser – „hadač“, program, který na základě statistických informací o koncovkách slov v českém morfologickém systému přiřazuje jednotlivým „neznámým“ slovům možné morfologické značky a základní tvary[8].

[19]Při použití statistických taggerů je nutné aplikovat guesser vždy, protože taggery nejsou dobře natrénovány pro zpracování slov označených jako neznámá (X); ve větách, jež taková slova obsahují, to pak vede k velkému množství chyb. S pomocí guesseru určí taggery správnou značku u původně neznámého slova přibližně ve dvou třetinách případů, což není špatný výsledek, ale vnáší to do korpusu i velmi bizarní chyby („KDU-ČSL“ – minulé příčestí slovesa „kdu-čsnout“). Navíc jen u malé části neznámých slov je jiná značka než X potřeba (většinou jde totiž o cizí nebo chybná slova). V korpusu SYN2006PUB byly tedy výsledky guesseru u většiny slov, kde byl použit, zpětně odstraněny. V korpusu SYN2005 však odstraněny nebyly, statistiky méně frekventovaných slov v tomto korpusu jsou tak značně zkresleny.

 

3. Hodnocení úspěšnosti značkování v korpusech

Součástí práce na značkování korpusu bylo hodnocení úspěšnosti značkování: jak kvalitní jsou data, se kterými bude uživatel korpusu pracovat? Kolik chybných značek v korpusu zůstává? Má smysl zabývat se složitou metodou hybridního značkování, jež byla použita při značkování korpusu SYN2006PUB, nebo se můžeme spokojit s výrazně jednodušším statistickým taggerem?

Pro hodnocení úspěšnosti použitých disambiguačních metod bylo zvoleno „manuální“ testování na vzorku z korpusu SYN2000 obsahujícím 10 000 textových slov. Tento vzorek byl zpracován třemi různými metodami, jež přibližně odpovídají značkování velkých korpusů ČNK: SYN2000, SYN2005 a SYN2006PUB. Výsledky tohoto značkování pak byly postupně kontrolovány, nejzávažnější chyby – chyby v určení slovního druhu – byly přitom počítány samostatně („jedlí“: přídavné jméno místo podstatného jména). Kde bylo třeba, bylo přijato i více různých značek jako správných, například ve větě „Zloděj použil násilí.“ lze u slova „násilí“ přijmout jak genitiv, tak akuzativ.

 

3.1 Výsledky testování

Výsledky všech testovaných metod jsou si z velké části podobné, disambiguační metody (jež jsou zcela nebo z větší části založeny na statistických taggerech) často chybují na stejném místě. Nejčastější chybou je nesprávné určení pádu u substantiv, nejvíce v případě pádové homonymie nominativ/akuzativ.

Přes tuto podobnost je patrný značný pokrok v disambiguaci od roku 2000: u značek v korpusu SYN2005 i SYN2006PUB je přibližně dvakrát méně chyb než ve značkování v korpusu SYN2000, jež bylo provedeno starším statistickým taggerem.

Metoda, jíž byl označkován korpus SYN2006PUB, má ještě asi o 20 % méně chyb než metoda užitá pro korpus SYN2005, a to jednak díky použití lepší kombinace pravidlové disambiguace a statistických taggerů, jednak kvůli tomu, že v korpusu SYN2005 zůstaly výsledky použití „guesseru“ u neznámých slov.

[20]V následující tabulce jsou uvedena procenta chyb zjištěná na testovacím vzorku podle použité metody disambiguace. Jako samostatná kategorie jsou uvedeny chyby v určení slovního druhu (např. chybně určené „se“ jako zájmeno místo předložky nebo naopak). Kategorie „ostatních“ chyb zahrnuje především chyby v určení pádu, rodu, čísla, osoby nebo chybnou volbu základního tvaru.

 

metody

slovní druhy

ostatní

celkem

SYN2000

0,55 %

6,37 %

6,92 %

SYN2005

0,43 %

3,32 %

3,75 %

SYN2006PUB

0,19 %

2,97 %

3,12 %

 

4. Závěr

4.1 Značkování

Morfologické značky a lemmata jsou v korpusech užitečnou pomůckou. Ukázali jsme, jak lze texty těmito značkami opatřit – představili jsme morfologickou analýzu a různé disambiguační metody: statistické taggery, „pravidlový“ přístup i „hybridní metodu“, jež je kombinací obou těchto postupů. Ačkoli bylo za posledních několik let dosaženo značného pokroku v úspěšnosti, žádná z metod disambiguace není bezchybná, je ještě mnoho prostoru ke zlepšování.

 

4.2 Korpusy

Ústav Českého národního korpusu dosud zveřejnil tři rozsáhlé korpusy opatřené morfologickými značkami a základními tvary slov: SYN2000, SYN2005 a SYN2006PUB. Vzhledem k průběžnému vývoji značkovacích metod se tyto korpusy v současné době značně odlišují způsobem značkování, počtem chyb i interpretací některých slov. Aby korpusy zůstaly referenční (nemění se, takže získaná data použitá např. ve studii o vlastnostech češtiny jsou ověřitelná a přístupná všem zájemcům), není možné průběžně měnit jejich značkování v závislosti na vyvíjející se morfologické analýze a na zlepšujících se metodách disambiguace. Díky novějším metodám lze však výrazně snížit počet chyb, proto byl pro zájemce zveřejněn nový, nereferenční korpus[9], v němž jsou zahrnuty všechny tři dosud publikované velké korpusy a který byl označkován jednotným způsobem s použitím nejlepších dostupných metod.[10]


[1] Český národní korpus – SYN2000, SYN2005 a SYN2006PUB. Praha : Ústav Českého národního korpusu FF UK, 2000. Dostupný z WWW: < http://ucnk.ff.cuni.cz >.

[2] V korpusu SYN2000 je více než polovina výskytů slova „ctí“ chybně interpretována (substantiva jako slovesa a naopak). Takto vysoké procento chyb je však neobvyklé; celkem je v korpusu SYN2000 přibližně 6,9 % chyb, jak uvidíme v poslední části tohoto příspěvku. V pozdějších korpusech – SYN2005 a SYN2006PUB – je chyb výrazně méně.

[3] Pro češtinu existují v současné době dva systémy morfologické analýzy: brněnská „Ajka“ (SEDLÁČEK, R. Morfologický analyzátor češtiny. Brno : FI MU, 1999) a tzv. pražská morfologická analýza, kterou využívá Český národní korpus (HAJIČ, J. Disambiguation of Rich Inflection. Praha : Karolinum, 2001).

[4] VOTRUBEC, J. Volba vhodné sady rysů pro morfologické značkování češtiny. Praha : MFF UK, 2005.

[5] PETKEVIČ, V. Za češtinu (ne)homonymní, aneb jak odstranit slovnědruhovou a morfologickou homonymii v českých korpusech. In Jazyky a jazykověda. Praha : FF UK, 2004. KVĚTOŇ, P. Rule-based Morphological Disambiguation. Praha : MFF UK, 2006.

[6] SPOUSTOVÁ, J. Kombinované statisticko-pravidlové metody značkování češtiny. Praha : MFF UK, 2007.

[7] V korpusu SYN2005 jde například asi o 2 % textových slov.

[8] HLAVÁČOVÁ, J. Morphological Guesser of Czech Words. Železná Ruda : TSD, 2001. SPOUSTA, M. Automatické přiřazení tvaroslovných vzorů v češtině. Praha : MFF UK, 2005.

[9] Nereferenční korpus SYN není zatím přístupný všem, ale bude zpřístupněn každému uživateli, který o to požádá Ústav Českého národního korpusu.

[10] Článek byl vytvořen s podporou z výzkumného záměru MSM0021620823 a z grantu 1ET201120505.

Naše řeč, volume 91 (2008), issue 1, pp. 13-20

Previous Neil Bermel: Pravidla jako cukr nebo bič? Pravopis v Českém národním korpusu (1. část)

Next Robert Adam: Variantnost obyvatelských jmen a jazyková kultura (Nad článkem P. Chalupové a F. Štíchy)