Next revision | Previous revisionNext revisionBoth sides next revision |
en:pojmy:syntakticka_analyza [2020/06/30 15:45] – created michalkren | en:pojmy:syntakticka_analyza [2020/12/17 11:58] – [Automatic syntactic annotation: parsing] tomasjelinek |
---|
====== Syntaktická analýza a syntaktické značkování ====== | ====== Syntactic analysis and syntactic tagging ====== |
| |
V některých korpusech ČNK (počínaje [[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). | Some of CNC corpora (the first of which is [[en:cnk:syn2015|SYN2015]]) are syntactically annotated, marking dependency relations between two words in a sentence and the analytical functions of individual words. This syntactic annotation is based on the principles of the analytical-layer annotation used in the [[http://ufal.mff.cuni.cz/pdt2.0/index-cz.html|Prague Dependency Treebank]] (PDT). |
| |
===== Systém syntaktického značkování: analytická rovina Pražského závislostního korpusu ===== | ===== The system of syntactic annotation: the analytical layer of the Prague Dependency Treebank ===== |
| |
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. | The analytical layer of the PDT ([[http://ufal.mff.cuni.cz/pdt2.0/doc/manuals/cz/a-layer/html/index.html|PDT 2.0]] following revisions [[http://ufal.mff.cuni.cz/pdt2.5/cs/documentation.html|2.5]] and [[http://ufal.mff.cuni.cz/pdt3.0|3.0]]) was chosen as the starting point for tagging the SYN2015 corpus for the following two reasons: firstly because of the intelligibility of the syntactic theory contained in the PDT, and secondly due to the availability of high-quality „manually“ tagged data. The dependency structure based on which the PDT is annotated is based on that of Vl. Šmilauer, and is therefore closely related to the „traditional“ Czech structure as it is taught is the majority of primary and secondary schools to this day, which makes it easily comprehensible for a large number of users. In addition, the PDT's analytical layer contains approximately 1.5 million words of high-quality syntactically annotated data, which can be used to train and test automatic syntactic annotation programs; such a vast quantity of manually annotated data is not contained in any other syntactically annotated corpus of the Czech language. |
| |
==== Automatická syntaktická anotace: parsing ==== | ==== Automatic syntactic annotation: parsing ==== |
| |
Syntaktická anotace se provádí automaticky, stochastickým programem ([[pojmy:parser|parserem]]), v tomto případě programem TurboParser, a má výrazně vyšší chybovost než [[pojmy:morfologicka_analyza|anotace morfologická]]. Přibližně 1/6 [[pojmy:token|tokenů]] nemá správně určeného „rodiče“ nebo správně přiřazenou syntaktickou funkci. Úspěšnost přiřazení rodiče, tzv. UAS (unlabeled attachment score), je 88,48 %; úspěšnost přiřazení rodiče i syntaktické funkce, tzv. LAS (labeled attachment score), je 82,46 %. 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í 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 10 %. | Syntactic annotation is done automatically, using a syntactic ([[en:pojmy:parser|parser]]). For the annotation of the SYN2015 corpus, the TurboParser was used, for SYN2020, a "neural" parser of the NeuroNLP2 tools was used. This kind of annotation has a higher error rate than [[en:pojmy:morfologicka_analyza|morphological annotation]]. In SYN2020, more than 1/9 [[en:pojmy:token|tokens]] are left without a correctly identified „parent“ or correctly matched syntactic function, in SYN2015, it's as much as 1/6 of [[en:pojmy:token|tokens]].\\ |
| The success rate of parsing is measured as UAS (unlabeled attachment score), the rate of successful parent identification and LAS (labeled attachment score), the rate of successful identification of both parent and syntactic function. In the SYN2015 and SYN2020, these rates are as follows: |
| |
[{{ :pojmy:mf041122_color.jpg?400|}}] | ^ korpus ^ UAS ^ LAS^ |
| | SYN2015 | 88,48 % | 82,46 % | |
| | SYN2020 | 92,39 % | 88,73 % | |
| |
===== 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). | Therefore, although syntactic annotation can be used as an **approximate guide for further language research**, we must keep in mind that it is not entirely reliable. The error rate is higher for less common syntactic functions and constructions, whereas the most frequent functions in expected contexts have an error rate lower than 10%. |
| |
| [{{ :pojmy:mf041122_color.jpg?400|}}] |
| |
| ===== Syntactic dependency structure ===== |
| |
==== Příklad syntaktické struktury ==== | In dependency-based syntactic annotation, each token is assigned one „parent“, i.e. another token on which the given token is dependent, or alternatively the „root“ of the sentence, an external parent representing the entire sentence (e.g. the predicate in the main clause is dependent on the sentence „root“). One syntactic tag is also assigned to each token. Syntactic tags partially correspond to the usual syntactic functions such as predicate (Pred), subject (Sb), attribute (Atr) etc., and partially they have auxiliary functions, most often assigned to synsemantic words (e.g. AuxP for prepositions) and punctuation marks (AuxK for punctuation marks at the end of a sentence). |
| ==== Examples of syntactic structure ==== |
| |
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 <fc #ff0000>červeně</fc>, tokeny s pomocnými funkcemi jsou zobrazeny <fc #008000>zeleně</fc> a grafické symboly <fc #dddd00>žlutě</fc>. | The syntactic structure of a sentence can be illustrated using the example //Plavidlo bude převážet turisty mezi minaretem a zříceninou Janohrad v parku.// The sentence is shown as a dependency tree, where the branches represent the dependency relations between the individual words. In the dependency tree, tokens with basic syntax functions are written in <fc #ff0000>red</fc>, tokens with auxiliary functions are <fc #008000>green</fc> and graphic symbols are <fc #dddd00>yellow</fc>. |
| |
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). | The technical root of the dependency tree (top left, with the sentence identifier) governs the predicate //převážet// (Pred) and final punctuation mark (AuxK). The predicate governs the subject //Plavidlo// (Sb) and object //turisty// (Obj). The auxiliary verb //bude// (AuxV) forms one verbal unit with the verb //převážet//, and it is therefore also depicted as being dependent on this node. Furthermore, the verb //převážet// also governs the coordinated prepositional phrase with a locative adverbial function// mezi minaretem a zříceninou Janohrad//. In PDT, on the level of surface syntax the preposition's function is to formally govern, so the verb //převážet// governs the preposition (AuxP), which in turn governs the representative of the coordinating relation, the conjunction //a// (Coord). Both coordinated nouns from the prepositional phrase //minaretem a zříceninou// are dependent on the coordination node (Adv_Co: Adv, i.e. adverbial function, is furnished with an additional component _Co, which indicates coordinated members). The noun //zříceninou// is further modified by the incongruent attribute //Janohrad// (Atr). The coordinating node (Coord) also governs the prepositional phrase //v parku//, which itself is not coordinated, but modifies both members of the coordination, i.e. both the word //minaretem// and the word //zříceninou//. Again, the preposition //v// (AuxP) is dependent on the governing member, and the noun //parku// with the attributive function (Atr) is in turn dependent on the preposition. |
| |
===== Vyhledávání syntaktických struktur v KonTextu: syntaktické atributy ===== | ===== Searching KonText for syntactic structures: syntactic attributes ===== |
| |
Pro prohlížení syntakticky anotovaných korpusů se obvykle používají speciální prohlížeče schopné zobrazit syntaktickou strukturu, například program [[https://ufal.mff.cuni.cz/tred/|TrEd]]. V prohlížeči [[manualy:kontext|KonTextu]] možnost zobrazovat syntaktickou strukturu není, lze ale vyhledávat slova a slovní spojení podle syntaktických parametrů. 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. 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: | Searching in syntactically annotated corpora typically requires an interface specially designed to display the syntactic structure, for example the program [[https://ufal.mff.cuni.cz/tred/|TrEd]]. The [[en:manualy:kontext:index|KonText]] interface does not offer the option of viewing the syntactic structure, nonetheless it is possible to search for words and phrases according to syntactic parameters. For this purpose, each token is assigned several [[en:pojmy:atributy_pozicni|attributes]], in addition to the smaller number of attributes which are assigned only to selected tokens. All syntactic attributes are described in a [[en:seznamy:syntakticke_znacky|separate entry]]. The basic syntactic attributes assigned to all tokens are: |
* [[seznamy:parent|parent]] (číselný odkaz na pozici řídícího tokenu) | * [[en:seznamy:parent|parent]] (numbered reference to the position of the governing token) |
* [[seznamy:afun|afun]] (syntaktická funkce) | * [[en:seznamy:afun|afun]] (syntactic function) |
| |
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: | Other attributes allow us to search based on the „parent“ properties. In the case of autosemantic words we can search based on the „effective parent“, which is the given word's closest autosemantic parent (or grandparent). In the previously mentioned example, this would mean that the word //zříceninou//, which is dependent on the verb //převážet// by way of coordination and the preposition //mezi//, would be assigned the following attributes: |
| |
''%%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//: | The corpus allows us to search based on these attributes, e.g. a search for all nouns in the accusative case with the syntactic function Obj and dependent on the verb //převážet// would look like this: |
''%%[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.*"]%%''. | We can also search for all words (syntactic nouns) in the 7th case (instrumental) with the preposition //mezi// which are dependent on a verb in the infinitive: ''%%[prep="mezi" & case="7" & ep_tag="Vf.*"]%%''. |
| |
--- //Tomáš Jelínek// | --- //Tomáš Jelínek// |
| |