====== Syntaktická analýza a syntaktické značkování ======
V některých korpusech ČNK ([[cnk:syn2015|SYN2015]] a [[cnk:syn2020|SYN2020]]) se používá syntaktická anotace, označující závislostní vztahy mezi slovy ve větě a skladební funkce jednotlivých slov. Tato syntaktická anotace vychází ze zásad pro anotaci na tzv. analytické rovině v [[http://ufal.mff.cuni.cz/pdt2.0/index-cz.html|Pražském závislostním korpusu]] (PDT). Verze [[cnk:intercorp:verze13ud|13ud]] paralelního korpusu [[cnk:intercorp|InterCorp]] je syntakticky (a také morfologicky) anotována alternativním způsobem podle zásad mezinárodního projektu [[pojmy:ud|Universal Dependencies]].
===== Systém syntaktického značkování: analytická rovina Pražského závislostního korpusu =====
Analytickou rovinu PDT ([[http://ufal.mff.cuni.cz/pdt2.0/doc/manuals/cz/a-layer/html/index.html|PDT 2.0]] s revizemi [[http://ufal.mff.cuni.cz/pdt2.5/cs/documentation.html|2.5]] a [[http://ufal.mff.cuni.cz/pdt3.0|3.0]]) jsme zvolili jako východisko pro značkování korpusu SYN2015 ze dvou důvodů: kvůli srozumitelnosti syntaktické teorie v PDT obsažené a kvůli dostupnosti kvalitně „manuálně“ označkovaných dat. Závislostní skladba, podle které je značkováno PDT, vychází z pojetí skladby Vl. Šmilauera a je tedy blízká „tradiční“ české skladbě takové, jaká se dodnes vyučuje na mnoha základních i středních školách, a tedy srozumitelná většímu počtu uživatelů. PDT na analytické rovině navíc obsahuje cca 1,5 milionu kvalitně syntakticky označkovaných dat, která lze využít pro trénink a testování programů pro automatické syntaktické značkování; tolik manuálně označkovaných dat neobsahuje žádný jiný český syntakticky značkovaný korpus.
==== Automatická syntaktická anotace: parsing ====
Syntaktická anotace se provádí automaticky, stochastickým programem ([[pojmy:parser|parserem]]). V korpusu [[cnk:syn2015|SYN2015]] programem [[http://www.cs.cmu.edu/~afm/Home_files/acl2013short.pdf|TurboParser]], v korpusu [[cnk:syn2020|SYN2020]] "neuronovým" stack-pointer parserem z řady nástrojů [[https://arxiv.org/abs/1805.01087|NeuroNLP2]]. Automatický parsing má výrazně vyšší chybovost než [[pojmy:morfologicka_analyza|anotace morfologická]]. V korpusu SYN2015 nemá přibližně 1/6 [[pojmy:token|tokenů]] správně určeného „rodiče“ nebo správně přiřazenou syntaktickou funkci, v korpusu SYN2020 má chybnou syntaktickou anotaci více než 1/9 tokenů.\\
Úspěšnost parseru se počítá jako úspěšnost přiřazení rodiče, tzv. UAS (unlabeled attachment score) a úspěšnost přiřazení rodiče i syntaktické funkce zároveň, tzv. LAS (labeled attachment score). V korpusech SYN2015 a SYN2020 je následující:
^ korpus ^ UAS ^ LAS^
| SYN2015 | 88,48 % | 82,46 % |
| SYN2020 | 92,39 % | 88,73 % |
Syntaktickou anotaci tedy lze využívat jako **rámcové vodítko k dalšímu jazykovému výzkumu**, je však nutné počítat s tím, že není zcela spolehlivá. Chybovost je vyšší u méně častých syntaktických funkcí a konstrukcí, u nejčastějších funkcí v obvyklém kontextu klesá pod 5 % (SYN2020) či pod 10 % (SYN2015).
[{{ :pojmy:mf041122_color.jpg?400|}}]
===== Závislostní syntaktická struktura =====
V závislostní syntaktické anotaci je každému tokenu přiřazen jeden „rodič“, tj. jiný token, na kterém je daný token závislý, popř. „kořen“ věty, vnější rodič reprezentující celou větu (na „kořeni“ věty je závislý např. přísudek v hlavní větě). Každému tokenu je také přiřazena jedna syntaktická značka. Syntaktické značky zčásti odpovídají obvyklým skladebním funkcím jako přísudek (Pred), podmět (Sb), přívlastek (Atr) ap., zčásti to jsou funkce pomocné, přiřazené nejčastěji synsémantickým slovům (např. AuxP pro předložku) a interpunkci (AuxK pro interpunkční znaménko na konci věty).
==== Příklad syntaktické struktury ====
Syntaktickou strukturu věty si můžeme přiblížit na příkladu věty //Plavidlo bude převážet turisty mezi minaretem a zříceninou Janohrad v parku.// Věta je zobrazena jako závislostní strom, kde větve představují závislostní vztahy mezi slovy. V závislostním stromu jsou tokeny se základními syntaktickými funkcemi zobrazeny červeně, tokeny s pomocnými funkcemi jsou zobrazeny zeleně a grafické symboly žlutě.
Na technickém kořenu stromu (vlevo nahoře, s identifikátorem věty) závisí přísudek //převážet// (Pred) a koncová interpunkce (AuxK). Na přísudku závisí podmět //Plavidlo// (Sb) a předmět //turisty// (Obj). Pomocné sloveso //bude// (AuxV) tvoří s tvarem //převážet// jeden slovesný tvar, je tedy také zobrazeno jako závislé na tomto uzlu. Kromě toho závisí na slovese //převážet// i předložková fráze s významem místního určení obsahující koordinaci// mezi minaretem a zříceninou Janohrad//. Na rovině povrchové syntaxe v PDT funguje předložka jako formálně řídící, na slově //převážet// je tedy závislá předložka (AuxP), na ní je závislý reprezentant koordinačního spojení, spojka //a// (Coord). Na koordinačním uzlu jsou závislá obě koordinovaná substantiva z předložkové fráze //minaretem a zříceninou// (Adv_Co: funkce Adv, příslovečné určení, je doplněna o koncovku _Co, která označuje koordinované členy). Podstatné jméno //zříceninou// je dále rozvito neshodným přívlastkem //Janohrad// (Atr). Na koordinačním uzlu (Coord) je také závislá předložková fráze //v parku//, která sice není koordinovaná, ale rozvíjí oba členy koordinace, tj. jak slovo //minaretem//, tak slovo //zříceninou//. Opět je zde předložka //v// (AuxP) závislá na řídícím členu, na předložce je pak závislé substantivum //parku// s funkcí přívlastku (Atr).
===== Zobrazení syntaktických struktur v KonTextu =====
Pro každou větu v syntakticky označkovaném korpusu (tedy zatím v SYN2015 a v SYN2020) lze zobrazit syntaktickou strukturu prokliknutím ikony na levé straně konkordančního řádku (na obrázku zvýrazněno červeně).\\
{{:pojmy:zobrazenisyntaxe.png?500|Jak zobrazit syntaktickou strukturu}}\\
Prokliknutím se zobrazí syntaktická struktura dané věty. Pořadí slov ve větě odpovídá pořadí syntaktických slov ve struktuře (zleva doprava), řídící slova jsou ve struktuře výše, závislá níže. Jako příklad uvádíme část zobrazené struktury týkající se vedlejší věty //aby ses měla nač vymluvit// (věta z korpusu SYN2020, obsahuje tzv. [[cnk:syn2020:agregat|agregáty]], tj. tokeny zahrnující více syntaktických slov):\\
{{:cnk:syn2020:agregaty_syntax.png?250|Syntaktická struktura věty: příklad}}\\
===== Vyhledávání syntaktických struktur v KonTextu: syntaktické atributy =====
V prostředí [[manualy:kontext|KonText]] lze vyhledávat slova a slovní spojení podle jejich syntaktických vlastností. K tomu je každému tokenu přiřazeno několik [[pojmy:atributy_pozicni|atributů]], některé další atributy jsou pak přiřazeny jen vybraným tokenům (podle slovního druhu). Všechny syntaktické atributy jsou popsané v [[seznamy:syntakticke_znacky|samostatném článku]]. Základní syntaktické atributy přiřazené všem tokenům jsou:
* [[seznamy:parent|parent]] (číselný odkaz na pozici řídícího tokenu)
* [[seznamy:afun|afun]] (syntaktická funkce)
Další atributy umožňují vyhledávat podle vlastností „rodiče“ (řídícího slova, slova nadřazeného v syntaktické struktuře). U autosémantických slov lze vyhledávat i podle „efektivního rodiče“, což je nejbližší autosémantický rodič (či prarodič) daného slova. Ve výše uvedeném příkladu by tak slovu //zříceninou//, které je závislé přes koordinaci a předložku //mezi// na slovese //převážet//, byly přiřazeny následující atributy:
''%%afun="Adv_Co";%%''\\
syntaktická funkce slova: příslovečné určení v koordinaci\\
''%%parent="-1", p_tag="J^--------------", p_lemma="a", p_afun="Coord";%%''\\
řídící slovo se nachází o jedna vlevo; tag řídícího slova je %%"J^..."%%, lemma je //a//, synt. funkce "koordinační spojka"\\
''%%eparent="-5, "ep_tag="Vf--------------", ep_lemma="převážet", ep_afun="Pred";%%''\\
plnovýznamové řídící slovo se nachází o pět tokenů vlevo; lemma plnovýznamového řídícího slova je //převážet//; synt. funkce "přísudek"\\
''%%prep="mezi"%%''\\
tvar slova //zříceninou// je spoluurčen předložkou //mezi//\\
\\
\\
V korpusu pak lze podle těchto atributů vyhledávat, např. lze vyhledat všechna substantiva v akuzativu se syntaktickou funkcí **Obj** závislá na slovese //převážet//:\\
''%%[afun="Obj" & tag="NN..4.*" & p_lemma="převážet"]%%''
Nebo lze vyhledat všechna slova (syntaktická substantiva) v sedmém pádě s předložkou //mezi// závislá na slovese v infinitivu:\\
''%%[prep="mezi" & case="7" & ep_tag="Vf.*"]%%''.
Nebo všechna adjektiva závislá na těsně následujícím substantivu:\\
''%%[pos="A" & parent="\+1"]%%''.
\\
--- //Tomáš Jelínek//
==== Související odkazy ====
[[seznamy:syntakticke_znacky|Syntaktické značky]] • [[pojmy:parser|Parsing]] • [[pojmy:atributy_pozicni|Poziční atributy]] • [[pojmy:anotace|Anotace]] • [[pojmy:morfologicka_analyza|Morfologická analýza]]