wiki:cs/Cestina

Version 5 (modified by x413827, 2 years ago) (diff)

--

Nástroje pro zpracování českých textů

Zpracování češtiny věnujeme v Centru zpracování přirozeného jazyka značnou pozornost. Podívejte se, jaké nástroje pro zpracování českých textů vyvíjíme.

Doplnění diakritiky

Poměrně hodně českých textů je napsáno bez diakritiky. Pro doplnění diakritiky můžete použít program czaccent Pavla Rychlého:

Stránka projektu

Segmentace na věty

Rozdělit text na věty se zdá jednoduché: kde je tečka, tam je konec věty. Ve skutečnosti věta končí tečkou jen někdy (protipříkladem budiž nadpisy nebo odrážky), někdy končí tečkou zkratka a za čísly jsou tečky vůbec záhada.

Stránka projektu

Tokenizace

Tokenizace je rozdělení věty na slova. Co je slovo? Zpravidla je to ta část mezi mezerami (a, ano, interpunkcí). Co je tys ve větě tys to spletl: jedno slovo nebo dvě? Co jsou slova v případech jako jakž takž, jakžtakž, UB 40, UB40, 192.0.0.1, I'm? Tokenizace je částečně jazykově závislá, pro češtinu lze použít nástroj unitok s nastavením českého jazyka.

Spuštění nástroje unitok na strojích CZPJ:

echo "Neustále se ženu za lepšími výsledky." | /corpora/programy/unitok.py

Stránka projektu

Morfologická analýza

Cílem morfologické analýzy je určit základní tvar (lemma) a gramatické kategorie tokenu. Jeden token může mít více gramatických kategorií (např. slovo zdraví může být podstatné jméno v jednotném či množném čísle, přídavné jméno i sloveso). Morfologický analyzátor vypíše všechny možnosti.

Gramatické kategorie jsou kódovány pomocí morfologických značek.

Morfologické analyzátory vyvinuté v CZPJ jsou ajka Radka Sedláčka a novější majka Pavla Šmerka.

Spuštění na strojích CZPJ:

echo "ženu" | /nlp/projekty/ajka/bin/majka

Ukázka výpisu pro slovo ženu:

žena:k1gFnSc4
hnát:k5eAaImIp1nS

Základní tvar je před dvojtečkou, pro vysvětlení gramatických značek nahlédněte do http://nlp.fi.muni.cz/projekty/ajka/tags.pdf, novější značky (oproti původním značkám analyzátoru ajka jsou změny hlavně v kategoriích zájmen) najdete v článku:

JAKUBÍČEK, Miloš, Vojtěch KOVÁŘ a Pavel ŠMERK. Czech Morphological Tagset Revisited. In Horák, Rychlý. Proceedings of Recent Advances in Slavonic Natural Language Processing 2011. Brno: Tribun EU, 2011. s. 29-42, 14 s. ISBN 978-80-263-0077-9. https://is.muni.cz/auth/publication/959110 (dostupný po přihlášení do IS MU).

Stránky projektů

Morfologická desambiguace (tagging)

Morfologická desambiguace redukuje výstup morfologické analýzy na jeden základní tvar a jednu značku, které jsou platné pro token v konkrétním kontextu. Z věty Neustále se ženu za lepšími výsledky je jasné, že ženu je sloveso v první osobě jednotného čísla. Výstupem morfologické desambiguace je tedy seznam trojic (token, základní tvar, gramatická značka) pro každou větu.

Pro morfologickou desambiguaci české věty je možné použít nástroj desamb.

Spuštění na strojích CZPJ:

echo "Neustále se ženu za lepšími výsledky." | /corpora/programy/unitok.py |  /corpora/programy/desamb.utf8.majka.sh

Ukázka výstupu pro předchozí větu:

<s>
Neustále        neustále        k6eAd1
se      se      k3xPyFc4
ženu    hnát    k5eAaImIp1nS
za      za      k7c7
lepšími dobrý   k2eAgInPc7d2
výsledky        výsledek        k1gInPc7
<g/>
.       .       kIx.
</s>

Syntaktická analýza

Cílem syntaktické analýzy je získat informace o syntaktických závislostech mezi tokeny, případně identifikovat větší syntakticky závislé celky – fráze.

V CZPJ jsme vyvinuli dva různé syntaktické analyzátory: synt a SET.

Spuštění analyzátoru SET na strojích CZPJ:

echo "Neustále se ženu za lepšími výsledky." | /corpora/programy/unitok.py |  /corpora/programy/desamb.utf8.majka.sh | /nlp/projekty/set/set/set.py 

Analyzátor je možné spustit s řadou parametrů podle toho, jaký výpis potřebujete.

Ukázka výstupu pro předchozí větu:

0       Neustále        2       d       adverb
1       se      2       d       object
2       ženu    7       p
3       za      2       d       additional-prep
4       lepšími 5       d       modifier
5       výsledky        3       d       prep-object
6       .       7       p
7       <clause>        8       p
8       <sentence>      -1      p

Stránky projektů

Český stoplist

Pro některé aplikace se hodí zpracovávat texty jako (multi)množiny slov (bag of words). V takových případech je vhodné počítat jen s plnovýznamovými slovy, možná se bude hodit seznam stop-slov neboli stoplist.

Pro češtinu máme dva takové seznamy:

stoplist slov a stoplist základních tvarů

Lexikální databáze

Pro některé úlohy je vhodné využít lexikální databáze. V CZPJ máme český WordNet, VerbaLex, klasické české slovníky (SSČ, SSJČ, PSJČ). Slovníky jsou dostupné na platformě Dictionary Editing and Browsing (DEB).

Stránky projektů

Sémantická analýza

Úkoly sémantické analýzy jsou velice různé, takže následuje jen stručný seznam projektů, které souvisejí se sémantickou analýzou českého textu:

Stránky projektů

Korpusy

Pro zpracování češtiny je v nástroji SketchEngine dostupných několik korpusů: czes2, desam, czTenTen, korpus české Wikipedie, Czechparl, paralelní korpus OPUS2.

Stránka projektu