Univerzita Karlova v Praze ´ln´ı fakulta Matematicko-fyzika
´ PRACE ´ DIPLOMOVA
Ondˇrej Bojar Automatick´ a extrakce lexik´ alnˇ e-syntaktick´ ych u ´ daj˚ u z korpusu Praha 2002
´ Ustav form´aln´ı a aplikovan´e lingvistiky Vedouc´ı diplomov´e pr´ace: RNDr. Vladislav Kuboˇ n, Ph.D. Studijn´ı program: Informatika, Poˇc´ıtaˇcov´a a form´aln´ı lingvistika
2 ´ R´ ad bych na tomto m´ıstˇe vyslovil podˇekov´ an´ı pracovn´ık˚ um Ustavu form´ aln´ı a aplikovan´e lingvistiky a Centra komputaˇcn´ı lingvistiky za laskav´e pˇrijet´ı a veˇskerou technickou podporu; zejm´ena pak vedouc´ı katedry, prof. Evˇe Hajiˇcov´e, za starostlivou p´eˇci o tento kolektiv. Chtˇel bych rovnˇeˇz podˇekovat dr. Vladislavu Kuboˇ novi za veden´ı t´eto pr´ ace. ˇ Zdeˇ nkovi Zabokrtsk´ emu pak patˇr´ı zvl´ aˇstn´ı d´ık za nesˇcetn´e konkr´etn´ı n´ amˇety a pˇripom´ınky a pˇredevˇs´ım za vˇzdy inspiruj´ıc´ı zp˚ usob pr´ ace a uvaˇzov´ an´ı.
Prohlaˇsuji, ˇze jsem diplomovou pr´ aci vypracoval samostatnˇe a s pouˇzit´ım citovan´ ych pramen˚ u. Souhlas´ım se zap˚ ujˇcov´ an´ım pr´ ace. V Praze dne 13. prosince 2002.
Ondˇrej Bojar
Obsah ´ 1 Uvod
9
1.1
Motivace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2
Obsah pr´ ace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.3
Souˇcasn´ y stav znalost´ı . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4
Zamˇeˇren´ı t´eto pr´ ace . . . . . . . . . . . . . . . . . . . . . . . . .
13
2 Dostupn´ e zdroje dat
15
ˇ Charakter a velikost CNK a PDT . . . . . . . . . . . . . . . . . .
15
2.1.1
ˇ y n´ ˇ Cesk´ arodn´ı korpus (CNK) . . . . . . . . . . . . . . . .
15
2.1.2
Praˇzsk´ y z´ avislostn´ı korpus (PDT) . . . . . . . . . . . . .
15
2.1.3
ˇ Typ anotace CNK a PDT ve vztahu k extrakci slovesn´ ych r´ amc˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.2
ˇ Slovesa v CNK a v PDT . . . . . . . . . . . . . . . . . . . . . . .
16
2.3
Poskytuj´ı korpusy dostatek dat? . . . . . . . . . . . . . . . . . .
19
2.4
Slovesa z Internetu . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.5
Shrnut´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.1
3 Extrakce povrchov´ ych r´ amc˚ u slovesa 3.1
3.2
22
Souˇcasn´e syntaktick´e analyz´ atory . . . . . . . . . . . . . . . . . .
24
3.1.1
Zeman˚ uv parser . . . . . . . . . . . . . . . . . . . . . . .
25
3.1.2
Collins˚ uv parser . . . . . . . . . . . . . . . . . . . . . . .
25
3.1.3
ˇ Parser Zdeˇ nka Zabokrtsk´ eho . . . . . . . . . . . . . . . .
26
3.1.4
Srovn´ an´ı u ´spˇeˇsnosti parser˚ u . . . . . . . . . . . . . . . . .
26
Sloˇzitost vˇet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.2.1
Sloˇzit´ a interpunkce, ˇc´ıslice ad. . . . . . . . . . . . . . . . .
30
3.2.2
Sloˇzen´ı analytick´ ych slovesn´ ych tvar˚ u . . . . . . . . . . .
30
3
4
OBSAH 3.2.3
Vˇety s v´ıce plnov´ yznamov´ ymi slovesy . . . . . . . . . . .
31
3.2.4
Koordinace ve jmenn´ ych ˇci pˇredloˇzkov´ ych skupin´ ach . . .
31
3.2.5
Jednoduch´ a vˇetn´ a skladba . . . . . . . . . . . . . . . . . .
33
3.2.6
Probl´emy v d˚ usledku homonymie pˇredloˇzkov´ ych skupin .
33
3.2.7
Dostupnost dostateˇcnˇe jednoduch´ ych vˇet v korpusech . .
34
3.3
´ eˇsnost parser˚ Uspˇ u na “velmi jednoduch´ ych vˇet´ ach” . . . . . . . .
35
3.4
Zpracov´ an´ı a filtrace povrchov´ ych r´ amc˚ u. . . . . . . . . . . . . .
37
3.4.1
Metody statistick´e filtrace . . . . . . . . . . . . . . . . . .
38
3.4.2
N´ aznak lingvistick´e filtrace . . . . . . . . . . . . . . . . .
39
3.4.3
Spojov´ an´ı r´ amc˚ u . . . . . . . . . . . . . . . . . . . . . . .
41
3.4.4
Shrnut´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4 Od pozorovan´ ych r´ amc˚ u k valenci
46
4.1
Z´ akladn´ı pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.2
Vztah formy a funkce . . . . . . . . . . . . . . . . . . . . . . . .
48
4.2.1
Faktor povrchov´e realizace doplnˇen´ı . . . . . . . . . . . .
49
4.2.2
Faktor lexik´ aln´ı hodnoty slovesa . . . . . . . . . . . . . .
49
4.2.3
Faktor lexik´ aln´ıho obsazen´ı v doplnˇen´ı . . . . . . . . . . .
51
4.2.4
Shrnut´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5 Syst´ em AX
53
5.1
C´ıle syst´emu a jazyka AX, moˇznosti aplikace . . . . . . . . . . .
53
5.2
Z´ akladn´ı datov´ a struktura: Variantov´ a sestava rys˚ u . . . . . . . .
54
5.2.1
Definice variantov´e sestavy rys˚ u . . . . . . . . . . . . . .
55
5.2.2
Operace nad sestavami rys˚ u . . . . . . . . . . . . . . . . .
55
5.2.3
Reprezentace slovn´ıho tvaru variantovou sestavu rys˚ u . .
59
5.2.4
Syntax variantov´ ych sestav rys˚ u v jazyce AX . . . . . . .
60
Z´ apis sestav rys˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
5.3.1
Zkratky . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5.3.2
Morfologick´ a anal´ yza na m´ıstˇe, “instantn´ı sestavy rys˚ u” .
61
Filtry: Regul´ arn´ı v´ yrazy nad sestavami rys˚ u . . . . . . . . . . . .
62
5.4.1
Syntax regul´ arn´ıho v´ yrazu . . . . . . . . . . . . . . . . . .
62
5.4.2
Syntax a s´emantika filtru . . . . . . . . . . . . . . . . . .
63
Pravidla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.3
5.4
5.5
5
OBSAH
5.6
5.7
5.8
5.9
5.5.1
Regul´ arn´ı v´ yrazy pro nahrazov´ an´ı a n´ ahrada . . . . . . .
65
5.5.2
Dodateˇcn´e podm´ınky na regul´ arn´ı v´ yrazy a n´ ahradu . . .
66
5.5.3
Zp˚ usob aplikace pravidel . . . . . . . . . . . . . . . . . . .
67
5.5.4
Determinismus zaˇca ´tku a konce aplikace pravidel . . . . .
68
5.5.5
Promˇenn´e vstupn´ı, pracovn´ı a v´ ystupn´ı . . . . . . . . . .
69
F´ aze bˇehu syst´emu AX . . . . . . . . . . . . . . . . . . . . . . .
70
5.6.1
Poˇrad´ı aplikace pravidel v r´ amci f´ aze . . . . . . . . . . . .
71
5.6.2
Deterministick´ a a nedeterministick´ a f´ aze . . . . . . . . . .
71
5.6.3
Omezen´ı poˇctu opakov´ an´ı, ochrana pˇred zacyklen´ım . . .
72
AX pro uˇzivatele . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
5.7.1
Spuˇstˇen´ı, vstup a v´ ystup syst´emu AX . . . . . . . . . . .
72
5.7.2
Parametry na pˇr´ıkazov´e ˇra ´dce . . . . . . . . . . . . . . . .
74
5.7.3
Ladˇen´ı gramatiky pro syst´em AX . . . . . . . . . . . . .
75
N´ amˇety na rozˇs´ıˇren´ı . . . . . . . . . . . . . . . . . . . . . . . . .
76
5.8.1
Operace nad konstantn´ımi sestavami rys˚ u . . . . . . . . .
76
5.8.2
Pln´ y reperto´ ar ˇr´ızen´ı bˇehu . . . . . . . . . . . . . . . . . .
77
5.8.3
Kontrola zachov´ an´ı z´ avislost´ı . . . . . . . . . . . . . . . .
78
Pozn´ amky k implementaci . . . . . . . . . . . . . . . . . . . . . .
79
6 Z´ avˇ er
82
A Identifikace velmi jednoduch´ ych vˇ et
84
B Formy a funkce slovesn´ ych doplnˇ en´ı
92
B.1 Od funkce k formˇe . . . . . . . . . . . . . . . . . . . . . . . . . .
92
B.2 Od formy k funkci . . . . . . . . . . . . . . . . . . . . . . . . . .
97
C Prohl´ıˇ zen´ı orientovan´ ych graf˚ u, program trex
100
C.1 Vlastn´ı orientovan´e grafy . . . . . . . . . . . . . . . . . . . . . . 101 C.2 Souˇcasn´ a omezen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Literatura
103
Seznam tabulek ˇ Slovesa v CNK ve skupin´ ach dle ˇcetnosti. Zastoupen´ı sloves i v PDT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
ˇ 2.2 Slovesa v CNK s m´enˇe neˇz 3 550 v´ yskyty ve skupin´ ach dle ˇcetnosti. Zastoupen´ı tˇechto sloves i v PDT. . . . . . . . . . . . .
18
´ eˇsnost parser˚ Uspˇ u podle poˇctu spr´ avnˇe zapojen´ ych uzl˚ u a s ohledem na d´elku vstupn´ı vˇety. . . . . . . . . . . . . . . . . . .
27
´ eˇsnost parser˚ Uspˇ u podle spr´ avn´ ych pozorovan´ ych r´ amc˚ u slovesa a s ohledem na d´elku vstupn´ı vˇety. . . . . . . . . . . . . . . . . .
29
´ eˇsnost parser˚ Uspˇ u podle pozorovan´ ych r´ amc˚ u slovesa, kde nechyb´ı ˇza ´dn´e doplnˇen´ı. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.4
ˇ Zastoupen´ı “velmi jednoduch´ ych vˇet” v CNK. . . . . . . . . . . .
35
3.5
Zastoupen´ı “velmi jednoduch´ ych vˇet” v evaluaˇcn´ı ˇca ´sti PDT. . .
36
3.6
Poˇcet uzl˚ u a sloves ve “velmi jednoduch´ ych vˇet´ ach”. . . . . . . .
36
3.7
Srovn´ an´ı parser˚ u na “velmi jednoduch´ ych vˇet´ ach”. . . . . . . . .
37
3.8
Pozorovan´e r´ amce slovesa d´ at v PDT. . . . . . . . . . . . . . . .
38
3.9
´ eˇsnost identifikace ˇcasov´ Uspˇ ych urˇcen´ı na z´ akladˇe lexik´ aln´ıho obsazen´ı v podstromu pod podstatn´ ym jm´enem. . . . . . . . . .
40
3.10 Uk´ azkov´ y v´ ystup automatick´eho rozbalen´ı hierarchie r´ amc˚ u. . . .
43
2.1
3.1 3.2 3.3
4.1
Vliv lexik´ aln´ı hodnoty slovesa na urˇcen´ı funkce doplnˇen´ı na z´ akladˇe jeho formy. . . . . . . . . . . . . . . . . . . . . . . . . . .
6
50
Seznam obr´ azk˚ u 2.1
ˇ Graf srovn´ avaj´ıc´ı poˇcet v´ yskyt˚ u sloves v CNK a PDT . . . . . .
17
3.1
Uk´ azka zdrojov´ ych neanotovan´ ych vˇet pro extrakci slovesn´ ych r´ amc˚ u. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2
Hierarchie pozorovan´ ych r´ amc˚ u slovesa d´ at ve smˇeru od nejobsaˇznˇejˇs´ıch r´ amc˚ u. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3
Hierarchie pozorovan´ ych r´ amc˚ u slovesa d´ at ve smˇeru od nejchudˇs´ıch r´ amc˚ u. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1
Pˇr´ıklad f´ azov´eho zpracov´ an´ı vˇet v syst´emu AX. . . . . . . . . . .
54
5.2
Sestava rys˚ u pro reprezentaci slovn´ıho tvaru m´ a. . . . . . . . . .
60
5.3
Uk´ azkov´ y v´ ystup programu AX. . . . . . . . . . . . . . . . . . .
73
5.4
Z´ avˇereˇcn´ a statistika bˇehu programu AX. . . . . . . . . . . . . . .
74
5.5
Uk´ azka ladic´ıho v´ ypisu bˇehu syst´emu AX. . . . . . . . . . . . . .
81
C.1 Makra pro pr´ aci se soubory *.trex v editoru vim. . . . . . . . . 101
7
N´ azev pr´ ace: Automatick´ a extrakce lexik´ alnˇe-syntaktick´ ych u ´daj˚ u z korpusu Autor: Ondˇrej Bojar ´ Katedra: Ustav form´ aln´ı a aplikovan´e lingvistiky Vedouc´ı diplomov´ e pr´ ace: RNDr. Vladislav Kuboˇ n, Ph.D. E-mail vedouc´ıho:
[email protected] Abstrakt: V pr´aci studujeme moˇznosti automatizovan´eho z´ısk´av´an´ı lexik´alnˇe-syntaktick´ych u ´daj˚ u z korpus˚ u, konkr´etnˇe se zamˇeˇrujeme na extrakci slovesn´ ych r´ amc˚ u. Upozornili ˇ jsme, ˇze pro tento u ´ˇcel korpusy PDT ani CNK sv´ ym rozsahem plnˇe nepostaˇcuj´ı. Implementovali jsme jednoduch´ y n´ astroj pro selektivn´ı rozˇsiˇrov´ an´ı korpus˚ u na z´ akladˇe text˚ u z Internetu. Vyhodnotili jsme tˇri dostupn´e syntaktick´e analyz´ atory ˇceˇstiny z ˇcasto opom´ıjen´ ych, a pˇresto v´ yznamn´ ych hledisek. Implementovali jsme vlastn´ı syst´em filtrace vstupn´ıch vˇet, kter´ y identifikuje “velmi jednoduch´e vˇety”. Na tˇechto vˇet´ ach parsery dosahuj´ı vyˇsˇs´ı u ´spˇeˇsnosti. Vytvoˇren´ y syst´em AX pro filtraci vˇet je obecn´ y, filtry lze zamˇeˇrit na zisk pˇr´ıklad˚ u pro extrakci libovoln´ ych typ˚ u u ´daj˚ u z korpusu. Syst´em lze pouˇz´ıt mj. k ˇca ´steˇcn´e ˇci u ´pln´e syntaktick´e anal´ yze vˇet a v pr´ aci je pˇredstaven formou uˇzivatelsk´e pˇr´ıruˇcky. D´ ale studujeme moˇznosti zpracov´ an´ı pozorovan´ ych r´ amc˚ u na r´ amce povrchov´e a valenˇcn´ı. Implementujeme ˇrazen´ı pozorovan´ ych r´ amc˚ u do hierarchie, kter´ a je vhodn´ ym podkladem pro anot´ atora. Z´ avˇerem upozorˇ nujeme na probl´emy plnˇe automatick´eho zpracov´ an´ı pozorovan´ ych ˇci povrchov´ ych r´ amc˚ u na r´ amce valenˇcn´ı. Kl´ıˇ cov´ a slova: korpus, extrakce, povrchov´e r´ amce, valenˇcn´ı r´ amce Title: Automatic Extraction of Lexico-Syntactic Information from Corpora Author: Ondˇrej Bojar Department: Institute of Formal and Applied Linguistics Supervisor: RNDr. Vladislav Kuboˇ n, Ph.D. Supervisor’s email address:
[email protected] Abstract: The presented work investigates methods for semi-automatic extraction of lexico-syntactic information from corpora, particularly the information on subcategorization and valency frames. We document that at present time, PDT and CNC corpora are not sufficient for this task. We describe a simple method for a selective extension of corpora based on texts from Internet. We evaluate three parsers available for Czech with respect to the task of extracting verb frames. We have implemented a linguistically motivated filtration of input sentences to identify “very simple sentences”, which helps the parsers to achieve better accuracy. The system AX designed in this work is more generic, any kind of linguistic filtration can be employed. The system is also suitable for creating partial or full parsers of natural languages. The thesis also presents a user’s guide to the system AX. Furthermore, we compare methods for extraction of subcategorization frames from observed frames. We classify observed frames into a hierarchy suitable for human anotators. Finally, several problems of automatic extraction of valency frames are discussed.
8
Kapitola 1
´ Uvod 1.1
Motivace
Lingvistika jako vˇeda studuj´ıc´ı pˇrirozen´ y jazyk v souˇcasn´e dobˇe proch´ az´ı v´ yznamn´ ym obdob´ım. V minulosti teoretick´ a lingvistika vybudovala komplexn´ı teorie a formalismy pro popis pˇrirozen´eho jazyka. V relativnˇe ned´ avn´e dobˇe se zaˇcala t´eˇz v´ yznamnˇe rozv´ıjet specifick´ a oblast lingvistiky – lingvistika korpusov´ a. Ta d´ıky technick´ ym moˇznostem dneˇsn´ıch poˇc´ıtaˇc˚ u shromaˇzd’uje rozs´ ahl´e zdroje text˚ u pˇrirozen´eho jazyka a snaˇz´ı se pravidelnost v jazyce odhalit pˇr´ımo z tˇechto dat. Konfrontace teorie a empirick´ ych pozorov´ an´ı prosp´ıv´ a obˇema proud˚ um lingvistiky. Praktick´e aplikace lingvistiky jako celku zajiˇst’uje obor zpracov´ an´ı pˇrirozen´eho jazyka (natural language processing, NLP). Specifick´ ym c´ılem NLP je budovat automatick´e syst´emy manipuluj´ıc´ı s texty (a dalˇs´ımi projevy) pˇrirozen´eho jazyka, at’ jiˇz se jedn´ a o syst´emy automatick´eho pˇrekladu, zodpov´ıd´ an´ı ot´ azek, automatick´e souhrny textu ap. Pˇritom cel´ a ˇrada z tˇechto aplikac´ı se v souˇcasn´e dobˇe st´ av´ a pˇredevˇs´ım d´ıky rozkvˇetu celosvˇetov´e poˇc´ıtaˇcov´e s´ıtˇe, Internetu, velmi atraktivn´ı a ˇza ´danou. Praxe vˇsak uk´ azala, ˇze vˇetˇsiny sv´ ych c´ıl˚ u nem˚ uˇze NLP dos´ ahnout, nevyuˇzije-li poznatk˚ u lingvistiky. Obor komputaˇcn´ı lingvistiky pak tvoˇr´ı most mezi NLP a teoretickou lingvistikou. Mezi aktu´ aln´ı rozpracovan´e ot´ azky lingvistiky a aktu´ aln´ı palˇciv´e probl´emy NLP se ˇrad´ı syntax pˇrirozen´eho jazyka. V souˇcasn´e dobˇe je zˇrejm´e, ˇze syntax pˇrirozen´eho jazyka nen´ı moˇzn´e adekv´ atnˇe popsat, nevybudujeme-li rozs´ ahl´e slovn´ıky charakterizuj´ıc´ı lexik´ aln´ı jednotky z hlediska jejich chov´ an´ı v celkov´e skladbˇe vˇety. Podobnˇe jsou pro obor NLP tyto lexik´ alnˇe-syntaktick´e u ´daje velmi v´ yznamnou, ne-li nutnou podm´ınkou u ´spˇechu pˇri snaze o automatickou syntaktickou anal´ yzu vˇet, kter´ a je v´ ychodiskem pro vˇetˇsinu z poˇzadovan´ ych aplikac´ı. Budov´ an´ı rozs´ ahl´ ych a bohat´ ych slovn´ık˚ u je vˇsak n´ aroˇcn´ a a dlouhodob´ a pr´ ace, a je proto ˇza ´douc´ı ˇca ´st u ´lohy zautomatizovat a pˇrenechat v´ ypoˇcetn´ı s´ıle poˇc´ıtaˇc˚ u. Pr´ avˇe korpusy pak pˇredstavuj´ı vhodn´ y zdroj vstupn´ıch dat pro 9
´ KAPITOLA 1. UVOD
10
automatizovan´e metody. C´ılem t´eto pr´ ace je navrhout metodu z´ısk´ av´ an´ı lexik´ alnˇe-syntaktick´ ych u ´daj˚ u z korpusu. Z teoretick´e lingvistiky je pˇritom zn´ amo, ˇze u ´stˇredn´ım organizuj´ıc´ım prvkem ve vˇetˇe je sloveso, a potˇrebu podrobnˇejˇs´ıch u ´daj˚ u o typick´em chov´ an´ı jednotliv´ ych sloves projevuj´ı i syst´emy automatick´e syntaktick´e anal´ yzy. Z tohoto d˚ uvodu se tato pr´ ace konkr´etnˇeji zamˇeˇruje na extrakci u ´daj˚ u charakterizuj´ıc´ıch pr´ avˇe slovesa. Korpusy sest´ avaj´ı z autentick´ ych pˇr´ıklad˚ u jazykov´ ych v´ ypovˇed´ı, a syst´emy automatizovan´e extrakce u ´daj˚ u proto ˇcel´ı dvˇema z´ asadn´ım probl´em˚ um 1 : • Hledan´e obecnˇe syntaktick´e u ´daje jsou v dostupn´ ych korpusech pˇr´ıtomny ve velmi “zˇredˇen´e” podobˇe. Je tˇreba proj´ıt velk´e mnoˇzstv´ı pˇr´ıklad˚ u, aby bylo moˇzn´e usuzovat na obecn´e pravidlo (a spolehliv´eho pˇresvˇedˇcen´ı se nedoˇck´ ame nikdy). • Kaˇzd´ a jednotliv´ a v´ ypovˇed’ zachycen´ a v korpusu v sobˇe nese celou sloˇzitost jazykov´eho syst´emu. Pˇri snaze o odpovˇed’ na jednu konkr´etn´ı ot´ azku se proto pot´ yk´ ame i s dalˇs´ımi sloˇzit´ ymi ot´ azkami, na neˇz dosud odpovˇedi nalezeny nebyly. V naˇs´ı pr´ aci budujeme syst´em automatizovan´e extrakce lexik´ alnˇe-syntaktick´ ych u ´daj˚ u na z´ akladˇe korpusov´ ych dat, s obˇema zm´ınˇen´ ymi probl´emy tedy pˇrich´ az´ıme do pˇr´ım´eho kontaktu. Prvn´ı z probl´em˚ u, dostupnost dostateˇcn´eho mnoˇzstv´ı pˇr´ıklad˚ u v korpusech, nem˚ uˇze pˇr´ımo tato pr´ ace ˇreˇsit. Ve z´ uˇzen´em zad´ an´ı, tj. extrakce informac´ı charakterizuj´ıc´ıch slovesa, vˇsak pr´ ace tento probl´em alespoˇ n podrobnˇe studuje a varuje pˇred n´ım. N´ aznak ˇreˇsen´ı, selektivn´ı rozˇsiˇrov´ an´ı korpus˚ u, je vˇsak pˇresto nast´ınˇen. Druh´ ym z probl´em˚ u, sloˇzitost´ı dostupn´ ych pˇr´ıklad˚ u, se pr´ ace zab´ yv´ a podrobnˇeji a nab´ız´ı vlastn´ı syst´em sofistikovan´e filtrace dostupn´ ych dat tak, aby svou sloˇzitost´ı nebr´ anila v z´ısk´ av´ an´ı hledan´ ych u ´daj˚ u. Pˇri ˇreˇsen´ı probl´em˚ u automatizovan´e extrakce u ´daj˚ u z korpusov´ ych dat pr´ ace d˚ ukladnˇe ˇcerp´ a z poznatk˚ u teoretick´e lingvistiky a z´ amˇernˇe tyto poznatky stav´ı do kontrastu s konkr´etn´ımi pozorov´ an´ımi. Shrˇ nme tedy z´ uˇzen´ y c´ıl t´eto pr´ ace: C´ılem pr´ ace je navrhnout metodu, pomoc´ı n´ıˇz bude moˇzn´e ˇca ´steˇcnˇe automaticky z´ısk´ avat lexik´ alnˇe-syntaktick´e u ´daje o slovesech na z´ akladˇe dostupn´ ych korpusov´ ych dat. Metoda budovan´ a v t´eto pr´ aci vˇsak poˇc´ıt´ a s t´ım, ˇze ot´ azka syntaxe pˇrirozen´eho jazyka chov´ an´ım sloves nekonˇc´ı. Syst´em pˇripraven´ y v r´ amci t´eto pr´ ace je proto navrˇzen obecnˇeji, tak, aby jej bylo moˇzn´e pozdˇeji pouˇz´ıt i pro dalˇs´ı u ´lohy extrakce u ´daj˚ u z velk´eho mnoˇzstv´ı pˇr´ıklad˚ u vˇet. Pr´ ace pˇredpokl´ ad´ a r´ amcovou znalost Funkˇcn´ıho generativn´ıho popisu (FGP, viz Sgall (1967; Sgall, Hajiˇcov´ a, and Panevov´ a (1986)) a rovin jazykov´eho 1 Pomineme-li klasickou ot´ azku reprezentativity komunikaˇcn´ımu syst´emu – jako celku.
korpusu
vzhledem
k
jazyku
–
´ KAPITOLA 1. UVOD
11
popisu, jak je FGP definuje. Pˇredstavu o rovin´ ach jazykov´eho popisu a z´ avislostn´ı syntaxi m˚ uˇze rovnˇeˇz dobˇre poskytnout Mel’ˇcuk (1988).
1.2
Obsah pr´ ace
´ Uvodn´ ı kapitola charakterizuje souˇcasn´ y stav znalost´ı potˇrebn´ ych pro automatickou anal´ yzu pˇrirozen´eho textu a podrobnˇe popisuje zamˇeˇren´ı t´eto pr´ ace: z´ısk´ av´ an´ı typick´ ych doplnˇen´ı ˇcesk´ ych sloves. Kapitola 3 na stranˇe 22 pˇredstavuje lingvistick´e tˇeˇziˇstˇe t´eto pr´ ace. Kapitola je konkr´etn´ım pˇr´ıspˇevkem k automatizovan´e extrakci slovesn´ ych r´ amc˚ u, obecn´ y postup u ´vah v kapitole je vˇsak vhodn´e pouˇz´ıt i pˇri hled´ an´ı odpovˇed´ı na jin´e specifick´e ot´ azky syntaxe pˇrirozen´ ych jazyk˚ u. Kapitola nejprve srovn´ av´ a dostupn´e zdroje dat, jeˇz lze pro extrakci syntaktick´ ych informac´ı o slovese pouˇz´ıt. V dalˇs´ı ˇca ´sti popisuje lingvisticky motivovan´e filtrace vstupn´ıch dat. Na filtrovan´ ych vˇet´ ach pak algoritmy extrakce budou prob´ıhat u ´spˇeˇsnˇeji. Souˇca ´st´ı kapitoly je srovn´ an´ı v´ ysledk˚ u, kter´e je moˇzn´e pro u ´ˇcel extrakce typick´ ych doplnˇen´ı slovesa z´ıskat za pouˇzit´ı existuj´ıc´ıch syntaktick´ ych analyz´ ator˚ u ˇceˇstiny. Z´ avˇerem kapitoly studujeme moˇznosti zpracov´ an´ı pozorovan´ ych doplnˇen´ı slovesa tak, abychom z´ıskali povrchov´e r´ amce sloves. V kapitole 4 na str. 46 konfrontujeme souˇcasn´e teoretick´e c´ıle s realitou pozorov´ an´ı anotovan´ ych dat a studujeme obt´ıˇznost vytˇcen´ ych c´ıl˚ u teoretick´e lingvistiky. Podstatn´ a ˇca ´st t´eto pr´ ace (kap. 5 na stranˇe 53) je vˇenov´ ana popisu formalismu a syst´emu automatizovan´e extrakce, kter´ y byl pro u ´ˇcely pr´ ace vytvoˇren, ale sv´ ym zamˇeˇren´ım pˇresahuje r´ amec u ´zk´eho c´ıle extrakce slovesn´ ych r´ amc˚ u. Syst´em AX byl v t´eto pr´ aci pouˇzit pro filtraci vstupn´ıch dat. D´ıky obecnosti n´ avrhu syst´emu je vˇsak moˇzn´e v tomto syst´emu implementovat obdobn´e filtrace veden´e s jin´ ym c´ılem, nebo i samotnou extrakci konkr´etn´ıch u ´daj˚ u. Syst´em AX je rovnˇeˇz vhodn´ y pro budov´ an´ı ˇca ´steˇcn´ ych syntaktick´ ych analyz´ ator˚ u ˇr´ızen´ ych pˇresn´ ymi pravidly, napˇr. jako preprocessing pˇred nasazen´ım jin´ ych technik syntaktick´e anal´ yzy. Syst´em AX je proto pˇredstaven formou uˇzivatelsk´e pˇr´ıruˇcky, tak, aby jeho moˇznosti byly dostupn´e kaˇzd´emu z´ ajemci o extrakci konkr´etn´ıch lexik´ alnˇe-syntaktick´ ych u ´daj˚ u. Pˇr´ıklad konkr´etn´ıch pravidel pro filtraci vˇet pro u ´ˇcely t´eto pr´ ace je pak k dispozici v pˇr´ıloze A na str. 84. Vedlejˇs´ım produktem t´eto pr´ ace je cel´ a ˇrada nepublikovan´ ych n´ astroj˚ u pro pr´ aci s tabulkami ap. Jeden z pomocn´ ych n´ astroj˚ u, program na proch´ azen´ı strukturovan´ ych u ´daj˚ u, vˇsak pro jeho zaj´ımavost pˇredstavujeme v pˇr´ıloze C na stranˇe 100.
´ KAPITOLA 1. UVOD
1.3
12
Souˇ casn´ y stav znalost´ı
R´ amec FGP, viz Sgall (1967), uˇz´ıvan´ y pro form´ aln´ı popis pˇrirozen´eho jazyka dobˇre strukturuje informace obsaˇzen´e ve vˇet´ ach pˇrirozen´eho jazyka. FGP definuje nˇekolik rovin popisu: rovinu morfologickou, rovinu povrchov´e syntaxe (v konkr´etn´ı variantˇe oznaˇcovan´e t´eˇz jako rovina analytick´ a) a rovinu hloubkov´e syntaxe (t´eˇz rovina tektogramatick´ a). V souˇcasn´e poˇc´ıtaˇcov´e lingvistice budovan´e v r´ amci FGP je pro ˇceˇstinu rovina morfologick´ a dobˇre zpracov´ ana. Existuje funguj´ıc´ı syst´em pro pˇrevod vˇet pˇrirozen´eho jazyka do zcela formalizovan´eho z´ apisu na morfologick´e rovinˇe (avˇsak s morfologickou v´ıceznaˇcnost´ı) a slovn´ık uˇz´ıvan´ y t´ımto syst´emem pokr´ yv´ a drtivou ˇca ´st souˇcasn´e ˇceˇstiny. Existuje nˇekolik variant statistick´ ych algoritm˚ u (viz napˇr. Hajiˇc and Hladk´ a (1997; Hajiˇc and Hladk´ a (1998a; Hajiˇc and Hladk´ a (1998b; Hajiˇc et al. (2001)), kter´e nejednoznaˇcn´ y morfologick´ y z´ apis zjednoznaˇcn ˇuj´ı (tzv. taggery). Taggery pro ˇceˇstinu, jej´ıˇz morfologick´ y syst´em je velmi bohat´ y (teoreticky 4 000 r˚ uzn´ ych znaˇcek), dosahuj´ı spr´ avn´eho rozhodnut´ı ˇ y n´ pro 90 aˇz 95 % slov. Existuje velmi rozs´ ahl´ y soubor text˚ u (Cesk´ arodn´ı korpus, 2 ˇ CNK ) anotovan´ y na morfologick´e rovinˇe s automaticky zjednoznaˇcnˇen´ ym morfologick´ ym z´ apisem. Rovnˇeˇz je dobˇre pˇripraven formalismus pro z´ apis informac´ı na analytick´e i tektogramatick´e rovinˇe (datov´ y form´ at FS a novˇejˇs´ı CSTS) a existuje soubor text˚ u jednoznaˇcnˇe anotovan´ y na analytick´e rovinˇe (Praˇzsk´ y z´ avislostn´ı korpus, Prague Dependency Treebank, PDT3 ). Soubˇeˇznˇe je budov´ ano nˇekolik rozd´ıln´ ych syst´em˚ u automatick´eho zpracov´ an´ı vˇet pˇrirozen´eho jazyka do analytick´e4 ˇci rovnou do tektogramatick´e roviny5. Vˇsechny tyto syst´emy, i kdyˇz tˇreba zpracov´ avaj´ı jen do niˇzˇs´ı, tj. analytick´e, roviny, vˇsak ˇcel´ı ˇradˇe sloˇzit´ ych probl´em˚ u. Nejvˇetˇs´ım z tˇechto probl´em˚ u se v souˇcasn´e dobˇe jev´ı nedostateˇcnost st´ avaj´ıc´ıch slovn´ık˚ u, kter´e by syntaktick´ ym analyz´ ator˚ u d´ avaly radu, jak z dan´ ych slov budovat syntaktickou stromovou strukturu. Podle teorie FGP jsou pro syntaktickou anal´ yzu vˇety kl´ıˇcov´e tzv. valenˇcn´ı r´ amce sloves i dalˇs´ıch slovn´ıch druh˚ u. Valenˇcn´ı r´ amec je pro dan´e sloveso slovn´ıkovou informac´ı a charakterizuje, jak´e vˇetn´e ˇcleny sloveso vyˇzaduje jako sv´ a doplnˇen´ı a jak´e vˇetn´e ˇcleny mohou sloveso rovnˇeˇz rozv´ıjet. Teorie FGP, jak podrobnˇe rozpracov´ av´ a Panevov´ a (1980), pˇresnˇe rozliˇsuje pˇredevˇs´ım doplnˇen´ı voln´ a (napˇr. ˇcasov´ a ˇci m´ıstn´ı urˇcen´ı, kter´ a mohou rozv´ıjet prakticky libovoln´e sloveso, a to i v r´ amci jedn´e vˇety opakovanˇe) od aktant˚ u (napˇr. konatel ACT, pacient PAT ad., jejichˇz sestava je pro jednotliv´ a slovesa typick´ a a kter´e se nemohou u konkr´en´ıho v´ yskytu slovesa opakovat). Do valenˇcn´ıch r´ amc˚ u ˇcist´ a teorie FGP pak ˇrad´ı pouze aktanty a ta voln´ a doplnˇen´ı, kter´ a jsou pro dan´e sloveso obligatorn´ı, tj. jejichˇz hodnotu v konkr´etn´ım pˇr´ıpadˇe mus´ı p˚ uvodce vˇety nutnˇe zn´ at, aby mohl dan´e sloveso v˚ ubec pouˇz´ıt6 . 2 http://ucnk.ff.cuni.cz/ 3 http://ufal.mff.cuni.cz/pdt/ 4 Podrobnˇ eji
viz 3.1 na str. 24 a t´eˇz Kuboˇ n (2001). viz Honetschl¨ ager (2002). 6 Podrobnˇ e o tzv. dialogov´ em testu viz Panevov´ a (1980) 5 Pˇ r´ıpravy
´ KAPITOLA 1. UVOD
13
Pojem r´ amce podle teorie FGP se odvol´ av´ a pˇredevˇs´ım na tektogramatickou rovinu z´ apisu vˇety. Z hlediska praktick´eho zpracov´ an´ı vˇet pˇrirozen´eho jazyka je vˇsak nutn´e poznamenat, ˇze i aktanty a obligatorn´ı doplnˇen´ı slovesa na povrchov´e rovinˇe a tedy i na rovinˇe povrchov´e syntaxe velmi ˇcasto chyb´ı. (Mluvˇc´ı i posluchaˇc mohou doplnˇen´ı zn´ at z kontextu vˇety a ve vˇetˇe je pro u ´sporu neuv´ adˇej´ı.) Naproti tomu urˇcit´ a voln´ a doplnˇen´ı, jeˇz podle FGP mohou rozv´ıjet libovoln´e sloveso, jsou pro urˇcit´ a slovesa pomˇernˇe typick´ a, a tato informace by syst´em˚ um automatick´e syntaktick´e anal´ yzy velmi pomohla. Z tˇechto d˚ uvod˚ u je v budovan´ ych valenˇcn´ıch slovn´ıc´ıch7 ˇcasto k r´ amci slovesa pˇripojena t´eˇz informace o dalˇs´ıch druz´ıch doplnˇen´ı mimo aktanty (doplnˇen´ı kvazivalenˇcn´ı a typick´ a voln´ a doplnˇen´ı). Jak uvid´ıme v kapitole 2.3 na stranˇe 19, st´ avaj´ıc´ı valenˇcn´ı slovn´ıky zat´ım nejsou bohuˇzel dostateˇcnˇe rozs´ ahl´e na to, aby pokr´ yvaly v´ yznamnou ˇca ´st ˇcesk´ ych sloves nebo dokonce dalˇs´ıch slovn´ıch druh˚ u. V t´eto souvislosti je rovnˇeˇz nutn´e podotknout, ˇze ve valenˇcn´ım r´ amci, tak jak je definov´ an pro tektogramatickou rovinu, jsou doplnˇen´ı slovesa charakterizov´ ana pˇredevˇs´ım svou vˇetnˇe ˇclenskou funkc´ı. Pˇritom funkce vˇetn´eho ˇclenu ve vˇetˇe nen´ı z povrchov´eho syntaktick´eho rozboru vˇety v˚ ubec zˇrejm´ a, jak rozpracov´ av´ a i sama teorie a jak uvid´ıme t´eˇz v kapitole 4.2 na str. 48. Valenˇcn´ı slovn´ıky budovan´e pro automatickou syntaktickou anal´ yzu (jiˇz citovan´ y ˇ ˇ Straˇ na ´kov´ a-Lopatkov´ a and Zabokrtsk´ y (2002; Zabokrtsk´ y et al. (2002) a ˇ cek (1997; Hor´ pˇredevˇs´ım brnˇensk´ y BRIEF, Pala and Seveˇ ak (1998)), tedy zahrnuj´ı do popisu r´ amc˚ u nejen vˇetnˇe ˇclenskou funkci doplnˇen´ı slovesa, ale t´eˇz ˇcast´e ˇci povolen´e formy povrchov´e realizace doplnˇen´ı. Brnˇensk´ y BRIEF pak uvaˇzuje pr´ avˇe jen povrchov´e valenˇcn´ı r´ amce.
1.4
Zamˇ eˇ ren´ı t´ eto pr´ ace
C´ılem pr´ ace je navrhnout postup z´ısk´ av´ an´ı lexik´ alnˇe-syntaktick´ ych u ´daj˚ u o ˇcesk´ ych slovesech poloautomatick´ ym zp˚ usobem. Z´ıskan´e informace vystihnou, jak´ a doplnˇen´ı (voln´ a i aktanty) jsou pro dan´e sloveso typick´ a, a budou tak dobrou pomocnou informac´ı pro automatick´e syntaktick´e analyz´ atory. Postup z´ısk´ av´ an´ı lexik´ alnˇe-syntaktick´ ych u ´daj˚ u je navrˇzen tak, aby jej bylo moˇzn´e pouˇz´ıt i na text, kter´ y nen´ı syntakticky analyzov´ an a teoreticky nemus´ı b´ yt ani morfologicky zjednoznaˇcnˇen. Otv´ır´ a se t´ım moˇznost pouˇz´ıt velmi ˇ eho n´ rozs´ ahl´eho Cesk´ arodn´ıho korpusu nebo teoreticky u ´plnˇe libovoln´ ych text˚ u z´ıskan´ ych napˇr. z Internetu. Kapitola 2.3 na stranˇe 19 jasnˇe dokl´ ad´ a, proˇc je pro vytyˇcen´ yu ´kol nezbytn´e vych´ azet z vˇetˇs´ıho mnoˇzstv´ı byt’ m´enˇe anotovan´ ych dat, neˇz v souˇcasn´e dobˇe nab´ız´ı Praˇzsk´ y z´ avislostn´ı korpus. Je tˇreba zd˚ uraznit, ˇze bezprostˇrednˇe “pozorovan´e r´ amce” pro ˇcesk´ a slovesa nen´ı moˇzn´e ani teoreticky povaˇzovat za valenˇcn´ı r´ amce podle teorie FGP. Jak jiˇz bylo naznaˇceno v pˇredeˇsl´e kapitole, v ˇcesk´e vˇetˇe se ani obligatorn´ı doplnˇen´ı nemus´ı vyskytovat a na druhou stranu je u nalezen´eho doplnˇen´ı automaticky velmi obt´ıˇzn´e urˇcit, zda jde o doplnˇen´ı voln´e nebo ne. Navrˇzen´ y postup pˇritom vych´ az´ı v´ yhradnˇe z dat, kter´ a lze v korpusech pozorovat. Kapitola 4 na str. 46 7 Viz Skoumalov´ ˇ ˇ a (2001) a Straˇ na ´kov´ a-Lopatkov´ a and Zabokrtsk´ y (2002; Zabokrtsk´ y et al. (2002).
´ KAPITOLA 1. UVOD
14
sice naznaˇcuje cestu, jak k valeˇcn´ım r´ amc˚ um smˇeˇrovat, pˇresahuje vˇsak dosah moˇznost´ı t´eto pr´ ace. Praktick´ ym d˚ ukazem obt´ıˇznosti tohoto u ´kolu je, ˇze valenˇcn´ı slovn´ık pro ˇceˇstinu dosud neexistuje.
Kapitola 2
Dostupn´ e zdroje dat V pr´ aci usilujeme o zjiˇstˇen´ı typick´ ych doplnˇen´ı sloves na z´ akladˇe pozorovan´ ych ˇcesk´ ych vˇet. V n´ asleduj´ıc´ıch kapitol´ ach srovn´ ame dostupnost a mnoˇzstv´ı ˇ em n´ potˇrebn´ ych u ´daj˚ u v Cesk´ arodn´ım korpusu a v Praˇzsk´em z´ avislostn´ım korpusu. K dispozici je v souˇcasn´e dobˇe korpus˚ u ˇcesk´ ych text˚ u v´ıce 1 , syntaktickou anotaci dat nab´ız´ı vˇsak pouze PDT, a z morfologicky anotovan´ ych korpus˚ u je ˇ CNK nejrozs´ ahlejˇs´ı.
2.1
ˇ Charakter a velikost CNK a PDT
Nejprve struˇcnˇe pˇredstavme oba pouˇzit´e korpusy.
2.1.1
ˇ ˇ Cesk´ y n´ arodn´ı korpus (CNK)
2 ˇ y n´ ˇ Cesk´ arodn´ı korpus (CNK , Kocek, Kopˇrivov´ a, and Kuˇcera (2000)) obsahuje v odd´ıle souˇcasn´e psan´e ˇceˇstiny (SYN2000) celkem 100 000 704 slov v 1 763 818 vˇet´ ach, anotovan´ ych a automaticky zjednoznaˇcnˇen´ ych na morfologick´e u ´rovni.
ˇ Vˇetˇsina text˚ u CNK poch´ az´ı z denn´ıho tisku (Mlad´ a fronta DNES, den´ıky vydavatelstv´ı Lidov´e noviny, Hospod´ aˇrsk´e noviny ad., celkem 60 %). Zb´ yvaj´ıc´ı ˇca ´st tvoˇr´ı odborn´ a literatura (25 %,) a t´eˇz beletrie (15 %). ´ ˇ eho n´ Ustav Cesk´ arodn´ıho korpusu v souˇcasn´e dobˇe kromˇe neust´ al´eho ˇ rozˇsiˇrov´ an´ı CNK pˇripojuje i dalˇs´ı typy korpus˚ u, napˇr. korpus mluven´e ˇreˇci.
2.1.2
Praˇ zsk´ y z´ avislostn´ı korpus (PDT)
Praˇzsk´ y z´ avislostn´ı korpus (Prague Dependency Treebank, PDT 3 , B¨ ohmov´ a ˇ et al. (2001)) se op´ır´ a o texty poch´ azej´ıc´ı z CNK a anotuje je na analytick´e 1 Viz
napˇr. DESAM, Pala, Rychl´ y, and Smrˇz (1997).
2 http://ucnk.ff.cuni.cz/ 3 http://ufal.mff.cuni.cz/pdt/
15
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
16
(viz Hajiˇc and others (1997; Hajiˇc (1998)) a tektogramatick´e rovinˇe popisu (viz Hajiˇcov´ a, Panevov´ a, and Sgall (1999)). Data anotovan´ a na analytick´e rovinˇe v rozsahu 456 705 token˚ u (slova a interpunkce) v 26 610 vˇet´ ach4 byla vyd´ ana v roce 2001 jako PDT verze 1. V souˇcasn´e dobˇe prob´ıh´ a anotace tˇechˇze vˇet aˇz na tektogramatickou rovinu a vyd´ an´ı s oznaˇcen´ım PDT verze 2 je pl´ anov´ ano na rok 2004. V n´ asleduj´ıc´ım textu, nen´ı-li v´ yslovnˇe ˇreˇceno jinak, se tedy odvol´ av´ ame k PDT verze 1, anotovan´em na analytick´e rovinˇe popisu jazyka.
2.1.3
ˇ Typ anotace CNK a PDT ve vztahu k extrakci slovesn´ ych r´ amc˚ u
Pro extrakci povrchov´ ych slovesn´ ych r´ amc˚ u nab´ız´ı PDT ve verzi 1 data anotovan´ a na velmi dobr´e u ´rovni. Ze stromov´ ych struktur povrchov´e syntaxe vˇet staˇc´ı nechat vypsat vˇsechna slovesa a (po drobn´ ych form´ aln´ıch u ´prav´ ach t´ ykaj´ıc´ıch se pˇredevˇs´ım koordinace a d´ ale napˇr. pˇredloˇzek ˇci vedlejˇs´ıch vˇet) vˇsechny syny uzl˚ u sloves. T´ım pˇr´ımo z´ısk´ ame seznam vˇsech doplnˇen´ı slovesa. 5 ˇ Extrakce doplnˇen´ı sloves z CNK, kter´ y je anotov´ an pouze morfologicky, je jiˇz lingvisticky i algoritmicky obt´ıˇznˇejˇs´ı z´ aleˇzitost a podrobnˇe se j´ı vˇenuje kapitola 3 na str. 22. Krok od r´ amc˚ u povrchov´ ych k r´ amc˚ u valenˇcn´ım je pˇri souˇcasn´ ych lingvistick´ ych znalostech zat´ım automatick´ ym zp˚ usobem t´emˇeˇr nerealizovateln´ y a pˇresahuje r´ amec t´eto pr´ ace. Pˇresto kapitola 4 na stranˇe 46 rozv´ ad´ı alespoˇ n ot´ azky, kter´e je tˇreba pro tento u ´kol ˇreˇsit.
2.2
ˇ Slovesa v CNK a v PDT
Naˇse pr´ ace se zamˇeˇruje na urˇcen´ı typick´ ych doplnˇen´ı slovesa na z´ akladˇe velk´ ych korpusov´ ych dat. Neˇz samotnou pr´ aci extrakce zah´ aj´ıme, je tˇreba si uvˇedomit, zda je pro dan´ y konkr´etn´ı u ´kol k dispozici dostatek korpusov´ ych dat. Pod´ıvejme se proto podrobnˇeji na mnoˇzstv´ı v´ yskyt˚ u jednotliv´ ych ˇcesk´ ych sloves, kter´ a lze ˇ v CNK a v PDT naj´ıt. Pro pˇresnost je tˇreba uv´est, ˇze za jedno sloveso pokl´ ad´ ame jedno lemma, u nˇehoˇz morfologick´ a anal´ yza oznaˇcila slovn´ı druh jako sloveso. Napˇr´ıklad pro sloˇzen´e slovesn´e tvary jsou zde tedy zapoˇc´ıt´ any vˇsechny sloˇzky zvl´ aˇst’. Naopak nejsou naprosto odliˇsena slovesa zvratn´ a od sv´ ych nezvratn´ ych protˇejˇsk˚ u, jak by bylo ˇza ´douc´ı z lexikografick´eho hlediska. Graf 2.1 na n´ asleduj´ıc´ı stranˇe srovn´ av´ a poˇcty v´ yskyt˚ u sloves jednotliv´ ych sloves v obou korpusech. ˇ V CNK je evidov´ ano celkem 22 276 sloves, v PDT celkem 2 817. Odhadnout 4 Korpus je u ´ˇcelnˇe rozdˇelen na data urˇcen´ a k ladˇen´ı a tr´enov´ an´ı a na dvˇe oddˇelen´e sady vˇet urˇcen´ ych v´ yhradnˇe k z´ avˇereˇcn´emu testov´ an´ı (evaluaci) algoritm˚ u. 5 Viz vˇ sak sekci 3.4 na stranˇe 37 pro pˇrehled probl´em˚ u extrakce povrchov´ ych slovesn´ ych r´ amc˚ u z pozorovan´ ych doplnˇen´ı slovesa.
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
17
1e+08 ˇ CNK PDT
1e+07
Poˇcet v´ yskyt˚ u
1e+06 100000 10000 1000 100 10 1 0
5000
10000
15000
20000
25000
Jednotliv´ a slovesa ˇ Obr´ azek 2.1: Graf srovn´ avaj´ıc´ı poˇcet v´ yskyt˚ u sloves v CNK a PDT celkov´ y poˇcet sloves v ˇceˇstinˇe je velmi obt´ıˇzn´e, pravdˇepodobnˇe by se jejich poˇcet mohl pohybovat okolo 40 tis´ıc. V grafu stoj´ı za povˇsimnut´ı v´yraznˇe neuniformn´ı rozdˇelen´ı sloves podle ˇ v´ yskyt˚ u. Kˇrivka v´ yskyt˚ u sloves v CNK i ob´ alka kˇrivky v´ yskyt˚ u sloves v PDT se velmi rychle pˇribliˇzuj´ı n´ızk´ ym hodnot´ am, a to i pˇres logaritmickou ˇsk´ alu pouˇzitou na ose y. Ukazuje se, ˇze podobn´ y charakter rozloˇzen´ı je moˇzn´e spatˇrit prakticky i u vˇsech jazykov´ ych jev˚ u. Jako jin´ y pohled na tyt´eˇz informace mohou poslouˇzit dvˇe n´ asleduj´ıc´ı tabulky. Obˇe tabulky zaˇrazuj´ı ˇcesk´ a slovesa do skupin tak, aby souhrnn´ y poˇcet v´ yskyt˚ u sloves byl pro vˇsechny skupinky pˇribliˇznˇe stejn´ y. Tabulka 2.1 se vˇenuje vˇsem ˇ sloves˚ um evidovan´ ym v CNK, tabulka 2.2 na n´ asleduj´ıc´ı stranˇe je pak jen jemnˇejˇs´ım pohledem na posledn´ı skupinu sloves. Skupina 1 2 3 4 5 6 7 8 9 10
Sloves 1 1 2 21 53 99 164 317 818 20 800
ˇ V´ yskyty v CNK PDT (min, ∅, max) Sloves V´ yskyt˚ u 11 253 207 1 (100,0 %) 1 737 2 175 254 1 (100,0 %) 513 570 234, 851 099,5, 1 131 965 2 (100,0 %) 116, 159,5, 203 140 362, 243 575,3, 522 307 17 (81,0 %) 21, 106,3, 524 68 535, 92 773,1, 126 411 51 (96,2 %) 2, 45,2, 133 40 248, 50 606,4, 68 004 94 (94,9 %) 1, 31,8, 99 23 011, 30 707,7, 40 210 157 (95,7 %) 1, 18,7, 79 10 970, 15 861,7, 22 982 304 (95,9 %) 1, 10,5, 83 3 551, 6 137,0, 10 966 669 (81,8 %) 1, 4,5, 29 0, 241,7, 3 548 1 521 (7,3 %) 0, 1,8, 79
Pˇ r´ıklady b´ yt m´ıt moci, muset ˇr´ıci, cht´ıt, j´ıt, d´ at, uv´est ˇcekat, z˚ ustat, znamenat pˇredstavit, vˇenovat, vyj´ıt ˇc´ıst, pˇrich´ azet, konˇcit dokonˇcit, svˇedˇcit, pˇrej´ıt uzn´ avat, reprezentovat ztroskotat, r´ ysovat
ˇ Tabulka 2.1: Slovesa v CNK ve skupin´ ach dle ˇcetnosti. Zastoupen´ı sloves i v PDT.
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
Skupina 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10
Sloves 153 177 211 257 328 426 586 900 1 629 16 133
ˇ V´ yskyty v CNK (min, ∅, max) 3 050, 3 298,9, 3 548 2 628, 2 835,6, 3 048 2 172, 2 385,6, 2 627 1 732, 1 950,0, 2 172 1 367, 1 535,0, 1 732 1 028, 1 177,0, 1 366 712, 858,0, 1 028 440, 558,5, 712 208, 308,5, 440 0, 31,2, 208
PDT Sloves V´ yskyt˚ u 106 (69,3 %) 1, 2,5, 9 105 (59,3 %) 1, 2,6, 9 114 (54,0 %) 1, 2,3, 9 121 (47,1 %) 1, 2,0, 11 160 (48,8 %) 1, 1,9, 10 165 (38,7 %) 1, 1,7, 7 163 (27,8 %) 1, 1,4, 5 180 (20,0 %) 1, 1,7, 79 190 (11,7 %) 1, 1,5, 61 217 (1,3 %) 0, 1,5, 32
18
Pˇ r´ıklady ztroskotat, r´ ysovat, vyˇcistit skl´ızet, nap´ıt, probouzet vyn´ aˇset, usnadˇ novat navr´ atit, ˇskrtnout pop´ıjet, odmlˇcet, zmapovat rozˇc´ılit, tyˇcit, rezervovat nashrom´ aˇzdit, ˇcarovat mrazit, maturovat, pos´ıt poˇspinit, rybaˇrit, vyfouknout ohrnout, korat, vyoperovat
ˇ Tabulka 2.2: Slovesa v CNK s m´enˇe neˇz 3 550 v´ yskyty ve skupin´ ach dle ˇcetnosti. Zastoupen´ı tˇechto sloves i v PDT. Ve druh´em sloupci tabulek uv´ ad´ıme u ´daj o poˇctu sloves, kter´ a se do dan´e skupiny zaˇradila. Nejˇcetnˇejˇs´ı sloveso b´yt tedy s v´ıce neˇz jeden´ acti miliony v´ yskyt˚ u samo tvoˇr´ı prvn´ı skupinu. Naproti tomu ve skupinˇe 10.10, kam se ˇ zaˇradila slovesa s nejv´ yˇse 208 v´ yskyty v CNK (pr˚ umˇernˇe vˇsak jen cca 31 v´ yskyt˚ u), je celkem 16 133 sloves. Ve tˇret´ım sloupci tabulky je uveden minim´ aln´ı a maxim´ aln´ı poˇcet v´ yskyt˚ u jednotliv´ ych sloves dan´e skupiny. Pro orientaci je k dispozici i pr˚ umˇern´ y poˇcet v´ yskyt˚ u sloves v t´eto skupinˇe. Dalˇs´ı sloupce tabulek jsou vˇenov´ any zastoupen´ı sloves jednotliv´ ych skupin v PDT. Ve sloupci PDT-Sloves je uvedeno, kolik sloves dan´e skupiny bylo v PDT alespoˇ n jednou evidov´ ano, a tent´ yˇz u ´daj vyj´ adˇren´ y procentuelnˇe. Jak jiˇz bylo patrn´e z grafu 2.1 na pˇredchoz´ı stranˇe, pomˇern´e zastoupen´ı jednotliv´ ych sloves ˇ je PDT pˇribliˇznˇe stejn´e jako v CNK, PDT je vˇsak nˇekolikan´ asobnˇe menˇs´ı. Dokl´ adaj´ı to i u ´daje o minim´ aln´ım, pr˚ umˇern´em a maxim´ aln´ım poˇctu v´ yskyt˚ u sloves dan´e skupiny v PDT, jak uv´ ad´ıme v pˇredposledn´ım sloupci tabulky. Zu ´daj˚ u je patrn´e, ˇze jiˇz slovesa zaˇclenˇen´ a do skupiny 5 a d´ ale se v PDT vyskytuj´ı pr˚ umˇernˇe m´enˇe neˇz pades´ atkr´ at. Posledn´ı sloupec tabulky pro ilustraci uv´ ad´ı pˇr´ıklady sloves zaˇrazen´ ych do jednotliv´ ych skupinek. Naprost´ a vˇetˇsina pˇr´ıklad˚ u je pro rodil´eho mluvˇc´ıho dobˇre zn´ ama6 a ˇradu sloves ani z katerogie s nejmenˇs´ım poˇctem v´ yskyt˚ u nelze jeˇstˇe oznaˇcit za “periferii” jazyka. Potˇrebu pˇripravit slovn´ık slovesn´ ych r´ amc˚ u tak v teoretick´e lingvistice i v NLP nen´ı moˇzn´e omezit jen na slovesa uˇz´ıvan´ a ˇcasto. 6 V´ yjimkou je sloveso korat. Jde o chybu v morfologick´em znaˇckov´ an´ı, ovˇsem proti oˇcek´ av´ an´ım nejde o v´ yskyty tohoto slovesa ve tvaru kor´ an, ale zvl´ aˇstn´ı druh koˇcek, korat˚ u.
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
2.3
19
Poskytuj´ı korpusy dostatek dat?
Nahl´edneme-li podrobnˇeji do aktu´ aln´ı verze valenˇcn´ıho slovn´ıku ˇceˇstiny 7, kter´ a je pouˇz´ıv´ ana pro anotaci tektogramatick´e roviny PDT, zjist´ıme tyto u ´daje 8 : • Slovn´ık eviduje cca 4 000 sloves (tj. cca desetinu odhadovan´eho celkov´eho poˇctu). • Slovn´ık potvrzuje oˇcek´ av´ an´ı, ˇcast´ a slovesa maj´ı v´ıce valenˇcn´ıch r´ amc˚ u neˇz slovesa m´enˇe ˇcast´ a. • Sloveso m´ıt je evidov´ ano s rekordn´ım poˇctem 51 slovesn´ ych r´ amc˚ u. • Slovn´ık eviduje cca 35 sloves s v´ıce neˇz 10 r´ amci. • Tˇri r´ amce jsou evidov´ any pro cca 250 sloves, dva r´ amce pro 709 sloves 9. • Pˇribliˇznˇe 2 300 sloves je zat´ım uvedeno s jedin´ ym valenˇcn´ım r´ amcem, a nebylo jeˇstˇe dostateˇcnˇe zpracov´ ano. K pohodln´emu z´ısk´ an´ı uveden´ ych statistick´ ych u ´daj˚ u pˇr´ımo ze zdrojov´eho ´ souboru slovn´ıku byl pouˇzit program xsh, XML shell, Petra Pajase. Uvod do ˇ xsh je k dispozici v Zabokrtsk´ y et al. (2002), podrobn´ a dokumentace je na Internetu10 . Jakkoli je obt´ıˇzn´e hovoˇrit o “pr˚ umˇern´em poˇctu r´ amc˚ u” ˇcesk´eho slovesa (pˇredevˇs´ım k velmi v´ yrazn´ ym rozd´ıl˚ um mezi slovesy ˇcast´ ymi a m´enˇe ˇcast´ ymi), lze oˇcek´ avat, ˇze pro jedno sloveso bude tˇreba evidovat nejm´enˇe dva aˇz ˇctyˇri valenˇcn´ı r´ amce. Pˇritom m´ ame na mysli tektogramatick´e valenˇcn´ı r´ amce, nikoli rozd´ıln´e povrchov´e realizace valenˇcn´ıch r´ amc˚ u; tˇech bude tˇreba ve slovn´ıku ´ pokr´ yt nˇekolikan´ asobnˇe v´ıce. Uvahu prov´ ad´ıme proto, abychom mohli vyj´ adˇrit toto oˇcek´ av´ an´ı: Pro automatizovanou extrakci valenˇcn´ıch r´ amc˚ u ˇcesk´ ych sloves bude tˇreba prostudovat nejm´enˇe 50 v´ yskyt˚ u dan´eho slovesa. Ve svˇetle tohoto oˇcek´ av´ an´ı se ˇ ukazuje, ˇze nejen menˇs´ı PDT, ale ani velmi rozs´ ahl´ y CNK zat´ım neposkytuj´ı dostatek dat pro extrakci valenˇcn´ıch r´ amc˚ u vˇsech sloves. Pokud vyjdeme z naˇseho odhadu, PDT postaˇcuje pro pˇribliˇznˇe dvacet ˇ aˇz tˇricet nejˇcetnˇejˇs´ıch sloves a CNK pro pˇribliˇznˇe 6 000 sloves z 22 000 ˇ evidovan´ ych. Naproti tomu polovina registrovan´ ych sloves nen´ı ani v CNK zastoupena v dostateˇcn´em poˇctu. Pro tento zjednoduˇsen´ y pohled jsme nav´ıc ˇ pˇredpokl´ adali, ˇze vˇsechy v´ yskyty sloves v CNK je moˇzn´e k automatizovan´e extrakci pouˇz´ıt. Kapitola 3.2 na str. 28 pˇritom jasnˇe dokl´ ad´ a, ˇze schopnosti dneˇsn´ıch syntaktick´ ych analyz´ ator˚ u postaˇcuj´ı sp´ıˇse jen na velmi jednoduch´e vˇety a tˇech je v korpusu ˇra ´dovˇe m´enˇe. 7 Viz Straˇ ˇ ˇ na ´kov´ a-Lopatkov´ a and Zabokrtsk´ y (2002; Zabokrtsk´ y et al. (2002), verze z listopadu 2002. 8 Pro u ´ˇcely srovn´ an´ı s v´ yskyty sloves korpusech byly ve statistice valenˇcn´ıho slovn´ıku z´ amˇernˇe slouˇceny u ´daje pro zvratn´ a slovesa i jejich nezvratn´e protˇejˇsky. Valenˇcn´ı slovn´ık jinak tyto varianty odliˇsuje. 9 Je vˇ sak obt´ıˇzn´e vyslovit se o definitivnosti z´ aznam˚ u pro tato slovesa. 10 http://xsh.sourceforge.net/
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
20
Vˇety z PDT lze pro extrakci povrchov´ ych r´ amc˚ u naopak pouˇz´ıt jistˇe vˇsechny, d´ıky povrchov´e syntaktick´e anotaci jsou doplnˇen´ı slovesa zcela jasnˇe v korpusu uvedena. Sloves dostateˇcnˇe pokryt´ ych v PDT je vˇsak zat´ım bohuˇzel velmi m´ alo, a jak ukazuj´ı kapitoly 3.4 na stranˇe 37 a 4 na str. 46, cesta od doplnˇen´ı sloves k povrchov´ ym ˇci dokonce valenˇcn´ım r´ amc˚ um je st´ ale jeˇstˇe velmi sv´ızeln´ a.
2.4
Slovesa z Internetu
Vzhledem k z´ avˇer˚ um z pˇredeˇsl´e kapitoly je zˇrejm´e, ˇze pro u ´ˇcely extrakce ˇ r´ amc˚ u sloves bude tˇreba i CNK selektivnˇe rozˇsiˇrovat. Navrhli a implementovali jsme proto jednoduch´ y syst´em pro z´ısk´ av´ an´ı dalˇs´ıch pˇr´ıklad˚ u pouˇzit´ı sloves z nejbohatˇs´ıho elektronick´eho zdroje dat, cel´eho Internetu. Syst´em pro dan´e lemma slovesa nejprve vytvoˇr´ı vˇsechny morfologicky pˇr´ıpustn´e formy slovesa a tyto formy postupnˇe nech´ a hledat nˇekter´ ym z internetov´ ych vyhled´ avaˇc˚ u11. Syst´em pak projde vˇsechny doporuˇcen´e odkazy a pˇr´ısluˇsn´e str´ anky st´ ahne. Z´ıskan´e texty jsou (nejde-li jiˇz o prost´ y text) oˇciˇstˇeny od znaˇcek jazyka HTML a rozdˇeleny do vˇet12 . Ze z´ıskan´ ych vˇet jsou vybr´ any jen ty, kde se vyskytuje sledovan´e sloveso v libovoln´e z pˇr´ıpustn´ ych forem. Duplicitn´ı vˇety jsou nav´ıc odstranˇeny. Z´ıskan´e vˇety by v dalˇs´ı f´ azi bylo moˇzn´e morfologicky anotovat a pˇr´ıpadnˇe zjednoznaˇcnit nˇekter´ ym z dostupn´ ych tagger˚ u. Syst´em morfologick´e anal´ yzy umoˇzn ˇuje rozebrat i text, kter´ y byl v Internetu nalezen bez diakritick´ ych znam´enek, v´ıceznaˇcnost forem slov t´ım vˇsak pˇrirozenˇe stoup´ a. ˇ Pokusnˇe byl syst´em pouˇzit pro sloveso bacit, kter´e se v CNK vyskytuje v 207 uk´ azk´ ach. Toto sloveso se podle morfologick´eho slovn´ıku dr. Hajiˇce m˚ uˇze vyskytovat ve 106 r˚ uzn´ ych form´ ach (vˇcetnˇe negac´ı, archaism˚ u ap., napˇr. nebac´ımt’), z toho pro 32 forem byl vyhled´ avaˇcem nalezen alespoˇ n jeden odkaz. Celkem vyhled´ avaˇc doporuˇcil 1 854 unik´ atn´ıch URL. (V pˇr´ıpadˇe ˇsesti forem vr´ atil vyhled´ avaˇc vˇzdy pr´ avˇe 300 odkaz˚ u, coˇz bude pravdˇepodobnˇe nˇejak´ y intern´ı limit vyhled´ avaˇce.) Pˇri stahov´ an´ı 1 854 doporuˇcen´ ych URL (proces trval cca hodinu) se 21 str´ anek nepodaˇrilo z´ıskat. V tˇechto textech bylo identifikov´ ano 1574 unik´ atn´ıch vˇet s nˇekterou z forem slovesa bacit. Pˇri ruˇcn´ı kontrole se uk´ azalo, ˇze ˇca ´st vˇet (pˇredevˇs´ım s formami bac a bacil) nen´ı vhodn´ ym pˇr´ıkladem. Filtrac´ı tˇechto vˇet (z vˇet obsahuj´ıc´ıch tvar zaˇc´ınaj´ıc´ı ˇretˇezcem bacil jsme ponechaly jen ty, kde byl tento tvar doprov´ azen vhodn´ ym tvarem slovesa b´yt) jsme z´ıskali cca 490 ˇ nadˇejn´ ych vˇet, tj. zhruba dvojn´ asobek poˇctu v´ yskyt˚ u v CNK. 11 Konkr´ etnˇe
byl pouˇzit ˇcesk´ y vyhled´ avaˇc http://www.jyxo.cz/. tomu byl pˇripraven jednoduch´ y program v jazyce Perl. Program pˇri dˇelen´ı textu na vˇety vyuˇz´ıv´ a seznamu zkratek, kter´ y pro u ´ˇcely t´eto pr´ ace poskytnut spoleˇcnˇe s analogick´ ym n´ astrojem bcpmark dr. Hajiˇcem. 12 K
´ ZDROJE DAT KAPITOLA 2. DOSTUPNE
2.5
21
Shrnut´ı
V t´eto kapitole jsme se zamˇeˇrili na rozbor zdroj˚ u dat vhodn´ ych pro automatizovanou extrakci r´ amc˚ u sloves. Uk´ azali jsme, ˇze PDT je dobr´ ym zdrojem pro pˇribliˇznˇe ˇ 20 nejˇcetnˇejˇs´ıch sloves. CNK bude moˇzn´e pouˇz´ıt pro nejv´ yˇse 6 000 nejˇcetnˇejˇs´ıch ˇ sloves. Pˇritom celkov´ y poˇcet sloves zastoupen´ ych v CNK pˇresahuje 22 000 a v ˇceˇstinˇe bude celkem moˇzn´ a i dvakr´ at v´ıce r˚ uzn´ ych sloves. Kapitola tedy dokl´ ad´ a, ˇze pro u ´ˇcely z´ısk´ an´ı r´ amc˚ u sloves bude nutn´e pouˇz´ıt i dalˇs´ı zdroje dat, a pˇredstavuje jednoduch´ y syst´em z´ısk´ an´ı pˇr´ıklad˚ u pouˇzit´ı sloves z ˇcesk´eho Internetu. Zjiˇstˇen´e v´ ysledky nejsou pro korpusov´e lingvisty pˇrekvapen´ım. K charakteristick´ ym rys˚ um jazykov´ ych jev˚ u patˇr´ı i v´ yraznˇe neuniformn´ı a velmi “hladk´e” rozdˇelen´ı pravdˇepodobnosti v´ yskytu. Bylo by naopak pˇrekvapen´ım naj´ıt v kvantitativn´ım popisu jazykov´eho jevu nˇejak´ y ostr´ y zlom. Pˇri extrakci lexik´ alnˇe-syntaktick´ ych u ´daj˚ u na z´ akladˇe korpusov´ ych dat je tˇreba s t´ımto probl´emem poˇc´ıtat a v kaˇzd´e konkr´etn´ı situaci provˇeˇrit, pro kter´e lexik´ aln´ı jednotky je vstupn´ıch pozorov´ an´ı k dispozici jeˇstˇe dostatek.
Kapitola 3
Extrakce povrchov´ ych r´ amc˚ u slovesa Povrchov´ ym r´ amcem slovesa rozum´ıme seznam typick´ ych forem syn˚ u slovesa v povrchov´em syntaktick´em z´ apisu vˇety. Napˇr´ıklad ve vˇetˇe v pˇr´ıkladu 1 spatˇrujeme n´ aznak toho, ˇze jeden z povrchov´ ych r´ amc˚ u slovesa vyˇzadovat bude dvojˇclenn´ y:
vyˇzaduje . vyˇzaduje probl´em
pˇr´ıstup.
(1) sloˇzitˇejˇs´ı
systematick´ y
Kaˇzd´ y (S/J/1998/150:001-p5s5) Jak vˇsak v´ıme z kapitoly 2.3 na str. 19, syntakticky rozebran´ ych vˇet, jako byl pˇredchoz´ı pˇr´ıklad, zat´ım vˇsak v souˇcasn´e dobˇe bohuˇzel nen´ı dostatek. Nav´ıc je vˇetˇsina vˇet dostupn´ ych v korpusech v´ yraznˇe komplikovanˇejˇs´ıch. V obr´ azku 3.1 ˇ na n´ asleduj´ıc´ı stranˇe uv´ ad´ıme pro srovn´ an´ı nˇekolik pˇr´ıklad˚ u vˇet z CNK. Z pˇr´ıkladu je rozd´ıl v n´ aroˇcnosti u ´lohy extrahovat slovesn´e r´ amce ze syntakticky rozebran´ ych a nerozebran´ ych vˇet velmi zˇreteln´ y. U autentick´ ych vˇet ˇcel´ıme jednak celkovˇe sloˇzitˇejˇs´ı vˇetn´e stavbˇe, a d´ ale pak ˇcetn´ ym voln´ ym doplnˇen´ım slovesa, tj. zhruba ˇreˇceno takov´ ym doplnˇen´ım sloves, kter´ a nejsou pro sloveso nijak typick´ a, a nen´ı je proto vhodn´e uv´ adˇet ve slovn´ıku. Postup z´ısk´ an´ı povrchov´ ych r´ amc˚ u sloves lze tedy rozdˇelit na dva kroky: identifikace vˇsech doplnˇen´ı slovesa (ˇr´ıkejme t´eˇz pozorovan´ych r´ amc˚ u) a zpracov´ an´ı pozorovan´ ych r´ amc˚ u tak, abychom identifikovali doplnˇen´ı, kter´ a jsou pro sloveso typick´ a. Seznam typick´ ych doplnˇen´ı slovesa naz´ yvejme povrchov´ym r´ amcem. Jak jiˇz bylo uvedeno v´ yˇse, zisk pozorovan´ ych r´ amc˚ u z PDT, kde jsou vˇet´ am jednoznaˇcnˇe pˇriˇrazeny syntaktick´e rozbory, je trivi´ aln´ım u ´kolem (staˇc´ı vypsat syny slovesa), PDT vˇsak sv´ ym rozsahem pro tento u ´ˇcel zdaleka nepostaˇcuje 22
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
23
(S/J/1994/abc94:377-p23s1) Pro osoby, jejichˇz zdravotn´ı stav vyˇzaduje d˚ ukladn´eho chlazen´ı tˇela, tedy pro osoby trp´ıc´ı vysokou horeˇckou nebo kter´e utrpˇely v´ yron nˇekter´eho kloubu, m´ısto dosavadn´ıch ledov´ ych obklad˚ u, kter´e
vyˇzaduj´ı st´ alou
obsluhu, sestrojil doktor M. Dumontpalli´er z Nemocnice de la Piti´e v Paˇr´ıˇzi apar´ at, kter´ y takov´e oˇsetˇren´ı usnadˇ nuje samotn´emu pacientu. (S/J/1994/abc94:388-p9s2) Pˇrestoˇze vyˇzaduje dobr´e znalosti o pˇestov´ an´ı, soustavnou p´eˇci a studen´ y sklen´ık, kr´ asa t´eto rostliny n´ am zv´ yˇsen´e u ´sil´ı urˇcitˇe vynahrad´ı. (S/J/1994/abc94:388-p30s2) V letn´ıch a zimn´ıch mˇes´ıc´ıch vyˇzaduje relativnˇe such´e prostˇred´ı a dobˇre propustnou p˚ udu, ale na jaˇre pˇred dobou kvˇetu a bˇehem n´ı vyˇzaduje velk´e mnoˇzstv´ı sr´ aˇzek, takˇze se doporuˇcuje v jarn´ım obdob´ı tyto kosatce jeˇstˇe dostateˇcnˇe zal´evat. (S/J/1994/abc94:332-p6s5) Vyˇzaduj´ı dennˇe dostatek ˇcist´e pitn´e vody (ve kter´e se ale s oblibou i koupou). (S/J/1994/abc94:176-p13s3) Tato teplota vˇsak vyˇzaduje st´ odolnˇejˇs´ı ˇza ´ruvzdorn´e a pevnˇejˇs´ı materi´ aly, z nich jsou vyrobeny lopatky turbinov´ ych kol. (S/J/1998/150:011-p9s4) Nov´e pˇredpisy vyˇzaduj´ı mj. t´eˇz povinnost urˇcit u kaˇzd´eho kvantitativn´ıho v´ ysledku mˇeˇren´ı jeho nejistotu. (S/J/1994/abc94:010-p7s2) y v´ ybˇeh, a pokud nem´ ame velkou voli´eru, budeme je Bezpodm´ıneˇcnˇe vyˇzaduj´ı voln´ muset pouˇstˇet k probˇehnut´ı v bytˇe.
ˇ Obr´ azek 3.1: Uk´ azka zdrojov´ ych neanotovan´ ych vˇet z CNK pro extrakci slovesn´ ych r´ amc˚ u. V uk´ azce jsou podtrˇzena ta rozvit´ı slovesa, kter´ a by mˇel syst´em extrakce v textu identifikovat jako typick´ a, kurz´ıva oznaˇcuje voln´ a rozvit´ı slovesa. (viz 2.3 na str. 19). Prvn´ı ˇca ´st t´eto kapitoly proto podrobnˇe rozpracov´ av´ a postup, jak extrahovat povrchov´e r´ amce z vˇet, kter´e nejsou syntakticky rozebr´ any, ale jsou anotov´ any pouze na morfologick´e u ´rovni. Pˇri snaze o extrakci syntaktick´e informace z vˇet, pro nˇeˇz tento rozbor nen´ı dostupn´ y, se nab´ız´ı nˇekolik moˇznost´ı; v j´ adru se vˇsak nijak v´ yraznˇe neodliˇsuj´ı, nebot’ hrub´ y odhad syntaktick´e struktury vˇety mus´ıme udˇelat stejnˇe. Nejprostˇs´ı aproximac´ı syntaktick´ ych vazeb slovesa je kolokace: “Vyskytla se v okol´ı pˇeti slov studovan´eho slovesa ˇcasto pˇredloˇzka na n´ asledovan´ a jm´enem ve ˇctvrt´em p´ adˇe?”. Sofistikovanˇejˇs´ı postup pˇredstavuje ˇca ´steˇcn´ a syntaktick´ a anal´ yza vˇety – identifikujeme jmenn´e skupiny, jednotliv´e klauze (tj. jednotliv´e vˇety souvˇet´ı), ˇca ´sti sloves ap., a test kolokace budeme prov´ adˇet na nich. Dospˇejeme tak nepochybnˇe k lepˇs´ım v´ ysledk˚ um. Posledn´ı moˇznost´ı je nechat nˇekter´emu ze st´ avaj´ıc´ıch syntaktick´ ych analyz´ ator˚ u prov´est u ´pln´ y rozbor vstupn´ı vˇety a klasick´ ym zp˚ usobem pak vypsat syny ´ ech totoho postupu z´ sloves. Uspˇ avis´ı pˇredevˇs´ım na kvalitˇe dostupn´ ych parser˚ u s ohledem na sloˇzitost vˇet, kter´e jim pˇredloˇz´ıme. V naˇs´ı pr´ aci jsme zvolili posledn´ı jmenovanou moˇznost a to z nˇekolika d˚ uvod˚ u: pokud by se analyz´ atory uk´ azaly obecnˇe uspokojivˇe kvalitn´ı, bude moˇzn´e jejich v´ ystup pˇr´ımo pouˇz´ıt i k extrakci jin´ ych typ˚ u lexik´ alnˇe-syntaktick´ ych u ´daj˚ u. Druh´ ym d˚ uvodem je fakt, ˇze koneckonc˚ u z´ akladn´ı snahou v t´eto rovinˇe popisu jazyka je vytvoˇrit spolehliv´ y syntaktick´ y analyz´ ator. Z hlediska tohoto
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
24
obecnˇejˇs´ıho pohledu je tedy zaj´ımav´e dostupn´e parsery vyzkouˇset v praxi, navz´ ajem porovnat. V´ yhledovˇe by pak bylo jistˇe zaj´ımav´e odhalit jejich silnˇejˇs´ı i slabˇs´ı str´ anky, tak, aby je bylo moˇzn´e postupnˇe vylepˇsovat. S ohledem na souˇcasn´e poznatky jsme oˇcek´ avali pomˇernˇe n´ızkou u ´spˇeˇsnost parser˚ u na vˇsech vˇet´ ach pˇrirozen´eho jazyka. V t´eto pr´ aci jsme se proto soustˇredili na filtraci vstupn´ıch vˇet tak, abychom parser˚ um ned´ avali pˇr´ıliˇs sloˇzit´ y vstup a aby parsery pracovaly u ´spˇeˇsnˇeji. Lingvistick´e tˇeˇziˇstˇe t´eto pr´ ace tedy pˇredstavuje pr´ avˇe syst´em filtrace dostupn´ ych vˇet. V prvn´ı ˇca ´sti t´eto kapitoly struˇcnˇe pˇredstav´ıme tˇri odliˇsn´e parsery pro ˇceˇstinu a provedeme srovn´ an´ı jejich u ´spˇeˇsnosti z hlediska c´ıle t´eto pr´ ace. Druh´ a ˇca ´st kapitoly, 3.2 na stranˇe 28, podrobnˇe popisuje lingvisticky motivovanou filtraci vstupn´ıch vˇet, tak aby parsery pracovaly u ´spˇeˇsnˇeji. Z´ avˇerem t´eto kapitoly je tedy uˇcinˇen odhad, nakolik jednoduˇsˇs´ı vstupn´ı vˇety souˇcasn´ ym parser˚ um pomohou. Z´ avˇereˇcn´ a ˇca ´st kapitoly, 3.4 na str. 37, se pak vrac´ı k c´ıli t´eto pr´ ace a studuje moˇznosti zpracov´ an´ı z´ıskan´ ych pozorovan´ ych r´ amc˚ u slovesa tak, abychom identifikovali typick´ a doplnˇen´ı slovesa.
3.1
Souˇ casn´ e syntaktick´ e analyz´ atory
Z teoretick´eho hlediska je tˇreba m´ıt na pamˇeti rozd´ıl mezi pojmy syntaktick´y analyz´ ator a parser. Pojem syntaktick´y analyz´ ator typicky oznaˇcuje zaˇr´ızen´ı, kter´e pro vstupn´ı vˇetu pˇrirozen´eho jazyka anotovanou na morfologick´e u ´rovni provede syntaktickou anal´ yzu, tj. pˇriprav´ı seznam vˇsech moˇznost´ı syntaktick´eho rozboru dan´e vˇety. Pojem parser poch´ az´ı p˚ uvodnˇe z teorie form´ aln´ıch gramatik a oznaˇcuje zaˇr´ızen´ı, kter´e pro danou vstupn´ı vˇetu a danou form´ aln´ı gramatiku rozhodne, zda je vˇeta spr´ avnou vˇetou jazyka definovan´eho danou gramatikou. Syntaktick´ y analyz´ ator je v tomto smyslu tak´e parserem: pokud pro danou vˇetu nenajde ˇza ´dnou moˇznost, jak vˇetu syntakticky rozebrat, nen´ı vˇeta korektn´ı vˇetou jazyka, pokud alespoˇ n jednu moˇznost najde, je vˇeta vˇetou jazyka. Situace zpracov´ an´ı text˚ u pˇrirozen´eho jazyka je vˇsak ve srovn´ an´ı s form´ aln´ımi jazyky v´ yznamnˇe sloˇzitˇejˇs´ı. Pro pˇrirozen´e jazyky se dosud nepodaˇrilo vybudovat ˇza ´dnou form´ aln´ı gramatiku, a i pro rodil´e mluvˇc´ı ˇcasto hranice mezi syntakticky spr´ avnou a nespr´ avnou vˇetou jazyka nen´ı ostr´ a. Z tˇechto d˚ uvod˚ u se dosud nepodaˇrilo ˇza ´dn´ y parser v p˚ uvodn´ım slova smyslu vytvoˇrit. Ve snaze zpracovat syntax vˇet pˇrirozen´eho jazyka vˇsak byla jiˇz (pro r˚ uzn´e jazyky) pˇripravena cel´ a ˇrada zaˇr´ızen´ı, kter´ a prov´ adˇej´ı tzv. robustn´ı syntaktickou anal´yzu1 . Robustnost metody spoˇc´ıv´ a v tom, ˇze zaˇr´ızen´ı vytvoˇr´ı syntaktickou strukturu i pro vˇety, kter´e nejsou spr´ avn´ ymi vˇetami jazyka. Term´ın parser vykonal od sv´eho zaveden´ı v teorii form´ aln´ıch jazyk˚ u okruˇzn´ı cestu pˇres NLP zpˇet ke komputaˇcn´ı lingvistice. V souˇcasn´e dobˇe tedy ztratil p˚ uvodn´ı jednoznaˇcn´ y v´ yznam a ˇcasto nyn´ı oznaˇcuje robustn´ı zaˇr´ızen´ı, kter´e pro danou vstupn´ı vˇetu jazyka pˇriprav´ı jednu nejpravdˇepodobnˇejˇs´ı variantu syntaktick´eho rozboru. Takov´e zaˇr´ızen´ı nen´ı tedy v p˚ uvodn´ım smyslu 1 Viz
napˇr. Kuboˇ n (2001).
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
25
ani parserem (je robustn´ı, zpracuje i nespr´ avnou vˇetu), ani (robustn´ım) syntaktick´ym analyz´ atorem (vrac´ı jedin´e ˇreˇsen´ı, nikoli vˇsechny pˇr´ıpustn´e varianty). V t´eto pr´ aci jsme se ze stylistick´ ych d˚ uvod˚ u rozhodli pouˇz´ıvat oba pojmy zamˇenitelnˇe. Toto zkreslen´ı si m˚ uˇzeme dovolit pˇredevˇs´ım d´ıky tomu, ˇze s ohledem na c´ıl pr´ ace nen´ı tento rozd´ıl v´ yznamn´ y. Parsery ˇci syntaktick´e analyz´ atory pˇredstavuj´ı pouze jeden z n´ astroj˚ u pouˇz´ıvan´ ych na cestˇe extrakce lexik´ alnˇe-syntaktick´ ych u ´daj˚ u z korpusov´ ych dat a bez ohledu na uveden´ y rozd´ıl by tomuto u ´ˇcelu poslouˇzily prakticky stejnˇe.
3.1.1
Zeman˚ uv parser
Parser Dana Zemana byl vytvoˇren v r´ amci diplomov´e pr´ ace (Zeman, 1997) v roce 1997. Analyz´ ator zaloˇzen na statistick´ ych metod´ ach op´ıraj´ıc´ıch se o myˇslenku z´ avislostn´ı syntaxe (hled´ a nejpravdˇepodobnˇejˇs´ı zapojen´ı slov do syntaktick´ ych strom˚ u, vych´ az´ı pˇritom pouze ze zjednoduˇsen´ ych morfologick´ ych znaˇcek). Pˇredpokl´ ad´ a, ˇze vstupn´ı data jsou jiˇz morfologicky anotov´ ana a zjednoznaˇcnˇena. Parser vrac´ı (jednu) nejpravdˇepodobnˇejˇs´ı moˇznost syntaktick´e anal´ yzy vˇety. Natr´enov´ an byl na datech PDT. Pozdˇeji byl ryze statistick´emu parseru pˇredˇrazen pravidlov´ y syst´em popisuj´ıc´ı pomoc´ı regul´ arn´ıch v´ yraz˚ u strukturu jmenn´ ych skupin (viz Zeman (2001b; Zeman (2001a)). Gramatick´ a pravidla pro jmenn´e skupiny jsou totiˇz aˇz na ˇr´ıdk´e v´ yjimky pomˇernˇe dobˇre formulovateln´ a, a statistick´e ˇca ´sti se tak snadno zabr´ an´ı dˇelat “hloup´e chyby”. V dalˇs´ım vylepˇsen´ı (viz Zeman (2002)) byl parser obohacen o subkategorizaˇcn´ı r´ amce a rovnˇeˇz byl statistick´ y model natr´enov´ an s tzv. selektivn´ı lexikalizac´ı, tzn. ˇze pro urˇcit´e slovn´ı druhy (pˇredloˇzky ad.) model uvaˇzuje nejen morfologickou znaˇcku, ale i lemma dan´eho slova. D´ıky tˇemto vylepˇsen´ım se pˇresnost parseru podle Zemana (2002) zlepˇsila z 77,0 % na 78,7 % spr´ avnˇe zapojen´ ych uzl˚ u. Pro srovn´ an´ı v t´eto pr´ aci byla pouˇzita aktu´ aln´ı verze, kter´ a nezahrnuje gramatick´ a pravidla ani subkategorizaˇcn´ı r´ amce, ale pouˇz´ıv´ a selektivn´ı lexikalizaci. Parser je implementov´ an v jazyce Perl.
3.1.2
Collins˚ uv parser
Parser Michaela Collinse (1996) je statistick´ y parser p˚ uvodnˇe urˇcen´ y pro angliˇctinu. Z toho d˚ uvodu se parser snaˇz´ı vybudovat pro vstupn´ı vˇetu bezprostˇrednˇe sloˇzkov´ y strom. Statistick´ y model parseru vˇsak internˇe pracuje s pojmem z´ avislosti mezi dvojicemi slov ve vˇetˇe. Krit´erium pravdˇepodobnosti samotn´e z´ avislosti je vˇsak vhodnˇe doplnˇeno krit´eriem vzd´ alenosti mezi slovy, v´ yskytem speci´ aln´ıch symbol˚ u mezi slovy (interpunkce) ad. D´ıky tomu, ˇze je model z lingvistik´eho hlediska dosti adekv´ atn´ı, dosahuje parser pro angliˇctinu vynikaj´ıc´ıch v´ ysledk˚ u.2 2 Collins (1996) uv´ ad´ı pro vˇety do 40 slov pokryt´ı (recall) 85,8 % spr´ avnˇe vytvoˇren´ ych sloˇzek a pˇresnost (precission) 86,3 %, tj. pomˇer sloˇzek, kter´e parser vytvoˇril spr´ avnˇe, k celkov´emu poˇctu vytvoˇren´ ych sloˇzek. V Collins (1997) je model parseru obohacen o subkategorizaci a
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
26
Parser oˇcek´ av´ a na vstupu vˇety jednoznaˇcnˇe anotovan´e na morfologick´e rovinˇe popisu. Parser vrac´ı (jeden) nejpravdˇepodobnˇejˇs´ı syntaktick´ y rozbor vˇety. Pro ˇceˇstinu byl parser pˇrizp˚ usoben v roce 1999, viz Collins et al. (1999). ´ Uprava spoˇc´ıvala jednak v modifikaci vstupn´ıch morfologick´ ych znaˇcek, a pˇredevˇs´ım pak v pˇrekladu sloˇzkov´ ych strom˚ u vˇety na stromy z´ avislostn´ı (pro tr´enov´ an´ı i v z´ avˇeru parsingu). Pro ˇceˇstinu uv´ ad´ı Collins et al. (1999) u ´spˇeˇsnost pr˚ umˇernˇe 80,0 % spr´ avnˇe zapojen´ ych a srovn´ av´ a tento v´ ysledek s posledn´ı verz´ı parseru pro angliˇctinu, kter´ a dosahuje 91 % spr´ avnˇe identifikovan´ ych hlav sloˇzek, tj. de facto spr´ avnˇe zapojen´ ych uzl˚ u v z´ avislostn´ım z´ apisu vˇety. Struˇcn´ y n´ avod k pouˇzit´ı a popis aktu´ aln´ı pr´ ace je k dispozici na Internetu 3 . Je vˇsak tˇreba poznamenat, ˇze tento dosud nejlepˇs´ı dostupn´ y parser pro ˇceˇstinu je v souˇcasn´e dobˇe z ˇcistˇe technick´ ych d˚ uvod˚ u obt´ıˇzn´e plnˇe zprovoznit a v nˇekter´ ych pˇr´ıpadech se nepodaˇr´ı vstup analyzovat v˚ ubec. Z tohoto d˚ uvodu v uveden´ ych srovn´ an´ıch parser˚ u vˇzdy uv´ ad´ıme pˇresn´ y poˇcet vˇet, kter´e se jednotliv´ ym syst´em˚ um podaˇrilo zpracovat.
3.1.3
ˇ Parser Zdeˇ nka Zabokrtsk´ eho
ˇ Syntaktick´ y analyz´ ator Zdeˇ nka Zabokrtsk´ eho byl vytvoˇren v pr˚ ubˇehu tˇr´ı t´ ydn˚ u v jazyce Perl a dosud nebyl publikov´ an. Analyz´ ator je ryze pravidlov´ y a souˇcasn´ a gramatika obsahuje cca ˇsedes´ at ruˇcnˇe vytvoˇren´ ych pravidel. Pravidla urˇcuj´ı, jak m´ a b´ yt kter´e dosud nepouˇzit´e vstupn´ı slovo pˇrivˇeˇseno do st´ avaj´ıc´ıch podstrom˚ u. Aplikace pravidel je zcela deterministick´ a a jejich poˇrad´ı je pevnˇe d´ ano. Po aplikaci pravidla se parser jiˇz nikdy nevrac´ı zpˇet (ˇza ´dn´ y backtracking), i kdyˇz gramatika m˚ uˇze obsahovat a obsahuje i opravn´ a pravidla, kter´ a pˇremist’uj´ı ve stromov´e struktuˇre i uzly zavˇeˇsen´e dˇr´ıve. Parser pˇredpokl´ ad´ a, ˇze vstupn´ı vˇeta je morfologicky zjednoznaˇcnˇena.
3.1.4
Srovn´ an´ı u ´spˇ eˇ snosti parser˚ u
Popsan´e syntaktick´e analyz´ atory v t´eto kapitole srovn´ ame podle nˇekolika krit´eri´ı u ´spˇeˇsnosti. Ve vˇsech pˇr´ıpadech byly analyz´ atory spuˇstˇeny na morfologicky jednoznaˇcnˇe anotovan´e vˇety z evaluaˇcn´ı ˇca ´sti PDT. Vzhledem k tomu, ˇze statistick´e parsery vˇzdy pro vstupn´ı vˇetu vracej´ı pr´ avˇe jedno ˇreˇsen´ı, je moˇzn´e jejich u ´spˇeˇsnost mˇeˇrit prost´ ym poˇctem chyb. Stejnˇe je ˇ tomu i pro pravidlov´ y parser Zdeˇ nka Zabokrtsk´ eho, kter´ y obsahuje z´ achytn´ a pravidla a v kaˇzd´em pˇr´ıpadˇe rovnˇeˇz vr´ at´ı pr´ avˇe jeden v´ ystupn´ı strom. ´ eˇ Uspˇ snost podle poˇ ctu uzl˚ u a s ohledem na d´ elku vstupn´ı vˇ ety Nejˇcastˇejˇs´ım krit´eriem pro srovn´ an´ı u ´spˇeˇsnosti parser˚ u do z´ avislostn´ı reprezentace povrchov´e syntaxe vˇety je poˇcet spr´ avnˇe syntakticky zapojen´ ych slov vˇety. tzv. wh-movement a dosahuje pokryt´ı 87,5 % a pˇresnosti 88,1 %. 3 http://ckl.mff.cuni.cz/~honet/collins
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
27
Tabulka 3.1 toto krit´erium uv´ ad´ı jednak souhrnnˇe, a jednak jednotlivˇe pro vˇety do d´elky dvaceti slov. Z hlediska praktick´e pouˇzitelnosti pro dalˇs´ı aplikace (nikoli napˇr. jako pˇredzpracov´ an´ı, kter´e pouze ˇsetˇr´ı pr´ aci anot´ ator˚ um PDT, ale napˇr. pro strojov´ y pˇreklad), je v´ yznamn´e t´eˇz jin´e krit´erium, a sice poˇcet zcela spr´ avnˇe analyzovan´ ych vˇet. Nen´ı pˇrekvapen´ım, ˇze toto krit´erium hodnot´ı vˇsechny analyz´ atory podstatnˇe m´enˇe pˇr´ıznivˇe neˇz procento spr´ avnˇe zapojen´ ych uzl˚ u. Pr˚ umˇern´ a ˇcesk´ a vˇeta (textu z korpusu) m´ a cca 15 slov, t´ım se vysvˇetluje velk´ a pravdˇepodobnost, ˇze ve vˇetˇe analyz´ atory udˇelaj´ı alespoˇ n jednu chybu. Tento u ´daj jiˇz neuv´ ad´ıme jednotlivˇe pro vˇety r˚ uzn´ ych d´elek.
Celkem vˇ et Celkem uzl˚ u ´ Uspˇ eˇ snost podle poˇ ctu uzl˚ u Spr´ avnˇ e analyzovan´ ych vˇ et D´ elka vˇ ety 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Vˇ et 55 199 151 209 274 220 276 248 267 313 282 289 289 297 280 262 273 275 249 231
ˇ Collins Zeman Zabokrtsk´ y 7 316 7 319 7 319 125 937 126 030 126 030 82,5 % 69,2 % 73,8 % 30,9 % 15,0 % 18,4 % ´ eˇ Uspˇ snost podle poˇ ctu uzl˚ u ˇ Collins Zeman Zabokrtsk´ y 100,0 % 100,0 % 100,0 % 99,5 % 95,5 % 94,5 % 92,3 % 83,9 % 84,1 % 93,8 % 83,5 % 84,0 % 89,8 % 68,5 % 79,9 % 88,3 % 82,7 % 79,3 % 87,3 % 78,4 % 80,5 % 87,2 % 81,2 % 82,9 % 88,2 % 78,2 % 82,5 % 87,6 % 78,3 % 81,3 % 87,6 % 76,6 % 80,0 % 86,8 % 75,9 % 79,5 % 86,1 % 75,0 % 79,5 % 85,1 % 73,1 % 77,4 % 85,4 % 72,6 % 78,2 % 85,1 % 69,8 % 75,9 % 83,6 % 71,9 % 76,4 % 84,0 % 70,2 % 76,4 % 85,1 % 69,8 % 75,4 % 84,3 % 69,2 % 73,3 %
´ eˇsnost parser˚ Tabulka 3.1: Uspˇ u podle poˇctu spr´ avnˇe zapojen´ ych uzl˚ u a s ohledem na d´elku vstupn´ı vˇety. Z uveden´ ych mˇeˇren´ı je zˇrejm´e, ˇze parser Michaela Collinse je v souˇcasnosti st´ ale zdaleka nejlepˇs´ım parserem pro ˇceˇstinu. Velmi zaj´ımav´e je vˇsak srovn´ an´ı ˇ parser˚ u Zdeˇ nka Zabokrtsk´ eho a Dana Zemana. Ukazuje se, ˇze oba parsery, aˇc jsou zaloˇzeny na zcela odliˇsn´ ych pˇr´ıstupech, dosahuj´ı velmi podobn´ ych pˇresnost´ı, a rozd´ıl v pˇresnostech je zcela v r´ amci statistick´e chyby. Nen´ı pˇrekvapen´ım, ˇze Collins˚ uv parser dosahuje t´emˇeˇr stoprocentn´ı pˇresnosti
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
28
na vˇet´ ach o dvou slovech. Jako jedin´ y ze srovn´ avan´ ych parser˚ u totiˇz zohledˇ nuje pˇri konstrukci hrany konkr´etn´ı lexik´ aln´ı jednotky vˇzdy, kdyˇz danou dvojici slov mˇel moˇznost zaznamenat v tr´enovac´ıch datech. K odhadu z´ avislosti na z´ akladˇe morfologick´e znaˇcky pˇristupuje jen v pˇr´ıpadˇe nedostatku znalosti o dan´ ych konkr´etn´ıch slovech. Zaj´ımav´e by jistˇe bylo zjistit, ˇc´ım jsou vˇety o pˇeti resp. ˇsesti slovech typicky obt´ıˇznˇejˇs´ı neˇz vˇety o nˇekolik m´ alo slov delˇs´ı, nebot’ tento rozd´ıl se dotkl u ´spˇeˇsnosti vˇsech parser˚ u. (U Collinse k t´eto odchylce doˇslo aˇz pro vˇety o 7 a 8 slovech, vˇety o nˇekolik slov delˇs´ı zpracov´ av´ au ´spˇeˇsnˇeji. Rozd´ıl v u ´spˇeˇsnosti vˇsak jiˇz nen´ı tak v´ yznamn´ y.) Jak ukazujeme v kapitole 3.3 na stranˇe 35, je vˇsak t´eˇz velmi zaj´ımav´e srovn´ an´ı u ´spˇeˇsnosti parser˚ u na vˇet´ ach r˚ uzn´e sloˇzitosti z jazykov´eho hlediska. ´ eˇ Uspˇ snost podle syn˚ u sloves Pro u ´ˇcely naˇs´ı pr´ ace je podstatnˇejˇs´ı jin´e krit´erium neˇz celkov´ y poˇcet spr´ avnˇe zapojen´ ych uzl˚ u, a sice procento spr´ avnˇe identifikovan´ ych pozorovan´ ych r´ amc˚ u slovesa, viz tabulka 3.2 na n´ asleduj´ıc´ı stranˇe. Jako spr´ avnˇe identifikovan´ y je oznaˇcen takov´ y v´ yskyt slovesa, u nˇehoˇz mnoˇzina (bezprostˇredn´ıch) syn˚ u neobsahuje ˇza ´dn´e uzly nav´ıc ani nepostr´ ad´ a ˇza ´dn´e uzly proti spr´ avn´e syntaktick´e anal´ yze vˇety. Celek je pˇrirozenˇe celkov´ y poˇcet v´ yskyt˚ u sloves. Pro v´ ypoˇcet tohoto u ´daje bylo ovˇsem odhl´ednuto od v´ yskyt˚ u slovesa b´ yt. Nejlepˇs´ıho v´ ysledku podle spr´ avnˇe identifikovan´ ych pozorovan´ ych r´ amc˚ u dos´ ahl opˇet Collins. Spr´ avnˇe pˇriprav´ı r´ amec pro v´ıce neˇz polovinu v´ yskyt˚ u sloves, a je tak o 15 aˇz 20 % lepˇs´ı neˇz ostatn´ı parsery. Pro vˇety d´elek do 10 uzl˚ u pak u ´spˇeˇsnost Collinsova parseru v poˇctu spr´ avnˇe pozorovan´ ych r´ amc˚ u pˇresahuje 60 %. Z hlediska extrakce povrchov´ ych slovesn´ ych r´ amc˚ u je zaj´ımav´e t´eˇz krit´erium, kdy parser ˇza ´dn´e syny sloves nepˇrehl´edne. Pokud by n´ asledn´ a f´ aze zpracov´ an´ı pozorovan´ ych r´ amc˚ u na povrchov´e r´ amce (viz 3.4 na stranˇe 37) byla dostateˇcnˇe kvalitn´ı, bylo by moˇzn´e i na z´ akladˇe nespr´ avnˇe bohat´ ych pozorovan´ ych r´ amc˚ u z´ıskat r´ amce povrchov´e. ´ eˇsnost parser˚ Uspˇ u podle krit´eria sloves, u nichˇz ˇza ´dn´ y ze syn˚ u nechyb´ı (ale m˚ uˇze pˇreb´ yvat), uv´ ad´ıme v tabulce 3.3 na str. 30 jiˇz pouze souhrnnˇe bez ohledu ˇ na d´elku vˇet. Pˇrekvapivˇe je tentokr´ at v´ıtˇezem parser Zdeˇ nka Zabokrtsk´ eho, o procento lepˇs´ı neˇz Collins. Zeman˚ uv parser si zachov´ av´ a odstup 20 %. Toto zjiˇstˇen´ı lze vysvˇetlit tak, ˇze z´ achytn´e pravidlo “na pˇredchoz´ı sloveso” v parseru ˇ Zdeˇ nka Zabokrtsk´ eho je jako nouzov´e ˇreˇsen´ı velmi kvalitn´ı. Statistick´e parsery daj´ı pravdˇepodobnˇe pˇrednost sv´ ym “m´ alo podloˇzen´ ym odhad˚ um”, a dopust´ı se tak vˇetˇs´ıho mnoˇzstv´ı chyb.
3.2
Sloˇ zitost vˇ et
Jak uk´ azala pˇredeˇsl´ a kapitola, pˇredloˇz´ıme-li souˇcasn´ ym syntaktick´ ym analyz´ ator˚ um libovoln´e vstupn´ı vˇety, kter´e najdeme v korpusu, nem˚ uˇzeme s ohledem na
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
Celkem vˇ et Celkem v´ yskyt˚ u sloves Sloves se spr´ avn´ ymi syny Sloves D´ elka vˇ ety Vˇ et ve vˇ etˇ e 1 55 0,0 2 199 0,0 3 151 0,2 4 209 0,6 5 274 0,6 6 220 0,9 7 276 1,1 8 248 1,2 9 267 1,4 10 313 1,5 11 282 1,6 12 289 1,7 13 289 1,9 14 297 1,9 15 280 2,1 16 262 2,1 17 273 2,4 18 275 2,4 19 249 2,5 20 231 2,7
Collins 7 316 16 311 55,3 % Sloves Collins 100,0 % 80,0 % 91,9 % 75,3 % 72,0 % 64,5 % 63,9 % 65,1 % 63,1 % 59,6 % 60,1 % 59,1 % 55,1 % 57,7 % 59,3 % 55,4 % 56,5 % 59,3 % 55,7 %
29
ˇ Zeman Zabokrtsk´ y 7 319 7 319 16 329 16 329 33,1 % 39,5 % se spr´ avn´ ymi syny ˇ Zeman Zabokrtsk´ y 100,0 % 100,0 % 80,0 % 74,3 % 74,0 % 80,5 % 52,6 % 65,6 % 59,6 % 58,0 % 46,6 % 52,8 % 44,0 % 49,0 % 41,4 % 47,8 % 41,2 % 45,8 % 38,9 % 44,4 % 38,9 % 44,4 % 37,0 % 45,7 % 34,5 % 40,8 % 33,8 % 43,3 % 31,1 % 41,5 % 34,4 % 41,7 % 31,9 % 39,7 % 34,6 % 40,7 % 32,5 % 41,4 %
´ eˇsnost parser˚ Tabulka 3.2: Uspˇ u podle spr´ avn´ ych pozorovan´ ych r´ amc˚ u slovesa a s ohledem na d´elku vstupn´ı vˇety. znaˇcnou sloˇzitost ˇcesk´ ych vˇet oˇcek´ avat pˇriliˇs pˇresn´e v´ ysledky. V t´eto kapitole proto pop´ıˇseme jednoduch´ a krit´eria, kter´ a umoˇzn´ı ze vstupn´ıch dat vybrat jednoduˇsˇs´ı vˇety tak, aby je souˇcasn´e syntaktick´e analyz´ atory dok´ azaly zpracovat dostateˇcnˇe kvalitnˇe. Souˇcasnˇe odhadneme, jak´e procento vˇet z korpusov´ ych dat do t´eto kategorie zpracovateln´ ych vˇet jeˇstˇe zapadne a nakonec srovn´ ame zlepˇsen´ı u ´spˇeˇsnosti pro jednotliv´e parsery. Samotn´ a pravidla identifikuj´ıci dostateˇcnˇe jednoduch´e vˇety byla implementov´ ana v syst´emu AX, kter´ y byl vytvoˇren pro u ´ˇcely t´eto pr´ ace a podrobnˇe se j´ım zab´ yv´ ame v kapitole 5 na stranˇe 53. Detailn´ı v´ ypis pravidel pouˇzit´ ych pro filtraci je pak uveden v pˇr´ıloze A na str. 84. ´ Uvodem vzpomeˇ nme jeˇstˇe jeden demotivuj´ıc´ı pˇr´ıklad vˇety z korpusu, kter´ a je sice dostateˇcnˇe jednoduch´ a, ale kter´ a n´ as pˇri hled´ an´ı r´ amc˚ u sloves pˇrivede na ˇspatnou stopu. (2) V sirkov´e hˇre mnoz´ı nevˇeˇrili, ˇze se d´ a vyhr´ at.(S/J/1994/abc94:008-p15s3)
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
Sloves se spr´ avn´ ymi syny Sloves, jimˇ z nechyb´ı syn Rozd´ıl
Collins 55,3 % 73,7 % 18,47 %
Zeman 33,1 % 55,9 % 22,87 %
30
ˇ Zabokrtsk´ y 39,5 % 74,7 % 35,27 %
´ eˇsnost parser˚ Tabulka 3.3: Uspˇ u podle pozorovan´ ych r´ amc˚ u slovesa, kde nechyb´ı ˇza ´dn´e doplnˇen´ı. Vˇetˇe lze naˇstˇest´ı vytknout nejen stylistickou neobratnost, ale i gramatickou chybu (chyb´ı ˇca ´rka pˇred slovem mnoz´ı). Tv´ aˇr´ı v tv´ aˇr takov´ ym pˇr´ıklad˚ um nezb´ yv´ a neˇz doufat, ˇze nespr´ avn´e vˇety neovlivn´ı v´ ysledky pˇr´ıliˇs. V kapitole 3.4 na stranˇe 37 uk´ aˇzeme, ˇze i vˇety zcela spr´ avn´e pˇrin´ aˇsej´ı dostatek probl´em˚ u.
3.2.1
Sloˇ zit´ a interpunkce, ˇ c´ıslice ad.
Jako prvn´ı vylouˇc´ıme z dalˇs´ıho zpracov´ an´ı vˇety obsahuj´ıc´ı interpunkˇcn´ı znam´enka s obt´ıˇzn´ ym syntaktick´ ym v´ ykladem. Jedn´ a se napˇr´ıklad o pomlˇcku, dvojteˇcku, lich´e z´ avorky a uvozovky, lom´ıtka, stˇredn´ıky a dalˇs´ı symboly. Podobnˇe t´eˇz zam´ıtneme vˇety obsahuj´ıc´ı ˇc´ıslice. D˚ uvodem k zam´ıtnut´ı tˇechto vˇet je zkuˇsenost, ˇze souˇcasn´e syntaktick´e analyz´ atory, pˇredevˇs´ım jsou-li zaloˇzeny na ruˇcnˇe psan´ ych pravidlech, nejsou dostateˇcnˇe kvalitnˇe pˇripraveny na tyto “okrajov´e” jevy. U statistick´ ych analyz´ ator˚ u by bylo tˇreba toto tvrzen´ı jeˇstˇe experiment´ alnˇe ovˇeˇrit. V kaˇzd´em pˇr´ıpadˇe je vˇsak jist´e, ˇze spr´ avn´e ˇreˇsen´ı syntaktick´e struktury v tˇesn´em okol´ı atypick´e interpunkce naˇsemu u ´kolu extrahovat povrchov´e r´ amce sloves nijak nepom´ ah´ a. U ˇc´ıslic je zase probl´em identifikovat spr´ avnˇe morfologick´e kategorie p´ adu a rodu, v´ yslednou anal´ yzu z´ıskan´ ych r´ amc˚ u by tedy jen komplikovaly.
3.2.2
Sloˇ zen´ı analytick´ ych slovesn´ ych tvar˚ u
Pro dalˇs´ı f´ aze rozhodov´ an´ı, zda vˇetu pˇrijmout k dalˇs´ımu zpracov´ an´ı nebo ne, je nutn´e pokusit se sloˇzit analytick´e slovesn´e tvary. V obecn´em pˇr´ıpadˇe syntaktick´eho rozboru vˇety je tento u ´kol obt´ıˇzn´ y, nebot’ mezi jednotliv´ ymi ˇca ´stmi sloˇzen´eho slovesn´eho tvaru se m˚ uˇze vyskytnou napˇr. vsuvka nebo cel´ a vloˇzen´ a vˇeta: (3) Vˇcera jsem, a moc r´ ad bych se za to omluvil, doˇcista zapomnˇel na naˇsi sch˚ uzku. Vloˇzen´e klauze vˇsak samy o sobˇe pˇredstavuj´ı sloˇzit´ y probl´em a v dalˇs´ım zpracov´ an´ı vˇety s vloˇzenou klauz´ı pro jistotu v kaˇzd´em pˇr´ıpadˇe zam´ıtneme (viz n´ıˇze). Uˇz pˇri skl´ ad´ an´ı sloˇzen´ ych slovesn´ ych tvar˚ u tedy m˚ uˇzeme pravidla formulovat tak, aby nedok´ azala dohromady sloˇzit ˇca ´sti sloˇzen´eho slovesa, jsou-li oddˇeleny vloˇzenou klauz´ı. V t´eto f´ azi jsou t´eˇz slouˇcena mod´ aln´ı slovesa jako muset, moci ad. ´ s plnov´ yznamov´ ymi slovesy. Udaj o modalitˇe je k hlavn´ımu slovesu pˇripojen
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
31
pouze jako pˇr´ıznak.
3.2.3
Vˇ ety s v´ıce plnov´ yznamov´ ymi slovesy
Je v´ yznamn´e uvˇedomit si, ˇze z hlediska u ´kolu extrakce povrchov´ ych r´ amc˚ u sloves jsou v pˇr´ıpadˇe ˇceˇstiny jako zdrojov´ a data naprosto nevhodn´e vˇsechny klauze, kter´e obsahuj´ı v´ıce neˇz jedin´e plnov´ yznamov´e sloveso. Relativn´ı volnost ˇcesk´eho poˇra ´dku slov totiˇz dovoluje doplnˇen´ı jednotliv´ ych sloves t´eˇze klauze prakticky libovolnˇe prom´ıchat. Pro spr´ avnou identifikaci, kter´e urˇcen´ı patˇr´ı ke kter´emu slovesu, by vˇsak bylo nutn´e opˇr´ıt se ˇcasto nejen o syntaktick´ a krit´eria (slovesn´e r´ amce, jeˇz se vˇsak pr´ avˇe pokouˇs´ıme z´ıskat), ale i o krit´eria s´emantick´ a. Jako pˇr´ıklad 4 uved’me m´ırnˇe upravenou vˇetu z pr´ ace Holan et al. (2001). Je tˇreba zd˚ uraznit, ˇze voln´ a doplnˇen´ı ve vˇetˇe (z´ıtra, v pr´ aci, nakonec a d˚ uraznˇe) je nepochybnˇe moˇzn´e zapojit na z´ akladˇe ryze syntaktick´ ych krit´eri´ı k libovoln´emu ze sloves. Doplnˇen´ı proti odvol´ an´ı lze k obˇema sloves˚ um pˇripojit rovnˇeˇz; preferovan´e ˇcten´ı z´ avis´ı jiˇz na lexik´ aln´ı hodnotˇe v tomto doplnˇen´ı (srov. s proti oˇcek´ av´ an´ı). Naˇse anal´ yza tedy v tomto smˇeru uv´ ad´ı ˇcten´ı preferovan´e i na z´ akladˇe s´emantick´ ych podm´ınek. Zapojen´ı vˇetn´ ych ˇclen˚ u se a Petr je vˇsak jednoznaˇcn´e jiˇz na z´ akladˇe v´ yhradnˇe syntaktick´ ych krit´eri´ı. rozhodl (4)
se Proti odvol´ an´ı
Petr z´ıtra
nakonec
v pr´ aci
protestovat. d˚ uraznˇe
Do dalˇs´ıho zpracov´ an´ı tedy nevpust´ıme vˇety, kter´e obsahuj´ı dvˇe slovesa, mezi nimiˇz nen´ı ˇza ´dn´ a ˇca ´rka.4
3.2.4
Koordinace ve jmenn´ ych ˇ ci pˇ redloˇ zkov´ ych skupin´ ach
Koordinace ve vˇet´ ach pˇrirozen´eho jazyka je velmi sloˇzit´ y jev a t´ yk´ a se samozˇrejmˇe nejen jmenn´ ych a pˇredloˇzkov´ ych skupin. I na u ´rovni vˇetnˇe ˇclensk´ ych koordinac´ı je moˇzn´e do spojen´ı d´ avat r˚ uzn´e a odliˇsn´e typy ˇclen˚ u. Nˇekter´e vˇetn´e ˇcleny pak mohou rozv´ıjet celou koordinaci najednou, nˇekter´e mohou rozv´ıjet jen jej´ı ˇcleny. V z´ avislostn´ım rozboru pˇri anal´ yze vˇety s koordinac´ı tak ˇcasto nevystaˇc´ıme se stromovou strukturou a mus´ıme zav´est nˇejak´ a rozˇs´ıˇren´ı. 5 4 Zat´ ım n´ am mohou “proklouznout” vˇety, kter´e obsahuj´ı dvˇe slovesa v jedn´e klauzi, pokud se mezi slovesy vyskytuje napˇr. koordinace obsahuj´ıc´ı ˇca ´rku. Proto tento filtr provedeme jeˇstˇe jednou po zpracov´ an´ı koordinac´ı. Stejn´eho pochyben´ı bychom se dopustili, pokud by ve vˇetˇe byla vsuvka. Vsuvkami se vˇsak jiˇz naˇse gramatika nezab´ yv´ a v˚ ubec. Vˇety se vsuvkami jsou zam´ıtnuty na sam´em konci zpracov´ an´ı, v r´ amci filtru vˇet s “nevysvˇetlen´ ymi” ˇca ´rkami, tj. ˇca ´rkami, jeˇz nebyly identifikov´ any jako oddˇelovaˇc v koordinaci ani jako hranice klauz´ı. 5 V´ ystiˇznˇe koordinaci pro nˇemˇcinu charakterizuje jiˇz Kunze (1972), kdyˇz ˇr´ık´ a: Jsou-li P , Q, R u ´seky rozdˇeluj´ıc´ı nˇejakou spr´ avnou vˇetu jazyka a jsou-li P , Q 0 , R u ´seky rozdˇeluj´ıc´ı jinou spr´ avnou vˇetu jazyka (vˇety se liˇs´ı jen v Q a Q0 ; P ˇci R mohou b´ yt pˇr´ıpadnˇe pr´ azdn´e), je i vˇeta tvaru P , Q a Q0 R spr´ avnou vˇetou jazyka. Pˇr´ıklady lze uv´est i v ˇceˇstinˇe:
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
32
Z naznaˇcen´ ych d˚ uvod˚ u je zˇrejm´e, ˇze prov´est ˇra ´dnˇe syntaktickou anal´ yzu vˇety s koordinac´ı m˚ uˇze b´ yt velmi obt´ıˇzn´e. Syntaktick´e analyz´ atory se v koordinaci s nejvyˇsˇs´ı pravdˇepodobnost´ı dopust´ı nˇejak´e chyby. Do dalˇs´ıho zpracov´ an´ı tedy povol´ıme pouze “prototypick´e” koordinace, kter´e nast´ avaj´ı ve jmenn´ ych a pˇredloˇzkov´ ych skupin´ ach. Postupnˇe n´ aˇs syst´em pravidel zredukuje: • pˇr´ıslovce v koordinaci na jedin´eho z´ astupce, • pˇr´ıslovce k n´ asleduj´ıc´ımu pˇr´ıdavn´emu jm´enu, • pˇr´ıdavn´ a jm´ena v koordinaci na jedin´eho z´ astupce • pˇr´ıdavn´ a jm´ena k n´ asleduj´ıc´ımi syntaktick´emu jm´enu6 , • syntaktick´ a jm´ena v koordinaci na jedin´eho z´ astupce, • pˇredloˇzku k n´ asleduj´ıc´ımu syntaktick´emu jm´enu. T´eto redukci nevyhov´ı jak´ekoli sloˇzitˇejˇs´ı formy koordinace (napˇr. na dˇrevˇen´y st˚ ul, starou ˇzidli i pod velkou skˇr´ın ˇ) a z´ amˇernˇe t´eˇz koordinace dvou pˇredloˇzkov´ ych skupin. Zpracov´ an´ı dvou koordinovan´ ych pˇredloˇzkov´ ych skupin s odliˇsn´ ymi pˇredloˇzkami by bylo v´ yraznˇe komplikovanˇejˇs´ı, i kdyˇz by koordinace na druhou stranu pˇrinesla pomˇernˇe spolehlivou informaci o tom, ˇze funkci dan´eho doplnˇen´ı lze ekvivalentnˇe vyj´ adˇrit dvˇema odliˇsn´ ymi formami. Na z´ avˇer jsou proto zam´ıtnuty vˇsechny vˇety, v nichˇz z˚ ustala “nevysvˇetlen´ a” koordinaˇcn´ı spojka nebo ˇca ´rka.7 Pˇri tomto postupu jsme mimochodem m´ısto kaˇzd´e (nerekurzivn´ı, ve smyslu genitivn´ıch pˇr´ıvlastk˚ u) jmenn´e skupiny z´ıskali pouze jeden uzel vˇety 8 . V z´ avˇeru f´ aze jeˇstˇe pˇripoj´ıme cel´ y ˇret´ızek genitivn´ıch pˇr´ıvlastk˚ u k pˇredch´ azej´ıc´ı jmenn´e ˇci pˇredloˇzkov´e skupinˇe. Pozdˇeji tak m˚ uˇzeme zvaˇzovat, zda riziko syntaktick´e v´ıceznaˇcnosti v zapojen´ı jmenn´ ych skupin mezi sebou ˇci ke slovesu nepˇrekraˇcuje rozumnou mez. (5)
a. Petr koupil knihu Martinovi. b. Petr daroval knihu Martinovi. c. Petr koupil a daroval knihu Martinovi.
Vˇetˇe je tˇreba rozumˇet tak, ˇze kniha byla koupena i darov´ ana, v syntaktick´em rozboru vˇety by tedy slovo kniha mˇelo z´ aviset souˇcasnˇe na obou slovesech. To samozˇrejmˇe pˇrekraˇcuje moˇznosti z´ apisu syntaktick´e struktury ve formˇe stromu. 6 Syntaktick´ ym jm´enem rozum´ıme takov´e slovn´ı druhy, kter´e maj´ı podobn´e syntaktick´e vlastnosti jako podstatn´ a jm´ena. Jedn´ a se pˇredevˇs´ım o nˇekter´e druhy z´ ajmen a o “zpodstatnˇel´ a” pˇr´ıdavn´ a jm´ena. 7 Zam´ ıtnut´ı na z´ akladˇe nevysvˇetlen´e ˇca ´rky je samozˇrejmˇe nutn´e odloˇzit aˇz za identifikaci klauz´ı, viz d´ ale. 8 N´ aˇs analyz´ ator pro jednoduchost v t´eto f´ azi pracuje deterministicky (byt’ to syst´em AX nevyˇzaduje) a jako jmennou skupinu oznaˇc´ı nejdelˇs´ı pˇrijateln´ yu ´sek vˇety. Je samozˇrejmˇe moˇzn´e naj´ıt pˇr´ıklad vˇety, kde se dopust´ıme chyby, nejde vˇsak o ˇcast´ y pˇr´ıpad: (6) V okoln´ıch les´ıch roste tajupln´ a rostlina j´ılek m´ amiv´ y, lidovˇe nebo opilka. (ln95040:062-p5s9)
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
3.2.5
33
Jednoduch´ a vˇ etn´ a skladba
V t´eto f´ azi je jiˇz moˇzn´e odhadnout hranice klauz´ı, nebot’ analytick´e slovesn´e tvary byly jiˇz slouˇceny. Pokud je vˇsak struktura klauz´ı v souvˇet´ı sloˇzitˇejˇs´ı, st´ av´ a ˇ arka na konci klauze se odhad pˇredevˇs´ım konce klauze velmi obt´ıˇzn´ ym u ´kolem. C´ totiˇz m˚ uˇze i nemus´ı hr´ at roli koncov´e ˇca ´rky jeˇstˇe pro nadˇrazenou ˇci pˇredch´ azej´ıc´ı klauzi. V naˇsem jednoduch´em pˇr´ıstupu proto pro dalˇs´ı zpracov´ an´ı ponech´ av´ ame pouze vˇety se strukturou (H znaˇc´ı vˇetu hlavn´ı, VV znaˇc´ı vˇetu vedlejˇs´ı): H
nebo
H1=H2
nebo
H
nebo VV
H VV
Ve vˇetˇe hlavn´ı i vˇetˇe vedlejˇs´ı je vyˇzadov´ ano pr´ avˇe jedno sloveso (viz v´ yˇse) a hranice mezi vˇetami mus´ı b´ yt spr´ avnˇe vyznaˇcena ˇca ´rkou nebo spojkou a, i, ani, nebo. V pˇr´ıpadˇe H\VV je za ˇca ´rkou oddˇeluj´ıc´ı klauze nav´ıc vyˇzadov´ ana podˇradic´ı spojka nebo vztaˇzn´e z´ ajmeno. V pˇr´ıpadˇe VV/H je spojka ˇci z´ ajmeno vyˇzadov´ ano na zaˇca ´tku cel´e vˇety.
3.2.6
Probl´ emy v d˚ usledku homonymie pˇ redloˇ zkov´ ych skupin
Syntaktickou v´ıceznaˇcnost pˇri zapojen´ı pˇredloˇzkov´ ych skupin podrobnˇe rozeb´ır´ a Straˇ na ´kov´ a-Lopatkov´ a (2001). Pr´ ace zamˇeˇren´ a na jasn´ a lingvisticky motivovan´ a krit´eria ˇreˇs´ıc´ı syntaktickou v´ıceznaˇcnost pˇredloˇzkov´ ych skupin a pouˇziteln´ a v algoritmech automatick´e syntaktick´e anal´ yzy mj. formuluje “z´ akladn´ı podezˇrel´e”, “z´ akladn´ı jednoznaˇcn´e” a “z´ akladn´ı preferovan´e” slovosledn´e vzorce (word order patterns, WOP). Pˇri ˇreˇsen´ı identifikovan´ ych potenci´ alnˇe v´ıceznaˇcn´ ych konstrukc´ı pr´ ace pˇredevˇs´ım pˇredpokl´ ad´ a existenci valenˇcn´ıho slovn´ıku sloves i dalˇs´ıch slovn´ıch druh˚ u, d´ ale pak formuluje krit´eria (pˇredevˇs´ım “princip separace”), kter´ a zam´ıtnou nepˇr´ıpustn´e syntaktick´e konstrukce ve vˇetˇe, kde jiˇz urˇcit´e z´ avislosti spolehlivˇe identifikov´ any byly. Je zˇrejm´e, ˇze v naˇsem pˇr´ıpadˇe se nem˚ uˇzeme opˇr´ıt o existenci valenˇcn´ıho slovn´ıku. “Z´ akladn´ı podezˇrel´e” slovosledn´e vzorce vˇsak m˚ uˇzeme velmi snadno provˇeˇrovat pˇri filtraci vˇet a vˇety, u nichˇz syntaktick´ a v´ıceznaˇcnost zcela jistˇe ohroˇzuje spr´ avnou identifikaci doplnˇen´ı slovesa, nepˇripustit k dalˇs´ımu zpracov´ an´ı. Jde o tyto slovosledn´e vzorce: • VNPg – sloveso n´ asledovan´e syntaktick´ ym jm´enem (v pˇredloˇzkov´em ˇci nepˇredloˇzkov´em p´ adˇe) a pˇredloˇzkovou skupinou, v tomto poˇrad´ı. Pˇredloˇzkov´ a skupina m˚ uˇze rozv´ıjet sloveso i jm´eno. • NPgV – syntaktick´e jm´eno (opˇet bez ohledu na p´ ad a pˇredloˇzku), pˇredloˇzkov´ a skupina a sloveso. Pˇredloˇzkov´ a skupina m˚ uˇze rozv´ıjet sloveso i jm´eno.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
34
• VPgA a PgAV – sloveso, pˇredloˇzkov´ a skupina a pˇr´ıdavn´e jm´eno, resp. pˇredloˇzkov´ a skupina, pˇr´ıdavn´e jm´eno a sloveso. Pˇredloˇzkov´ a skupina m˚ uˇze rozv´ıjet sloveso i jm´eno.9 Pro naˇse u ´ˇcely nen´ı tˇreba filtrovat vˇety s posledn´ım “z´ akladn´ım podezˇrel´ ym” slovosledn´ ym vzorcem: ˆNNPg – dvˇe syntaktick´ a jm´ena v libovoln´em p´ adˇe na zaˇca ´tku klauze n´ asledovan´ a pˇredloˇzkovou skupinou. Chyba syntaktick´eho analyz´ atoru v pˇripojen´ı skupiny k jednomu ˇci druh´emu jm´enu neovlivˇ nuje zisk pozorovan´ ych slovesn´ ych r´ amc˚ u. Pˇr´ıklad 7 Karla Olivy (citov´ ano podle Straˇ na ´kov´ a-Lopatkov´ a (2001)) varuje, ˇze i vˇety bez z´ akladn´ıch podezˇrel´ ych slovosledn´ ych vzorc˚ u a o jedin´em (sloˇzen´em) slovese mohou b´ yt syntakticky velmi komplikovan´e10. Podobnˇe jako v pˇr´ıkladu 4 na str. 31 i zde vych´ az´ı bezespornost syntaktick´eho rozboru vˇety z valence, tentokr´ at vˇsak jde o valenci podstatn´ ych jmen. uveˇrejnili jsme
letos
ˇradu.
(7) novinov´ ych ˇcl´ ank˚ u Na t´ema ekologie
3.2.7
celou
od tohoto autora
Dostupnost dostateˇ cnˇ e jednoduch´ ych vˇ et v korpusech
V´ ysledky aplikace v´ yˇse popsan´eho v´ıcestupˇ nov´eho filtru na prvn´ıch 144 839 vˇet ˇ ´ z CNK shrnuje tabulka 3.4 na n´ asleduj´ıc´ı stranˇe. Udaje pro tabulku byly pˇr´ımo pˇrevzaty z v´ ystupu programu AX, viz 5.7.1 na str. 72. V tabulce je pˇrehlednˇe uvedeno, do kter´e f´ aze zpracov´ an´ı jednotliv´e vˇety smˇely jeˇstˇe postoupit. Ve druh´em sloupci jsou uvedeny poˇcty vˇet, kter´e byly na jednotliv´ ych filtrech zam´ıtnuty, ve tˇret´ım sloupci je tento u ´daj vyj´ adˇren kumulativnˇe, s ohledem na to, ˇze zam´ıtnut´e vˇety jiˇz nebyly podrobeny dalˇs´ı filtraci. Pro zd˚ uraznˇen´ı stupˇ novitosti filtrace jsou jednotliv´e filtry pojmenov´ any t´eˇz postupnˇe p´ısmeny abecedy. Podobnou tabulku uv´ ad´ıme i pro vˇety z evaluaˇcn´ı ˇca ´sti PDT, viz. tabulka 3.5 ˇ ast tˇechto vˇet se nepodaˇrilo naˇc´ıst pro drobn´e nesrovnalosti ve na stranˇe 36. C´ form´ atu CSTS. Ukazuje se, ˇze pˇribliˇznˇe 15 % vˇet projde vˇsemi popsan´ ymi filtry. Pokud bychom neuvaˇzovali vˇety se z´ akladn´ımi podezˇrel´ ymi slovosledn´ ymi vzorci, bude 9 Jak podrobnˇ e popisuje p˚ uvodn´ı pr´ ace, Straˇ na ´kov´ a-Lopatkov´ a (2001), tˇemto slovosledn´ ym vzorc˚ um je tˇreba rozumˇet tak, ˇze nesm´ı b´ yt spatˇreny v ˇza ´dn´em kroku nedeterministick´e redukˇcn´ı anal´ yzy. Pro dostateˇcnou rychlost zpracov´ an´ı vˇsak v naˇs´ı pr´ aci pˇri filtrov´ an´ı vˇet vol´ıme pˇr´ımoˇcar´ y deterministick´ y postup. Slovosledn´ y vzorec VPgA testujeme bohuˇzel jiˇz ve f´ azi, kde mohlo b´ yt koncov´e pˇr´ıdavn´e jm´eno pˇripojeno pod n´ asleduj´ıc´ı podstatn´e jm´eno. Domn´ıv´ ame se, ˇze touto chybou z´ avˇereˇcn´e v´ ystupn´ı vˇety nezat´ıˇz´ıme pˇr´ıliˇs, tuto ot´ azku by vˇsak jistˇe bylo vhodn´e studovat podrobnˇeji, nebo se rozhodnout pro plnou nedeterministickou redukˇcn´ı anal´ yzu. 10 Komplikovan´ e pˇredevˇs´ım z hlediska m´ıry neprojektivity, tj. struˇcnˇe ˇreˇceno poˇctu “dˇer” v z´ avislostn´ım z´ apisu vˇety. Podrobnˇeji viz Holan et al. (1998; Holan et al. (2001).
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U ˇ ast vˇ ˇ C´ et z CNK Odpov´ıd´ a Zam´ıtnuto-A pomlˇcka Zam´ıtnuto-B apostrof Zam´ıtnuto-C lom´ıtko Zam´ıtnuto-D dvojteˇcka ne na konci Zam´ıtnuto-F stˇredn´ık ne na konci Zam´ıtnuto-G ˇc´ıslice Zam´ıtnuto-H nep´ arov´ a z´ avorka Zam´ıtnuto-J pˇr´ıliˇs mnoho sloves Zam´ıtnuto-K vˇetn´ a skladba Zam´ıtnuto-L podezˇren´ı VNPg Zam´ıtnuto-M podezˇren´ı NPgV Zam´ıtnuto-N podezˇren´ı PgAV Zam´ıtnuto-O podezˇren´ı VPgA Celkem vˇ et
Poˇ cet vˇ et 22 203 (15,3 %) 18 156 (12,5 %) 33 (0,0 %) 1 369 (0,9 %) 1 030 (0,7 %) 947 (0,7 %) 22 458 (15,5 %) 548 (0,4 %) 3 594 (2,5 %) 66 098 (45,6 %) 5 661 (3,9 %) 1 860 (1,3 %) 218 (0,2 %) 664 (0,5 %) 144 839 (100,0 %)
35
Postupnˇ e zam´ıtnuto 18 156 18 189 19 558 20 588 21 535 43 993 44 541 48 135 114 233 119 894 121 754 121 972 122 636 122 636
(12,5 %) (12,6 %) (13,5 %) (14,2 %) (14,9 %) (30,4 %) (30,8 %) (33,2 %) (78,9 %) (82,8 %) (84,1 %) (84,2 %) (84,7 %) (84,7 %)
ˇ Tabulka 3.4: Zastoupen´ı “velmi jednoduch´ ych vˇet” v CNK. poˇcet “velmi jednoduch´ ych vˇet” (u PDT) o necel´ ych deset procent vyˇsˇs´ı, tj. dos´ ahne pˇribliˇznˇe 25 %. Souhrnn´e charakteristiky vybran´ ych vˇet ve vztahu k celku srovn´ av´ a tabulka 3.6 na n´ asleduj´ıc´ı stranˇe. Nen´ı pˇrekvapen´ım, ˇze pr˚ umˇern´ a d´elka velmi jednoduch´ ych vˇet je t´emˇeˇr poloviˇcn´ı ve srovn´ an´ı se vˇsemi vˇetami evaluaˇcn´ı ˇca ´sti PDT. Podobnˇe nepˇrekvap´ı ani stejnˇe v´ yznamn´e sn´ıˇzen´ı poˇctu sloves. N´ asleduj´ıc´ı kapitola ukazuje podrobnˇe, jak se zlepˇs´ı u ´spˇeˇsnost st´ avaj´ıc´ıch parser˚ u, omez´ıme-li se na profiltrovan´e vˇety.
3.3
´ eˇ Uspˇ snost parser˚ u na “velmi jednoduch´ ych vˇ et´ ach”
V t´eto kapitole srovn´ ame pˇresnost extrakce povrchov´ ych valenˇcn´ıch r´ amc˚ u pomoc´ı jednotliv´ ych syntaktick´ ych analyz´ ator˚ u pro ˇceˇstinu, ovˇsem pouze z vˇet, kter´e proˇsly filtrac´ı (viz v´ yˇse), a jsou tedy “velmi jednoduch´e”. Aby bylo moˇzn´e u ´spˇeˇsnost analyz´ ator˚ u mˇeˇrit, byly opˇet pouˇzity vˇety z evaluaˇcn´ı ˇca ´sti PDT, u nichˇz je spr´ avn´ a syntaktick´ a struktura k dispozici. Krit´eria hodnocen´ı jednotliv´ ych analyz´ ator˚ u jsou stejn´ a jako v kapitole 3.1.4 na stranˇe 26. Hodnot´ıme spr´ avnˇe zapojen´e uzly, spr´ avnˇe zpracovan´e cel´e vˇety, a pro u ´ˇcely naˇs´ı pr´ ace pak spr´ avn´e a nezapomenut´e syny sloves. Z tabulky 3.7 na str. 37 je v´ yznam odfiltrov´ an´ı pˇr´ıliˇs sloˇzit´ ych vˇet pro u ´spˇeˇsnost souˇcasn´ ych syntaktick´ ych analyz´ ator˚ u dobˇre patrn´ y. Srovn´ ame-li klasick´ yu ´daj u ´spˇeˇsnosti, procento spr´ avnˇe zavˇeˇsen´ ych uzl˚ u, pro r˚ uznˇe sloˇzit´e ˇ vˇety, zjist´ıme, ˇze parser˚ um Dana Zemana a Zdeˇ nka Zabokrtsk´ eho filtrace pomohla o pˇribliˇznˇe 10 %, z ˇcehoˇz zlepˇsen´ı d´ıky odstranˇen´ı vˇet s podezˇrel´ ymi
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U Vˇ ety evaluaˇ cn´ı ˇ c´ asti PDT Odpov´ıd´ a Zam´ıtnuto-A pomlˇcka Zam´ıtnuto-B apostrof Zam´ıtnuto-C lom´ıtko Zam´ıtnuto-D dvojteˇcka ne na konci Zam´ıtnuto-F stˇredn´ık ne na konci Zam´ıtnuto-G ˇc´ıslice Zam´ıtnuto-H nep´ arov´ a z´ avorka Zam´ıtnuto-J pˇr´ıliˇs mnoho sloves Zam´ıtnuto-K vˇetn´ a skladba Zam´ıtnuto-L podezˇren´ı VNPg Zam´ıtnuto-M podezˇren´ı NPgV Zam´ıtnuto-N podezˇren´ı PgAV Zam´ıtnuto-O podezˇren´ı VPgA Celkem vˇ et
Poˇ cet vˇ et 1 113 (15,6 %) 725 (10,1 %) 30 (0,4 %) 14 (0,2 %) 30 (0,4 %) 71 (1,0 %) 841 (11,8 %) 9 (0,1 %) 289 (4,0 %) 3 360 (47,0 %) 484 (6,8 %) 164 (2,3 %) 9 (0,1 %) 16 (0,2 %) 7 155 (100,0 %)
36
Postupnˇ e zam´ıtnuto 725 755 769 799 870 1 711 1 720 2 009 5 369 5 853 6 017 6 026 6 042 6 042
(10,1 %) (10,6 %) (10,7 %) (11,2 %) (12,2 %) (23,9 %) (24,0 %) (28,1 %) (75,0 %) (81,8 %) (84,1 %) (84,2 %) (84,4 %) (84,4 %)
Tabulka 3.5: Zastoupen´ı “velmi jednoduch´ ych vˇet” v evaluaˇcn´ı ˇca ´sti PDT. V pr˚ umˇern´e vˇetˇe Ve velmi jednoduch´e vˇetˇe bez podezˇrel´ ych WOP
Uzl˚ u 17,22 9,91
Sloves 2,26 1,39
Tabulka 3.6: Poˇcet uzl˚ u a sloves ve “velmi jednoduch´ ych vˇet´ ach”. slovosledn´ ymi vzorci (viz 3.2.6 na stranˇe 33) tvoˇrilo jen nepatrnou ˇca ´st (jen ˇ 1,3 % u Zabokrtsk´ eho; u Zemana dokonce doˇslo k m´ırn´emu poklesu u ´spˇeˇsnosti). U Collinsova parseru nedos´ ahlo zlepˇsen´ı u ´spˇeˇsnosti podle uzl˚ u takov´e m´ıry, v´ ysledn´ au ´spˇeˇsnost 87,9 % je vˇsak pomˇernˇe zaj´ımav´ a. Nen´ı pˇrekvapen´ım, ˇze u ´spˇeˇsnost parser˚ u mˇeˇren´ a podle poˇctu zcela spr´ avnˇe rozpoznan´ ych vˇet, se d´ıky filtraci sloˇzit´ ych vˇet zv´ yˇsila velmi v´ yraznˇe. Opˇet s v´ yjimkou Collinsova parseru ˇslo dokonce o v´ıce neˇz zdvojn´ asoben´ı u ´spˇeˇsnosti. Collins vˇsak podle tohoto krit´eria st´ ale v´ıtˇez´ı, analyzuje v´ıce neˇz 50 % velmi jednoduch´ ych vˇet spr´ avnˇe. V´ yznam filtrace vˇet s podezˇrel´ ymi slovosledn´ ymi vzorci je z hlediska zcela spr´ avnˇe rozpoznan´ ych vˇet podle oˇcek´ av´ an´ı vyˇsˇs´ı. Pro Collins˚ uv a Zeman˚ uv ˇ parser pˇrinesla zlepˇsen´ı o cca 5 %, pro parser Zabokrtsk´ eho dokonce o 10 %. Velmi uspokojiv´e zlepˇsen´ı je vidˇet t´eˇz u posledn´ıch dvou krit´eri´ı, procenta sloves se syny identifikovan´ ymi zcela spr´ avnˇe (Synov´e sloves spr´ avnˇe) a procenta sloves, u nichˇz ˇza ´dn´ y syn nechyb´ı, ale nˇekteˇr´ı mohou pˇreb´ yvat (Synov´e sloves ˇ nechyb´ı). Zabokrtsk´ eho a Zeman˚ uv parser syny zcela spr´ avnˇe urˇc´ı u pˇribliˇznˇe poloviny v´ yskyt˚ u sloves, Collins u t´emˇeˇr 65 % sloves. Filtrace podezˇrel´ ych slovosledn´ ych vzorc˚ u v tomto krit´eriu opˇet hr´ ala v´ yznamnou roli.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U Uzly spr´ avnˇ e Vˇsechny vˇety Velmi jednoduch´e vˇety . . . nav´ıc bez podezˇrel´ ych Cel´ e vˇ ety spr´ avnˇ e Vˇsechny vˇety Velmi jednoduch´e vˇety . . . nav´ıc bez podezˇrel´ ych Synov´ e sloves spr´ avnˇ e Vˇsechny vˇety Velmi jednoduch´e vˇety . . . nav´ıc bez podezˇrel´ ych Synov´ e sloves nechyb´ı Vˇsechny vˇety Velmi jednoduch´e vˇety . . . nav´ıc bez podezˇrel´ ych
WOP
WOP
WOP
WOP
Uzl˚ u 126 030 20 028 11 030 Vˇ et 7 319 1 786 1 113 Sloves 16 329 2 472 1 546 Sloves 16 329 2 472 1 546
Collins 82,51 % 87,70 % 87,89 % Collins 30,95 % 47,14 % 52,83 % Collins 55,32 % 61,37 % 64,68 % Collins 73,73 % 78,52 % 81,44 %
Zeman 69,15 % 79,40 % 79,31 % Zeman 15,00 % 29,00 % 34,41 % Zeman 33,11 % 41,87 % 47,02 % Zeman 55,86 % 67,76 % 71,28 %
37
ˇ Zabokrtsk´ y 73,8 % 82,3 % 83,6 % ˇ Zabokrtsk´ y 18,4 % 31,6 % 41,5 % ˇ Zabokrtsk´ y 39,5 % 44,8 % 53,8 % ˇ Zabokrtsk´ y 74,7 % 84,1 % 84,9 %
Tabulka 3.7: Srovn´ an´ı parser˚ u na “velmi jednoduch´ ych vˇet´ ach”.
3.4
Zpracov´ an´ı a filtrace povrchov´ ych r´ amc˚ u
V t´eto kapitole se zamˇeˇr´ıme na problematiku zpracov´ an´ı pozorovan´ych r´ amc˚ u, tj. pˇrehledu vˇsech doplnˇen´ı spatˇren´ ych u jednotliv´ ych v´ yskyt˚ u slovesa, s c´ılem z´ıskat pˇrehled forem doplnˇen´ı, kter´e jsou pro dan´e sloveso typick´e. Pokus´ıme-li se typick´ a doplnˇen´ı uv´ adˇet nikoli izolovanˇe, ale nav´ıc v typick´ ych sestav´ ach, m˚ uˇzeme hovoˇrit o povrchov´ych r´ amc´ıch11 . V tabulce 3.8 na n´ asleduj´ıc´ı stranˇe uv´ ad´ıme pˇr´ıklad pozorovan´ ych r´ amc˚ u pro sloveso d´ at seˇrazen´ ych podle ˇcetnosti. Pro jednoduchost poch´ azej´ı pozorovan´e r´ amce prozat´ım z vˇet v PDT, aby byla m´ıra chyb v pozorovan´ ych r´ amc´ıch co nejniˇzˇs´ı. Z v´ yskyt˚ u slovesa d´ at byly odfiltrov´ any t´eˇz vˇsechny v´ yskyty v pasivu; slovesa v pasivu maj´ı strukturu doplnˇen´ı typicky odliˇsnou. Z´ amˇernˇe vˇsak nebyly odliˇseny v´ yskyty slovesa ve zvratn´ ych variant´ ach (d´ at se, d´ at si) od nereflexivn´ıch v´ yskyt˚ u, nebot’ na z´ akladˇe anal´ yzy jednotliv´ ych vˇet nen´ı moˇzn´e rozhodovat, zda je sloveso reflexivum tantum, nebo zda ˇca ´stice se nen´ı pouze kr´ atk´ y tvar zvratn´eho z´ ajmene v roli bˇeˇzn´eho doplnˇen´ı slovesa. Pro vˇetˇs´ı pˇrehlednost uvozujeme v uveden´ ych r´ amc´ıch ˇc´ıslo p´ adu doplnˇen´ı znakem #. Z pˇrehledu jsou dobˇre patrn´e oba z´ avaˇzn´e probl´emy extrakce povrchov´ ych r´ amc˚ u: • Sloveso se ˇcasto vyskytuje s voln´ ymi doplnˇen´ımi (t´eˇz adjuncts), o nichˇz nelze prohl´ asit, ˇze by byla pro sloveso typick´ a. (Zde napˇr. pˇredloˇzka v se ˇsest´ ym p´ adem.) 11 V literatuˇ re zamˇeˇren´e na angliˇctinu se uˇz´ıv´ a pojmu subkategorizaˇ cn´ı r´ amce (subcategorization frames). Pojm˚ um povrchov´eho a subkategorizaˇcn´ıho r´ amce lze ve vˇetˇsinˇe pˇr´ıpad˚ u rozumˇet stejnˇe, nebot’ pro angliˇctinu pˇrehled typick´ ych forem slovesn´ ych doplnˇen´ı postaˇcuje. V pˇr´ıpadˇe ˇceˇstiny s v´ yznamnˇe bohatˇs´ım reperto´ arem forem vyjadˇruj´ıc´ıch tut´eˇz funkci (viz 4.2 na str. 48) si vˇsak distinkci mezi r´ amcem povrchov´ ym a valenˇ cn´ım uvˇedomujeme v´ıce, a proto budeme radˇeji uˇz´ıvat tato ostˇre odliˇsuj´ıc´ı oznaˇcen´ı.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U 238 (100 %) 22 (9,2 %) 21 (8,8 %) 6 (2,5 %) 5 (2,1 %) 4 (1,7 %) 4 (1,7 %) 3 (1,3 %) 3 (1,3 %) 3 (1,3 %) 3 (1,3 %) 3 (1,3 %) 3 (1,3 %) 3 (1,3 %) 2 (0,8 %) 2 (0,8 %) 151 (63,4 %)
38
Celkem v´ yskyt˚ u slovesa d´ at v aktivn´ım tvaru infin se #1 infin se infin se VV infin se z ˇe #1 infin podle-2#2 se #1 #4 #1 infin se v-1#6 #1 infin se VV #1 #3 #4 #4 #1 #3 za-1#4 #3 #4 #1 #4 v-1#6 si se Ostatn´ı (143 dalˇ s´ıch typ˚ u pozorovan´ ych r´ amc˚ u)
Tabulka 3.8: Pozorovan´e r´ amce slovesa d´ at v PDT. V pˇrehledu byla vˇsechna urˇcit´ a slovesa z´ avisl´ a na slovese d´ at oznaˇcena jako VV (vedlejˇs´ı vˇeta) a jako infin, pokud byla v infinitivu. • Pozorovan´e r´ amce ˇcasto neobsahuj´ı cel´ y povrchov´ y r´ amec slovesa, nˇekter´e ˇcleny jsou elidov´ any. (Zde nejv´ yraznˇeji napˇr. d´ at .) Oba probl´emy vedou ke znaˇcn´emu poˇctu rozd´ıln´ ych typ˚ u pozorovan´ ych r´ amc˚ u (zde celkem 158) a i nejˇcetnˇejˇs´ı pozorovan´ y r´ amec byl spatˇren v m´enˇe neˇz 10 % v´ yskyt˚ u slovesa d´ at.
3.4.1
Metody statistick´ e filtrace
V literatuˇre (Brent (1991; Manning (1993; Sarkar and Zeman (2000; Briscoe and Carroll (1997) ad.) lze naj´ıt ˇradu odliˇsn´ ych statistick´ ych metod, jejichˇz c´ılem je ze seznamu r´ amc˚ u pozorovan´ ych z´ıskat r´ amce povrchov´e. Vˇetˇsina metod je zamˇeˇrena na angliˇctinu12 a pˇredpokl´ ad´ a, ˇze: • Spr´ avn´ y povrchov´ y r´ amec bude mezi pozorovan´ ymi r´ amci zastoupen. • Spr´ avn´ y povrchov´ y r´ amec bude zastoupen v dostateˇcn´e m´ıˇre na to, aby jej statistick´e metody filtrace r´ amc˚ u dok´ azaly naj´ıt. Jak spr´ avnˇe poukazuje Sarkar and Zeman (2000), voln´ a doplnˇen´ı se ovˇsem (pro ˇceˇstinu) nezˇr´ıdka vyskytnou ve vˇsech pozorovan´ ych r´ amc´ıch a ˇza ´dn´y 12 Pro angliˇ ctinu se uv´ ad´ı cca 19 typ˚ u povrchov´ ych r´ amc˚ u, z nichˇz nˇekter´e jsou y objekt parametrizov´ any pˇredloˇzkami (napˇr. TV tranzitivn´ı sloveso, NP P(<prep>) pˇr´ım´ a pˇredloˇzkov´ a fr´ aze s pˇredloˇzkou <prep>). Naproti tomu Sarkar and Zeman (2000) tvrd´ı, ˇze ˇcesk´ a slovesa mohou m´ıt v´ıce neˇz 130 r˚ uzn´ ych typ˚ u povrchov´ ych r´ amc˚ u.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
39
pozorovan´ y r´ amec tedy nem˚ uˇze b´ yt pr´ avem prohl´ aˇsen za povrchov´ y r´ amec slovesa. Citovan´e metody statistick´e filtrace se pohybuj´ı v nejlepˇs´ım pˇr´ıpadˇe u hranice cca 80 % spr´ avn´ ych rozhodnut´ı, zda jedno konkr´etn´ı doplnˇen´ı slovesa v konkr´etn´ım v´ yskytu je voln´ ym doplnˇen´ım, nebo ˇclenem povrchov´eho r´ amce. Ve srovn´ an´ı metod filtrace, jak jej podrobnˇe prov´ ad´ı Korhonen, Gorrell, and McCarthy (2000), se vˇsak ukazuje, ˇze podle v´ yznamnˇejˇs´ıho krit´eria – procenta r´ amc˚ u, kter´e dan´ a metoda v datech nalezne z celkov´eho poˇctu r´ amc˚ u, kter´e byly sloves˚ um pˇriˇrazeny ruˇcnˇe – dosahuj´ı metody jen cca 50% u ´spˇeˇsnosti. Jeˇstˇe z´ avaˇznˇejˇs´ım v´ ysledkem Korhonen, Gorrell, and McCarthy (2000) je vˇsak zjiˇstˇen´ı, ˇze o cel´ ych 25 procentn´ıch bod˚ u, tj. cca 75 %, je u ´spˇeˇsnˇejˇs´ı metoda, kter´ a z pozorovan´ ych r´ amc˚ u vezme prvn´ıch n nejˇcastˇejˇs´ıch, aˇz do urˇcit´eho ruˇcnˇe zvolen´eho prahu. S ohledem na poznatky z literatury nebudeme tedy v t´eto pr´ aci zvaˇzovat nasazen´ı metod statistick´e filtrace a d´ ame pˇrednost struktur´ aln´ımu pˇr´ıstupu k pozorovan´ ym r´ amc˚ um.
3.4.2
N´ aznak lingvistick´ e filtrace
V nˇekter´ ych v´ yjimeˇcn´ ych pˇr´ıpadech je moˇzn´e na z´ akladˇe lexik´ aln´ıho obsazen´ı v doplnˇen´ı slovesa urˇcit povahu tohoto doplnˇen´ı. Pˇredevˇs´ım je ˇza ´douc´ı identifikovat doplnˇen´ı, kter´ a typicky nejsou souˇca ´st´ı slovesn´ ych r´ amc˚ u. Pokud se z pozorovan´ ych syn˚ u slovesa podaˇr´ı vˇcas odstranit doplnˇen´ı, kter´ a jsou nad vˇs´ı pochybnost voln´ a, v´ yznamnˇe se t´ım ulehˇc´ı n´ asledn´ ym metod´ am spojov´ an´ı pozorovan´ ych r´ amc˚ u. V naˇs´ı pr´ aci proto z ˇrady pozorovan´ ych doplnˇen´ı ihned odstraˇ nujeme: • rematiz´ atory (pˇrehled poch´ az´ı z Hajiˇcov´ a, Panevov´ a, and Sgall (1999)) • ˇca ´stice • ˇcasov´ a pˇr´ıslovce13 • vedlejˇs´ı vˇety pˇr´ıˇciny a podm´ınky (v prvn´ım hrub´em pˇribl´ıˇzen´ı uvaˇzujeme vˇsechny vˇety uvozen´e podˇradic´ımi spojkami protoˇze, proˇc, kdyˇz, kdyby, pokud a aniˇz; bylo by vhodn´e tento seznam pˇripravit peˇclivˇeji)
Odhad ˇ casov´ ych urˇ cen´ı na z´ akladˇ e lexik´ aln´ıho obsazen´ı U doplnˇen´ı realizovan´ ych (rozvitou) jmennou ˇci pˇredloˇzkovou skupinou se rovnˇeˇz m˚ uˇzeme pokusit o rozhodnut´ı, zda jde o ˇcasov´e urˇcen´ı. N´ asleduj´ıc´ı tabulka shrnuje v´ ysledky u ´spˇeˇsnosti algoritmu identifikace ˇcasov´ ych urˇcen´ı mezi doplnˇen´ımi slovesa na z´ akladˇe seznamu typicky ˇcasov´ ych lexik´ aln´ıch jednotek, kter´ y byl pˇripraven ruˇcnˇe u ´pravou seznamu pˇripraven´eho Zdeˇ nkem 13 Pˇ ˇ rehled typ˚ u pˇr´ıslovc´ı pˇripravil a spravuje Zdenˇek Zabokrtsk´ y. P˚ uvodnˇe tento seznam pro potˇreby anot´ ator˚ u PDT pˇripravovala Dr. Eva Bur´ an ˇov´ a. Seznam je vyuˇz´ıv´ an pˇredevˇs´ım pˇri ruˇcn´ı anotaci PDT.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
40
ˇ Zabokrtsk´ ym pro pr´ aci (2002) na z´ akladˇe ˇcesk´e verze EuroWordNetu 14 . Seznam obsahuje substantiva, u kter´ ych byl alespoˇ n jeden ze synset˚ u, do nˇehoˇz patˇr´ı, zaˇrazen v EWN Top Ontology (z´ akladn´ı s´emantick´e tˇr´ıdˇen´ı slov) do tˇr´ıdy Time. Algoritmus dostane na sv˚ uj vstup podstrom syntaktick´eho rozboru vˇety, v jehoˇz koˇreni se nach´ az´ı podstatn´e jm´eno (pˇredloˇzka je tentokr´ at zavˇeˇsena pod ˇr´ıdic´ım jm´enem). Na z´ akladˇe tohoto podstromu a pevn´eho slovn´ıku algoritmus rozhodne, zda je toto doplnˇen´ı ˇcasov´e, nebo ne. Nen´ı jiˇz pˇritom ˇcinˇen rozd´ıl mezi typem ˇcasov´eho urˇcen´ı (kdy, odkdy, dokdy, jak dlouho ap.). Byly studov´ any ˇctyˇri odliˇsn´e algoritmy: prvn´ı pro sv´e rozhodnut´ı studoval pouze ˇr´ıdic´ı jm´eno v doplnˇen´ı, druh´ y proch´ azel cel´ y podstrom a hledal, zda mezi uzly nenajde jak´ ykoli n´ aznak, jedno “ˇcasov´e” substantivum. Tˇret´ı algoritmus poˇzadoval, aby vˇsechna plnov´ yznamov´ a slova doplnˇen´ı s v´ yjimkou ˇc´ıslovek byla “ˇcasov´ a”. Koneˇcnˇe ˇctvrt´ y algoritmus pouˇz´ıval heuristiku a poˇzadoval, aby alespoˇ n polovina uzl˚ u doplnˇen´ı byla v dan´em seznamu. Pokud algoritmy neuspˇely s hled´ an´ı d˚ ukazu pro ˇcasov´e urˇcen´ı, vydaly pro doplnˇen´ı z´ apornou odpovˇed’. ´ eˇ Uspˇ snost na podstromech kdekoli ˇ R´ıdic´ı slovo doplnˇen´ı Staˇc´ı jeden n´ aznak Plnov´ yznamov´ a slova vyjma ˇc´ıslovek Polovina uzl˚ u doplnˇen´ı Celkem studov´ ano ´ Uspˇ eˇ snost na podstromech pod slovesem ˇ ıdic´ı slovo doplnˇen´ı R´ Staˇc´ı jeden n´ aznak Plnov´ yznamov´ a slova vyjma ˇc´ıslovek Polovina uzl˚ u doplnˇen´ı Celkem studov´ ano
TP+TN FP FN 96,31 % 2,24 % 1,46 % 95,68 % 3,01 % 1,31 % 95,42 % 0,64 % 3,94 % 95,07 % 0,00 % 4,93 % 124 457 podstrom˚ u kdekoli TP+TN FP FN 95,74 % 1,82 % 2,45 % 95,13 % 2,68 % 2,19 % 92,97 % 0,33 % 6,70 % 91,58 % 0,00 % 8,42 % 55 090 podstrom˚ u pod slovesem
´ eˇsnost identifikace ˇcasov´ Tabulka 3.9: Uspˇ ych urˇcen´ı na z´ akladˇe lexik´ aln´ıho obsazen´ı v podstromu pod podstatn´ ym jm´enem. Mˇeˇren´ı u ´spˇeˇsnosti algoritm˚ u s r˚ uznou citlivost´ı bylo provedeno na vˇet´ ach, kter´e byly dosud oznaˇckov´ any na tektogramatick´e rovinˇe. V´ ysledky mˇeˇren´ı jsou uvedeny v tabulce 3.9 oddˇelenˇe pro vˇsechny podstromy ˇr´ızen´e substantivem a oddˇelenˇe pro takov´e podstromy, kter´e se nav´ıc vyskytovaly pod slovesem. Ve sloupci TP+TN je vyj´ adˇren pod´ıl spr´ avnˇe identifikovan´ ych ˇcasov´ ych doplnˇen´ı (tj. spr´ avnˇe rozhodnodnut´ a kladn´ a odpovˇed’, true positive, TP, a spr´ avnˇe rozhodnut´ a z´ aporn´ a odpovˇed’, true negative, TN) z celkov´eho poˇctu studovan´ ych doplnˇen´ı. Ve sloupci FP je uvedeno procento doplnˇen´ı, u nichˇz se algoritmus zm´ ylil, kdyˇz vydal kladnou odpovˇed’ (false positive, FP), v posledn´ım sloupci pak opaˇcn´ y pˇr´ıpad, kdy algoritmus nepr´ avem vydal z´ apornou odpovˇed’ Ukazuje se, ˇze spr´ avnˇe identifikovat ˇcasov´e urˇcen´ı pod slovesem je m´ırnˇe 14 http://www.elda.fr/cata/text/M0015.html 14 S
v´ yjimkou ˇc´ıslovek a ˇc´ıslic.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
41
obt´ıˇznˇejˇs´ı, neˇz identifikovat ˇcasov´e urˇcen´ı kdekoli. Ze ˇctyˇrech studovan´ ych algoritm˚ u je pˇritom nejjednoduˇsˇs´ı algoritmus zaloˇzen´ y na kontrole ˇr´ıdic´ıho jm´ena z´ aroveˇ n nej´ uspˇeˇsnˇejˇs´ı. Pˇritom pˇr´ıpady, kdy tento algoritmus omylem mezi ˇcasov´ a urˇcen´ı zaˇrad´ı doplnˇen´ı jin´eho druhu, pˇredstavuj´ı pouze necel´ a dvˇe procenta. Automatizovan´e extrakci povrchov´ ych r´ amc˚ u sloves tato m´ıra chyby v´ yznamn´ a doplnˇen´ı slovesa tedy neskryje. Popsan´ a lingvistick´ a filtrace celkem sn´ıˇzila poˇcet typ˚ u pozorovan´ ych r´ amc˚ u ze 158 na 127 a poˇcet typ˚ u doplnˇen´ı z 97 na 65. Poˇcet typ˚ u r´ amc˚ u i doplnˇen´ı je pro ruˇcn´ı zpracov´ an´ı st´ ale nevhodn´ y, i kdyˇz m´ a lingvistick´ a filtrace nepochybnˇe v´ yznam.
3.4.3
Spojov´ an´ı r´ amc˚ u
Jako protiklad k metod´ am statistick´eho rozhodov´ an´ı, kter´ y pozorovan´ y r´ amec oznaˇcit jako povrchov´ y r´ amec slovesa, lze uv´est metodu spojov´ an´ı pozorovan´ ych r´ amc˚ u s c´ılem naj´ıt povrchov´e r´ amce s ohledem na “typick´e pˇrekryvy” v doplnˇen´ıch. Jak se uk´ azalo v pr˚ ubˇehu pr´ ace, nen´ı tato myˇslenka v˚ ubec nov´ a, i kdyˇz samostatnˇe a soustavnˇe se j´ı dosud nevˇenoval podle naˇsich znalost´ı ˇza ´dn´ y z autor˚ u. Metodu spojov´ an´ı pozorovan´ ych r´ amc˚ u lze naj´ıt jednak v Skoumalov´ a (2001), a jednak v Basili and Vindigni (1998). Pˇritom Skoumalov´ a (2001) pracuje na datech poch´ azej´ıc´ıch nikoli z korpus˚ u, ale ze slovn´ıku BRIEF, a d´ıky tomu j´ı staˇc´ı ˇcelit v´ yznamnˇe niˇzˇs´ımu poˇctu r˚ uzn´ ych typ˚ u pozorovan´ ych doplnˇen´ı. Algoritmus popsan´ y v t´eto pr´ aci s ohledem na mnoˇzstv´ı typ˚ u doplnˇen´ı identifikovan´ ych v textov´ ych korpusech bohuˇzel nen´ı moˇzn´e u ´spˇeˇsnˇe pouˇz´ıt. Druh´ a pr´ ace, Basili and Vindigni (1998), spojuje pozorovan´e r´ amce do hierarchie ˇca ´steˇcn´eho uspoˇra ´d´ an´ı (lattice), podobnˇe jako uvaˇzujeme i zde. Pr´ ace se vˇsak pˇredevˇs´ım zamˇeˇruje na automatick´e omezen´ı dan´eho valenˇcn´ıho slovn´ıku na poddom´enu jazyka charakterizovanou dan´ ym textov´ ym korpusem. Z tohoto d˚ uvodu opˇet navrˇzen´ y algoritmus v´ ybˇeru povrchov´ ych r´ amc˚ u z hierarchie pozorovan´ ych r´ amc˚ u nen´ı pro naˇsi situaci bez vhodn´eho valenˇcn´ıho slovn´ıku relevantn´ı. Nav´ıc pr´ ace studuje angliˇctinu, kde je reperto´ ar typ˚ u doplnˇen´ı opˇet niˇzˇs´ı neˇz v ˇceˇstinˇe, a z´ıskan´e hierarchie pozorovan´ ych r´ amc˚ u je proto jeˇstˇe u ´ˇceln´e graficky prezentovat. Vyjdeme-li z vˇet PDT obsahuj´ıc´ıch sloveso d´ at (pro jednoduchost studujeme zat´ım metodu na datech, kde nen´ı pochyb o spr´ avnosti syntaktick´e anal´ yzy), najdeme mezi 238 v´ yskyty slovesa po proveden´ı v´ yˇse popsan´e filtrace doplnˇen´ı celkem 127 pozorovan´ ych r´ amc˚ u s celkem 65 r˚ uzn´ ymi typy doplnˇen´ı. (Pˇrehled nejˇcetnˇejˇs´ıch z tˇechto r´ amc˚ u nen´ı pˇr´ıliˇs odliˇsn´ y od pˇr´ıkladu uveden´eho na str. 38.) Za zm´ınku stoj´ı metoda sluˇcov´ an´ı r´ amc˚ u, kter´ a se uk´ azala jako ne´ uspˇeˇsn´ aa dobˇre ilustruje m´ıru “ˇsumu” voln´ ych doplnˇen´ı v pozorovan´ ych r´ amc´ıch. V prvn´ı f´ azi jsme se snaˇzili studovat hierarchii pozorovan´ ych r´ amc˚ u ve smˇeru od r´ amc˚ u s nejvyˇsˇs´ım poˇctem doplnˇen´ı. Pod tyto nejˇsirˇs´ı r´ amce jsme v hierarchii zaˇrazovali jako podmnoˇziny dalˇs´ı pozorovan´e r´ amce. Hierarchie pozorovan´ a z tohoto smˇeru
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
42
je vˇsak jiˇz od prvn´ı u ´rovnˇe velmi nepˇrehledn´ a, jak ilustrujeme pˇr´ıkladem 15 3.2 na str. 45. V pˇr´ıkladu je u kaˇzd´eho pozorovan´eho r´ amce uveden jednak poˇcet bezprostˇredn´ıch n´ asledn´ık˚ u v hierarchii (poˇcet podr´ amc˚ u), a jednak poˇcet v´ yskyt˚ u. Pˇritom jsou zvl´ aˇst’ uvedeny v´ yskyty z´ıskan´e d´ıky libovoln´emu z n´ asledn´ık˚ u a zvl´ aˇst’ v´ yskyty samotn´eho citovan´eho r´ amce. Vrchol hierarchie je v tomto pˇr´ıpadˇe pˇrid´ an umˇele (viz +0 vlastn´ıch v´ yskyt˚ u) a pˇredstavuje u ´pln´e sjednocen´ı vˇsech pozorovan´ ych doplnˇen´ı; nˇekter´ a doplnˇen´ı byla u jednoho v´ yskytu slovesa spatˇrena i v´ıcekr´ at (napˇr. pˇrekvapivˇe 2x#1). Hierarchie pozorovan´ ych r´ amc˚ u se jev´ı mnohem pˇrehlednˇejˇs´ı, viz pˇr´ıklad 3.3 na stranˇe 45, pokud budeme postupovat smˇerem od nejchudˇs´ıch r´ amc˚ u k r´ amc˚ um s v´ıce doplnˇen´ımi. Na vrchol hierarchie se pˇri tomto pohledu dostane pr´ azdn´ y r´ amec, v´ yskyt slovesa bez jak´ ychkoli doplnˇen´ı (kter´ a proˇsla pˇredchoz´ı filtrac´ı). I v tomto pˇr´ıkladu jsou r´ amce v hierarchii utˇr´ıdˇeny podle klesaj´ıc´ıho poˇctu v´ yskyt˚ u r´ amce ˇci jeho n´ asledn´ık˚ u v hierarchii, do pˇredn´ıch pozic se tak dostanou nejˇcastˇejˇs´ı typy doplnˇen´ı. Tento zp˚ usob prezentace pozorovan´ ych povrchov´ ych r´ amc˚ u povaˇzujeme za velmi vhodn´ y pro anot´ atora. Interaktivn´ı hierarchick´e prohl´ıˇzen´ı by d´ ale mohlo b´ yt rozˇs´ıˇreno o konkr´etn´ı pˇr´ıklady r´ amc˚ u ze zdrojov´ ych dat a anot´ ator by byl pˇri pˇr´ıpravˇe valenˇcn´ıho slovn´ıku veden od nejˇcetnˇejˇs´ıch r´ amc˚ u k m´enˇe ˇcetn´ ym. Ve snaze identifikovat povrchov´e r´ amce na z´ akladˇe t´eto hierarchie pozorovan´ ych r´ amc˚ u bez asistence ˇclovˇeka jsme implementovali jednoduch´ y algoritmus “rozbalov´ an´ı” hierarchie aˇz do “rozumn´e” hloubky. Struˇcnˇe lze postup shrnout takto: • Kaˇzd´ y r´ amec, kter´ y byl (vˇcetnˇe v´ yskyt˚ u potomk˚ u) spatˇren alespoˇ n n kr´ at, zkusme “rozbalit” a radˇeji studovat jako kandid´ aty na povrchov´e r´ amce jeho syny. • Uvaˇzujme pouze ty syny, kteˇr´ı sv´ ym v´ yskytem dosahuj´ı alespon p procent celkov´eho poˇctu v´ yskyt˚ u r´ amce. (V´ yskyty vˇzdy vˇcetnˇe vˇsech potomk˚ u.) • Rekurzivnˇe “rozbalujme” hierarchii, dokud nebudou m´ıt vˇsechny dosavadn´ı kandid´ atsk´e r´ amce m´enˇe neˇz n v´ yskyt˚ u nebo kaˇzd´ y z jejich syn˚ u nedos´ ahne p procent v´ yskyt˚ u sv´eho otce. Za povrchov´e r´ amce slovesa algoritmus prohl´ as´ı mnoˇzinu kandid´ atsk´ ych r´ amc˚ u, u nichˇz se rozb´ alovan´ı hierarchie zastavilo. (Duplicitn´ı r´ amce je nutno odstranit; k jednomu r´ amci se dalo dostat v´ıce cestami v hierarchii.) Pouˇzijeme-li popsan´ y algoritmus na r´ amce z´ıskan´e sloveso pro d´ at, dostaneme pro parametry n = 20 a p = 10 resp p = 5 r´ amce uveden´e v tabulce 3.10 na n´ asleduj´ıc´ı stranˇe. Ve sloupci Vlastn´ı v´yskyty je uveden poˇcet v´ yskyt˚ u slovesa pr´ avˇe s dan´ ym povrchov´ ym r´ amcem. Ve sloupci V´yskyty bohatˇs´ıch r´ amc˚ u je uveden poˇcet v´ yskyt˚ u r´ amc˚ u, kter´e jsou nadmnoˇzinou sledovan´eho r´ amce (tj. obsahuj´ı nˇejak´ a doplnˇen´ı nav´ıc, teoreticky voln´ a doplnˇen´ı). Ve sloupci V´yskyty 15 Pˇ r´ıklad hierarchie je obt´ıˇzn´e prezentovat na omezen´e ploˇse str´ anky, pˇri naˇs´ı pr´ aci jsme pouˇzili n´ aˇs jednoduch´ y n´ astroj na interaktivn´ı prohl´ıˇzen´ı, “rozbalov´ an´ı”, orientovan´ ych graf˚ u v textov´em reˇzimu, viz pˇr´ılohu C na stranˇe 100.
V´ yskyty bohatˇs´ıch r´ amc˚ u
V´ yskyty chudˇs´ıch r´ amc˚ u
Souˇcet v´ yskyt˚ u realizac´ı r´ amce
Procento realizac´ı r´ amce v celkov´em poˇctu v´ yskyt˚ u
R´ amce odhadnut´e pro p=10 #1 #3 #4 #1 VV infin se #1 #4 c ˇasov´ e urˇ cen´ ı #1 infin podle-2#2 se R´ amce odhadnut´e pro p=5 #1 #3 #4 infin se z ˇe #1 VV infin se #1 #4 c ˇasov´ e urˇ cen´ ı #1 najevo#Db z ˇe #1 infin podle-2#2 se #1 #3 za-1#4 #1 infin se v-1#6 #1 #4 v-1#6 #1 #4 do-1#2 #3 #4 VV #1 #4 #7 #1 #4 na-1#4 #1 #4 z-1#2
Vlastn´ı v´ yskyty
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
8 5 2 5
8 2 4 1
19 66 14 59
35 73 20 65
15,0 % 31,3 % 8,6 % 27,9 %
8 5 5 2 3 5 3 3 1 1 1 1 1 1
8 5 2 4 3 1 0 0 2 1 1 1 1 1
19 32 66 14 2 59 4 58 15 15 14 16 14 13
35 42 73 20 8 65 7 61 18 17 16 18 16 15
15,0 % 18,0 % 31,3 % 8,6 % 3,4 % 27,9 % 3,0 % 26,2 % 7,7 % 7,3 % 6,9 % 7,7 % 6,9 % 6,4 %
43
Tabulka 3.10: Uk´ azkov´ y v´ ystup automatick´eho rozbalen´ı hierarchie r´ amc˚ u.
chudˇs´ıch r´ amc˚ u jsou naopak zapoˇcteny jen v´ yskyty podmnoˇzin sledovan´eho r´ amce. Nen´ı sledov´ an u ´daj o v´ yskytu r´ amc˚ u ostatn´ıch pˇr´ıpad˚ u (nepr´ azdn´ y pr˚ unik s dan´ ym r´ amcem, ale tak´e nˇejak´ a doplnˇen´ı nav´ıc). Tˇri uveden´e poˇcty jsou seˇcteny v pˇredposledn´ım sloupci tabulky. Tento u ´daj je odhadem v´ yskyt˚ u “realizac´ı” sledovan´eho r´ amce, ve smyslu: byl pozorov´ an r´ amec s´ am, jeho nadmnoˇzina (v´ yskyt “s voln´ ymi doplnˇen´ımi”) nebo jeho podmnoˇzina (v´ yskyt “s elidovan´ ymi ˇcleny”). Posledn´ı sloupec tabulky pak ud´ av´ a, jakou ˇca ´st celkov´eho poˇctu v´ yskyt˚ u slovesa d´ at lze takto zjednoduˇsenˇe interpretovat jako “realizaci” dan´eho r´ amce. Pˇrirozenˇe nemus´ı souˇcet procent d´ at dohromady 100 %.
3.4.4
Shrnut´ı
V t´eto kapitole jsme se zamˇeˇrili na z´ısk´ av´ an´ı povrchov´ ych syntaktick´ ych u ´daj˚ u z vˇet, kter´e nejsou syntakticky rozebr´ any. Konkr´etnˇe ˇslo o extrakce slovesn´ ych
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
44
r´ amc˚ u. Uk´ azali jsme, ˇze typicky ud´ avan´e u ´daje o u ´spˇeˇsnosti parser˚ u (pro ˇceˇstinu pˇribliˇznˇe 70 aˇz 80 % spr´ avnˇe zapojen´ ych uzl˚ u) nejsou z hlediska konkr´etn´ıch u ´kol˚ u pˇr´ıliˇs relevantn´ı. Pro u ´ˇcely naˇseho c´ıle, extrakce slovesn´ ych r´ amc˚ u, dosahuj´ı parsery u ´spˇeˇsnosti pˇribliˇznˇe pouze 30 aˇz 50 % spr´ avnˇe zpracovan´ ych v´ yskyt˚ u sloves. Pro aplikace, kde je tˇreba pracovat se spr´ avnˇe rozebranou celou vˇetou, lze pak oˇcek´ avat od parser˚ u spr´ avnˇe zpracovan´ ych pouze 15 aˇz 30 % vstupn´ıch vˇet. Pˇredstavili jsme lingvisticky motivovan´ a krit´eria filtrace vstupn´ıch vˇet tak, abychom mohli oˇcek´ avat kvalitnˇeji zpracovan´e vˇety. Naˇse filtry identifikuj´ı “velmi jednoduch´e vˇety” a teprve ty jsou pˇredloˇzeny parser˚ um. Uk´ azali jsme, ˇze pr˚ umˇernˇe 15 aˇz 20 % vˇet (podle restriktivnosti filtru) z korpus˚ u zapadne jeˇstˇe do t´eto kategorie. Pˇri pouˇzit´ı studovan´ ych parser˚ u pouze na “velmi jednoduch´e vˇety” se u ´spˇeˇsnost mˇeˇren´ a poˇctem spr´ avnˇe zavˇeˇsen´ ych uzl˚ u zlepˇs´ı o 5 aˇz 10 % (nejlepˇs´ı parser dos´ ahne necel´ ych 88 % spr´ avnˇe zavˇeˇsen´ ych uzl˚ u). Z hlediska krit´eria extrakce slovesn´ ych r´ amc˚ u filtrace vstupn´ıch vˇet pˇrinese zlepˇsen´ı o 10 aˇz cca 15 % (nejlepˇs´ı parser dos´ ahne t´emˇeˇr 65 % spr´ avnˇe pozorovan´ ych slovesn´ ych r´ amc˚ u). Nejv´ yznamnˇejˇs´ı posun u ´spˇeˇsnosti filtrace vstupn´ıch vˇet pˇrin´ aˇs´ı posledn´ımu krit´eriu, poˇctu spr´ avnˇe analyzovan´ ych vˇet. Dva ze sledovan´ ych parser˚ u dos´ ahly zdvojn´ asoben´ı u ´spˇeˇsnosti podle tohoto krit´eria. Nejlepˇs´ı ze studovan´ ych parser˚ u je pak schopen v´ıce neˇz 50 % vstupn´ıch vˇet analyzovat bezchybnˇe. V posledn´ı ˇca ´sti kapitoly jsme upozornili na obt´ıˇznost dalˇs´ıho u ´kolu, zpracov´ an´ı pozorovan´ ych r´ amc˚ u tak, abychom z´ıskali r´ amce povrchov´e. Navrhli jsme nˇekolik jednoduch´ ych lingvisticky motivovan´ ych filtrac´ı ˇclen˚ u v pozorovan´ ych r´ amc´ıch. Rovnˇeˇz jsme vyhodnotili jednoduch´ y algoritmus identifikace ˇcasov´ ych doplnˇen´ı slovesa. Na z´ akladˇe lexik´ aln´ı jednotky v koˇreni jmenn´e skupiny algoritmus spr´ avnˇe identifikuje ˇcasov´e urˇcen´ı v cca 96 % pˇr´ıpad˚ u. Navrhli jsme postup prob´ır´ an´ı pozorovan´ ych r´ amc˚ u pro anot´ atora a pˇredstavili jednoduch´ y automatick´ y zp˚ usob. Automaticky z´ıskan´e povrchov´e r´ amce vˇsak nepokl´ ad´ ame za lingvisticky adekv´ atn´ı.
´ ´ ˚ SLOVESA KAPITOLA 3. EXTRAKCE POVRCHOVYCH RAMC U
45
- (78 podr´ amc˚ u s 232+0 observacemi) 2x(#1) #3 #4 #6 #7 ADJ#- ADJ#1 ADJ#4 NUMER#- NUMER#1 ... - (2 podr´ amc˚ u s 77+1 observacemi) #1 VV infin podle-2#2 se - (1 podr´ amc˚ u s 70+1 observacemi) #1 VV infin se tak-3#Db - (2 podr´ amc˚ u s 65+5 observacemi) #1 VV infin se - (2 podr´ amc˚ u s 32+24 observacemi) #1 infin se - (2 podr´ amc˚ u s 4+27 observacemi) infin se - (0 podr´ amc˚ u s 0+1 observacemi) #1 - (1 podr´ amc˚ u s 31+9 observacemi) VV infin se - (3 podr´ amc˚ u s 60+1 observacemi) #1 #7 infin se - (3 podr´ amc˚ u s 60+1 observacemi) #1 c ˇasov´ e_urˇ cen´ ı infin se - (2 podr´ amc˚ u s 57+3 observacemi) #1 infin se v-1#6 - (2 podr´ amc˚ u s 57+1 observacemi) #1 infin se totiˇ z#Db - (2 podr´ amc˚ u s 57+1 observacemi) #1 infin k-1#3 se vˇ sak#J^ - (2 podr´ amc˚ u s 57+1 observacemi) #1 infin na-1#6 se - (1 podr´ amc˚ u s 56+1 observacemi) #1 infin ovˇ sem-1#J^ ...
Obr´ azek 3.2: Hierarchie pozorovan´ ych r´ amc˚ u slovesa d´ at ve smˇeru od nejobsaˇznˇejˇs´ıch r´ amc˚ u. Nult´ a a prvn´ı u ´roveˇ n hierarchie r´ amc˚ u slovesa d´ at: (V´ ypis je u ´pln´ y.) - (10 podr´ amc˚ u s 231+1=232 observacemi) - (5 podr´ amc˚ u s 124+2=126 observacemi) se - (4 podr´ amc˚ u s 122+2=124 observacemi) infin - (11 podr´ amc˚ u s 111+1=112 observacemi) #1 - (16 podr´ amc˚ u s 59+6=65 observacemi) #4 - (9 podr´ amc˚ u s 33+2=35 observacemi) #3 - (5 podr´ amc˚ u s 5+3=8 observacemi) si - (3 podr´ amc˚ u s 7+1=8 observacemi) do-1#2 - (4 podr´ amc˚ u s 5+1=6 observacemi) na-1#4 - (0 podr´ amc˚ u s 0+1=1 observacemi) jasnˇ e_^(*1´ y)#Dg najevo#Db z ˇe - (0 podr´ amc˚ u s 0+1=1 observacemi) 2x(ˇ casov´ e_urˇ cen´ ı) Hluˇs´ı pohled do hierarchie: - (10 podr´ amc˚ u s 231+1=232 observacemi) - (5 podr´ amc˚ u s 124+2=126 observacemi) se - (17 podr´ amc˚ u s 92+27=119 observacemi) infin se - (1 podr´ amc˚ u s 2+1=3 observacemi) #7 se - (1 podr´ amc˚ u s 1+1=2 observacemi) do-1#2 se - (0 podr´ amc˚ u s 0+1=1 observacemi) #1 na-1#4 se - (0 podr´ amc˚ u s 0+1=1 observacemi) #1 pak#Db se v-1#4 - (4 podr´ amc˚ u s 122+2=124 observacemi) infin - (17 podr´ amc˚ u s 92+27=119 observacemi) infin se - (1 podr´ amc˚ u s 1+1=2 observacemi) #1 c ˇasov´ e_urˇ cen´ ı infin - (0 podr´ amc˚ u s 0+1=1 observacemi) #1 #4 aby infin podle-2#2 - (0 podr´ amc˚ u s 0+1=1 observacemi) ADJ#- infin - (11 podr´ amc˚ u s 111+1=112 observacemi) #1 - (16 podr´ amc˚ u s 59+6=65 observacemi) #4 - (9 podr´ amc˚ u s 33+2=35 observacemi) #3 - (5 podr´ amc˚ u s 5+3=8 observacemi) si - (0 podr´ amc˚ u s 0+1=1 observacemi) #4 bˇ ehem#2 si - (0 podr´ amc˚ u s 0+1=1 observacemi) #1 #4 c ˇasov´ e_urˇ cen´ ı si - (0 podr´ amc˚ u s 0+1=1 observacemi) #4 k-1#3 si - (0 podr´ amc˚ u s 0+1=1 observacemi) #4 kromˇ e#2 na-1#6 si z-1#2 - (0 podr´ amc˚ u s 0+1=1 observacemi) #4 c ˇı ´slovka#- si spolu#Db - (3 podr´ amc˚ u s 7+1=8 observacemi) do-1#2 ...
Obr´ azek 3.3: Hierarchie pozorovan´ ych r´ amc˚ u slovesa d´ at ve smˇeru od nejchudˇs´ıch r´ amc˚ u.
Kapitola 4
Od pozorovan´ ych r´ amc˚ u k valenci Vu ´vodn´ım souhrnu dosavadn´ıch znalost´ı (kapitola 1.3 na stranˇe 12) jsme struˇcnˇe zavedli nejv´ yznamnˇejˇs´ı pojmy z teorie valence v r´ amci FGP. Shrˇ nme a doplˇ nme jeˇstˇe nˇekolik z´ asadn´ıch pojm˚ uu ´vodem t´eto kapitoly. V dalˇs´ı ˇca ´sti se zamˇeˇr´ıme na praktick´e probl´emy vztahu teorie a korpusov´ ych dat v ot´ azce hled´ an´ı valenˇcn´ıch r´ amc˚ u sloves.
4.1
Z´ akladn´ı pojmy
Aktanty a voln´ a doplnˇ en´ı. Hranici mezi aktanty (“povinn´ ymi” doplnˇen´ımi slovesa) a voln´ymi doplnˇen´ımi definuj´ı r˚ uzn´e lingvistick´e teorie r˚ uznˇe. FGP definuje oba pojmy na rovinˇe hloubkov´e syntaxe (tektogramatick´ a rovina) a pouˇz´ıv´ a tato krit´eria (podrobnosti viz Panevov´ a (1980)): • Aktant je pro sloveso charakteristick´ y. • Aktant nem˚ uˇze sloveso rozv´ıjet v´ıcen´ asobnˇe.1 • Voln´e doplnˇen´ı dan´eho typu m˚ uˇze rozv´ıjet prakticky libovoln´e sloveso. • Voln´e doplnˇen´ı m˚ uˇze sloveso rozv´ıjet i v´ıcen´ asobnˇe.2 Ve shodˇe s ostatn´ı literaturou vˇenovanou FGP uv´ ad´ı manu´ al pro znaˇckov´ an´ı na tektogramatick´e rovinˇe, viz Hajiˇcov´ a, Panevov´ a, and Sgall (1999), jako aktanty tyto typy doplnˇen´ı: ACT, PAT, ADDR, ORIG, EFF3 Vˇsechny ostatn´ı typy (vˇetnˇe ˇclensk´e funkce) doplnˇen´ı sloves jsou zaˇrazeny v kategorii voln´ ych doplnˇen´ı. Na tomto m´ıstˇe je vhodn´e upozornit na 1 Tj.
dan´ y typ aktantu se m˚ uˇze pod dan´ ym slovesem objevit nejv´ yˇse jedenkr´ at. Seˇsli se . 3 Pˇ resn´ y popis jednotliv´ ych typ˚ u doplnˇen´ı viz citovan´ a literatura. 2 Napˇ r.
46
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
47
skuteˇcnost, ˇze pojmu “voln´e doplnˇen´ı” se velmi ˇcasto uˇz´ıv´ a i pro oznaˇcen´ı doplnˇen´ı slovesa jeˇstˇe na rovinˇe povrchov´e syntaxe. FGP pˇritom tento pojem definuje aˇz na rovinˇe tektogramatick´e, a na rovinu povrchov´e syntaxe je form´ alnˇe vzato nutno tento pojem pˇrev´ adˇet. Z hlediska automatick´eho rozhodov´ an´ı tohoto krit´eria je dobr´e shrnout: Podaˇr´ı-li se n´ am spr´ avnˇe urˇcit funkci dan´eho doplnˇen´ı, je ot´ azka aktant vs. voln´e doplnˇen´ı zodpovˇezena. O obt´ıˇznosti automatick´eho odhadu funkce na z´ akladˇe formy vˇsak viz 4.2 na n´ asleduj´ıc´ı stranˇe. Doplnˇ en´ı obligatorn´ı a fakultativn´ı. Teorie valence v r´ amci FGP odliˇsuje doplnˇen´ı obligatorn´ı a fakultativn´ı. Odliˇsen´ı se prov´ ad´ı pro aktanty i pro voln´ a doplnˇen´ı a krit´eriem je tzv. dialogov´y test4 . Stoj´ı za pozn´ amku, ˇze krit´erium obligatornosti nen´ı moˇzn´e pˇri souˇcasn´ ych znalostech ˇza ´dn´ ym zp˚ usobem rozhodovat automaticky, nebot’ se rozhodnut´ı op´ır´ a velmi hluboce o s´emantiku dan´eho slovesa. Z tohoto d˚ uvodu se krit´eriem obligatornosti nebudeme v t´eto pr´ aci podrobnˇeji zab´ yvat. Do kontrastu s pojmem fakultativnosti doplnˇen´ı je nutno uv´est pojem vypustitelnosti doplnˇen´ı, kter´ y se vyjadˇruje k rovinˇe povrchov´e syntaxe a nikoli k rovinˇe tektogramatick´e.5 Pozorovan´ y r´ amec slovesa. T´ımto pojmem oznaˇcujeme mnoˇzinu syn˚ u slovesa v konkr´etn´ım povrchov´em syntaktick´em rozboru konkr´etn´ı vˇety. Povrchov´ y r´ amec slovesa. T´ımto pojmem (v pˇr´ım´e korespondenci s anglick´ ym subcategorization frame) oznaˇcujeme takov´ y seznam forem doplnˇen´ı slovesa, kter´ y je pro dan´e sloveso typick´ y. Vztahem mezi pozorovan´ ym a povrchov´ ym r´ amcem jsme se zab´ yvali jiˇz v kapitole 3.4 na stranˇe 37. Valenˇ cn´ı r´ amec slovesa. Valenˇcn´ı r´ amec v teorii valence v r´ amci FGP je definov´ an jako v´ yˇcet tˇech doplnˇen´ı slovesa, kter´ a jsou aktanty nebo obligatorn´ımi voln´ ymi doplnˇen´ımi. Proveden´e shrnut´ı pojm˚ u je z´ amˇernˇe omezeno na uˇzˇs´ı ot´ azky valence sloves s c´ılem budov´ an´ı valenˇcn´ıch slovn´ık˚ u sloves a napˇr. valence ostatn´ıch slovn´ıch druh˚ u je zcela z´ amˇernˇe ponech´ ana stranou. V pˇr´ıpadˇe z´ ajmu v tomto smˇeru odkazujeme ˇcten´ aˇre na text Panevov´ a (1980). Shrnut´ı je k dispozici t´eˇz v dalˇs´ıch prac´ıch, napˇr. Skoumalov´ a (2001) ˇci Straˇ na ´kov´ a-Lopatkov´ a (2001). 4 M˚ uˇze-li p˚ uvodce vˇety nevˇedˇet danou informaci (Rodiˇ ce pˇrijeli. Kdy? Nev´ım.), jde o doplnˇen´ı fakultativn´ı. Nen´ı-li s ohledem na pouˇzit´e sloveso pˇr´ıpustn´e, aby informaci nevˇedˇel (Kam pˇrijeli? *Nev´ım.), jde o doplnˇen´ı obligatorn´ı. Podrobnˇeji Panevov´ a (1980). 5 Ani povrchovou vypustitelnost nen´ ı moˇzn´e na z´ akladˇe syntakticky analyzovan´ ych vˇet automaticky rozhodnout bez zpˇresnˇen´ı lingvistick´e definice tohoto pojmu, nebot’ pˇrinejmenˇs´ım v kr´ atk´ ych odpovˇed´ıch na ot´ azky je moˇzn´e vypustit vˇsechna doplnˇen´ı slovesa a pojem vypustitelnosti tak ztrat´ı sv˚ uj smysl. (Potkal Petr Pavla? Potkal.)
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
4.2
48
Vztah formy a funkce
Asymetrick´ y dualismus vztahu formy a funkce jazykov´ ych znak˚ u je ve strukturalistick´e tradici hluboce vˇzit a formuloval jej jiˇz Karcevskij (1929). V naˇsem pˇr´ıpadˇe jde o to, ˇze doplnˇen´ı slovesa vyjadˇruj´ıc´ı jednu funkci (napˇr. konatel ACT, urˇcen´ı m´ısta kde LOC) mohou b´ yt i pro jedno sloveso vyj´ adˇrena v´ıce r˚ uzn´ ymi formami (napˇr. nominativem ˇci infinitivem ˇci genitivem, resp. pˇredloˇzkou v ˇci na v lokativu ˇci pˇredloˇzkou u v genitivu). D´ıky pr´ avˇe prob´ıhaj´ıc´ı anotaci PDT na u ´roveˇ n tektogramatick´e roviny je moˇzn´e vztah formy a funkce studovat podrobnˇeji. V pˇr´ıloze B na str. 92 lze naj´ıt detailn´ı v´ ypis z dosud anotovan´ ych cca 26 000 vˇet – souhrn nejˇcastˇejˇs´ıch povrchov´ ych realizac´ı nejˇcastˇejˇs´ıch funkc´ı a naopak nejˇcastˇejˇs´ıch rol´ı nejˇcastˇejˇs´ıch forem. Uˇz dosavadn´ı rozsah anotovan´ ych dat nab´ız´ı zaj´ımav´e moˇznosti ovˇeˇrovat tvrzen´ı teorie. Napˇr. se ukazuje, ˇze tzv. prim´ arn´ı funkce dan´e formy 6 jsou v nˇekter´ ych pˇr´ıpadech voleny diskutabilnˇe: Prim´ arn´ı funkc´ı pˇredloˇzky na s akuzativem je podle Hajiˇcov´ a, Panevov´ a, and Sgall (1999) funkce DIR3. Tuto funkci m´ a vˇsak v anotovan´ ych vˇet´ ach (v roli doplnˇen´ı slovesa) forma na+4 jen v cca 30 % v´ yskyt˚ u, ˇcastˇeji (t´emˇeˇr 40 %) vˇsak forma hraje roli PAT. Pˇri snaze o automatick´e odvozen´ı funkce doplnˇen´ı na z´ akladˇe jeho formy, coˇz je prvn´ı nutnou podm´ınkou pro moˇznost automatick´eho z´ısk´ av´ an´ı valenˇcn´ıch r´ amc˚ u7 , si mus´ıme uvˇedomit, ˇze funkce doplnˇen´ı je urˇcena nˇekolika faktory: • Povrchov´ a realizace doplnˇen´ı. (Pro jmenn´ a doplnˇen´ı pˇredevˇs´ım p´ ad a pˇredloˇzka.) • Lexik´ aln´ı hodnota slovesa (pokud jsme se jiˇz omezili na aktivn´ı formy slovesa, jinak t´eˇz slovesn´ y rod). • Lexik´ aln´ı obsazen´ı v doplnˇen´ı. Automatickou identifikac´ı funktor˚ u pˇri pˇrevodu vˇet z roviny povrchov´e ˇ syntaxe na rovinu tektogramatickou se zab´ yv´ a t´eˇz Zabokrtsk´ y, Dˇzeroski, and Sgall (2002). Pr´ ace se vˇsak zab´ yv´ a funkcemi vˇsech vˇetn´ ych ˇclen˚ u a nesoustˇred’uje se na role doplnˇen´ı u sloves. Na vˇsech uzlech vˇety (v tektogramatick´em z´ apisu; poˇcet uzl˚ u se na jednotliv´ ych rovin´ ach popisu m´ırnˇe liˇs´ı) dosahuje cca 80% u ´spˇeˇsnosti a v´ yznamnˇe usnadˇ nuje pr´ aci anot´ ator˚ um. V n´ asleduj´ıc´ı ˇca ´sti se pod´ıv´ ame na obt´ıˇznost automatick´eho zpracov´ an´ı jednotliv´ ych faktor˚ u ovlivˇ nuj´ıc´ıch funkci doplnˇen´ı slovesa podrobnˇeji. Pˇrirozenˇe je vˇsak velmi snadn´e vytvoˇrit takov´e pˇr´ıklady vˇet, kter´e pro syst´em automatizovan´e identifikace funkc´ı doplnˇen´ı slovesa budou pˇredstavovat nevyˇreˇsitelnou h´ adanku: 6 Viz Hajiˇ cov´ a, Panevov´ a, and Sgall (1999). Dan´ a forma by v bezpˇr´ıznakov´em pˇr´ıpadˇe, kde nejde o omezen´ı na urˇcitou tˇr´ıdu kontext˚ u, mˇela vyjadˇrovat danou funkci. 7 Druhou nutnou podm´ ınkou ve st´ avaj´ıc´ı definici valenˇcn´ıch r´ amc˚ u je krit´erium obligatornosti; jak vˇsak v´ıme, nen´ı toto krit´erium strojovˇe rozhodnuteln´e a bude tˇreba jeˇstˇe zv´ aˇzit jin´e moˇznosti, jak krit´erium aproximovat, nebo odliˇsnˇe definovat.
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
49
ˇ a na str´ (8) Cek´ aˇznici. Pokud syst´em napˇr´ıklad bude pracovat se vstupem, kter´ y je morfologicky nejednoznaˇcn´ y, nelze v pˇr´ıkladu 8 v˚ ubec rozhodnout, zda jde o doplnˇen´ı s funkc´ı LOC (ˇcek´ a kde), coˇz pˇredloˇzka na s ˇsest´ ym p´ adem signalizuje, nebo zda jde o doplnˇen´ı s funkc´ı PAT (ˇcek´ a na koho), jak signalizuje (i kdyˇz jiˇz m´enˇe jednoznaˇcnˇe) pˇredloˇzka na se ˇctvrt´ ym p´ adem.
4.2.1
Faktor povrchov´ e realizace doplnˇ en´ı
Faktor povrchov´e realizace doplnˇen´ı (p´ ad a pˇredloˇzka) bohuˇzel ve vˇetˇsinˇe pˇr´ıpad˚ u nem´ a rozhoduj´ıc´ı vliv – dan´ a forma sice nˇekter´e funkce vyˇrazuje ze hry, ale st´ ale velmi mnoho funkc´ı na v´ ybˇer zb´ yv´ a, jak je zˇrejm´e z pˇr´ılohy B.2 na str. 97. Ukazuje se, ˇze i “forma nejjistˇejˇs´ı”, tj. nominativ z´ avisl´ y na slovese, vyjadˇruje podle dosavadn´ıch dat svou prim´ arn´ı funkci ACT jen v 91 % v´ yskyt˚ u, a to i pˇresto, ˇze byly do pˇrehledu zaˇrazeny pouze v´ yskyty sloves v ˇcinn´em rodˇe. Nepˇr´ıjemn´ y odhad horn´ı hranice u ´spˇeˇsnosti jak´ ychkoli automatick´ ych postup˚ u podporuj´ı i dosavadn´ı r´ amce shrom´ aˇzdˇen´e v z´ arodku valenˇcn´ıho slovn´ıku ˇceˇstiny.8 Nominativ jako doplnˇen´ı slovesa je uveden v roli ACT u 97 % sloves, ve 2 % hraje roli PAT a d´ ale pak v´ yjimeˇcnˇe dalˇs´ı role aktant˚ u i voln´ ych doplnˇen´ı (EFF, COMPL, MANN a BEN).
4.2.2
Faktor lexik´ aln´ı hodnoty slovesa
Faktor lexik´ aln´ı hodnoty slovesa nen´ı pˇrirozenˇe moˇzn´e v algoritmu identifikace funkce doplnˇen´ı pod dan´ ym slovesem zohlednit, protoˇze pro dan´e sloveso pr´ avˇe zjiˇst’ujeme, jak´e funkce vyˇzaduje. Pokud by vˇsak byl tento faktor “slab´ y”, tj. vstupoval do hry jen u velmi mal´eho procenta sloves, mohli bychom jej zanedbat. Jiˇz velmi jednoduch´ y pˇr´ıklad n´ as vˇsak varuje, ˇze faktor lexik´ aln´ı hodnoty slovesa m˚ uˇze b´ yt v ˇradˇe pˇr´ıpad˚ u pr´ avˇe jedin´ y odliˇsuj´ıc´ı prvek: (9) a. Posuˇ n ten obr´ azek DIR3. b. Nechej ten obr´ azek LOC.9 Pro podrobnˇejˇs´ı studium vlivu lexik´ aln´ı hodnoty slovesa na v´ yklad jednotliv´ ych forem doplnˇen´ı jsme pˇripravili (opˇet na z´ akladˇe vˇet anotovan´ ych na tektogramatickou rovinu) tabulku 4.1 na n´ asleduj´ıc´ı stranˇe. V tabulce je uvedeno prvn´ıch patn´ act forem doplnˇen´ı, kter´ a se vyskytla u nejvˇetˇs´ıho poˇctu sloves. 8 Je tˇ reba zd˚ uraznit, ˇze v tomto slovn´ıku jsou shrom´ aˇzdˇena opravdu jen valenˇcn´ı a typick´ a doplnˇen´ı sloves, a u ´daj tedy nen´ı zat´ıˇzen zkreslen´ım voln´ ych doplnˇen´ı. 9 Jakkoli negramaticky m˚ uˇze pˇr´ıklad p˚ usobit, v´ yraz ke konci str´ anky anotovan´ y jako LOC je doslova uveden v Hajiˇcov´ a, Panevov´ a, and Sgall (1999).
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
50
Je tˇreba zd˚ uraznit, ˇze tabulka studuje vztah formy a funkce dle ˇcetnosti u sloves, nikoli dle ˇcetnosti v´yskyt˚ u dan´ ych forem. Z tabulky na stranˇe 97 je vˇsak zˇrejm´e, ˇze vˇsechny formy citovan´e zde byly spatˇreny jako doplnˇen´ı slovesa alespoˇ n pˇetsetkr´ at. ´ Udaj o poˇctu sloves, u nichˇz se doplnˇen´ı vyskytlo, je uveden vˇcetnˇe pod´ılu z celkov´eho poˇctu 3 036 sloves ve druh´em sloupci. V dalˇs´ıch sloupc´ıch jsou slovesa, u nichˇz byla spatˇrena dan´ a forma doplnˇen´ı, rozdˇelena do kategori´ı podle toho, jak´e vˇsechny funkce dan´e doplnˇen´ı u r˚ uzn´ ych v´ yskyt˚ u dan´eho slovesa hr´ alo. Rozliˇsujeme pˇritom, zda dan´ a forma doplnˇen´ı dan´eho slovesa hr´ ala v´ yhradnˇe roli jednoho konkr´etn´ıho aktantu (sloupce ACT aˇz EFF), nebo zda hr´ ala roli v´ yhradnˇe aktant˚ u, ale i v r´ amci v´ yskyt˚ u dan´eho slovesa nˇekolika r˚ uzn´ ych (sloupec Smˇes aktant˚ u), nebo zda hr´ ala z´ asadnˇe roli libovoln´eho z voln´ ych doplnˇen´ı, nebo zda i v r´ amci v´ yskyt˚ u jednoho slovesa hr´ ala dan´ a forma v nˇekter´ ych pˇr´ıpadech roli aktantu ˇci aktant˚ u a v jin´ ych pˇr´ıpadech roli voln´ ych doplnˇen´ı. Napˇr´ıklad nominativ #1 tak byl u 79,3 % sloves z celkov´eho poˇctu 2 487 spatˇren v´ yhradnˇe v roli ACT. U 2,5 % sloves vˇsak hr´ al v´ yhradnˇe roli PAT, atd. Forma #1 #4 VV v#6 se ˇze #7 #2 #3 na#6 na#4 i-1 infin do#2 #X s#7 z#2 vˇsak po#6 podle#2
Celkem u sloves 2 487 (81,9 %) 1 819 (59,9 %) 1 168 (38,5 %) 988 (32,5 %) 940 (31,0 %) 610 (20,1 %) 585 (19,3 %) 545 (18,0 %) 476 (15,7 %) 459 (15,1 %) 402 (13,2 %) 374 (12,3 %) 365 (12,0 %) 363 (12,0 %) 351 (11,6 %) 348 (11,5 %) 317 (10,4 %) 292 (9,6 %) 284 (9,4 %) 282 (9,3 %)
ACT 79,3 % 1,4 % 1,0 % 0,3 % 19,1 % 1,7 % 0,7 % 3,6 % 61,8 % -
V´ yhradnˇ e aktanty PAT ADDR ORIG 2,5 % 78,9 % 2,2 % 9,8 % 0,1 % 0,9 % 4,7 % 0,4 % 7,2 % 40,9 % 1,8 % 18,1 % 45,2 % 0,2 % 3,5 % 0,4 % 0,7 % 21,9 % 1,7 % 38,1 % 1,9 % 14,5 % 4,6 % 19,5 % 6,6 % 6,0 % 6,3 % 2,1 % 0,7 % -
EFF 0,1 % 0,4 % 1,4 % 2,1 % 0,6 % 2,7 % 6,6 % 1,9 % 0,6 % 2,3 % -
Smˇ es aktant˚ u 10,9 % 4,5 % 1,1 % 0,2 % 5,7 % 6,7 % 0,2 % 1,0 % 5,2 % 7,1 % 2,9 % 0,3 % -
Voln´ a doplnˇ en´ı Jen voln´e I aktanty 0,6 % 6,7 % 3,0 % 9,6 % 64,6 % 22,0 % 96,4 % 2,7 % 90,5 % 4,4 % 100,0 % 83,4 % 6,8 % 17,6 % 14,3 % 22,9 % 5,3 % 91,5 % 3,7 % 62,9 % 9,0 % 100,0 % 30,4 % 16,2 % 92,3 % 3,9 % 7,1 % 4,3 % 62,1 % 6,6 % 82,0 % 5,4 % 100,0 % 94,0 % 3,2 % 100,0 % -
Tabulka 4.1: Vliv lexik´ aln´ı hodnoty slovesa na urˇcen´ı funkce doplnˇen´ı na z´ akladˇe jeho formy. Jsou uvaˇzov´ any pouze v´ yskyty sloves v ˇcinn´em rodˇe. Z velik´ ych rozd´ıl˚ u mezi jednotliv´ ymi formami doplnˇen´ı je patrn´e, ˇze se “individu´ aln´ı” pˇr´ıstup k jednotliv´ ym form´ am doplnˇen´ı vyplat´ı. Abychom vˇsak odpovˇedˇeli na naˇsi p˚ uvodn´ı ot´ azku: pro danou formu doplnˇen´ı m´ a lexik´ aln´ı hodnota slovesa, pod n´ımˇz bylo toto doplnˇen´ı spatˇreno, vliv na funkci, kterou toto doplnˇen´ı hraje. Napˇr´ıklad akuzativ #4 je moˇzn´e bezpeˇcnˇe pokl´ adat za PAT jen u 78,9 % sloves. Pˇriprav´ıme-li tedy syst´em, kter´ y bude
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
51
pˇri pˇrev´ adˇen´ı povrchov´ ych r´ amc˚ u sloves na valenˇcn´ı hledˇet pouze na formu doplnˇen´ı, dopust´ı se tento syst´em chyby pro pˇribliˇznˇe pˇetinu sloves, kter´ a ve sv´em povrchov´em r´ amci akuzativ maj´ı. Syst´em na z´ akladˇe pozorovan´eho akuzativu rozhodne, ˇze jde o PAT, pˇritom u celkem 4 % sloves hraje akuzativ jednoznaˇcnˇe roli jin´eho z aktant˚ u. Podobnˇe, pokud syst´em pro kaˇzd´ y nominativ pod slovesem oznaˇc´ı toto doplnˇen´ı jako ACT, dopust´ı se opˇet u pˇribliˇznˇe pˇetiny sloves chyby. Pˇritom u 2,6 % sloves ˇslo o jasn´ y PAT, resp. EFF. Z uveden´ ych forem doplnˇen´ı je neobt´ıˇznˇejˇs´ı urˇcit funkci infinitivu, kter´ y pro 38,1 % sloves hraje ve vˇsech v´ yskytech roli PAT, u 30,4 % sloves vˇsak hraje ve vˇsech v´ yskytech roli nˇekter´eho z voln´ ych doplnˇen´ı. Naopak jako nejsn´ aze identifikovateln´ a se jev´ı doplnˇen´ı ˇze, i, vˇsak a podle, kter´ a vˇzdy hraj´ı roli voln´eho doplnˇen´ı (nerozliˇsujeme vˇsak, zda jde o jedin´ y druh voln´eho doplnˇen´ı, nebo smˇes r˚ uzn´ ych druh˚ u doplnˇen´ı, to lze nahl´ednout v pˇr´ıloze B.1 na str. 92).
4.2.3
Faktor lexik´ aln´ıho obsazen´ı v doplnˇ en´ı
Lexik´ aln´ı obsazen´ı ve studovan´em doplnˇen´ı slovesa je algoritmicky zat´ım rovnˇeˇz obt´ıˇznˇe uchopiteln´ y faktor. Prvn´ım pˇribl´ıˇzen´ım, o neˇz se pokouˇs´ı slovn´ık BRIEF, je odliˇsen´ı doplnˇen´ı (pˇredevˇs´ım na z´ akladˇe jmenn´eho rodu) na osoby a pˇredmˇety. D´ ale by bylo moˇzn´e napˇr. pouˇz´ıt Eurowordnet k pˇrevodu konkr´etn´ıch lexik´ aln´ıch jednotek na v´ıce ˇci m´enˇe zobecnˇen´e skupiny v´ yznam˚ u. Poˇcet ruzn´ ych typ˚ u jednotek by se tak sn´ıˇzil a manu´ alnˇe ˇci automaticky by bylo moˇzn´e i za souˇcasn´eho mnoˇzstv´ı tektogramaticky anotovan´ ych vˇet z´ıskat zobrazen´ı mezi hrub´ ym v´ yznamem doplnˇen´ı a jeho vˇetnˇe ˇclenskou funkc´ı. V´ ysledky tohoto postupu by vˇsak zat´ım pravdˇepodobnˇe nedos´ ahly oˇcek´ av´ an´ı. Metodu identifikace funkce na z´ akladˇe lexik´ aln´ıho obsazen´ı doplnˇen´ı lze zat´ım tedy pouˇz´ıt prakticky jen na typick´ a ˇcasov´ a urˇcen´ı, kde je seznam uˇz´ıvan´ ych slov pomˇernˇe mal´ y a pˇredevˇs´ım uzavˇren´ y. V´ ysledky t´eto metody jsme pˇredvedli v kapitole 3.4.2 na stranˇe 39.
4.2.4
Shrnut´ı
V t´eto kapitole jsme se zamˇeˇrili na ot´ azku automatick´eho z´ısk´ av´ an´ı valenˇcn´ıch r´ amc˚ u sloves. V u ´vodu jsme nejprve v definic´ıch odliˇsili valenˇcn´ı r´ amce od dosud uvaˇzovan´ ych pozorovan´ ych a povrchov´ ych r´ amc˚ u sloves. Pro rozhodnut´ı, kter´e doplnˇen´ı do valenˇcn´ıho r´ amce patˇr´ı a kter´e ne, je nutn´e vyhodnotit dvˇe krit´eria: urˇcit vˇetnˇe ˇclenskou funkci doplnˇen´ı (nebo alespoˇ n odliˇsit aktant a voln´e doplnˇen´ı) a ovˇeˇrit krit´erium obligatornosti. Druh´e uveden´e krit´erium zat´ım nen´ı moˇzn´e vyhodnocovat automaticky, a proto jsme se j´ım podrobnˇeji nezab´ yvali. Druh´ a ˇca ´st kapitoly byla vˇenov´ ana pˇrehledu probl´em˚ u pˇri snaze o vyhodnocen´ı prvn´ıho krit´eria, automatick´e identifikaci funkce doplnˇen´ı. Na datech, kter´ a byla pro PDT dosud anotov´ ana na tektogramatickou rovinu popisu, jsme uk´ azali, ˇze i
´ ´ ˚ K VALENCI KAPITOLA 4. OD POZOROVANYCH RAMC U
52
forma “nejjistˇejˇs´ı” svou rol´ı ve vˇetˇe, nominativ pod slovesem v aktivn´ım tvaru, hraje roli konatele jen v 91 % v´ yskyt˚ u. Upozornili jsme nav´ıc, ˇze v pˇrepoˇctu na slovesa m˚ uˇze b´ yt tento probl´em jeˇstˇe v´ yznamnˇejˇs´ı: nominativ byl jako jednoznaˇcn´ y aktor spatˇren jen u 79 % z 2 487 pozorovan´ ych sloves. Soud´ıme vˇsak, ˇze selektivnˇe, pro jednotliv´e formy doplnˇen´ı, je moˇzn´e pˇripravovat samostatn´ a krit´eria a dos´ ahnout tak lepˇs´ıch v´ ysledk˚ u. Rovnˇeˇz by bylo zaj´ımav´e na z´ akladˇe korpusov´ ych dat studovat vz´ ajemn´e vztahy mezi jednotliv´ ymi doplnˇen´ımi slovesa a z´ıskat pˇrehled o platn´ ych “lingvistick´ ych implikac´ıch”. (Napˇr. je-li sloveso rozvito akuzativem a souˇcasnˇe pˇredloˇzkou na s kauzativem, pak . . . ) Tuto ot´ azku vˇsak zat´ım nech´ av´ ame otevˇrenou dalˇs´ımu v´ yzkumu. Vzhledem k tomu, ˇze podkladov´ a data zat´ım proch´ azej´ı f´ az´ı anotace, m˚ uˇze se v nich dosud objevit mnoˇzstv´ı chyb. V takov´em pˇr´ıpadˇe je n´ aˇs souhrnn´ y pohled na doplnˇen´ı sloves jedn´ım z vhodn´ ych podnˇet˚ u k nalezen´ı a pˇr´ıpadn´e korekci chyb v anotaci.
Kapitola 5
Syst´ em AX 5.1
C´ıle syst´ emu a jazyka AX, moˇ znosti aplikace
Syst´em a jazyk AX je navrˇzen s c´ılem pohodlnˇe formulovat pravidla pro zpracov´ av´ an´ı vˇet pˇrirozen´eho jazyka (nejednoznaˇcnˇe) anotovan´ ych na morfologick´e rovinˇe popisu. Jazyk a syst´em AX umoˇzn ˇuj´ı snadno formulovat: • pravidla pro u ´pravy (zjednoduˇsov´ an´ı) vstupn´ı vˇety, • filtry pro odstranˇen´ı vˇet, kter´e svou sloˇzitost´ı pˇresahuj´ı poˇzadovan´e omezen´ı. Vzhledem k obecnosti n´ avrhu jazyka je vˇsak v syst´emu AX moˇzn´e implementovat ˇca ´steˇcn´ y ˇci plnohodnotn´ y syntaktick´ y analyz´ ator ˇr´ızen´ y pravidly a autor gramatiky m˚ uˇze podle sv´eho uv´ aˇzen´ı gramatiku formulovat jak v z´ avislostn´ım, tak bezprostˇrednˇe sloˇzkov´em pojet´ı. Analyz´ ator rovnˇeˇz plnˇe podporuje nedeterministick´e zpracov´ an´ı vstupu a pro jednu vstupn´ı vˇetu m˚ uˇze vr´ atit libovoln´ y poˇcet ˇreˇsen´ı. Nov´ y syst´em jsme v t´eto pr´ aci budovali proto, ˇze ˇza ´dn´ y z dosavadn´ıch syst´em˚ u (napˇr. ALE, PATR ˇci Holan (2001)) n´ am nepˇripadal dostateˇcnˇe flexibiln´ı a s dostaˇcnˇe siln´ ymi vyjadˇrovac´ımi prostˇredky pro pohodlnou a elegantn´ı formulaci naˇsich poˇzadavk˚ u na vˇety pˇrirozen´eho jazyka. Netvrd´ıme pˇritom, ˇze stejn´e poˇzadavky by nebylo moˇzn´e ve st´ avaj´ıc´ıch syst´emech nebo pˇr´ımo v libovoln´em z programovac´ıch jazyk˚ u implementovat, to rozhodnˇe ne. D´ıky vyjadˇrovac´ı s´ıle filtr˚ u a pravidel syst´emu AX je vˇsak formulace lingvistick´ ych filtr˚ u velmi pohodln´ a. Implementac´ı tohoto syst´emu jsme si rovnˇeˇz pˇripravili celou ˇradu komplexn´ıch datov´ ych struktur a z´ akladn´ıch algoritm˚ u, kter´e bude v budoucnu moˇzn´e pouˇz´ıt i ve velmi odliˇsn´ ych lingvistick´ ych syst´emech, mj. napˇr. syntaktick´ ych analyz´ atorech zaloˇzen´ ych na automatick´e extrakci platn´ ych gramatick´ ych pravidel a jejich aplikaci stochastick´ ym zp˚ usobem. Naznaˇcme nyn´ı souhrnn´e sch´ema bˇehu syst´emu AX. Vstupn´ı vˇeta je reprezentov´ ana jako posloupnost sestav rys˚ u, z nichˇz kaˇzd´ a odpov´ıd´ a jednomu vstupn´ımu slovu vˇety. (Podrobnˇeji viz kapitola 5.2 na n´ asleduj´ıc´ı stranˇe.) Postup 53
´ AX KAPITOLA 5. SYSTEM
54
zpracov´ an´ı je pro pˇrehlednost rozdˇelen do nˇekolika navazuj´ıc´ıch blok˚ u. Na vstupu kaˇzd´eho bloku je mnoˇzina posloupnost´ı sestav rys˚ u, jin´ ymi slovy mnoˇzina dosavadn´ıch ˇcten´ı vˇety. Blok je bud’to filtrem (viz 5.4 na stranˇe 62), jehoˇz u ´kolem je nˇekter´ a z dosavadn´ıch ˇcten´ı vˇety zam´ıtnout a nedovolit dalˇs´ı zpracov´ an´ı, nebo skupinou pravidel, jejichˇz u ´kolem je ˇcten´ı vˇety nˇejak upravit a generovat novou mnoˇzinu ˇcten´ı. Do prvn´ıho bloku vˇzdy vstupuje vstupn´ı vˇeta, mnoˇzina ˇcten´ı na v´ ystupu z posledn´ıho bloku je v´ ystupem cel´eho syst´emu. Poˇrad´ı i typ jednotliv´ ych blok˚ u je zcela na autorovi programu pro syst´em AX, tzv. gramatiky. Pˇr´ıklad chodu je naznaˇcen ve sch´ematu 5.1. F´ aze: Poˇcet ˇcten´ı ve hˇre: Poˇcet ˇcten´ı ve hˇre: Poˇcet ˇcten´ı ve hˇre:
Vstup 1 1 1
Filtr1 ∅ 1 1
Generov´ an´ı1
F2
G2
F3
G3
F4
20 30
10 12
50 35
∅ 17
34
16
Obr´ azek 5.1: V pˇr´ıkladu byla prvn´ı vstupn´ı vˇeta zam´ıtnuta filtrem 1, druh´ a vstupn´ı vˇeta byla zam´ıtnuta filtrem 3 a teprve tˇret´ı vstupn´ı vˇeta byla pˇrijata a gramatika pro ni naˇsla 16 r˚ uzn´ ych ˇcten´ı. Blokov´e sch´ema zpracov´ an´ı vˇet vych´ azelo z pˇredstavy o gramatice pro extrakci povrchov´ ych r´ amc˚ u slovesa a pro ilustraci ji uvedeme i zde: • Negativn´ı f´ aze zam´ıtne vˇety s nevhodn´ ymi slovn´ımi jednotkami (nerozpoznan´ a slova, sloˇzit´ a interpunkce ap.), • Regul´ arn´ı filtr spoj´ı pevn´e ˇret´ızky slov do nedˇeliteln´ ych jednotek (napˇr. neprav´e pˇredloˇzky, idiomy, skupiny ˇc´ısel ap.), • N´ asleduje sloˇzen´ı analytick´ ych slovesn´ ych tvar˚ u a identifikace klauz´ı, • Zam´ıtnut´ı vˇet s pˇr´ıliˇs sloˇzitou strukturou klauz´ı, • Redukce jmenn´ ych a pˇredloˇzkov´ ych skupin, • Vyˇsetˇren´ı rizika syntaktick´e homonymie jmenn´ ych a pˇredloˇzkov´ ych skupin, dalˇs´ı moˇznost zam´ıtnut´ı vˇet, • Souhrn v´ ysledk˚ u. Detailnˇe se blokov´ ym zpracov´ an´ım mnoˇzin ˇcten´ı vˇet zab´ yv´ a kapitola 5.6 na stranˇe 70. Kapitola 5.8.2 na str. 77 popisuje moˇznost, jak podstatn´ ym zp˚ usobem obohatit z´ akladn´ı sch´ema zpracov´ an´ı vˇet a nab´ıdnout autorovi gramatiky plnou kontrolu nad ˇr´ızen´ım bˇehu. Pˇr´ılohou k t´eto pr´ aci je i CD s posledn´ı verz´ı syst´emu AX.
5.2
Z´ akladn´ı datov´ a struktura: Variantov´ a sestava rys˚ u
Sestavy rys˚ u (feature structures, atribute-value matrices) pˇredstavuj´ı velmi zn´ amou datovou strukturu. V´ yznamn´eho uplatnˇen´ı dostaly sestavy rys˚ u ve
´ AX KAPITOLA 5. SYSTEM
55
formalismu HPSG (viz Pollard and Sag (1994)), a odtud tak´e poch´ az´ı inspirace pro syst´em AX. Pro detailn´ı charakteristiku typovan´ ych sestav rys˚ u doporuˇcujeme pr´ aci Penn (2000). Pro u ´ˇcely t´eto pr´ ace postaˇc´ı jednoduˇsˇs´ı a netypovan´e zaveden´ı t´eto datov´e struktury, jak je pˇredvedeme v t´eto kapitole.
5.2.1
Definice variantov´ e sestavy rys˚ u
Variantov´ a sestava rys˚ u je jedno z: • Jednoduch´ a hodnota (napˇr. symbol sg pro jednotn´e ˇc´ıslo, nebo int(312) pro ˇc´ıslo hodnoty 312 ap.) • Seznam dvojic tvaru (n´ azev poloˇzky - hodnota poloˇzky), kde n´ azev poloˇzky je z pˇredem definovan´e mnoˇziny poloˇzek a hodnota poloˇzky je variantov´ a sestava rys˚ u. Na poˇrad´ı dvojic v seznamu pˇritom nez´ aleˇz´ı a ˇza ´dn´e jm´eno poloˇzky se nesm´ı v seznamu vyskytnout v´ıcekr´ at. V podstatˇe se tedy jedn´ a o (ˇca ´steˇcn´e) zobrazen´ı z mnoˇziny jmen do mnoˇziny variantov´ ych sestav rys˚ u. • Seznam moˇznost´ı sestav rys˚ u, tj. seznam tvaru { ...prvky seznamu... }, kde kaˇzd´ y prvek seznamu je variantov´ a sestava rys˚ u. Pr´ avˇe posledn´ı ˇca ´st definice, seznam moˇznost´ı, je t´ım, co naˇsi variantovou sestavu rys˚ u odliˇsuje od (obyˇcejn´ ych) sestav rys˚ u. Variantov´e sestavy rys˚ u umoˇzn ˇuj´ı v jedin´e struktuˇre popsat v´ıce pˇr´ıpustn´ ych moˇznost´ı. Pro jednoduchost uˇz´ıvejme v dalˇs´ım textu term´ın “sestava rys˚ u” i pro variantovou sestavu rys˚ u.
5.2.2
Operace nad sestavami rys˚ u
Operace unifikace Z´ akladn´ı operac´ı s (variantov´ ymi) sestavami rys˚ u je unifikace. Unifikac´ı dvou sestav rys˚ u vznikne sestava rys˚ u obsahuj´ıc´ı informace z obou vstupn´ıch sestav. Napˇr. "
jmeno prijmeni
Kamil Horak
#
" prijmeni a vek
Horak int(32)
#
unifikuj´ı do struktury 2
jmeno 6 4prijmeni vek
3 Kamil 7 Horak 5 int(32)
Unifikace m˚ uˇze selhat, pokud obˇe vstupn´ı sestavy rys˚ u obsahuj´ı atribut t´ehoˇz jm´ena ale rozd´ıln´e hodnoty:
´ AX KAPITOLA 5. SYSTEM "
jmeno prijmeni
Kamil Horak
#
neunifikuj´ı.
2
jmeno 6 a 4prijmeni vek
56 3 Josef 7 Horak 5 int(32)
Je-li hodnotou nˇejak´eho atributu jedn´e vstupn´ı sestavy rys˚ u vnoˇren´ a sestava rys˚ u, je tato vnoˇren´ a sestava unifikov´ ana s hodnotou t´ehoˇz atributu druh´e vstupn´ı sestavy: 2
"
#3 2 h i3 Kamil 7 id prijmeni Horak 6 Horak 7 h i 7 7 a 4 5 i5 udaje vek int(32) svobodny
jmeno prijmeni
6id 6 6 h 4 udaje stav
unifikuj´ı za vzniku: 2
" #3 jmeno Kamil 6id 7 6 prijmeni Horak 7 6 " #7 6 7 6 7 stav svobodny 4udaje 5 vek int(32)
Rozˇs´ıˇren´ı operace unifikace pro variantov´e sestavy rys˚ u je pˇr´ımoˇcar´e. Pokud vstupn´ı sestavy neobsahuj´ı v´ yˇcet variant, jde o obyˇcejnou unifikaci sestav rys˚ u. Pokud alespoˇ n jedna ze vstupn´ıch sestav pˇripouˇst´ı varianty, budou postupnˇe unifikov´ any vˇsechny pˇr´ıpustn´e kombinace vstupn´ıch variant. V´ ystupem bude takov´ a sestava rys˚ u, kter´ a pˇripouˇst´ı pr´ avˇe u ´spˇeˇsn´e v´ ysledky unifikac´ı. n
int(32), int(35)
o
unifikuj´ı za vzniku
a
n
int(35), int(40)
o
int(35)
Operace slouˇ cen´ı, merge Pro variantov´e sestavy rys˚ u je nav´ıc definov´ ana operace slouˇcen´ı (merge) dvou sestav rys˚ u tak, aby v´ ysledn´ a sestava unifikovala pr´ avˇe s tˇemi sestavami rys˚ u, kter´e unifikuj´ı s libovolnou ze vstupn´ıch sestav. "
jmeno prijmeni
Kamil Horak
#
" jmeno a prijmeni
Josef Horak
#
lze slouˇcit do sestavy rys˚ u 2 4
jmeno prijmeni
n
Kamil, Josef
Horak
Ale napˇr. "
jmeno prijmeni
Kamil Horak
#
o3 5
" jmeno a prijmeni
Josef Klement
#
´ AX KAPITOLA 5. SYSTEM
57
lze slouˇcit pouze do sestavy rys˚ u: 8" < jmeno
: prijmeni
Kamil Horak
#" ,
#9 =
jmeno
Josef
prijmeni
Klement ;
a nikoli
n o 3 jmeno Kamil, Josef 6 n o7 5 4 prijmeni Horak, Klement 2
protoˇze tato sestava by unifikovala nav´ıc se sestavou “Josef Klement”, kter´ a vˇsak neunifikovala s ani jednou ze vstupn´ıch sestav. Operace slouˇcen´ı se uˇz´ıv´ a pˇri naˇc´ıt´ an´ı nejednoznaˇcn´ ych morfologick´ ych informac´ı o dan´em slovˇe, tak aby vˇsechna morfologick´ a ˇcten´ı byla uchov´ ana v jedin´e (variantov´e) sestavˇe rys˚ u a bylo moˇzn´e se vˇsemi ˇcten´ımi pracovat najednou (viz 5.2.3 na stranˇe 59). Operace extrakce hodnoty atributu Pˇri operaci extrakce atributu z´ısk´ ame z dan´e vstupn´ı sestavy podsestavu (ˇci jednoduchou hodnotu) uloˇzenou v dan´em atributu. Pro variantov´e sestavy rys˚ u je vˇsak tˇreba m´ıt na pamˇeti, ˇze operace extrakce hodnoty atributu je nedeterministick´ a, nemus´ı m´ıt ˇreˇsen´ı v˚ ubec (pokud atribut v sestavˇe nen´ı), ale vzhledem k moˇzn´ ym variant´ am sestavy m˚ uˇze m´ıt i ˇreˇsen´ı nˇekolik. M˚ uˇzeme rovnˇeˇz uvaˇzovat o extrakci hodnoty hloubˇeji ve struktuˇre sestavy – v jej´ıch podsestav´ ach podle dan´e “cesty” atributy. Budeme-li cht´ıt definovat operaci extrakce alespoˇ n polodeterministicky 1 , nezb´ yv´ a, neˇz za jednoznaˇcn´ y v´ ysledek prohl´ asit spojen´ı vˇsech v´ ysledk˚ u, kter´e je extrakc´ı moˇzn´e z´ıskat; pokud alespoˇ n jeden takov´ y vysledek z´ıskat lze. Je zˇrejm´e, ˇze deterministickou extrakc´ı vˇsech hodnot v sestavˇe a jejich opˇetovn´ ym slouˇcen´ım z´ısk´ ame sestavu novou, neekvivalentn´ı se sestavou p˚ uvodn´ı. Operace obalen´ı sestavy Operace obalen´ı sestavy slouˇz´ı jako protiklad k operaci extrakce. Pro danou vstupn´ı sestavu (napˇr. [case - gen]) a vstupn´ı atribut ˇci cestu atributy (napˇr agr) z´ısk´ ame strukturnˇe hlubˇs´ı sestavu rys˚ u: » h agr case
gen
i–
1 Tj. tak, aby vracela nejv´ yˇse jedno ˇreˇsen´ı, ale smˇela neuspˇet a nevr´ atit ˇza ´dn´e. Podrobnˇeji viz Somogyi, Henderson, and Conway (1995) a dokumentace k Mercury.
´ AX KAPITOLA 5. SYSTEM
58
Operace maz´ an´ı atributu Ve variantov´ ych sestav´ ach je rovnˇeˇz ˇsirˇs´ı prostor pro to, jak definovat operaci maz´ an´ı atributu. Chceme-li napˇr. v sestavˇe: 8" < jmeno
: prijmeni
#" Kamil jmeno , Horak prijmeni
#9 = Josef Klement ;
smazat atribut jmeno, m˚ uˇzeme operaci maz´ an´ı definovat jako deterministickou nebo jako nedeterministickou. V prvn´ım pˇr´ıpadˇe zn´ı u ´kol: Smaˇz ve vˇsech variant´ ach sestavy atribut jm´eno, a jako v´ ysledek dostaneme: h
ih iff Horak , prijmeni Klement » n o– nebo struˇcnˇeji prijmeni Horak, Klement prijmeni
Pˇri nedeterministick´e definici operace (s nepatrnˇe jednoduˇsˇs´ı implementac´ı) dostaneme postupnˇe jako v´ ysledky jednotliv´e varianty sestavy, vˇzdy se smazan´ ym atributem jmeno: h
prijmeni
Horak
i
a
h
prijmeni
Klement
i
Rozhodnut´ı, jak operaci maz´ an´ı atributu definujeme, m´ a pˇredevˇs´ım technick´e d˚ usledky pˇri manipulacemi se sestavami rys˚ u ve sloˇzitˇejˇs´ıch ˇca ´stech k´ odu. Program´ ator m˚ uˇze cht´ıt nedeterminismu vyuˇz´ıvat, nebo naopak m˚ uˇze cht´ıt z´ıskat hned jedinou sestavu. Je vˇsak d˚ uleˇzit´e uvˇedomit si, ˇze v´ ysledek determinick´eho smaz´ an´ı atributu podle implementace nemus´ı b´yt identick´ y s v´ ysledkem slouˇcen´ı vˇsech ˇreˇsen´ı, kter´ a poskytl nedeterministick´ y postup. (Sluˇcov´ an´ım totiˇz vznikaj´ı pˇrednostnˇe “kompaktnˇejˇs´ı” sestavy, takov´e, kter´e maj´ı v´ yˇcty moˇzn´ ych variant co nejhloubˇeji ve sv´e struktuˇre.) Z hlediska dalˇs´ı unifikace tˇechto odliˇsn´ ych v´ ysledk˚ u s jin´ ymi sestavami jsou vˇsak oba v´ ysledky ekvivalentn´ı. Podobnˇe jako u extrakce lze uvaˇzovat o maz´ an´ı atribu hloubˇeji ve struktuˇre sestavy rys˚ u. Lze t´eˇz definovat operace restrikce a projekce nad sestavou rys˚ u. Pˇri restrikci smaˇzeme ze sestavy rys˚ u vˇsechny uveden´e atributy ˇci cesty k atribut˚ um. Pˇri projekci ze vstupn´ı sestavy vˇsechny uveden´e atributy ˇci cesty k atribut˚ um naopak ponech´ ame a ostatn´ı odstran´ıme. Pozn´ amky k implementaci Z´ akladn´ı sestavy rys˚ u jsou uchov´ av´ any v podobˇe seznamu dvojic atribut-hodnota uspoˇra ´dan´eho podle n´ azv˚ u atribut˚ u (poˇrad´ı podle definice povolen´ ych atribut˚ u). Uspoˇra ´d´ an´ı umoˇzn ˇuje efektivnˇeji implementovat operace nad sestavami, pˇredevˇs´ım ˇcasto uˇz´ıvanou unifikaci. Nav´ıc, jsou-li definov´ any povolen´e n´ azvy atribut˚ u uspoˇra ´danˇe tak, aby atributy, kter´e nejsn´ aze odliˇsuj´ı sestavy rys˚ u byly mezi prvn´ımi, je bˇeh unifikace v konkr´etn´ıch situac´ıch jeˇstˇe rychlejˇs´ı. Rovnˇeˇz je tˇreba upozornit na to, ˇze st´ avaj´ıc´ı definice variantov´e sestavy
´ AX KAPITOLA 5. SYSTEM
59
rys˚ u dovoluje zapsat jedinou sestavu v´ıce r˚ uzn´ ymi z´ apisy, v´ıce ˇci m´enˇe “kompaktn´ımi”, podle toho, zda jsou jednotliv´e varianty hodnot uvedeny hloubˇeji ˇci v´ yˇse ve struktuˇre podsestav. Z hlediska implementace je zde tedy riziko zbyteˇcn´eho pl´ ytv´ an´ı syst´emov´ ymi zdroji, pokud by sestavy byly obsaˇznˇejˇs´ı a nebyly zapisov´ any v dostateˇcnˇe “kompaktn´ım” tvaru. V praxi vˇsak k tomuto probl´emu zat´ım nedoch´ az´ı.
5.2.3
Reprezentace slovn´ıho tvaru variantovou sestavu rys˚ u
Pro kaˇzd´e vstupn´ı slovo je k dispozici informace o moˇzn´ ych z´ akladn´ıch tvarech (lemmatech) tohoto slova a o morfologick´ ych pˇr´ıznac´ıch, kter´e konkr´etn´ı tvar ve vˇetˇe oproti z´ akladn´ımu tvaru nese. Kaˇzd´e vstupn´ı slovo budeme reprezentovat jedinou variantovou sestavou rys˚ u, lemma i morfologick´e kategorie budou uchov´ av´ any v samostatn´ ych atributech. Vstupn´ı vˇetu pak m˚ uˇzeme reprezentovat jako seznam sestav rys˚ u jednotliv´ ych slov. Pro n´ azornost uvedeme pˇr´ıklad reprezentace jednoho slova: Slovo m´ a napˇr. ve vˇetˇe: Jakou barvu m´ a star´ a ˇzidle? je morfologickou anal´ yzou zpracov´ ano do form´ atu CSTS (zalomen´ı ˇra ´dek pˇrid´ ano pro pˇrehlednost): m´ a<MMl>m´ ıt<MMt>VB-S---3P-AA--<MMl>m˚ uj<MMt>PSFS1-S1------1<MMt>PSFS5-S1------1 <MMt>PSNP1-S1------1<MMt>PSNP4-S1------1 <MMt>PSNP5-S1------1 Slovo m´ a m˚ uˇze b´ yt bud’ tvarem slovesa m´ıt, nebo tvarem z´ ajmena m˚ uj (a to hned v nˇekolika r˚ uzn´ ych p´ adech jednotn´eho i mnoˇzn´eho ˇc´ısla ˇzensk´eho i stˇredn´ıho rodu). Pˇri naˇc´ıt´ an´ı tohoto vstupu se vˇsechna moˇzn´ a ˇcten´ı slova m´ a na morfologick´e rovinˇe uloˇz´ı do jedin´e (variantov´e) sestavy rys˚ u, viz obr´ azek 5.2 na n´ asleduj´ıc´ı stranˇe. Podrobn´ y pˇrehled o vztahu pouˇzit´ ych atribut˚ u a morfologick´ ych znaˇcek, kter´e jsou v´ ystupem z morfologick´e anal´ yzy nebudeme v t´eto dokumentaci uv´ adˇet, k dispozici je na pˇriloˇzen´em CD. N´ azvy atribut˚ u i hodnot jsou pomˇernˇe mnemotechnick´e. Jmenujme vˇsak nejv´ yznamnˇejˇs´ı z atribut˚ u: cat uchov´ av´ a hrubou kategorii reprezentovan´eho slova (podstatn´e jm´eno,
pˇr´ıdavn´e jm´eno, . . . , interpunkce, . . . ). morfcat nese podrobnou morfologickou kategorii, tak, jak je uloˇ zena ve druh´e
pozici poziˇcn´ıho syst´emu morfologick´ ych znaˇcek. form obsahuje konkr´ etn´ı slovn´ı tvar. lemma obsahuje z´ akladn´ı tvar slova. agr obsahuje jako podsestavu rys˚ u atributy case, gend, num a pers nesouc´ı
u ´daje o jmenn´em p´ adu, rodu a ˇc´ısle a (slovesn´e) osobˇe. Tyto atributy
´ AX KAPITOLA 5. SYSTEM 8 2 > cat > > > 6morfcat > > 6 > > > 2 36 > 6lemma > > cat verb 6 > > 6 7 6form > > >6morfcat morfcat(verb(presfut))7 6 > 6 76 > > 6 76 > > 76 >6lemma string(”m´ıt”) > 6 76 > > 76 >6form string(”m´ a”) > 76 <6 " # 6 76 num sg 6 7, 6 6 76 > agr > 6 76 > pers third > 6 76 > > 6 76 > > 6tense 7 6agr > pres > 6 76 > > 6 76 > > active > 4voice 56 > 6 > > 6 > neg pos > 6 > > 6 > > > 4 > > > :
60 39 > > > 7> > 7> > > 7> > 7> string(”m˚ uj”) > 7> > > 7 string(”m´ a”) > 7> > > 7 82 9 > n o3 7> > > > > 7 > > case nom, vok > > > > > > 7 6 7 > > > > > 7> 6 7 > > > = 7 > > 6 7 gend fem > > 7 > > 6 7 > > > >7 7 6 > > 7> > > 4num sg 5 > > > > > 7> > > < pers first =7> > > 7> 2 > n o3 7> > 7> > > > > > case nom, aku, vok > 7 > > > > 7> 6 > > 7> > > > 7 6 > > > 7 > > > 7 6 gend neut 7 > > >6 >7> > 7 > > > > > 7 6 > > >7> num pl > > > 5 4 > > > 5 > > > > > > : pers first ;> ; pron morfcat(pron(poss))
Obr´ azek 5.2: Sestava rys˚ u pro reprezentaci slovn´ıho tvaru m´ a.
jsou reprezentov´ any v r´ amci spoleˇcn´e podsestavy agr proto, ˇze pˇredevˇs´ım u podstatn´ ych a pˇr´ıdavn´ ych jmen doch´ az´ı v tˇechto atributech k ˇcetn´ ym nejednoznaˇcnostem, pˇriˇcemˇz kategorie slovn´ıho tvaru i lemmatu jsou pro vˇsechny moˇznosti identick´e. Je tedy u ´spornˇejˇs´ı uchovat v sestavˇe spoleˇcn´e atributy jen jednou a nejednoznaˇcnost zaznamenat aˇz hloubˇeji datov´e struktuˇre sestavy rys˚ u.
5.2.4
Syntax variantov´ ych sestav rys˚ u v jazyce AX
Pˇredeˇsl´ a kapitola podrobnˇe pˇredstavila datovou strukturu variantov´e sestavy rys˚ u a z´ akladn´ı operace definovan´e nad touto strukturou. V t´eto kapitole pop´ıˇseme ˇca ´st syntaxe jazyka AX t´ ykaj´ıc´ı se variantov´ ych sestav rys˚ u.
5.3
Z´ apis sestav rys˚ u
Obr´ azek 5.2 ilustruje, jak je sestavou rys˚ u reprezentov´ an slovn´ı tvar m´ a, jenˇz m˚ uˇze b´ yt ch´ ap´ an jako tvar slovesa m´ıt i jako tvar z´ ajmene m˚ uj v nˇekolika moˇzn´ ych rodech, ˇc´ıslech a p´ adech. Struˇcnˇe se tato sestava rys˚ u v syntaxi jazyka AX zapisuje takto: [ cat - verb, morfcat-’da(morfcat(verb(presfut)))’, lemma - "m´ ıt", form - "m´ a", agr - [ num-sg, pers-third ], tense - pres, voice - active, neg-pos | cat - pron, morfcat - ’da(morfcat(pron(poss)))’, lemma - "m˚ uj", form - "m´ a", agr - [ case - nom;vok, gend - fem, num - sg, pers - first | case - nom; aku; vok, gend - neut, num - pl, pers - first ]
´ AX KAPITOLA 5. SYSTEM
61
] V pˇr´ıkladu jsme se setkali se vˇsemi v´ yznamn´ ymi prvky syntaxe: • Sestava rys˚ u je ohraniˇcena hranat´ ymi z´ avorkami. • Jednotliv´e varianty v r´ amci jedn´e sestavy rys˚ u oddˇeluje znak |. • Dvojice atribut - hodnota se oddˇeluje znakem -. • Jednotliv´e p´ ary atribut - hodnota jsou oddˇeleny ˇca ´rkou. • Jednotliv´e varianty jednoduch´ ych hodnot pro jeden atribut oddˇeluje stˇredn´ık. • Textov´e hodnoty je tˇreba uzavˇr´ıt do uvozovek. • Sloˇzit´e hodnoty (zde morfcat) je z technick´ ych d˚ uvod˚ u (viz 5.9 na str. 79) zat´ım nutno uv´ adˇet v apostrofech a ve v´ yrazu ’da()’. Tento nedostatek bude v nejbliˇzˇs´ı uveˇrejnˇen´e verzi syst´emu odstranˇen.
5.3.1
Zkratky
Pro konstatn´ı sestavy rys˚ u, kter´e se v gramatice vyskytuj´ı ˇcasto, je u ´ˇceln´e zav´est zkratky. Direktiva pro zaveden´ı zkratek v jazyce AX bud’ zav´ ad´ı jedinou zkratku, nebo zav´ ad´ı hned skupinu zkratek najednou; takto: shortcut verb = [cat-verb] shortcuts noun = [cat-noun|morfcat-’da(morfcat(pron(pers)))’; ’da(morfcat(pron(pers_short)))’], adj = [cat-adj|morfcat-’da(morfcat(pron(poss)))’; ’da(morfcat(pron(poss_refl)))’] end Zkratky lze od okamˇziku zaveden´ı pouˇz´ıvat na vˇsech m´ıstech, kde je moˇzn´e uv´est konstatn´ı sestavu rys˚ u (tj. ve v´ yrazech z konstatn´ıch sestav rys˚ u, ve filtrech i v pravidlech, viz n´ıˇze). Jako jm´eno zkratky nen´ı moˇzn´e pouˇz´ıt ˇza ´dn´e kl´ıˇcov´e slovo jazyka AX. Seznam kl´ıˇcov´ ych slov viz dokumentace na pˇriloˇzen´em CD.
5.3.2
Morfologick´ a anal´ yza na m´ıstˇ e, “instantn´ı sestavy rys˚ u”
Jelikoˇz i sestava pro jeden slovn´ı tvar m˚ uˇze b´ yt pomˇernˇe sloˇzit´ a a obsahuje ˇradu atribut˚ u, jejichˇz n´ azvy je obt´ıˇzn´e si zapamatovat, byl jazyk AX obohacen o moˇznost zav´est sestavu rys˚ u pˇr´ım´ ym pˇr´ıkladem slovn´ıho tvaru. V pr˚ ubˇehu
´ AX KAPITOLA 5. SYSTEM
62
kompilace gramatiky je tento slovn´ı tvar (v´ıceznaˇcnˇe) morfologicky analyzov´ an a vˇsechny pˇr´ıpustn´e varianty ˇcten´ı dan´eho slova jsou vyj´ adˇreny variantovou sestavou rys˚ u. Poˇzadavek o instantn´ı morfologickou anal´ yzu je vyj´ adˇren zpˇetn´ ymi apostrofy (‘). Instantn´ı sestava rys˚ u se m˚ uˇze objevit vˇsude, kde je moˇzn´e zapsat konstantn´ı sestavu rys˚ u, tj. ve zkratk´ ach, konstatn´ıch v´ yrazech, filtrech i pravidlech. Takto lze napˇr. zav´est zkratku pro konkr´etn´ı tvar slovesa b´ yt: shortcut jsem = ‘jsem‘
5.4
Filtry: Regul´ arn´ı v´ yrazy nad sestavami rys˚ u
Pojem regul´ arn´ıho v´ yrazu jistˇe nen´ı tˇreba ˇcten´ aˇri pˇredstavovat. Na tomto m´ıstˇe tedy pop´ıˇseme pouze syntax jazyka AX t´ ykaj´ıc´ı se regul´ arn´ıch v´ yraz˚ u. Struˇcnˇe lze rozd´ıl mezi klasick´ ymi regul´ arn´ımi v´ yrazy a regul´ arn´ımi v´ yrazy v jazyce AX vystihnout takto: • V jazyce AX je z´ akladn´ım stavebn´ım kamenem regul´ arn´ıho v´ yrazu nikoli jeden symbol abecedy, ale jedna variantov´ a sestava rys˚ u. • Pˇri hled´ an´ı podposloupnosti sestav rys˚ u, kter´ a odpov´ıd´ a dan´emu v´ yrazu, se neovˇeˇruje rovnost symbol˚ u abecedy ve v´ yrazu a ve vstupu, ale ovˇeˇruje se, zda vstupn´ı sestava a sestava vyˇzadovan´ a v´ yrazem unifikuj´ı.
5.4.1
Syntax regul´ arn´ıho v´ yrazu
Regul´ arn´ım v´ yrazem v jazyce AX tedy je: Jedna sestava rys˚ u. Vstup odpov´ıd´ a dan´ e sestavˇ e rys˚ u, pokud jej tvoˇ r´ı pr´ avˇe jedna sestava rys˚ u unifikuj´ıc´ı se zadanou sestavou. Speci´ aln´ım pˇr´ıpadem je pr´ azdn´ a sestava rys˚ u “[]”, s n´ıˇz unifikuje libovoln´ a vstupn´ı sestava. Pr´ azdnou sestavu je v regul´ arn´ıch v´ yrazech moˇzn´e podle konvence t´eˇz zapsat jako teˇcku “.”. Sestava m˚ uˇze b´ yt zaps´ ana bud’ pˇr´ımo jako konstanta (napˇr. [cat-verb]) nebo jako jm´eno zaveden´e zkratky (napˇr. verb). Odm´ıtnut´ı sestavy rys˚ u. Vstup odpov´ıd´ a, je-li tvoˇren jedinou sestavou rys˚ u a ta neunifikuje s danou sestavou. Odm´ıtnut´ı sestavy se zapisuje v pˇr´ıpadˇe pouˇzit´ı konstatn´ı sestavy jako ![cat-verb] nebo v pˇr´ıpadˇe zkratky jako !verb. Odm´ıtnut´ı libovoln´ e ze sestav rys˚ u. Vstup odpov´ıd´ a, je-li tvoˇren jednou sestavou rys˚ u a tato sestava sestava neunifikuje se ˇza ´dnou z dan´eho seznamu sestav. Odm´ıtnut´ı libovoln´e ze sestav se zapisuje napˇr. takto: !{[cat-verb], zkratka sestavy, ‘slovo‘}.
´ AX KAPITOLA 5. SYSTEM
63
Konkatenace regul´ arn´ıch v´ yraz˚ u. Vstup odpov´ıd´ a, pokud jej lze rozdˇelit na takov´e u ´seky, ˇze postupnˇe odpov´ıdaj´ı dan´ ym regul´ arn´ım v´ yraz˚ um. Konkatenace se zapisuje jako prost´ a posloupnost regul´ arn´ıch v´ yraz˚ u, nen´ı potˇreba pouˇz´ıvat ˇza ´dn´ y symbol, povolena je samozˇrejmˇe mezera ˇci jin´e b´ıl´e m´ısto. Varianty regul´ arn´ıch v´ yraz˚ u. Vstup odpov´ıd´ a, pokud odpov´ıd´ a nˇekter´e z dan´ ych variant. Varianty je tˇreba oddˇelit znakem svisl´e ˇca ´ry, “|”. Opakov´ an´ı regul´ arn´ıho v´ yrazu s omezen´ım minim´ aln´ıho a maxim´ an´ıho poˇ ctu opakov´ an´ı. Vstup odpov´ıd´ a, lze-li jej rozdˇelit na u ´seky poˇzadovan´eho poˇctu, z nichˇz kaˇzd´ y jednotlivˇe odpov´ıd´ a dan´emu regul´ arn´ımu v´ yrazu. Povolen´ y poˇcet opakov´ an´ı se pˇripojuje hned za z´ apis regul´ arn´ıho v´ yrazu a lze pouˇz´ıt jednu z tˇechto variant:
Syntax {m, n} {m,} {m} * + ?
Poˇ cet opakov´ an´ı Min. Max. m n m ∞ m ∞ 0 ∞ 1 ∞ 0 1
Pokud je regul´ arn´ı v´ yraz pouˇzit v pravidle aplikovan´em deterministick´ ym zp˚ usobem (viz 5.5.4 na stranˇe 68), je moˇzn´e pˇred poˇzadovan´ y poˇcet opakov´ an´ı vloˇzit znak < nebo >. Pˇri determinick´e aplikaci je pak pouˇzit nejmenˇs´ı (<) nebo nejvyˇsˇs´ı (>) poˇcet opakov´ an´ı, kter´ y vystupu vyhovuje. Implicitnˇe se hled´ a nejdelˇs´ı moˇzn´ yu ´sek. Zaˇ c´ atek a konec ˇ retˇ ezce. Tradiˇcnˇe regul´ arn´ı v´ yraz ^ odpov´ıd´ a zaˇca ´tku ˇretˇezce a v´ yraz $ odpov´ıd´ a konci ˇretˇezce. Oper´ atory pro konstrukci regul´ arn´ıch v´ yraz˚ u maj´ı standardn´ı priority: ! v´ aˇze nejtˇesnˇeji (lze stejnˇe pouˇz´ıt jen u jedin´e sestavy rys˚ u, nelze negovat cel´ y regul´ arn´ı v´ yraz), n´ asleduj´ı oper´ atory poˇctu opakov´ an´ı, konkatenace a nejmenˇs´ı prioritu m´ a oper´ ator alternativy (|). Je-li tˇreba, je moˇzn´e uzav´ırat regul´ arn´ı v´ yrazy do kulat´ ych ˇci sloˇzen´ ych z´ avorek. Sloˇzen´e z´ avorky vˇsak maj´ı nav´ıc speci´ aln´ı v´ yznam vyznaˇcen´ı hledan´e skupiny, viz 5.5.1 na str. 65.
5.4.2
Syntax a s´ emantika filtru
Filtr m´ a vˇzdy tvar regul´ arn´ıho v´ yrazu nad sestavami rys˚ u.
´ AX KAPITOLA 5. SYSTEM
64
Vstupem filtru je ˇcten´ı vˇety, tj. posloupnost sestav rys˚ u. Filtr provˇeˇruje, zda tato posloupnost jako celek odpov´ıd´ a zadan´emu regul´ arn´ımu v´ yrazu. Je tedy lhostejno, zda na zaˇca ´tku v´ yrazu uvedete ^ a na konci $, nebo ne. Filtr se v jazyce AX zapisuje napˇr. takto: filter keep
.* verb .* verb .*
end
!verb* verb !verb* | !conj*
end
Kl´ıˇcov´e slovo filter ˇr´ık´ a: zam´ıtni vˇetu, pokud odpov´ıd´ a dan´emu regul´ arn´ımu v´ yrazu. Kl´ıˇcov´e slovo keep ˇr´ık´ a: zam´ıtni vˇetu, pokud neodpov´ıd´ a dan´emu regul´ arn´ımu v´ yrazu. Kl´ıˇcov´e slovo end oznaˇcuje konec regul´ arn´ıho v´ yrazu. Pro u ´ˇcely ladˇen´ı a z´ avˇereˇcn´e statistiky je velmi vhodn´e filtr pojmenovat. Jm´eno je moˇzn´e uv´est bud’ ve tvaru identifik´ atoru, tj. bez mezer a speci´ aln´ıch znak˚ u, nebo uzavˇr´ıt v uvozovk´ ach. Za jm´enem je nutn´e uv´est znak :. filter zamitni_vic_nez_jedno_sloveso: .* verb .* verb .* end keep "Ponech jen vˇ ety s jedin´ ym slovesem nebo bez jak´ ekoli spojky": !verb* verb !verb* | !conj* end
5.5
Pravidla
Zp˚ usob aplikace pravidel v syst´emu AX je inspirov´ an klasick´ ymi pravidly Chomsk´eho gramatik, hlavn´ı motivace vˇsak vych´ az´ı z myˇslenky tzv. redukˇcn´ı anal´yzy, anal´ yzy zjednoduˇsov´ an´ım. Tento postup je dobˇre zn´ am z literatury vˇenovan´e z´ avislostn´ım gramatik´ am, viz napˇr. Tesni`ere (1959; Sgall (1967; Mel’ˇcuk (1988; Sgall and Panevov´ a (1990), pˇeknˇe je pops´ an t´eˇz v Straˇ na ´kov´ a-Lopatkov´ a (2001). Speci´ aln´ı form´ aln´ı prostˇredky pro anal´ yzu jazyk˚ u do z´ avislostn´ı syntaxe pak nab´ız´ı v podobˇe gramatik napˇr. Holan et al. (1998) (Free Order Dependency Grammars) a v podobˇe automat˚ u napˇr. Janˇcar et al. (1995; Janˇcar et al. (1996; Pl´ atek (1999) (restartovac´ı automaty). Redukˇcn´ı pravidla jazyka AX maj´ı vˇzdy tvar: rule : ---> :: end Pokud v pravidle nejsou formulov´ ana ˇza ´dn´ a , ani nechceme pravidlo pojmenovat, je moˇzn´e uv´est pravidlo struˇcnˇeji: rule ---> end Hrubˇe lze postup aplikace pravidla shrnout takto:
´ AX KAPITOLA 5. SYSTEM
65
• Ve vstupu je nalezen u ´sek (podˇretez sestav rys˚ u), kter´ y odpov´ıd´ a . • Je ovˇeˇreno, zda u ´sek splˇ nuje t´eˇz poˇradavky dodateˇcn´ ych . ´ eˇsnˇe nalezen´ • Uspˇ yu ´sek je ve vˇetˇe nahrazen ˇretˇezcem sestav rys˚ u . Aby bylo moˇzn´e (ˇr´ıkejme t´eˇz v´ ystup pravidla) nˇejak “vypoˇc´ıtat” z nalezen´eho podˇretˇezu vstupu pravidla, jsou v r´ amci jednoho pravidla k dispozici promˇenn´e. Promˇenn´e se vyskytuj´ı v hledan´em , v jsou na nˇe kladeny dalˇs´ı poˇzadavky a v jsou jejich aktu´ aln´ı hodnoty otiˇstˇeny do v´ ystupu pravidla. Vˇsechny promˇenn´e jsou z´ asadnˇe typu sestava rys˚ u, tj. nesou jako svou hodnotu nˇejakou sestavu rys˚ u. Vˇsechny promˇenn´e jsou lok´ aln´ı pro jednu aplikaci pravidla. Promˇenn´e tedy nesd´ılej´ı svou hodnotu mezi r˚ uzn´ ymi pravidly, ale ani mezi v´ıce postupn´ ymi aplikacemi jednoho pravidla2 . Podrobnˇeji se promˇenn´ ym vˇenujeme d´ ale.
5.5.1
Regul´ arn´ı v´ yrazy pro nahrazov´ an´ı a n´ ahrada
Syntax regul´ arn´ıch v´ yraz˚ u je stejn´ a jako syntax v´ yraz˚ u pro filtry (viz 5.4 na stranˇe 62). Nav´ıc je syntax obohacena o: Promˇ enn´ e. N´ azvy promˇenn´ ych se zapisuj´ı stejnˇe jako n´ azvy zkratek; promˇenn´e stejnˇe jako zkratky odpov´ıdaj´ı pr´ avˇe jedn´e sestavˇe rys˚ u. Promˇenn´e nen´ı tˇreba nijak deklarovat, jsou automaticky alokov´ any pˇri prvn´ım v´ yskytu. Ve skuteˇcnosti i zkratky jsou v r´ amci pravidla ch´ ap´ any jako promˇenn´e. V i je tedy moˇzn´e odvol´ avat se ke zkratk´ am i k “ˇcist´ ym promˇenn´ ym”. D´ a se tedy ˇr´ıci, ˇze zkratka je obyˇcejn´ a promˇenn´ a, kter´ a nav´ıc mus´ı unifikovat s konstantou definovanou ve zkratce; nebo jinak: kaˇzd´ a promˇenn´ a ma poˇca ´teˇcn´ı hodnotu stejnojmenn´e zkratky. V pr˚ ubˇehu hled´ an´ı v´ yskytu vzorku, kter´ y odpov´ıd´ a regul´ arn´ımu v´ yrazu s promˇenn´ ymi, doch´ az´ı k tzv. navazov´ an´ı promˇenn´ ych na vstupn´ı sestavy. V jednoduch´em pˇr´ıpadˇe jde o to, ˇze se dosavadn´ı hodnota promˇenn´e unifikuje se vstupn´ı sestavou. Pokud unifikace neuspˇeje, zkouˇs´ı se regul´ arn´ı v´ yraz napasovat na vstup jinak, pokud unifikace uspˇeje, je hodnota promˇenn´e upravena tak, aby zahrnovala u ´daje zjiˇstˇen´e ze vstupn´ı sestavy (v´ yjimku vˇsak viz 5.5.5 na str. 69). Pojmenovan´ eˇ c´ asti nalezen´ eho v´ yrazu. Podobnˇe jako v klasick´ ych regul´ arn´ıch v´ yrazech pouˇzit´ ych pro nahrazov´ an´ı, i zde je moˇzn´e jednotliv´e nalezen´e ˇca ´sti “vyznaˇcit” a v n´ ahradˇe d´ ale pouˇz´ıt. Pro vyznaˇcen´ı ˇca ´sti ˇretezu se v regul´ arn´ım v´ yrazu uˇz´ıvaj´ı sloˇzen´e z´ avorky. Aby vˇsak pˇri pouˇzit´ı vyznaˇcen´ ych ˇca ´st´ı nevznikaly pochybnosti o tom, kter´ a ˇca ´st je kter´ a, je vhodn´e kaˇzdou vyznaˇcenou ˇca ´st pojmenovat, napˇr.: 2 Motivace
z restartovac´ıch automat˚ u: po u ´spˇeˇsn´e n´ ahradˇe se automat restartuje.
´ AX KAPITOLA 5. SYSTEM
66
. . . o zavorka {mezi zavorkami: !{o zavorka,z zavorka}*} z zavorka. . . Jm´eno pro vyznaˇcenou ˇca ´st lze volitelnˇe uv´est mezi otv´ırac´ı z´ avorkou a dvojteˇckou. Nen´ı-li jm´eno uvedeno, jsou vyznaˇcen´e ˇca ´sti jako obvykle ˇc´ıslov´ any od 1 d´ ale. je tvoˇrena seznamem (oddˇelovaˇcem je mezera) sestav rys˚ u a citac´ı vyznaˇcen´ ych ˇca ´st´ı nalezen´eho vzorku. Sestavy rys˚ u lze zapsat jako konstanty, n´ azvy zkratek ˇci promˇenn´ ych. Citace ˇca ´st´ı vzork˚ u se zapisuj´ı za zpˇetn´ ym lom´ıtkem (podobnˇe, jako u klasick´ ych regul´ arn´ıch v´ yraz˚ u). Uved’me pˇr´ıklad pravidla, kter´e smaˇze otv´ırac´ı a zav´ırac´ı z´ avorku, ale jen pokud se je podaˇr´ı spr´ avnˇe sp´ arovat: rule \mezi_zavorkami ---> o_zavorka { mezi_zavorkami: !{o_zavorka,z_zavorka}* } z_zavorka end
5.5.2
Dodateˇ cn´ e podm´ınky na regul´ arn´ı v´ yrazy a n´ ahradu
Dodateˇcn´ a u ´ˇcinnosti pravidla se zapisuj´ı jako neuspoˇra ´dan´ a posloupost poˇzadavk˚ u na promˇenn´e. Omezen´ı jsou ch´ ap´ ana deklarativnˇe, proto na jejich poˇrad´ı nez´ aleˇz´ı. Poˇzadavky jsou z´ asadnˇe formulov´ any jako unifikace (pod)sestav dvojic promˇenn´ ych. Uvaˇzme pravidlo redukce pˇr´ıdavn´eho jm´ena a podstatn´eho jm´ena na pouh´e podstatn´e jm´eno: rule out_noun ---> adj noun :: adj.agr = noun.agr, out_noun = noun end Poˇzadavek adj.agr = noun.agr garantuje, ˇze k aplikaci pravidla dojde, jen pokud se pˇr´ıdavn´e a podstatn´e jm´eno shodnou v atributech potˇrebn´ ych pro jmennou shodu (viz 5.2.3 na stranˇe 59). Poˇzadavek out noun = noun nav´ıc zajiˇst’uje, ˇze v´ ystupn´ı sestava ponese pr´ avˇe vˇsechny atributy, kter´e p˚ uvodnˇe neslo jm´eno; ovˇsem s pˇrihl´ednut´ım k pˇr´ıpadn´emu omezen´ı variant v d˚ usledku unifikace atribut˚ u ˇc´ısla, rodu a p´ adu s hodnotami pˇr´ıpustn´ ymi pro pˇr´ıdavn´e jm´eno. Jazyk AX nav´ıc obsahuje jednoduchou syntaktickou konstrukci pro struˇcnˇejˇs´ı vyj´ adˇren´ı v´ıce poˇzadovan´ ych vztah˚ u na dvojici promˇenn´ ych: usnul <- cat, agr.num, agr.gend -> jsem je ekvivalentn´ı se z´ apisem usnul.cat = jsem.cat, usnul.agr.num = jsem.agr.num, usnul.agr.gend = jsem.agr.gend
´ AX KAPITOLA 5. SYSTEM
5.5.3
67
Zp˚ usob aplikace pravidel
Deklarativn´ı ch´ ap´ an´ı pravidel je vhodn´e pˇredevˇs´ım pokud chceme vysvˇetlovat vazby, kter´e jsou konstrukcemi pˇrirozen´eho jazyka respektov´ any, nebo pokud naopak zn´ ame respektovan´e vazby a chceme pravidlo pouˇz´ıt, jen pokud jsou vazby ve vstupn´ı posloupnosti slov dodrˇzeny. Technicky je vˇsak ovˇeˇrov´ an´ı platnosti podm´ınek prov´ adˇeno jiˇz v pr˚ ubˇehu hled´ an´ı ˇretˇezu, kter´ y odpov´ıd´ a dan´emu regul´ arn´ımu v´ yrazu. Pro lepˇs´ı porozumˇen´ı pravidl˚ um je vhodn´e m´ıt i tento postup zpracov´ an´ı na pamˇeti. Aplikace hledan´eho regul´ arn´ıho v´ yrazu zaˇcne od libovoln´eho vstupn´ıho slova vˇety (viz 5.5.4 na n´ asleduj´ıc´ı stranˇe). Regul´ arn´ı v´ yraz je aplikov´ an na n´ asleduj´ıc´ı vstupn´ı sestavy s moˇznost´ı backtrackingu (a pˇr´ıpadnˇe nedeterministicky), aplikace se pˇritom prov´ ad´ı struktur´ aln´ı rekurz´ı podle regul´ arn´ıho v´ yrazu, nikoli podle vstupn´ı posloupnosti slov. To znamen´ a, ˇze jednotliv´e varianty regul´ arn´ıho v´ yrazu jsou postupnˇe prob´ır´ any a postupnˇe aplikov´ any, dokud to unifikace aktu´ aln´ıch hodnot promˇenn´ ych se vstupn´ımi sestavami (tj. navazov´ an´ı vstupn´ıch sestav na aktu´ aln´ı hodnoty promˇenn´ ych) dovoluj´ı; souˇcasnˇe jsou ovˇeˇrov´ ana a prosazov´ ana i omezen´ı na vz´ ajemn´e vztahy promˇenn´ ych. Pokud se podaˇr´ı doj´ıt aˇz na konec nˇekter´e z vˇetv´ı regul´ arn´ıho v´ yrazu, jsou jiˇz vˇsechny podm´ınky ovˇeˇreny a vˇsechny promˇenn´e nastaveny na aktu´ aln´ı hodnoty. Ve vstupn´ı vˇetˇe je pak u ´sek, kter´ y odpov´ıdal regul´ arn´ımu v´ yrazu, nahrazen z definice pravidla. Pˇri navazov´ an´ı vstupn´ı sestavy na danou promˇennou se pˇresnˇe odehr´ av´ a toto: 1. Ze z´ asobn´ıku promˇenn´ ych je z´ısk´ ana aktu´ aln´ı hodnota promˇenn´e dan´eho jm´ena. 2. Vstupn´ı sestava je unifikov´ ana s touto hodnotou. (Selˇze-li unifikace, backtrackuje se do jin´e vˇetve regul´ arn´ıho v´ yrazu.) Z´ısk´ a se tak “pˇresnˇejˇs´ı”, “omezenˇejˇs´ı” hodnota promˇenn´e. 3. N´ aslednˇe jsou provˇeˇreny a aplikov´ any vˇsechny podm´ınky, kter´e pravidlo na vz´ ajemn´e vztahy hodnot promˇenn´ ych klade. Hodnoty dotˇcen´ ych promˇenn´ ych i hodnota v´ ychoz´ı promˇenn´e se t´ım mohou d´ ale omezit. 4. Po provˇeˇren´ı vˇsech podm´ınek jsou nov´e hodnoty dotˇcen´ ych promˇenn´ ych uloˇzeny opˇet na z´ asobn´ık (v´ yjimkou je pr´ avˇe nav´ azan´ a promˇenn´ a, pokud je tzv. vstupn´ı, viz 5.5.5 na stranˇe 69). 5. Nov´ y z´ asobn´ık promˇenn´ ych je pˇred´ an do dalˇs´ıho zpracov´ an´ı t´eto vˇetve regul´ arn´ıho v´ yrazu. Aplikace podm´ınek kladen´ ych na vztahy promˇenn´ ych nen´ı zcela jednoduch´ a z´ aleˇzitost. Pro ilustraci si pˇredstavme pravidlo pro zpracov´ an´ı dvojice pˇr´ıdavn´ ych jmen a jm´ena podstatn´eho s c´ılem omezit na z´ akladˇe jmenn´e shody pˇr´ıpustn´e morfologick´e varianty jednotliv´ ych slov: rule adj1 adj2 noun ---> adj1 adj2 noun ::
´ AX KAPITOLA 5. SYSTEM
68
adj1 = [cat-adj], adj2 = [cat-adj], noun = [cat-noun], adj1.agr = adj2.agr, adj2.agr = noun.agr end Aplikujeme-li nyn´ı postupnˇe regul´ arn´ı v´ yraz a podm´ınky tohoto pravidla na morfologicky nejednoznaˇcn´ y vstup lesn´ı ˇzlut´ a kuˇra ´tka, dojde ihned po nav´ az´ an´ı slova lesn´ı v d˚ usledku podm´ınek pravidla k omezen´ı pˇr´ıpustn´ ych hodnot podsestavy agr promˇenn´ ych adj2 i noun na hodnotu: 2
cat 6morfcat 6 6 6lemma 6 6 6 6 6 6agr 6 6 6 6 4 neg
3 adj 7 ’morfcat(adj(adj))’ 7 7 ”lesn´ı” 7 2 3 n o7 7 case instr,lok,vok,aku,dat,gen,nom 7 7 6 7 n o 6 77 7 6gend 7 inanim,neut,fem,masc 6 77 n o 4 57 7 7 num pl,sg 5 ’neg(pos)’
Pokud by n´ asledovalo napˇr. slovo radostn´emu, bude pro neshodu v kategorii p´ adu tato anal´ yza ihned zam´ıtnuta. Pˇri nav´ az´ an´ı slova ˇzlut´ a anal´ yza m˚ uˇze pokraˇcovat, omezen´ı na vztahy mezi promˇenn´ ymi si vˇsak vynut´ı “zpˇresnit” nejen promˇennou noun, ale zpˇetnˇe i promˇennou adj1. Nepˇripad´ a totiˇz jiˇz v u ´vahu, aby slovo jarn´ı v tomto kontextu (jarn´ı ˇzlut´ a) bylo napˇr. muˇzsk´eho rodu. Stejnˇe dojde k omezen´ı i vlivem posledn´ıho slova, takˇze v´ yslednˇe vˇsechny tˇri promˇenn´e ve sv´e podsestavˇe agr ponesou jiˇz jen tyto moˇznosti: 2
case
6 6 4gend num
n
vok,aku,nom
neut pl
o3 7 7 5
Struˇcnˇe lze tedy shrnout: pˇri ovˇeˇrov´ an´ı podm´ınek jsou po kaˇzd´em nav´ az´ an´ı vstupn´ı sestavy na nˇekterou z promˇenn´ ych postupnˇe omezov´ any i opakovanˇe vˇsechny promˇenn´e, do nichˇz se dan´ ymi podm´ınkami pˇresnˇejˇs´ı hodnoty ˇs´ıˇr´ı.
5.5.4
Determinismus zaˇ c´ atku a konce aplikace pravidel
Dosud jsme m´ alo popsali nederministick´ y chod pravidel. Uvedli jsme jen, ˇze aplikace hledan´eho regul´ arn´ıho v´ yrazu zaˇcne od libovoln´eho m´ısta ve vstupn´ı posloupnosti slov, a v sekci 5.4.1 na str. 63 zavedli odliˇsen´ı pro minim´ aln´ı resp. maxim´ aln´ı dostupn´ y poˇcet opakov´ an´ı (znaˇcky < a > pˇred oper´ atorem opakov´ an´ı). Syst´em tedy postupnˇe prob´ır´ a vˇsechna moˇzn´ a m´ısta zleva doprava, kde by bylo moˇzn´e pravidlo aplikovat. Pokud uspˇeje, pˇrid´ a k dosavadn´ım v´ ystup˚ um v´ ysledek aplikace pravidla od dan´eho m´ısta a zkouˇs´ı aplikaci d´ ale. Chceme-li pˇrijmout jen ˇreˇsen´ı od prvn´ı u ´spˇeˇsn´e pozice, kterou pˇri hled´ an´ı zleva doprava syst´em najde, je tˇreba “nad” ˇsipku pravidla vepsat poˇzadavek deterministick´eho zaˇca ´tku pravidla:
´ AX KAPITOLA 5. SYSTEM
69
rule hvezdicka_misto_prvni_zavorky: ‘*‘ --detstart--> ‘(‘ end Podobnˇe se syst´em v z´ akladn´ım nastaven´ı nezastav´ı po prvn´ı u ´spˇeˇsn´e aplikaci pravidla od dan´e pozice o dan´e d´elce, ale zkouˇs´ı i dalˇs´ı vˇetve regul´ arn´ıho v´ yrazu – napˇr. vˇetˇs´ı ˇci menˇs´ı poˇcet opakov´ an´ı podv´ yrazu – dokud nevyˇcerp´ a vˇsechny moˇznosti. Chceme-li pˇrijmout jako jedin´e ˇreˇsen´ı od dan´e startovn´ı pozice jiˇz prvn´ı vhodn´ y konec dosahu aplikace pravidla (s ohledem na pˇrep´ınaˇce < a > to m˚ uˇze b´ yt nejkratˇs´ı ˇci nejdelˇs´ı dostupn´ a moˇznost), vep´ıˇseme do ˇsipky pravidla kl´ıˇcov´e slovo detend. Souˇcasnˇe m˚ uˇzete zjednoznaˇcnit zaˇca ´tek i konec pravidla ˇsipkou ve tvaru --detstart-detend--> nebo ekvivalentnˇe -!->. 3 Jako pˇr´ıklad uved’me jeˇstˇe pravidlo, kter´e nahrad´ı pouze posledn´ı z´ avorku hvˇezdiˇckou: rule hvezdicka_misto_posledni_zavorky: \pred_zavorkou ‘*‘ --!--> ^ {pred_zavorkou: .>*} ‘)‘ end Je vˇsak tˇreba zd˚ uraznit, ˇze v r´ amci f´ azov´eho zpracov´ an´ı (viz 5.6 na n´ asleduj´ıc´ı stranˇe) m˚ uˇze b´ yt i pravidlo s deterministick´ ym zaˇca ´tkem i koncem aplikov´ ano postupnˇe nˇekolikr´ at, takˇze v naˇsem pˇr´ıkladu by, neuvedeme-li jinak, nakonec opakovan´ ym proveden´ım nahradilo vˇsechny z´ avorky hvˇezdiˇckami.
5.5.5
Promˇ enn´ e vstupn´ı, pracovn´ı a v´ ystupn´ı
Aˇz dosud jsme neuvaˇzovali moˇznost opakovan´eho nav´ az´ an´ı jedn´e promˇenn´e v regul´ arn´ım v´ yrazu na v´ıce vstupn´ıch sestav, kter´e po sobˇe ve vstupu n´ asleduj´ı4 . Na probl´em vˇsak naraz´ıme, pokud podle z´ asad uveden´ ych dosud zkus´ıme napˇr. na vstup velk´y ˇcern´y pes aplikovat pravidlo: shortcuts noun = [cat-noun], adj = [cat-adj] end rule nounph ---> adj* noun :: adj.agr = noun.agr, # ovˇ er ˇujme jmennou shodu nounph = noun # naplˇ nme v´ ystupn´ ı sestavu end V prvn´ım kroku se ovˇeˇr´ı, ˇze velk´y odpov´ıd´ a sestavˇe [cat-agr] a v´ ysledek unifikace se uloˇz´ı do promˇenn´e adj. Pak jsou provˇeˇreny podm´ınky aplikace a do promˇenn´ ych noun (dosud obsahovala [cat-noun]) a nounph (dosud byla pr´ azdn´ a) se “pˇriunifikuje” hodnota podsestavy agr promˇenn´e adj. Ve druh´em 3V
ˇsipce je moˇzn´e bez rozd´ılu uv´ adˇet jeden ˇci v´ıce spojovn´ık˚ u. situaci je tˇreba nezamˇen ˇovat s opakovan´ ym pokusem o nav´ az´ an´ı promˇenn´e na r˚ uzn´e vstupn´ı sestavy pˇri backtrackov´ an´ı regul´ arn´ıho v´ yrazu. 4 Tuto
´ AX KAPITOLA 5. SYSTEM
70
kroku vˇsak proti intuici selˇze nav´ az´ an´ı vstupn´ıho slova ˇcern´y na aktu´ aln´ı hodnotu promˇenn´e adj, protoˇze adj jiˇz nese nejen morfologick´e kategorie potˇrebn´e pro shodu, ale tak´e lemma a formu slova velk´y! Abychom v interpretaci pravidel n´ asledovali intuici, rozliˇsujeme promˇenn´e vstupn´ı, pracovn´ı a v´ystupn´ı. Vstupn´ı promˇenn´ a se vyskytuje ve vstupn´ım a pˇr´ıpadnˇe v . Nesm´ı se vˇsak vyskytnout v . V´ystupn´ı promˇenn´ a se vyskytuje v , a pˇr´ıpadnˇe v . Pracovn´ı promˇenn´ a se vyskytuje pouze v a nen´ı pˇr´ıtomna ani v regul´ arn´ım v´ yrazu, ani v . V naˇsem pˇr´ıkladu jsou tedy adj a noun promˇenn´e vstupn´ı a nounph je promˇenn´ a v´ ystupn´ı. Rozd´ıl mezi vstupn´ımi a v´ ystupn´ımi ˇci pracovn´ımi promˇenn´ ymi spoˇc´ıv´ a v navazov´ an´ı na vstupn´ı sestavy. Po u ´spˇeˇsn´em nav´ az´ an´ı vstupn´ı sestavy na poˇca ´teˇcn´ı hodnotu promˇenn´e a propagaci omezen´ı do ostatn´ıch promˇenn´ ych je v´ ysledek unifikace u vstupn´ıch promˇenn´ych zapomenut, aby byly promˇenn´e “ˇcerstv´e” pro dalˇs´ı nav´ az´ an´ı v r´ amci opakov´ an´ı regul´ arn´ıho v´ yrazu. Po nav´ az´ an´ı vstupn´ı sestavy na pracovn´ı ˇci v´ystupn´ı promˇennou a propagaci omezen´ı se v´ ysledek unifikac´ı naopak uloˇz´ı jako nov´ a hodnota promˇenn´ ych. V naˇsem pˇr´ıkladu tedy intuitivnˇe velk´y bude u ´spˇeˇsnˇe nav´ az´ ano na vstupn´ı promˇennou adj. Po provˇeˇren´ı (a uskladnˇen´ı) morfologick´ ych kategori´ı jmenn´e shody bude promˇenn´ a adj opˇet vyˇciˇstˇena na poˇca ´teˇcn´ı hodnotu [cat-adj] a i slovo ˇcern´y se na ni podaˇr´ı u ´spˇeˇsnˇe nav´ azat. Pracovn´ı promˇenn´e jsou zavedeny pro pˇr´ıpady, kdy je tˇreba v pravidle kontrolovat unifikac´ı nˇejakou shodu, ale nen´ı ˇza ´douc´ı v´ ysledek t´eto unifikace nahlas uv´est ve v´ ystupu. Pokud bychom napˇr. v naˇsem pˇr´ıkladu trvali na prvn´ı (neintuitivn´ı) interpretaci i v nov´em sch´ematu, mus´ıme pro kontrolu velk´y6=ˇcern´y zav´est pracovn´ı promˇennou adj storage: rule nounph ---> adj* noun :: adj.agr = noun.agr, adj = adj_storage, nounph = noun end
5.6
F´ aze bˇ ehu syst´ emu AX
Jak jiˇz bylo naznaˇceno v sam´em u ´vodu t´eto kapitoly (viz str. 53), pˇri bˇehu syst´emu AX se podle dan´e gramatiky stˇr´ıdaj´ı f´ aze filtrace a f´ aze generov´ an´ı pomoc´ı pravidel.
´ AX KAPITOLA 5. SYSTEM
71
Pˇritom f´ aze filtrace je pˇrirozen´ ym dˇel´ıtkem v gramatice. Maxim´ aln´ı skupiny pravidel, mezi nimiˇz nen´ı uveden ˇza ´dn´ y filtr, pak tvoˇr´ı f´ azi generov´ an´ı. Jako hranici mezi dvˇe f´ aze generov´ an´ı, nemaj´ı-li b´ yt oddˇeleny filtrem, je moˇzn´e vloˇzit bud’ pr´ azdn´ y filtr keep .* end, nebo ˇca ´ru tvoˇrenou alespoˇ n pˇeti spojovn´ıky (----- ˇci delˇs´ı), kter´ a hranici vyznaˇcuje rovnˇeˇz. Pro u ´ˇcely ladˇen´ı je moˇzn´e jako dˇel´ıtko f´ aze pouˇz´ıt t´eˇz kl´ıˇcov´e slovo commit. Tento pˇr´ıkaz nejen vytv´ aˇr´ı hranici f´ aze, ale tak´e po skonˇcen´ı bˇehu pˇredchoz´ı f´ aze generov´ an´ı ˇci filtrace ukonˇc´ı cel´ y bˇeh gramatiky a vr´ at´ı celou mnoˇzinu dosavadn´ıch pˇr´ıpustn´ ych ˇcten´ı. F´ aze filtrace jiˇz byla pops´ ana dostateˇcnˇe pˇrehlednˇe v kapitole 5.4 na str. 62. Popiˇsme nyn´ı podrobnˇe i f´ azi generov´ an´ı pomoc´ı skupiny pravidel, kdy (jak zmiˇ nuj´ı pˇredeˇsl´e kapitoly) syst´em AX m˚ uˇze intenzivnˇe pracovat s nedeterminismem. Pˇr´ıklad bˇehu syst´emu AX lze naj´ıt v podobˇe ladic´ıho v´ ypisu v kapitole 5.5 na stranˇe 81.
5.6.1
Poˇ rad´ı aplikace pravidel v r´ amci f´ aze
V´ıme, ˇze vstupem do f´ aze je mnoˇzina pˇr´ıpustn´ ych ˇcten´ı vˇety. Vˇsechny prvky mnoˇziny jsou postupnˇe pˇredkl´ ad´ any jednotliv´ ym pravidl˚ um v r´ amci jedn´e f´ aze, a to v poˇrad´ı, v jak´em jsou pravidla uvedena v gramatice. ˇ Rekneme, ˇze pravidla v r´ amci dan´e f´ aze jsou aplikov´ ana v pevnˇe dan´em poˇrad´ı v pˇr´ıpadˇe, ˇze vstup, kter´ y nˇekter´e z pravidel jiˇz alespoˇ n jednou u ´spˇeˇsnˇe zpracovalo5, nen´ı jiˇz d´ ale provˇeˇrov´ an ˇza ´dn´ ym dalˇs´ım pravidlem. Naopak ˇrekneme, ˇze pravidla v r´ amci dan´e f´ aze jsou aplikov´ ana v libovoln´em poˇrad´ı v pˇr´ıpadˇe, ˇze kaˇzd´ y vstup je bez ohledu na u ´spˇechy ˇci ne´ uspˇechy pˇredchoz´ıch pravidel pˇred´ an i n´ asleduj´ıc´ım pravidl˚ um dan´e f´ aze gramatiky. V obou pˇr´ıpadech je v´ystup z u ´spˇeˇsn´e aplikace libovoln´eho pravidla pˇred´ an znovu na zaˇca ´tek f´ aze a je znovu (s ohledem na determinismus poˇrad´ı) zkouˇsen vˇsemi dostupn´ ymi pravidly. (Je vˇsak moˇzn´e omezit povolen´ y poˇcet opakov´ an´ı pravidla, viz n´ıˇze.) Nen´ı-li uvedeno jinak, jsou pravidla aplikov´ ana v pevnˇe dan´em poˇrad´ı. Vyskytne-li se v r´ amci f´ aze mezi libovoln´ ymi pravidly, pˇred prvn´ım ˇci za posledn´ım pravidlem kl´ıˇcov´e slovo nondetorder, budou pravidla t´eto f´ aze aplikov´ ana v libovoln´em poˇrad´ı.
5.6.2
Deterministick´ a a nedeterministick´ a f´ aze
O f´ azi (tj. skupinˇe pravidel) ˇrekneme, ˇze je deterministick´ a, v pˇr´ıpadˇe, ˇze ˇza ´dn´ y ze vstup˚ u f´ aze, kter´ y byl kter´ ymkoli pravidlem ˇci postupnˇe v´ıce pravidly jakkoli u ´spˇeˇsnˇe zpracov´ an, nebude zahrnut do v´ ysledk˚ u f´ aze. (Tj. f´ aze si je “jist´ a” n´ ahradami, kter´e prov´ ad´ı. Kdyˇz nˇejakou n´ ahradu provede, zahod´ı p˚ uvodn´ı tvar vˇety.) 5 Nezapomeˇ nme
moˇznost nedeterministick´eho zaˇca ´tku a konce pravidel, viz 5.5.4 na str. 68.
´ AX KAPITOLA 5. SYSTEM
72
O f´ azi ˇrekneme, ˇze je nedeterministick´ a, v pˇr´ıpadˇe, ˇze kaˇzd´ y vstup i meziv´ ysledek f´ aze po aplikaci libovoln´e posloupnosti pravidel, bude zahrnut i mezi z´ avˇereˇcn´e v´ ysledky f´ aze. Tento zp˚ usob aplikace pravidel f´ aze je vhodn´ y, pokud si nejsme kvalitou pravidel jisti – v´ıme, ˇze pravidlo m˚ uˇze prov´est redukci, kter´ a by se po ukonˇcen´ı f´ aze mohla uk´ azat jako nespr´ avn´ a. V deterministick´e f´ azi by vˇsak jiˇz nebylo p˚ uvodn´ı ˇcten´ı vˇety k dispozici. Nen´ı-li uvedeno jinak, je f´ aze deterministick´ a. Vyskytne-li se v r´ amci f´ aze mezi libovoln´ ymi pravidly, pˇred prvn´ım ˇci za posledn´ım pravidlem kl´ıˇcov´e slovo nondetphase, bude f´ aze prov´ adˇena nedeterministick´ ym zp˚ usobem. Je zˇrejm´e, ˇze nedeterministick´e poˇrad´ı aplikace pravidel i nedeterministick´ a f´ aze v´ yrazn´ ym zp˚ usobem zvyˇsuj´ı mnoˇzstv´ı zpracov´ avan´ ych ˇcten´ı vˇety. Doporuˇcujeme proto obˇe moˇznosti pouˇz´ıvat velmi stˇr´ıdmˇe a nedeterministick´e f´ aze ohraniˇcit filtry, kter´e poˇcty vstupn´ıch i v´ ystupn´ıch ˇcten´ı v´ yznamnˇe sn´ıˇz´ı.
5.6.3
Omezen´ı poˇ ctu opakov´ an´ı, ochrana pˇ red zacyklen´ım
Vzhledem k tomu, ˇze jsou pravidla v r´ amci jedn´e f´ aze aplikov´ ana opakovanˇe, hroz´ı pˇri neopatrn´e formulaci pravidel gramatiky zacyklen´ı bˇehu interpretu. Probl´em zastaven´ı programu (Turingova stroje) je vˇsak algoritmicky nerozhodnuteln´ y, a interpret proto nem˚ uˇze zacyklen´ı v obecn´em pˇr´ıpadˇe s´ am identifikovat. Zacyklen´ı gramatiky proto zabraˇ nuje jiˇz kompil´ ator, a to pomˇernˇe jednoduch´ ym zp˚ usobem: pokud by vˇsechna pravidla vˇzdy vstupn´ı vˇetu zkr´ atila, cyklick´ y bˇeh gramatiky se po jist´em poˇctu krok˚ u zastav´ı nad pr´ azdn´ ym vstupem. Obecnˇe vˇsak pravidla dovoluj´ı nejen vˇetu nezkr´ atit, ale dokonce i libovolnˇe prodluˇzovat. To je ovˇsem moˇzn´e poznat jiˇz v pr˚ ubˇehu kompilace. Kompil´ ator tedy nedovol´ı gramatiku spustit, pokud nen´ı u nezkracuj´ıc´ıho pravidla s potenci´ aln´ım rizikem zacyklen´ı explicitnˇe omezen povolen´ y poˇcet opakov´ an´ı. Omezen´ı poˇctu opakov´ an´ı se vyjadˇruje pozn´ amkou v ˇsipce pravidla, podobnˇe jako deterministick´ y zaˇca ´tek a konec pravidla (viz 5.5.4 na stranˇe 68. Povolen´ y poˇcet opakov´ an´ı je moˇzn´e vyj´ adˇrit libovoln´ ym z n´ asleduj´ıc´ıch zp˚ usob˚ u: once times(X) pow(X) exp(X)
5.7 5.7.1
pravidlo lze pouˇz´ıt v r´ amci cel´e f´ aze nejv´ yˇse jednou pravidlo lze pouˇz´ıt nejv´ yˇse nX kr´ at, kde n je poˇcet slov vstupn´ı vˇety pravidlo lze pouˇz´ıt nejv´ yˇse X n kr´ at pravidlo lze pouˇz´ıt nejv´ yˇse nX kr´ at
AX pro uˇ zivatele Spuˇ stˇ en´ı, vstup a v´ ystup syst´ emu AX
Program AX je implementov´ an pro prostˇred´ı OS typu Unix. Spouˇst´ı se typicky na pˇr´ıkazov´e ˇra ´dce zad´ an´ım pˇr´ıkazu: ax Povinn´ ym argumentem programu je n´ azev souboru s gramatikou. Dalˇs´ı
´ AX KAPITOLA 5. SYSTEM
73
ID: cmpr9410:009-p7s1 IN: M´ ame zamˇ estnance , kter´ e obˇ cas vys´ ıl´ ame na sluˇ zebn´ ı cestu . OUT: m´ ıt [lemma-"zamˇ estnanec",form-"zamˇ estnance", agr-[case-aku,gend-masc,num-pl],prep-"BLANK"] OUT: vys´ ılat [lemma-"kter´ y",form-"kter´ e", agr-[case-aku,gend-inanim;masc,num-pl]] obˇ cas [lemma-"cesta",form-"cestu", agr-[case-aku,gend-fem,num-sg],prep-"na"] ID: cmpr9410:013-p5s4 IN: Pˇ resnˇ e k tomu slouˇ zı ´ naˇ se rubrika . OUT: slouˇ zit Pˇ resnˇ e [lemma-"ten",form-"tomu", agr-[case-dat,gend-neut;masc;inanim,num-sg],prep-"k"] [lemma-"rubrika",form-"rubrika", agr-[case-nom,gend-fem,num-sg,pers-first],prep-"BLANK"] ID: cmpr9410:028-p16s2 IN: Ceny jejich obraz˚ u s ˇplhaj´ ı do statis´ ıc˚ u a dobˇ re se prod´ avaj´ ı v cizinˇ e . OUT: prod´ avat dobˇ re [lemma-"se",form-"se",agr-[case-aku]] [lemma-"cizina",form-"cizinˇ e", agr-[case-lok,gend-fem,num-sg],prep-"v"] OUT: s ˇplhat [lemma-"cena",form-"Ceny", agr-[case-nom,gend-fem,num-pl],prep-"BLANK"] [lemma-"stotis´ ıc",form-"statis´ ıc˚ u", agr-[case-gen,gend-inanim,num-pl],prep-"do"]
Obr´ azek 5.3: Uk´ azkov´ y v´ ystup programu AX. Zalomen´ı a odsazen´ı ˇra ´dek pˇrid´ ano pro pˇrehlednost. parametry jsou pops´ any n´ıˇze. Program oˇcek´ av´ a na standardn´ı vstup posloupnost vstupn´ıch vˇet ve form´ atu CSTS, s t´ım omezen´ım, ˇze na kaˇzdn´em ˇra ´dku vstupu mus´ı b´ yt uvedena pr´ avˇe jedna cel´ a vˇeta6 . V´ ystup programu je v souˇcasn´em stavu v´ yvoje pouze textov´ y. Pˇr´ıklad v´ ystupu je na obr´ azku 5.3. program pro kaˇzdou vstupn´ı vˇetu, kter´ a nebyla bˇehem zpracov´ an´ı zam´ıtnuta, vrac´ı skupinu ˇra ´dk˚ u Pro kaˇzdou vstupn´ı vˇetu, kter´ a nebyla bˇehem zpracov´ an´ı ˇza ´dn´ ym filtrem zam´ıtnuta, program vyp´ıˇse jej´ı identifik´ ator (ID) a vstupn´ı tvar (IN). Pak n´ asleduj´ı jednotliv´ a pˇr´ıpustn´ a ˇcten´ı vˇety, tj. prvky v´ ysledn´e mnoˇziny ˇcten´ı vˇety, vˇzdy uvozen´ a textem OUT. V´ ystupn´ıch ˇcten´ı m˚ uˇze b´ yt v´ıce, pokud to gramatika pro zpracov´ an´ı dovolila. V´ ystupn´ı ˇcten´ı jsou opˇet vytiˇstˇena ve struˇcn´e textov´e podobˇe. Detailn´ı v´ ypis by pˇredstavovala posloupnost sestav rys˚ u; v z´ avˇeru gramatiky uveden´e v pˇr´ıloze A na stranˇe 90 je pops´ an technick´ y trik, jak detailn´ı v´ ypis sestav z´ıskat. Po sv´em spuˇstˇen´ı provede AX nejprve kompilaci zadan´e gramatiky. 7 Pokud se gramatiku z nˇejak´ ych d˚ uvod˚ u nepodaˇr´ı kompilovat, program ozn´ am´ı d˚ uvod 6 Tzn.
kaˇzd´ y ˇra ´dek mus´ı m´ıt tvar: <s id="...">......... pr˚ ubˇehu kompilace m˚ uˇze program t´eˇz naˇc´ıst morfologick´ y slovn´ık ˇceˇstiny, a to v pˇr´ıpadˇe, ˇze gramatika obsahuje sestavy rys˚ u zadan´e vzorem slovn´ıho tvaru, viz 5.3.2 na str. 61. 7V
´ AX KAPITOLA 5. SYSTEM
74
% Informace o naˇ cı ´t´ an´ ı 8157 Vstup 1002 Vstup-Selhal 162 Vstup-Selhal-Chyba ve form´ atu SGML. 840 Vstup-Selhal-Form´ at SGML v poˇ ra ´dku, neporozumˇ el CSTS. 7155 Vstup-V poˇ ra ´dku; naˇ ctena vˇ eta. % Informace o zpracov´ an´ ı 7155 Stats 1051 Stats-Odpov´ ıda 910 Stats-Odpov´ ıda-1 141 Stats-Odpov´ ıda-2 6104 Stats-Zam´ ıtnuto 30 Stats-Zam´ ıtnuto-apostrof 841 Stats-Zam´ ıtnuto-cislice 30 Stats-Zam´ ıtnuto-dvojtecka_ne_na_konci 14 Stats-Zam´ ıtnuto-lomitko 3360 Stats-Zam´ ıtnuto-nech_jen_H_VVH_nebo_HVV 9 Stats-Zam´ ıtnuto-neparova_zavorka 164 Stats-Zam´ ıtnuto-podezreni_NPgV 9 Stats-Zam´ ıtnuto-podezreni_PgAV 484 Stats-Zam´ ıtnuto-podezreni_VNPg 16 Stats-Zam´ ıtnuto-podezreni_VPgA 725 Stats-Zam´ ıtnuto-pomlcka 289 Stats-Zam´ ıtnuto-prilis_mnoho_partic_active 71 Stats-Zam´ ıtnuto-strednik_ne_na_konci 62 Stats-Zam´ ıtnuto-vyrad_vety_s_pasivnimi_tvary_sloves
Obr´ azek 5.4: Z´ avˇereˇcn´ a statistika bˇehu programu AX. chyby na standardn´ı chybov´ y v´ ystup a ukonˇc´ı sv˚ uj bˇeh. Po skonˇcen´ı bˇehu (po uzavˇren´ı standardn´ıho vstupu a zpracov´ an´ı vˇsech vˇet) program rovnˇeˇz vyp´ıˇse statistiku o tom, kolik vˇet bylo zpracov´ ano a kolik vˇet bylo z jak´ ych d˚ uvod˚ u zam´ıtnuto. Oddˇelenˇe program uv´ ad´ı pˇrehled o tom, kolik vˇet se nepodaˇrilo naˇc´ıst z d˚ uvodu nesrovnalost´ı ve vstupn´ım ˇra ´dku, a oddˇelenˇe pˇrehled o tom, kter´e filtry zam´ıtly kolik vˇet. Obˇe statistiky jsou pˇritom m´ırnˇe “hierarchick´e”, tzn. ˇze uv´ adˇej´ı nejen poˇcet vˇet zam´ıtnut´ ych jednotliv´ ymi filtry, ale t´eˇz souhrnn´ y poˇcet zam´ıtnut´ ych vˇet. V t´eto hierarchii jsou roztˇr´ıdˇeny i pˇrijat´e vˇety, a to podle toho, kolik v´ ystupn´ıch ˇcten´ı se pro nˇe podaˇrilo gramatikou z´ıskat. V naˇsem pˇr´ıkladu bylo 910 vˇet pˇrijato s jedn´ım v´ ystupn´ım ˇcten´ım, pro 141 vstupn´ıch vˇet se podaˇrilo naj´ıt ˇcten´ı dvˇe, celkem tedy bylo pˇrijato 1051 vˇet.
5.7.2
Parametry na pˇ r´ıkazov´ eˇ r´ adce
Program AX akceptuje tyto parametry: --help Program vyp´ıˇse struˇcnou n´ apovˇedu.
´ AX KAPITOLA 5. SYSTEM
75
--input=<manual|ambig|desam|a|b|...> Urˇcuje, kter´e vstupn´ı morfologick´e znaˇckov´ an´ı m´ a program ze vstupn´ıho souboru ve form´ atu CSTS naˇc´ıtat (podrobnosti viz popis CSTS v r´ amci dokumentace PDT): Hodnota manual ambig desam
Vol´ı lemma a znaˇ cky a <MMl> a <MMt> (v´ ychoz´ı nastaven´ı) prvn´ı dostupn´ a znaˇcka <MDl> a <MDt> <MDl src=""> a <MDt src="">
--verbose V pr˚ ubˇehu kompilace jsou zpracovan´ a pravidla vypisov´ ana. --progress-ids Program bude na standardn´ı chybov´ y v´ ystup postupnˇe vypisovat ID vˇet, kter´e pr´ avˇe zaˇc´ın´ a zpracov´ avat. --log= Program bude ukl´ adat ladic´ı v´ ypis do soubor˚ u .trex a .graph; viz n´ıˇze. --flush= Ladic´ı v´ ypis bude aktualizov´ an kaˇzd´ ych vˇet. (V´ ychoz´ı hodnota je 10.) --debug Ladic´ı v´ ypis bude aktualizov´ an pˇri kaˇzd´em kroku algoritmu. Chod syst´emu bude proto velmi pomal´ y. Dalˇs´ı parametry programu nejsou urˇceny bˇezn´emu uˇzivateli.
5.7.3
Ladˇ en´ı gramatiky pro syst´ em AX
Struˇ cn´ e v´ ypisy K ladˇen´ı jednoduch´ ych probl´em˚ u v gramatice pro jazyk AX obvykle postaˇc´ı zapnout ladic´ı v´ ypisy pro jednotliv´ a pravidla ˇci filtry. O ladic´ı v´ ypis poˇza ´d´ ame pˇrips´ an´ım kl´ıˇcov´eho slova debug pˇred filtr ˇci pravidlo, napˇr.: debug rule ne_zcela_dobre_pravidlo: ... debug keep az_sem_postoupilo_cteni_vety: .* end Do standardn´ıho v´ ystupu jsou pak nad klasick´e ˇra ´dky ID, IN a OUT vyps´ ana vˇsechna ˇcten´ı, kter´ a provˇeˇrovan´ y filtr zpracov´ aval spoleˇcne s pozn´ amkou, zda ˇcten´ı filtrem proˇsla nebo ne. V´ ypis u pravidel je proveden pouze tam, kde se sledovan´e pravidlo podaˇrilo aplikovat. Ve v´ ypisu je vyznaˇcen zaˇca ´tek i konec aplikace pravidla a rovnˇeˇz v´ ysledn´ a n´ ahrada.
´ AX KAPITOLA 5. SYSTEM
76
Detailn´ı ladic´ı v´ ypis S ohledem na potenci´ aln´ı sloˇzitost chodu programu AX a mnoˇzstv´ı drobn´ ych chyb v pravidlech a filtrech gramatiky byl vybudov´ an rovnˇeˇz velmi podrobn´ y syst´em ladic´ıch v´ ypis˚ u o pr˚ ubˇehu anal´ yzy. Je tˇreba d˚ uraznˇe varovat, ˇze ladic´ı v´ ypisy jsou velmi rozs´ ahl´e. Podrobn´ y ladic´ı v´ ypis doporuˇcujeme proto pouˇz´ıvat pouze na velmi mal´ y poˇcet vstupn´ıch vˇet, v nichˇz chceme hledat probl´em. Cel´ y syst´em ladic´ıch v´ ypis˚ u je uveden do chodu, pokud spust´ıme AX s parametrem --log=. Detailn´ı ladic´ı v´ ypisy jsou postupnˇe ukl´ ad´ any do soubor˚ u .graph a .trex. Frekvenci ukl´ ad´ an´ı v´ ypis˚ u lze urˇcit parametrem --flush=<poˇ cet vˇ et>, implicitnˇe je v´ ypis uloˇzen po kaˇzd´ ych 10 zpracovan´ ych vˇet´ ach. Ladic´ı v´ ypis je rozdˇelen do dvou soubor˚ u, jelikoˇz v u ´plnosti by byl velmi nepˇrehledn´ y. Soubor .graph obsahuje v´ ypis v intern´ı reprezentaci orientovan´eho grafu. Soubor .trex je urˇcen pro uˇzivatele. Otevˇreme-li tento soubor v textov´em editoru vim, kter´ y je ˇra ´dnˇe nastaven pro prohl´ıˇzen´ı soubor˚ u *.trex (viz pˇr´ıloha C na stranˇe 100), m˚ uˇzeme nˇekolika stisky kl´ avesy Return postupnˇe rozbalit hierarchick´ y pohled na pr˚ ubˇeh anal´ yzy zpracov´ avan´ ych vˇet, aˇz k detail˚ um aplikace jednotliv´ ych pravidel. Uk´ azka z´ aznamu je uvedena na obr´ azku 5.5 na str. 81.
5.8
N´ amˇ ety na rozˇ s´ıˇ ren´ı
Tato kapitola struˇcnˇe uv´ ad´ı nˇekolik n´ amˇet˚ u, jak by bylo vhodn´e jazyk AX obohatit. V pozdˇejˇs´ıch verz´ıch jazyka se tato rozˇs´ıˇren´ı s nejvyˇsˇs´ı pravdˇepodobnost´ı objev´ı.
5.8.1
Operace nad konstantn´ımi sestavami rys˚ u
Vzhledem k moˇznosti zaveden´ı zkratek a instantn´ıch sestav rys˚ u se uk´ azalo jako u ´ˇceln´e d´ at autoru gramatiky moˇznost manipulovat s konstatn´ımi sestavami rys˚ u a “pˇredpoˇc´ıtat” si z nich jin´e sestavy. Pro standardn´ı operace nad konstantn´ımi sestavami rys˚ u (viz 5.2.2 na stranˇe 55) by tedy byly v syntaxi jazyka AX zavedeny tyto oper´ atory: Oper´ ator sestava . atribut atribut - sestava sestava \ atribut sestava /\ sestava sestava \/ sestava
Prov´ ad´ı operaci Deterministick´ a extrakce atributu Obalen´ı sestavy Odstranˇen´ı vˇsech v´ yskyt˚ u atributu Unifikace Slouˇcen´ı, merge
´ AX KAPITOLA 5. SYSTEM
77
Oper´ atory v tabulce jsou uvedeny s klesaj´ıc´ı prioritou. Je moˇzn´e uzav´ırat v´ yrazy nad konstatn´ımi sestavami rys˚ u do kulat´ ych z´ avorek. Napˇr´ıklad by takto bylo moˇzn´e d´ıky instantn´ı sestavˇe rys˚ u a operaci unifikace zav´est velmi pohodlnˇe zkratku pro sloveso b´yt ve tˇret´ı osobˇe jednotn´eho ˇc´ısla pˇr´ıtomn´eho ˇcasu. Unifikaci je nutno pouˇz´ıt, nebot’ slovo je m˚ uˇze b´ yt ch´ ap´ ano t´eˇz jako z´ ajmeno. shortcut je = ‘je‘ /\ [cat-verb] Konstantn´ı v´ yrazy ze sestav rys˚ u by bylo moˇzn´e pouˇz´ıt vˇsude tam, kde je moˇzn´e pouˇz´ıt konstantn´ı sestavy rys˚ u. V´ yrazy by byly vyhodnoceny jeˇstˇe v dobˇe kompilace. Pokud by byla poˇzadov´ ana nemoˇzn´ a operace (napˇr. unifikace sestav, kter´e si neodpov´ıdaj´ı), ˇslo by o chybu pˇri kompilaci gramatiky. Toto rozˇs´ıˇren´ı bude do jazyka AX nepochybnˇe zahrnuto, jakmile bude ze syst´emu odstranˇena samostatn´ a ˇca ´st kompilace vstupn´ı gramatiky pomoc´ı extern´ıho modulu v Perlu (viz 5.9 na str. 79).
5.8.2
Pln´ y reperto´ ar ˇ r´ızen´ı bˇ ehu
V pr˚ ubˇehu pr´ ace se syst´emem AX se uk´ azalo, ˇze zpracov´ an´ı vˇet v pevn´e sekvenci blok˚ u nemus´ı b´ yt vˇzdy pro autora gramatiky nejpohodlnˇejˇs´ı. Tato kapitola proto navrhuje, jak jazyk AX v´ yznamnˇe obohatit o plnou moˇznost kontroly ˇr´ızen´ı bˇehu gramatiky. Z´ akladn´ı myˇslenka reprezentovat v kaˇzd´em kroku programu dosavadn´ı pˇrijateln´ a ˇcten´ı vˇety jako mnoˇziny posloupnost´ı sestav rys˚ u z˚ ust´ av´ a zachov´ ana i v nov´em n´ avrhu, proti filtr˚ um a pravidl˚ um (jak byly pops´ any v kapitol´ ach 5.4 na stranˇe 62 a 5.5 na str. 64) je vˇsak pˇrid´ ana: • moˇznost definice a vol´ an´ı podprocedur, • moˇznost vˇetven´ı gramatiky. Implementace tohoto rozˇs´ıˇren´ı nen´ı technicky pˇr´ıliˇs obt´ıˇzn´ a, rozˇs´ıˇren´ı by vˇsak bylo vhodn´e spojit s “´ uklidem a oˇcistou” syntaxe jazyka AX, a proto pˇresahuje moˇznosti t´eto pr´ ace. V nov´e definici by tedy platilo: program v jazyce AX ze vstupn´ı mnoˇziny posloupnost´ı sestav rys˚ u (ˇcten´ı vˇety) vytvoˇr´ı v´ ystupn´ı mnoˇzinu posloupnost´ı sestav rys˚ u. Pokud je v´ ystupn´ı mnoˇzina ˇcten´ı vˇety pr´ azdn´ a, ˇr´ık´ ame, ˇze program selhal. Programem pˇritom je: • filtr (jak jej zn´ ame z kapitoly 5.4 na stranˇe 62), • skupina pravidel (jak ji zn´ ame z kapitoly 5.5 na str. 64), • podprocedura, • podm´ınka if-then-else.
´ AX KAPITOLA 5. SYSTEM
78
Podprocedury Podprocedura v jazyce AX je sekvence program˚ u. Mnoˇzina ˇcten´ı vˇety vstupuj´ıc´ı do podprocedury je pˇred´ ana prvn´ımu z program˚ u. Pokud program uspˇeje a vr´ at´ı nˇejak´ a v´ ystupn´ı ˇcten´ı vˇety, jsou pˇred´ ana na vstup dalˇs´ımu v sekvenci program˚ u. V´ ystup posledn´ıho z program˚ u je odevzd´ an jako v´ ystup cel´e podprocedury. Podprocedura selˇze a vr´ at´ı pr´ azdnou mnoˇzinu v´ ystupn´ıch ˇcten´ı, pokud libovoln´ y program ze sekvence selˇze. Vˇ etven´ı gramatiky Vˇetven´ı typu if-then-else je programem jazyka AX. Jako podm´ınka pro vˇetven´ı slouˇz´ı regul´ arn´ı v´ yraz nad sestavou rys˚ u.8 Mnoˇzina ˇcten´ı vˇety vstupuj´ıc´ıch do podm´ınky if-then-else je rozdˇelena na ta ˇcten´ı, kter´ a odpov´ıdaj´ı regul´ arn´ımu v´ yrazu v podm´ınce, a na ta, kter´ a tomuto ˇ v´ yrazu neodpov´ıdaj´ı. Cten´ ı vyhovuj´ıc´ı podm´ınce jsou zpracov´ ana programem uveden´ ym ve vˇetvi then, ˇcten´ı nevyhovuj´ıc´ı podm´ınce jsou zpracov´ ana programem uveden´ ym ve vˇetvi else. V´ ystupem cel´e konstrukce if-then-else je pak sjednocen´ı v´ ystupn´ıch ˇcten´ı z vˇetve then a vˇetve else. Pokud vˇetev else chyb´ı, je v´ ystupem sjednocen´ı v´ ysledk˚ u z vˇetve then a vstupn´ıch ˇcten´ı, kter´ a nevyhovˇela podm´ınce vˇetven´ı (tj. jako by vˇetev else se ˇcten´ımi neprovedla ˇza ´dn´e u ´pravy).
5.8.3
Kontrola zachov´ an´ı z´ avislost´ı
Z hlediska pˇr´ıpravy gramatik prov´ adˇej´ıc´ıch syntaktickou anal´ yzu vˇety ˇcesk´eho jazyka se nab´ız´ı zaj´ımav´ a moˇznost: ovˇeˇrovat spr´ avnost chodu gramatiky na vˇet´ ach, kter´e jiˇz syntakticky analyzov´ any byly, totiˇz na vˇet´ ach PDT. V duchu z´ avislostn´ıch gramatik a redukˇcn´ı anal´ yzy lze o konstrukci automatu na rozpozn´ an´ı spr´ avn´e ˇcesk´e vˇety uvaˇzovat takto: V kaˇzd´em kroku redukˇcn´ı anal´ yzy je moˇzn´e ze vstupn´ı vˇety odstranit pouze ta slova, na nichˇz ˇza ´dn´e dalˇs´ı ˇca ´sti vˇety nez´ avis´ı, jinak by dosud platn´ a vˇeta jazyka byla redukc´ı pˇrevedena na vˇetu, kter´ a souˇca ´st´ı jazyka nen´ı. Autor gramatiky syst´emu AX pˇri formulov´ an´ı redukˇcn´ıch pravidel typicky usiluje o zjednoduˇsen´ı vstupn´ı vˇety, ale tak, aby neporuˇsil jej´ı syntaktickou strukturu. Pokud vstupn´ı data z´ avislostn´ı syntaktickou strukturu vˇety explicitnˇe obsahuj´ı (jako PDT), mohl by syst´em AX po aplikaci kaˇzd´eho pravidla ovˇeˇrit, ˇze v´ ysledn´e ˇcten´ı tuto strukturu neporuˇsilo. Pˇresn´ y postup kontroly zde nebudeme uv´ adˇet, podstata tkv´ı v tom, ˇze u ´pravu, kterou pravidlo provedlo na uzlech vstupn´ı vˇety, mus´ı b´ yt moˇzn´e vysvˇetlit jako posloupnost kontrakc´ı hran syntaktick´eho stromu vˇety. Syntaktick´ a struktura vˇety by naopak byla poruˇsena, pokud by pravidlo spojen´ım dvou uzl˚ u vytvoˇrilo ve stromu vˇety cyklus. V takov´em pˇr´ıpadˇe by syst´em mohl autorovi gramatiky hl´ asit varov´ an´ı 8 Bylo by moˇ zn´e uv´ aˇzovat i regul´ arn´ı v´ yraz s omezuj´ıc´ımi podm´ınkami, viz 5.5.2 na stranˇe 66.
´ AX KAPITOLA 5. SYSTEM
79
ve smyslu: u ´prava, kterou toto pravidlo na t´eto vˇetˇe provedlo, je v rozporu se syntaktickou strukturou vˇety.
5.9
Pozn´ amky k implementaci
Syst´em AX je implementov´ an kombinovanˇe v jazyce Perl a v jazyce Mercury (viz Somogyi, Henderson, and Conway (1995) a aktu´ aln´ı dokumentaci 9 ). Volba neprocedur´ aln´ıho programovac´ıho jazyka Mercury pro podstatnou ˇca ´st syst´emu AX se uk´ azala jako velmi ˇst’astn´ a. Mezi pˇr´ızniv´e str´ anky tohoto jazyka patˇr´ı pˇredevˇs´ım: • propracovan´ y typov´ y syst´em, typovan´e prologovsk´e termy, vˇcetnˇe typov´eho polymorfismu, • pr´ ace s pamˇet´ı zcela v reˇzii kompil´ atoru, • deklarativn´ı zp˚ usob programov´ an´ı umoˇzn ˇuje ps´ at funkce “reversibiln´ı”, kompil´ ator s´ am se postar´ a o spr´ avn´e uspoˇra ´d´ an´ı vol´ an´ı tak, aby producent vˇzdy pˇredch´ azel konzumenta, • vestavˇen´ y backtracking jako v prologu, ovˇsem s kontrolou determinismu jeˇstˇe v dobˇe kompilace (predik´ aty jsou provˇeˇrov´ any, a pokud nemohou vracet v´ıce ˇreˇsen´ı, nikdy nejsou spouˇstˇeny opakovanˇe), • programov´ an´ı vyˇsˇs´ıho ˇra ´du (pˇred´ av´ an´ı nejen hodnot, ale i funkc´ı), • v´ yjimky a moˇznost jejich bezpeˇcn´eho oˇsetˇren´ı, • pˇr´ım´ a kompilace do jazyka C s moˇznost´ı pˇr´ım´e integrace s k´ odem napsan´ ym v C/C++, a to vˇcetnˇe “nedeterminick´eho k´ odu” (tj. funkc´ı vracej´ıc´ıch postupnˇe v´ıce r˚ uzn´ ych ˇreˇsen´ı) v C i pro C. Bohat´ y typov´ y syst´em umoˇzn ˇuje pohodln´e vytv´ aˇren´ı a velmi pohodlnou manipulaci i se znaˇcnˇe sloˇzit´ ymi datov´ ymi strukturami. D˚ uslednou typovou kontrolu program´ ator ocen´ı rovnˇeˇz v pˇr´ıpadˇe, ˇze pozdˇeji navrhne napˇr. m´ırnˇe odliˇsnou definici z´ akladn´ıch datov´ ych struktur. Po zmˇenˇe definice typ˚ u kompil´ ator sadou chybov´ ych hl´ aˇsek program´ atora doslova provede po vˇsech m´ıstech v k´ odu, kter´ a zmˇena zas´ ahla. Pˇrirozen´ a modularita prologov´ ych program˚ u na druhou stranu napom´ ah´ a tomu, aby takov´ ych m´ıst bylo v cel´em programu velmi m´ alo. Nav´ıc striktn´ı typov´ a kontrola, kontrola determinismu a pˇredevˇs´ım u ´pln´ a p´eˇce o pamˇet’ (program´ ator nic nealokuje a nedealokuje, vˇsechny promˇenn´e jsou lok´ aln´ı, na z´ asobn´ıku vol´ an´ı predik´ at˚ u) jsou vlastnosti, kter´e prakticky znemoˇzn ˇuj´ı napsat havaruj´ıc´ı k´ od. Syntaktick´ a anal´ yza vstupn´ı gramatiky je v souˇcasn´e dobˇe zajiˇst’ov´ ana za pomoci modulu Parse::RecDescent10 pro Perl. Pro jazyk Mercury existuje 9 http://www.cs.mu.oz.au/research/mercury/ 10 http://search.cpan.org/author/DCONWAY/Parse-RecDescent-1.80/lib/Parse/RecDescent.pod
´ AX KAPITOLA 5. SYSTEM
80
sice v souˇcasn´e dobˇe k dispozici pouˇziteln´ y z´ arodek syntaktick´eho analyz´ atoru (program moose, analogick´ y ke zn´ am´emu programu bison), jeho schopnosti a pohodl´ı pro program´ atora se vˇsak zat´ım s modulem Parse::RecDescent nedaj´ı srovn´ avat. Napˇr´ıklad lexik´ aln´ı anal´ yzu zdrojov´eho k´ odu by bylo nutn´e prov´ adˇet ve vlastn´ı reˇzii, kdeˇzto modul do Perlu umoˇzn ˇuje popsat tokeny pomoc´ı regul´ arn´ıch v´ yraz˚ u pˇr´ımo v gramatice. Syntaktick´ a anal´ yza v Perlu tedy vstupn´ı gramatiku pˇredzpracuje a pˇrep´ıˇse do syntaxe shodn´e se syntax´ı ISO Prologu, kterou jiˇz Mercury um´ı pˇr´ımo naˇc´ıtat do sv´ ych datov´ ych struktur. V souˇcasn´em stavu v´ yvoje syst´emu je toto rozdˇelen´ı na dva samostatn´e bloky jiˇz m´ırnˇe na obt´ıˇz; napˇr´ıklad je nutn´e mezi obˇema ˇca ´stmi pˇred´ avat ˇradu pˇrep´ınaˇc˚ u. Nejbliˇzˇs´ı zmˇenou, kterou syst´em AX projde, bude proto pr´ avˇe reimplementace kompil´ atoru gramatiky.
´ AX KAPITOLA 5. SYSTEM
81
graphfile:bug.graph -a Bˇ eh zah´ ajen: Thu Dec 12 23:00:16 2002 -c Vstup cmpr9410:028-p6s2: Ned´ avno jsem byl ve staroˇ zitnictv´ ı a nˇ ekter´ e vˇ eci se mi tam l´ ıbily . -d Filtr: pomlcka: 1 --> 1 -t Filtr: apostrof: 1 --> 1 -v Filtr: lomitko: 1 --> 1 -x Filtr: dvojtecka_ne_na_konci: 1 --> 1 -z Filtr: zlomitko: 1 --> 1 -a1 Filtr: strednik_ne_na_konci: 1 --> 1 -a3 Filtr: cislice: 1 --> 1 -a5 V´ ysledky f´ aze: 1 --> 1 (smaz_kulate_zavorky_kolem_cele_vety, smaz_hranate_zavorky_kolem_cele_... -eN Filtr: neparova_zavorka: 1 --> 1 -eP V´ ysledky f´ aze: 1 --> 1 (smaz_uvozovku_na_zacatku, smaz_uvozovku_na_konci). -fr Filtr: uvozovka_uvnitr: 1 --> 1 -ft Filtr: prilis_mnoho_partic_active: 1 --> 1 -fv V´ ysledky f´ aze: 1 --> 1 (complex_pasv, complex_modal, complex_condit, ...). -fw Detaily vstupu -hz Pravidlo complex_pasv nebylo moˇ zno pouˇ zı ´t. -jJ Pravidlo complex_modal nebylo moˇ zno pouˇ zı ´t. -lU Pravidlo complex_condit nebylo moˇ zno pouˇ zı ´t. -mO Pravidlo complex_past_tense: -..---------- --> -.----------vg V´ ysledky f´ aze: 1 --> 1 (adv_coord_adv). -wm V´ ysledky f´ aze: 1 --> 1 (adj_coord_adj, make_nounph, make_pronph). -wn Detaily vstupu -xP Pravidlo adj_coord_adj nebylo moˇ zno pouˇ zı ´t. -yj Pravidlo make_nounph: --..-------- --> --.--------xe Detail aplikace pravidla make_nounph -yk Detail: Ned´ avno byl staroˇ zitnictv´ ı a nˇ ekter´ e vˇ eci se mi tam l´ ıbily . -zU Pravidlo adj_coord_adj nebylo moˇ zno pouˇ zı ´t. -a0w Pravidlo make_nounph: ----..----- --> ----.-----zi Detail aplikace pravidla make_nounph -zj Pozice 0: Ned´ avno -a03 Pozice 1: byl -a0C Pozice 2: staroˇ zitnictv´ ı -a0L Pozice 3: a -a0U Pozice 4: nˇ ekter´ e -a0V Navazuji vstup ’nˇ ekter´ e’ na promˇ ennou prep: [cat-prep] -a0X Navazuji vstup ’nˇ ekter´ e’ na promˇ ennou adv: [cat-adv] -a0Z Navazuji vstup ’nˇ ekter´ e’ na promˇ ennou adjpronnum: [cat-pron,morfcat-’da(morfcat(pron... -a0a Prvn´ ı nav´ az´ an´ ı uspˇ elo: [cat-pron,morfcat-’da(morfcat(pron(indef)))’,lemma-"nˇ ekter´ y... -a0b Uspˇ ela i revize vztah˚ u mezi promˇ enn´ ymi, detail nov´ ych promˇ enn´ ych zde. -a0i Navazuji vstup ’vˇ eci’ na promˇ ennou adv: [cat-adv] -a0k Navazuji vstup ’vˇ eci’ na promˇ ennou adjpronnum: [cat-pron,morfcat-’da(morfcat(pro... -a0m Navazuji vstup ’vˇ eci’ na promˇ ennou noun: [cat-noun,agr-[case-aku,gend-fem,num-pl]] -a0v Nalezene nahrazuji: vˇ eci -a4a Navazuji vstup ’nˇ ekter´ e’ na promˇ ennou prep: [cat-prep] -a0x Detail: Ned´ avno byl staroˇ zitnictv´ ı a vˇ eci se mi tam l´ ıbily . -a1d Pravidlo adj_coord_adj nebylo moˇ zno pouˇ zı ´t. -a3f Pravidlo make_nounph nebylo moˇ zno pouˇ zı ´t. -a4N Pravidlo make_pronph nebylo moˇ zno pouˇ zı ´t. -a4c V´ ysledky f´ aze: 1 --> 1 (oznac_nonprepgroup). -a5s V´ ysledky f´ aze: 1 --> 1 (zpatky_vrat_cat_nounph). -a78 V´ ysledky f´ aze: 1 --> 1 (noun_coord_noun, noun_gennounph). -a9S Filtr: nech_jen_H_VVH_nebo_HVV: 1 --> 1 -a9U Filtr: PRED_PODEZRELYMI: 1 --> 1 -a9W Filtr: podezreni_VNPg: 1 --> 1 -a9Y Filtr: podezreni_NPgV: 1 --> 1 -a9a Filtr: podezreni_PgAV: 1 --> 1 -a9c Filtr: podezreni_VPgA: 1 --> 1 -a9e Filtr: PO_PODEZRELYCH: 1 --> 1 -a9g V´ ysledky f´ aze: 1 --> 2 (extrahuj_H_z_HV, extrahuj_V_z_HV, extrahuj_H_z_VH, ...). -aKF Filtr: nech_jen_klauze: 2 --> 2 -aKI Filtr: vyrad_vety_s_pasivnimi_tvary_sloves: 2 --> 2 -aKL V´ ysledky f´ aze: 2 --> 2 (1). -aMM Filtr: OCISTENO: 2 --> 2 -aMP V´ ysledky f´ aze: 2 --> 2 (sloveso_dopredu, hezky_vyjadri_doplneni). -aP7 V´ ystupy: 2 -b V´ ystupy: -aPG 1: b´ yt Ned´ avno [lemma-"staroˇ zitnictv´ ı",form-"staroˇ zitnictv´ ı",agr-[case-lok,gend-neut,num-sg],pre... -aPH 1: l´ ıbit [lemma-"vˇ ec",form-"vˇ eci",agr-[case-aku,gend-fem,num-pl],prep-"BLANK"] [lemma-"se",form-...
Obr´ azek 5.5: Uk´ azka ladic´ıho v´ ypisu bˇehu syst´emu AX.
Kapitola 6
Z´ avˇ er V t´eto pr´ aci jsme studovali moˇznosti automatizovan´eho z´ısk´ av´ an´ı lexik´ alnˇe-syntaktick´ ych u ´daj˚ u z korpusov´ ych dat. Uk´ azali jsme, ˇze st´ avaj´ıc´ı korpusy ˇceˇstinu i pˇres sv˚ uj rozsah nemus´ı pro specifick´e ot´ azky poskytovat dat dostatek. Navrhli a implementovali jsme jednoduch´ y postup selektivn´ıho rozˇsiˇrov´ an´ı korpus˚ u na z´ akladˇe text˚ u dostupn´ ych v Internetu. Pro ot´ azky t´ ykaj´ıc´ı se syntaxe pˇrirozen´eho jazyka je ˇza ´douc´ı studovat data anotovan´ a na syntaktick´e rovinˇe popisu. Uk´ azali jsme vˇsak, ˇze st´ avaj´ıc´ı syntaktick´ y korpus pro ˇceˇstinu, Praˇzsk´ y z´ avislostn´ı korpus, poskytuje v souˇcasn´em rozsahu pro nˇekter´e u ´ˇcely dat skuteˇcnˇe velmi m´ alo; naˇse pr´ ace byla konkr´etn´e zamˇeˇrena na z´ısk´ av´ an´ı slovesn´ ych r´ amc˚ u. V pr´ aci jsme proto vyhodnotili dostupn´e syntaktick´e analyz´ atory pro ˇceˇstinu, kter´e by bylo moˇzn´e pro z´ısk´ an´ı vˇetˇs´ıho mnoˇzstv´ı syntakticky anotovan´ ych dat pouˇz´ıt. Uk´ azali jsme, ˇze v konkr´etn´ıch pˇr´ıpadech je tˇreba mˇeˇrit u ´spˇeˇsnost parser˚ u podle vhodnˇejˇs´ıch krit´eri´ı, neˇz je poˇcet spr´ avnˇe zapojen´ ych slov v z´ avislostn´ım rozboru vˇety. Konkr´etnˇe pro n´ aˇs u ´ˇcel extrakce slovesn´ ych r´ amc˚ u je tˇreba uv´ adˇet pro nejlepˇs´ı z dostupn´ ych parser˚ uu ´spˇeˇsnost cca 55 % spr´ avnˇe identifikovan´ ych r´ amc˚ u, na rozd´ıl od typicky ud´ avan´e u ´spˇeˇsnosti 70 aˇz 83 % spr´ avnˇe zapojen´ ych uzl˚ u. Abychom zlepˇsili u ´spˇeˇsnost st´ avaj´ıc´ıch parser˚ u ˇceˇstiny, navrhli a implementovali jsme vlastn´ı syst´em pro formulaci lingvistick´ ych krit´eri´ı filtrace vstupn´ıch vˇet. Syst´em AX je obecn´ y a lze jej pouˇz´ıt k identifikaci vhodn´ ych pˇr´ıklad˚ u pro libovoln´e lingvistick´e u ´ˇcely. Vˇety musej´ı b´ yt analyzov´ any na morfologick´e u ´rovni, zjednoznaˇcnˇen´ı morfologick´e informace nen´ı podm´ınkou. Syst´em AX je v pr´ aci pˇredstaven formou uˇzivatelsk´e pˇr´ıruˇcky. Pro naˇse u ´ˇcely extrakce slovesn´ ych r´ amc˚ u jsme v tomto syst´emu implementovali konkr´etn´ı filtr. T´ımto filtrem projde pˇribliˇznˇe 15 aˇz 20 % vstupn´ıch vˇet. St´ avaj´ıc´ı parsery jsme porovnali z hlediska u ´spˇeˇsnosti na filtrovan´ ych vˇet´ ach a dos´ ahli zlepˇsen´ı o 5 aˇz 10 % v poˇctu spr´ avnˇe zavˇeˇsen´ ych uzl˚ u. Pro n´ aˇs u ´ˇcel bylo podstatnˇejˇs´ı druh´e krit´erium, poˇcet spr´ avnˇe identifikovan´ ych slovesn´ ych r´ amc˚ u, kde parsery dos´ ahly zlepˇsen´ı o pˇribliˇznˇe 10 aˇz 15 %. Nejzaj´ımavˇejˇs´ı pˇritom bylo 82
´ ER ˇ KAPITOLA 6. ZAV
83
zlepˇsen´ı u ´spˇeˇsnosti v poˇctu zcela spr´ avnˇe analyzovan´ ych vˇet: nejlepˇs´ı z parser˚ u zcela spr´ avnˇe analyzuje v´ıce neˇz 50 % vˇet, kter´e proˇsly naˇs´ı filtrac´ı. V dalˇs´ı ˇca ´sti pr´ ace jsme se zamˇeˇrili na problematiku identifikace povrchov´ ych r´ amc˚ u sloves na z´ akladˇe pozorovan´ ych doplnˇen´ı slovesa. Upozornili jsme na nespolehlivost statistick´ ych metod pouˇzit´ ych pro tyto u ´ˇcely a navrhli zat´ım velmi jednoduchou variantu lingvisticky motivovan´e filtrace a identifikace typ˚ u slovesn´ ych doplnˇen´ı. D´ ale jsme studovali moˇznosti klasifikace pozorovan´ ych slovesn´ ych r´ amc˚ u do hierarchie a navrhli vhodn´ y pohled na tuto hierarchii. Samostatn´ a kapitola byla vˇenov´ ana ot´ azce z´ısk´ av´ an´ı valenˇcn´ıch r´ amc˚ u sloves. V t´eto kapitole jsme pˇredevˇs´ım dokumentovali obt´ıˇznost t´eto u ´lohy. Jedno z potˇrebn´ ych krit´eri´ı, test obligatornosti doplnˇen´ı, nen´ı v souˇcasn´e formulaci v˚ ubec moˇzn´e strojovˇe vyhodnotit. Druh´e krit´erium, odliˇsen´ı aktant˚ u a voln´ ych doplnˇen´ı, lze vyhodnocovat jen velmi obt´ıˇznˇe a z´ avis´ı t´eˇz na konkr´etn´ım studovan´em slovese. (Napˇr. nominativ hraje jednoznaˇcnˇe roli aktora jen u pˇribliˇznˇe 79 % z 2 487 pozorovan´ ych sloves, u cca 7 vystupuje i v roli voln´eho doplnˇen´ı.) Pˇri automatick´em z´ısk´ av´ an´ı valenˇcn´ıch r´ amc˚ u bude proto nutn´e m´ıt tato u ´skal´ı na pamˇeti a studovat podrobnˇeji i jednotliv´e typy sloves. Jako podkladov´ y materi´ al pro tuto kapitolu byly pouˇzity vˇety PDT, kter´e jsou postupnˇe anotov´ any na tektogramatickou rovinu jazykov´eho popisu. Je moˇzn´e, ˇze se v anotaci dosud vyskytuje mnoˇzstv´ı chyb; v takov´em pˇr´ıpadˇe je vˇsak n´ aˇs souhrnn´ y pohled na doplnˇen´ı sloves vhodn´e pouˇz´ıt jako podnˇet k hled´ an´ı chyb a pˇr´ıpadnˇe korekci anotace. Jak jiˇz bylo ˇreˇceno, podstatn´ a ˇca ´st t´eto pr´ ace je vˇenov´ ana popisu naˇseho syst´emu AX, kter´ y slouˇz´ı k filtraci vˇet pˇrirozen´eho jazyka na z´ akladˇe lingvisticky motivovan´ ych podm´ınek. Pˇredkl´ adanou pr´ aci je vhodn´e povaˇzovat za prvn´ı pˇribl´ıˇzen´ı k u ´kolu automatick´e extrakce lexik´ alnˇe-syntaktick´ ych u ´daj˚ u z korpus˚ u. Pr´ ace pˇredevˇs´ım mapuje probl´emy, kter´e bude pˇri automatick´em z´ısk´ av´ an´ı napˇr. studovan´ ych slovesn´ ych r´ amc˚ u tˇreba vyˇreˇsit. Prvn´ı n´ aznaky ˇreˇsen´ı jsou pˇredstaveny zde, pro praktick´e z´ısk´ av´ an´ı r´ amc˚ u vˇsak ˇrada v´ yznamn´ ych a zaj´ımav´ ych ot´ azek z˚ ust´ av´ a otevˇrena a bude tˇreba vˇenovat se j´ı i v dalˇs´ım v´ yzkumu.
Dodatek A
Identifikace velmi jednoduch´ ych vˇ et Pˇr´ıloha obsahuje pˇresnou gramatiku pro syst´em AX, kter´ a byla pouˇzita pro identifikaci dostateˇcnˇe jednoduch´ ych vˇet, aby syntaktick´e analyz´ atory dok´ azaly ve vˇetˇe poznat povrchov´ y r´ amec slovesa dostateˇcnˇe kvalitnˇe. Lingvistick´ y v´ yznam pravidel je pops´ an v kapitole 3.2 na str. 28, popis syntaxe jazyka AX je souˇca ´st´ı kapitoly 5 na stranˇe 53. grammar ## Z´ akladn´ ı definice zkratek za slovn´ ı druhy, v´ yznamn´ a slova # a symboly a nˇ ekter´ e netermin´ aly shortcuts noun = [cat-noun], adv = [cat-adv], adj = [cat-adj], prep = [cat-prep], aianinebo = [form-"a";"i";"ani";"nebo";"A";"I";"Ani";"Nebo";"ˇ ci";" ˇ Ci"], verb = [cat-verb;complexmodal;complexpassive; complexpast;complexcond;complexfut], comma = [form-","], punct = [form-","; ";"; "-"; ":"; "."; "?"; "!"], nounph = [cat-nounph], trace = [cat-trace] end ############################################################ ## Zam´ ıtnut´ ı sloˇ zit´ e interpunkce a vˇ et s c ˇı ´slicemi shortcuts uvozovka = ‘"‘, pomlcka = ‘-‘, apostrof = ‘’‘, lomitko = ‘/‘, dvojtecka = ‘:‘, zlomitko = ‘\‘, strednik = ‘;‘ end
84
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET filter filter filter filter filter filter filter
pomlcka: .* pomlcka .* end apostrof: .* apostrof .* end lomitko: .* lomitko .* end dvojtecka_ne_na_konci: .* dvojtecka $ end zlomitko: .* zlomitko .* end strednik_ne_na_konci: .* strednik $ end cislice: ^.* [morfcat-’da(morfcat(numer(digits)))’; ’da(morfcat(numer(roman)))’] .*$
end ## # Vymaz´ an´ ı textu v z´ avork´ ach # Odstranˇ en´ ı p´ arovych z´ avorek shortcuts openpar = [form-"("], openbr = [form-"["], opencur = [form-"{"], closepar = [form-")"], closebr = [form-"]"], closecur = [form-"}"] end rule smaz_kulate_zavorky_kolem_cele_vety: \contents ---!-> ^ openpar {contents:.*} closepar $ end rule smaz_hranate_zavorky_kolem_cele_vety: \contents ---!-> ^ openbr {contents:.*} closebr $ end rule smaz_slozene_zavorky_kolem_cele_vety: \contents ---!-> ^ opencur {contents:.*} closecur $ end rule delete_parentheses: ---!-> openpar !{openpar,closepar,openbr,closebr,opencur,closecur}<* closepar end rule delete_brackets: ---!-> openbr !{openpar,closepar,openbr,closebr,opencur,closecur}<* closebr end rule delete_braces: ---!-> opencur !{openpar,closepar,openbr,closebr,opencur,closecur}<* closecur end ## # Zam´ ıtnut´ ı vˇ et s (nep´ arov´ ymi) z´ avorkami keep neparova_zavorka: ^ !{openpar, closepar, openbr, closebr, opencur, closecur}* $ end ## # Zam´ ıtnut´ ı vˇ et s nepˇ rı ´jemnou uvozovkou rule smaz_uvozovku_na_zacatku: --!-> ^ uvozovka end rule smaz_uvozovku_na_konci: --!-> uvozovka $ end filter uvozovka_uvnitr: .* uvozovka .* end ############################################################ ## Sloˇ zen´ ı analytick´ ych slovesn´ ych tvar˚ u shortcut particactive = [cat-verb, morfcat-’da(morfcat(verb(particactive)))’] ## Z d˚ uvodu efektivity zam´ ıtneme vˇ ety s pˇ rı ´liˇ s mnoha urˇ cit´ ymi # slovesy ihned. filter prilis_mnoho_partic_active: ^ .* particactive .* particactive .* particactive .* $ end
## Spojov´ an´ ı sloˇ zen´ ych slovesn´ ych tvar˚ u prov´ ad´ ıme zcela deterministickou f´ az´ ı ## Jen poˇ ca ´tky a konce aplikace pravidel d´ avaj´ ı moˇ znost volby. # V pravidlech jsou koment´ ar ˇem vyznaˇ cena m´ ısta, kde je moˇ zn´ e
85
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET # ponechat ve zpracov´ avan´ e vˇ etˇ e na m´ ıstˇ e zpracovan´ e c ˇa ´sti slovesa # "stopu" (trace) # pasivum rule complex_pasv: complex \gap #trace ----> jsem {gap:!{verb, comma, aianinebo}*} zalit | zalit {gap:!{verb, comma, aianinebo}*} jsem :: zalit <- cat, morfcat, voice -> ‘zalit‘, jsem = [cat-verb;complexpast, lemma-"b´ yt", morfcat-’da(morfcat(verb(presfut)))’; ’da(morfcat(verb(particactive)))’], #jsem <- lemma -> ‘jsem‘, zalit.agr.num = jsem.agr.num, zalit <- agr.gend, agr.pers -> jsem, complex = [cat-complexpassive], complex <- lemma, form, mood -> zalit, complex.neg2 = zalit.neg, complex.neg = jsem.neg, complex <- agr.num, agr.gend, agr.pers, morfcat -> jsem # trace = [cat-trace, form-"XPASIVUMX"] end # mod´ aln´ ı slovesa rule complex_modal: complex \gap #trace ----> muset {gap:!{verb, comma, aianinebo}*} prosit | prosit {gap:!{verb, comma, aianinebo}*} muset :: prosit <- morfcat -> ‘prosit‘, # mus´ ı to b´ yt infinitiv prosit = [cat-verb;complexpassive], # ale m˚ uz ˇe to b´ yt infinitiv pasiva # muset b´ yt oholen muset = [cat-verb, lemma-"muset";"zaˇ cı ´t";"smˇ et";"moci";"cht´ ıt"], complex = [cat-complexmodal], complex <- lemma, form -> prosit, complex <- agr, mood, neg, morfcat -> muset, complex.neg2 = prosit.neg # trace = [cat-trace, form-"XMODALX"] end # podmiˇ novac´ ı zp˚ usob rule complex_condit: complex \gap #trace ----> zalil {gap:!{verb, comma, aianinebo}*} bych | bych {gap:!{verb, comma, aianinebo}*} zalil :: zalil <- morfcat,voice -> ‘zalil‘, bych <- cat, morfcat -> ‘bych‘, zalil = [cat-verb;complexpassive;complexmodal], # bych ; bych <musel zal´ ıt>; bych complex = [cat-complexcond], complex <- lemma, form, neg, agr.num, agr.pers, voice -> zalil, complex <- agr, neg,agr.num,agr.pers -> bych #trace = [cat-trace, form-"XCONDITX"] end # sloˇ zen´ y minul´ y c ˇas rule complex_past_tense: complex \gap #trace ---->
86
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET
87
zalil {gap:!{verb,comma,aianinebo}*} jsem | jsem {gap:!{verb, comma, aianinebo}*} zalil :: zalil <- morfcat, voice -> ‘zalil‘, zalil = [cat-verb;complexpassive;complexmodal], # jsem ; jsem ; jsem <musel zal´ ıt>; jsem <musel b´ yt zalit> jsem.cat = ‘jsem‘.cat, jsem <- morfcat, lemma, neg -> ‘jsem‘, jsem.agr = [pers-first;second], zalil <- agr.num, agr.gend -> jsem, complex = [cat-complexpast], complex <- lemma, form, neg, morfcat -> zalil, complex <- agr.pers, agr.num, agr.gend, mood -> jsem # trace = [cat-trace, form-"XMINULY’Ja’TyX"] end # budouc´ ı c ˇas rule complex_fut: complex \gap #trace ----> budu {gap:!{verb, comma, aianinebo}*} prosit | prosit {gap:!{verb, comma, aianinebo}*} budu :: prosit <- morfcat, neg -> ‘prosit‘, prosit = [cat-verb;complexmodal], # budu <prosit>; budu <muset prosit> budu.cat = ‘budu‘.cat, budu <- morfcat, voice, lemma -> ‘budu‘, complex = [cat-complexfut], complex <- lemma, form -> prosit, complex <- agr, voice, mood, neg -> budu # trace = [cat-trace, form-"XFUTURX"] end
############################################################ ## Zjednoduˇ sen´ ı jmenn´ ych a pˇ redloˇ zkov´ ych skupin pˇ rı ´p. s koordinac´ ı -------------rule adv_coord_adv: outadv --!-> adv1 aianinebo adv2 :: adv1 = [cat-adv], adv2 = [cat-adv], outadv = adv1 end ---------------rule adj_coord_adj: outadj --!-> adj1 (comma? aianinebo|comma) adj2 :: adj1 = [cat-adj], adj2 = [cat-adj], adj1 <- agr -> adj2, outadj = adj1 end rule make_nounph: nounph -!-> prep?(adv{0,2}adjpronnum)+noun | prep noun :: adjpronnum = [cat-adj;num |cat-pron, morfcat-’da(morfcat(pron(poss)))’; ’da(morfcat(pron(poss_refl)))’; ’da(morfcat(pron(ten)))’; ’da(morfcat(pron(vsechen)))’; ’da(morfcat(pron(neg)))’;
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET
88
’da(morfcat(pron(indef)))’], noun.agr = adjpronnum.agr, noun.agr = prep.agr, nounph <- lemma, form, agr -> noun, nounph.prep = prep.lemma end rule make_pronph: pronph -!-> prep pron :: pron = [cat-pron,morfcat-’da(morfcat(pron(pers)))’; ’da(morfcat(pron(poss_refl)))’; ’da(morfcat(pron(ten)))’; ’da(morfcat(pron(indef)))’; ’da(morfcat(pron(neg)))’; ’da(morfcat(pron(vsechen)))’ ], pron.agr = prep.agr, pronph = [cat-pronph], pronph <- morfcat, lemma, form, agr -> pron, pronph.prep = prep.lemma end -----------## Technick´ y trik: Pro dalˇ sı ´ zpracov´ ani potˇ rebujeme, aby v kaˇ zd´ e sestavˇ e # reprezentuj´ ıc´ ı zpracovanou jmennou c ˇi pˇ redloˇ zkovou skupinu, bylo # v r´ amci jednoho atributu explicitnˇ e uvedeno, zda skupinu pˇ redch´ azela # pˇ redloˇ zka, nebo ne. (Dosud m´ ame pˇ riznak pouze pozitivn´ ı: byla-li # pˇ redloˇ zka, je v sestavˇ e atribut prep s lemmatem pˇ redloˇ zky a atribut # has_prep s hodnotou yes.) # V t´ eto f´ azi projdeme vˇ sechny sestavy reprezentuj´ ıc´ ı jmenn´ e c ˇi # pˇ redloˇ zkov´ e skupiny, a pokud se je podaˇ rı ´ unifikovat se sestavou # [prep-BLANK, has_prep-no], doplnili jsme potˇ rebn´ y pˇ riznak. # Aby pravidlo zpracovalo vˇ sechny sestavy (a ne nˇ ekolikr´ at opakovanˇ e prvn´ ı # sestavu), mus´ ıme pˇ ri t´ eto u ´pravˇ e rovnˇ ez ˇ zmˇ enit kategorii sestavy na # nˇ ejakou odliˇ snou hodnotu. Proto n´ asleduje druh´ a f´ aze, kter´ a kategorii # vrac´ ı zpˇ et na nounph. ## Pˇ ridej pˇ rı ´znak pro nepˇ redloˇ zkov´ e skupiny rule oznac_nonprepgroup: nonprepgroup ---times(1)-!--> group :: group = [cat-nounph; noun; pronph], group = [prep-BLANK, has_prep-no], nonprepgroup = [cat-nonprepgroup], nonprepgroup <- morfcat, prep, agr, lemma, form -> group end ---------## Vrat’ zp´ atky nounph rule zpatky_vrat_cat_nounph: nounph --times(1)-!-> nonprepgroup :: nonprepgroup <- morfcat, prep, agr, lemma, form, has_prep -> nounph, nonprepgroup = [cat-nonprepgroup] end -----------## Spojen´ ı koordinovan´ ych jmenn´ ych c ˇi pˇ redloˇ zkov´ ych skupin. # Opakovanou aplikac´ ı pravidlo zpracuje vˇ sechny c ˇleny koordinace. rule noun_coord_noun: outnounph --!-> nounph1 (comma? aianinebo | comma) nounph2 :: nounph1 = [cat-nounph;pronph;noun], nounph2 = [cat-nounph;pronph;noun], outnounph = nounph1, nounph1.prep = nounph2.prep, nounph1.agr.case = nounph2.agr.case end ## Spoj r ˇet´ ızek genitivn´ ıch pˇ rı ´vlastk˚ u s pˇ redch´ azej´ ıc´ ı jmennou skupinou
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET
89
# Opakovanou aplikac´ ı pravidlo zpracuje cel´ y r ˇet´ ızek rule noun_gennounph: outnounph --!-> innounph gennounph :: innounph = [cat-nounph; noun], outnounph = innounph, gennounph = [cat-nounph;noun, agr-[case-gen], prep-BLANK] end
### Konec zjednoduˇ sov´ an´ ı jmenn´ ych skupin
############################################################ ### Identifikace VV/H nebo H\VV nebo H nebo H=H ### (v kaˇ zd´ e vˇ etˇ e potˇ rebujeme pr´ avˇ e jedno sloveso) shortcuts subord = [cat-conj, morfcat-’da(morfcat(conj(subord)))’], coord = [cat-conj, morfcat-’da(morfcat(conj(coord)))’], kdo = [cat-pron, morfcat-’da(morfcat(pron(kdo)))’], ktery = [cat-pron, morfcat-’da(morfcat(pron(jaky)))’] end # Filtr rovnˇ ez ˇ zam´ ıtne vˇ ety, kde by byla neˇ cekan´ a c ˇa ´rka # Neˇ reˇ sı ´ z´ avˇ ereˇ cnou interpunkci vˇ ety keep nech_jen_H_VVH_nebo_HVV: !{comma,coord,subord,verb,aianinebo}* verb !{comma,coord,subord,verb,aianinebo}* | !{comma,coord,subord,verb,aianinebo}* verb !{comma,coord,subord,verb,aianinebo}* ( comma? aianinebo | comma ( subord | coord | prep? (kdo|ktery) ) ) !{comma,coord,subord,verb,aianinebo}* verb !{comma,coord,subord,verb,aianinebo}* | subord !{comma,coord,subord,verb,aianinebo}* verb !{comma,coord,subord,verb,aianinebo}* comma !{comma,coord,subord,verb,aianinebo}* verb !{comma,coord,subord,verb,aianinebo}* end
############################################################ Na tomto m´ıstˇe byl bˇeh gramatiky ukonˇcen pˇr´ıkazem commit pˇri identifikaci “velmi jednoduch´ ych vˇet” bez ohledu na podezˇrel´e slovosledn´e vzorce, viz 3.2.6 na str. 33. ############################################################ ## Filtrace vˇ et s podezˇ rel´ ymi WOP shortcuts noun = [cat-noun;nounph;pronph], prepgroup = [cat-nounph;pronph;noun,has_prep-yes] end filter podezreni_VNPg: filter podezreni_NPgV:
.* verb noun prepgroup .* end .* noun prepgroup verb .* end
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET filter podezreni_PgAV: filter podezreni_VPgA:
90
.* prepgroup adj verb .* end .* verb adj prepgroup .* end
############################################################ Zde byl bˇeh gramatiky ukonˇcen pˇr´ıkazem commit pˇri identifikaci “velmi jednoduch´ ych vˇet” vˇcetnˇe filtrace vˇet s podezˇrel´ ymi slovosledn´ ymi vzorci. N´ asleduje uk´ azkov´ a gramatika, kter´ a extrahuje pozorovan´e r´ amce pˇr´ımo v syst´emu AX a neop´ır´ a se o dalˇs´ı zpracov´ an´ı u ´pln´ ymi parsery. V pr´ aci tento dodatek nebyl vyuˇzit, nebot’ by jeˇstˇe bylo tˇreba gramatiky provˇeˇrit a zpˇresnit z lingvistick´eho hlediska. Pravidla jsou vˇsak zaj´ımavou uk´ azkou technik pr´ ace v jazyce AX. ############################################################ -----------------------------## Nedeterministick´ e poˇ rad´ ı aplikace pravidel. # Vstupn´ ı souvˇ et´ ı je jednotliv´ ymi pravidly zpracov´ ano, nˇ ekter´ a pravidla # nahrad´ ı souvˇ et´ ı jen prvn´ ı z vˇ et, nˇ ekter´ a je nahrad´ ı jen druhou z vˇ et. # V z´ avˇ eru f´ aze tak d´ ıky nedeterministick´ emu poˇ rad´ ı aplikace z´ ısk´ ame # jako samostatn´ a c ˇten´ ı vˇ ety vˇ sechny klauze vˇ ety. # Pravidla nav´ ıc na standardn´ ı v´ ystup zv´ yrazˇ nuj´ ı, kde byly jednotliv´ e # klauze identifikov´ any (viz kl´ ıc ˇov´ e slovo debug). nondetrules debug rule extrahuj_H_z_HV: subord -!--> comma subord !verb* verb !verb* $ end debug rule extrahuj_V_z_HV: \vedlejsi -!--> ^ {hlavni: .*} comma subord { vedlejsi: .*} $ end debug rule extrahuj_H_z_VH: subord -!--> ^ subord !verb* verb !verb* comma end debug rule extrahuj_V_z_VH: \vedlejsi -!--> ^ subord {vedlejsi: .*} comma { hlavni: .*} $ end debug rule extrahuj_vztaznou_V_z_HV: \vedlejsi -!--> ^ {hlavni: .*} comma { vedlejsi: (prep?(kdo|ktery)) .*} $ end debug rule extrahuj_H_pri_vztazne_V_z_HV: \hlavni -!--> ^ {hlavni: .*} comma { vedlejsi: (prep?(kdo|ktery)) .*} $ end debug rule extrahuj_vztaznou_V_z_VH: \vedlejsi -!--> ^ { vedlejsi: (prep?(kdo|ktery)) .*} comma {hlavni: .*} $ end debug rule extrahuj_H_pri_vztazne_V_z_VH: \hlavni -!--> ^ { vedlejsi: (prep?(kdo|ktery)) .*} comma {hlavni: .*} $ end debug rule \hlavni1 end debug rule \hlavni2 end
extrahuj_H1_z_HH: -!-> ^ {hlavni1: .*} comma? (coord|aianinebo) {hlavni2: .* } $ extrahuj_H2_z_HH: -!-> ^ {hlavni1: .*} comma? (coord|aianinebo) {hlavni2: .* } $
´ ˇ DODATEK A. IDENTIFIKACE VELMI JEDNODUCHYCH VET filter nech_jen_klauze: .* (comma|coord|aianinebo) .* end
---------------------# Nyn´ ı z kaˇ zd´ e klauze extrahujme pozorovan´ y r´ amec aktivn´ ıch tvar˚ u sloves. # Nejprve zam´ ıtneme klauze s pasivem a d´ ale pˇ rem´ ıst´ ıme sloveso na zaˇ catek # posloupnosti sestav rys˚ u ve c ˇten´ ı vˇ ety. V u ´pln´ em z´ avˇ eru vyp´ ıs ˇeme pro # jmenn´ e a pˇ redloˇ zkov´ e skupiny z´ ıskanou informaci detailnˇ e. debug filter vyrad_vety_s_pasivnimi_tvary_sloves: .* [cat-verb;complexmodal;complexpassive; complexpast;complexcond;complexfut, morfcat-’da(morfcat(verb(transgrpast)))’; ’da(morfcat(verb(particpassive)))’] .* end # Oˇ cista od zbyteˇ cnost´ ı rule ---> ‘.‘ | ‘!‘ | ‘?‘ end -----------rule sloveso_dopredu: infin \1 --!-once-> {.*} verb :: infin.form = verb.lemma, infin = [cat-infin] end ## Trik pri vyps´ an´ ı detailu pro jmenn´ e skupiny: # Syst´ em ax pro kaˇ zdou v´ ystupn´ ı sestavu vypisuje hodnotu v atributu form. # V n´ asleduj´ ıcim pravidle proto m´ ısto kaˇ zd´ e sestavy reprezentuj´ ıc´ ı # jmennou c ˇi pˇ redloˇ zkovou skupinu pˇ riprav´ ıme sestavu, kde v atributu form # um´ ıst´ ıme vˇ sechny sledovan´ e atributy. # Promˇ enn´ e v pravidle maj´ ı tento v´ yznam: # watch ... spatˇ ren´ a sestava jmenn´ e c ˇi pˇ redloˇ zkov´ e skupiny # observe ... pracovn´ ı sestava, shromaˇ zd’ uje, co n´ as o skupinˇ e zaj´ ım´ a # dump ... v´ ystupn´ ı sestava, dump.form = observe rule hezky_vyjadri_doplneni: dump ---!-times(1)-> watch = [cat-pron;noun;nounph;pronph], # sleduj observe.form = watch.form, observe.agr = watch.agr, observe <- lemma, prep -> watch, # shromazduj o nich uvedene atributy dump.form = observe, # a atributy nakonec hezky dump = [cat-dump] # zajisti unikatni kategorii, end
watch :: tyto kategorie slov
vytiskni abys nedumpoval cyklicky
end ## Konec gramatiky pro extrakci slovesn´ ych doplnˇ en´ ı z velmi jednoduch´ ych vˇ et ############################################################
91
Dodatek B
Formy a funkce slovesn´ ych doplnˇ en´ı Na z´ akladˇe cca 26 000 vˇet, kter´e byly dosud anotov´ any na tektogramatickou rovinu v pˇripravovan´em PDT verze 2, byly pˇripraveny n´ asleduj´ıc´ı pˇrehledn´e tabulky nejˇcastˇejˇs´ıch forem a funkc´ı slovesn´ ych doplnˇen´ı. Z vˇet byly vynech´ any vˇsechny tvary slovesa b´yt a t´eˇz vˇsechny pasivn´ı tvary sloves, nebot’ pasivn´ı tvary sloves maj´ı typicky jinou strukturu doplnˇen´ı. Rovnˇeˇz byla ve vˇet´ ach spr´ avnˇe oˇsetˇrena koordinace a v pˇrehledu jsou zahrnuta i spoleˇcn´ a rozvit´ı koordinovan´ ych sloves. V tabulk´ ach znaˇcka #ˇc´ıslo znamen´ a p´ ad ˇc´ıslo. Znaˇcka VV znaˇc´ı vedlejˇs´ı vˇetu.
B.1
Od funkce k formˇ e
Nejprve jsou uvedeny tabulky aktant˚ u a d´ ale pak abecednˇe tˇr´ıdˇen´e tabulky voln´ ych doplnˇen´ı. V tabulk´ ach nejsou zahrnuta ta doplnˇen´ı, kde si anot´ atoˇri volbou funkce nebyli jisti. (V pracovn´ı verzi anotace se v´ıce moˇzn´ ych anotac´ı vyskytuje. Formy ACT #1 infin #2 VV #X #3 o#4 #4 k#3 jako#1 neˇ z#1 Ostatn´ ı (21 forem)
Zastoupen´ ı 86,5 % 3,5 % 2,3 % 2,0 % 1,9 % 0,9 % 0,9 % 0,7 % 0,5 % 0,2 % 0,2 % 0,3 %
V´ yskyt˚ u 18 450 743 486 436 412 198 185 142 113 47 43 66
Formy ADDR #3 #4 s#7 si #X na#4 #2 se nad#7 na#6 #1 Ostatn´ ı (15 forem)
92
Zastoupen´ ı 55,5 % 14,6 % 10,0 % 7,7 % 5,8 % 1,2 % 1,2 % 0,7 % 0,5 % 0,4 % 0,4 % 2,0 %
V´ yskyt˚ u 898 236 162 124 93 20 19 11 8 7 6 33
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN Formy EFF VV #4 infin za#4 #7 na#4 #1 s#7 do#2 na#2 k#3 Ostatn´ ı (17 forem)
Zastoupen´ ı 56,6 % 14,9 % 9,9 % 8,9 % 2,0 % 1,3 % 1,0 % 1,0 % 0,6 % 0,6 % 0,4 % 2,7 %
V´ yskyt˚ u 1 104 290 193 174 39 26 20 19 12 12 8 52
Formy ORIG od#2 z#2 na#6 po#6 neˇ z#2 #X #2 z#X #3 VV od#X Ostatn´ ı (1 forem)
Formy PAT #4 #7 #1 VV infin #2 #3 o#6 na#4 s#7 k#3 Ostatn´ ı (60 forem)
Zastoupen´ ı 47,3 % 8,4 % 7,8 % 7,4 % 6,4 % 5,2 % 2,6 % 2,2 % 2,1 % 1,7 % 1,5 % 7,5 %
V´ yskyt˚ u 8 631 1 525 1 417 1 345 1 167 943 465 393 389 314 266 1 376
Formy ??? se ˇ ze VV aby si kdyˇ z protoˇ ze pokud zda neˇ z-2 kdyby Ostatn´ ı (67 forem)
Formy ACMP s#7 bez#2 spolu s#7 souvislosti s#7 spoleˇ cnˇ e s#7 VV vˇ cetnˇ e#2 s#X Spolu s#7 sebou v spolupr´ ace s#7 Ostatn´ ı (25 forem)
Zastoupen´ ı 62,1 % 16,7 % 4,7 % 2,7 % 1,6 % 1,4 % 1,1 % 0,9 % 0,9 % 0,7 % 0,7 % 6,3 %
V´ yskyt˚ u 343 92 26 15 9 8 6 5 5 4 4 35
Formy ADVS ale
Zastoupen´ ı 46,4 % 36,4 % 6,6 % 4,0 % 1,3 % 1,3 % 0,7 % 0,7 % 0,7 % 0,7 % 0,7 % 0,7 % Zastoupen´ ı 46,2 % 16,8 % 13,9 % 4,6 % 4,1 % 2,8 % 1,8 % 1,2 % 1,2 % 0,9 % 0,7 % 5,8 %
Zastoupen´ ı 100,0 %
93 V´ yskyt˚ u 70 55 10 6 2 2 1 1 1 1 1 1 V´ yskyt˚ u 4 209 1 527 1 267 420 375 257 161 112 110 80 68 527
V´ yskyt˚ u 1
Formy AIM k#3 VV na#4 pro#4 infin v z´ ajmu#2 v z´ ajem#2 kv˚ uli#3 #3 za#4 na#6 Ostatn´ ı (5 forem)
Zastoupen´ ı 30,6 % 30,0 % 16,6 % 13,1 % 5,3 % 0,6 % 0,6 % 0,6 % 0,3 % 0,3 % 0,3 % 1,6 %
V´ yskyt˚ u 98 96 53 42 17 2 2 2 1 1 1 5
Formy APP #2 #X infin #1
Zastoupen´ ı 40,0 % 20,0 % 20,0 % 20,0 %
V´ yskyt˚ u 2 1 1 1
Formy APPS jako tj-1 #1 a-1 ˇ ze ˇ cili-1 neboli kdyˇ z aˇ z-2 at’ aby Ostatn´ ı (5 forem)
Zastoupen´ ı 32,5 % 13,8 % 12,5 % 11,2 % 7,5 % 5,0 % 3,8 % 2,5 % 2,5 % 1,2 % 1,2 % 6,2 %
V´ yskyt˚ u 26 11 10 9 6 4 3 2 2 1 1 5
Formy ATT v#6 ovˇ sem-1 k#3 s#7 naproti#3 #1 #7 vˇ zdyt’ infin de#X bez#2
Zastoupen´ ı 62,1 % 10,6 % 9,1 % 4,5 % 3,0 % 3,0 % 1,5 % 1,5 % 1,5 % 1,5 % 1,5 %
V´ yskyt˚ u 41 7 6 3 2 2 1 1 1 1 1
V´ yskyt˚ u 293 195 185 45 19 8 7 6 3 3 2 17
Formy CAUS VV d´ ıky#3 z#2 za#4 kv˚ uli#3 na#4 #7 pro#4 proto-1 infin v d˚ usledku#2 Ostatn´ ı (36 forem)
V´ yskyt˚ u 168 30 7 7 3 2 1 1 1
Formy COMPL #1 jako#1 #4 VV jako#4 coby#1 jako#2 v#6 coby#4 infin jako#3 Ostatn´ ı (3 forem)
Formy BEN pro#4 si #3 proti#3 pro#X ve prospˇ ech#2 sebe v#4 rozporu se#7 rozporu s#7 v neprospˇ ech#2 Ostatn´ ı (14 forem)
Formy CNCS VV pˇ res#4 infin navzdory#3 pˇ ri#6 #3 #4 I pˇ res#4 proti#3
Zastoupen´ ı 37,4 % 24,9 % 23,6 % 5,7 % 2,4 % 1,0 % 0,9 % 0,8 % 0,4 % 0,4 % 0,3 % 2,2 %
Zastoupen´ ı 76,4 % 13,6 % 3,2 % 3,2 % 1,4 % 0,9 % 0,5 % 0,5 % 0,5 %
Zastoupen´ ı 35,1 % 10,6 % 9,9 % 8,9 % 6,8 % 3,7 % 3,7 % 3,4 % 2,7 % 1,7 % 1,2 % 12,3 % Zastoupen´ ı 48,0 % 18,1 % 12,4 % 11,6 % 6,5 % 0,6 % 0,6 % 0,6 % 0,3 % 0,3 % 0,3 % 0,8 %
V´ yskyt˚ u 206 62 58 52 40 22 22 20 16 10 7 72 V´ yskyt˚ u 170 64 44 41 23 2 2 2 1 1 1 3
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN Formy COND VV v#6 pˇ ri#6 za#2 infin v pˇ r´ ıpadˇ e#2 pod#7 na#4 V pˇ r´ ıpadˇ e#2 #6 v pˇ r´ ıpad#1 Ostatn´ ı (6 forem) Formy CPR rozd´ ıl od#2 oproti#3 srovn´ an´ ı s#7 proti#3 naproti#3 jako#1 VV srovn´ an´ ı se#7 v porovn´ an´ ı s#7 porovn´ an´ ı s#7 #1 Ostatn´ ı (11 forem) Formy CSQ a-1 VV
Zastoupen´ ı 50,9 % 16,4 % 11,2 % 9,8 % 5,8 % 2,0 % 0,8 % 0,8 % 0,6 % 0,4 % 0,2 % 1,2 % Zastoupen´ ı 19,1 % 17,4 % 16,5 % 13,0 % 4,3 % 4,3 % 4,3 % 4,3 % 1,7 % 1,7 % 1,7 % 11,3 % Zastoupen´ ı 66,7 % 33,3 %
94
V´ yskyt˚ u 255 82 56 49 29 10 4 4 3 2 1 6
Formy CONJ a-1
Zastoupen´ ı 100,0 %
V´ yskyt˚ u 13
V´ yskyt˚ u 22 20 19 15 5 5 5 5 2 2 2 13
Formy CRIT podle#2 podle#X VV podle#1 dle#2 #7 podle#4 #2 podle#6 kolem#7
Zastoupen´ ı 95,3 % 2,1 % 1,1 % 0,3 % 0,3 % 0,2 % 0,2 % 0,2 % 0,2 % 0,2 %
V´ yskyt˚ u 588 13 7 2 2 1 1 1 1 1
V´ yskyt˚ u 2 1
Formy CTERF VV infin zat´ ımco
Formy DENOM #1 #7 navzdory#3
Zastoupen´ ı 60,0 % 20,0 % 20,0 %
V´ yskyt˚ u 3 1 1
Formy DIFF o#2 o#4 #7 #2 #X o#X na#2
Formy DIR1 z#2 od#2 z#X #7 od#X sebe mimo#4 k#3 neˇ z#2 zpoza#2 pˇ ri#6 Ostatn´ ı (1 forem)
Zastoupen´ ı 89,5 % 6,5 % 0,9 % 0,7 % 0,4 % 0,4 % 0,4 % 0,2 % 0,2 % 0,2 % 0,2 % 0,2 %
V´ yskyt˚ u 400 29 4 3 2 2 2 1 1 1 1 1
Formy DIR2 #7 pˇ res#4 po#6 skrz#4 napˇ r´ ıˇ c#7 mezi#7 smˇ erem k#X mimo#4 pˇ red#7 pˇ res#X nad#7 Ostatn´ ı (2 forem)
Formy DIR3 do#2 na#4 k#3 mezi#4 do#X pod#4 #2 za#4 za#7 na#X pˇ red#4 Ostatn´ ı (26 forem)
Zastoupen´ ı 48,7 % 21,6 % 16,3 % 2,7 % 2,4 % 1,3 % 0,9 % 0,7 % 0,6 % 0,5 % 0,5 % 3,9 %
V´ yskyt˚ u 629 279 210 35 31 17 11 9 8 6 6 51
Formy DISJ nebo
Formy DPHR k#3 na#4 na#6 v#6 #4 za#4 v#4 #7 infin z#2 do#2 Ostatn´ ı (23 forem)
Zastoupen´ ı 18,9 % 11,0 % 10,3 % 10,0 % 9,3 % 7,8 % 4,6 % 3,2 % 2,5 % 2,5 % 2,5 % 17,4 %
V´ yskyt˚ u 53 31 29 28 26 22 13 9 7 7 7 49
Formy ETHD si #3
Formy EXT #2 v#6 do#2 #X z#2 #4 #7 kolem#2 na#4 i-1 za#4 Ostatn´ ı (14 forem)
Zastoupen´ ı 31,3 % 12,4 % 10,0 % 9,5 % 7,0 % 6,5 % 4,5 % 2,5 % 2,5 % 2,5 % 2,0 % 9,5 %
V´ yskyt˚ u 63 25 20 19 14 13 9 5 5 5 4 19
Formy HER po#6 po#X
Zastoupen´ ı 82,3 % 14,5 % 3,2 % Zastoupen´ ı 65,7 % 23,8 % 5,7 % 1,9 % 1,0 % 1,0 % 1,0 % Zastoupen´ ı 60,6 % 15,2 % 11,1 % 2,0 % 2,0 % 2,0 % 1,0 % 1,0 % 1,0 % 1,0 % 1,0 % 2,0 %
Zastoupen´ ı 100,0 %
Zastoupen´ ı 82,4 % 17,6 %
Zastoupen´ ı 50,0 % 50,0 %
V´ yskyt˚ u 51 9 2 V´ yskyt˚ u 69 25 6 2 1 1 1 V´ yskyt˚ u 60 15 11 2 2 2 1 1 1 1 1 2
V´ yskyt˚ u 2
V´ yskyt˚ u 14 3
V´ yskyt˚ u 1 1
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN
Formy ID #1
Formy INTT infin na#4 k#3 na#6 VV pro#4 na#X do#2
Zastoupen´ ı 100,0 %
Zastoupen´ ı 49,2 % 36,9 % 3,1 % 3,1 % 3,1 % 1,5 % 1,5 % 1,5 %
V´ yskyt˚ u 2
Formy INTF #1 #4 ˇ ze kdyˇ z#1
V´ yskyt˚ u 32 24 2 2 2 1 1 1
Formy LOC v#6 na#6 u#2 v#X mezi#7 pˇ red#7 za#7 na#X pod#7 kolem#2 sebou Ostatn´ ı (53 forem)
Zastoupen´ ı 67,3 % 26,9 % 3,8 % 1,9 % Zastoupen´ ı 60,3 % 21,0 % 5,3 % 2,4 % 2,0 % 1,4 % 0,9 % 0,6 % 0,5 % 0,5 % 0,4 % 4,7 %
95 V´ yskyt˚ u 35 14 2 1 V´ yskyt˚ u 2 433 848 213 96 82 55 35 24 20 19 18 190
Formy MANN #7 v#6 VV pod#7 na#4 #1 jak-2 na#6 s#7 infin z#2 Ostatn´ ı (32 forem)
Zastoupen´ ı 30,3 % 17,7 % 9,9 % 5,7 % 5,3 % 3,7 % 2,8 % 2,3 % 2,1 % 1,8 % 1,8 % 16,7 %
V´ yskyt˚ u 132 77 43 25 23 16 12 10 9 8 8 73
Formy MAT #2
Zastoupen´ ı 100,0 %
V´ yskyt˚ u 1
Formy MEANS #7 VV prostˇ rednictv´ ı#2 na#6 za#2 na#4 pomoc´ ı#2 pˇ res#4 #2 za#4 o#4 Ostatn´ ı (17 forem)
Zastoupen´ ı 86,7 % 2,8 % 2,2 % 1,0 % 0,8 % 0,7 % 0,7 % 0,7 % 0,6 % 0,6 % 0,3 % 2,9 %
V´ yskyt˚ u 618 20 16 7 6 5 5 5 4 4 2 21
Formy MOD v#6 do#2 s#7
Zastoupen´ ı 66,7 % 16,7 % 16,7 %
V´ yskyt˚ u 4 1 1
Zastoupen´ ı 55,6 % 44,4 %
V´ yskyt˚ u 5 4
Formy NORM podle#2 na z´ akladˇ e#2 souladu s#7 Na z´ akladˇ e#2 shodˇ e s#7 podle#X v svˇ etlo#2 #2 na#6 dle#2 souladu se#7 Ostatn´ ı (3 forem)
Zastoupen´ ı 41,9 % 25,7 % 7,6 % 6,7 % 2,9 % 2,9 % 1,9 % 1,9 % 1,9 % 1,9 % 1,9 % 2,9 %
V´ yskyt˚ u 44 27 8 7 3 3 2 2 2 2 2 3
Formy OPER aˇ z-1 aˇ z-2
Formy PAR VV #1 #X infin #2 #7 rozd´ ıl ode#2 podle#2 za#2 jak-2 #4 Ostatn´ ı (1 forem)
Zastoupen´ ı 78,0 % 9,3 % 6,3 % 2,7 % 0,9 % 0,6 % 0,6 % 0,3 % 0,3 % 0,3 % 0,3 % 0,3 %
V´ yskyt˚ u 259 31 21 9 3 2 2 1 1 1 1 1
Formy PREC vˇ sak ale a-1 ovˇ sem-1 proto-1 pokud kdyˇ z tak-2 jenˇ ze nicm´ enˇ e protoˇ ze Ostatn´ ı (35 forem)
Zastoupen´ ı 37,9 % 12,1 % 10,9 % 6,8 % 6,4 % 3,4 % 3,2 % 2,5 % 1,8 % 1,7 % 1,5 % 11,7 %
V´ yskyt˚ u 572 183 164 103 97 51 49 37 27 26 23 176
V´ yskyt˚ u 142 127
Formy REG v#6 z#2 na#6 VV vzhledem k#3 na#4 v r´ amci#2 u#2 k#3 pro#4 Vzhledem k#3 Ostatn´ ı (43 forem)
Zastoupen´ ı 24,9 % 5,8 % 5,6 % 5,3 % 5,1 % 4,8 % 4,8 % 4,3 % 3,6 % 2,8 % 2,8 % 30,2 %
V´ yskyt˚ u 98 23 22 21 20 19 19 17 14 11 11 119
Formy PRED VV infin
Zastoupen´ ı 52,8 % 47,2 %
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN Formy RESL VV na#2 infin k#3 na#4 #7 #4
Formy RHEM i-1 ani aˇ z-2 aˇ z-1 neˇ z-2 ovˇ sem-1 ale #7 Formy SUBS za#4 m´ ısto#2 nam´ ısto#2 za#X VV za#2 jm´ eno#2 na m´ ısto#2 m´ ısto na#4 m´ ısto#7 /#X Ostatn´ ı (4 forem)
Formy TFRWH z#2 od#2
Formy THO #4 v#6 #7 VV do#2 #2
Formy TOWH na#4 na#2 do#2 #4
Formy TSIN od#2 od#X z#2 poˇ c´ ınat#7
Formy TWHEN v#6 po#6 v#4 pˇ ri#6 VV pˇ red#7 #2 #4 na#6 za#2 konec#2 Ostatn´ ı (59 forem)
Zastoupen´ ı 33,3 % 22,2 % 14,8 % 11,1 % 11,1 % 3,7 % 3,7 %
Zastoupen´ ı 79,5 % 18,3 % 0,7 % 0,6 % 0,5 % 0,2 % 0,1 % 0,1 % Zastoupen´ ı 41,4 % 24,1 % 6,9 % 5,2 % 5,2 % 1,7 % 1,7 % 1,7 % 1,7 % 1,7 % 1,7 % 6,9 %
Zastoupen´ ı 87,5 % 12,5 %
Zastoupen´ ı 58,8 % 23,5 % 5,9 % 5,9 % 2,9 % 2,9 %
Zastoupen´ ı 67,9 % 17,9 % 7,1 % 7,1 %
Zastoupen´ ı 94,0 % 3,9 % 1,7 % 0,4 %
Zastoupen´ ı 33,8 % 15,5 % 8,0 % 7,8 % 6,4 % 6,0 % 4,8 % 4,5 % 1,7 % 1,1 % 1,1 % 9,1 %
Zastoupen´ ı 65,2 % 21,2 % 4,5 % 2,3 % 2,3 % 1,5 % 1,5 % 0,8 % 0,8 %
96
V´ yskyt˚ u 9 6 4 3 3 1 1
Formy RESTR kromˇ e#2 vedle#2 s v´ yjimkou#2 infin na#4 mimo#4 vyjma#2 VV #2
V´ yskyt˚ u 786 181 7 6 5 2 1 1
Formy RSTR VV #1 #2 infin #4 #6 jako#1 kromˇ e#2 o#6
Zastoupen´ ı 66,4 % 11,2 % 8,6 % 6,9 % 3,4 % 0,9 % 0,9 % 0,9 % 0,9 %
V´ yskyt˚ u 77 13 10 8 4 1 1 1 1
V´ yskyt˚ u 24 14 4 3 3 1 1 1 1 1 1 4
Formy TFHL na#4 pro#4 po#4 na#2 #2 pro#2
Zastoupen´ ı 40,0 % 22,0 % 18,0 % 14,0 % 4,0 % 2,0 %
V´ yskyt˚ u 20 11 9 7 2 1
V´ yskyt˚ u 7 1
Formy THL #4 #2 za#4 za#2 po#4 VV po#6 pˇ res#4 po#2 neˇ z#2 pˇ res#2 Ostatn´ ı (8 forem)
V´ yskyt˚ u 20 8 2 2 1 1
Formy TILL do#2
V´ yskyt˚ u 19 5 2 2
Formy TPAR bˇ ehem#2 za#2 za#4 v pr˚ ubˇ ehu#2 VV v#6 o#6 pod#7 V pr˚ ubˇ ehu#2 pˇ res#4 s#7 Ostatn´ ı (10 forem)
V´ yskyt˚ u 219 9 4 1
Formy TTILL do#2 VV na#4 k#3 #2 po#6 infin do#X
V´ yskyt˚ u 981 449 233 226 186 175 140 130 49 33 33 265
Formy VOC #5
Zastoupen´ ı 34,0 % 26,3 % 16,8 % 6,1 % 5,3 % 1,9 % 1,9 % 1,9 % 1,1 % 0,8 % 0,8 % 3,1 %
Zastoupen´ ı 100,0 %
Zastoupen´ ı 51,3 % 11,2 % 5,3 % 4,6 % 3,9 % 3,3 % 2,6 % 2,6 % 2,6 % 2,6 % 1,3 % 8,6 % Zastoupen´ ı 90,0 % 5,3 % 1,3 % 0,7 % 0,7 % 0,7 % 0,7 % 0,7 %
Zastoupen´ ı 100,0 %
V´ yskyt˚ u 86 28 6 3 3 2 2 1 1
V´ yskyt˚ u 89 69 44 16 14 5 5 5 3 2 2 8
V´ yskyt˚ u 4
V´ yskyt˚ u 78 17 8 7 6 5 4 4 4 4 2 13 V´ yskyt˚ u 135 8 2 1 1 1 1 1
V´ yskyt˚ u 3
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN Formy VOCAT #5 #1
B.2
Zastoupen´ ı 70,0 % 30,0 %
97
V´ yskyt˚ u 7 3
Od formy k funkci
Tabulky pro jednotliv´e formy jsou utˇr´ıdˇeny sestupnˇe podle celkov´e ˇcetnosti v´ yskyt˚ u. Uv´ ad´ıme jen 30 nejˇcastˇejˇs´ıch forem, konkr´etnˇe: Forma #1 VV v#6 infin #3 na#6 s#7 k#3 z#2 #X vˇsak o#4 aby pro#4 kdyˇz
V´ yskyt˚ u 20 206 5 812 4 015 2 402 1 768 1 165 885 814 756 687 575 485 435 397 308
Forma #4 se #7 #2 ˇze na#4 do#2 i-1 si podle#2 po#6 za#4 o#6 od#2 pˇri#6
Funkce #1 ACT PAT COMPL INTF PAR EFF MANN RSTR APPS ??? ADDR Ostatn´ ı (15 funkc´ ı)
Zastoupen´ ı 91,3 % 7,0 % 0,8 % 0,2 % 0,2 % 0,1 % 0,1 % 0,1 % 0,0 % 0,0 % 0,0 % 0,1 %
V´ yskyt˚ u 18 450 1 417 170 35 31 20 16 13 10 9 6 29
Funkce #4 PAT EFF ADDR ACT TWHEN THL COMPL DPHR THO INTF EXT Ostatn´ ı (17 funkc´ ı)
Funkce VV PAT ??? EFF ACT PAR COND CAUS TWHEN CNCS PRED AIM Ostatn´ ı (36 funkc´ ı)
Zastoupen´ ı 23,1 % 21,8 % 19,0 % 7,5 % 4,5 % 4,4 % 3,5 % 3,2 % 2,9 % 2,4 % 1,7 % 6,0 %
V´ yskyt˚ u 1 345 1 267 1 104 436 259 255 206 186 168 142 96 348
Funkce se ??? PAT ADDR ACT DPHR PAT—???
Funkce v#6 LOC TWHEN REG PAT COND MANN LOC—??? ATT DPHR EXT MANN—??? Ostatn´ ı (31 funkc´ ı)
Zastoupen´ ı 60,6 % 24,4 % 2,4 % 2,0 % 2,0 % 1,9 % 1,5 % 1,0 % 0,7 % 0,6 % 0,5 % 2,2 %
V´ yskyt˚ u 2 433 981 98 82 82 77 59 41 28 25 21 88
Funkce #7 PAT MEANS MANN DIR2 EFF CAUS TWHEN ??? DPHR EXT REG Ostatn´ ı (30 funkc´ ı)
V´ yskyt˚ u 9 672 4 353 2 515 1 799 1 542 1 007 876 798 715 642 527 441 430 359 299 Zastoupen´ ı 89,2 % 3,0 % 2,4 % 1,5 % 1,3 % 0,9 % 0,5 % 0,3 % 0,2 % 0,1 % 0,1 % 0,4 %
Zastoupen´ ı 96,7 % 2,9 % 0,3 % 0,1 % 0,1 % 0,0 %
Zastoupen´ ı 60,6 % 24,6 % 5,2 % 2,4 % 1,6 % 0,9 % 0,9 % 0,4 % 0,4 % 0,4 % 0,3 % 2,4 %
V´ yskyt˚ u 8 631 290 236 142 130 89 44 26 20 14 13 37
V´ yskyt˚ u 4 209 126 11 3 3 1
V´ yskyt˚ u 1 525 618 132 60 39 22 22 10 9 9 8 61
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN Funkce infin PAT ACT EFF PRED INTT COND AIM CAUS CTERF PAR MANN Ostatn´ ı (20 funkc´ ı) Funkce #3 ADDR PAT ACT BEN ACT—??? ETHD CAUS PAT—??? ADDR—??? CNCS ORIG Ostatn´ ı (5 funkc´ ı) Funkce na#6 LOC PAT TWHEN DPHR REG MANN ORIG LOC—??? ADDR MEANS PREC Ostatn´ ı (13 funkc´ ı) Funkce s#7 ACMP PAT ADDR EFF MANN PAT—??? TWHEN ??? DPHR ATT TPAR Ostatn´ ı (9 funkc´ ı) Funkce k#3 PAT DIR3 ACT AIM DPHR TWHEN REG EFF ATT PAT—??? ??? Ostatn´ ı (11 funkc´ ı)
Zastoupen´ ı 48,6 % 30,9 % 8,0 % 5,3 % 1,3 % 1,2 % 0,7 % 0,4 % 0,4 % 0,4 % 0,3 % 2,4 % Zastoupen´ ı 50,8 % 26,3 % 11,2 % 10,5 % 0,2 % 0,2 % 0,2 % 0,1 % 0,1 % 0,1 % 0,1 % 0,3 % Zastoupen´ ı 72,8 % 12,3 % 4,2 % 2,5 % 1,9 % 0,9 % 0,9 % 0,9 % 0,6 % 0,6 % 0,5 % 2,1 % Zastoupen´ ı 38,8 % 35,5 % 18,3 % 2,1 % 1,0 % 0,8 % 0,6 % 0,6 % 0,5 % 0,3 % 0,2 % 1,4 % Zastoupen´ ı 32,7 % 25,8 % 13,9 % 12,0 % 6,5 % 2,6 % 1,7 % 1,0 % 0,7 % 0,5 % 0,4 % 2,2 %
V´ yskyt˚ u 1 167 743 193 127 32 29 17 10 9 9 8 58
Funkce #2 PAT ACT TWHEN THL EXT ADDR DIR3 RSTR LOC EFF MEANS Ostatn´ ı (26 funkc´ ı)
V´ yskyt˚ u 898 465 198 185 4 3 3 2 2 2 1 5
Funkce ˇ ze ??? PREC APPS INTF
V´ yskyt˚ u 848 143 49 29 22 10 10 10 7 7 6 24
Funkce na#4 PAT DIR3 AIM DPHR EFF INTT TWHEN MANN CAUS TFHL ADDR Ostatn´ ı (26 funkc´ ı)
Zastoupen´ ı 38,6 % 27,7 % 5,3 % 3,1 % 2,6 % 2,4 % 2,4 % 2,3 % 2,2 % 2,0 % 2,0 % 9,5 %
V´ yskyt˚ u 389 279 53 31 26 24 24 23 22 20 20 96
V´ yskyt˚ u 343 314 162 19 9 7 5 5 4 3 2 12
Funkce do#2 DIR3 TTILL PAT EXT EFF MANN DPHR TILL DIR3—??? MEANS TOWH Ostatn´ ı (10 funkc´ ı)
Zastoupen´ ı 71,8 % 15,4 % 4,8 % 2,3 % 1,4 % 0,8 % 0,8 % 0,5 % 0,5 % 0,2 % 0,2 % 1,4 %
V´ yskyt˚ u 629 135 42 20 12 7 7 4 4 2 2 12
V´ yskyt˚ u 266 210 113 98 53 21 14 8 6 4 3 18
Funkce i-1 RHEM ??? EXT PREC
Zastoupen´ ı 98,5 % 0,8 % 0,6 % 0,1 %
V´ yskyt˚ u 786 6 5 1
Zastoupen´ ı 52,4 % 27,3 % 17,3 % 2,0 % 0,4 % 0,3 % 0,1 % 0,1 %
V´ yskyt˚ u 375 195 124 14 3 2 1 1
Funkce z#2 DIR1 PAT CAUS ORIG REG EXT MANN TFRWH DPHR TSIN DIR1—??? Ostatn´ ı (9 funkc´ ı)
Zastoupen´ ı 52,9 % 21,7 % 7,7 % 7,3 % 3,0 % 1,9 % 1,1 % 0,9 % 0,9 % 0,5 % 0,4 % 1,7 %
V´ yskyt˚ u 400 164 58 55 23 14 8 7 7 4 3 13
Funkce si ??? BEN ADDR ETHD DPHR BEN—??? PAT ADDR—???
Funkce #X ACT PAT ADDR PAR EXT LOC ??? EFF ORIG APP TWHEN Ostatn´ ı (9 funkc´ ı)
Zastoupen´ ı 60,0 % 17,5 % 13,5 % 3,1 % 2,8 % 0,6 % 0,4 % 0,3 % 0,3 % 0,1 % 0,1 % 1,3 %
V´ yskyt˚ u 412 120 93 21 19 4 3 2 2 1 1 9
Funkce podle#2 CRIT NORM MANN CRIT—NORM PAR COND
Zastoupen´ ı 52,4 % 27,0 % 7,8 % 3,8 % 3,5 % 1,1 % 0,6 % 0,6 % 0,4 % 0,4 % 0,2 % 2,2 %
98
Zastoupen´ ı 99,0 % 0,5 % 0,4 % 0,1 %
Zastoupen´ ı 91,6 % 6,9 % 1,1 % 0,2 % 0,2 % 0,2 %
V´ yskyt˚ u 943 486 140 69 63 19 11 10 8 7 4 39
V´ yskyt˚ u 1 527 7 6 2
V´ yskyt˚ u 588 44 7 1 1 1
´ ˇ ´I DODATEK B. FORMY A FUNKCE SLOVESNYCH DOPLNEN
Funkce vˇ sak PREC ???
Zastoupen´ ı 99,5 % 0,5 %
V´ yskyt˚ u 572 3
Funkce po#6 TWHEN PAT LOC DIR2 ORIG THL MANN CPR TTILL DPHR EXT Ostatn´ ı (6 funkc´ ı)
Funkce o#4 PAT ACT DIFF EFF ??? MEANS MANN TWHEN
Zastoupen´ ı 54,0 % 38,1 % 5,2 % 0,8 % 0,8 % 0,4 % 0,4 % 0,2 %
V´ yskyt˚ u 262 185 25 4 4 2 2 1
Funkce za#4 EFF PAT CAUS THL SUBS DPHR TWHEN DIR3 TPAR MANN MEANS Ostatn´ ı (14 funkc´ ı)
V´ yskyt˚ u 420 14 1
Funkce o#6 PAT TWHEN TPAR REG ??? DPHR PAT—??? COMPL RSTR ACT
V´ yskyt˚ u 293 42 20 11 11 10 2 1 1 1 1 4
Funkce od#2 TSIN ORIG PAT DIR1 TWHEN MANN TFRWH CAUS ??? TPAR DPHR
V´ yskyt˚ u 257 49 2
Funkce pˇ ri#6 TWHEN COND LOC CNCS TWHEN—COND LOC—??? TPAR REG COND—??? DIR1 COND—TWHEN
Funkce aby ??? PREC APPS
Funkce pro#4 BEN AIM CAUS REG TFHL PAT ADDR CAUS—??? ??? BEN—??? AIM—— Ostatn´ ı (4 funkc´ ı)
Funkce kdyˇ z ??? PREC APPS
Zastoupen´ ı 96,6 % 3,2 % 0,2 %
Zastoupen´ ı 73,8 % 10,6 % 5,0 % 2,8 % 2,8 % 2,5 % 0,5 % 0,3 % 0,3 % 0,3 % 0,3 % 1,0 %
Zastoupen´ ı 83,4 % 15,9 % 0,6 %
Zastoupen´ ı 85,2 % 6,1 % 2,1 % 2,1 % 1,1 % 0,9 % 0,6 % 0,2 % 0,2 % 0,2 % 0,2 % 1,1 % Zastoupen´ ı 39,5 % 15,2 % 11,8 % 10,0 % 5,4 % 5,0 % 2,3 % 2,0 % 1,8 % 1,1 % 0,9 % 5,0 % Zastoupen´ ı 91,4 % 4,9 % 0,9 % 0,9 % 0,7 % 0,2 % 0,2 % 0,2 % 0,2 % 0,2 % Zastoupen´ ı 61,0 % 19,5 % 8,6 % 8,1 % 1,1 % 0,3 % 0,3 % 0,3 % 0,3 % 0,3 % 0,3 % Zastoupen´ ı 75,6 % 18,7 % 1,0 % 1,0 % 0,7 % 0,7 % 0,7 % 0,7 % 0,3 % 0,3 % 0,3 %
99 V´ yskyt˚ u 449 32 11 11 6 5 3 1 1 1 1 6 V´ yskyt˚ u 174 67 52 44 24 22 10 9 8 5 4 22 V´ yskyt˚ u 393 21 4 4 3 1 1 1 1 1 V´ yskyt˚ u 219 70 31 29 4 1 1 1 1 1 1 V´ yskyt˚ u 226 56 3 3 2 2 2 2 1 1 1
Dodatek C
Prohl´ıˇ zen´ı orientovan´ ych graf˚ u, program trex Program trex byl pˇripraven pro u ´ˇcely pohodln´eho prohl´ıˇzen´ı orientovan´ ych graf˚ u v obyˇcejn´em textov´em editoru (napˇr. vim nebo emacs). N´ azev je zkratkou za “tree explorer”, nebot’ v´ ypis z grafu je z´ asadnˇe stromovit´ y. Uzly orientovan´eho grafu jsou oznaˇceny textovˇe, posloupnost´ı ˇc´ıslic a p´ısmen; vylouˇceny jsou mezery i vˇsechny dalˇs´ı symboly. Nav´ıc vˇsechny uzly nesou libovolnou textovou informaci, kter´ a se rozumnˇe vejde na jeden ˇra ´dek. (Textov´ a hodnota uzl˚ u tedy nesm´ı obsahovat znak konce ˇra ´dku.) Uzly jsou propojeny orientovan´ ymi hranami, na hran´ ach jiˇz ˇza ´dn´ a informace uloˇzena nen´ı. (Hrana je tedy uspoˇra ´dan´ a dvojice identifik´ ator˚ u uzl˚ u, kter´e propojuje.) Orientovan´ y graf, kter´ y chceme proch´ azet, je uloˇzen ve speci´ aln´ım form´ atu souboru *.graph. Soubory tohoto typu um´ı vytv´ aˇret s´ am trex (viz n´ıˇze), nebo jsou vedlejˇs´ım v´ ystupem jin´ ych program˚ u, napˇr. ladic´ı v´ ypisy programu AX (viz 5.5 na stranˇe 81). Soubor *.graph je vˇzdy doplnˇen “startovn´ım” souborem *.trex. Tento soubor je urˇcen k prohl´ıˇzen´ı v textov´em editoru. Soubor *.trex obsahuje na sv´em prvn´ım ˇra ´dku odkaz na datov´ y soubor s grafem, a d´ ale obsahuje libovoln´ y z uzl˚ u grafu, od nˇehoˇz chceme graf postupnˇe “rozbalovat”. Je-li textov´ y editor vybaven spr´ avn´ ymi makry pro pr´ aci se souborem *.trex (viz obr´ azek C.1 na n´ asleduj´ıc´ı stranˇe pro makra vhodn´ a pro editor vim), staˇc´ı na zvolen´em uzlu stisknout kl´ avesu Return, a editor s pomoc´ı programu trex uzel “rozbal´ı”, tj. pˇrip´ıˇse k uzlu vˇsechny uzly soused´ıc´ı po hran´ ach s dan´ ym uzlem. Zdrojov´ y k´ od programu trex i potˇrebn´ a makra pro editor vim jsou k dispozici na CD, kter´e je pˇr´ılohou t´eto pr´ ace.
100
ˇ ´I ORIENTOVANYCH ´ ˚ PROGRAM TREX101 DODATEK C. PROHL´IZEN GRAFU, Makro pro “rozbalen´ı” dalˇs´ı u ´rovnˇe hierarchie (uved’te na jedin´em ˇra ´dku): map ^r+0i>><ESC> :%!env MERCURY_OPTIONS="--detstack-size 40000" trex />>2x<ESC> Makro napˇred na aktu´ aln´ım ˇra ´dku znakem + naznaˇc´ı, ˇze m´ a b´ yt tento uzel expandov´ an, d´ ale si na ˇra ´dku pomoc´ı znak˚ u >> poznaˇc´ı aktu´ aln´ı pozici kurzoru. Takto upraven´ y soubor je syst´emovou rourou pˇred´ an programu trex a opˇet naˇcten. Nakonec editor um´ıst´ı kurzor na ˇra ´dek, kde zanechal znaˇcku >> a znaˇcku odstran´ı. Program trex zajistil expanzi oznaˇcen´ ych uzl˚ u. Jin´e makro umoˇzn ˇuje expandovan´e uzly pohodlnˇe opˇet zabalit. Makro ˇra ´dky pouze oznaˇc´ı jako urˇcen´e k zabalen´ı a teprve pˇri nejbliˇzˇs´ı expanzi nˇejak´eho uzlu program trex provede vˇsechny poˇzadovan´e u ´pravy: map ^r.
Obr´ azek C.1: Makra pro pr´ aci se soubory *.trex v editoru vim.
C.1
Vlastn´ı orientovan´ e grafy
Kromˇe z´ akladn´ı funkce slouˇzit textov´emu editoru v rozbalov´ an´ı uzl˚ u grafu program trex umoˇzn ˇuje snadno pˇripravit vlastn´ı datov´ y soubor s libovoln´ ym orientovan´ ym grafem. Pˇri spuˇstˇen´ı programu trex s parametrem --make <soubor> bude vytvoˇrena dvojice soubor˚ u <soubor>.graph a <soubor>.trex pro prohl´ıˇzen´ı zadan´eho orientovan´eho grafu. Pˇri t´eto variantˇe spuˇstˇen´ı trex oˇcek´ av´ a na standardn´ı vstup zad´ an´ı grafu ve tvaru: uzel1: Textov´ a informace v uzlu jedna uzel2: Textov´ a informace v uzlu dva uzel3: Textov´ a informace v uzlu tˇ ri uzel1=uzel2 uzel2=uzel3 Jednotliv´e ˇra ´dky bud’ nesou informaci o uzlu (identifik´ ator uzlu, dvojteˇcka, textov´ a hodnota uzlu), nebo nesou informaci o hranˇe grafu (v´ ychoz´ı uzel, rovn´ıtko, c´ılov´ y uzel). Program trex odm´ıtne popis grafu a ohl´ as´ı chyby, pokud zad´ an´ı nebude odpov´ıdat tomuto form´ atu.
C.2
Souˇ casn´ a omezen´ı
Ve st´ avaj´ıc´ı jednoduch´e implementaci mezi nejv´ yznamnˇejˇs´ı omezen´ı patˇr´ı pˇredevˇs´ım: Nemoˇ znost proch´ azen´ı grafem pozp´ atku. Tzn. ˇze pˇri rozbalov´ an´ı uzl˚ u postupujeme vˇzdy ve smˇeru orientace hran. Po hran´ ach se nevrac´ıme. Naˇ c´ıt´ an´ı datov´ eho souboru pˇ ri kaˇ zd´ e expanzi uzlu. Program trex je zat´ım textov´ ym editorem spouˇstˇen pˇri kaˇzd´e expanzi uzlu znovu. trex tedy mus´ı vˇzdy naˇc´ıst cel´ y datov´ y soubor s grafem, aby dok´ azal k uzlu
ˇ ´I ORIENTOVANYCH ´ ˚ PROGRAM TREX102 DODATEK C. PROHL´IZEN GRAFU, naj´ıt a vypsat sousedy. Pro mal´e grafy toto implementaˇcn´ı omezen´ı nepˇredstavuje probl´em, prohl´ıˇzen´ı vˇetˇs´ıch graf˚ u je ovˇsem zdlouhav´e a velmi rozs´ ahl´e grafy se nemus´ı podaˇrit prohl´ednout v˚ ubec. Probl´em pomal´eho prohl´ıˇzen´ı by bylo moˇzn´e elegantnˇe vyˇreˇsit pˇri lepˇs´ı spolupr´ aci s editorem; trex by byl po celou dobu bˇehu editoru pˇripraven a graf by naˇcetl pouze jednou. Napˇr. v editoru vim by to vˇsak vyˇzadovalo implementovat trex jako dvojici program˚ u typu klient-server. V editoru emacs by staˇcilo pˇripravit speci´ aln´ı makra.
Literatura
103
Literatura Basili, Roberto and Michele Vindigni. 1998. Adapting a Subcategorization Lexicon to a Domain. In Proceedings of the ECML’98 Workshop TANLPS: Towards adaptive NLP-driven systems: linguistic information, learning methods and applications, Chemnitz, Germany, April. B¨ ohmov´ a, Alena, Jan Hajiˇc, Eva Hajiˇcov´ a, and Barbora Hladk´ a. 2001. The Prague Dependency Treebank: Three-Level Annotation Scenario. In Anne Abeill´e, editor, Treebanks: Building and Using Syntactically Annotated Corpora. Kluwer Academic Publishers. Brent, M. 1991. Automatic acquisition of subcategorization frames from untagged text. In Proceedings of the 29th Annual Meeting of the Association for Computational Linguistics, pages 209–214, Berkeley, CA. Briscoe, E. J. and J. Carroll. 1997. Automatic Extraction of Subcategorization from Corpora. In Proceedings of the 5th ACL Conf. on Applied Nat. Lg. Proc., pages 356–363, Washington, DC. Collins, Michael. 1996. A New Statistical Parser Based on Bigram Lexical Dependencies. In Proceedings of the 34th Annual Meeting of the Association for Computational Linguistics, pages 184–191. Collins, Michael. 1997. Three Generative, Lexicalised Models for Statistical Parsing. In Proceedings of the 35th Annual Meeting of the Association for Computational Linguistics (jointly with the 8th Conference of the EACL), Madrid. Collins, Michael, Jan Hajiˇc, Eric Brill, Lance Ramshaw, and Christoph Tillmann. 1999. A Statistical Parser of Czech. In Proceedings of 37th ACL Conference, pages 505–512, University of Maryland, College Park, USA. Hajiˇc, Jan. 1998. Building a Syntactically Annotated Corpus: The Prague Dependency Treebank. In Eva Hajiˇcov´ a, editor, Issues of Valency and Meaning. Studies in Honor of Jarmila Panevov´ a. Prague Karolinum, Charles University Press, pages 12–19. Hajiˇc, Jan et al. 1997. A Manual for Analytic Layer Tagging of the Prague ´ Dependency Treebank. Technical Report TR-1997-03, UFAL MFF UK, Prague, Czech Republic. In Czech. Hajiˇc, Jan and Barbora Hladk´ a. 1997. Probabilistic and Rule-Based Tagger of an Inflective Language - a Comparison. In Proceedings of the 5th ANLP Conference, pages 111–118, Washington, USA. Hajiˇc, Jan and Barbora Hladk´ a. 1998a. Czech Language Processing - POS Tagging. In Proceedings of the First LREC Conference, pages 931–936, Granada, Spain. Hajiˇc, Jan and Barbora Hladk´ a. 1998b. Tagging Inflective Languages: Prediction of Morphological Categories for a Rich, Structured Tagset. In Proceedings of COLING-ACL Conference, pages 483–490, Montreal, Canada.
104
Literatura
Hajiˇc, Jan, Pavel Krbec, Pavel Kvˇetoˇ n, Karel Oliva, and Vladim´ır Petkeviˇc. 2001. Serial Combination of Rules and Statistics: A Case Study in Czech Tagging. In Proceedings of ACL Conference, Toulouse, France. Hajiˇcov´ a, Eva, Jarmila Panevov´ a, and Petr Sgall. 1999. Manu´ al pro ´ tektogramatick´e znaˇckov´ an´ı. Technical Report TR-1999-07, UFAL MFF UK, Prague, Czech Republic. Holan, T., V. Kuboˇ n, K. Oliva, and M. Pl´ atek. 1998. Two Useful Measures of Word Order Complexity. In A. Polguere and S. Kahane, editors, Proceedings of the Coling ’98 Workshop: Processing of Dependency-Based Grammars, Montreal. University of Montreal. Holan, T., V. Kuboˇ n, K. Oliva, and M. Pl´ atek. 2001. Complexity of Word Order. Special Issue on Dependency Grammar of the journal TAL (Traitement Automatique des Langues), 41(1):273–300. Holan, Tom´ aˇs. 2001. N´ astroj pro v´yvoj z´ avislostn´ıch analyz´ ator˚ u pˇrirozen´ych jazyk˚ u s voln´ym slovosledem. Ph.D. thesis, Charles University, Prague. In Czech. Honetschl¨ ager, V´ aclav. 2002. Analytical and Tectogrammatical Syntactical Parsing. Charles University, Prague. WDS. Hor´ ak, Aleˇs. 1998. Verb valency and semantic classification of verbs. In Petr Sojka, V´ aclav Matouˇsek, Karel Pala, and Ivan Kopeˇcek, editors, Text, Speech and Dialogue - TSD 98, Brno. Janˇcar, P., F. Mr´ az, , M. Pl´ atek, and J. Vogel. 1995. Restarting automata. In FCT’95, volume 965 LNCS, pages 283–292. Springer, August. Janˇcar, P., F. Mr´ az, , M. Pl´ atek, and J. Vogel. 1996. Restarting automata with rewriting. In K. G. Jeffery, J. Kr´ al, and M. Bartoˇsek, editors, Theory and Practice of Informatics, SOFSEM’96, volume 1175 LNCS, pages 401–408, Milovy, Czech Republic, November. Springer. Karcevskij, Sergej. 1929. Du dualisme asym´etrique du signe linguistique (Asymetrick´ y dualismus lingvistick´eho znaku). TCLP, 1:88–93. ˇ y n´ Kocek, Jan, Marie Kopˇrivov´ a, and Karel Kuˇcera, editors. 2000. Cesk´ arodn´ı ´ ˇ korpus - u ´vod a pˇr´ıruˇcka uˇzivatele. FF UK - UCNK, Praha. Korhonen, Anna, Genevieve Gorrell, and Diana McCarthy. 2000. Statistical Filtering and Subcategorization Frame Acquisition. In Proc. of SIGDAT EMNLP and Very Large Corpora, Hong Kong, China. Kuboˇ n, Vladislav. 2001. University, Prague.
Robust parser for Czech.
Ph.D. thesis, Charles
Kunze, J. 1972. Die Auslassbarkeit von Satzteilen bei koordinativen Verbindungen im Deutschen. Akademie-Verlag, Berlin. Manning, Christopher D. 1993. Automatic acquisition of a large subcategorization dictionary from corpora. In Proceedings of the 31st Annual Meeting of the Association for Computational Linguistics, pages 235–242, Columbus, Ohio.
Literatura
105
Mel’ˇcuk, Igor A. 1988. Dependency Syntax - Theory and Practice. Albany: State University of New York Press. Pala, K., P. Rychl´ y, and P. Smrˇz. 1997. DESAM - Annotated Corpus for Czech. In Proceedings of SOFSEM’97, New York, Hamburg. Springer Verlag. ˇ cek. 1997. Valence ˇcesk´ Pala, Karel and Pavel Seveˇ ych sloves. In Sborn´ık prac´ı FFBU, pages 41–54, Brno. Panevov´ a, Jarmila. 1980. Formy a funkce ve stavbˇe ˇcesk´e vˇety [Forms and functions in the structure of the Czech sentence]. Academia, Prague, Czech Republic. Penn, Gerald. 2000. The Algebraic Structure of Attributed Type Signatures. Ph.D. thesis, School of Computer Science, Carnegie Mellon University. Pl´ atek, M. 1999. Strict monotonicity and restarting automata. Prague Bulletin of Mathematical Linguistics, 72:11–27. Pollard, C. and I. Sag. 1994. Head-driven Phrase Structure Grammar. Chicago. Sarkar, Anoop and Daniel Zeman. 2000. Automatic Extraction of Subcategorization Frames for Czech. In Proceedings of the 18th International Conference on Computational Linguistics (Coling 2000), Saarbr¨ ucken, Germany. Universit¨ at des Saarlandes. Sgall, P. and J. Panevov´ a. 1990. Dependency syntax - a challenge. Theoretical Linguistics, 15(1/2):213–232, Jan. Sgall, Petr. 1967. Generativn´ı popis jazyka a ˇcesk´ a deklinace. Prague, Czech Republic.
Academia,
Sgall, Petr, Eva Hajiˇcov´ a, and Jarmila Panevov´ a. 1986. The Meaning of the Sentence and Its Semantic and Pragmatic Aspects. Academia/Reidel Publishing Company, Prague, Czech Republic/Dordrecht, Netherlands. Skoumalov´ a, Hana. 2001. Czech syntactic lexicon. Ph.D. thesis, Univerzita Karlova, Filozofick´ a fakulta. Somogyi, Zoltan, Fergus Henderson, and Thomas Conway. 1995. Mercury: an efficient purely declarative logic programming language. In Proceedings of the Australian Computer Science Conference, pages 499–512, Glenelg, Australia, February. Straˇ na ´kov´ a-Lopatkov´ a, Mark´eta. 2001. Homonymie pˇredloˇzkov´ ych skupin v ˇceˇstinˇe a moˇznost jejich automatick´eho zpracov´ an´ı (Ambiguity of prepositional phrases in Czech and possibilities for automatic treatment). ´ Technical Report TR-2001-11, UFAL/CKL, Prague, Czech Republic. In Czech. ˇ Straˇ na ´kov´ a-Lopatkov´ a, Mark´eta and Zdenˇek Zabokrtsk´ y. 2002. Valency Dictionary of Czech Verbs: Complex Tectogrammatical Annotation. In Proceedings of the Third International Conference on Language Resources and Evaluation (LREC 2002), volume 3, pages 949–956. ELRA.
Literatura
106
Tesni`ere, L. 1959. El´ements de Syntaxe Structurale. Klincksieck, Paris. 2. edition (1969). ˇ Zabokrtsk´ y, Zdenˇek, V´ aclava Beneˇsov´ a, Mark´eta Lopatkov´ a, and Karolina Skwarsk´ a. 2002. Tektogramaticky anotovan´ y valenˇcn´ı slovn´ık ˇcesk´ ych ´ sloves. Technical Report TR-2002-15, UFAL/CKL, Prague, Czech Republic. ˇ Zabokrtsk´ y, Zdenˇek, Saˇso Dˇzeroski, and Petr Sgall. 2002. A Machine Learning Approach to Automatic Functor Assignment in the Prague Dependency Treebank. In M. Gonz´ alez Rodr´ıguez and C. Paz Su´ arez Araujo, editors, Proceedings of the Third International Conference on Language Resources and Evaluation (LREC 2002), volume 5, pages 1513–1520, Las Palmas de ˇ Gran Canaria, Spain. ELRA. 405/96/K214 (GACR), CKL - LN00A063 ˇ (MSMT). ´ Zeman, Daniel. 1997. A Statistical Parser of Czech. Master’s thesis, UFAL, MFF UK, Prague, Czech Republic. In Czech. Zeman, Daniel. 2001a. How Much Will a RE-based Preprocessor Help a Statistical Parser? In Proceedings of the Seventh International Workshop on Parsing Technologies (IWPT 2001), number ISBN 7-302-04925-4, Beijing ˇ ına. Tsinghua University Press. Daxue, Beijing, C´ Zeman, Daniel. 2001b. Parsing with Regular Expressions: A Minute to Learn, a Lifetime to Master. Prague Bulletin of Mathematical Linguistics, 75:29–37. Zeman, Daniel. 2002. Can Subcategorization Help a Statistical Parser? In Proceedings of the 19th International Conference on Computational Linguistics (Coling 2002), Taibei, Tchaj-wan. Zhongyang Yanjiuyuan (Academia Sinica).