Projekt anotování českého textu má tři úrovně: morfologickou, analytickou a tektogramatickou. Pro anotování na všech úrovních se vychází z českého textu ve formátu csts, který je základním formátem Českého národního korpusu (ČNK). Většina textů byla rovněž převzata přímo z ČNK. V tomto formátu jsou již české texty rozděleny na slova (slovní tvary), věty a odstavce. Je rovněž explicitně označena interpunkce a tam, kde to bylo možné, je zachována i grafická informace z původního textu. Čísla psaná číslicemi jsou rovněž označena a desetinná čísla jsou normalizována. K anotaci na všech úrovních se používá identických textů, zvolených náhodně (v blocích) z textů ČNK a z materiálů poskytnutých FI MU Brno.
Na morfologické úrovni je anotování (tagging) lineární. Ke každému původnímu slovnímu tvaru (jméno atributu: origf, SGML atribut <w>) v textu se přiřadí tři atributy, obsahující slovní tvar, lemma a tag. Anotuje se ručně pomocí celoobrazovkového programu sgd, který pracuje v prostředí Linuxu, ale který lze provozovat vzdáleně i např. z DOSu. Program sgd vyžaduje, aby původní text byl morfologicky předpracován, tj. aby ke každému slovnímu tvaru půvoního textu byl připojen seznam možných lemmat a jejich (možných) morfologických kategorií. Toto přiřazení se provádí automaticky na základě elektronického slovníku pro aplikace ve zpracování přirozeného jazyka, který v současné době pokrývá asi 98-99% běžného novinového nebo časopiseckého textu (včetně jmen). Zbylé tvary se doplňují při ruční anotaci. Překlepy se v textu ponechávají v atributu origf, ale jsou (ručně) opraveny a zpracovány v atributu form. Morfologickou anotaci pomocí programu sgd lze provádět před anotováním textu na analytické úrovni i po něm. Vstupní i výstupní data pro program sgd jsou v SGML formátu podle DTD csts. Objemovým cílem je ve spolupráci s FI MU Brno dosáhnout 1 milionu anotovaných slovních tvarů.
Slovní tvar je ve většině případů identický s původním slovním tvarem tak, jak byl uveden v původním textu, včetně zápisu malých a velkých písmen. Liší se jen v těch případech, kdy původní slovní tvar byl
číslice s desetinnou čárkou,
slova aby a kdyby,
spojený tvar předložky a zájmena (např. naň, proň, zaň, oč, zač),
slovo s připojeným -s jako indikací 2. os. j. č. slovesa být (např. tys, ses, udělals),
slovo s připojeným -ť jako indikací příčiny (arch.) (např. bylť),
překlep.
V těchto případech je slovní tvar (form) odvozen z původního slovního tvaru (origf) takto:
origf | počet atr. form | 1. nebo jediný form | 2. form |
---|---|---|---|
číslice s des. čárkou | 1 | číslice s des. tečkou | |
tvar slova aby/kdyby | 2 | aby/kdyby | podmiň. tvar by v přísl. tvaru (např. bychom) |
předl. + zájmeno | 2 | předložka | zájmeno v přísl. (dlouhém) tvaru (např. naň -> na + něj) |
slovo s připojeným -s | 2 | slovo bez -s | jsi |
slovo s připojeným -ť | 2 | slovo bez -ť | neboť |
překlep | 1 | opravený tvar | |
překlep u stažených tv. | 2 | viz ř. 2-4, opravený | viz ř. 2-4, opravený tvar |
Stažené tvary se tedy "rozpadnou" na dva tvary, přičemž atribut origf obsahuje u prvního z nich původní (stažený) tvar z textu a u druhého z nich je prázdný.
Lemma jednoznačně identifikuje slovo jako lexikální jednotku. Je representováno řetězcem písmen a znaků, který ve většině případů odpovídá tzv. slovníkovému tvaru slova, neboli tvaru slova, pod kterým je dané slovo obvykle uváděno ve slovnících.
slovní druh | morfologické kategorie slovního tvaru v atributu lemma |
---|---|
podstatné jm. | 1. pád, jednotné číslo, bez negace (pokud kladný tvar existuje a negace nemění význam); pluralia tantum: totéž, ale množné číslo |
přídavné jméno | rod mužský životný, 1. pád, jednotné číslo, bez negace, 1. stupeň |
zájmeno | pokud přísl. kategorie existují: 1. pád, jednotné číslo, rod muž. živ., bez negace (tedy spec.: osobní zájmena pouze já, ty, on) |
číslovka | pokud přísl. kategorie existují: 1. pád, jednotné číslo, rod muž. živ., bez negace |
sloveso | infinitiv |
příslovce | 1. stupeň, bez negace |
předložka | bez vokalisace |
ostatní | původní tvar |
Pravopisné varianty jsou přitom sjednoceny, pokud jde opravdu jen o pravopisné varianty a nikoli např. o posun ve významu; to se týká i kategorie "ostatní". Takto získaný identifikační řetězec může být doplněn rozlišovací identifikací, složenou z pomlčky a jedné nebo více desítkových číslic (např. -2). Nula se přitom samostatně nepoužívá. Tato identifikace slouží k rozlišení jinak nerozlišitelných lexikálních jednotek (např. podstatné jméno hnát-2 vs. sloveso hnát-1). Výjimečně se tohoto rozlišení používá i pro rozlišení významu (např. strana-4 v knize, politická strana-2 atd.). Velká a malá písmena hrají při rozlišování roli a používají se pro rozlišení obecných a vlastních jmen jinak identických (např. křen vs. Křen). K původní "velikosti" písmen v textu (atributy form, příp. origf) se nepřihlíží, tj. pokud bylo (obecné) slovo původně psáno s velkým písmenem (nadpisy, začátek věty), v atributu lemma je uvedeno jen s malými písmeny.
Morfologická značka je tvořena posloupností velkých písmen anglické abecedy a číslic. První znak v zásadě identifikuje slovní druh slova, a buď samostatně nebo dohromady s dalšími několika znaky určuje možné kombinace morfologických kategorií, které následují bezprostředně za tímto znakem nebo znaky. Na konci atributu tag může být rozlišení podobné rozlišení u atributu lemma, avšak zde je použito jako rozlišení formální (např. pro odlišení variant, obecných koncovek apod.), nikoli významové.
Rozlišení slovního druhu podle prvního znaku atributu tag:
první znak atributu tag | slovní druh |
---|---|
N | podstatné jméno |
A | přídavné jméno |
P | zájmeno |
C | číslovka |
V | sloveso |
D | příslovce |
R | předložka |
J | spojka |
I | citoslovce |
T | částice |
Z | interpunkce, čísla psaná číslicemi, kořen stromu |
X | (neznámý/neurčený) |
Výjimkou jsou hodnoty atributu tag NOMORPH a NOMORPH1, které se používají u slov, která nebyla nalezena ve slovníku a dosud nebyla vložena "ručně". Pro hranice věty se používá tag ZSB a pro interpunkci ZIP, ale tyto hodnoty se na morfologické úrovni explicitně nepoužívají.