= 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 ===
* http://nlp.fi.muni.cz/cz_accent/
== 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ánky projektů ===
* Rozdělovač Petra Machovce: http://nlp.fi.muni.cz/projekty/rozdelovac_vet/home.cgi
* `unitok`: http://corpus.tools/
== 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 ===
* http://corpus.tools/
== Morfologická analýza ==
Cílem morfologické analýzy je určit základní tvar (lemma) a gramatické kategorie tokenu. Typicky jeden token může mít více gramatických kategorií (např. slovo ''zdraví'' může být podstatné jméno v jednotném čísle, v 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ánka projektu:
`ajka`: http://nlp.fi.muni.cz/projekty/ajka/
`majka`: http://nlp.fi.muni.cz/czech-morphology-analyser/
== 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:
{{{
Neustále neustále k6eAd1
se se k3xPyFc4
ženu hnát k5eAaImIp1nS
za za k7c7
lepšími dobrý k2eAgInPc7d2
výsledky výsledek k1gInPc7
. . kIx.
}}}
== 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 8 p
8 -1 p
}}}
Spuštění analyzátoru `synt` na strojích CZPJ:
TODO
=== Stránky projektů ===
* `SET`: http://nlp.fi.muni.cz/trac/set
* `synt`: http://nlp.fi.muni.cz/trac/synt
== Č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:
[[cs/StopList|stoplist slov]] a
[[cs/StoplistZakladnichTvaru|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, [[cs/VerbaLex|VerbaLex]], klasické české slovníky (SSČ, SSJČ, PSJČ). Slovníky jsou dostupné na platformě Dictionary Editing and Browsing (DEB).
=== Stránky projektů ===
* [[cs/VerbaLex|VerbaLex]]
* platforma `DEB`: http://deb.fi.muni.cz
== 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ů ===
* rozpoznávání anafor `aara`: http://nlp.fi.muni.cz/projekty/watsonson/aara
* vyhledávání klíčových frází (témat): http://nlp.fi.muni.cz/projekty/topicks
* aktuální členění větné: TODO
== 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 ===
* http://ske.fi.muni.cz/