06 Porovnání NovaMorf s koncepcí Universal Dependencies (UD)
1 Úvodní přehled
Porovnání obou sad slovních druhů je ve zvláštní tabulce (POS.xlsx).
2 Kategorie a rysy
To, čemu my říkáme kategorie, se v UD nazývá feature, česky rys, takže to tak důsledně používáme, aby to bylo na první pohled jasné, o čem píšeme. Kategorie mají hodnoty, rysy mají values, takže tam se to nemusí dodržovat tak striktně.
V následujícím přehledu jsou jen ty rysy, které my nemáme nebo je řešíme jinak. Patří do dvou skupin:
● Universal features = ty rysy, které jsou definovány pro všechny jazyky
● Tense
● VerbForm
● Voice
● Language specific features = ty rysy, které jsou definovány jen pro některé jazyky, v tomto případě tedy pro češtinu, ale některé jsou platné i pro jiné jazyky
● Hyph
● Gender[psor]
● Number[psor]
● NameType
● NumForm
● NumValue
● PrepCase
● Style
Tense
Čas s hodnotami Fut, Past a Pres, přičemž Fut je relevantní pro VERB a AUX, druhé dvě hodnoty i pro ADJ. V datech je možno se setkat s hodnotou Past u přídavných jmen vzniklých z přechodníku minulého (odstoupivší apod.), a s hodnotou Pres u adjektiv z přechodníku přítomného (docházející, vedoucí, probíhající…). To zřejmě není úplně správně, přechodníky obecně nevyjadřují čas, ale spíš současnost nebo následnost s dějem vyjádřeným jiným slovesem. Podle znalce UD jde o záměrné zjednodušení.
VerbForm
Tenhle rys je hodně podobný naší kategorii Slovesný tvar (VRB), ale má trošku jiné hodnoty. Především není rozlišen přítomný a minulý přechodník. Ten se rozlišuje podle předchozího rysu Tense. Naše řešení pokládáme za lepší – viz též námitku u Tense.
Voice
Slovesný způsob. Pro češtinu má pouze dvě relevantní hodnoty, Act a Pass, které vyjadřujeme pomocí hodnot kategorie Slovesný tvar (VRB).
Všechny předchozí tři rysy se týkají sloves a my jsme je sloučili do jedné kategorie – Slovesný tvar (VRB).
Hyph
UD má rys Hyph s hodnotou Yes relevantní pro A. Tuto hodnotu má neúplné adjektivum následované pomlčkou a dalším adjektivem, přičemž to poslední je úplné, např. česko-německo-ruský. Jednotlivé pomlčky jsou tokeny, takže slovo z příkladu se tokenizuje do 5 tokenů. Tokeny „česko“ a „německo“ mají Hyph=Yes.
V datech (cs-ud-train.conllu) je i takto označené slovo bez následné pomlčky:
13
Česko
český
ADJ
A2--------A----
Hyph=Yes|Negative=Pos
15
amod
14
německého
německý
ADJ
AANS2----1A----
Case=Gen|Degree=Pos|Gender=Neut|Negative=Pos|Number=Sing
15
amod
V NovaMorf jsou neúplná adjektiva zahrnuta pod nový slovní druh POS=S (afixový segment). Toto řešení je obecnější, protože
● zahrnuje i postfixový segment
● tuto kategorii lze využít i pro jiný slovní druh než adjektivum (tří i čtyřkolka)
Dále by se dala mohli využít i u zkratek, tedy pro slovní tvary s ABR=+.
Bylo by možné zavést i kategorii Znaménko (HYP):[1]
Hodnoty:
+
pomlčka za prefixovým segmentem nebo
pomlčka nebo jiné znaménko (např. lomítko /) před postfixovým segmentem nebo
tečka za zkratkou
Další možností je mít víc hodnot, a to podle znaménka, které se použilo: tečka, pomlčka, lomítko, závorka...
A ještě jiným řešením by mohla být mutace, a to nejspíš globální, neboť se to týká takových forem, které se neohýbají, čili mají jen jeden tvar. V tom případě by se odlišilo:
česko-: G- od česko bez pomlčky, kde by se globální mutace neuváděla, nebo byla G0.
Podobně:
tvar á v malý/á by mělo G/:
malý: lemma(malý) = malý
/: lemma(/) = / & POS=Z & SUB=z (interpunkční znaménko)
á: lemma(á) = á & POS=S & SUB=e (ostatní afixový segment), G/
Otázka je, jestli to není už zbytečné. Nicméně to může být dobré třeba k tomu, že bychom rozlišili např. tyto dva případy (z Omnia Bohemica):
česko německá říkanka (G0, nebo HYP=-)
česko- i německojazyčný (G-, nebo HYP=+)
Otázka je, zda je třeba to rozlišovat, když tam ten spojovník stejně bude, ovšem jen jako zvl. token.
Rod a číslo posesora (Gender[psor], Number[psor])
Nemáme, UD mají.
NameType
To je sémantické rozlišení vlastních podstatných jmen, vlastně typ pojmenované entity. Vychází z MorfFlexu, může nabývat více hodnot, resp. některé hodnoty jsou vícehodnotové. My nemáme slovní druh vlastní jméno (PROPN). V jedné verzi jsme to chtěli mít jako poddruh podstatných (možná i přídavných přivlastňovacích) jmen, ale pak jsme od toho upustili. První námitka je formální – poddruhy vyjadřují něco jiného, např. už vlastnost být přivlastňovací je poddruhem. A potom to není ani zdaleka morfologická vlastnost.
NumForm
má hodnoty Digit, Roman a Word. Jde o rozdílné zápisy čísel. V NovaMorf jsme to neřešili.
Souvisí to i s lemmatizací čísel. Je otázkou, zda lemmatizovat všechny způsoby zápisu čísla stejně, a jak vlastně?
lem(3), lem(tři), lem(III)
Nejpřirozenějším způsobem je zahrnout všechny tři varianty zápisu do vícenásobného lemmatu. V tom případě by bylo třeba ty způsoby odlišit pomocí globální mutace. Po řadě by mohla být: G1 (Digit), Gw (Word), GR (Roman).
NumValue
Hodnoty 1 pro jedničku, 2 pro dvojku a 3 pro trojku a čtyřku. Pro ostatní čísla je nerelevantní. Relevantní pro A v případě jedni, jedněch... a pro C pro 1,2,3,4, ale v příkladech je i tisíc. Prý se to může hodit při následné syntaktické analýze.
PrepCase
Relevantní pro P – odlišuje tvary osobních zájmen 3. osoby, které po předložce začínají n (např. nich) na rozdíl od bezpředložkových začínajících j (např. jich). My to řešíme pomocí Flektivní mutace.
Style
Sémantický příznak archaičnosti apod. Nemáme a nechceme. Řešíme obecněji pomocí mutací.
3 Zájmena
Ve zvláštní tabulce (zajmena.xlsx) je barevně znázorněna korespondence mezi rysem PronType a kategorií Deixe.
Rys PronType je určen také pro zájmenné číslovky (kolik, tolik, několik, mnoho, málo, značka DET; kolikátý, tolikátý, několikátý, kolikerý, tolikerý, několikerý taky DET; kolikrát, tolikrát, několikrát značka ADV) a pro zájmenná příslovce (kde, kam, kdy, jak, někde, nikde...).
Naše kategorie Poddruh (SUB) je zohledněna v UD jen částečně. UD zavádějí dva zvláštní rysy, Poss a Reflex:
Poss
- binární rys s hodnotou Yes, relevantní pro pronouns, determiners or adjectives. Hodnota + znamená, že zájmeno je přivlastňovací.
Podle příkladů jsou takto označena ta naše přivlastňovací zájmena, která mají deixi určitou (můj, jeho,...), vztažnou (jejíž, jehož, jejichž) nebo reflexivní (svůj). Ostatní takto označeny nejsou – viz příklady z označkovaných dat v souboru cs-ud-train.conllu:
něčím
něčí
DET
PZZS7----------
Case=Ins|Gender=Masc,Neut|Number=Sing|PronType=Ind
něčích
něčí
DET
PZXP2----------
Case=Gen|Number=Plur|PronType=Ind
V datech nejsou žádné tvary lemmatu ničí ani čí. Ty by taky měly mít Poss=Yes.
Reflex
To je také binární rys s hodnotou Yes, relevantní pro pronouns and determiners. Patří sem osobní a přivlastňovací zájmena si, se, sebe,..., svůj.
4 Možnosti převodu morfologie z NovaMorf do UD
Vzhledem k tomu, že UD jsou jednodušší, bude převod z NovaMorf do UD poměrně snadný. Opačně to obecně nepůjde, ale to se neočekává.
Možnosti převodu probereme postupně podle slovních druhů NovaMorf (dále jen NM)
POS=N
Definice podstatných jmen vypadají stejně, jediným rozdílem je slovní druh PROPN, tedy vlastní jména v UD. Ta v NM označena nemáme, ale dají se velmi snadno odlišit velkým písmenem na začátku lemmatu. Převod by tedy mohl být snadný.
POS=A
Definice adjektiv jsou v obou systémech stejné.
POS=P
V UD jsou naše zájmena rozmístěna mezi zájmena (PRON), adjektiva (ADJ) a determiners (DET).
Tabulka (zajmena.xlsx) jasně vymezuje, kam které (naše) zájmeno patří v UD.
POS=C
Definice číslovek je v UD výrazně jednodušší než v NM. Číslovky se zařazují ke slovním druhům především podle typu flexe, tedy naše číslovky najdeme mezi adjektivy (první), substantivy (třetina) i adverbii (natřikrát, potřetí). Vymezení poddruhu a deixe číslovek v NM určí, do kterého slovního druhu daná číslovka patří v UD.
POS=V
Definice sloves je v UD také velmi podobná. Jediným větším rozdílem je slovní druh AUX, do kterého UD ukládá pomocná slova, v případě češtiny jen pomocná slovesa být, bývat, bývávat. Lze je zadat výčtem, tedy je možno je v UD správně odlišit od běžných sloves (VERB).
POS=D
Definice adverbií se neliší.
POS=R
Všechny předložky jsou v UD značeny jako adposition (ADP), zřejmě kvůli kompatibilitě s jinými jazyky. Převod je tedy snadný.
POS=J
Spojky má UD rozlišeny na souřadicí (CCONJ) a podřadicí (SCONJ) na úrovni slovního druhu, NM na úrovni poddruhu. Převod bude snadný.
POS=I
Stejné definice u obou systémů.
POS=T
Slovní druh částice je obecně velmi obtížně definovatelný. Z dokumentace si nejsme jisti, zda PART skutečně obsahuje naše částice. Vzhledem k tomu, že částice jsou neohebné a jejich příslušnost ke slovnímu druhu se individuálně zadává ručně pomocí slovníku, bude možné částice namapovat vzájemně podle slovníků.
POS=Z
Symboly jsou v UD rozděleny do dvou slovních druhů – PUNCT a SYM (symbol). Obě skupiny jsou zadány výčtem, takže mapování nebude problematické.
POS=S
Afixový segment v UD definovaný není. Místo toho mají UD kategorii HYPH, která je relevantní pro adjektiva a pro prefixový segment má hodnotu +. Naše sufixové segmenty nemají v UD žádný protějšek, tedy je nebude možno jednoduše v UD označkovat. Zatím se sufixové segmenty v českých textech neoznačovaly vůbec, takže se pokusíme naopak činovníky v UD inspirovat.
POS=F
Cizí slova mají UD vyznačeno jako kategorii Foreign, která je relevantní pro všechny slovní druhy. V tomto případě nebude možno určit slovní druh v UD, protože ho v NM záměrně nerozlišujeme. Důvodem je, že to většinou nedává smysl. Podle dosavadních dat v UD to ale vypadá, že neuděláme chybu, když budeme slovní druh NM cizí slovo převádět vždy na NOUN (substantivum) a přiřadíme mu rys Foreign = Foreign.
Agregáty
Agregáty se v NM dělí do podrobnějších typů, což UD nedělají.
Koncept vícenásobné lemmatizace spolu s vícenásobnou morfologickou značkou je ale pro oba systémy velmi podobný, takže při převodu by bylo třeba zohlednit jen případné drobné rozdíly ve značení a tokenizaci.
[1] Je to jen výhledové, zatím nezavedeno.