| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze |
| pojmy:syntakticka_analyza [2021/01/18 09:03] – [Vyhledávání syntaktických struktur v KonTextu: syntaktické atributy] tomasjelinek | pojmy:syntakticka_analyza [2026/01/19 09:55] (aktuální) – [Automatická syntaktická anotace: parsing] tomasjelinek |
|---|
| ====== Syntaktická analýza a syntaktické značkování ====== | ====== 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). | V některých korpusech ČNK ([[cnk:syn2025|SYN2025]], [[cnk:syn2020|SYN2020]] a [[cnk:syn2015|SYN2015]]) 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 ===== | ===== 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. | 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 syntaktické značkování vybraných korpusů ČNK 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 ==== | ==== Automatická syntaktická anotace: parsing ==== |
| |
| Syntaktická anotace se provádí automaticky, stochastickým programem ([[pojmy:parser|parserem]]). V korpusu SYN2015 programem TurboParser, v korpusu SYN2020 "neuronovým" parserem z řady nástrojů 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ů.\\ | 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 korpusech [[cnk:syn2020|SYN2020]] a [[cnk:syn2025|SYN2025]] "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í: | Ú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í: |
| | SYN2015 | 88,48 % | 82,46 % | | | SYN2015 | 88,48 % | 82,46 % | |
| | SYN2020 | 92,39 % | 88,73 % | | | SYN2020 | 92,39 % | 88,73 % | |
| | | SYN2025 | 92,56 % | 88,94 % | |
| |
| 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). | 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:zobrazenisyntaxe.png?500|Jak zobrazit syntaktickou strukturu}}\\ | {{:pojmy:zobrazenisyntaxe.png?500|Jak zobrazit syntaktickou strukturu}}\\ |
| |
| Prokliknutím se zobrazí syntaktická struktura dané věty, 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 obsahující více syntaktických slov):\\ | 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}}\\ | {{:cnk:syn2020:agregaty_syntax.png?250|Syntaktická struktura věty: příklad}}\\ |
| * [[seznamy:afun|afun]] (syntaktická funkce) | * [[seznamy:afun|afun]] (syntaktická funkce) |
| | |
| Další atributy umožňují vyhledávat podle vlastností „rodič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: | 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";%%''\\ | ''%%afun="Adv_Co";%%''\\ |
| \\ | \\ |
| \\ | \\ |
| 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//: | 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"]%%'' | ''%%[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 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"]%%''. | |
| |
| | Nebo všechna adjektiva závislá na těsně následujícím substantivu:\\ |
| | ''%%[pos="A" & parent="\+1"]%%''. |
| | \\ |
| --- //Tomáš Jelínek// | --- //Tomáš Jelínek// |
| |